首页 理论教育 PLC常规指令学习:新建程序段、插入空功能框、打开和关闭分支等操作

PLC常规指令学习:新建程序段、插入空功能框、打开和关闭分支等操作

时间:2023-06-17 理论教育 版权反馈
【摘要】:1.常规指令在PLC常规指令中,使用者可以进行新建程序段、插入空功能框、打开分支和关闭分支等操作。

PLC常规指令学习:新建程序段、插入空功能框、打开和关闭分支等操作

1.常规指令

在PLC常规指令中,使用者可以进行新建程序段、插入空功能框、打开分支和关闭分支等操作。

(1)新建程序

①指令:新建程序段。

②功能描述:插入新的程序段。

(2)插入空功能框

①指令:空功能框。

②功能描述:插入空功能框,通过双击其红色问号,可以在下拉菜单中选择相应的LAD指令,从而将空功能框改为相应LAD指令。

(3)打开分支

①指令:打开分支。

②功能描述:打开多个分支。

(4)关闭分支

①指令:关闭分支。

②功能描述:可以关闭可用的分支。

2.位逻辑运算指令

在PLC基本指令下的位逻辑运算指令中,使用者可以插入常开触点、插入常闭触点、取反RLO、插入线圈、置位输出、复位输出、插入置位/复位触发器、插入复位/置位触发器、扫描操作数信号上升沿等,如图所示,各指令具体功能、参数和示例如图所述。

(1)插入常开触点

①指令:常开触点。

②功能描述:操作数为1时,常开触点闭合,指令输出为1;操作数为0时,指令输出为0。

(2)插入常闭触点

①指令:常闭触点。

②功能描述:操作数为1时,指令输出为0;操作数为0时,指令输出为1。

(3)取反RLO

①指令:取反RLO。

②功能描述:对逻辑运算结果取反,输入为“1”时,指令输出为“0”;输入为“0”时,输出为“1”。

(4)插入线圈

①指令:线圈。

②功能描述:输入逻辑运算结果为“1”时,指定操作数被置“1”,线圈输入为“0”时,指定操作数被复位为“0”。

(5)置位输出

①指令:置位输出。

②功能描述:线圈输入逻辑运算结果为“1”时,指定的操作数将置位为“1”;线圈输入逻辑运算结果为“0”时,指定操作数保持不变。

(6)复位输出

①指令:复位输出。

②功能描述:线圈输入逻辑运算结果为“1”时,指定的操作数将复位为“0”;线圈输入逻辑运算结果为“0”时,指定操作数保持不变。

(7)插入置位/复位触发器

①指令:置位/复位触发器。

②功能描述:输入S为“1”,R为“0”时,指定操作数被置位为“1”;输入S为“1”,R1为“1”时,指定操作数复位为“0”;输入 S为“0”,R1为“1”时,指定操作数复位为“0”;输入S为“0”,R1为“0”时,指定操作数保持不变。其中,参数S为使能置位;R1为使能复位;Q为操作数状态。

③示例:如图2-6所示,M0.2为1,M0.3为0时,Q0.0置1;M0.2为1,M0.3为1时,Q0.0复位为0;M0.2为0,M0.3为1时,Q0.0复位为0;M0.2为0,M0.3为0时,操作数Tag_1保持不变。

图2-6 置位/复位触发器图

(8)插入复位/置位触发器

①指令:复位/置位触发器。

②功能描述:输入R为“1”,S1为“0”,操作数复位为“0”;输入R 为“1”,S1为“1”,操作数置位为“1”;输入R为“0”,S1为“1”,操作数置位为“1”;输入R 为“0”,S1为“0”,操作数保持不变,其中R为使能复位,S1为使能置位,Q为操作数状态。

③示例:如图2-7所示,M0.2为1,M0.3为0时,Q0.0复位为0;M0.2为1,M0.3为1时,Q0.0置位为1;M0.2为0,M0.3为1时,Q0.0置位为1;M0.2为0,M0.3为0时,操作数Tag_1保持不变。

图2-7 复位/置位触发器图

