说明:
当与第三方系统通讯时(例如通过 Modbus 协议时), 由于在存储器中不同的字节顺序可能会导致通信的冲突。 S7-200 是以大尾形式存储:数据中的高字节存储在存储区的低位地址。其它的存储方式:
通过使用 "Endian" 库将字和双字转换成为需要的字节顺序

图. 01
库包含了以下程序块 "Endian_B_DW", "Endian_D_DW" and "Endian_B_W"。
Endian_B_DW

图. 02
"Endian_B_DW" 块将 "IN" 端双字的字节顺序转换成 "OUT" 端双字的字节顺序,此功能被用来将大尾形式存储的双字转换成小尾形式存储或相反。

图. 03
图. 03 显示了双字 VD0 = 16#1A2B3C4D 转换成双字 VD4 = 16#4D3C2B1A。双整型数 439.041.101 与 16 进制数1A2B3C4D 和浮点数 3.541068*10^(-23) 是相一致的。
Endian_W_DW

图. 04
"Endian_W_DW" 块将 "IN" 端 双字中字的顺序转换成为 "OUT" 端双字中字的顺序。此功能将以大尾存储的双字转换为中尾3-4-1-2存储或相反。

图. 05
图. 05 显示了双字 VD0 = 16#1A2B3C4D 转换成为双字 VD8 = 16#3C4D1A2B。
Endian_B_W

图. 06
"Endian_B_W" 块将 "IN" 端 字中的字节顺序转换成 "OUT" 端字中的字节顺序 。此功能将以大尾存储的字转换成小尾存储或相反。如果将此功能用于双字中的两个字,就可以实现将大尾存储的双字转换成中尾2-1-4-3存储或相反。

图. 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。