登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:程序加了打开数据块的指令后CPU就会停机
点击:827 回复: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
工控新闻
达索工业软件项目公司揭牌 南京智能制造迈上快车道
台达重磅发布11款工业自动化新品 以“N+种可能”驱动制造业数智跃迁
施耐德电气:以开放的、软件定义的自动化重塑工业企业生产运营
支持MES系统终端集成!华北工控PPC-3317QL助力制造企业数智化转型升级
西克2025 快闪海报 - 重点产品 - 安全激光扫描仪 nanoScan3
奥比中光拟定增21.87亿元:加码机器人视觉技术,能否夯实3D感知第一梯队地位
汇聚热爱 驱动未来!第二届“汇川杯”全国智能自动化创新大赛总决赛,苏州见!
罗克韦尔自动化推出 PointMax I/O ,助力灵活工业系统设计并降低运营复杂性
更多新闻资讯