IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 長江三峡集団実業発展(北京)有限公司の特許一覧 ▶ 中国長江三峡集団有限公司の特許一覧

特許7592926プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置
<>
  • 特許-プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置 図1
  • 特許-プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置 図2
  • 特許-プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置 図3
  • 特許-プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置 図4
  • 特許-プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置 図5
  • 特許-プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置 図6
  • 特許-プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-22
(45)【発行日】2024-12-05
(54)【発明の名称】プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置
(51)【国際特許分類】
   G05B 19/05 20060101AFI20241128BHJP
【FI】
G05B19/05 J
【請求項の数】 13
【外国語出願】
(21)【出願番号】P 2024112464
(22)【出願日】2024-07-12
【審査請求日】2024-08-30
(31)【優先権主張番号】202310995611.3
(32)【優先日】2023-08-09
(33)【優先権主張国・地域又は機関】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】524248094
【氏名又は名称】長江三峡集団実業発展(北京)有限公司
(73)【特許権者】
【識別番号】520414480
【氏名又は名称】中国長江三峡集団有限公司
(74)【代理人】
【識別番号】100146374
【弁理士】
【氏名又は名称】有馬 百子
(72)【発明者】
【氏名】康 暁非
(72)【発明者】
【氏名】王 崢瀛
(72)【発明者】
【氏名】王 杰
(72)【発明者】
【氏名】朱 強
(72)【発明者】
【氏名】王 乾
【審査官】田中 友章
(56)【参考文献】
【文献】特開2002-358102(JP,A)
【文献】特許第7241989(JP,B1)
【文献】国際公開第2019/064348(WO,A1)
【文献】国際公開第2015/136973(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法であって、
複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分けるように、複数の前記プログラマブルロジックコントローラタスクを分類するステップであって、前記第1タイプのタスクのタスク所要時間は、前記第2タイプのタスクのタスク所要時間よりも長いステップと、
第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成するステップであって、前記第1優先度は、前記第2優先度よりも高いステップと、
前記第3タイプのタスク、前記第4タイプのタスク、前記第5タイプのタスク、及び前記第6タイプのタスクに応じて、第3タイプのタスクと第4タイプのタスクのいずれか、及び5タイプのタスクと第6タイプのタスクのいずれかを含む各タスク試験グループを設定するステップと、
各前記タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各前記タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得るステップと、
各前記タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定するステップと、を含み、
前記第3タイプのタスク、前記第4タイプのタスク、前記第5タイプのタスク、及び前記第6タイプのタスクに応じて、各タスク試験グループを設定する前記ステップは、
前記第3タイプのタスクと前記第5タイプのタスクを含む第1タスク試験グループと、
前記第3タイプのタスクと前記第6タイプのタスクを含む第2タスク試験グループと、
前記第4タイプのタスクと前記第5タイプのタスクを含む第3タスク試験グループと、
前記第4タイプのタスクと前記第6タイプのタスクを含む第4タスク試験グループと、を含み、
各前記タスク試験グループにおける各タスクの第1所要時間結果に基づいて、前記プログラマブルロジックコントローラタスクのスケジューリング方式を決定する前記ステップは、
第2タスク試験グループにおける前記第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける前記第5タイプのタスクの第1所要時間結果が異なる、及び/又は前記第2タスク試験グループにおける前記第6タイプのタスクの第1所要時間結果と前記第3タスク試験グループにおける前記第4タイプのタスクの第1所要時間結果が異なる場合、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングであるステップと、
前記第2タスク試験グループにおける前記第3タイプのタスクの第1所要時間結果と前記第3タスク試験グループにおける前記第5タイプのタスクの第1所要時間結果が同じであり、かつ、前記第2タスク試験グループにおける前記第6タイプのタスクの第1所要時間結果と前記第3タスク試験グループにおける前記第4タイプのタスクの第1所要時間結果が同じである場合、前記プログラマブルロジックコントローラタスクのスケジューリング方式が非優先度スケジューリングであるステップと、を含む、ことを特徴とするプログラマブルロジックコントローラタスクのスケジューリング方式のテスト方法。
【請求項2】
前記プログラマブルロジックコントローラタスクのスケジューリング方式が前記優先度スケジューリングである場合、各前記タスク試験グループにおける各タスクの第1所要時間結果に基づいて、前記プログラマブルロジックコントローラタスクがプリエンプティブ優先度スケジューリングであるか否かを決定するステップを含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記タスク試験グループにおける各タスクの第1所要時間結果に基づいて、前記プログラマブルロジックコントローラタスクがプリエンプティブ優先度スケジューリングであるか否かを決定する前記ステップは、
前記第1タスク試験グループにおける前記第5タイプのタスクの第1所要時間結果と、前記第1タスク試験グループにおける前記第3タイプのタスクの第1所要時間結果との差が、第1予め設定された値よりも大きい場合、前記プログラマブルロジックコントローラタスクはプリエンプティブ優先度スケジューリングであるステップを含む、ことを特徴とする請求項2に記載の方法。
【請求項4】
前記プログラマブルロジックコントローラタスクが非優先度スケジューリングである場合、
設定された第1タイムスライスに基づき、各前記タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各前記タスク試験グループにおける各タスクの第3所要時間結果をそれぞれ得るステップと、
設定された第2タイムスライスに基づき、各前記タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各前記タスク試験グループにおける各タスクの第4所要時間結果をそれぞれ得るステップと、
前記第1所要時間結果、前記第3所要時間結果、及び前記第4所要時間結果に基づいて、前記プログラマブルロジックコントローラタスクがタイムスライスラウンドロビン・スケジューリングであるか否かを判断するステップと、をさらに含む、ことを特徴とする請求項1に記載の方法。
【請求項5】
前記タイムスライスは、各前記タスク試験グループにおける各タスクの動作開始からプリエンプトされるまでの時間であり、前記第1タイムスライスは前記第2タイムスライスよりも大きい、ことを特徴とする請求項4に記載の方法。
【請求項6】
前記第1所要時間結果、前記第3所要時間結果、及び前記第4所要時間結果に基づいて、前記プログラマブルロジックコントローラタスクがタイムスライスラウンドロビン・スケジューリングであるか否かを判断する前記ステップは、
第1タスク試験グループにおける前記第3タイプのタスクの前記第1所要時間結果が、前記第1タスク試験グループにおける前記第3タイプのタスクの前記第3時間所要結果未満、かつ前記第1タスク試験グループにおける前記第3タイプのタスクの前記第4所要時間結果未満である場合、前記プログラマブルロジックコントローラタスクがタイムスライスラウンドロビン・スケジューリングであるステップを含む、ことを特徴とする請求項4に記載の方法。
【請求項7】
複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分けるように、複数の前記プログラマブルロジックコントローラタスクを分類する前記ステップは、
前記プログラマブルロジックコントローラタスクの走査周期を設定するステップと、
前記プログラマブルロジックコントローラタスクの実際の所要時間と前記走査周期との差が第2予め設定された値よりも大きいか否かを判断するステップと、
前記プログラマブルロジックコントローラタスクの実際の所要時間と前記走査周期との差が第2予め設定された値よりも大きい場合、前記プログラマブルロジックコントローラタスクは第1タイプのタスクであるステップと、
前記プログラマブルロジックコントローラタスクの実際の所要時間と前記走査周期との差が前記第2予め設定された値以下である場合、前記プログラマブルロジックコントローラタスクは第2タイプのタスクであるステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項8】
第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクを作成する前記ステップは、
前記第1タイプのタスクに第1優先度パラメータを付与して、前記第3タイプのタスクを得るステップと、
前記第2タイプのタスクに第1優先度パラメータを付与して、前記第4タイプのタスクを得るステップと、
前記第1タイプのタスクに第2優先度パラメータを付与して、前記第5タイプのタスクを得るステップと、
前記第2タイプのタスクに第2優先度パラメータを付与して、前記第6タイプのタスクを得るステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項9】
各前記タスク試験グループにおける各タスクの所要時間をそれぞれ算出する前記ステップは、
各前記タスク試験グループにおける各タスクの、予め設定されたタスク実行の時間合計を表す予定実行時間を取得するステップと、
各前記タスク試験グループにおける各タスクが1回実行されるごとにカウンタのカウントに1を加算し、前記予定実行時間の実行が終了するとカウントを停止し、合計カウントを得るステップと、
前記予定実行時間と前記合計カウントとの商から各前記タスク試験グループにおける各タスクの所要時間を得るステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項10】
各前記タスク試験グループにおける各タスクの所要時間をそれぞれ算出する前記ステップは、
各前記タスク試験グループにおける各タスクの実行が開始されると、タイマを制御して計時を開始させるステップと、
各前記タスク試験グループにおける各タスクの実行が終了すると、タイマを制御して計時を終了させるステップと、
タイマの計時結果に基づいて、各前記タスク試験グループにおける各タスクの所要時間を得るステップと、を含む、ことを特徴とする請求項1又は9に記載の方法。
【請求項11】
プログラマブルロジックコントローラタスクのケジューリング方式のテスト装置であって、
複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分けるように、複数の前記プログラマブルロジックコントローラタスクを分類するタスク分類モジュールであって、前記第1タイプのタスクのタスク所要時間は、前記第2タイプのタスクのタスク所要時間よりも長い、タスク分類モジュールと、
第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成するタスク作成モジュールであって、前記第1優先度は、前記第2優先度よりも高い、タスク作成モジュールと、
前記第3タイプのタスク、前記第4タイプのタスク、前記第5タイプのタスク、及び前記第6タイプのタスクに応じて、第3タイプのタスクと第4タイプのタスクのいずれか、及び5タイプのタスクと第6タイプのタスクのいずれかを含む各タスク試験グループを設定するタスク試験グループ設定モジュールと、
各前記タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各前記タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得る所要時間算出モジュールと、
各前記タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定するスケジューリング方式決定モジュールと、を含み、
前記タスク試験グループ設定モジュールは、前記第3タイプのタスク、前記第4タイプのタスク、前記第5タイプのタスク、及び前記第6タイプのタスクに応じて、各タスク試験グループを設定することに用いられ、
前記第3タイプのタスクと前記第5タイプのタスクを含む第1タスク試験グループと、
前記第3タイプのタスクと前記第6タイプのタスクを含む第2タスク試験グループと、
前記第4タイプのタスクと前記第5タイプのタスクを含む第3タスク試験グループと、
前記第4タイプのタスクと前記第6タイプのタスクを含む第4タスク試験グループと、を含み、
前記スケジューリング方式決定モジュールは、各前記タスク試験グループにおける各タスクの第1所要時間結果に基づいて、前記プログラマブルロジックコントローラタスクのスケジューリング方式を決定することに用いられ、
第2タスク試験グループにおける前記第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける前記第5タイプのタスクの第1所要時間結果が異なる、及び/又は前記第2タスク試験グループにおける前記第6タイプのタスクの第1所要時間結果と前記第3タスク試験グループにおける前記第4タイプのタスクの第1所要時間結果が異なる場合、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングであるステップと、
前記第2タスク試験グループにおける前記第3タイプのタスクの第1所要時間結果と前記第3タスク試験グループにおける前記第5タイプのタスクの第1所要時間結果が同じであり、かつ、前記第2タスク試験グループにおける前記第6タイプのタスクの第1所要時間結果と前記第3タスク試験グループにおける前記第4タイプのタスクの第1所要時間結果が同じである場合、前記プログラマブルロジックコントローラタスクのスケジューリング方式が非優先度スケジューリングであるステップと、を含む、ことを特徴とするプログラマブルロジックコントローラタスクのケジューリング方式のテスト装置。
【請求項12】
メモリと、プロセッサと、を含み、前記メモリと前記プロセッサは、相互に通信可能に接続され、前記メモリにコンピュータ命令が記憶されており、前記プロセッサは、前記コンピュータ命令を実行することによって、請求項1~10のいずれか一項に記載のプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法を実行する、ことを特徴とするコンピュータ機器。
【請求項13】
請求項1~10のいずれか一項に記載のプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法をコンピュータに実行させるためのコンピュータ命令が記憶されている、ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラマブルロジックコントローラの技術分野に関し、具体的には、プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法及び装置に関する。
【背景技術】
【0002】
産業用制御の分野では、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)のタスク実行の信頼性に対する要件が高く、特に、最も重要なインフラストラクチャでは、データ収集とユニット制御にPLCが使用されることから、PLCタスク動作の正確性と確実性を確保することも重要である。例えば、発電所では自動制御にPLCが使用されることが多く、PLCタスクのスケジューリングの確実性が高く求められる。
【0003】
実際の使用では、複数のPLCタスクが同時に現れる場合があり、各PLCタスクを実行するときにのみ、各PLCタスクのスケジューリング方法を決定でき、PLCタスク実行時のスケジューリング方式に問題がある場合、解決策はさらに複雑になる。したがって、PLCタスクのスケジューリング方式をテストすることは、非常に重要な研究課題となっている。現在、PLCタスクのスケジューリング方式をテストするための研究はほとんどなく、PLCタスクのスケジューリング方式をテストするための完全な方法はない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
以上を鑑み、本発明は、プログラマブルロジックコントローラタスクのスケジューリング方式をテストする課題を解決するためのプログラマブルロジックコントローラタスクのスケジューリング方式のテスト方法及び装置を提供する。
【課題を解決するための手段】
【0005】
第1態様では、本発明は、
複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分けるように、複数のプログラマブルロジックコントローラタスクを分類するステップであって、第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い、ステップと、
第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成するステップであって、第1優先度は、第2優先度よりも高い、ステップと、
第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクに応じて、第3タイプのタスクと第4タイプのタスクのいずれか、及び5タイプのタスクと第6タイプのタスクのいずれかを含む各タスク試験グループを設定するステップと、
各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得るステップと、
各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定するステップと、を含む、プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法を提供する。
【0006】
有益な効果は以下の通りである。本発明では、複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分け、第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い。第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成し、第1優先度は、第2優先度よりも高い。第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクに応じて、各タスク試験グループを設定する。各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得る。各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定する。本発明は、各プログラマブルロジックコントローラタスクを分類し、各タスク試験グループを設定し、各タスク試験グループの所要時間を算出し、所要時間によってプログラマブルロジックコントローラタスクのスケジューリング方式をテストするものであり、各プログラマブルロジックコントローラタスクの実行時にのみ各プログラマブルロジックコントローラタスクのスケジューリング方式を決定することができる従来技術に対し、本発明は、プログラマブルロジックコントローラタスクのスケジューリング方式を事前にテストし、プログラマブルロジックコントローラタスクのスケジューリング方式に誤った場合に適時に調整することができる。
【0007】
代替実施形態では、第1タスク試験グループは、第3タイプのタスクと第5タイプのタスクを含み、第2タスク試験グループは、第3タイプのタスクと第6タイプのタスクを含み、第3タスク試験グループは、第4タイプのタスクと第5タイプのタスクを含み、第4タスク試験グループは、第4タイプのタスクと第6タイプのタスクを含む。
【0008】
有益な効果は以下の通りである。第1タスク試験グループは、タスク優先度の確実性を検証することに用いられ、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が第1タスク試験グループにおける第3タイプのタスクや第6タイプのタスクの第1所要時間結果よりはるかに小さい場合、第3タイプのタスクの優先度が第6タイプのタスクの優先度よりも高いことを示し、第4タスク試験グループは比較試験として用いられ、第2タスク試験グループと第3タスク試験グループは、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングであるか否かを決定することに用いられ、第4タスク試験グループは対照グループとして用いられる。
【0009】
代替実施形態では、第2タスク試験グループにおける第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第5タイプのタスクの第1所要時間結果が異なる、及び/又は第2タスク試験グループにおける第6タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第4タイプのタスクの第1所要時間結果が異なる場合、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングであり、第2タスク試験グループにおける第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第5タイプのタスクの第1所要時間結果が同じであり、かつ、第2タスク試験グループにおける第6タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第4タイプのタスクの第1所要時間結果が同じである場合、プログラマブルロジックコントローラタスクのスケジューリング方式が非優先度スケジューリングである。
【0010】
有益な効果は以下の通りである。第2タスク試験グループにおける第3タイプのタスクと第3タスク試験グループにおける第5タイプのタスクは、優先度が異なり、所要時間が同じであり、第2タスク試験グループにおける第6タイプのタスクと第3タスク試験グループにおける第5タイプのタスクは、優先度が異なり、所要時間が同じであり、したがって、第2タスク試験グループにおける第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第5タイプのタスクの第1所要時間結果が異なる場合、及び/又は第2タスク試験グループにおける第6タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第4タイプのタスクの第1所要時間結果が異なる場合、優先度の違いが試験グループの所要時間結果に影響を与えることを示し、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングであると判断することができる。第2タスク試験グループにおける第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第5タイプのタスクの第1所要時間結果が同じであり、かつ、第2タスク試験グループにおける第6タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第4タイプのタスクの第1所要時間結果が同じである場合、優先度の違いが試験グループの所要時間結果に影響を与えないことを示し、プログラマブルロジックコントローラタスクのスケジューリング方式が非優先度スケジューリングであると判断することができる。
【0011】
代替実施形態では、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングである場合、各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクがプリエンプティブ優先度スケジューリングであるか否かを決定する。
【0012】
代替実施形態では、第1タスク試験グループにおける第5タイプのタスクの第1所要時間結果と、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果との差が、第1予め設定された値よりも大きい場合、プログラマブルロジックコントローラタスクはプリエンプティブ優先度スケジューリングである。
【0013】
有益な効果は以下の通りである。第1タスク試験グループにおける第5タイプのタスクと第1タスク試験グループにおける第3タイプのタスクとの所要時間レベルが同じであり、第3タイプのタスクの優先度が第5タイプのタスクの優先度よりも高く、第1タスク試験グループにおける第5タイプのタスクの第1所要時間結果と第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果との差が第1予め設定された値よりも大きい場合、第3タイプのタスクの第1所要時間結果が第5タイプのタスクの第1所要時間結果よりもはるかに小さいことを示し、すなわち、第5タイプのタスクの実行時に第3タイプのタスク、すなわち優先度のより高いタスクが現れた場合、第3タイプのタスクは、第5タイプのタスクよりも優先的に実行されることで、第3タイプのタスクの待ち時間を短縮し、したがって、第1タスク試験グループにおける第5タイプのタスクの第1所要時間結果と第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果との差が第1予め設定された値よりも大きい場合、プログラマブルロジックコントローラタスクがプリエンプティブ優先度スケジューリングであることを示す。
【0014】
代替実施形態では、プログラマブルロジックコントローラタスクが非優先度スケジューリングである場合、設定された第1タイムスライスに基づき、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第3所要時間結果をそれぞれ得て、設定された第2タイムスライスに基づき、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第4所要時間結果をそれぞれ得て、第1所要時間結果、第3所要時間結果、及び第4所要時間結果に基づいて、プログラマブルロジックコントローラタスクがタイムスライスラウンドロビン・スケジューリングであるか否かを判断する。
【0015】
代替実施形態では、タイムスライスは、各タスク試験グループにおける各タスクの動作開始からプリエンプトされるまでの時間であり、第1タイムスライスは第2タイムスライスよりも大きい
【0016】
代替実施形態では、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第3時間所要結果未満、かつ第1タスク試験グループにおける第3タイプのタスクの第4時間所要結果未満である場合、プログラマブルロジックコントローラタスクがタイムスライスラウンドロビン・スケジューリングである。
【0017】
有益な効果は以下の通りである。タイムスライスは、各タスク試験グループにおける各タスクの動作開始からプリエンプトされるまでの時間であり、タイムスライスが設定された第3所要時間結果及び第4所要時間結果の場合、タイムスライスが設定されていない第1所要時間結果と比較して、タイムスライスが設定されることにより、タスク実行中、タイムスライスが設定された時間に到達すると、タスクがプリエンプトされる。従って、タイムスライスが設定される場合の所要時間が、タイムスライスが設定されていない場合の所要時間よりも長く、すなわち、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が最も小さい。タイムスライスを第1タイムスライスとして設定し、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果を算出し、タイムスライスを第2タイムスライスとして設定し、第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果を算出し、第1タイムスライスは第2タイムスライスよりも大きい。タイムスライスのサイズがより小さくなると、タスクの切り替えが頻繁になり、かつ時間もよりかかる。したがって、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果未満かつ第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果未満である場合、プログラマブルロジックコントローラタスクはタイムスライスラウンドロビン・スケジューリングである。
【0018】
代替実施形態では、プログラマブルロジックコントローラタスクの走査周期を設定し、プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が第2予め設定された値よりも大きいか否かを判断し、プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が第2予め設定された値よりも大きい場合、プログラマブルロジックコントローラタスクは第1タイプのタスクであり、プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が第2予め設定された値以下である場合、プログラマブルロジックコントローラタスクは第2タイプのタスクである。
【0019】
代替実施形態では、第1タイプのタスクに第1優先度パラメータを付与して、第3タイプのタスクを得て、第2タイプのタスクに第1優先度パラメータを付与して、第4タイプのタスクを得て、第1タイプのタスクに第2優先度パラメータを付与して、第5タイプのタスクを得て、第2タイプのタスクに第2優先度パラメータを付与して、第6タイプのタスクを得る。
【0020】
代替実施形態では、各タスク試験グループにおける各タスクの、予め設定されたタスク実行の時間合計を表す予定実行時間を取得し、各タスク試験グループにおける各タスクが1回実行されるごとにカウンタのカウントに1を加算し、予定実行時間の実行が終了するとカウントを停止し、合計カウントを得て、予定実行時間と合計カウントとの商から各タスク試験グループにおける各タスクの所要時間を得る。
【0021】
代替実施形態では、各タスク試験グループにおける各タスクの実行が開始されると、タイマを制御して計時を開始させ、各タスク試験グループにおける各タスクの実行が終了すると、タイマを制御して計時を終了させ、タイマの計時結果に基づいて、各タスク試験グループにおける各タスクの所要時間を得る。
【0022】
第2態様では、本発明は、
複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分けるように、複数のプログラマブルロジックコントローラタスクを分類するタスク分類モジュールであって、第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い、タスク分類モジュールと、
第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成するタスク作成モジュールであって、第1優先度は、第2優先度よりも高い、タスク作成モジュールと、
第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクに応じて、第3タイプのタスクと第4タイプのタスクのいずれか、及び5タイプのタスクと第6タイプのタスクのいずれかを含む各タスク試験グループを設定するタスク試験グループ設定モジュールと、
各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得る所要時間算出モジュールと、
各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定するスケジューリング方式決定モジュールと、を含む、プログラマブルロジックコントローラタスクのケジューリング方式のテスト装置を提供する。
【0023】
有益な効果は以下の通りである。本発明では、タスク分類モジュールは、複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分け、第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い。タスク作成モジュールは、第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成し、第1優先度は、第2優先度よりも高い。タスク試験グループ設定モジュールは、第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクに応じて、各タスク試験グループを設定する。所要時間算出モジュールは、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得る。スケジューリング方式決定モジュールは、各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定する。本発明は、各プログラマブルロジックコントローラタスクを分類し、各タスク試験グループを設定し、各タスク試験グループの所要時間を算出し、所要時間によってプログラマブルロジックコントローラタスクのスケジューリング方式をテストするものであり、各プログラマブルロジックコントローラタスクの実行時にのみ各プログラマブルロジックコントローラタスクのスケジューリング方式を決定することができる従来技術に対し、本発明は、プログラマブルロジックコントローラタスクのスケジューリング方式を事前にテストし、プログラマブルロジックコントローラタスクのスケジューリング方式に誤った場合に適時に調整することができる。
【0024】
第3態様では、本発明は、メモリと、プロセッサと、を含み、メモリとプロセッサは、相互に通信可能に接続され、メモリにコンピュータ命令が記憶されており、プロセッサは、コンピュータ命令を実行することによって、上記の第1態様又はそれに対応する実施形態の何れかに記載のプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法を実行するコンピュータ機器を提供する。
【0025】
第4態様では、本発明は、上記の第1態様又はそれに対応する実施形態の何れかに記載のプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法をコンピュータに実行させるためのコンピュータ命令が記憶されているコンピュータ読み取り可能な記憶媒体を提供する。
【図面の簡単な説明】
【0026】
本発明の具体的な実施形態又は従来技術における技術的解決手段をより明確に説明するため、以下、具体的な実施形態又は従来技術の説明に必要な図面について簡単に紹介するが、以下の説明における図面は本発明のいくつかの実施形態であることは明らかであり、当業者にとっては、創造的な労力を払うことなく、これらの図面に基づいて他の図面を得ることができる。
図1】本発明の実施例に係るプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法の流れの概略図である。
図2】本発明の実施例に係る別のプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法の流れの概略図である。
図3】本発明の実施例に係る複数のプログラマブルロジックコントローラタスクを分類する流れの概略図である。
図4】本発明の実施例に係る各タスク試験グループにおける各タスクの所要時間をそれぞれ算出する流れの概略図である。
図5】本発明の実施例に係る各タスク試験グループにおける各タスクの所要時間をそれぞれ算出する別の流れの概略図である。
図6】本発明の実施例に係るプログラマブルロジックコントローラタスクのケジューリング方式のテスト装置の構成ブロック図である。
図7】本発明の実施例に係るコンピュータ機器のハードウェア構成の概略図である。
【発明を実施するための形態】
【0027】
本発明の実施例の目的、技術的解決手段及び利点をより明確にするために、以下、本発明の実施例における図面を参照して、本発明の実施例における技術的解決手段を明確かつ完全に説明するが、説明される実施例は、本発明の実施例の一部であり、全ての実施例ではないことは明らかである。本発明の実施例に基づいて、当業者が創造的な労力を払うことなく得た他のすべての実施例は、本発明の保護範囲に属する。
【0028】
本発明の実施例は、各タスク試験グループの所要時間を算出することにより、プログラマブルロジックコントローラタスクの優先度をテストする効果を奏するプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法を提供する。
【0029】
本発明の実施例によれば、プログラマブルロジックコントローラタスクのケジューリング方式のテスト方法の実施例が提供される。なお、図面の流れ図に示すステップは、コンピュータ実行可能な命令などのコンピュータシステムにおいて実行されてもよく、流れ図には論理的な順序が示されているが、場合によっては、図示又は説明されたステップは、こことは異なる順序で実行されてもよい。
【0030】
本実施例では、上記のプログラマブルロジックコントローラタスクに用いることができるプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法が提供され、図1は、本発明の実施例に係るプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法の流れ図であり、図1に示すように、この流れは以下のステップS101~ステップS105を含む。
【0031】
ステップS101:複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分けるように、複数のプログラマブルロジックコントローラタスクを分類し、第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い。
【0032】
プログラマブルロジックコントローラタスクとは、プログラマブルロジックコントローラのプロジェクト内で個別に動作されるタスクを指す。
【0033】
第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い。一例として、第1タイプのタスクは所要時間の長いタスクであり、第2タイプのタスクは所要時間の短いタスクである。
【0034】
ステップS102:第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成し、第1優先度は、第2優先度よりも高い。
【0035】
具体的な実施過程で、一般的なプログラマブルロジックコントローラのメーカーにより、タスク優先度が0、1、...、31の32レベルで設定されており、数字が小さいほど優先度が高い。
【0036】
一例として、第3タイプのタスクは、所要時間の長い高優先度タスクであり、第4タイプのタスクは、所要時間の短い高優先度タスクであり、第5タイプのタスクは、所要時間の長い低優先度タスクであり、第6タイプのタスクは、所要時間の短い低優先度タスクである。
【0037】
ステップS103:第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクに応じて、第3タイプのタスクと第4タイプのタスクのいずれか、及び5タイプのタスクと第6タイプのタスクのいずれかを含む各タスク試験グループを設定する。
【0038】
ステップS104:各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得る。
【0039】
ステップS105:各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定する。
【0040】
本実施例に係るプログラマブルロジックコントローラタスクのスケジューリング方式のテスト方法は、複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分け、第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い。第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成し、第1優先度は、第2優先度よりも高い。第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクに応じて、各タスク試験グループを設定する。各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得る。各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定する。本発明は、各プログラマブルロジックコントローラタスクを分類し、各タスク試験グループを設定し、各タスク試験グループの所要時間を算出し、所要時間によってプログラマブルロジックコントローラタスクのスケジューリング方式をテストするものであり、各プログラマブルロジックコントローラタスクの実行時にのみ各プログラマブルロジックコントローラタスクのスケジューリング方式を決定することができる従来技術に対し、本発明は、プログラマブルロジックコントローラタスクのスケジューリング方式を事前にテストし、プログラマブルロジックコントローラタスクのスケジューリング方式に誤った場合に適時に調整することができる。
【0041】
本実施例では、上記のプログラマブルロジックコントローラタスクに用いることができるプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法が提供され、図2は、本発明の実施例に係る別のプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法の流れ図であり、図2に示すように、この流れは、以下のステップS201~ステップS209を含む。
【0042】
ステップS201:複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分けるように、複数のプログラマブルロジックコントローラタスクを分類し、第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い。詳細は、図1に示す実施例のステップS101を参照するので、ここでは詳しく説明しない。
【0043】
ステップS202:第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成し、第1優先度は、第2優先度よりも高い。詳細は、図1に示す実施例のステップS102を参照するので、ここでは詳しく説明しない。
【0044】
いくつかの代替実施形態では、第1タイプのタスクに第1優先度パラメータを付与して、第3タイプのタスクを得て、第2タイプのタスクに第1優先度パラメータを付与して、第4タイプのタスクを得て、第1タイプのタスクに第2優先度パラメータを付与して、第5タイプのタスクを得て、第2タイプのタスクに第2優先度パラメータを付与して、第6タイプのタスクを得る。
【0045】
ステップS203:第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクに応じて、第3タイプのタスクと第4タイプのタスクのいずれか、及び5タイプのタスクと第6タイプのタスクのいずれかを含む各タスク試験グループを設定する。詳細は、図1に示す実施例のステップS103を参照するので、ここでは詳しく説明しない。
【0046】
いくつかの代替実施形態では、第1タスク試験グループは、第3タイプのタスクと第5タイプのタスクを含み、第2タスク試験グループは、第3タイプのタスクと第6タイプのタスクを含み、第3タスク試験グループは、第4タイプのタスクと第5タイプのタスクを含み、第4タスク試験グループは、第4タイプのタスクと第6タイプのタスクを含む。
【0047】
ステップS204:各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得る。詳細は、図1に示す実施例のステップS104を参照するので、ここでは詳しく説明しない。
【0048】
ステップS205:各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定する。詳細は、図1に示す実施例のステップS105を参照するので、ここでは詳しく説明しない。
【0049】
具体的には、上記のステップS205は、ステップS2051とステップS2052を含む。
【0050】
ステップS2051:第2タスク試験グループにおける第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第5タイプのタスクの第1所要時間結果が異なる、及び/又は第2タスク試験グループにおける第6タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第4タイプのタスクの第1所要時間結果が異なる場合、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングである。
【0051】
ステップS2052:第2タスク試験グループにおける第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第5タイプのタスクの第1所要時間結果が同じであり、かつ、第2タスク試験グループにおける第6タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第4タイプのタスクの第1所要時間結果が同じである場合、プログラマブルロジックコントローラタスクのスケジューリング方式が非優先度スケジューリングである。
【0052】
第2タスク試験グループにおける第3タイプのタスクと第3タスク試験グループにおける第5タイプのタスクは、優先度が異なり、所要時間が同じであり、第2タスク試験グループにおける第6タイプのタスクと第3タスク試験グループにおける第5タイプのタスクは、優先度が異なり、所要時間が同じであり、したがって、第2タスク試験グループにおける第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第5タイプのタスクの第1所要時間結果が異なる場合、及び/又は第2タスク試験グループにおける第6タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第4タイプのタスクの第1所要時間結果が異なる場合、優先度の違いが試験グループの所要時間結果に影響を与えることを示し、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングであると判断することができる。第2タスク試験グループにおける第3タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第5タイプのタスクの第1所要時間結果が同じであり、かつ、第2タスク試験グループにおける第6タイプのタスクの第1所要時間結果と第3タスク試験グループにおける第4タイプのタスクの第1所要時間結果が同じである場合、優先度の違いが試験グループの所要時間結果に影響を与えないことを示し、プログラマブルロジックコントローラタスクのスケジューリング方式が非優先度スケジューリングであると判断することができる。
【0053】
ステップS206:各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクがプリエンプティブ優先度スケジューリングであるか否かを決定する。
【0054】
いくつかの代替実施形態では、第1タスク試験グループにおける第5タイプのタスクの第1所要時間結果と、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果との差が第1予め設定された値よりも大きい場合、プログラマブルロジックコントローラタスクはプリエンプティブ優先度スケジューリングである。
【0055】
第1タスク試験グループにおける第5タイプのタスクの前記第1所要時間結果と、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果との差が、前記第1予め設定された値以下である場合、プログラマブルロジックコントローラタスクは非プリエンプティブ優先度スケジューリングである。
【0056】
第1予め設定された値は、第1タスク試験グループにおける第5タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果よりもはるかに大きくなるように、できるだけ大きい。
【0057】
第1タスク試験グループにおける第5タイプのタスクと第1タスク試験グループにおける第3タイプのタスクとの所要時間レベルが同じであり、第3タイプのタスクの優先度が第5タイプのタスクの優先度よりも高く、第1タスク試験グループにおける第5タイプのタスクの第1所要時間結果と第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果との差が第1予め設定された値よりも大きい場合、第3タイプのタスクの第1所要時間結果が第5タイプのタスクの第1所要時間結果よりもはるかに小さいことを示し、すなわち、第5タイプのタスクの実行時に第3タイプのタスク、すなわち優先度のより高いタスクが現れた場合、第3タイプのタスクは、第5タイプのタスクよりも優先的に実行されることで、第3タイプのタスクの待ち時間を短縮し、したがって、第1タスク試験グループにおける第5タイプのタスクの第1所要時間結果と第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果との差が第1予め設定された値よりも大きい場合、プログラマブルロジックコントローラタスクがプリエンプティブ優先度スケジューリングであることを示し、それ以外の場合、非プリエンプティブ優先度スケジューリングである。
【0058】
ステップS207:設定された第1タイムスライスに基づき、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第3時間所要結果をそれぞれ得る。
【0059】
ステップS208:設定された第2タイムスライスに基づき、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第4時間所要結果をそれぞれ得る。
【0060】
いくつかの代替実施形態では、タイムスライスは、各タスク試験グループにおける各タスクが動作開始からプリエンプトされるまでの時間であり、第1タイムスライスは第2タイムスライスよりも大きい。
【0061】
プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)タスクタイムスライスとは、サイクル内でで、PLCが複数のタスクを処理する時間をそれぞれのタスクの小さな部分に割り当てることを指す。このような時間割り当ては、通常、一定の時間間隔に基づいており、タイムスライスとも呼ばれる。タスクごとに割り当てられたタイムスライス内で動作されてから、次のタスクへの切り替わりが行われる。このラウンドロビン方式により、各タスクが処理される機会が確保され、マルチタスク処理が実現される。
【0062】
PLCタスクタイムスライスの長さはシステム要件に応じて調整してもよい。タイムスライスが短いと、システムの応答速度を向上させることができるが、タスク切り替えのオーバーヘッドも増加する。タイムスライスが長いと、タスク切り替えのオーバーヘッドを低減させることができるが、システムの応答速度を低下させる可能性がある。PLCタスクタイムスライスの使用は並列処理を実現し、システムの効率を向上させるのに役立つ。タイムスライスを合理的に割り当てることで、クリティカルなタスクが適時に処理されると同時に、他の非クリティカルなタスクが処理されることが確保される。これは、工場の生産ライン制御、ロボット制御など、複数のタスクを同時に実行する必要がある自動化システムにとって非常に重要である。要するに、PLCタスクタイムスライスは、処理時間を割り当てるためのメカニズムであり、PLCがマルチタスク処理を実現し、システムの効率と応答速度を向上させるに寄与する。
【0063】
一例として、設定された第1タイムスライスがTであれば、第1タイムスライスがT/2に設定される。
【0064】
ステップS209:第1所要時間結果、第3所要時間結果、及び第4所要時間結果に基づいて、プログラマブルロジックコントローラタスクがタイムスライスラウンドロビン・スケジューリングであるか否かを判断する。
【0065】
いくつかの代替実施形態では、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果未満かつ第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果未満である場合、プログラマブルロジックコントローラタスクは、タイムスライスラウンドロビン・スケジューリングである。
【0066】
第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果以上、第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果以上である場合、又は、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果以上、第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果未満である場合、又は、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果未満、第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果以上である場合、プログラマブルロジックコントローラタスクは非タイムスライスラウンドロビン・スケジューリングである。
【0067】
タイムスライスは、各タスク試験グループにおける各タスクの動作開始からプリエンプトされるまでの時間であり、タイムスライスが設定された第3所要時間結果及び第4所要時間結果の場合、タイムスライスが設定されていない第1所要時間結果と比較して、タイムスライスが設定されることにより、タスク実行中、タイムスライスが設定された時間に到達すると、タスクがプリエンプトされる。従って、タイムスライスが設定される場合の所要時間が、タイムスライスが設定されていない場合の所要時間よりも長く、すなわち、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が最も小さい。タイムスライスを第1タイムスライスとして設定し、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果を算出し、タイムスライスを第2タイムスライスとして設定し、第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果を算出し、第1タイムスライスは第2タイムスライスよりも大きい。タイムスライスのサイズがより小さくなると、タスクの切り替えが頻繁になり、かつ時間もよりかかる。したがって、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果未満かつ第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果未満である場合、プログラマブルロジックコントローラタスクは、ラウンドロビン・スケジューリングであり、それ以外の場合、プログラマブルロジックコントローラタスクは、非タイムスライスラウンドロビン・スケジューリングである。
【0068】
本実施例では、上記のプログラマブルロジックコントローラタスクに用いることができるプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法が提供され、図3は、本発明の実施例に係る複数のプログラマブルロジックコントローラタスクを分類する流れ図であり、複数のプログラマブルロジックコントローラタスクは、図1のステップS101に分類され、図3に示すように、この流れは以下のステップS3011~ステップS3014を含む。
【0069】
ステップS3011:プログラマブルロジックコントローラタスクの走査周期を設定する。
【0070】
プログラマブルロジックコントローラタスクの走査周期は変更可能であるため、本発明では走査周期の変化が実験結果に影響を与えることを避けるため、走査周期を全てT1に設定する。
【0071】
ステップS3012:プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が、第2予め設定された値よりも大きいか否かを判断する。
【0072】
第2予め設定された値は、プログラマブルロジックコントローラタスクの実際の所要時間が走査周期よりもはるかに短くなるように、できるだけ大きい。
【0073】
ステップS3013:プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が第2予め設定された値よりも大きい場合、プログラマブルロジックコントローラタスクは第1タイプのタスクである。
【0074】
ステップS3014:プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が第2予め設定された値以下である場合、プログラマブルロジックコントローラタスクは第2タイプのタスクである。
【0075】
図3のステップS301は、図1のステップS101である。
【0076】
プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が第2予め設定された値よりも大きい場合、プログラマブルロジックコントローラタスクの実際の所要時間が走査周期よりはるかに大きく、プログラマブルロジックコントローラタスクは所要時間の長いタスクであり、そうでない場合は所要時間の短いタスクであることを示す。
【0077】
本実施例では、上記のプログラマブルロジックコントローラタスクに用いることができるプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法が提供され、図4は、本発明の実施例に係る各タスク試験グループにおける各タスクの所要時間をそれぞれ算出する流れ図であり、図4に示すように、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出する流れは、図1のステップS104であり、この流れは以下のステップS4041~ステップS4043を含む。
【0078】
ステップS4041:各タスク試験グループにおける各タスクの、予め設定されたタスク実行の時間合計を表す予定実行時間を取得する。
【0079】
ステップS4042:各タスク試験グループにおける各タスクが1回実行されるごとにカウンタのカウントを1つ加算し、予定実行時間の実行が終了するとカウントを停止し、合計カウントを得る。
【0080】
ステップS4043:予定実行時間と合計カウントとの商から各タスク試験グループにおける各タスクの所要時間を得る。
【0081】
図4のステップS404は、図1のステップS104である。
【0082】
本実施例では、上記のプログラマブルロジックコントローラタスクに用いることができるプログラマブルロジックコントローラタスクのケジューリング方式のテスト方法が提供され、図5は、本発明の実施例に係る各タスク試験グループにおける各タスクの所要時間をそれぞれ算出する別の流れ図であり、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出することはステップS104であり、図5に示すように、この流れは、以下のステップS5041~ステップS5043を含む。
【0083】
ステップS5041:各タスク試験グループにおける各タスクの実行が開始されると、タイマを制御して計時を開始する。
【0084】
ステップS5042:各タスク試験グループにおける各タスクの実行が終了すると、タイマを制御してタイミングを終了させる。
【0085】
ステップS5043:タイマの計時結果に基づいて、各タスク試験グループにおける各タスクの所要時間を得る。
【0086】
図5のステップS504は、図1のステップS104である。
【0087】
本実施例では、上記の実施例及び好ましい実施形態を実現するためのプログラマブルロジックコントローラタスクのケジューリング方式のテスト装置も提供され、すでに詳しく説明しない。以下で用いられるように、「モジュール」という用語は、所定の機能を実現するソフトウェア及び/又はハードウェアの組み合わせであってもよい。以下の実施例で説明される装置は、好ましくはソフトウェアで実装されるが、ハードウェア、又はソフトウェアとハードウェアの組み合わせの実装も可能であり、考えられる。
【0088】
本実施例は、図6に示すように、タスク分類モジュール601と、タスク作成モジュール602と、タスク試験グループ設定モジュール603と、所要時間算出モジュール604と、スケジューリング方式決定モジュール605と、を含む、プログラマブルロジックコントローラタスクのケジューリング方式のテスト装置を提供する。
【0089】
タスク分類モジュール601は、複数のプログラマブルロジックコントローラタスクを第1タイプのタスクと第2タイプのタスクとに分けるように、複数のプログラマブルロジックコントローラタスクを分類することに用いられ、第1タイプのタスクのタスク所要時間は、第2タイプのタスクのタスク所要時間よりも長い。
【0090】
いくつかの代替実施形態では、タスク分類モジュール601は、
プログラマブルロジックコントローラタスクの走査周期を設定する走査周期設定ユニットと、
プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が前記第2予め設定された値よりも大きいか否かを判断する判断ユニットと、
プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が第2予め設定された値よりも大きいことに応じて、プログラマブルロジックコントローラタスクが第1タイプのタスクであると決定し、
さらに、プログラマブルロジックコントローラタスクの実際の所要時間と走査周期との差が第2予め設定された値以下であることに応じて、プログラマブルロジックコントローラタスクが第2タイプのタスクであると決定する決定ユニットと、を含む。
【0091】
タスク作成モジュール602は、第1優先度を有する第1タイプのタスクである第3タイプのタスク、第1優先度を有する第2タイプのタスクである第4タイプのタスク、第2優先度を有する第1タイプのタスクである第5タイプのタスク、及び第2優先度を有する第2タイプのタスクである第6タイプのタスクを作成することに用いられ、第1優先度は、第2優先度よりも高い。
【0092】
タスク試験グループ設定モジュール603は、第3タイプのタスク、第4タイプのタスク、第5タイプのタスク、及び第6タイプのタスクに応じて、第3タイプのタスクと第4タイプのタスクのいずれか、及び5タイプのタスクと第6タイプのタスクのいずれかを含む各タスク試験グループを設定することに用いられる。
【0093】
所要時間算出モジュール604は、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第1所要時間結果をそれぞれ得ることに用いられる。
【0094】
いくつかの代替実施形態では、所要時間算出モジュール604は、
各タスク試験グループにおける各タスクの、予め設定されたタスク実行の時間合計を表す予定実行時間を取得する取得ユニットと、
各タスク試験グループにおける各タスクが1回実行されるごとにカウンタのカウントを1つ加算し、予定実行時間の実行が終了するとカウントを停止し、合計カウントを得るカウントユニットと、
予定実行時間と合計カウントとの商から各タスク試験グループにおける各タスクの所要時間を得る算出ユニットと、を含む。
【0095】
いくつかの代替実施形態では、所要時間算出モジュール604は、さらに、
各タスク試験グループにおける各タスクの実行が開始されると、タイマを制御して計時を開始させる計時開始制御ユニットと、
各タスク試験グループにおける各タスクの実行が終了すると、タイマを制御して計時を終了させる計時終了制御ユニットと、
タイマの計時結果に基づいて、各タスク試験グループにおける各タスクの所要時間を得る所要時間決定ユニットと、をさらに含む。
【0096】
スケジューリング方式決定モジュール605は、各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクのスケジューリング方式を決定することに用いられる。
【0097】
いくつかの代替実施形態では、第2タスク試験グループにおける各タスクの第1所要時間結果と第3タスク試験グループにおける各タスクの第1所要時間結果が異なる場合、プログラマブルロジックコントローラタスクのスケジューリング方式は優先度スケジューリングである。
【0098】
第2タスク試験グループにおける各タスクの第1所要時間結果と第3タスク試験グループにおける各タスクの第1所要時間結果が同じである場合、プログラマブルロジックコントローラタスクのスケジューリング方式は非優先度スケジューリングである。
【0099】
スケジューリング方式決定モジュール605は、さらに、プログラマブルロジックコントローラタスクのスケジューリング方式が優先度スケジューリングである場合、各タスク試験グループにおける各タスクの第1所要時間結果に基づいて、プログラマブルロジックコントローラタスクがプリエンプティブ優先度スケジューリングであるか否かを決定する。
【0100】
いくつかの代替実施形態では、第1タスク試験グループにおける第5タイプのタスクの第1所要時間結果と、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果との差が第1予め設定された値よりも大きい場合、プログラマブルロジックコントローラタスクはプリエンプティブ優先度スケジューリングである。
【0101】
スケジューリング方式決定モジュール605は、さらに、プログラマブルロジックコントローラタスクが非優先度スケジューリングである場合、設定された第1タイムスライスに基づき、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第3時間所要結果をそれぞれ得ること、設定された第2タイムスライスに基づき、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの第4所要時間結果をそれぞれ得ること、第1所要時間結果、第3所要時間結果、及び第4所要時間結果に基づいて、プログラマブルロジックコントローラタスクがタイムスライスラウンドロビン・スケジューリングであるか否かを判断することに用いられる。
【0102】
いくつかの代替実施形態では、第1タスク試験グループにおける第3タイプのタスクの第1所要時間結果が、第1タスク試験グループにおける第3タイプのタスクの第3所要時間結果未満、かつ第1タスク試験グループにおける第3タイプのタスクの第4所要時間結果未満である場合、プログラマブルロジックコントローラタスクはタイムスライスラウンドロビン・スケジューリングである。
【0103】
上記の各モジュール及びユニットのさらなる機能説明は、上記の対応する実施例と同様であり、ここでは詳しく説明しない。
【0104】
本実施例におけるプログラマブルロジックコントローラタスクのケジューリング方式のテスト装置は、機能ユニットの形で示され、ここでのユニットとは、特定用途集積回路(ASIC:Application Specific Integrated Circuit)、1つ又は複数のソフトウェア又は固定プログラムを実行するプロセッサとメモリ、及び/又は上記の機能を提供し得るデバイスを指す。
【0105】
本発明の実施例は、上記の図6に示すプログラマブルロジックコントローラタスクのケジューリング方式のテスト装置を備えたコンピュータ機器をさらに提供する。
【0106】
図7を参照すると、図7は、本発明の任意の実施例が提供するコンピュータ機器の構成模式図であり、図7に示すように、このコンピュータ機器は、1つ又は複数のプロセッサ10と、メモリ20と、高速インターフェースと低速インターフェースとを含む各コンポーネントを接続するためのインターフェースと、を含む。各コンポーネントは、異なるバスを使用して相互に通信可能に接続され、共通のマザーボードに実装されたり、必要に応じて他の方法で実装されたりすることができる。プロセッサは、外部の入出力装置(例えば、インターフェースに結合された表示機器)上にGUIのグラフィック情報を表示するために、メモリに又はメモリ上に記憶される命令を含む、コンピュータ機器内で実行される命令を処理することができる。いくつかの代替実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバスを複数のメモリ及び複数のメモリとともに使用することができる。同様に、複数のコンピュータ機器が接続され、各機器は、(例えば、サーバのアレイ、ブレードサーバのセット、又はマルチプロセッサシステムとして)必要な動作の一部を提供する。図7では、1つのプロセッサ10を例に挙げている。
【0107】
プロセッサ10は、中央処理装置、ネットワークプロセッサ、又はこれらの組み合わせであってもよい。なお、プロセッサ10は、ハードウェアチップをさらに含んでもよい。上記のハードウェアチップは、特定用途向け集積回路、プログラマブルロジックデバイス、又はこれらの組み合わせであってもよい。上記プログラマブルロジックデバイスは、複雑なプログラマブルロジックデバイス、フィールドプログラマブルロジックゲートアレイ、汎用アレイロジック、又はこれらの任意の組み合わせであってもよい。
【0108】
このうち、メモリ20は、少なくとも1つのプロセッサ10によって実行可能な命令を記憶し、少なくとも1つのプロセッサ10に上記の実施例に示される方法を実行させる。
【0109】
メモリ20は、プログラム記憶領域及びデータ記憶領域を含み、プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶領域は、コンピュータ機器の使用によって作成されたデータなどを記憶してもよい。さらに、メモリ20は、高速ランダムアクセスメモリを含み、少なくとも1つの磁気ディスクメモリデバイス、フラッシュメモリデバイス、又は他の非一時的な固体ステートメモリデバイスなどの非一時的なメモリを含んでもよい。いくつかの代替実施形態では、メモリ20は、プロセッサ10に対してリモートに配置されたメモリを任意に含んでもよく、これらのリモートメモリは、ネットワークを介してコンピュータ機器に接続され得る。上記ネットワークとしては、例えば、インターネット、イントラネット、ローカルエリアネットワーク、移動通信網、及びこれらの組み合わせが含まれるが、これらに限定されない。
【0110】
メモリ20は、揮発性メモリ、例えばランダムアクセスメモリを含んでもよい。メモリは、例えば、フラッシュメモリ、ハードディスク又はソリッドステートドライブなどの不揮発性メモリを含んでもよい。メモリ20は、上記の種類のメモリの組み合わせを含んでもよい。
【0111】
このコンピュータ機器は、このコンピュータ機器が他の機器又は通信ネットワークと通信するための通信インターフェース30をさらに含む。
【0112】
本発明の実施例は、コンピュータ読み取り可能な記憶媒体をさらに提供し、上記の本発明の実施例に係る方法は、ハードウェアやファームウェアにおいて実装されてもよく、又は記憶媒体に記録可能、又はネットワークを介してダウンロードされたリモート記憶媒体又は非一時的な機械読み取り可能な記憶媒体に元々記憶され、ローカル記憶媒体に記憶されるコンピュータコードとして実現することができ、それによって、ここで説明する方法は、汎用コンピュータ、専用プロセッサ、又はプログラマブル若しくは専用ハードウェアを用いた記憶媒体に記憶されるようなソフトウェアで処理されてもよい。記憶媒体は、磁気ディスク、光ディスク、読み取り専用ストレージメモリ、ランダムアクセス記憶メモリ、フラッシュメモリ、ハードディスク又はソリッドステートドライブ等であってもよい。さらに、記憶媒体は、上記の種類のメモリの組み合わせをさらに含んでもよい。コンピュータ、プロセッサ、マイクロプロセッサコントローラ又はプログラマブルハードウェアは、ソフトウェア又はコンピュータコードを記憶又は受信することができる記憶コンポーネントを含み、ソフトウェア又はコンピュータコードは、コンピュータ、プロセッサ又はハードウェアによってアクセスされて実行されると、上記の実施例で示された方法を実現することが理解される。
【0113】
本発明の実施例について添付図面を参照して説明したが、当業者は、本発明の精神及び範囲を逸脱することなく、種々の修正及び変形を行うことができ、かかる修正及び変形は、すべて添付の請求の範囲で規定される範囲内に含まれるものとする。

【要約】      (修正有)
【課題】プログラマブルロジックコントローラタスクのスケジューリング方式を決定する。
【解決手段】方法は、複数のタスクを第1タイプのタスクと第2タイプのタスクとに分けるステップと、第3タイプのタスク、第4タイプのタスク、第5タイプのタスク及び第6タイプのタスクを作成するステップと、第3タイプのタスク、第4タイプのタスク、第5タイプのタスク及び第6タイプのタスクに応じて、第3タイプのタスクと第4タイプのタスクのいずれか及び第5タイプのタスクと第6タイプのタスクのいずれかを含む各タスク試験グループを設定するステップと、各タスク試験グループにおける各タスクの所要時間をそれぞれ算出し、各タスク試験グループにおける各タスクの所要時間結果をそれぞれ得るステップと、各タスク試験グループにおける各タスクの所要時間結果に基づいて、タスクのスケジューリング方式を決定するステップと、を含む。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7