(9)扫描操作数的信号上升沿

①指令:扫描操作数的信号上升沿。

②功能描述:逻辑运算结果从“0”变为“1”时,该指令输出为“1”,否则,指令输出为“0”。

③示例:如图2-8所示,上一次扫描的信号状态在Tag_2中,当M0.2为1并且M0.4由0变为1时,Q0.0为1。

图2-8 扫描操作数的信号上升沿图

(10)扫描操作数的信号下降沿

①指令:扫描操作数的信号下降沿。

②功能描述:逻辑运算结果从“1”变为“0”时,该指令输出为“1”,否则,指令输出为“0”。

(11)扫描 RLO的信号上升沿

①指令:扫描 RLO的信号上升沿。

②功能描述:逻辑运算结果从“0”变为“1”,该指令输出为“1”,否则,指令输出为“0”。

③示例:如图2-9所示,M0.2由0变为1时,Q0.0为1。

图2-9 扫描 RLO的信号上升沿图

(12)扫描 RLO 的信号下降沿

①指令:扫描 RLO 的信号下降沿。

②功能描述:逻辑运算结果从“1”变为“0”,该指令输出为“1”,否则,指令输出为“0”。

3.定时器操作指令

S7-300系列PLC的定时器相当于继电器控制电路中的时间继电器,S7-300系列PLC的定时器分为脉冲定时器、扩展脉冲定时器、接通延时定时器、保持型接通延时定时器和关断延时定时器,在PLC基本指令下的定时器操作指令中,使用者可以给相关定时器分配参数并调用。

(1)生成脉冲

①指令:生成脉冲。

②功能描述:生成脉冲,其中,IN为启动输入;PT为脉冲持续时间;Q为脉冲输出;ET为当前时间值。

(2)接通延时定时器

①指令:接通延时。

②功能描述:接通延时定时器,其中,IN为启动输入;PT为延时时间;Q为输出;ET为当前时间值。

③示例:接通延时程序如图2-10所示,其时序图如图2-11所示,M0.2从“0”变为“1时,预设的时间 PT开始计时,超过5s后,输出Q置位为“1”。M0.2为“1”时,输出 Q保持置位,M0.2从“1”变为“0”时,输出 Q复位,定时器值从 T#0s开始,5s后结束,M0.2变为“0”,则复位当前值ET。

图2-10 接通延时程序图

图2-11 生成脉冲时序图

(3)关断延时定时器

①指令:关断延时。

②功能描述:关断延时定时器,其中,IN为启动输入;PT为延时持续时间;Q为输。

③示例:关断延时程序如图2-12所示,其时序图如图2-13所示,M0.2为“1”时,输出Q置位为1,当M0.2为“0”时,计时器开始计时。计时时,输出Q 保持置位,超过5s后,输出 Q复位。如果M0.2在计时5s之前变为“1”,则复位定时器,此时,输出Q仍将为“1”。定时器当前值ET从T#0s 开始,达到5s时结束,超出5s后,在M0.2变回“1”之前,ET输出仍保持为当前值,在超出5s之前,M0.2为“1”,则将ET输出复位为T#0s。

图2-12 关断延时程序图

图2-13 关断延时时序图

(4)分配参数并启动脉冲定时器

①指令:分配参数并启动脉冲定时器。

②功能描述:分配参数并启动脉冲定时器,其中S为启动输入;TV为预设定时值;R为复位输入;BI为BI编码的当前值;BCD为BCD编码的当前值,Q为定时器状态。

③示例:如图2-14所示,M0.2从“0”变为“1”时,将启动定时器T0,M0.2为“1”,定时器便会在TV值处超时,如果在定时器超时前M0.2从“1”变为“0”,定时器T0停止,输出 Q0.0复位为“0”,定时器在运行且M0.2为“1”,则Q0.0为“1”,定时器超时或复位后,Q0.0为“0”。

图2-14 分配参数并启动脉冲定时器图

(5)分配参数并启动扩展脉冲定时器

①指令:分配参数并启动扩展脉冲定时器。

