PLC S7-1500 SQL-连接 - 接收到的数据移位 1 个字节 -- 为什么?

PLC S7-1500 SQL-Connection - received data shifted by 1 byte --why?

我已经成功地将 S7 1500 PLC 与 SQL-Server 结合使用了一段时间。 我像这里提到的那样设置一切: 今天我尝试向 SQL-Query 添加第二个参数。所以我做了这样的事情:

select Number1,Number2 from MYTABLE WHERE Apple = red and Sky = blue

S7 发送报文,SQL-服务器回复。到目前为止一切顺利。

我根据我的wireshark记录设置了TokenColumnMetaData的大小, 编译并将更新发送到我的 PLC。 现在我不明白的部分:

我希望收到值“12345” 所以我再次使用 wireshark 来查看我应该期待的内容:

所以我得到的是:39 30 00 00,也就是 12345,只是字节被颠倒了——到目前为止没问题,但是当我检查 S7 端时,我看到了这个:

我的输入被移动了 1 个字节。 我该如何解决这个问题? 不幸的是,我对西门子为此应用程序提供的代码没有更深入的了解。

编辑:

UseCaseSpecificTokenrow 类型的屏幕截图

当数据类型包含奇数个字节时,有时会发生奇怪的内存问题。

Siemens 在偶数内存地址上启动每个元素。因此,如果 Length 位于地址 0 而 Data 位于 2-5,则地址 1 可能正在获取用于数据

的第一个字节
Address Data Element
00 04 Length 0
01 39
02 30 Data 0, byte 0
03 00 Data 0, byte 1
04 00 Data 0, byte 2
05 08 Data 0, byte 3
06 47 Length 1
07 94
08 03 Data 1, byte 0
09 00 Data 1, byte 1
10 00 Data 1, byte 2
11 00 Data 1, byte 3
12 00 Length 2
13 00
14 FD Data 2, byte 0
15 10 Data 2, byte 1
16 00 Data 2, byte 2
17 C1 Data 2, byte 3