JP7241989B1 - プログラム作成装置、プログラム作成方法及びプログラム - Google Patents

プログラム作成装置、プログラム作成方法及びプログラム Download PDF

Info

Publication number
JP7241989B1
JP7241989B1 JP2022566473A JP2022566473A JP7241989B1 JP 7241989 B1 JP7241989 B1 JP 7241989B1 JP 2022566473 A JP2022566473 A JP 2022566473A JP 2022566473 A JP2022566473 A JP 2022566473A JP 7241989 B1 JP7241989 B1 JP 7241989B1
Authority
JP
Japan
Prior art keywords
control
program
priority
task
control program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022566473A
Other languages
English (en)
Inventor
篤史 小坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP7241989B1 publication Critical patent/JP7241989B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Abstract

プログラム作成装置(40)は、ユーザの入力に基づいて、プログラマブルロジックコントローラにて実行される制御プログラムを作成するプログラム作成部(402)と、制御プログラムにより実行される複数の制御処理を時分割処理のためにタスク単位で分割し、タスク単位で分割されたそれぞれの制御処理に優先度を設定する優先度設定部(403)と、それぞれの制御処理に設定された優先度に基づいて、時分割処理における実行周期を決定する周期決定部(404)と、制御プログラムに、優先度と実行周期とを対応付ける対応付け部(405)と、を備える。

Description

