在S7-1200进行Modbus RTU通信中的ポーリング时间优化与故障処理

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

在S7-1200进行Modbus RTU通信中的ポーリング时间优化与故障処理
在S7-1200进行Modbus RTU通信中的ポーリング时间优化与故障処理イラスト

概述

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

在S7-1200进行Modbus RTU通信中的ポーリング时间优化与故障処理イラスト1

影响ポーリング时间的关键因素

  1. ボーレート設定:ボーレート越高,データ传输速度越快,从而缩短ポーリング时间。
  2. 通信データの量:每个站点的通信データの量越小,指令执行越快,ポーリング时间相应缩短。
  3. 站点数量:站点越少,所需処理的データの量越小,ポーリング时间更短。
  4. 通信距离:通信距离越短,可設定的ボーレート越高,有利于减少ポーリング时间。
  5. 各站点连接时间:连接时间越短,整体ポーリング时间越短。

各站点连接时间的优化

在Modbus RTU通信中,以下参数与“各站点连接时间”紧密相关:

  1. スレーブ応答時間 (RESPTO):指スレーブ对マスターリクエスト的応答時間。
  2. リトライ回数 (RETRIES):指初次连接応答なし。后,再次尝试连接的次数。
  3. マスター定时参数 (Blocked_Proc_Timeout):用于控制マスター在执行下一个機能ブロック或ポーリング下一个站点之前的待機中时间。

“各站点连接时间”的設定参数

1.信号干渉、硬件质量引起的スレーブ掉站、工程需暂时关闭站点等会增加“各站点连接时间”,使通信系统ポーリング时间大大延长;

2.ModbusRTU通信中与“各站点连接时间”相关的参数:

  • スレーブ応答時間RESP_TO;
  • リトライ回数RETRIES;
  • マスター定时参数Blocked_Proc_Timeout。

リトライ回数RETRIES

1.RETRIES参数的設定方法

  • 在機能ブロックMB_COMM_LOAD背景データ块可設定RETRIESparameter
  • マスター在戻る応答なし。エラー代码0x80C8 前的リトライ回数(デフォルト2次)
在S7-1200进行Modbus RTU通信中的ポーリング时间优化与故障処理イラスト2

2.RETRIES参数的含义

  • RETRIESパラメータテーブル示,初次连接応答なし。后,再次连接的次数。以デフォルト2次为例,实际尝试连接次数为3次;
  • 更改参数后,需要重新使能MB_COMM_LOAD機能ブロック的REQ管脚,否则更改参数不生效。

マスター定时 Blocked_Proc_Timeout

1.Blocked_ProcTimeout参数的設定方法

  • 若Done及Error均未置1时,需提供定时间在时间到达后置位以便执行下个機能ブロック或ポーリング下个站点。
  • MB_Master背景データ块提供了マスター定时参数(範囲(0Sto5.5S)
在S7-1200进行Modbus RTU通信中的ポーリング时间优化与故障処理イラスト3

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通信系统的效率。同时,合理設定スレーブ応答時間、リトライ回数和マスター定时参数,可以有效処理通信故障,保证系统的稳定运行。这对于提高工业自動化系统的性能和可靠性具有重要意义。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.