②功能描述:分配参数并启动扩展脉冲定时器,其中,S为启动输入;TV为预设定时值;R为复位输入;BI为BI编码的当前值;BCD为BCD编码的当前值;Q为定时器状态。

③示例:如图2-15所示,M0.2从“0”变为“1”,启动定时器T0,定时器在TV值处超时,而不会受到输入S下降沿的影响,定时器超时之前M0.2从“0”变为“1”,定时器会重启,只要定时器在运行,Q0.0便为“1”,定时器超时或复位后,Q0.0将复位为“0”。

图2-15 分配参数并启动扩展脉冲定时器图

(6)分配参数并启动接通延时定时器

①指令:分配参数并启动接通延时定时器。

②功能描述:分配参数并启动接通延时定时器,其中,S为启动输入;TV为预设定时值;R为复位输入;BI为BI编码的当前值;BCD为BCD编码的当前值;Q为定时器状态。

③示例:如图2-16所示,M0.2从“0”变为“1”时,将启动定时器T0,定时器在TV值处超时,定时器超时且M0.2为“1”时,Q0.0被置位为“1”。如果定时器超时前M0.2从“1”变为“0”,则定时器将停止,此时Q0.0为“0”。

图2-16 分配参数并启动接通延时定时器图

(7)分配参数并启动保持型接通延时定时器

①指令:分配参数并启动保持型接通延时定时器。

②功能描述:分配参数并启动保持型接通延时定时器,其中,S为启动输入;TV为预设定时值;R为复位输入;BI为BI编码的当前值;BCD为BCD编码的当前值;Q为定时器状态。

③示例:如图2-17所示,M0.2从“0”变为“1”时,将启动定时器T0,即使M0.2变为“0”,定时器还是会在TV值处超时,定时器超时后,Q0.0将被置位为“1”,定时器计时期间M0.2从“0”变为1”,定时器将重启。

图2-17 分配参数并启动保持型接通延时定时器图

(8)分配参数并启动关断延迟定时器

①指令:分配参数并启动关断延迟定时器。

②功能描述:分配参数并启动关断延迟定时器,其中,S为启动输入;TV为预设定时值;R为复位输入;BI为BI编码的当前值;BCD为BCD编码的当前值;Q为定时器状态。

③示例:如图2-18所示,M0.2从“1”变为“0”时,将启动定时器T0,定时器在TV值处超时。定时器计时期间如果M0.2为“0”,则Q0.0将被置位为“1”。如果定时器计时期间M0.2从“0”变为“1”,定时器将被复位。

图2-18 分配参数并启动关断延时定时器图

(9)启动脉冲定时器

①指令:启动脉冲定时器

②功能描述:信号从“0”变为 “1”时,如果逻辑运算结果为“1”,定时器状态为“1”,在超出定时器值前,逻辑运算结果由“1”变为“0”,定时器状态为“0”。

③示例:如图2-19所示,M0.2从“0”变为“1”时,启动定时器T0,只要M0.2为“1”,定时器T0便会在TV值处超时,在定时器T0超时前M0.2从“1”变为“0”,定时器T0将停止,只要定时器T0在运行,Q0.0便为“1”,M0.2从“1”变为“0”时复位定时器T0。

图2-19 启动脉冲定时器图

(10)启动扩展脉冲定时器

①指令:启动扩展脉冲定时器

②功能描述:信号从“0”变为“1”时,即使逻辑运算结果为“0”,定时器也会在TV值处超时,定时器在运行时,输出状态为“1”,定时器计时时,如果逻辑运算结果从“0”变为“1”,定时器将在设定的TV值处重启,定时器超时时,定时器状态为“0”。

(11)启动接通延迟定时器

①指令:启动接通延迟定时器。

②功能描述:信号从“0”到“1”时,只要逻辑运算结果为“1”,定时器便会在指定持续时间TV中运行。当定时器超时并且逻辑运算结果为“1”,定时器状态为“1”,如果定时器计时过程中逻辑运算结果从“1”变为“0”,则定时器停止,此时定时器状态为 “0”。

(12)启动保持型接通延时定时器

