字节序即为多字节对象存储在内存中的字节顺序,有两种不同的存储打算:大端法和小端法。现代的处置器大多为双端法,大小端都允许,可以性能称大端法或许小端法。大端法:最高有效字节在最前面的形式称为大端法,例如假定变量x类型为int型,位于地址0x100的中央,其16进制值为0x12345678,地址范畴为0x100到0x103字节。关于大端法的机器来说:由上图可见,地址从左向右增长,x的最高有效字节12在最前面存储。这正好和咱们往常书写习气分歧,先书写最高有效字节,再依次写其他字节。小端法:最低有效字节在最前面的形式成为小端法,这正好和大端法同样,依然用大端法中举的例子说明:由上图可见,地址依然从左向右增长,x的最低有效字节在最前面存储,与大端法同样。ABB机器人中,自动驳回小端法存储。而ProfiBus/Profinet和InterBus经常使用大端法(即西门子PLC驳回大端法)此时若ABB发送32bit的组输入255(即最低字节为0XFF),西门子PLC间接纳到的32bit对应的DWORD为4278190080(即如下图所示的高下字节颠倒了)为处置此疑问,ABB机器人在发送组输入时,方法一:性能IO地址时,人为颠倒,如下图,这样setgo go2,255时,ABB机器人输入的组输入智能高下字节颠倒,西门子PLC接纳到也为255方法二:不修正IO性能,而是驳回如下packrawbyte语句启动高下字节的处置,即驳回unpackrawbyte指令中的Network参数,此参数会依照大端法启动数据处置。注:Network参数只要与可选参数 \IntX - UINT、UDINT、ULINT、INT、DINT、LINT和\Float4在一同时才存在关联性。PROCtest1()setdata\bSiemens,gout1,255;ENDPROC PROCsetdata(\switch bSiemens,VAR signalgo goutput,dnum>
本帖子中蕴含更多资源
您须要
登录
才可以下载或检查,没有账号?
注册哦
|