CODESYS二次开发用户可能存在的常见问题进行总结。
一、在线调试变量显示错误
1.变量显示为???
原因:同时打开太多编辑器窗口超出软件负载,部分变量显示 ?
解决办法:关闭所有窗口重新打开,避免同时打开太多编辑器。
2.在线监控变量显示TRUE,但逻辑执行异常
codesys监控状态显示的是一周期执行完毕后的该变量最终结果。。
如下图,按监控状态所示,定时器IN状态应为TRUE,但显示为FALSE。
原因:本段程序上方或先执行的其他块中对VSUP_LC[1]或VSUP_RC[1]有置0操作,本段程序下方或之后执行的块中有置1操作.导致监控显示为1,执行本段时实际值为0.
二、库文档相关问题
1.库文档乱码
原因:CODESYS 3.5 SP17及以上版本不再默认安装 The Library Documentation support
解决办法:自行获取并安装对应package(更新:可以直接在codesys installer中选择对应版本进行下载...缺点是非常慢)
2.库文档inout消失
原因:库文档使用了restructuredtext进行库文档编辑时,变量注释不能存在中文,否则InOut不会生成。
解决办法:英文注释或抛弃InOut,自行restructuredtext或html制作表格。
三、程序下载异常
原因:通常为除0异常,编译的语法检查无法找出,运行到对应语句时会出现程序下载-异常。
解决办法:避免除0操作
四、IODrv相关
1.IODrv变量不刷新
原因:使用父设备设置时,只有在父设备application中调用的变量会进行实时刷新,未调用的变量不会在底层处理中上传下载。
解决办法:需要操作的变量增加到程序段中;或 使用父设备设置 切换为 使能2,一直在总线中循环。
2.IODrv输出类变量,再次下载程序时保持
现象:重新下载程序时,codesys变量会初始化,但IODrv中变量保持原值。(实际作业时由逻辑决定,一般不存在问题;自己调试测试多次下载时,输出状态保持存在风险)
操作:如下图所示,使用当前值配置为 设置所有输出为默认。
五、任务配置打开报错
现象:运行一段时间后,所用工程的任务配置双击打不开,报错exptovisit,value cannot be null error。
解决办法:该问题在3.5.17.30修复
后续想到再更新。