①指令:启动保持型接通延时定时器。

②功能描述:信号从“0”到“1”时,即使逻辑运算结果变为“0”,定时器也会在指定持续时间处超时,定时器超时后,定时器状态为“1”。

③示例:M0.2从“0”变为“1”时,启动定时器T0,定时器T0超时后,操作数Q0.0将被置位为“1”,如果定时器计时期间M0.2从“0”变为“1”,定时器将重启。

(13)启动关断延时定时器

①指令:启动关断延时定时器。

②功能描述:信号从“1”到“0”时,定时器在指定的持续时间后超时,只要定时器在运行,定时器状态为“1”,如果在定时器计时期间逻辑运算结果从“0”变为“1”,则将复位定时器。

③示例:M0.2从“1”变为“0”时,将启动定时器T0,定时器在TV值处超时,只要定时器在运行,Q0.0便被置位为“1”,如果定时器计时期间M0.2从“1”变为“0”,定时器将重启。

4.计数器操作指令

S7-300系列PLC集成了计数器功能,在PLC基本指令下的计数器操作指令中,使用者可以进行加、减计数和加减计数。

(1)加计数

①指令:加计数。

②功能描述:加计数,其中,CU为计数输入;R为复位输入;PV为限值;Q为计数器状态;CV为当前计数值。

③示例:如图2-20所示,M0.2从“0”变为“1”时,执行“加计数”指令,同时 CV值加 1,每出现一个信号上升沿,计数值便加 1,直到达到数据类型的上限值(32767)为止,当前计数值大于或等于PV的值,Q0.0便为“1”,在其他任何情况下,Q0.0均为“0”。

图2.-20 加计数器图

(2)减计数

①指令:减计数。

②功能描述:减计数,其中,CD为计数输入;LD为装载输入;PV为限值;Q为计数器状态;CV为当前计数值。

③示例:如图2-21所示,M0.2从“0”变为“1”时,执行“减计数”指令,且CV值减 1,每出现一个上升沿,计数值便减 1,直到达到数据类型的下限值 (-32768) 为止,当前计数值小于或等于0,Q0.0就为“1”,在其他任何情况下,Q0.0均为“0”。

图2-21 减计数器图

(3)加减计数

①指令:加减计数。

②功能描述:加减计数,其中,CU为加计数输入;CD为减计数输入;R为复位输入;LD为装载输入;PV为限值;QU为加计数器状态;QD为减计数器状态;CV为当前计数值。

③示例:如图2-22所示,M0.2或M0.3从“0”变为“1”时,则执行“加减计数”指令,M0.2出现上升沿时,当前计数值加1并存储在CV中,M0.3出现信号上升沿时,当前计数值减1并存储在CV中,当输入 CU出现信号上升沿时,计数值将递增,直至达到上限 32767,输入CD出现信号上升沿,计数值将递减,直至达到下限-32768。当前计数值大于或等于PV值500,Q0.0就为“1”,在其他任何情况下,Q0.0均为“0”;当前计数值小于或等于0,Q0.1就为“1”,在其他任何情况下,Q0.1均为“0”。

图2-22 加减计数器图

(4)分配参数并运行加计数

①指令:分配参数并运行加计数。

②功能描述:分配参数并运行加计数,其中,CU为加计数输入;S用于干预计数值;PV为预设计数值;R为复位输入;CV为十六进制当前值;CV_BCD为BCD编码当前值;Q为计数器状态。

③示例:如图2-23所示,M0.2从“0”变为“1”且当前计数值小于“999”,则计数值加 1,M0.3从“0”变为“1”时,计数值会被设置为PV值,当M0.6为“1”时,计数值复位为“0”,只要当前计数值不等于“0”,Q0.0便为“1”。(www.xing528.com)

图2-23 分配参数并运行加计数器图

(5)分配参数并运行减计数

①指令:分配参数并运行减计数。

②功能描述:分配参数并运行减计数,其中,CD为减计数输入;S用于干预计数值;PV为预设计数值;R为复位输入;CV为十六进制当前值;CV_BCD为BCD编码当前值;Q为计数器状态。

