有一个项目,使用的是s7-300plc作为profibus主站,与其它的profibus主站进行简单的数据交互。一段时间内,plc正常运行过程中,突然停车。cpu进入stop状态,导致数据交互停止。手动恢复一下(cpu拨码开关从run-stop-run)plc又可以运行。
下面具体硬件配置:
电源:ps307 5a
cpu:313c-2dp
以太网模块:cp 343-1 lean
dp/dp coupler
产生原因:
经咨询西门子客服,产生的原因,主要有一下可能:
① :profibus网络通讯错误;
② :s7-300接地不好;
③ :高频率干扰;
④ :安装机架及背板总线连接器松动,震动引起cpu与以太网模块通讯不正常;
⑤ :设置dp/dp coupler的波特率过高,在干扰较大的环境中,引起通讯故障;
解决方法:
根据产生的原因,分别进行相应的修改:
① :检测profibus dp接口,保证连接正常;
② :s7-300重新做接地,接地统一连接到导轨接地端,然后接地端再连接到电气柜的接地排上;
③ :紧固s7-300cpu、以太网模块的背板总线;
④ :把dp/dp coupler默认波特率(1.5m)修改为187.5k的波特率;
⑤ :加入组织块:ob82、ob86、ob121、ob122,防止通讯错误时,cpu跳变为stop状态(治标不治本的方法,不会解决通讯问题,但是会阻止cpu为stop问题)。
经过上述改造,系统恢复正常,是否能解决问题,需要继续观察。