PLC使用的过程中,会有各种类型的数据需要处理。如十进制数、16进制数、2进制数、浮点数等。除了能够熟练的使用各种类型的数据外,深入的掌握这些数据的内部处理机制,可以在PLC编程使用更加轻松的处理各种问题。这里就各种类型数据在PLC内部的表示方法展开分享。
十进制(DEC)
即为我们通常所使用的1234567890……这样类型的数据。在PLC内部,十进制数一般用于如下几个方面:
- 定时器和计数器的设定值;如PLC编程中使用的K10即为常数10。
- 辅助继电器(M)、定时器(T)、计数器(C)、状态(S)等的编号;如M10、T1、C1、S1等,使用十进制数表示相应内部器件的地址编号。
16进制(HEX)
应用指令的操作数中的数值指定和指令动作的指定(H常数)。在做通信处理时,常会用到16进制数据的情况。
2进制数(BIN)
即为0或者1这样的数据。逻辑控制处理的数据,就是0和1这两种类型的数据。其PLC内部对上述的10进制和16进制数据处理,均式转换为2进制处理的。其转换过程如下图对应:
![0961f97f144ac87f042c40e8cbe56e13.png](https://i-blog.csdnimg.cn/blog_migrate/16342a0d067d93cbf2fc8302f46ca092.jpeg)
二进制与10进制间的转换
从上图中,二进制的最高位为符号位。当最高位位0时,所表示的数为正数;当最高位为1时,所表示的数为负数。
8进制(OCT)
一般对PLC的IO地址,均是按照8进制来进行分配处理的。如X0~X7、X10~X17。编号尾部以0开始以7结束,总共8位。
BCD(BCD)
BCD就是将构成10进制数的各位上0~9的数值以四位的BIN来表现的形式。实际运用过程中,这种已经很少使用了。
实数(浮点数)
PLC运行过程中,运算采用2进制浮点数(实数),监控采用了10进制浮点数(实数)。
数据间的转换
各种类型数据间的转换关系如下:
![2b159c51f2f4b2f6165c7aff5676f427.png](https://i-blog.csdnimg.cn/blog_migrate/c2110934d6cc32d24b56b281d87208b3.jpeg)
数据对应表
以上数据类型的运用场景如下:
![a9225bca6d893c08864cab33cd933436.png](https://i-blog.csdnimg.cn/blog_migrate/3b27e0095ef13e44d5f19426a67f6afa.jpeg)
各类型数据的运用场景
二进制浮点数的转换关系:
![ff73046326a90a04b3f78e2e0348572e.png](https://i-blog.csdnimg.cn/blog_migrate/45c9ec3d417dc56d1266be41e0532c89.jpeg)
二进制浮点数的转换关系
二进制浮点数的有效位数:
- 最小绝对值1175494×10^-44
- 最大绝对值3402823×10^32
特别说明:
在进行数据处理过程中,特殊书继电器M8020(零)、M8021(借位)、M8022(进位)的处理。
- M8020(零):结果真为0时为1
- M8021(借位):结果未达到最小单位,但不是0时为1
- M8022(进位):结果的绝对值超出可以处理的数值时为1
(转载请注明来源函控自动化工程师头条号)