③示例:如图2-24所示,M0.2从“0”变为“1”且当前计数值大于“0”时,计数值减 1,M0.3“0”变为“1”时,计数值会被设置为PV值,M0.6为“1”时,计数值复位为“0”,当前计数值以十六进制值的形式保存在CV中,以 BCD 编码的形式保存在CV_BCD中,只要当前计数值不等于“0”,输出Q0.0便为“1”。

图2-24 分配参数并运行减计数器图

(6)分配参数并运行加减计数

①指令:分配参数并运行加减计数。

②功能描述:分配参数并运行加减计数,CU为加计数输入;CD为减计数输入;S用于干预计数值;PV为预设计数值;R为复位输入;CV为十六进制当前值;CV_BCD为BCD编码当前值;Q为计数器状态。

③示例:如图2-25所示,M0.2出现上升沿并且当前计数值小于“999”时,计数值加“1”,M0.7出现上升沿并且当前计数值大于“0”时,计数值减“1”,M0.3从“0”变为“1”时,计数值会被设置为PV值,M0.6为“1”时,计数值复位为“0”,当前计数值不等于“0”,Q0.0为“1”。

图2-25 分配参数并运行加减计数器图

(7)设置计数器值

①指令:设置计数器值。

②功能描述:当逻辑运算结果从“0”变为“1”时,计数器被设置为指定计数值。

(8)向上计数

①指令:向上计数。

②功能描述:逻辑运算结果出现信号上升沿,计数器加1,达到上限“999”后,计数值不再递增。

(9)向下计数

①指令:向下计数。

②功能描述:逻辑运算结果出现信号上升沿,计数器减1,达到下限“0”,计数值也不再递减。

5.比较器操作指令

在PLC基本指令下的比较器操作指令中,使用者可以对操作数进行等于、不等于、大于或等于、小于或等于、大于和小于比较操作。

(1)等于

①指令:等于。

②功能描述:如果第一个比较值等于第二个比较值,指令的逻辑运算结果“1”,否则“为0”。

③示例:如图2-26所示,M0.2为1时,比较值1等于比较值2,Q0.0为1。

图2-26 等于图

(2)不等于

①指令:不等于。

②功能描述:如果第一个比较值不等于第二个比较值,指令的逻辑运算结果为“1”,否则为“0”。

(3)大于或等于

①指令:大于或等于。

②功能描述:如果第一个比较值大于或等于第二个比较值,指令的逻辑运算结果为“1”,否则为“0”。

(4)小于或等于

①指令:小于或等于。

②功能描述:如果第一个比较值小于或等于第二个比较值,指令的逻辑运算结果为“1”,否则为“0”。

(5)大于

①指令:大于

②功能描述:如果第一个比较值大于第二个比较值,指令的逻辑运算结果为“1”,否则为“0”。

(6)小于

①指令:小于。

②功能描述:如果第一个比较值小于第二个比较值,指令的逻辑运算结果为“1”,否则为“0”。

6.数学函数指令

在PLC基本指令下的数学函数操作指令中,使用者可以对操作数进行加、减、乘、除等各种数学函数操作。

(1)加法

①指令:加法

②功能描述:在输出OUT(OUT=IN1+IN2)处获得输入IN1值与输入IN2值的总和。其中EN为使能输入;ENO为使能输出;IN1为第一个数;IN2为第二个数;OUT为总和。

③示例:如图2-27所示,M0.2为1时,OUT=IN1+IN2,指令执行成功则Q0.0为1。

图2-27 加法图

(2)减法

①指令:减法。

②功能描述:在输出OUT(OUT=IN1-IN2)处获得输入IN1值与输入IN2值的差值。其中EN为使能输入;ENO为使能输出;IN1为第一个数;IN2为第二个数;OUT为差值。

(3)乘法

①指令:乘法。

②功能描述:在输出OUT(OUT=IN1*IN2)处获得输入IN1值与输入IN2值的乘积。其中EN为使能输入;ENO为使能输出;IN1为第一个数;IN2为第二个数;OUT为乘积。

