大家好!
由于我想在PLC掉电或下次启动时将当前位置信息赋给DB数据块,我想在OB100中去实现,但没成功,我想PLC调用OB100时,PLC还在初始化,没有启动,现场数据无法读到PLC中,所以失败。不知道是不?
为了能在PLC启动后立刻将现场数据给DB数据,我在OB100中设置了一个中继M0.0,通过常闭实现自启动,就是置位M0.0,在OB1中通过M0.0的上升沿将现场的数据给DB数据块。在以前这样是要你管好好的,但最近发现不能实现这个功能了,PLC启动后DB数据块的数据是很大的数,都超设置的数据类型了,这是什么原因?有更好的办法吗?谢谢!!
问题补充:
大家好!
我是在OB100中使用M0.0常闭来置位M0.0的,在OB1中通过M0.0的上升沿出发MOV来给DB赋值的,但出现DB数据不能成功赋值。我想可能的原因是MOV的输入IN数据在M0.0上升沿到来时,它的数据还没有通过DP总线采集回来的缘故导致的,我是通过MOV将总线上绝对编码器的当前值给DB,可能PLC启动后,编码器数值还没有传到PLC,而M0.0上升沿已过了,所以赋给DB是个随机数。大家认为哪?
最佳答案
1、在OB100中进行初始化是最佳的选择。
2、我想PLC调用OB100时,PLC还在初始化,没有启动,现场数据无法读到PLC中,所以失败。不知道是不?
你的担心是多余的。当运行OB100,一定可以完成在B100中的所有指令。将将当前位置信息赋给DB数据块是没有问题的。
见详见《组织块使用说明》下载:
http://218.93.112.166/ec/C23/dl/xxzl/%E7%BB%84%E7%BB%87%E5%9D%97%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.pdf
3、PLC启动后DB数据块的数据是很大的数,都超设置的数据类型了,这是什么原因?
这是PLC启动后,这个DB数据块被赋予了新的的值,是你的程序问题。
4、有更好的办法吗?
在OB100中进行初始化是最佳的选择。
提问者对于答案的评价:
回答正确
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc234506.html