(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-14
(45)【発行日】2024-05-22
(54)【発明の名称】トリガ式通信をサポートするデータ処理システムおよび方法
(51)【国際特許分類】
H04L 12/28 20060101AFI20240515BHJP
G05B 19/05 20060101ALI20240515BHJP
G06F 13/10 20060101ALI20240515BHJP
G06F 13/38 20060101ALI20240515BHJP
G06F 13/42 20060101ALI20240515BHJP
【FI】
H04L12/28 200Z
G05B19/05 Z
G06F13/10 310Z
G06F13/38 330Z
G06F13/42 310
G06F13/42 320A
G06F13/38 320Z
(21)【出願番号】P 2023524205
(86)(22)【出願日】2021-08-24
(86)【国際出願番号】 CN2021114317
(87)【国際公開番号】W WO2022142402
(87)【国際公開日】2022-07-07
【審査請求日】2023-04-13
(31)【優先権主張番号】202011587988.8
(32)【優先日】2020-12-29
(33)【優先権主張国・地域又は機関】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】523009621
【氏名又は名称】中控技術股▲ふん▼有限公司
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際弁理士法人
(72)【発明者】
【氏名】石 瑩
(72)【発明者】
【氏名】林 様
(72)【発明者】
【氏名】王 暁▲てい▼
(72)【発明者】
【氏名】陳 文祥
(72)【発明者】
【氏名】董 丹娜
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2017-194804(JP,A)
【文献】特開2017-167595(JP,A)
【文献】特開平08-328636(JP,A)
【文献】米国特許第05167035(US,A)
【文献】特開2013-143077(JP,A)
【文献】特開2000-156680(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
G05B 19/05
G06F 13/10
G06F 13/38
G06F 13/42
(57)【特許請求の範囲】
【請求項1】
ユーザの要求に応じてコンフィギュレーション設定を行い、トリガ式通信命令に対応する命令制御語および命令番号を生成するステップS1と、
コントローラは、コンフィギュレーション設定に基づき、前記命令制御語、命令番号および出力データを含むリアルタイムデータをマスタステーションまたはクライアントに周期的に発行するステップS2と、
マスタステーションまたはクライアントは、コントローラから送信されたリアルタイムデータを傍受し、前記命令制御語に基づき、トリガ式通信命令の出力を許可するか否かを判断し、許可すれば、トリガ式通信命令を出力し、そうでなければ出力しないステップS3と、
マスタステーションまたはクライアントは、制御対象機器が前記トリガ式通信命令を実行する応答データを受信して、前記応答データを解析し、解析した命令実行番号および命令実行ステータスをコントローラにフィードバックするステップS4と、
コントローラは、命令の応答を待っているうちに、マスタステーションまたはクライアントからフィードバックされたデータを傍受し、命令実行番号に基づいて、外部制御対象機器の応答結果を算出して表示するか否かを判断し、命令実行番号が当該命令に対応する命令番号と一致すれば、制御対象機器の応答結果を算出して表示し、そうでなければ処理しないステップS5と、を含
み、
ステップS5では、コントローラはマスタステーションまたはクライアントから返されたデータを傍受する時、設定された時間閾値内にフィードバックデータが受信されていない場合、または受信した命令実行番号が当該命令に対応する命令番号と常に一致しない場合、命令応答タイムアウトとして処理することが含まれ、
ステップS3において、マスタステーションまたはクライアントは、コントローラから送信されたリアルタイムデータにおける命令番号の値が0であることを傍受した場合、初期ステータスであることを表し、この時、コントローラはマスタステーションまたはクライアントとリアルタイムデータを同期させると共に、マスタステーションまたはクライアントは命令制御語を無視する
ことを特徴とする、トリガ式通信をサポートするデータ処理方法。
【請求項2】
ステップS1において、前記命令番号の値の有効範囲は[1-255]であり、かつ新しいトリガ式通信命令のそれぞれに対応する命令番号は、既存値に1を加えた値であることを特徴とする、請求項
1に記載のトリガ式通信をサポートするデータ処理方法。
【請求項3】
ステップS4において、前記命令実行ステータスは、
初期値であるステータス1と、
応答あるトリガ式命令類に対応し、マスタステーションまたはクライアントが応答を受信した応答が正確であるステータス2と、
応答無しトリガ式命令類に対応し、マスタステーションまたはクライアントの送信が終了した送信終了であるステータス3と、
応答あるトリガ式命令類に対応し、マスタステーションまたはクライアントの受信がタイムアウトする応答タイムアウトであるステータス4と、を含むことを特徴とする、請求項
1に記載のトリガ式通信をサポートするデータ処理方法。
【請求項4】
分散型制御システムに応用されるトリガ式通信をサポートするデータ処理システムであって、
コンフィギュレーション設定に基づき、命令制御語、命令番号および出力データを含むリアルタイムデータをマスタステーションまたはクライアントに周期的に発行するために使用されるデータ発行ユニットと、
コンフィギュレーション設定に基づき、トリガ式通信命令の実行を制御する機能ブロックを含むユーザプログラムをスケジューリングするために使用されるプログラムスケジューリングユニットと、
制御対象機器の命令実行ステータスおよび命令実行番号を少なくとも含む応答データを受信してマスタステーションまたはクライアントに返すために使用されるデータ受信ユニットと、を備える命令スケジューリングモジュールと、
送信されたリアルタイムデータを傍受し、命令制御語および命令番号に基づいてトリガ式通信命令を出力するか否かを決定するために使用される命令出力ユニットと、
命令の実行を制御し、応答データを介して命令実行ステータスおよび命令実行番号をマスタステーションまたはクライアントに発行するために使用される命令実行ユニットとを備える命令実行モジュールと、
前記命令スケジューリングモジュールと命令実行モジュールとの間のデータマッピングおよび命令番号マッピングの設定を実現するために使用されるマッピング設定モジュールと、を含むことを特徴とする、トリガ式通信をサポートするデータ処理システム。
【請求項5】
前記機能ブロックは、トリガ式通信機能ブロックとして構成され、それは、
ユーザが通信命令をトリガする必要がある場合、前記機能ブロックに基づき、前記リアルタイムデータにおける命令制御語を書き換え、命令番号を自動的に生成することと、
命令の応答を待っているうちに、制御対象機器の応答データを傍受し、命令実行ステータスおよび命令実行番号に基づいて制御対象機器の応答結果を算出して表示するために使用されることを特徴とする、請求項
4に記載のトリガ式通信をサポートするデータ処理システム。
【請求項6】
機能ブロックが制御対象機器の応答データを傍受する時、設定された時間閾値内にフィードバックデータが受信されていない場合、または受信した命令実行番号が当該命令に対応する命令番号と常に一致しない場合、命令応答タイムアウトとして処理することを特徴とする、請求項
5に記載のトリガ式通信をサポートするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システムにおけるデータ通信の分野に関し、具体的にはトリガ式通信をサポートするデータ処理システムおよび方法に関する。
【背景技術】
【0002】
関連用語の説明
トリガ式通信:送信するデータがある時だけに送信を開始し、それ以外の場合はデータを送信しない。
トリガ式応答あり:データを外部機器に送信すると、外部機器から応答パケットを返す。
トリガ式応答無し:データを外部機器に送信した場合、外部機器から応答パケットを返さない。
Modbusプロトコル:電子コントローラに適用される共通言語。
カスタムプロトコル:ユーザの要求に応じて、ユーザが定義したプロトコルに従って通信する。
【0003】
既存の制御システムでは、制御端(クライアントまたはマスタステーション)と制御対象(外部機器)の間の通信は、通常、周期的な通信命令のみをサポートし、命令と命令の間は相互に独立し、設定された周期に従ってそれぞれ独立に実行される。しかし、いくつかのプロジェクトにおける特定の機器では、その操作過程は通常、ステップ1を行った後、ステップ2を行い、このようにサイクルで実行するプロセスである。例えば、外付けカードリーダーを接続する場合、カードリーダーを正常に動作させるために、まず初期化する必要があり、カードリーダーの初期化を実現するには3つの命令が必要である(命令の間には順序関係がある)。
【発明の概要】
【0004】
以上の技術的背景に基づき、本発明の目的は、周期的な通信を実現できると共に命令を段階的に実行できる、トリガ式通信をサポートするデータ処理システムおよび方法を提供することである。
【0005】
本発明の第1態様は、トリガ式通信をサポートするデータ処理方法を提供し、該方法は、
ユーザの要求に応じてコンフィギュレーション設定を行い、トリガ式通信命令に対応する命令制御語および命令番号を生成するステップS1と、
コントローラは、コンフィギュレーション設定に基づき、前記命令制御語、命令番号および出力データを含むリアルタイムデータをマスタステーションまたはクライアントに周期的に発行するステップS2と、
マスタステーションまたはクライアントは、コントローラから送信されたリアルタイムデータを傍受し、前記命令制御語に基づき、トリガ式通信命令の出力を許可するか否かを判断し、許可すれば、トリガ式通信命令を出力し、そうでなければ出力しないステップS3と、
マスタステーションまたはクライアントは、制御対象機器が前記トリガ式通信命令を実行する応答データを受信して、前記応答データを解析し、解析した命令実行番号および命令実行ステータスをコントローラにフィードバックするステップS4と、
コントローラは、命令の応答を待っているうちに、マスタステーションまたはクライアントからフィードバックされたデータを傍受し、命令実行番号に基づいて、外部制御対象機器の応答結果を算出して表示するか否かを判断し、命令実行番号が当該命令に対応する命令番号と一致すれば、制御対象機器の応答結果を算出して表示し、そうでなければ処理しないステップS5と、を含む。
【0006】
さらに、ステップS5では、コントローラがマスタステーションまたはクライアントから返されたデータを傍受する時、設定された時間閾値内にフィードバックデータが受信されていない場合、または受信した命令実行番号が当該命令に対応する命令番号と常に一致しない場合、命令応答タイムアウトとして処理することが含まれる。
【0007】
さらに、ステップS1において、前記命令番号の値の有効範囲は[1-255]であり、かつ新しいトリガ式通信命令のそれぞれに対応する命令番号は、既存値に1を加えた値である。
【0008】
さらに、ステップS3において、マスタステーションまたはクライアントは、コントローラから送信されたリアルタイムデータにおける命令番号の値が0であることを傍受した場合、初期ステータスであることを表し、この時、コントローラはマスタステーションまたはクライアントとリアルタイムデータを同期させると共に、マスタステーションまたはクライアントは命令制御語を無視する。
【0009】
さらに、ステップS4において、前記命令実行ステータスは、
初期値であるステータス1と、
応答あるトリガ式命令類に対応し、マスタステーションまたはクライアントが応答を受信した応答が正確であるステータス2と、
応答無しトリガ式命令類に対応し、マスタステーションまたはクライアントの送信が終了した送信終了であるステータス3と、
応答あるトリガ式命令類に対応し、マスタステーションまたはクライアントの受信がタイムアウトする応答タイムアウトであるステータス4と、を含む。
【0010】
本発明の第2態様は、分散型制御システムに応用されるトリガ式通信をサポートするデータ処理システムを提供し、該データ処理システムは、
コンフィギュレーション設定に基づき、命令制御語、命令番号および出力データを含むリアルタイムデータをマスタステーションまたはクライアントに周期的に発行するために使用されるデータ発行ユニットと、
コンフィギュレーション設定に基づき、トリガ式通信命令の実行を制御する機能ブロックを含むユーザプログラムをスケジューリングするために使用されるプログラムスケジューリングユニットと、
制御対象機器の命令実行ステータスおよび命令実行番号を少なくとも含む応答データを受信してマスタステーションまたはクライアントに返すために使用されるデータ受信ユニットと、を備える命令スケジューリングモジュールと、
送信されたリアルタイムデータを傍受し、命令制御語および命令番号に基づいてトリガ式通信命令を出力するか否かを決定するために使用される命令出力ユニットと、
命令の実行を制御し、応答データを介して命令実行ステータスおよび命令実行番号をマスタステーションまたはクライアントに発行するために使用される命令実行ユニットと、を備える命令実行モジュールと、
前記命令スケジューリングモジュールと命令実行モジュールとの間のデータマッピングおよび命令番号マッピングの設定を実現するために使用されるマッピング設定モジュールと、を含む。
【0011】
さらに、前記機能ブロックは、トリガ式通信機能ブロックとして構成され、それは、
ユーザが通信命令をトリガする必要がある場合、前記機能ブロックに基づき、前記リアルタイムデータにおける命令制御語を書き換え、命令番号を自動的に生成することと、
命令の応答を待っているうちに、制御対象機器の応答データを傍受し、命令実行ステータスおよび命令実行番号に基づいて制御対象機器の応答結果を算出して表示するために使用される。
【0012】
さらに、機能ブロックが制御対象機器の応答データを傍受する時、設定された時間閾値内にフィードバックデータが受信されていない場合、または受信した命令実行番号が当該命令に対応する命令番号と常に一致しない場合、命令応答タイムアウトとして処理する。
【0013】
本発明の有益な効果は以下のとおりである。
本発明に係るトリガ式通信をサポートするデータ処理方法およびシステムによれば、分散型制御システムにおける制御端と制御対象との間の周期的通信だけでなく、トリガ式通信も実現できるため、特定の対象のフロー式操作プロセスをサポートすることができる。また、本発明に係るデータ処理方法およびシステムは、ラック冗長モードでの命令通信をサポートするだけでなく、隣接冗長モードでの命令通信もサポートし、さらに、シングルカードモードでの命令通信もサポートし、応用シーンが柔軟である。一方、本発明に係るデータ処理方法およびシステムは、modbusトリガ式通信だけでなく、カスタムトリガ式通信もサポートし、さらに、トリガ式応答あり通信だけでなく、トリガ式応答なし通信もサポートし、応用範囲が広い。
【図面の簡単な説明】
【0014】
【
図1】本発明の実施例に係るトリガ式通信の構成を示す模式図である。
【
図2】本発明の実施例に係る、周期的に発行するリアルタイムデータのフレームフォーマットを示す図である。
【
図3】本発明の実施例に係る、受信した応答データのフレームフォーマットを示す図である。
【
図4】本発明の実施例に係るトリガ式通信命令機能ブロックを示す模式図である。
【
図5】本発明の実施例に係るトリガ式通信命令実行モジュールが命令の送信許可を問い合わせる操作フローを示す模式図である。
【
図6】本発明の実施例に係るトリガ式通信命令実行モジュールが外部機器の応答データおよびパケットをコントローラに送信する操作フローを示す模式図である。
【発明を実施するための形態】
【0015】
本発明をさらに理解するために、実施例を参照しながら本発明の好ましい実施形態を以下に説明するが、これらの説明は、本発明の特徴および利点をさらに説明するためのものに過ぎず、本発明の特許請求の範囲を限定するものではないことを理解すべきである。
【0016】
本発明の第1実施例は、トリガ式通信をサポートするデータ処理方法であり、以下のようなステップを含む。
【0017】
ステップ1では、ユーザの要求に応じてコンフィギュレーション設定を行い、トリガ式通信命令に対応する命令制御語および命令番号を生成する。
【0018】
命令番号の値の有効範囲は[1-255]であり、かつ新しいトリガ式通信命令のそれぞれに対応する命令番号は、既存値に1を加えた値である。
【0019】
ステップ2では、コントローラは、コンフィギュレーション設定に基づき、前記命令制御語、命令番号および出力データを含むリアルタイムデータをマスタステーションまたはクライアントに周期的に発行する。
【0020】
ステップ3では、マスタステーションまたはクライアントは、コントローラから送信されたリアルタイムデータを傍受し、前記命令制御語に基づき、トリガ式通信命令の出力を許可するか否かを判断し、許可すれば、トリガ式通信命令を出力し、そうでなければ出力しない。
【0021】
マスタステーションまたはクライアントは、コントローラから送信されたリアルタイムデータにおける命令番号の値が0であることを傍受した場合、初期ステータスであることを表し、この時、コントローラはマスタステーションまたはクライアントとリアルタイムデータを同期させると共に、マスタステーションまたはクライアントは命令制御語を無視する。
【0022】
ステップ4では、マスタステーションまたはクライアントは、制御対象機器が前記トリガ式通信命令を実行する応答データを受信して、前記応答データを解析し、解析した命令実行番号および命令実行ステータスをコントローラにフィードバックする。
【0023】
命令実行ステータスは、
初期値であるステータス1と、
応答あるトリガ式命令類に対応し、マスタステーションまたはクライアントが応答を受信した応答が正確であるステータス2と、
応答無しトリガ式命令類に対応し、マスタステーションまたはクライアントの送信が終了した送信終了であるステータス3と、
応答あるトリガ式命令類に対応し、マスタステーションまたはクライアントの受信がタイムアウトする応答タイムアウトであるステータス4と、を含む。
【0024】
ステップ5では、コントローラは、命令の応答を待っているうちに、マスタステーションまたはクライアントからフィードバックされたデータを傍受し、命令実行番号に基づいて、外部制御対象機器の応答結果を算出して表示するか否かを判断し、命令実行番号が当該命令に対応する命令番号と一致すれば、制御対象機器の応答結果を算出して表示し、そうでなければ処理しない。
【0025】
さらに、コントローラがマスタステーションまたはクライアントから返されたデータを傍受する時、設定された時間閾値内にフィードバックデータが受信されていない場合、または受信した命令実行番号が当該命令に対応する命令番号と常に一致しない場合、命令応答タイムアウトとして処理する。
【0026】
本発明の第2実施例は、分散型制御システムに応用されるトリガ式通信をサポートするデータ処理システムであり、該データ処理システムは、
コンフィギュレーション設定に基づき、命令制御語、命令番号および出力データを含むリアルタイムデータをマスタステーションまたはクライアントに周期的に発行するために使用されるデータ発行ユニットと、
コンフィギュレーション設定に基づき、トリガ式通信命令の実行を制御する機能ブロックを含むユーザプログラムをスケジューリングするために使用されるプログラムスケジューリングユニットと、
制御対象機器の命令実行ステータス、命令実行番号および機器応答データを含む応答データを受信してマスタステーションまたはクライアントに返すために使用されるデータ受信ユニットと、を備える命令スケジューリングモジュールと、
送信されたリアルタイムデータ
を傍受し、命令制御語および命令番号に基づいてトリガ式通信命令を出力するか否かを決定するために使用される命令出力ユニットと、
命令の実行を制御し、応答データを介して命令実行ステータスおよび命令実行番号をマスタステーションまたはクライアントに発行するために使用され、ここで、命令実行結果は1回だけコントローラに発行される命令実行ユニットと、を備える命令実行モジュールと、
前記命令スケジューリングモジュールと命令実行モジュールとの間のデータマッピングおよび命令番号マッピングの設定を実現するために使用されるマッピング設定モジュールと、を含む。
【0027】
本実施例では、前記の機能ブロックは特に、トリガ式通信機能ブロックを指し、ユーザが通信命令をトリガする必要がある場合、前記機能ブロックに基づき、前記リアルタイムデータにおける命令制御語を書き換え、命令番号を自動的に生成し、
命令の応答を待っているうちに、制御対象機器の応答データを傍受し、命令実行ステータスおよび命令実行番号に基づいて制御対象機器の応答結果を算出して表示する。
【0028】
さらに、機能ブロックが制御対象機器の応答データを傍受する時、設定された時間閾値内にフィードバックデータが受信されていない場合、または受信した命令実行番号が当該命令に対応する命令番号と常に一致しない場合、命令応答タイムアウトとして処理する。
【0029】
以下において、具体的な実施例により、本発明の解決手段をさらに詳細に説明する。
【0030】
図1に示すシステムでは、主に、クライアントまたはマスタステーション側に配置される命令スケジューラ(命令スケジューリングモジュール)、命令実行部(命令実行モジュール)、機能ブロック、および命令スケジューラと命令実行部との間のデータマッピングと命令番号マッピングの設定を実現するマッピング設定モジュールを備える。
【0031】
図2は、この具体的な実施例に係る周期的に発行するリアルタイムデータのフレームフォーマットを示す図であり、
StartはbyCtrlのbit7を表し、Startが変化した時に有効となり、ステータスの変化は送信のトリガを示す。
【0032】
bySeqは、送信命令と受信命令の1対1の対応関係を実現するために使用される。コントローラが1つのトリガ命令をマスタステーションまたはクライアントに送信するが、マスタステーションまたはクライアントからの前回の応答結果を受信する可能性があるため、機能ブロックが誤判定する恐れがある。この状況の発生を防ぐために、bySeqの概念が導入され、機能ブロックがトリガ命令を実行するたびに、bySeqに1を加える。特に、機能ブロックがbySeqを0に設定することができず、すなわち、その有効範囲は[1-255]であることに注意すべきである。bySeqが0の場合は初期ステータスであることを表し、コントローラがオフラインでダウンロードする時、コールドスタートする時、瞬時停電する時、トリガ式通信命令を追加する時に発生する。マスタステーションまたはクライアントがコントローラから発行されたリアルタイムデータを受信した時、bySeqが0であることを検出した場合、コントローラが上記の動作を行ったことを表し、マスタステーションまたはクライアントとリアルタイムデータを同期する必要があり、この時、マスタステーションまたはクライアントはStart制御字を無視し、byCtrlフィールドおよびbySeqフィールドを更新する。
【0033】
図3は、この具体的な実施例における受信した応答データのフレームフォーマットを示す図であり、
1)byStatusはステータスワードの記述であり、
0x00 ――初期値である。
0x01 ――応答が正確であり、応答あるトリガ式命令類に対応し、マスタステーションまたはクライアントが応答を受信した。
0x02 ――送信終了であり、応答無しトリガ式命令類に対応し、マスタステーションまたはクライアントの送信が終了した。
0x03 ――応答タイムアウトであり、応答あるトリガ式命令類に対応し、マスタステーションまたはクライアントの受信がタイムアウトする。
【0034】
2)bySeqは命令実行番号であり、有効範囲は[1-255]であり、初期値は0x00である。
マスタステーションまたはクライアントは、命令応答を処理した後、コントローラから送信されたリアルタイムデータにおけるbySeq命令番号をそのまま返す。
機能ブロックが命令応答データを傍受する時、送信したbySeqと受信したbySeq値が一致する場合にのみ、byStatusステータスをさらに処理することができ、一致しない場合、マスタステーションまたはクライアントは当該命令が処理されていないことを意味する。
機能ブロックが命令応答データを傍受する時、送信したbySeqと受信したbySeqが一致しない時間は設定時間(機能ブロックコンフィギュレーションパラメータ)より長い場合、命令応答タイムアウトとして処理する。
【0035】
3)byDataLenは機器からの応答データの長さであり、
機器またはサーバからの応答データの長さ(機器の応答データの長さは場合によって異なる)。
【0036】
4)byModeモードでbit7が1の場合は命令実行部がオンラインであることを表し、0の場合は命令実行部がオンラインでないことを表し、機能ブロックは、命令実行部がオンラインでないことを判断した場合、トリガ命令を送信しない。
【0037】
図4は、この具体的な実施例におけるトリガ式通信機能ブロックを示す模式図である。
【0038】
機能ブロックでは、トリガ式通信の設定を簡略化するために、1つの機能ブロックを1つのトリガ式命令に対応させ、ユーザが1つの命令を外部機器に送信しようとする場合、機能ブロックTrigによって
図2のStart信号を変化させ、かつbySeqに1を加算してマスタステーションまたはクライアントに送信する。外部応答データを受信した場合、マスタステーションまたはクライアントは受信したデータを処理し、受信したbySeqをデータ領域の最初の4バイトに再割り当てし、フォーマットで埋めてコントローラに送信し、機能ブロックは各命令の応答領域データを解析して表示し、Recvは、正常な応答パケットを受信したことを表し、RspLenは受信したデータ長を表し、タイムアウト時間内に応答データを受信していない場合、TimeOutをONにする。命令と命令のスケジューリング関係は、ユーザによってロジックを作成し、機能ブロックが関与する必要がない。機能ブロックに関連するデータ領域は、
図3に示すフォーマットを有する、命令に対応する応答リアルタイムデータ領域や、
図2に示すフォーマットを有する、命令に対応する送信したトリガ命令データ領域などの3つの部分を有する。
【0039】
機能ブロックのコンフィギュレーションに設定された命令タイムアウト時間は、ここでは、機能ブロックが命令をトリガしてから、どのぐらいマスタステーションまたはクライアントからのパケットを受信しない時に、機能ブロックTimOutをONにする時間を指す。
【0040】
図5は、この具体的な実施例におけるトリガ式通信命令実行部が命令の送信許可を問い合わせる操作を示すフローチャートである。
【0041】
本実施例では、全ての命令を2msタスクに入れて周期的にスケジューリングし、bySeqおよびStart信号に基づいて、マスタステーションまたはクライアントによる外部機器への送信を許可するか否かを判断する。s_bValid[byCmdID]は、命令番号がbyCmdIDの時に対応するコンフィギュレーションが更新されたかどうかのステータスフラグであり、コントローラにおけるbySeqおよびStart信号を同期するかどうかを判断するために使用される。このビットが0である場合、今回のスケジューリングは同期機能に過ぎず、信号をトリガすることができないことを意味し、このビットが0でない場合、このトリガ信号が正式にトリガされることを意味する。bySeqが0であるかどうかを判断し、yesの場合、モジュールがオフラインダウンロード、コールドスタート、ホットリセット、瞬時停電、トリガ式通信命令追加の状態にあることを表し、Start制御字の同期を実行する。bySeq[byCmdID]は、記録した前回のトリガ有効信号の番号値であり、今回のトリガ信号が前回と同じであれば、機能ブロックが新しいトリガ命令を発行していないことを表し、このため、今回のトリガは破棄されるものとし、同じでなければ、新しいトリガ信号があることを表し、今回のトリガ信号をbySeq[byCmdID]に記録して、Start[byCmdID]ステータスを同期的に更新し、今回の新しいトリガ信号の命令番号を返し、かつ当該命令番号に対応するリアルタイムデータを外部機器に送信する。
【0042】
図6は、この具体的な実施例におけるトリガ式通信命令実行部が外部機器の応答データおよびパケットをコントローラに送信する操作を示すフローチャートである。
【0043】
以上の実施例の説明は、本発明の方法とその中心思想の理解を支援するためのものに過ぎない。当業者にとって、本発明の原理から逸脱することなく、本発明に対していくつかの改良および修正を行うことができ、これらの改良および修正も本発明の特許請求の保護範囲に含まれるものとすることに留意されたい。