在硬件FM458,用CFC编程时使用RGJ功能块执行错误,经常使用CFC编程的高手看过来。

我使用的软件版本,CFC是7.1 D7SYS也是V7.1,程序在运行过程中,调用的RGJ功能块经常出现错误,Y的输出值偶尔不可控地无限增加或减小(一直在变化),当出现问题时,在线测试发现X输入负值时(已经设置成输出等于输入),但Y经常会不跟随X的变化,而是自动往上累加(正值),咨询了西门子客服,参数设置没有问题,并且重新编译下载后常能暂时解决这个问题!

问题补充:
以前遇到这种情况重新编译后下载后面就很少出现问题,但是最近这次遇到后,错误会反复出现,只要把设定值直接给负的就出现了,但是如果先给定一个大于零的值,然后再给定负值,就输出正常。我分析是否是存储空间的原因或者是RJG的bug?咨询西门子的工程师的时候听说他们的现场调试人员也遇到过这个现象,这里是否有也遇到过这个问题的朋友,请问你们是如何解决的?谢谢

最佳答案

初步怀疑是RGJ内部变量被意外改写了,因为重新下载程序后现象消失。
对于参数设置,西门子校验没有问题,那可以初步排除这个因素。
还有一个可能的情况是,RGJ功能块所在任务超时,建议检查运行时间和设定。
检查一下程序,是否用指针时候,错误的地址导致背景数据被意外修改。

提问者对于答案的评价:
原因还是没找到,谢谢

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc244922.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午11:39
下一篇 2018年12月1日 下午11:39

相关推荐