西门子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)语句表
- 西门子代理商用移植设计法将卧式镗床控制系统移植设计为PLC控制系统 2024-01-07
- 西门子代理商PLC控制送料小车的经验设计实例 2024-01-07
- 西门子代理商扫描计数控制和6位数计数控制 2024-01-07
- 西门子代理商模拟量控制和中断处理控制 2024-01-07
- 西门子代理商PLC顺序控制 2024-01-07
- 西门子代理商喷泉的PLC步进控制 2024-01-07
- 西门子代理商大小球分拣的PLC步进控制 2024-01-07
- 西门子代理商电镀生产线的PLC步进控制 2024-01-07
- 西门子代理商自动售汽水机的PLC步进控制 2024-01-07
- 西门子总代理数码管显示的PLC控制要求 2024-01-07