西门子PLC代理商通讯模块
西门子PLC代理商通讯模块
西门子PLC代理商通讯模块
西门子PLC数据的分离数据的分离
在PLC的通信中,往往需要把接收到的数据进行分离以便使用。如接收到某16位二进制数据,需要从这16位数据中把其高4位与其低12位分离。要实现这一目的,可采用完全整数除法或逻辑运算指令
1. 用完全整数除法实现
假设需要分离的16位二进制数据存储在MWO中,将分离后的高4位数据存放于MW4中,低12位数据存放在MW2中,数据分离程序的梯形图与语句表如图6-70所示。

图6-70 用完全整数除法实现数据分离的梯形图和语句表程序
(a)梯形图;(b)语句表
假若数据分离的MWO中存储的数为16#328E,根据完全除法指令,用该数据来除以16#1000,则商为16 #3、余数为16#28E,在MD2的低16位中存放商16#3,在MD2的高16位中存放余数16#28E,而MD2的低16位就是MW4,高16位就是MW2。
2. 用逻辑运算指令实现
采用逻辑运算实现数据分离的梯形图与语句表如图6-71所示。

图6-71 采用逻辑运算实现数据分离的梯形图和语句表程序
(a)梯形图;(b)语句表
在程序运行中,将MWO中的数据与16#OFFF进行逻辑与运算后,将MWO的高4位全部变成了0,也就实现了MWO的低12位的分离;将MWO中的数据与16#FOO0进行逻辑与运算后,将MWO的低12位全部变成了0,进行移位操作,将数据向右移12位就实现了高4位的分离。灵活采用进行逻辑运算的值,结合移位指令,就可以分离出任何所需位的位。
按比例放大模拟值
在工业控制中,会经常使用传感器来检测一些模拟量,如使用温度传感器检测温度。由于传感器所采集到的是电压值,如何把传感器所采集到的值换算成被测物理量的实际值,这就需要按比例放大模拟值。例如,知道温度传感器在最低检测温度T....时,其输出电压为U...;在最高检测温度T...时,其输出电压为Umu;需要找到输出电压为U时所对应的温度T。这一类问题都可以通过PLC的四则运算实现。
对于比例传感器,温度可以用下式算出

利用PLC来实现,梯形图与语句表如图6-72所示。
在转换前先将传感器标定的值存储在PLC内对应的存储器中,把传感器所采集到的模拟量也存入对应的位置,利用本程序就能得到对应的物理参数值。在一些需要放大模拟量值的时候,或者在进行单位转换时也都可以利用这样的程序来实现。
求解三角函数值
在工业控制中有时为了计算某些三角形的高度或者某些距离需要用到数学函数指令。例如需要求解75°正弦值,其梯形图与语句表如图6-73所示。
表中取数
在某些工程应用场合,需要用到较多的数据,在这种情况下,可以先把数据存取到表中,再从表中把数据取出来。
从表中取数的梯形图与语句表程序及执行结果如图6-74所示。

图6-72 按比例放大模拟值的梯形图和语句表程序
(a)梯形图;(b)语句表

图6-73 求解75°正弦值的梯形图和语句表程序
(a)梯形图;(b)语句表
6ES7211-1BE40-0XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
6ES7211-1AE40-0XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
6ES7211-1HE40-0XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
6ES7212-1BE40-0XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
6ES7212-1AE40-0XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
6ES7212-1HE40-0XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
6ES7214-1BG40-0XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
6ES7214-1AG40-0XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
6ES7214-1HG40-0XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
6ES7215-1BG40-0XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES7215-1AG40-0XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
6ES7215-1HG40-0XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |