liyongcj
电镀自动生产线程序,电控服务
级别: 略有小成
精华主题: 0
发帖数量: 105 个
工控威望: 345 点
下载积分: 544 分
在线时间: 78(小时)
注册时间: 2008-03-16
最后登录: 2023-09-12
查看liyongcj的 主题 / 回贴
楼主  发表于: 2021-01-13 20:56
请教大师,
使用Eval指令,经常出错,导致PLc报警,请问有什么办法,
下面是手册的介绍内容,却不知道怎么才能屏蔽错误,,多灵数时候能正常 ,但偶尔出一次错误,整台机都停下来,要命
(1) 在以下发生运行错误的情况中,错误标志(SM0)变为 ON,并且错误代码存储在 SD0 上。
整数部分或者小数部分含有一个不在“30H”(0)到“39H”(9)范围之内的字符。
(错误代码: 4100)
字符“2EH”(.)在由 D 指定的字符串中出现了两次或两次以上。 (错误代码: 4100)
该值的指数部分包含有“45H”(E),“2CH”(+)或“45H”(E),“2DH”(-)之外的字符,或
者有不止一个指数。 (错误代码: 4100)
转换后的数据不在以下范围内: (错误代码: 4100)
0, ±2-126 |转换后的数据| < ±2 128 “00H”代码没有在 S 到相关软元件的范围内出现。 (错误代码: 4101)
字符串中的字符数是 0 或大于 24。 (错误代码: 4100)
电镀设备自动化
sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 237 个
工控威望: 407 点
下载积分: 987 分
在线时间: 167(小时)
注册时间: 2008-08-23
最后登录: 2024-05-22
查看sjbandmm的 主题 / 回贴
1楼  发表于: 2021-01-13 21:57
我的办法是把ascii用wtob分解到数据寄存器中,然后根据实际数据的可能,判断下是否正确,如果有错就忽略数据,小数点一般是固定位置的,判断下就行了。