对于 S7-200 PLC,数据转换主要涉及显示格式和数制问题。
显示格式
S7-200 PLC 存储的数据都是二进制位序列。这些位序列可以表示不同的数据类型,如浮点数、整数和字符的 ASCII 码。
例如,10 这个数字可以存储为:
- BCD 码:00010000 (等同于十六进制 10)
- 二进制:00001010 (等同于十六进制 0A)
如果计算机没有声明以 BCD 码存储数据,则会将其视为二进制数。
数制问题
S7-200 PLC 以字为单位传递数据。数据可以是无符号数或有符号数。
例如,1680 赋值给一个无符号变量时,变量的值为 +128。而赋值给一个有符号变量时,变量的值为 -128。
Modbus RTU 通信
当使用 S7-200 PLC 通过 Modbus RTU 通信时,通常以字为单位传递数据。地址范围为 4xxxx。
在 STEP 7 MicroWin 中,可以设置数据显示为十进制格式。
程序中的数据转换
在 PLC 程序中进行数据转换时,无需关注数制问题。而是应该关注赋值给哪种类型变量(整数还是实数)。
对于有小数部分流量计,通信时通常将实际流量除以某个单位流量得到整数后存储和传输。例如,2.56 L/min 可能存储为 321 (十六进制 0100),默认单位为 0.01 L/min。
在这种情况下,需要使用 DI_R 指令将数据转换为实数,然后使用 DIV_R 指令除以 100.0 才能得到真正的流量大小。
结论
S7-200 PLC 的数据转换主要涉及显示格式和数制问题。在程序中进行数据转换时,无需关注数制问题,而是应该关注赋值给哪种类型变量。
数据类型 | 赋值 | 十进制值 |
---|---|---|
无符号整数 | 1680 | +128 |
有符号整数 | 1680 | -128 |
实数 | DI_R(321) / DIV_R(100.0) | 2.56 |
本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!
添加新评论