(4)除法

①指令:除法。

②功能描述:在输出OUT(OUT=IN1/IN2)处获得输入IN1值与输入IN2值的商。其中EN为使能输入;ENO为使能输出;IN1为第一个数;IN2为第二个数;OUT为商。

(5)取余

①指令:取余。

②功能描述:在输出OUT处获得输入IN1值除以输入IN2值的余数。其中EN为使能输入;ENO为使能输出;IN1为第一个数;IN2为第二个数;OUT为余数。

(6)取反

①指令:取反。

②功能描述:更改输入 IN值的符号,结果在OUT处输出。其中EN为使能输入;ENO为使能输出;IN输入;OUT为二进制补码

(7)计算绝对值

①指令:计算绝对值。

②功能描述:计算输入IN的绝对值,结果在OUT处输出。其中EN为使能输入;ENO为使能输出;IN输入;OUT为绝对值。

(8)取最大值

①指令:取最大值。

②功能描述:比较输入 IN1、IN2 和 IN3的值,最大值在OUT处输出。其中,EN为使能输入;ENO为使能输出;IN1为第一个数;IN2为第二个数;IN3为第三个数;OUT为输出结果。

(9)设置限值

①指令:设置限值。

②功能描述:将输入IN限制在MN与MX之间,当MN<IN<MX时,OUT处输出IN值,当IN<MN时,OUT处输出MN值,当IN>MX时,OUT处输出 MX值。其中,EN为使能输入;ENO为使能输出;MN为下限;IN为输入值;MX为上限;OUT为输出结果。

③示例:如图2-28所示,M0.2为1时,当MN<IN<MX时,OUT处输出IN值,当IN<MN时,OUT处输出MN值,当IN>MX时,OUT处输出 MX值,指令执行成功则Q0.0为1。

图2-28 设置限图

(10)取平方

①指令:取平方。

②功能描述:计算输入IN值的平方,在OUT处输出结果。其中,EN为使能输入;ENO为使能输出;IN为输入值;OUT为输出结果。

(11)取平方根

①指令:取平方根。

②功能描述:计算输入IN值的平方根,在OUT处输出结果,当输入IN值小于零时,OUT处输出一个无效浮点数。其中,EN为使能输入;ENO为使能输出;IN为输入值;OUT为输出结果。

(12)取自然对数

①指令:取自然对数。

②功能描述:计算输入 IN以e为底的自然对数,在OUT处输出结果。其中,EN为使能输入;ENO为使能输出;IN为输入值;OUT为输出结果。

(13)取指数值

①指令:取指数值。

②功能描述:计算输入 IN以e为底数的幂指数,在OUT处输出结果。其中,EN为使能输入;IN为输入值;OUT为输出结果。

7.移动操作指令

在PLC基本指令下的移位操作指令中,使用者可以进行移动值、块移动和填充区域等操作。

(1)移动值

①指令:移动值。

②功能描述:将输入IN的数据,传送到输出OUT1。指令块如图所示,其中,EN为使能输入;ENO为使能输出;IN为源地址;OUT1为目标地址。

③示例:如图2-29所示,M0.2为1时,MD16中的数据复制到MD20中,指令执行成功则Q0.0为1。

图2-29 移动值图

(2)块移动

①指令:块移动。

②功能描述:将数据从一个存储区移动到另一个存储区中。其中EN为使能输入;ENO为使能输出;SRCBLK为源区域;RET_VAL为错误代码;DSTBLK为目标区域。

(3)不可中断的存储区移动

①指令:不可中断的存储区移动。

②功能描述:将数据从一个存储区的移动到另一个存储区,可使用 ANY 指针来定义源区域和目标区域,此复制操作不会被操作系统的其他任务打断。其中,EN为使能输入;ENO为使能输出;SRCBLK为源区域;RET_VAL为错误代码;DSTBLK为目标区域。

8.程序控制操作指令

在PLC基本指令下的程序控制操作指令中,使用者可以进行跳转、插入跳转标签和返回等操作。

