2024年2月21日发(作者:)
项目 字逻辑指令
1 。字逻辑指令概述
说明:字逻辑指令按照布尔逻辑将成对的字(16 位)和双字(32 位)逐位进行比较。如果输出OUT 的结果不等于“0”,则状态字的位 CC 1 被置为“1”。
如果输出OUT 的结果等于“0”,则状态字的位 CC 1 被置为“0”。下述字逻辑指令可供使用:
• WAND_W 字和字相“与(AND)”
• WOR_W 字和字相“或(OR)”
• WXOR_W 字和字相“异或(XOR)”
• WAND_DW 双字和双字相“与(AND)”
• WOR_DW 双字和双字相“或(OR)”
• WXOR_DW 双字和双字相“异或(XOR)”
2 。WAND_W 字和字相“与”
符号:
参数
EN
ENO
IN1
IN2
OUT
说明:WAND_W(字和字相“与”指令)通过使能输入(EN)的信号状态“1”激活,并将输入IN1 和 IN2 表示的两个字值逐位进行“与(AND)”运算。数值用纯二进制位的形式表示。其结果可以在输出OUT 中扫描。ENO 和EN 具有相同的逻辑状态。
举例:
数据类型
BOOL
BOOL
WORD
WORD
WORD
存储区域
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
说明
使能输入
使能输出
第一个逻辑运算值
第二个逻辑运算值
逻辑运算的结果字
如果 I0.0 = “1”,则执行指令。只有 MW0 的位 0 到位 3 与之相关,MW0 的其余位被IN2 字位屏蔽。
MW0 = 01010101 01010101
IN2 = 00000000 00001111
MW0 AND IN2 = MW2 = 00000000 00000101
如果执行指令,则 Q4.0 为“1”。
3. WOR_W 字和字相“或”
符号:
参数
EN
ENO
IN1
IN2
OUT
数据类型
BOOL
BOOL
WORD
WORD
WORD
存储区域
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
说明:WOR_W(字和字相“或”指令)通过使能输入(EN)的信号状态“1”激活,并将输入 IN1和 IN2 表示的两个字值逐位进行“或(OR)”运算。数值用纯二进制位的形式表示。其结果可以在输出OUT 中扫描。ENO 和EN 具有相同的逻辑状态。
举例:
说明
使能输入
使能输出
第一个逻辑运算值
第二个逻辑运算值
逻辑运算的结果字
如果 I0.0 = “1”,则执行指令。位 0 到位 3 被置为“1”,所有其它 MW0 位不变。
MW0 = 01010101 01010101
IN2 = 00000000 00001111
MW0 OR IN2=MW2 = 01010101 01011111
如果执行指令,则 Q4.0 为“1”。
4. WAND_DW 双字和双字相“与”
符号:
参数
EN
ENO
IN1
IN2
OUT
数据类型
BOOL
BOOL
DWORD
DWORD
DWORD
存储区域
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
说明:WAND_DW(双字和双字相“与”指令)通过使能输入(EN)的信号状态“1”激活,并将输入 IN1 和 IN2 表示的两个字值逐位进行“与(AND)”运算。数值用纯二进制位的形式表示。其结果可以在输出OUT 中扫描。ENO 和EN 具有相同的逻辑状态。
举例:
说明
使能输入
使能输出
第一个逻辑运算值
第二个逻辑运算值
逻辑运算的结果双字
如果 I0.0 = “1”,则执行指令。只有 MD0 的位 0 到位11 与之相关,MD0 的其余位被IN2 位屏蔽。
MD0 = 01010101 01010101 01010101 01010101
IN2 = 00000000 00000000 00001111 11111111
MD0 AND IN2 = MD4 = 00000000 00000000 00000101 01010101
如果执行指令,则 Q4.0 为“1”。
5 WOR_DW 双字和双字相“或”
符号:
参数
EN
ENO
IN1
IN2
OUT
说明:WOR_DW(双字和双字相“或”指令)通过使能输入(EN)的信号状态“1”激活,并将输入 IN1 和 IN2 表示的两个字值逐位进行“或(OR)”运算。数值用纯二进制位的形式表示。其结果可以在输出OUT 中扫描。ENO 和EN 具有相同的逻辑状态。
举例:
数据类型
BOOL
BOOL
DWORD
DWORD
DWORD
存储区域
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
说明
使能输入
使能输出
第一个逻辑运算值
第二个逻辑运算值
逻辑运算的结果双字
如果 I0.0 = “1”,则执行指令。位 0 到位11 被置为“1”,所有其它 MD0 位不变。
MD0 = 01010101 01010101 01010101 01010101
IN2 = 00000000 00000000 00001111 11111111
MD0 OR IN2 = MD4 = 01010101 01010101 01011111 11111111
如果执行指令,则 Q4.0 为“1”。
6. WXOR_W 字和字相“异或”
符号:
参数
EN
ENO
IN1
IN2
OUT
数据类型
BOOL
BOOL
WORD
WORD
WORD
存储区域
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
说明:WXOR_W(字和字相“异或”指令)通过使能输入(EN)的信号状态“1”激活,并将输入 IN1 和 IN2 表示的两个字值逐位进行“异或(XOR)”运算。数值用纯二进制位的形式表示。其结果可以在输出OUT 中扫描。ENO 和EN 具有相同的逻辑状态。
举例:
说明
使能输入
使能输出
第一个逻辑运算值
第二个逻辑运算值
逻辑运算的结果字
如果 I0.0 = “1”,则执行指令:
MW0 = 01010101 01010101
IN2 = 00000000 00001111
MW0 XOR IN2 = MW2 = 01010101 01011010
如果执行指令,则 Q4.0 为“1”。
7 。WXOR_DW 双字和双字相“异或”
符号:
参数
EN
ENO
IN1
IN2
OUT
数据类型
BOOL
BOOL
DWORD
DWORD
DWORD
存储区域
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
I,Q,M,L,D
说明
使能输入
使能输出
第一个逻辑运算值
第二个逻辑运算值
逻辑运算的结果双字
说明:WXOR_DW(双字和双字相“异或”指令)通过使能输入(EN)的信号状态“1”激活,并将输入 IN1 和 IN2 表示的两个字值逐位进行“异或(XOR)”运算。数值用纯二进制位的形式表示。其结果可以在输出OUT 中扫描。ENO 和EN 具有相同的逻辑状态。
举例:
如果 I0.0 = “1”,则执行指令:
MD0 = 01010101 01010101 01010101 01010101
IN2 = 00000000 00000000 00001111 11111111
MW2 = MD0 XOR IN2 = 01010101 01010101 01011010 10101010
如果执行指令,则 Q4.0 为“1”
举例:字逻辑指令
加热炉
操作员按启动按钮开始加热炉。操作员能够使用如图所示的拨码开关设定加热时间。操作员设定的值以二-十进制(BCD)格式用[秒]为单位显示。
梯形逻辑程序
程序段1:如果定时器运行,则接通加热器。
程序段2:如果定时器运行,则 Return 指令结束在此的处理。
程序段 3:屏蔽输入位I 0.4 至I 0.7(即将其复位为“0”)。不使用拨码开关输入这些位。按照字和字相“与”指令,将拨码开关输入的16 位与 W#16#0FFF 相结合。其结果装入存储器字 MW1 中。为了设定以[秒]为单位的时基,按照字和字相“或”指令将预置值和W#16#2000 相结合,将位13 置为“1”,位12 复位为“0”。
程序段 4:如果按动启动按钮,则启动定时器T1 为扩展脉冲定时器,以存储器字 MW2
装入(取自上述逻辑)预置时间值。


发布评论