各位大侠,项目要求,当一个标志得电,相对应的数值开始执行减去0.5的过程,循环执行。当此标志失电,则停止减去0.5的过程。自己编的程序中,当标志得电,总是导致PLC故障,因此循环无法执行。请教各位大侠,是否有更好的办法解决
产品版区:SIMATIC S7-1200
悬赏西币:5 | 解决时间:2016-10-08 14:27:59 | 提问者: hmysiemens - 学长  第2级
最佳答案
回答者:
zhangli0
-
超级顾问  第15级
2016-09-30 13:16:20
提问者对于答案的评价:
谢谢各位,问题已经解决了!
专家置评
已阅,最佳答案正确。
置评专家:西门子自动化产品支持 2016-10-08 14:30:47
0.5是实数类型的,,,也就是说你的数据都是实数类型的才可以
第二点需要用上升沿和下降沿来做,否则你一个扫描周期会加减一次谢谢
回答者: 忘却817 - 初级技术员  第5级
2016-09-30 11:17:12
当标志得电,总是导致PLC故障,因此循环无法执行,运算有问题吧,是不是0.5的格式类型有问题,另外,有没有引用OB82,OB86,OB100,OB121
回答者: 月雨 - 中级工程师  第10级
2016-09-30 11:41:37
建议查看CPU的诊断缓冲区,报的是什么错误,根据错误在判断是编程方面的什么问题。
回答者: 三木子 - 初级技术员  第5级
2016-09-30 11:55:22
为什么不按1减呢。
回答者: 秀空 - 初级工程师  第9级
2016-09-30 12:12:14
从分析原因的最理性的角度来说,应该先从CPU诊断缓冲区,查看导致CPU停机的具体原因。
从楼主描述的问题来讲,基本上说是编程的问题导致。应该还不是数据类型的问题,如果是数据类型有问题,编译会出错,也就无法下载到CPU执行了。应多检查逻辑上的问题,是否是循环程序的循环条件控制有问题?若是一直执行加减运算会导致溢出。CPU因此停机。
回答者: caochengxin - 高级技术员  第7级
2016-09-30 12:52:37
每个标志条用一个FC块,每一个FC块内执行周期性减运算,
回答者: jiajia_lilin - 助理工程师  第8级
2016-10-01 22:20:53
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!