设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子博途字逻辑指令
返回列表
发新帖
[西门子]
西门子博途字逻辑指令
[复制链接]
66768
|
0
|
2024-5-23 17:09:13
|
显示全部楼层
|
阅读模式
1、AND:“与”运算
AND:“与”运算指令是将输入 IN1 的值和输入 IN2 的值按位进行“与”运算,并在输出 OUT 中查看运算结果。
在执行该指令时,输入 IN1 的值的位 0和输入 IN2 的值的位 0 进行“与”运算。结果存储在输出 OUT 的位 0中。对指定值的所有其它位都执行相同的逻辑运算,按位一一对应进行“与”运算。对于IN可以是单个BYTE字节型数据,也可以是WORD字型数据。如下图所示:
指令初始状态必须要有IN1和IN2两个参数,可点击图中3位置※添加多个输入参数;
图中5位置为指令参数类型;
只有该逻辑运算中的两个位的信号状态均为“1”时,结果位的信号状态才为“1”。如果该逻辑运算的两个位中有一个位的信号状态为“0”,则对应的结果位将复位。
下面看一下实际运行监视情况:
有图中可以得出:只有”DB_1”.B_1和”DB_1”.B_2对应的位都是1结果才为1.
2、OR:“或”运算
可以使用“或”运算指令将输入 IN1 的值和输入 IN2 的值按位进行“或”运算,并在输出 OUT 中查询结果。
执行该指令后,将 IN1 输入的值的位 0和 IN2 输入的值的位 0进行“或”运算。结果存储在输出 OUT 的位 0中。对指定变量的所有位都执行相同的逻辑运算。“或”运算和“与”运算一样,都是位一一对应进行。
可以在指令功能框中展开输入的数字。在功能框中以升序对相加的输入进行编号。指令该执行时,将对所有可用输入参数的值进行“或”运算。结果存储在输出 OUT 中。
只要该逻辑运算中的两个位中至少有一个位的信号状态为“1”,结果位的信号状态就为“1”。如果该逻辑运算的两个位的信号状态均为“0”,则对应的结果位将复位。
同样IN可以是BYTE字节型也可以是WORD字型数据。可以是两个IN也可以为多个数据。
下面是参数表:
实际运算展示:
有实际运行验证:进行“或”运算时只要对应的位其中一个为1结果就是1,只有当对应的位都是0结果才会是0.
3.XOR:“异或”运算
“异或”运算指令将输入 IN1 的值和输入IN2 的值按位进行“异或”运算,并在输出 OUT 中查询结果。
执行该指令后,将 IN1 输入的值的位 0 和 IN2 输入的值的位 0进行“异或”运算。结果存储在输出 OUT 的位 0中。对指定值的所有其它位都执行相同的逻辑运算。一一对应关系。
可以在指令功能框中展开输入的数字。在功能框中以升序对相加的输入进行编号。指令该执行时,将对所有可用输入参数的值进行“异或”运算。结果存储在输出 OUT 中。
当该逻辑运算中的两个位中有一个位的信号状态为“1”时,结果位的信号状态为“1”。如果该逻辑运算的两个位的信号状态均为“1”或“0”,则对应的结果位将复位。两个位状态不一样结果为1,一样为0.
此指令和“与”、“或”可执行的数据类型一样不再赘述。
运行展示:
4.INVERT:求反码
使用“求反码”指令对输入 IN 的各个位的信号状态取反。在处理该指令时,输入 IN 的值与一个十六进制掩码(表示 16 位数的 W#16#FFFF 或表示 32 位数的 DW#16#FFFF FFFF)进行“异或”运算。这会将各个位的信号状态取反,并且结果存储在输出 OUT 中。
下面是指令格式及可执行的数据类型:
下面参数表:
程序运行展示:诸位取反
5、DECO:解码
使用“解码”指令,将输入值指定的输出值中的某个位置位。
“解码”指令读取输入 IN (默认的数据类型为UINT)的值,并将输出值中位号与读取值对应的那个位置位。输出值中的其它位以零填充。因输出数据类型位数最多为DWORD也就是32位数据,所以当输入IN 的值大于 31 时,则将执行以 32 为模的指令。
下面看一下指令格式:
如上图所示:输入数据类型不可更改为UINT,输出数据类型最多位为32位。
下面是参数表:
以下是不同输入值时对应的结果:
下面针对内部实际转换过程分解如下图示:
依次类推,当IN=15时,也就是2的15次方,二进制表示:1000 0000 0000 0000也就对应着16#0000_8000
当IN的数值超过15时,输出数据就变成双字DWORD为32位数据,同理推算验证结果。
当输出数据为BYTE型时,如下图所示:
IN=5,也就是2的5次方,二进制表示:0010_0000所以对应的M10.5也就为ON;
其它数值可自行设置转化验证。
6、ENCO:编码
使用“编码”指令读取输入值中最低有效位的位号并将其发送到输出 OUT。
“编码”指令选择输入 IN 值的最低有效位(最低位为1有效),并将该位号(为1的位位置号)写入到输出 OUT 的变量中。
“编码”指令与“译码”指令其实互为逆过程,编程中一般也会成对出现。
指令格式如下所示:
参数表
实例展示:
运行解析:
此指令可用于电梯设计中,当有多人按了楼梯按钮时,电梯按最低有效位去接人,依次顺序接人。也可作为仓储功能,做到先进先出等等,“编码”和“译码”指令应用比较多也很方便,可多加练习不同数据类型之间的运算过程。
7、SEL:选择
“选择”指令根据开关(输入 G)的情况,选择输入 IN0 或 IN1 中的一个,并将其内容复制到输出 OUT。如果输入 G 的信号状态为“0”,则移动输入 IN0 的值。如果输入 G 的信号状态为“1”,则将输入 IN1 的值移动到输出 OUT 中。
所有参数的所有变量都必须具有相同的数据类型。
==END
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
非标自动化
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』