本開示は、プログラム作成装置、プログラム作成方法及びプログラム
に関する。
制御システムにおいては、応答時間の管理が重要となる。例えば特許文献1には、安全システムの応答時間を短縮するために、入力値を受信するための期間と、安全プログラムを実行する期間とを順次並列に実行する期間スロットを設け、入力値を受信するための期間に入力値の受信が完了しなかった場合、あるいは安全プログラムを実行する期間に出力値の演算が完了しなかった場合に、機器の動作を強制的に停止させる安全コントローラが開示されている。この安全コントローラにより、応答時間内に結果を得る、あるいは応答時間内に機器の動作を停止させることができる。
特開2021-082027号公報
特許文献1の安全コントローラは、プログラムの実行時間が応答時間を超える場合に、ユーザがプログラム自体を改善する必要があるため、応答時間の管理においてユーザの負担が大きくなるという問題がある。
本開示は上記の事情に鑑みてなされたものであり、応答時間を容易に管理することが可能となるプログラム作成装置等を提供することを目的とする。
上記の目的を達成するため、本開示に係るプログラム作成装置は、
ユーザの入力に基づいて、プログラマブルロジックコントローラにて実行される制御プログラムを作成するプログラム作成手段と、
前記制御プログラムにより実行される複数の制御処理を時分割処理のためにタスク単位で分割し、タスク単位で分割されたそれぞれの制御処理に優先度を設定する優先度設定手段と、
前記それぞれの制御処理に設定された優先度に基づいて、前記時分割処理における実行周期を決定する周期決定手段と、
前記制御プログラムに、前記優先度と前記実行周期とを対応付ける対応付け手段と、
前記制御プログラムに基づいて、応答時間が予め定められた設定応答時間以内となる範囲で前記制御プログラムに追加可能な命令と、前記追加可能な命令の数とを含む画面を生成する画面生成手段と、
を備える
本開示によれば、応答時間を容易に管理することが可能となる。
本開示の実施の形態1に係る制御システムの全体構成を示す図 本開示の実施の形態1に係るプログラム作成装置の機能的構成を示す図 本開示の実施の形態1に係る制御プログラム及びタスクの一例を示す図 本開示の実施の形態1に係るタスクの優先度及び処理時間の一例を示す図 本開示の実施の形態1に係るタスクの設定応答時間、算出される応答時間及び決定される実行周期の一例を示す図 本開示の実施の形態1に係るタスクの応答時間及び実行周期の一例を示す図 本開示の実施の形態1に係る制御モジュールの機能的構成を示す図 本開示の実施の形態1に係る拡張モジュールの機能的構成を示す図 本開示の実施の形態1に係る制御モジュールと拡張モジュールとの制御通信の遮断の一例を示す図 本開示の実施の形態1に係る制御モジュールと拡張モジュールとの通信の遮断の一例を示す図 本開示の実施の形態1に係る制御モジュール及び拡張モジュールのハードウェア構成の一例を示す図 本開示の実施の形態1に係るプログラム作成装置による実行周期決定の動作の一例を示すフローチャート 本開示の実施の形態1に係る拡張モジュールによる通信遮断の動作の一例を示すフローチャート 本開示の実施の形態2に係るプログラム作成装置に表示される画面の一例を示す図
以下、図面を参照しながら、本開示の実施の形態に係る制御システムを説明する。各図面においては、同一又は同等の部分に同一の符号を付す。
(実施の形態1)
図1を参照しながら、実施の形態1に係る制御システム1を説明する。制御システム1は、例えば工場内の生産現場に設けられる。制御システム1は、PLC(プログラマブルロジックコントローラ:Programmable Logic Controller)10と入力機器20と出力機器30とプログラム作成装置40とを備える。
入力機器20は、例えばライトカーテン、非常停止スイッチ、位置検出回路などの安全入力機器を含む。入力機器20は、特定の状況になったときに安全制御信号をPLC10に出力する。例えば入力機器20が非常停止スイッチを含み、作業者が当該非常停止スイッチを押したとき、入力機器20は非常停止スイッチが押されたことを示す安全制御信号をPLC10に出力する。当該安全制御信号を受けたPLC10は、後述の出力機器30を、生産現場の安全を確保するように制御する。
出力機器30は、例えばコンダクタ、駆動機器、STO(Safe Torque Off)端子などの安全出力機器を含む。上述のとおり、入力機器20が安全制御に関する信号をPLC10に出力したとき、出力機器30はPLC10の制御により生産現場の安全を確保する。例えば出力機器30が駆動機器を含むとき、当該駆動機器はPLC10の制御に基づいて動作を停止する。また、例えば出力機器30がSTO端子を含むとき、当該STO端子はPLC10の制御に基づいて、端子に接続された駆動機器のSTO機能を有効化する。
PLC10は、ユーザが後述のプログラム作成装置40により作成した制御プログラムを継続的に実行し、出力機器30を制御する。入力機器20が安全制御信号を出力していないとき、PLC10は出力機器30が通常動作するように制御する。ここでいう通常動作とは、生産現場での生産のための通常の動作である。入力機器20が安全制御信号を出力しているとき、PLC10は、生産現場の安全を確保するように出力機器30を制御する。PLC10は、本開示に係るプログラマブルロジックコントローラの一例である。
PLC10は、制御モジュール100と拡張モジュール110とを備える。より詳細には、図1においては、PLC10は、制御モジュール100と、入力機器20からの信号を受ける拡張モジュール110と、出力機器30へ信号を出力する拡張モジュール110とを備える。いずれの拡張モジュール110も、制御モジュール100と通信する。
プログラム作成装置40は、PLC10の制御モジュール100に接続され、PLC10にて実行される制御プログラムと、後述する各種情報とをPLC10の制御モジュール100に送信する。ユーザは、プログラム作成装置40を操作し、PLC10にて実行される制御プログラムを作成する。プログラム作成装置40は、例えばエンジニアリングツールのプログラムがインストールされたPC(Personal Computer)である。プログラム作成装置40は、本開示に係るプログラム作成装置の一例である。
次に、図2を参照しながら、プログラム作成装置40の機能的構成を説明する。プログラム作成装置40は、通信部401とプログラム作成部402と優先度設定部403と周期決定部404と対応付け部405とPLC設定部406と画面生成部407と記憶部408と表示部409と操作部410とを備える。
通信部401は、PLC10の制御モジュール100と通信する。
記憶部408は、後述するプログラム作成部402にて作成された制御プログラムと、後述する優先度設定部403にて設定された優先度を示す情報と、後述する周期決定部404にて決定された実行周期を示す情報とを保存する。
表示部409は、後述する画面生成部407の制御に基づいて、画面生成部407が生成した画面を表示する。表示部409は、例えば液晶ディスプレイである。
操作部410は、ユーザの入力操作を受け付けるユーザインタフェースである。操作部410は、例えばキーボードとマウスである。あるいは、操作部410は、表示部409と一体となったタッチスクリーンであってもよい。
プログラム作成部402は、ユーザによる操作部410を介した入力に基づいて、PLC10にて実行される制御プログラムを作成する。プログラム作成部402は、本開示に係るプログラム作成手段の一例である。
制御プログラムは、例えば図3に示すように、ファンクションブロック(FB)単位で作成された、複数の制御処理を含むプログラムである。また、制御プログラムにおいて、一方の処理結果が他方の処理に影響を与えない範囲で処理を分けたものを「タスク」という。例えば図3においては、制御プログラムはタスクA、タスクB及びタスクCを実行するものとなる。制御プログラムにより、各タスクが繰り返し実行され続ける。
詳細は後述するが、制御プログラムは、PLC10の制御モジュール100によりタスク単位で実行される。また、制御モジュール100は、時分割処理により各タスクを実行する。例えば、処理実行部102は、タスクAを全部実行し、次にタスクBを全体の半分だけ実行し、次にタスクCを全体の半分だけ実行し、次にまたタスクAを全部実行し、次にタスクBの残り半分を実行し、最後にタスクCの残り半分を実行する、という時分割処理を行うことが考えられる。
また、詳細は後述するが、どのようにして時分割処理を行うかは、後述の優先度設定部403により設定された各タスクの優先度及び後述の周期決定部404にて決定されたタスクの実行周期に応じて決定される。
また、各タスクは、ユーザの入力に基づいて、優先度と処理時間とが設定される。各タスクの優先度及び処理時間は、例えば図4に示すテーブルにて表される。図4では、タスクAの優先度が高であり、タスクBの優先度及びタスクCの優先度は低である。例えば、ユーザは、安全制御において重要度の高いタスクについては高い優先度を設定する。優先度「高」のタスクは、各タスクの中で最も優先度が高いタスクとなる。なお、図4に示す処理時間は、タスクの開始から完了までに要する時間である。この処理時間は、後述の周期決定部404にて使用される。
再び図2を参照する。優先度設定部403は、制御プログラムにより実行される複数の制御処理を、時分割処理のために上述のタスク単位で分割する。優先度設定部403は、タスク単位で分割されたそれぞれの制御処理に優先度を設定する。優先度設定部403は、本開示に係る優先度設定手段の一例である。
周期決定部404は、上述の時分割処理における、高優先タスクの実行周期とタスク全体の実行周期とを決定する。周期決定部404は、本開示に係る周期決定手段の一例である。以下、図5と図6とを参照しながら具体的に説明する。なお、各タスクの優先度及び処理時間は図4に示すものとする。
図5は、高優先タスクについて、該当するタスクがタスクAであり、設定応答時間が5msであることを示し、タスク全体については設定応答時間が20msであることを示す。周期決定部404は、高優先タスクであるタスクAを5ms以内に実行でき、かつタスク全体を合計で20ms以内に実行できるように高優先タスクの実行周期及びタスク全体の実行周期を決定する。
周期決定部404はまず、高優先タスクについては時分割処理の1サイクルにてタスクの全てを実行するように決定する。その結果、時分割処理の1サイクルに実行される処理は、例えばタスクAの全ての処理、タスクBの一部又は全部の処理、タスクCの一部又は全部の処理、というものとなる。
次に、周期決定部404は、1サイクルに実行される処理の合計処理時間と次のサイクルに実行される高優先タスクの処理時間との合計処理時間が、高優先タスクの設定応答時間を超えないように、他のタスクの時分割処理を決定する。次のサイクルまで考慮するのは、1サイクル目の高優先タスクが実行された直後に改めて高優先タスクの応答を要する状況となったときに、1サイクル目の高優先タスクの応答ではなく、次のサイクルの高優先タスクの応答を待つ必要があるからである。
この関係を数式で表すと以下のようになる。
(i)高優先タスクの処理時間+他のタスクの1周期あたりの処理時間=1サイクルに実行される処理の合計処理時間
(ii)1サイクルに実行される処理の合計処理時間+高優先タスクの処理時間≦高優先タスクの設定応答時間
これら(i)(ii)より以下の(iii)の関係が成り立つ
(iii)高優先タスクの処理時間×2+他のタスクの1周期あたりの処理時間≦高優先タスクの設定応答時間
周期決定部404は、上記(iii)の関係が成立するように他のタスクの時分割処理を決定する。
図6のA、B、Cの記載はそれぞれタスクA、B、Cを示す。また、タスクB、Cにあわせて記載されている1/2、2/2の記載は、タスクの前半分および後ろ半分を表す。例えば図6に示すように、タスクB及びタスクCを、それぞれ1サイクルにて半分だけ実行するようにすると、1サイクルの合計処理時間が4.5msとなる。この合計処理時間が、高優先タスク実行周期となる。そして、この高優先タスク実行周期にタスクAの処理時間である0.5msを加算すると合計5msとなる。この5msが高優先タスク応答時間となる。そしてこの応答時間は、高優先タスクについての設定応答時間以下であるため、適切な応答時間となっている。したがって、周期決定部404は、上述にて算出した高優先タスク実行周期4.5msを、高優先タスクの実行周期として決定する。
そして周期決定部404は、各タスクについて残っている処理を時分割処理にて実行するようにタスク全体の実行周期を決定する。図6に示す例では、その結果としてタスク全体実行周期は9msとなり、タスク全体応答時間は18msとなる。
このように、周期決定部404は、高優先のタスクについては時分割処理において処理内容を分割せず1サイクルで実行し、その他のタスクについては時分割処理にて複数サイクルにわたって実行することにより、高優先のタスクの応答時間を容易に短縮できる。
再び図2を参照する。対応付け部405は、プログラム作成部402にて作成された制御プログラムと、優先度設定部403にて各タスクに設定された優先度と、周期決定部にて決定された実行周期とを対応付ける。制御プログラムと、対応付けられた優先度を示す情報と、対応付けられた実行周期を示す情報とは、記憶部408に保存される。対応付け部405は、本開示に係る対応付け手段の一例である。
PLC設定部406は、プログラム作成部402にて作成された制御プログラムを、対応付けられた優先度を示す情報及び対応付けられた実行周期を示す情報とともに、通信部401を介してPLC10の制御モジュール100に送信する。これらが制御モジュール100に送信されることにより、PLC10に制御プログラム及び関連する情報が設定される。
画面生成部407は、ユーザが操作及び情報確認をするために必要な画面を生成し、表示部409を制御して生成した画面を表示部409に表示させる。画面生成部407は、本開示に係る画面生成手段の一例である。
図7を参照しながら、制御モジュール100の機能的構成を説明する。制御モジュール100は、通信部101と処理実行部102とプログラム取得部103と記憶部104とを備える。
通信部101は、拡張モジュール110及びプログラム作成装置40と通信する。
記憶部104は、後述のプログラム取得部103がプログラム作成装置40から取得し後述の処理実行部102が実行する制御プログラムを保存する。また、記憶部104は、制御プログラムに対応付けられたタスクの優先度を示す情報及び実行周期を示す情報を保存する。
処理実行部102は、記憶部104に保存された制御プログラムを実行し、複数の制御処理を繰り返し実行する。処理実行部102が制御プログラムを実行することにより、拡張モジュール110を介して入力機器20が出力する安全制御信号が処理され、拡張モジュール110を介して出力機器30が制御される。ここで、処理実行部102は、上述のタスク単位で処理を実行する。また、処理実行部102は、タスクを上述したような時分割処理にて実行する。例えば上述したように、処理実行部102は、タスクAを全部実行し、次にタスクBを全体の半分だけ実行し、次にタスクCを全体の半分だけ実行し、次にまたタスクAを全部実行し、次にタスクBの残り半分を実行し、最後にタスクCの残り半分を実行する、という時分割処理を行うことが考えられる。
また、上述したように、処理実行部102がどのようにして時分割処理を行うかは、制御プログラムに対応付けられた各タスクの優先度及びタスクの実行周期に応じて決定される。処理実行部102は、高優先タスクの実行周期及びタスク全体の実行周期に基づいて、各タスクを時分割処理にて実行する。
プログラム取得部103は、通信部101を介して、プログラム作成装置40から制御プログラムと、制御プログラムに対応付けられた優先度を示す情報及び実行周期を示す情報とを取得し、記憶部104に保存する。プログラム取得部103がこれらを取得して保存することにより、PLC10に制御プログラム及び関連する情報が設定されることとなる。
次に、図8を参照しながら、拡張モジュール110の機能的構成を説明する。拡張モジュール110は、通信部111と処理実行部112とモード切替部113とトリガ検出部114と記憶部115とを備える。
通信部111は、制御モジュール100、入力機器20及び出力機器30と通信する。
記憶部115は、後述の処理実行部112により実行される制御プログラムを保存する。
処理実行部112は、記憶部115に保存された制御プログラムを実行する。通常時には、処理実行部112は、制御プログラムを実行することにより、制御モジュール100と互いに制御通信を行い協調動作する。また、処理実行部112は、制御プログラムを実行することにより、入力機器20から受信した信号を制御モジュール100に送信し、制御モジュール100から受信した出力機器30の制御に関する信号を出力機器30に送信する。入力機器20及び出力機器30に関連する通信であって制御モジュール100と行う通信を以下では「入出力通信」という。処理実行部112は、制御通信に基づく協調動作を行いつつ、入出力通信に関する処理も実行する。
また、詳細は後述するが、処理実行部112は、後述のモード切替部113により動作モードが切り替わったときには、制御モジュールとの通信の一部あるいは全部を遮断する。このとき、処理実行部112は、拡張モジュール110が遮断された通信に応じた処理を実行する。例えば制御通信のみを遮断したときには、処理実行部112は、入出力通信に関する処理のみを引き続き実行する。また、例えば制御通信と入出力通信との双方を遮断したときには、処理実行部112は、入力機器20との通信あるいは出力機器30との通信は継続しつつ、拡張モジュール110を単独で動作させるための処理を実行する。制御モジュールとの通信の一部が遮断されるか全部が遮断されるかは、拡張モジュール110の設定により異なりうる。
モード切替部113は、後述のトリガ検出部114がトリガを検出したタイミングで、拡張モジュール110の動作モードを切り替える。トリガを検出していないとき、拡張モジュール110は通常の動作モードである第1モードにて動作する。この第1モードは、制御モジュール100との通信が遮断されることなく、制御通信により拡張モジュール110が制御モジュール100と協調動作を行うモードである。通常時には、拡張モジュール110はこの第1モードにて動作する。
後述のトリガ検出部114がトリガを検出したとき、モード切替部113は、拡張モジュール110と制御モジュール100との通信の一部または全部を遮断する第2モードへと動作モードを切り替える。動作モードが第2モードへと切り替わると、処理実行部112が第2モードに対応した動作、つまり制御モジュール100との通信の一部あるいは全部を遮断した動作に対応する処理を実行する。
トリガ検出部114は、特定の状況となったときに、当該状況をトリガとして検出する。具体的に、トリガ検出部114は例えば、予め定められたタイミングとなったときと、制御モジュール100が予め定められたプログラム命令を実行したときと、制御モジュール100の異常を検知したときと、の少なくともいずれかをトリガとして検出する。
以下、図9及び図10を参照しながら、上述のモード切替について説明する。図9は制御通信のみを遮断する場合のものを示し、図10は制御通信のみでなく制御モジュール100と拡張モジュール110との間の入出力通信も遮断する場合のものを示す。
図9に示す場合においては、トリガが発生してモードが切り替わると、制御通信が遮断される。その結果、制御モジュール100及び拡張モジュール110は制御通信に依存する処理を実行しなくなるため、その分処理負担が軽減し、応答時間が短縮される。
図10に示す場合においては、トリガが発生してモードが切り替わると、制御通信が遮断され、かつ制御モジュール100と拡張モジュール110との入出力通信も遮断される。そして拡張モジュール110は、協調動作ではなく単独動作をする。その結果、制御モジュール100は通信に依存する処理を実行しなくなり、拡張モジュール110は制御通信に依存する処理を実行しなくなるため、その分処理負担が軽減し、応答時間が短縮される。
次に、制御モジュール100、拡張モジュール110及びプログラム作成装置40(以下、制御モジュール100等という)のハードウェア構成の一例について、図11を参照しながら説明する。図11に示す制御モジュール100等は、例えばパーソナルコンピュータ、マイクロコントローラなどのコンピュータにより実現される。
制御モジュール100等は、バス1000を介して互いに接続された、プロセッサ1001と、メモリ1002と、インタフェース1003と、二次記憶装置1004と、を備える。
プロセッサ1001は、例えばCPU(Central Processing Unit:中央演算装置)である。プロセッサ1001が、二次記憶装置1004に記憶された動作プログラムをメモリ1002に読み込んで実行することにより、制御モジュール100等の各機能が実現される。
メモリ1002は、例えば、RAM(Random Access Memory)により構成される主記憶装置である。メモリ1002は、プロセッサ1001が二次記憶装置1004から読み込んだ動作プログラムを記憶する。この動作プログラムは、例えばファームウェアである。また、メモリ1002は、プロセッサ1001が動作プログラムを実行する際のワークメモリとして機能する。
インタフェース1003は、例えばシリアルポート、USB(Universal Serial Bus)ポート、ネットワークインタフェースなどのI/O(Input/Output)インタフェースである。インタフェース1003により、通信部101、通信部111及び通信部401の機能が実現される。
二次記憶装置1004は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)である。二次記憶装置1004は、プロセッサ1001が実行する動作プログラムを記憶する。二次記憶装置1004により記憶部104、記憶部115及び記憶部408の機能が実現される。
次に、図12を参照しながら、プログラム作成装置40による実行周期決定の動作の一例を説明する。なお、図12に示す動作の開始前に、すでにプログラム作成装置40のプログラム作成部402にて制御プログラムが作成されているものとする。
プログラム作成装置40の優先度設定部403は、各タスクの優先度を設定する(ステップS101)。
プログラム作成装置40の周期決定部404は、上記(iii)の関係が成り立つように、つまり、高優先タスクの処理時間×2+他のタスクの1周期あたりの処理時間≦高優先タスクの設定応答時間、という関係が成り立つように時分割処理を決定する(ステップS102)。
周期決定部404は、ステップS102にて決定した時分割処理に基づいて、高優先タスクの実行周期とタスク全体の実行周期とを決定する(ステップS103)。
プログラム作成装置40の対応付け部405は、制御プログラムと、ステップS101にて設定された優先度と、ステップS103にて決定された実行周期とを対応付ける(ステップS104)。そしてプログラム作成装置40は、実行周期決定の動作を終了する。なお、この後プログラム作成装置40のPLC設定部406が、制御プログラムと優先度を示す情報と実行周期を示す情報とをPLC10の制御モジュール100に送信する。これにより、制御モジュール100の処理実行部102が、設定された優先度と決定された実行周期とに基づいて制御プログラムを実行することができる。
次に、図13を参照しながら、拡張モジュール110による通信遮断の動作の一例を説明する。なお、図13に示す動作の開始時には、拡張モジュール110は通常の動作モードである第1モードにて動作しているものとする。
拡張モジュール110のトリガ検出部114は、トリガを検出したか否かを判定する(ステップS201)。
トリガを検出していないとき(ステップS201:No)、拡張モジュール110は、ステップS201の動作を繰り返す。
トリガを検出しているとき(ステップS201:Yes)、拡張モジュール110のモード切替部113は、動作モードを第1モードから第2モードに切り替える(ステップS202)。
処理実行部112は、動作モードが第2モードに切り替わったのに応じて、制御モジュール100との通信を遮断する(ステップS203)。ここで、拡張モジュールの設定に応じて、制御モジュール100との通信のうち一部の通信が遮断されるか全ての通信が遮断されるかは変わりうる。そして拡張モジュール110は通信遮断の動作を終了する。
以上、実施の形態1に係る制御システム1を説明した。制御システム1によれば、高優先度のタスクを設定応答時間以内に実行できるようにプログラム作成装置40が実行周期を決定するので、高優先度のタスクの応答時間を容易に短縮できる。つまり、応答時間の管理が容易となる。また、制御システム1によれば、トリガが検出されたときに拡張モジュール110が制御モジュール100との通信を遮断するので、当該通信に関する処理を実行する必要がなくなり、処理負担が軽減する。その結果、応答時間が短縮する。つまり、応答時間の管理が容易となる。
(実施の形態2)
図面を参照しながら、実施の形態2に係る制御システム1を説明する。実施の形態2に係る制御システム1の全体構成は図1に示す実施の形態1の場合と同様である。実施の形態2に係るプログラム作成装置40は、ユーザによる制御プログラムの作成において、例えば図14に示すようなGUI(Graphical User Interface)を表示する。この際、プログラム作成装置40は、「追加配置可能数」の欄にて、現状の設定応答時間を維持したまま追加可能なファンクションブロック(FB)の個数と、各FBの実行時間とを表示する。また、プログラム作成装置40は、現在の制御プログラムにおける設定応答時間及び処理時間を示す情報と、プログラム実行周期についての現在の設定値及び設定可能範囲とを表示する。なお、図14に示す各FBの下部に表示されている0.1ms、0.2ms等の記載は、各FBの実行時間を示す。
プログラム作成装置40が図14に示すようなGUIを表示することにより、ユーザは、設定応答時間を維持したままどのようなFBを追加できるかを把握できる。つまり、応答時間の管理が容易なものとなる。また、ユーザは、処理時間を確認しながらプログラム実行周期を設定できるので、プログラム実行周期を容易に変更することができる。
実施の形態2に係るプログラム作成装置40の機能的構成は図2に示すものと概ね同様だが画面生成部407の機能に追加点がある。実施の形態2に係る画面生成部407は、作成された制御プログラムを示す画面を生成する。画面生成部407は、例えば図14に示すようなGUIにより、制御プログラムをFB単位で表示する。また、画面生成部407は、設定応答時間、処理時間及びプログラム実行周期を示す表示を当該画面上に生成する。また、画面生成部407は、応答時間が設定応答時間以内となる範囲で制御プログラムに追加可能な命令の種類と、各命令について追加可能な命令の数とを示す表示を当該画面上に生成する。図14においては、追加可能な命令の種類はFBにて表現される。そして図14においては、FBごとに追加可能な命令の数と、当該命令の実行時間とが表示されている。図14においては、現時点での制御プログラムの応答時間は、各FBの実行時間を合計した0.5msである。設定応答時間は5msなので、4.5msの分だけ命令を追加することができる。
以上、実施の形態2に係る制御システム1を説明した。実施の形態2に係る制御システム1によれば、PLC10の制御プログラムをGUIにて表示するので、ユーザは視覚的に制御プログラムを認識することができる。また、実施の形態2に係る制御システム1によれば、応答時間が設定応答時間以内となる範囲でどの命令をどの数だけ追加できるかをユーザが把握できるようになる。そのため、ユーザは、新たな命令を制御プログラムに追加しようとする際に、応答時間の管理が容易なものとなる。
(変形例)
上記の各実施の形態においては、制御モジュール100の処理実行部102が制御プログラムを実行するものとしたが、制御モジュール100の処理実行部102のみでなく拡張モジュール110の処理実行部112も制御プログラムを実行可能なものであってもよい。
図11に示すハードウェア構成においては、制御モジュール100等が二次記憶装置1004を備えている。しかし、これに限らず、二次記憶装置1004を制御モジュール100等の外部に設け、インタフェース1003を介して制御モジュール100等と二次記憶装置1004とが接続される形態としてもよい。この形態においては、USBフラッシュドライブ、メモリカードなどのリムーバブルメディアも二次記憶装置1004として使用可能である。
また、図11に示すハードウェア構成に代えて、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)、FPGA(Field Programmable Gate Array)などを用いた専用回路により制御モジュール100等を構成してもよい。また、図11に示すハードウェア構成において、制御モジュール100等の機能の一部を、例えばインタフェース1003に接続された専用回路により実現してもよい。
制御モジュール100等で用いられるプログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、USBフラッシュドライブ、メモリカード、HDD等のコンピュータ読み取り可能な記録媒体に格納して配布することが可能である。そして、かかるプログラムをコンピュータにインストールすることによって、当該コンピュータを制御モジュール100等として機能させることが可能である。
また、上述のプログラムをインターネット上の他のサーバが有する記憶装置に格納しておき、当該サーバから上述のプログラムがダウンロードされるようにしてもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
1 制御システム、10 PLC、20 入力機器、30 出力機器、40 プログラム作成装置、100 制御モジュール、101 通信部、102 処理実行部、103 プログラム取得部、104 記憶部、110 拡張モジュール、111 通信部、112 処理実行部、113 モード切替部、114 トリガ検出部、115 記憶部、401 通信部、402 プログラム作成部、403 優先度設定部、404 周期決定部、405 対応付け部、406 PLC設定部、407 画面生成部、408 記憶部、409 表示部、410 操作部、1000 バス、1001 プロセッサ、1002 メモリ、1003 インタフェース、1004 二次記憶装置。

