
概述
在S7-1200 Modbus RTU通信网络中,当包含多个スレーブ站点时,ポーリング必须逐一読み書き各站点データ。本記事将探讨影响整体ポーリング时间的因素,并提出相应的优化策略和故障処理方法。

影响ポーリング时间的关键因素
- ボーレート設定:ボーレート越高,データ传输速度越快,从而缩短ポーリング时间。
- 通信データの量:每个站点的通信データの量越小,指令执行越快,ポーリング时间相应缩短。
- 站点数量:站点越少,所需処理的データの量越小,ポーリング时间更短。
- 通信距离:通信距离越短,可設定的ボーレート越高,有利于减少ポーリング时间。
- 各站点连接时间:连接时间越短,整体ポーリング时间越短。
各站点连接时间的优化
在Modbus RTU通信中,以下参数与“各站点连接时间”紧密相关:
- スレーブ応答時間 (RESPTO):指スレーブ对マスターリクエスト的応答時間。
- リトライ回数 (RETRIES):指初次连接応答なし。后,再次尝试连接的次数。
- マスター定时参数 (Blocked_Proc_Timeout):用于控制マスター在执行下一个機能ブロック或ポーリング下一个站点之前的待機中时间。
“各站点连接时间”的設定参数
1.信号干渉、硬件质量引起的スレーブ掉站、工程需暂时关闭站点等会增加“各站点连接时间”,使通信系统ポーリング时间大大延长;
2.ModbusRTU通信中与“各站点连接时间”相关的参数:
- スレーブ応答時間RESP_TO;
- リトライ回数RETRIES;
- マスター定时参数Blocked_Proc_Timeout。
リトライ回数RETRIES
1.RETRIES参数的設定方法
- 在機能ブロックMB_COMM_LOAD背景データ块可設定RETRIESparameter
- マスター在戻る応答なし。エラー代码0x80C8 前的リトライ回数(デフォルト2次)

2.RETRIES参数的含义
- RETRIESパラメータテーブル示,初次连接応答なし。后,再次连接的次数。以デフォルト2次为例,实际尝试连接次数为3次;
- 更改参数后,需要重新使能MB_COMM_LOAD機能ブロック的REQ管脚,否则更改参数不生效。
マスター定时 Blocked_Proc_Timeout
1.Blocked_ProcTimeout参数的設定方法
- 若Done及Error均未置1时,需提供定时间在时间到达后置位以便执行下个機能ブロック或ポーリング下个站点。
- MB_Master背景データ块提供了マスター定时参数(範囲(0Sto5.5S)

2.スレーブ応答時間参数与マスター定时参数違いはありません
- スレーブ応答時間参数RESP_TO针对スレーブ応答時間,マスター定时参数Blocked_Proc_Timeout则是针对マスター的定时时间;
- マスター定时可防止单个MB_Master指令独占/锁定对ポート的アクセス
Modbus延迟よくある質問
1.由于某一个スレーブ掉站,引起ポーリング的周期时间延长这种情况下该如何减小此影响?
- S7-1200可同时调整スレーブ応答時間参数和リトライ回数参数,用于减小Modbusスレーブ掉站/暂时关闭而增大的ポーリング周期时间;
- 可根据项目实际工况适当减小スレーブ応答時間RESP_TO。由于这一时间无法估算,建议多次测试,確認每个スレーブ都能够正常稳定连接情况下,将此时间設定得尽量小。
- 以設定500ms为例:将RETRIES設定为0。即对于每个スレーブマスター只尝试连接一次,总计耗时500ms。
2.MB_MASTER报错8200(ポート正忙于処理传送リクエスト)这种情况下该如何処理?
- 该情况DONE/ERROR未置位,与后续MB_MASTER冲突导致;
- 确保接通下个MBMASTER时间大于Blocked Proc Timeout所设定的时间(デフォルト时间为3S)
结论
経由对ボーレート設定、通信データの量、站点数量、通信距离、各站点连接时间等关键因素的优化,可以显著提高Modbus RTU通信系统的效率。同时,合理設定スレーブ応答時間、リトライ回数和マスター定时参数,可以有效処理通信故障,保证系统的稳定运行。这对于提高工业自動化系统的性能和可靠性具有重要意义。
Leave a Reply