程序本来是梯形图的,梯形图程序中有些点事没有注释的,为了看的明白,今天把这个点加了注释,一保存梯形图就变成了语句表,请问这是为什么会这样?
答:一般情况下不会有楼主所说的情况发生。建议如下:
1、检查是否有从数据类型冲突。
在默认情况下,LAD指令对数据类型检查较严。可在LAD编辑器中,选择菜单"Options"-->"Customize",打开Customize对话框,选择"LAD/FBD"标签页,确认"Type Check of Addresses "是否被选中。
如果编程时没有选择数据类型检查,过几天打开程序时却选择了数据类型检查,且正好有数据类型冲突,就会发生楼主所说的现象了。
2、确认是否某些被调用的程序块修改了接口(Interface),但没有做块的一致性检查所引起的。
重点检查第一条。
在PLC梯形图编程中,某些指令的先后次序调整,从实现的动作上看并无区别,当转换为指令表以后,其指令有所不同,占用的存储器容量也有区别。在编程时应尽可能调整指令,使得程序简化、执行过程简单。
1.并联支路的调整
并联支路的设计应考虑逻辑运算的一般规则,在若干支路并联时,应将具有串联触点的支路放在上面(见图9-2.7)。这样可以省略程序执行时的堆栈操作,减少指令步数。
2.串联支路的调整
串联支路的设计同样应考虑逻辑运算的一般规则,在若干支路串联时,应将具有并联触点的支路放在前面(见图9-2.8)。这样可以省略程序执行时的堆栈操作,减少指令步数。
3.内部继电器的使用
为了简化程序,减少指令步数,在程序设计时对于需要多次使用的若干逻辑运算的组合,应尽量使用内部继电器。这样不仅可以简化程序,减少指令步数,更重要的是在逻辑运算条件需要修改时,只需要修改内部继电器的控制条件,而无须修改所有程序(见图9-2.9),为程序的修改与调整增加便利。
(1)梯形图程序由若干个网路段组成。梯形图网络段的结构不增加程序长度,软件编译结果可以明确指出错误语句所在的网络段,清晰的网络结构有利于程序的调试,正确的使用网络段,有利于程序的结构化设计,使程序简明易懂。
(2)梯形图程序必须符合顺序执行的原则,即从左到右、从上到下执行。
(3)梯形图每一行都是从左母线开始,线圈接在右边。触点不能放在线圈的右边,在继电器控制的原理图中,热继电器的接点可以加在线圈的右边,而PLC的梯形图是不允许的。
(4)外部输入/输出继电器、内部继电器、定时器、计数器等器件的触点可多次重复使用。
(5)线圈不能直接与左母线相连,必须从触点开始,以线圈或指令盒结束。如果需要,可以通过一个没有使用的内部继电器的动断触点或者特殊内部继电器的动合触点来连接。
(6)同一编号的线圈在一个程序中使用两次称为双线圈输出。双线圈输出容易引起误操作,应尽量避免线圈重复使用,并且不允许多个线圈串联使用。
(7)梯形图程序触点的并联网络多连在左侧母线,设计串联逻辑关系时,应将单个触点放在右边。
(8)两个或两个以上的线圈可以并联输出。
(9)每一个开关输入对应一个确定的输入点,每一个负载对应一个确定的输出点。外部按钮(包括启动和停车)一般用动合触点。
(10)输出继电器的使用方法。输出端不带负载时,控制线圈应使用内部继电器M或其他线圈,不要使用输出继电器Q的线圈