plc编程语言的特点和形式-plc梯形图的编程规则和编程方法
时间:2017-03-03 14:58 来源:未知 作者:admin 点击:次
PLC的编程语言与一般计算机语言相比具有明显的特点,它既不同于一般高级语言,也不同于一般汇编语言,它既要易于编写又要易于调试。目前,还没有一种对各厂家产品都能兼容的编程语言。 PLC为用户提供了多种编程语言,以适应编制用户程序的需要,PLC提供的编程语言通常有以下几种:梯形图、指令表、顺序功能图和功能块图 1、梯形图 梯形图编程语言是从继电器控制系统原理图的基础上演变而来的。PLC的梯形图与继电器控制系统梯形图的基本思想是一致的,但是在使用符号和表达式等方面有一定区别。 梯形图具有形象、直观、简单明了,易于理解的特点,特别适合开关量逻辑控制,是PLC最基本、最普遍的编程语言。 2、语句表(STL) 语句表是用助记符来表达PLC的各种功能。它类似计算机的汇编语言,但比汇编语言通俗易懂,也是较为广泛应用的一种编程语言。使用语句表编程时,编程设备简单,逻辑紧凑、系统化,连接范围不受限制,但比较抽象。一般可以与梯形图互相转化,互为补充。目前,大多数PLC都有语句表编程功能。 3、顺序功能图(SFC) 顺序功能图编程是一种图形化的编程方法,亦称功能图。它的编程方式采用画工艺流程图的方法编程,只要在每个工艺方框的输入和输出端,标上特定的符号即可。采用顺序功能图编程,可以使具有并发、选择等复杂结构的系统控制程序大为简化。许多PLC都提供了用于SFC编程的指令,它是一种效果显著、深受欢迎的编程语言,目前国际电工委员会(IEC)也正在实施并发展这种语言的编程标准。 4、 功能块图(FBD) 逻辑功能图是一种由逻辑功能符号组成的功能块来表达命令的图形语言,这种编程语言基本上沿用了半导体逻辑电路的逻辑方块图。对每一种功能都使用一个运算方块,其运算功能由方块内的符号确定。对于熟悉逻辑电路和具有逻辑代数基础的人员来说,使用非常方便。 plc梯形图的编程规则和编程方法 基本编程规则 ①梯形图中的每一行都是从左侧母线开始画起,线圈或指令画在最右边,线圈或指令右边只能画右母线( OMRON PLC 梯形图的右母线省略)。 ②线圈或指令不能直接与左侧母线连接(除极少数没有执行条件的指令,如 END 等)。如果必须时,可以通过特殊辅助继电器 25313 (常 ON )的触点连接,如图 3 . 1 所示。 图3.1 ③用 OUT 指令输出时,同一编号的继电器线圈在同一程序中使用两次以上,称为双线圈输出。双线圈输出容易引起误动作或逻辑混乱,因此一般要避免出现这种情况。例如,在图 3 . 2 ( a )中,设 00000 为 ON 、 00005 为 OFF 。由于 PLC是按扫描方式执行程序的,执行第一行时 01000 为 ON ,而执行第二行时 01000 为 OFF 。在I/O 刷新阶段 01000 的输出状态只能是 OFF 。显然前面的输出无效,最后一次输出才是有效的 图3.2 又如,在图 3 . 2 ( b )中,设 00000 为 ON 、 00001 为 OFF 。在执行第一行程序后01000为 ON ,执行第一行后 01001 为 ON ,执行第三行后 01000 为 OFF 。因此在I/O刷新阶段,01001为 ON , 01000 为 OFF 。但从第二行看, 01000 和 01001 的状态应该一致。这就是双线圈输出造成的逻辑混乱。 ④梯形图必须遵循从左到右、从仁到下的顺序编写,不允许在两行之间垂直连接触点。如果不符合上述顺序,就要进行转换。如图 3 . 3 ( a )若转换成(b )图就符合顺序要求了。 ⑤程序结束时一定要安排 END 指令,否则程序不被执行。 图3.3 基本编程方法: ①两个或两个以上的线圈或指令可以并联输出。 ②触点组与单个触点相并联时,应将单个触点放在下面。例如图 3 .4( a )变成图( b ) 从语句表看出节省了一个 OR LD 语句。 图3.4 ③并联触点组与几个触点相串联时,应将并联触点组放在左边。例如图 3 . 5 ( a )变成( b ) ,从语句表看出节省了一个 AND LD 语句 图3.5 ④如果一条指令只需在 PLC 上电之初执行一次,可以用 SR 区的 25315作为其执行条件。由于 25315 只在 PLC 上电后的第一个扫描周期处于 ON 状态,因此,以 25315 为执行条件的指令只在上电后的第一个扫描周期被执行。这种用法常出现在 PLC 的初始化程序段上。 图3.6 图 3 .6 中,在 PLC 上电后的第一个扫描周期, 20000 被置为 ON , 20000 又作为 KEEP 指令的置位输入条件,从而使 0 1000 被置为 ON 。此后,如果 00001 ON 使 01000 复位,则在 PLC 本次上电期间, 01000 不会再被置位。此例中,可以用 25315直接作 KEEP 指令的置位条件,之所以使用 DIFU 指令,是为了顺便说明该指令的用法。 ⑤有些梯形图难以用 AND LD 、 OR LD 等基本逻辑指令编写语句表,这时可重新安排梯形图的结构,如图 3 . 7 ( a )若改画成图( b )就可以使用 OR LD 指令编程了。 (a) (b) 图3.7 ⑥与某梯级有两个分支时,若其中一条分支从分支点到输出线圈之间无触点,该分支应放在上方,这样可以使语句表的语句更少。 ⑦尽量使用那些操作数少、执行时间短的指令编程,以缩短扫描周期,从而提高I/O响应速度。 (责任编辑:admin) |