S7-1200 Modbus rtu通讯常见问题9
做通讯项目难免会遇到一些棘手的问题,尤其是新入门槛的同行,一旦遇到问题往往会被当前的问题困扰而束手无策,自己很难找到问题的所在,一时抓狂、苦恼,如果放弃,这个问题将成为永远的问题。
最近,Modbus通讯这方面的各种项目相对做的比较多,也触碰过几次所谓的“雷”。只是这几次雷遇到的都比较典型,过程写一下,方便给大家一个案例参考。
近期,集团公司要求各公司在能源管理上添加电量、天然气流量等的数据采集,必须上公司的云平台,每天上午8点整统计、分析每天个设备的能源使用情况,及OEE设备利用率的统计分析。在给其中一台设备添加无线采集功能时,出现了一件棘手的问题。
设备描述:
该设备为园型旋转加热炉,控制器配置S7-1215C +部分I/O扩展模块及模拟量控制模块,驱动器为ABB变频器带RS485和 富士温控器控制等与CB1241 RS485连接。原电能电量统计、天然气流量计、循环风机、旋转驱动电机、及部分设备仪表采用CB1241 RS485通讯信号板扩展,利用通讯方式读、写各从站的数据,设备自去年4份投运,且使用读、取数据一直正常,尤其是RS485通讯这块运行也一直正常着。
通讯问题故障分析:
为添加无线采集模块,拟给天然气流量计先驳接到公司云平台,需要将天然气流量计数据在与原plc通讯的前提下,新增加将数据上传到公司云平台,由此信号方面我增加了一个RS485功分器。自添加功分器无线采集数据功能后,与设备关联的其它设备一直故障不断,使我顿感棘手,首先,是一周前,关联设备的西门子数控ONE系统,自主轴驱动器保养后,重新上电过程中,NCU系统报警显示5,报警系统无法识别IP。断电重新上电2次,报警依旧。想起在主轴驱动器拆下送制造商维保期间,这个无线采集数据功能添加的,是否是这个功能的创建与原IP地址冲突了,一时无法找到其它可能的原因,只能暂时先拔掉新增加的无线采集通讯线。再返回设备断电重启,居然系统启动成功,NCU一阵启动过程后,数码管显示6正常,OP屏也能够进入用户界面了,启动设备系统,启动液压站,调用NCK加工程序,启动自动运行,一连串启动下来,并没有出现问题,因为生产任务急,暂时抛开这个无线采集功能,先让设备运行起来,而不延误生产。
几天的正常生产后,趁生产换模间隙,我将原来暂时抛开的天然气流量采集功能重新创建,将天然气流量计的RS485通讯电缆连接到功分器M2端子,看HMI设备上用户管理上的天然气流量数据,没有显示变化,说明通讯链路没有建立,因为这个功能自去年投运运行一直是正常的,由此,抛开通讯程序的逻辑关系,仅仅只是硬件连接的关联。想想西门子的CB1241 RS485通讯信号板与其它第三方的仪表连接对应关系的TA/TRA 对应第三方仪表信号B,TB/TRB对应第三方仪表信号A,由此,实际连接按这个规律落实接线,可是,无论我怎么样换通讯极性,与plc的通讯就是无法创建,无功而返的一个上午,在燥热的车间汗流浃背淌过去了,工控人的辛苦只有自己知道啊。
回到办公室,感觉很失落。总以为无论那种通讯问题,在我面前都不是问题的我,今天居然也掉坑了,还掉的我仍然无序,没有一点解决问题的思路。连接没有问题的,这个我一定是确认的。
是否是同事前几天在调试无线采集的功分器,动了通讯参数?因为同事还在出差中,也不便打电话问,于是,我拿出新的功分器,重新判断确认各通道的通讯参数,9600bps、 8个数据位、1个停止位、无校验,这些耳熟能详的通讯参数一遍遍的检查确认,仍然没有看出有什么不妥之处。干脆,拿一台plc,找一个仪表做一个测试程序试试,通讯程序很快创建后,连接硬件确认后,看测试程序能够实现通讯数据的交互。难到是功分器的硬件连接plc的通道问题?因为,无线采集数据使用一直也是正常能够读取到数据的。
下午,整理好心情,把这个测试的功分器带到现场,重新连接,检查确认连接极性后,给功分器上电,看到功分器的通讯指示灯有闪烁,返回到HMI设备天然气流量计的数据仍然没有更新,其它电量数据是变化的,说明功分器的流量计数据仍然无法建立通讯。这个功分器我在办公室测试是可以的,唯一的区别是现场设备的RS485通讯连接,图示:

一种典型的星型连接,虽然对于RS485通讯连接是不提倡的,但是这种连接方式一年多来,通讯工作始终是正常运行的,难道是这个原因,与办公室测试比较也只能是这个原因了,办公室测试都是一对一的连接方式。即天然气流量计连接到功分器的S1的A/B端子,而无线采集数据模块连接功分器的M1的A/B端子,而原plc天然气流量计连接在功分器的M2的A/B端子。区别只是这里的M2端子关联了设备原这些从站,且连接是星型连接的。由于,生产任务紧,实施只能等待到设备换模或者维修间隙再进行。
想想还是不死心,大热的天,赶来敢去忙碌了快一天了,各自的测试都确认了,到现场连接就是无法建立,窝心的很。转眼一想,试试直接连接的方式,就是把M2的A/B通讯线,不经过功分器,直接连接到天然气流量计的信号端子S1的A/B端子上,看数据变化情况。说干就干,几根导线的连接很快就好了,一番可靠性确认后,再次给功分器上电,到HMI屏上看天然气流量数据,这次居然在变化了,说明通讯是建立起来了,不管怎么样连接是否合理,至少这样的连接可以建立与plc的通讯连接,说实在已经是直连了,再不能够建立连接我都想砸了这些模块了,天气热人的火气也会旺的。
观察一段时间的数据,运行还算稳定。为可靠起见,我发微信信息给公司同事,让他监控无线数据采集的M1端子通讯数据采集运行情况,很快返回的信息是自下午2点多后,通讯中断一直没有连接成功,这个时间段也应该是我直接连接的那段时间,哎呀呀,通讯啊通讯您老人家怎么难伺候呢?这里刚刚创建连接上,那边又断开了。但是,有一点思路就是原通讯连接的星型连接问题,我一定会找时间把它改为手拉手方式的。另一个可疑问题是功分器是否对这样的星型连接,引起必要的阻抗匹配问题了,同样的功分器一对一测试都是正常的。
万般无奈之下,我为确认自己的判断,我打开了功分器内部电路板,发现功分器的S1原通讯信号侧与M1/M2通讯输出侧,均采用耦合变压器实现信号的传递,图示:

变压器耦合,功分器的原信号侧S1,和分配后的信号侧M1/M2均属于低阻抗连接特性,多回路的并联输入,会使RS485的信号电平拉低而失效,所以,我之前无论怎么样调换信号的极性,通讯一直无法建立也在常理之中的,显然,采用功分器连接在此不符合连接要求了。早先确定的采用功分器分离原其中的RS485信号方案,在此应用不成熟,需要重新确定。
2025年7月6日星期日整理