PLC 存储区的大小端Big-Endian / Little-Endian以及字节在字、双字里的排序区别。一、先搞懂什么是大端、小端以一个16 位整数Word为例数据0x1234由两个字节组成高字节 0x120001 0010、低字节 0x340011 01001. 大端模式Big-Endian高字节存低地址低字节存高地址地址低 → 存0x12地址高 → 存0x34就像我们平时写数字高位在前低位在后。2. 小端模式Little-Endian低字节存低地址高字节存高地址地址低 → 存0x34地址高 → 存0x12二、PLC 里最典型的大小端区别1. 西门子 S7 系列最常用S7-200 / 200SMART小端Little-EndianS7-1200 / 1500 / 300/400大端Big-Endian2. 三菱、欧姆龙、基恩士基本都是大端Big-Endian3. 电脑、Modbus TCP、上位机 PC几乎都是小端Little-Endian所以上位机 ↔ PLC 通信经常要做字节反转根源就在这。三、字节排序直观对比重点以 16 位字0x1234为例存储在连续两个字节VB0、VB1表格模式VB0低地址VB1高地址实际值大端BE0x120x340x1234小端LE0x340x120x1234以 32 位双字0x12345678为例占用VB0、VB1、VB2、VB3表格模式VB0VB1VB2VB3实际值大端BE0x120x340x560x780x12345678小端LE0x780x560x340x120x12345678一句话总结读取VD00x12345678的实际值从高到低它由字节VB0-VB3组成大端字节顺序 从低到高书写顺序VB012,VB134,VB256,VB378小端字节顺序 书写顺序倒过来VB312,VB234,VB156,VB078字节是最小存取单位所以字节内的各个位顺序固定比如0x12永远是12。四、为什么 PLC 会有大小端差异CPU 架构决定早期 Intel x86 用小端摩托罗拉、ARM 常用大端PLC 厂商历史选择西门子 S7-200 用了类似 x86 结构 → 小端S7-1200/1500 重新设计 → 统一大端通信坑点Modbus 协议规定报文是大端但 S7-200 内部是小端⇒ 读上来会看到数值乱掉必须字节交换。五、工程上最实用结论S7-1200/1500、三菱、欧姆龙大端字节顺序和你写的十六进制一致不用反转。S7-200/SMART、PC 上位机小端字高低字节反转双字4 个字节整体倒序[B3,B2,B1,B0]通讯必记PC 读 PLC 1200/1500 数据需要字节反转PC 读 200SMART一般不用反转