【CODESYS】-软件Bug与处理方法(20240710更)

问题1、莫名其妙的数组越界 ,调试的过程中修改FB时出现

解决办法:将索引定义在数组之前。

-------------------------------------------------分割线-------------------------------------------------

问题2、程序轴突然挂掉,全部Errorstop,复位后可正常运行。

解决办法:将IO从站放在主站后,或者重新给IO配置一个Task。设置FreeRun模式

如果以上不能解决,再增加总线周期。如将500us加到1000us。

上述为程序崩溃时,可使用Call Stack查看崩溃在哪个程序和哪一行,非常方便。

-------------------------------------------------分割线-------------------------------------------------

问题3:符号表Build后,下载程序报内存报错,不能下载

解决办法:关闭符号表配置,重新打开,重新Build。

问题4:网络视图不能打开,本地视图正常运行。端口正常使用

解决办法1:网络起始视图不可以有中文名称,Codesys软件bug

解决办法2:界面显示使用了数组,程序内部没有对数组进行保护。例如数组定义是Ary[1..10]。实际使用时,传入了Ary[0],或者Ary[11]。一般是程序在进行数据记录,累加索引参数,可以通过隐式检查,找到对应程序行

问题5:读取6041状态字 发生功能块报错

解决办法:在轴建立通讯后再调用该功能块执行,即可成功读取

问题6:Bool类型和Byte类型做联合体读不到数据

解决办法:Bool在Codesys中定义为1个字节,需要读byte类型的二进制位Bool值,直接用上图用法读即可。

问题7:codesys的SM3_Basic库报错,需要源代码支持

问题原因:MC功能块取到了轴的空值或轴的空指针

解决办法:将所有轴有关的轴指针,放到程序引用的最开头,以防止空指针的问题.

问题8:找不到控制的IP

问题原因:已知网段不知道具体IP

解决办法:在CMD输入以下脚本,回车执行

@for /l %i in (1,1,255) do @ping -n 1 -w 40 192.168.1.%i & if errorlevel 1 (echo 192.168.1.%i>>na.txt) else (echo 192.168.1.%i>>act.txt)

按enter键开始查询(也可直接复制命令到cmd窗口);

其中“0%丢失”的就是目前在线的主机IP地址,100%丢失则代表无法ping通,说明主机不在线。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值