该报错提示只支持4字节长度变量运行,通常先考虑是库编译时部分数据类型导致字节对齐异常。
可以尝试将使用到的变量通过属性强制为4字节对齐,尤其是数组及结构体:编程参考及示例: TwinCAT 3内存对齐规则 | 倍福虚拟学院。
尝试清除编译,再重新对程序进行编译。
尝试更换RunTime版本。由于需要使用CX7000的多功能IO功能,在该产品用户手册中的第4章有介绍,软件版本有要求必须高于4024.12版本。所以将程序版本更改为4024.29和4024.55版本再重新编译程序。
尝试切换Visual Studio的版本。根据以往调试经验,VS2013貌似在4024版本以下的使用起来没什么问题。
当我将“TwinCAT XAE(TcXaeShell)”版本的Visual Studio软件打开,在软件内Open Project,再重新编译代码后,此时报错信息就没有了。
当我将“TwinCAT XAE(VS2015)”版本的Visual Studio软件打开,在软件内Open Project,再重新编译代码后,此时报错信息也没有了。
唯独使用VS2013版本打开代码,编译代码时就会出现这个报错信息。关键是以前设备调试的时候,也是用VS 2013打开的代码,没有问题。考虑是CX7000系列PLC的架构设计与VS2013及之前的编程平台不兼容导致的。
建议使用TwinCAT XAE(TcXaeShell),或者VS2015及更高版本的编程平台。
在CX7000控制器的应用过程中,建议使用2015版本或以上的Visual Studio或者TcXaeShell进行编写,并且由于软件要求RunTime版本也需要使用4024.12或以上版本编程。
附CX7000用户手册:https://www.beckhoff.com.cn/zh-cn/products/ipc/embedded-pcs/cx7000-arm-r-cortex-r/cx7000.html?
2025.6.28 夏工(客户) 供稿