文档详情

PLC教程理论篇之PLC编程语言四.doc

发布:2016-08-19约4.42千字共9页下载文档
文本预览下载声明
PLC教程理论篇之PLC 编程语言四 PLC 逻辑处理指令及其应用 一、基本逻处理辑指令 基本逻辑处理指令: 对一个二进制数(BIT、位)进行“与、或、非”逻辑操作,称基本逻辑操作指令,可继电触点串、并联的控制功能。所有的 PLC 都有这类指令。这类指令可分为:读(输入类)与写(输出类)两种。读指令指的是读操作数的逻辑值,并与在这之前已有的结果值进行相应的逻辑运算,进而修改结果值。目的是确定要写的逻辑值,或为其他指令的执行建立相应的逻辑条件。 写指令指的是把结果值写给操作数。这个结果值就是下面将要讨论的R寄存器的值,有的称为RLO— “result of logicoperation” ,即逻辑运算结果。西门子的S7_200 称之为逻辑栈顶(The top of the logic stack ,TOS)。表 5-1 列出 3 个 PLC 厂家有关这类的指令。以下将对这类指令进行讨论。 (4)输出指令,为写指令。 语句表的符号为指令地址输出 操作位地址 梯形图符号为输出线圈,可用圆圈或括号表示。OMRON、三菱 PLC 的助记符用 OUT,西门子 PLC 用等号,如图 5-2 所示。 其含义是把 R 先取反,然后再传给 a。表示符号为在 OUT 的符号基础上,加一斜线。提示:西门子、三菱 PLC 无取反输出,但有取反指令。先取反后输出,与这里的 OUT NOT效果相同。反之,如果 OMRON PLC 用 OUT NOT 后,输出给一个暂存器 TR,然后再装载此 TR,也就相当于执行取反指令(NOT、INV)。取反指令(NOT、INV)的格式为: 有的 PLC 输出指令也可加感叹号(!)。感叹号代表执行此指令后,立即进行输出刷新,把这时输出的状态送输出锁存器,直接产生输出。 下图为西门子 PLC 加感叹号使用例子。它立即刷新后,把 10.0 读入。写 Q0.0 后,立 即刷新。用语句表列写指令时,在 LD 之后,加 I,即 LDI 0.0 及=(此符号相当于 OMRON的 OUT)后,再加 I,即=I Q0.0。显然,这样处理,可加快 Q0.0 对 I0.0 的响应速度。 有了以上介绍的输入、输出指令,普通的串、并联电路的逻辑就完全可用这些指令处理了。 暂存器、堆栈,为处理分支电路指令 但如果一组逻辑条件,有分支输出,该怎么处理?不同的 PLC 有不同的办法: OMRON PLC 用输出暂存器(TR),然后,再装载暂存器解决。三菱、西门子 PLC 都用进栈、读栈及出栈指令解决。只是,这里的栈与前面介绍的栈不是一回事。前面的栈用于装载、与、或及输出等多种处理。即使用助记符编程,也不必编写任何指令。而这里的栈是用于上述分支处理。用助记符编程时,则需编写相应指令。 图 5-3 示的为这 3 种 PLC 解决此问题的梯形图及助记符程序。 令)分支处的数据。而当使用时,再用 LD 指令调出。从图 b)知,西门子用 IPS(进栈)指令,把分支处的数据压进栈。而当使用时,再用IPD(读栈)指令调出。这里最后用的 IPP 指令,是既读栈,而又清栈。因为,在其后的程序已不需这样处理了。从图 c)知,三菱基本与西门子相同。只是它进栈指令叫 MPS,而不是叫 IPS。读栈指令叫 MRD,而不叫 IPD。读栈、清栈指令叫 MPP,而不叫 IPP。 以下顺便介绍一下西门子及三菱 PLC 的堆栈,它们与 OMRON PLC 的堆栈略有不同。堆栈指令在将梯形图程序手工转换为语助记符程序时,必须要用的。只是在当今,这个转换 完全可由编程软件实现。这个转换具体为: 西门子 PLC 堆栈: 它的栈顶为上述介绍的结果寄存器 R,而第 2 位即为上述栈 P 的栈顶。另外,就是它用 的的操作指令不同。如: 栈装载与 (ALD):对堆栈中的第一层和第二层的值进行逻辑与操作结果放入栈顶,并在执行完 ALD 指令后,堆栈深度减 1。 栈装载或 (OLD):对堆栈中的第一层和第二层的值 进行逻辑或操作结果放入栈顶,并在执行完 OLD 指令后,堆栈深度减 1。 逻辑推入栈(LPS):复制栈顶的值,并将这个值推入栈,而栈底推出,数据丢失。 逻辑读栈(LRD):复制堆栈中的第二个值到栈顶。堆栈没有推入栈或弹出栈操作。但旧的栈顶值被新的复制值取代。 逻辑弹出栈(LPP):弹出栈顶的值,堆栈的第二个值变为新的栈顶值。 三菱逻辑堆栈:它有 11 层,也是用作中间存贮。主要是用于处理如图 5-4 所示得分支输出。 进栈指令(MPS):把逻辑运算结果入栈,而栈底推出,数据丢失 读栈指令(MRD):读取栈顶数据用于逻辑运算,栈中数据不变。 出栈指令(MPP):读取栈顶数据用于逻辑运算,并栈中各数据依次上推。 提示:
显示全部
相似文档