(1)若RLO=“1”,则跳转

①指令:若RLO=“1”,则跳转。

②功能描述:中断程序的顺序执行,并从其他程序段继续执行,该指令输入逻辑运算结果为“1”,则将跳转到跳转标签标识的程序段,若输入逻辑运算结果为“0”,则继续执行下一程序段。

③示例:如图2-30所示,M0.2为1时,跳转到程序3,M0.2为0时,顺序执行程序段2。

图2-30 若RLO=“1”则跳转图

(2)若RLO=“0”,则跳转

①指令:若RLO=“0”,则跳转。

②功能描述:中断程序的顺序执行,并从其他程序段继续执行,该指令输入逻辑运算结果为“0”,则将跳转到跳转标签标识的程序段,若逻辑运算结果为“1”,则程序继续执行下一程序段。

(3)跳回标签

①指令:跳回标签。

②功能描述:标识一个目标程序段。

(4)返回

①指令:返回。

②功能描述:输入逻辑运算结果为“1”时,在当前被调用块中终止程序执行,当调用块中执行调用功能后可继续执行。

(5)退出程序

①指令:退出程序。

②功能描述:输入逻辑运算结果为“1”时,CPU更改为STOP模式,终止程序执行,若该指令输入逻辑运算结果为“0”时,不执行该指令。

9.字逻辑运算指令

在PLC基本指令下的字逻辑运算指令中,使用者可以进行“与”运算、“或”运算、“异或”运算和求反码等操作。

(1)“与”运算

①指令:“与”运算。

②功能描述:将输入IN1值与输入IN2值逐位进行“与”运算,在OUT处输出结果。其中,EN为使能输入;ENO为使能输出;IN1为第一个值;IN2为第二个值;OUT为结果。

(2)“或”运算

①指令:“或”运算。

②功能描述:将输入IN1值与输入IN2值逐位进行“或”运算,在OUT处输出结果。其中,EN为使能输入;ENO为使能输出;IN1为第一个值;IN2为第二个值;OUT为结果。

(3)“异或”运算

①指令:“异或”运算。

②功能描述:将输入IN1值与输入IN2值逐位进行“异或”运算,在OUT处输出结果。其中,EN为使能输入;ENO为使能输出;IN1为第一个值;IN2为第二个值;OUT为结果。

10.移位和循环移位指令

在PLC基本指令下的移位和循环移位指令中,使用者可以进行右移、左移、循环右移和循环左移操作。

(1)右移

①指令:右移。

②功能描述:将输入IN中的内容按位向右移位,在OUT处输出结果,无符号值移位时,用零填充左侧区域中空出的位,有符号值移位时,用符号位填充空出的位。其中,EN为使能输入;ENO为使能输出;IN为待移位值;N为移位位数;OUT为结果。

③示例:如图2-31所示,M0.2为1时,将输入IN中的内容按位向右移5位,在OUT处输出结果,指令执行成功则Q0.0为1

图2-31 右移图

(2)左移

①指令:左移。

②功能描述:将输入IN中的内容按位向左移位,在OUT处输出结果,无符号值移位时,用零填充右侧区域中空出的位,有符号值移位时,用符号位填充空出的位。其中,EN为使能输入;ENO为使能输出;IN为待移位值;N为移位位数;OUT为结果。

(3)循环右移

①指令:循环右移。

②功能描述:将输入IN中操作数的内容按位向右循环移位,在OUT处输出结果,用移出的位填充循环移位空出的位。其中,EN为使能输入;ENO为使能输出;IN为待移位值;N为移位位数;OUT为结果。

③示例:如图2-32所示,M0.2为1时,将输入IN中的内容按位循环右移5位,在OUT处输出结果,指令执行成功则Q0.0为1。

图2-32 循环右移图

(4)循环左移

①指令:循环左移。

②功能描述:将输入IN中操作数的内容按位向左循环移位,在OUT处输出结果,用移出的位填充循环移位空出的位。其中,EN为使能输入;ENO为使能输出;IN为待移位值;N为移位位数;OUT为结果。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