登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:程序加了打开数据块的指令后CPU就会停机
点击:822 回复:7
楼主
管理
jiouai84
如图程序,就是想实现度两个DB块的数据COPY,用的是间接寻址,主要是想学习实践一下ANY参数的解析和重构,但我的程序不对,图1的程序加了OPN DB[#O_DBNR]的两个打开数据块的指令后,CPU就会停机,不明白是那里有问题,我用的是仿真,请大神看看,谢谢。
最后修改:
2018/11/22 17:48:05
18-11-22 17:02
1楼
编辑
引用
管理
jiouai84
贴子发了两天了,自己顶起来,有版主大神能指点下么?
18-11-24 11:37
2楼
编辑
引用
管理
cvlsam
引用
jiouai84
在 2018/11/24 11:37:08 发言
【内容省略】
你需要首先贴出你的CPU的模块诊断信息,来看看停机原因。
Good Luck~
18-11-24 11:54
3楼
编辑
引用
管理
m7_Hugo
OPN DI ? 不能同时打开二个DB,打开DB1,读到ar1,打开db2,存入。
最后修改:
2018/11/24 14:53:27
18-11-24 14:44
4楼
编辑
引用
管理
cvlsam
我在Step7 V5.6 SP1,仿真版本PLCSIM V5.4 SP8中测试了楼主的代码,并没有发生停机。
或许楼主将源数据和目标数据都建立在IN引脚下而引发问题。
Good Luck~
18-11-26 13:31
5楼
编辑
引用
管理
cvlsam
我想楼主要实现SFC20的一些功能,因此我添加了代码,并增加了DB1和DB2。
在DB1中,我设定了初始值:
通过在OB1中调用FC1:
在模拟器中并没有出现问题:
模块诊断信息也证实了这一点:
在DB2的监控中,我得到了与DB1一样的结果:
因此,我认为楼主在建立ANY数据类型时,错误的将源数据和目标数据均建立在IN下面,而不是IN,OUT下面,因此导致程序的地址访问越界从而引发停机,即使添加OB121,虽然可以避免停机,但是DB2得不到正确的结果。
Good Luck~
18-11-26 13:40
6楼
编辑
引用
管理
jiouai84
感谢C版的详细指点,对于停机的原因,我在仿真的时候把DB2和DB3也下在到PLC中,就没有停机了,在FC调用是的实参赋值是P#DB3.DBX0.0 现在程序可以运行了,对与DB3的赋值我是用外部置位的方法,对DB3的d4改成了DINT,复制的数据也实现了SFC20的功能,ORIG和DEST的接口还是IN接口,这个对程序没有影响到,我看过其它的程序,也是都用的IN接口,不能确定接口的影响,还有是我设定的数据类型的报警好有错误输出,正在学习,再次感谢。
18-11-26 16:56
7楼
管理
蜀中之首
该帖内容不符合相关规定!
18-11-26 18:12
工控新闻
施耐德电气:以AI赋能自动化生产向自主化运营转型
图尔克TAS:工业物联网时代的智能运维中枢
破局人形机器人制造瓶颈!2025人形机器人先进制造技术论坛在株洲隆重举办
工业智能体玩转产线,到WAIC感受制造业的AI律动
优必选推出面向智能制造场景的全尺寸工业人形机器人Walker S2
如何在RK3576开发板上运行TinyMaix :超轻量级推理框架--基于米尔MYD-LR3576开发板
Vishay最新工业级3/8英寸方形单匝金属陶瓷微调器,优化PCB上的布局
伊戈尔定增注册获同意 拟于深交所上市
更多新闻资讯