满分请教PLC通信问题

硬件:两台315-2dp,没有cp342-5模块,组成的冗余系统。

 网络组成:电脑通过profibus线连接到cpu的MPI口,从MPI上rs485-90出来连接到另外一个cpu的MPI口。两个cpu通过dp口分别链接到ET200M的两个IM153-2。

 现象:
 1.  OB100中调用的fc100,如果冗余的数据MB, IEC, DB, DB_A_B_NO, DB_B_A_NO的“长度”均设置成零,那么整个冗余系统能工作,可以通过断电或者是DB5.DBX10.0进行冗余切换;
 2.  如果以上任何一个数据长度不为零,两个cpu一开启就必然有一个cpu进入stop模式,缓冲区指示:一系列的“读取和写入区域长度错误”+“由优先级系统引起的stop模式”。比如:“事件 2 / 100:  事件 ID 16# 2522; 读取时发生区域长度错误; 全局 DB,双字访问, 访问地址:   938; 所需的 OB:编程错误 OB (OB121); 优先级:12;内部错误, 进入的事件”;
 3.  如果把程序下载到PLC中,然后关闭计算机,啥问题都没了,工作正常;
 4.  “3”工作正常的情况下,一旦打开电脑,CPU又进入“2”中的错误;

 备注:第“2”中的现象,除了冗余必须的程序外,没有任何其它程序也会出错;第“3”中的现象,即使OB35中有冗余程序段,也不会出错。

 
 请教大家:
 1.  以上现象,是因为我的电脑造成的,还是因为没有CP模块造成的。

 以前已经请教过大家好几次了,再麻烦大家一下

问题补充:
DB_WORK_NO DB_SEND_NO DB_RCV_NO不是说“用户不需要生成该数据块,也不使用该数据块的数据”吗,我的块中看不到DB1-DB3

最佳答案

1、软冗余可以通过MPI、DP、TCP/IP等方式进行同步,所以并不是因为没有CP模块造成的。

  2、如果修改冗余数据<MB, IEC, DB, DB_A_B_NO, DB_B_A_NO>的长度,CPU重启前务必将自动生成的DB块<DB_WORK_NO、DB_SEND_NO、DB_RCV_NO>在线删除,否则系统无法自动生成新的DB块,从而导致<读取和写入区域长度错误>。

  3、计算机会引起CPU工作不正常??这点倒是很奇怪。

 补充:是在线Online查看。

提问者对于答案的评价:
感谢各位的热心回答,尤其是dcount的qq联系和西门子技术人员,都非常热心!最终调试成功了:

 cpu1和cpu2的软冗余通信,均采用a1b1-a1b1,计算机到cpu1采用a1b1-a2b2;

 改变fc100的参数后,吧ob35里面的fb101删除重新写入;

 删除db5,重新写入;

 再次感谢各位!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc177256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月19日
下一篇 2017年6月19日

相关推荐