ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ECAT应用层字节长度不一致问题及解决方案,al status 0x0014 read and 0x0008 expected, AL Status Code “0x001B“ - Sync mana

ECAT应用层字节长度不一致问题及解决方案,al status 0x0014 read and 0x0008 expected, AL Status Code “0x001B“ - Sync mana ECAT应用层字节长度不一致问题及解决方案,al status 0x0014 read and 0x0008 expected AL Status Code “0x001B” - Sync manager watchdog文章目录ECAT应用层字节长度不一致问题及解决方案,al status 0x0014 read and 0x0008 expected AL Status Code 0x001B - Sync manager watchdog前言一、问题描述二、解决方法1.把BOOL换成BYTE2.检查ESI文件是否把对齐的字节写入更改pad字节虽然是用来字节对齐但是也是要进行传输**读写属性必须要配置**这里不知道是SSC工具问题还是5003-2040给出的模板不是最新问题导致 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/304b084f21054732b302b8c293168178.png)总结前言在定义5003-2040字典遇到应用字节长度不一致的解决方案图中定义参数可参考5003-2040不是自己定义的使用TwinCAT连接从站报错al status 0x0014 read and 0x0008 expected AL Status Code “0x001B” - Sync manager watchdog倍福官方错误提示也看到帖子这里找不到说是直接换成BYTE就好给了一个方向一、问题描述在字典表格中定义了BOOL数据类型在TwinCAT中BOOL类型在ECAT中通常按照位处理但在传输数据中按照字节对齐可能导致长度不匹配。在连接的时候TwinCAT就会报错看门狗错误al status0x0014read and0x0008expected AL Status Code0x001B-Sync manager watchdog这里TwinCAT读取的字节居然有小数我觉得不应该出现小数传输是按照字节进行传输有没有大佬说一下小数出现正常吗二、解决方法第一步先检查所有的BOOL变量长度是否16 bit对齐如果没有则进行pad_X进行字节对齐。第二步**重要**上面没有问题则检查生成的ESI文件是否按照定义的BOOL 、 BIT、pad_等对齐1.把BOOL换成BYTE当看到Twincat读取到带有小数字节数就很怀疑传输不是按照1个字节来传输的吗解决方案1就把BOOL改成BYTE进行验证其他所有都是一样配置那就是这个长度出现问题有了方向如果没有必须把参数设置成BOOL或者BIT的话可直接按照BYTE定义这样TwinCAT读取到的size是整数。2.检查ESI文件是否把对齐的字节写入是长度问题字典检查过是16 Bit 对齐逐一排查ESI 这个模块的参数发现用来对齐的pad没有写入进来那么就会导致TwinCAT读取的字节不是整数左边是没有把对齐字节Pad_x写入到ESI 文件中右边是写入的很明显Twincat读取左边的时候字节数就会变成小数导致与从站的字节长度不一致从而报错更改pad字节虽然是用来字节对齐但是也是要进行传输读写属性必须要配置这里不知道是SSC工具问题还是5003-2040给出的模板不是最新问题导致总结虽然但是这是在这个过程遇到一个问题而且通过数据表征定位问题解决问题
返回列表