登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:200smart 间接寻址错误问题

点击:1679 回复:6

本人在学校学过一段时间PLC,准备用它做毕业设计,程序中有一段是使用指针在一段地址中循环存储数据(VB100—VB109),模拟时发现了这个问题,困扰了我一天,情况是这样的:
 首先程序编译没问题,初始运行前几位写入也没有问题,但是后面到了最后几位或者再次循环的前几位开始,就再也无法写入数据了,不一定是哪一位开始,这是最困扰我的,后来在监控运行的过程中我无意间检查看了PLC状态,发现里面的非致命错误中显示了间接寻址错误(如图1),我查看帮助说是可能是在程序执行过程中被改为一个指向超出范围的地址(如图三),这是什么意思没看懂。
另外在后面几次模拟时,我着重又关注了PLC状态,有时候数据写入出错时,会显示间接寻址错误,有时又不显示。
后来我把这一段程序单独拿出来运行,监控了十几分钟也没出错!!??
这是什么原因啊啊啊啊啊?求大佬指点迷津或者给点思路也行!!!!
注:图二的程序就是在PLC状态中提示的间接寻址错误发生的位置。就是这一段,我没看出有什么问题啊!!!
附件 1.jpg
附件 2.jpg
附件 3.jpg
21-03-28 16:30
求大佬给点思路,我现在脑子已经宕机了表情
21-03-28 16:41
VD90是多少?
21-03-28 21:15
给源程序
21-03-28 21:38
vd90怎么复位为零,vb16等于5或等于6持续多久,如果好多个扫描周期都通,那vd90就不断累加,同一个数值就存入多个寄存器,可以各加一个上升沿
21-03-29 09:18
这个子程序的使能只接通一个扫描周期,不用上升沿。VB90我下面用了一个计数器来复位,运行和循环起来都没问题,出故障的时候可能已经在下一个循环的后几位了,不一定是在哪一位。求指点
21-03-29 10:55
谢谢大家的解答,我好像找到问题了,我原先是把触发条件设定为了子程序的使能端,并且只接通一个周期,我现在改为把使能常闭,令加了一个输入为触发条件,现在运行了十几分钟没问题了,我也是蠢,四个差不多的子程序后面的有输入就好用,前面的没有输入就不好用我居然没关注过,话说子程序的使能端的设置有什么要求吗?
21-03-29 11:30

工控新闻

更多新闻资讯