1问题描述
一个PLC站的FB,DB,FC,UDT是通过多个SCL源生成的,如下:
其中共享DB中用到了UDT类型,在编译时可选择先编译UDT的SCL源,再编译共享DB的SCL源,编译成功。
而在‘一致性检查‘的编译中报措:
错误信息:DB中数据类型为UDT的时间戳与逻辑块接口的时间戳不一致。
2 问题原因
在‘一致性检查‘的全部编译过程中,会将所有的源程序再编译一次,而编译的顺序取决于源文件名称:
造成先编译生成DB,后编译生成UDT,产生时间戳问题。
3解决办法
为解决此问题,可按照需要修改SCL源文件的名称使UDT的SCL源文件排在DB的SCL源文件的前面。
‘一致性检查’窗口的编译顺序发生变化:
全部编译结果:无错误