Claims (3)

  1. ユーザの入力に基づいて、プログラマブルロジックコントローラにて実行される制御プログラムを作成するプログラム作成手段と、
    前記制御プログラムにより実行される複数の制御処理を時分割処理のためにタスク単位で分割し、タスク単位で分割されたそれぞれの制御処理に優先度を設定する優先度設定手段と、
    前記それぞれの制御処理に設定された優先度に基づいて、前記時分割処理における実行周期を決定する周期決定手段と、
    前記制御プログラムに、前記優先度と前記実行周期とを対応付ける対応付け手段と、
    前記制御プログラムに基づいて、応答時間が予め定められた設定応答時間以内となる範囲で前記制御プログラムに追加可能な命令と、前記追加可能な命令の数とを含む画面を生成する画面生成手段と、
    を備えるプログラム作成装置。
  2. コンピュータが、
    ユーザの入力に基づいて、プログラマブルロジックコントローラにて実行される制御プログラムを作成し、
    前記制御プログラムにより実行される複数の制御処理を時分割処理のためにタスク単位で分割し、
    タスク単位で分割された複数の制御処理のそれぞれの制御処理に優先度を設定し、
    前記それぞれの制御処理に設定された優先度に基づいて、前記時分割処理における実行周期を決定し、
    前記制御プログラムに、前記優先度と前記実行周期とを対応付け、
    前記制御プログラムに基づいて、応答時間が予め定められた設定応答時間以内となる範囲で前記制御プログラムに追加可能な命令と、前記追加可能な命令の数とを含む画面を生成する、
    プログラム作成方法。
  3. コンピュータを、
    ユーザの入力に基づいて、プログラマブルロジックコントローラにて実行される制御プログラムを作成するプログラム作成手段、
    前記制御プログラムにより実行される複数の制御処理を時分割処理のためにタスク単位で分割し、タスク単位で分割されたそれぞれの制御処理に優先度を設定する優先度設定手段、
    前記それぞれの制御処理に設定された優先度に基づいて、前記時分割処理における実行周期を決定する周期決定手段、
    前記制御プログラムに、前記優先度と前記実行周期とを対応付ける対応付け手段、
    前記制御プログラムに基づいて、応答時間が予め定められた設定応答時間以内となる範囲で前記制御プログラムに追加可能な命令と、前記追加可能な命令の数とを含む画面を生成する画面生成手段、
    として機能させプログラム。
