电气控制与PLC第八章课件 王建平朱程辉主编
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图8-1 两个比较指令梯形图符号
基本比较指令都有两个参数:源(Source) A和源(Source)B。源A必须是一个数据文件 地址(如N7:1),源B既可以是一个数据文件地 址(如N7:9)也可以是常数(如0)。
2.通过屏蔽比较相等指令(MEQ)
MEQ指令梯形图符号如图8-2所 示,该指令通过一个屏蔽字,使源 地址中的数据和比较地址中数据进 行比较,它有以下三个参数: 1)源(Source)—被比较值的 数据文件地址; 2)屏蔽(Mask)—屏蔽字地址 或一个十六进制常数(如图中的 0F0Fh); 3)比较(Compare)—既可以是 一个常整数,也可以是 比较值的 数据文件地址。
1.算术运算指令的通用信息
1)指令参数。算术运算指令有源(Source)和目的 (Dest)两种参数。在源参数中输入参与运算数值的数据 文件地址或常数,算术、逻辑、或者传送操作的执行都 要输入该参数。如果一条指令有两个源参数,则两个参 数不能都是常数。目的参数是用于存储指令运算结果的 数据文件地址。对于运算中带符号的源和目的参数,PLC 都以二的补码形式存储。 可以选择用变址寻址方式指定指令参数的“字”地 址,也可以选择用间接寻址方式指定指令参数的“字” 地址。SLC503(OS301或更高)、SLC504和SLC505 PLC 的算术运算指令支持浮点数和字符串数字类型。
3.极限比较指令(LIM)
LIM指令有以下三个参数: 1)下限(Low Lim)—输入下限值或 数据地址; 2)测试值(Test)—输入要检测的值 或数据地址; 3)上限(High Lim)—输入上限值或 数据地址。 LIM指令的三个参数可以是数据字 地址或常数,但是不能有下列情况 :如果被测参数是一个常数,则下 限参数和上限参数必须是数据字地 址;如果被测参数是数据字地址, 则下限参数和上限参数既可以是常 数,也可以是数据字地址。
图8-6 算术运算指令梯形图符号
整数/实数算术运算指令使用详细规则见教材p181-182。 这里通过实例来说明乘、除两条指令的用法。
例3:乘数是12345,被乘数是3,结果存放在整数 地址N7:0内,运算结果等于37035,超过最大 值32767,此时,如果S:2/14=0,则N7:0内的数 值被设置为32767,而算术寄存器内存储的值是 37035。可见虽然PLC发生溢出错误,但是算术 寄存器内的结果还是有效的。
图8-5 MEQ指令应用梯形图
8.1.2 算术运算指令
算术运算指令属于输出指令,大多数算术运算指 令需要两个操作数,当梯级条件为真时,执行指定 的算术运算,将运算结果存放到指定的存储位置, 并根据运算结果自动设置算术标志位的值。例如, 加和减指令都是取一对输入值,对它们进行加或减 运算,将结果存放到指定的目的地址内,如果运算 结果超过PLC的极限值,则置位上溢出或下溢出位。
图8-3 LIM指令梯形图符号
LIM指令可以根据所设置的上限和下限值,比较某测试 值是在指定数值范围之内或之外。LIM指令逻辑为“真”或 为“假”的条件实例参见教材表8-2。
4.比较指令应用举例
例1:若整数文件N7:0与N7:1中 的数值相等,点亮L1指示灯; 如果N7:2与N7: 3中的数值相等 ,则点亮L2指示灯。 梯形图程序如图8-4所示。 图中,梯级0000中EQU指令参 教N7:0与N7:1中的数值相等( 皆为9175),则EQU指令逻辑 为“真”,接通与输出端O:0/0 相连接的L1指示灯。而梯级 0001的EQU指令参数N7:2与 N7:3中的数值不相等(分别是247和-253),则EQU指令逻辑 为“假’,与输出端O:0/1相连 接的L2指示灯不得电。
图8-7 DIV指令梯形图符号
3.双整数(32位)运算指令
MicroLogix/SLC5 PLC都是16位的,其整数范围 是-32768~32767,超过这个值就会发生溢出,而这 个数值范围在很多应用中是远不能满足算术运算要求 的。因此,PLC应能进行32位的加法、减法和除法运 算。其中32位加法和减法可以直接用ADD和SUB指 令来实现,32位除法则由专门的双除指令(DDV) 来实现。 1)32位加法和减法。可以在编程时根据需要选 择进行16位或32位有符号整数加法和减法运算。如果 要进行32位算数运算,要将算术溢出选择位(S:2/14) 设置为“1”。
本章提要
8.1 运算指令 8.2 数据处理指令
8.3 移位/顺序控制指令
8.4 过程控制指令 8.5 功能指令应用实例
8.1 运算指令
MicroLogix/SLC5系列PLC除了具有比较、算术、逻辑 运算指令外,还有数据转换和一些高级运算指令。
8.1.1 数据比较指令 8.1.2 算术运算指令
8.1.3 逻辑运算指令
图8-12 TOD指令应用举例
在很多应应场合,采用拨码开关输入数据,这些数据 都是BCD码格式,在梯形图程序使用这些数据之前, 应该把BCD码值转换成整数值,否则,PLC会把这些 数据当作整数处理,从而造成数据的丢失或改变。 例6:要求将算术寄存器中的BCD码值转换成整数,并 存储在N7:10内,梯形图程序如图8-13所示。FRD指令 的参数和转换方向与TOD指令刚好相反,其数据显示 格式也与表8-12类似,只是要将源和目的地址交换。
例4:图8-7所示的除法指令,19除 以4的余数是3(商为4.75),所 以商被向上取整到5存储在目的 地址N7:3内。不整除的商是4, 存储在S:14内,同时余数3存储 在S:13内。指令参数及执行结 果为: 参数: N7:1=19 ; N7:2=4 结果: N7:3=5 S:14=4 S:13=3
图8-2 MEQ指令梯形图符号
在指令执行时,屏蔽字中为“1”的位使数据参与 比较,为“0”的位屏蔽对应的位数据,因此,本指令 只比较源值(0000010000010010)和比较值( 0000000010000010)中对应于屏蔽位为“1”的那些位 (图中屏蔽为0F0Fh,相当于0000111100001111,就 是比较源值B3:1和比较值B3:2中的位0~3(0010)及 位8~11(0100))。如果源值没有被屏蔽的位与比较 值中相对应的位一致,则指令的逻辑为真,当检测到 一个不匹配的位时(图中为第10位),指令就变成假 。所以图8-2的结果为假。
图8-9 DDV指令梯形图符号
8.1.3 逻辑运算指令
逻辑运算指令属于输 出指令,包括逻辑与指令 (AND)、逻辑或指令 (OR)、逻辑异或指令 (XOR)和逻辑非指令 (NOT)。逻辑运算指令 的功能见表8-9(p184)。
图8-10 DDV指令梯形图符号
ቤተ መጻሕፍቲ ባይዱ
AND、OR和XOR指令有三个参数:源A、源B和目的地址,源A 和源B的参数可以是字地址或常数,但是两者不能都是常数。目的地 址必须是数据文件字地址。当输入参数是常数时,可以用运算符 “&”修改输入值的基数。例如,用户可以输入 &B11111111111111111或&HFFFF,来代替输入-1作为常数。NOT指 令只有源和目的两个参数,它们必须是数据文件字地址。 AND指令使源地址A的值和源地址B的值按位执行逻辑与运算; OR指令使源地址A的值和源地址B的值按位的值按位执行逻辑异或运 算;NOT指令对源地址的值按位执行逻辑非运算。逻辑运算指令都 将结果存储在目的地址内,其算术标志位的影响见表8-10(p184)。
N7:2和S:13作为整数处理: 十进制为4660,对应的二 进制为0001 0010 0011 0100;当作BCD码,就成 了1234(对应的二进制为 0000 0100 1101 0010)最 终N7:10的值就是十进制 整数1234。
图8-13 FRD指令应用举例
图8-4 EQU指令应用梯形图
4.比较指令应用举例
例2:如果两个数值的低8位 相匹配,则点亮L1指示灯。 梯形图逻辑如图8-5所 示,因为只要求比较两个数 值B3:1和B3:3的低8位,因 此,将MEQ指令屏蔽字B3:2 中的数值设置为00FFh,只 让源值与比较值中的低8位 进行相等的比较,尽管待比 较两个数值的其他位不全一 致,MEQ指令逻辑仍然为“ 真”,使连接输出端O:0/0的 L1指示灯得电点亮。
8.1.4 数据转换指令
数据转换指令属于输出指令。数据转换 指令的功能见表8-10,可以使数据在整数与 BCD码、角度与弧度之间进行转换,还可以 实现编码器和译码器的功能。
1.BCD码转换指令
图8-11 BCD码转换指令梯形图符号
例5:要求将存储在N7:3的整数值 32760转换成BCD码。 编程时,将N7:3作为TOD指令的 源值,算术寄存器作为目的参数, 此时可转换的最大BCD码值可以是 32760。然而,如果BCD码值超过 9999,溢出位S:0/1就会被设置为 “1”,这将导致次要错误位S:5/0 也被置位,因此,需要在梯形图程 序结束之前解锁存S:5/0,以避免出 现主要错误代码0020。梯形图如右 图所示,指令执行后源和目的地址 内的地址数据见表8-12(p186)。
2)算术标志位是指PLC状态文件字0的位0~3 (S:0/0~ S:0/3)。算术运算指令执行时,会根据运算的 结果对算术标志位进行更新。标志位的含义如下表。
2.整数/实数算术运算
算术运算指令既可以进行整数(16位)/实数 (浮点数)运算,也可以进行双整数(32位)运算, 本小节只介绍单字运算指令的执行情况及其对状态位 的影响。运算指令的梯形图符号如图8-6所示。图中 只画出了ADD、SQR和CLR三条运算指令, SUB、 MUL和DIV指令的符号格式与ADD基本相同,有三 个参数:源A、源B和目的地址,只是指令名称和运 算法则不同。NEG、ABS和SQR指令有两个参数:源 和目的地址,CLR指令只有一个参数:目的地址。源 参数可以是数据文件地址也可以是常数,但是目的参 数必须是数据文件字地址。
16位有符号整 数与32位有符号整 数相加的实例如图 8-8所示。16位被加 数存放在B3:1中, 32位加数的低16位 存放在B3:2中,高 16位存放在B3:3中。 两个加数的值和运 算结果参见表8-7 (p183)。
图8-8 32位有符号整数加法实例梯形图
2)双字除指令(DDV) 该指令只有两个参数:源和目的。 DDV指令将算术寄存器中32位值 (S:14和S:13)去除以一个16位的 源值(图8-9中的N7:0),如果余数 大于等于0.5,则目的地址(图8-9 中的N7:1)的值向上取整。 在开始计算时,算术寄存器S:13和 S:14包含DDV运算的被除数,指令 执行时,高位有效字S:14存储不整 除的商,低位有效字S:13存储余数。 该指令通常用在产生32位结果的 MUL指令之后。
电气控制与PLC
第 8 章
ML/SCL系列PLC 功能指令及应用
第7章介绍的基本逻辑控制指令主要用于取代传统的 继电器控制系统,实现逻辑控制和计时器/计数器的功能 。作为工业控制计算机之一的PLC除了具有逻辑控制功能 外,还具有数据运算、传送、变换、程序控制、通信及 一些特殊功能。 MicroLogix/SLC5系列PLC的功能指令分为:运算指 令、数据处理指令、移位/顺序控制指令、程序控制指令 、PID控制指令、通信控制指令、ASCLl码指令等。本章 主要介绍运算指令、数据处理指令、程序控制指令,并 结合控制应用给出一些编程实例。
8.1.4 数据转换指令
8.1.5 高级运算指令
8.1.1 数据比较指令
数据比较指令属于输入指令,用于比较两个数值的大小, 以此作为逻辑梯级连续的条件。如果指令中被比较的两个数值 满足指令的比较条件,则指令逻辑为“真”,否则指令逻辑为 “假”。比较指令见表8-1。
1. 基本比较指令
表8-1中的前六个为基本比较指令。其中两个指 令的梯形图符号如图8-1所示,其他比较指令的符号 格式与之1基本一致。图中表示的含义是:如果整数 文件字N7:1中的值小于整数文件字N7:9中的值且大于 或等于零,则将B3:1/3置位。