当前位置: 主页 > PLC控制

满分请教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:事件ID16#2522;读取时发生区域长度错误;全局DB,双字访问,访问地址:938;所需的OB:编程错误OB(OB121);优先级:12;内部错误,进入的事件”;
3.如果把程序下载PLC中,然后关闭计算机,啥问题都没了,工作正常;
4.“3”工作正常的情况下,一旦打开电脑,CPU又进入“2”中的错误;

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


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

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

问题补充:
DB_WORK_NODB_SEND_NODB_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,重新写入;

再次感谢各位!

  • 关注微信

猜你喜欢

微信公众号