JP2022566473A 2022-06-07 2022-06-07 プログラム作成装置、プログラム作成方法及びプログラム Active JP7241989B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022927 WO2023238220A1 (ja) 2022-06-07 2022-06-07 プログラム作成装置、プログラム作成方法及びプログラム

Publications (1)

Publication Number Publication Date
JP7241989B1 true JP7241989B1 (ja) 2023-03-17

Family

ID=85600316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022566473A Active JP7241989B1 (ja) 2022-06-07 2022-06-07 プログラム作成装置、プログラム作成方法及びプログラム

Country Status (2)

Country Link
JP (1) JP7241989B1 (ja)
WO (1) WO2023238220A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10502751A (ja) * 1994-07-19 1998-03-10 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 技術過程またはプロセスの制御方法
JP2012194682A (ja) * 2011-03-15 2012-10-11 Omron Corp 制御装置およびシステムプログラム
WO2019097800A1 (ja) * 2017-11-16 2019-05-23 株式会社日立産機システム コントロール装置
JP2021082027A (ja) * 2019-11-19 2021-05-27 株式会社キーエンス 安全コントローラ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10502751A (ja) * 1994-07-19 1998-03-10 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 技術過程またはプロセスの制御方法
JP2012194682A (ja) * 2011-03-15 2012-10-11 Omron Corp 制御装置およびシステムプログラム
WO2019097800A1 (ja) * 2017-11-16 2019-05-23 株式会社日立産機システム コントロール装置
JP2021082027A (ja) * 2019-11-19 2021-05-27 株式会社キーエンス 安全コントローラ

