n
说明:
当与第三方系统通讯时(例如通过 Modbus协议时),由于在存储器中不同的字节顺序可能会导致通信的冲突。 S7-200 是以大尾形式存储:数据中的高字节存储在存储区的低位地址。其它的存储方式:n
- 小尾:数据中的低字节存储在存储区的低位地址。n
- 中尾:3-4-1-2 顺序或 2-1-4-3顺序 (数字顺序与所参考的大尾双字中的字节顺序相对应)
通过使用 "Endian" 库将字和双字转换成为需要的字节顺序n
图. 01n
库包含了以下程序块 "Endian_B_DW", "Endian_D_DW" and "Endian_B_W"。n
Endian_B_DW
图. 02n
"Endian_B_DW"块将 "IN" 端双字的字节顺序转换成 "OUT" 端双字的字节顺序,此功能被用来将大尾形式存储的双字转换成小尾形式存储或相反。n
图. 03n
图. 03 显示了双字 VD0 = 16#1A2B3C4D 转换成双字 VD4 = 16#4D3C2B1A。双整型数 439.041.101与 16 进制数1A2B3C4D 和浮点数 3.541068*10^(-23) 是相一致的。n
Endian_W_DW
图. 04n
"Endian_W_DW" 块将 "IN" 端 双字中字的顺序转换成为 "OUT" 端双字中字的顺序。此功能将以大尾存储的双字转换为中尾3-4-1-2存储或相反。n
图. 05n
图. 05 显示了双字 VD0 = 16#1A2B3C4D 转换成为双字 VD8 = 16#3C4D1A2B。n
Endian_B_W
图. 06n
"Endian_B_W"块将 "IN" 端 字中的字节顺序转换成 "OUT" 端字中的字节顺序。此功能将以大尾存储的字转换成小尾存储或相反。如果将此功能用于双字中的两个字,就可以实现将大尾存储的双字转换成中尾2-1-4-3存储或相反。n
图. 07
图. 07显示了双字 VD0 = 16#1A2B3C4D转换成双字 VD8 = 16#2B1A4D3C。
下载:
下载后的"Endian.zip" 包含了 "endian.mwl" 库和例程 "Endian.mwp" (见图. 02, 04和 06).
Endian.zip ( 5 KB )
注释:
在 STEP 7 Micro/WIN 中加入库,请参看文档: 16689345。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc335862.html