PLC的程序设计是采用编程语言描述控制任务的过程。PLC程序设计常采用的方法有经验设计方法和顺序功能图法。本章讲述采用经验设计方法和顺序功能图法设计PLC的控制程序
经验设计方法实际上是延续了传统的继电器电气原理图的设计方法,即在一些典型控制单元电路的基础上,根据受控对象对控制系统的具体要求,采用许多辅助继电器来完成记忆、联锁、互锁等功能。用这种设计方法设计的程序,要经过反复的修改和完善才能符合要求。此设计方法没有规律可以遵循,具有很大试探性和随意性,程序的调试时间长,编出的程序因人而异,不规范,会给使用和维护带来不便,尤其将对控制系统的改进带来很多的困难。经验设计方法一般仅适用于简单的梯形图设计,且要求设计者具有丰富的设计经验,要熟悉许多基本的控制单元和控制系统的实例。
经验设计方法设计控制程序的步骤如下:
(1)了解受控设备及工艺过程,分析控制系统的要求,选择控制方案;
(2)根据受控系统的工艺要求,确定主令元件、检测元件及辅助继电器等;
(3)利用输入信号设计起动、停止和自保功能;
(4)使用辅助元件、定时器和计数器;
(5)使用功能指令;
(6)加入互锁条件和保护条件;
(7)检查、修改和完善程序。
功能图设计程序的方法(顺序控制设计法)仅适用于顺序控制系统。顺序控制功能图设计程序的方法易被初学者接受,设计的程序规范、直观,易阅读,也便于修改和调试。FX系列PLC专为功能图程序设计设置了步控指令编程,使功能图设计程序的方法更加简便。
1.触点的安排
梯形图的触点应画在水平线上,不能画在垂直分支上。
2.串、并联的处理
在有几个串联回路相并联时,应将触点Zui多的那个串联回路放在梯形图Zui上面。在有几个并联回路相串联时,应将触点Zui多的并联回路放在梯形图的Zui左面。
3.线圈的安排
不能将触点画在线圈右边,只能在触点的右边接线圈。
4.不准双线圈输出
如果在同一程序中同一元件的线圈使用两次或多次,则称为双线圈输出。这时前面的输出无效,只有Zui后一次才有效,不应出现双线圈输出。
5.重新编排电路
如果电路结构比较复杂,可重复使用一些触点画出它的等效电路,再进行编程就比较容易。
6.编程顺序
对复杂的程序可先将程序分成几个简单的程序段,每一段从Zui左边触点开始,由上之下向右进行编程,再把程序逐段连接起来。
程序本来是梯形图的,梯形图程序中有些点事没有注释的,为了看的明白,今天把这个点加了注释,一保存梯形图就变成了语句表,请问这是为什么会这样?
答:一般情况下不会有楼主所说的情况发生。建议如下:
1、检查是否有从数据类型冲突。
在默认情况下,LAD指令对数据类型检查较严。可在LAD编辑器中,选择菜单"Options"-->"Customize",打开Customize对话框,选择"LAD/FBD"标签页,确认"Type Check of Addresses "是否被选中。
如果编程时没有选择数据类型检查,过几天打开程序时却选择了数据类型检查,且正好有数据类型冲突,就会发生楼主所说的现象了。
2、确认是否某些被调用的程序块修改了接口(Interface),但没有做块的一致性检查所引起的。
重点检查第一条。
梯形图是Zui常用的编程语言,是由继电器逻辑控制系统发展、演变而来的一种类似于继电器控制线路图的图形编程语言,它可以直接输入图形编程器。
1、绘制梯形图的规则
可编程控制器按照其特有循环扫描的方式执行存储器中的用户程序,在绘制梯形图时,先要保证指令顺序的正确性,应遵守下列规则:
(1)梯形图的绘制顺序是从上到下,从左到右。每个梯级(或称逻辑行)起于左逻辑母线,,相应的控制逻辑,,于线圈或一个特殊功能指令(有的PLC止于右逻辑母线),线圈的右边不能再接任何触点。一般并联支路应靠近左逻辑母线,,并联支路中,串联触点多的支路应安排在上边,,图(a)所示。这样画的好处是可以缩短指令语句表的长度。
图 梯形图中并联支路的画法
(a)正确的画法;b)不当的画法
当然,,般情况下,(a)与图(b)在运行结果上是一样的。
(2)梯形图中的触点一般应当画在水平支路上,不应画在垂直支路上;不含触点的支路应放在垂直方向,不放在水平方向。
(3)线圈不能直接与左逻辑母线相连。如果需要,可以借助于一个在程序中未用到的内部辅助继电器的动断触点或内部专用继电器(SR)1813(动断继电器)的动合触点来连接。
(4)一般情况下,某个编号的继电器线圈只能出现一次。
(5)与继电器控制线路图一样,不允许两个线圈串联使用。
2、梯形图与继电器控制线路图的区别
由于PLC是由继电器逻辑控制系统发展而来的,梯形图与继电器控制线路图很相似,它使用了继电器的概念,并沿用了继电器控制电路的某些图形符号,一个继电器控制线路很容易转化成PLC德梯形图。但梯形图与继电器控制线路还是有区别的,主要区别如下:
(1)在继电器控制线路图中,继电器的触点的通断状态取决于线圈是否通电。对于PLC的输入继电器而言,其触点的通断状态同样取决于线圈是否有驱动信号,但输入继电器只能由外部输入信号驱动,而不能由程序中的指令来驱动。在梯形图中只能出现输入继电器的触点,而不能出现输入继电器的线圈。输出继电器是由PLC作输出控制用,驱动外部负载,故当梯形图中输出继电器线圈接通时,表示相应的输出点有输出信号。
(2)继电器控制线路中的继电器是真正的硬件继电器,而在PLC的梯形图中使用的继电器实质上是存储器中的存储单元。当它为“1”态时,表示继电器线圈通电(ON),动合(常开)触点闭合或动断(常闭)触点打开;当它为“0”态时,表示继电器线圈失电(OFF)。它的ON或OFF状态可任意调用,梯形图中的各继电器的触点数量是没有限制的,可任意使用。相对于硬件继电器只有固定的几对触点,具有极大的灵活性。
(3)在继电器控制线路中,各继电器处于并行工作方式,满足通断条件的继电器都动作。而在PLC的梯形图中的各继电器都处于周期性的循环扫描中,各继电器的动作顺序取决于程序扫描顺序,即串行工作方式,各继电器不会动作。
(4)梯形图是PLC形象化的一种编程方法,图中的母线并不接任何电源,图中不存在真正的物理电流,而仅是从左向右流动的“概念”电流。其流动方向只能从左到右,不能从右向左,也不能双方向流动。
(5)梯形图中线圈的右边不能再接任何触点,而继电器控制线路则无此规定。如热继电器的动断触点在继电器控制电路中常常可以接在线圈的右边。