Also Published As

Publication number Publication date
WO2023238220A1 (ja) 2023-12-14

Similar Documents

Publication Publication Date Title
TWI564685B (zh) 工程工具、程式編輯裝置及程式編輯系統
US10303149B2 (en) Intelligent function unit and programmable logic controller system
US9317397B2 (en) Programmable logic controller (PLC) simulation system, PLC simulator, recording medium, and simulation method
JP6430037B2 (ja) デバッグ支援装置およびデバッグ支援方法
JP2012123673A (ja) 給電切替装置、給電切替装置制御方法、及び給電制御プログラム
JP6139386B2 (ja) プログラマブルコントローラ
EP2733613B1 (en) Controller and program
EP3979148A1 (en) Method and system for displaying machine learning automatic modeling procedure
JP6879625B2 (ja) プログラマブルコントローラ、管理装置および制御システム
JP7241989B1 (ja) プログラム作成装置、プログラム作成方法及びプログラム
WO2023238221A1 (ja) 拡張モジュール、動作モード切替方法及びプログラム
CN112445670B (zh) 一种eMMC测试方法和装置
JP4941674B2 (ja) シミュレーション・システム
JP7155454B1 (ja) プログラマブルロジックコントローラ、端末装置、プログラム管理システム、プログラム管理方法及びプログラム
JP5365875B2 (ja) 産業用コントローラ
KR101981910B1 (ko) 프로그래머블 표시기
KR102505002B1 (ko) 코드 재사용 처리 방법, 장치, 전자 기기, 컴퓨터 판독 가능 저장 매체 및 컴퓨터 프로그램
EP3134789B1 (en) Monitor performance analysis
CN114326507A (zh) 机台控制方法、装置、电子设备及计算机可读存储介质
US11803491B1 (en) Method for controlling a target memory by programmably selecting an action execution circuit module corresponding to a triggered preset state
JP7399372B1 (ja) 通信システム、通信方法、プログラム及び通信装置
US20170060666A1 (en) Controller capable of detecting factor at time of abnormality of pc function
JP6574389B2 (ja) Kvmスイッチ
JP3442083B2 (ja) ジョブ制御システム
WO2020235095A1 (ja) プログラマブルロジックコントローラ、コンピュータ、方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221031

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230307

R150 Certificate of patent or registration of utility model

Ref document number: 7241989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150