JP2015176191A - コントローラ - Google Patents

コントローラ Download PDF

Info

Publication number
JP2015176191A
JP2015176191A JP2014049974A JP2014049974A JP2015176191A JP 2015176191 A JP2015176191 A JP 2015176191A JP 2014049974 A JP2014049974 A JP 2014049974A JP 2014049974 A JP2014049974 A JP 2014049974A JP 2015176191 A JP2015176191 A JP 2015176191A
Authority
JP
Japan
Prior art keywords
task
program
priority
instruction
cycle
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.)
Granted
Application number
JP2014049974A
Other languages
English (en)
Other versions
JP6626240B2 (ja
Inventor
矢尾板 宏心
Koji Yaoita
宏心 矢尾板
達矢 小島
Tatsuya Kojima
達矢 小島
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2014049974A priority Critical patent/JP6626240B2/ja
Priority to EP15761349.8A priority patent/EP3101496A4/en
Priority to PCT/JP2015/050798 priority patent/WO2015136960A1/ja
Priority to CN201580011829.4A priority patent/CN106062648A/zh
Priority to US15/123,061 priority patent/US10139799B2/en
Publication of JP2015176191A publication Critical patent/JP2015176191A/ja
Application granted granted Critical
Publication of JP6626240B2 publication Critical patent/JP6626240B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13086Priority interrupt

Abstract

【課題】対象機器を制御するコントローラにおいて、ユーザプログラムが動作している場合であっても、ユーザプログラムからプログラムを実行するための実行条件を変更可能とし、これによりユーザの利便性を向上させる技術を提供する。
【解決手段】PLCなどのコントローラは、タスクの実行条件を示すタスク実行条件管理テーブル242を記憶し、プログラムを、タスクの実行条件に従って周期的に実行する。コントローラは、タスクの実行条件を変更するための設定用の命令を提供している。ユーザは、サポート装置等により設定用の命令をユーザプログラムに含める。コントローラは、ユーザプログラムに含まれる、各タスクの優先度、タスクの周期などタスクの実行条件を変更する命令を実行することで、命令にかかるタスクについてタスク実行条件管理テーブル242を更新し、更新後のタスクの実行条件に従ってプログラムを実行する。
【選択図】図4

Description

本発明は、ユーザプログラムを周期的またはイベント的に実行する制御装置を含む制御システムおよび制御システムの情報処理装置に関する。
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などの制御装置(コントローラ)を主たる構成とした制御システムによって制御される。
PLCは、たとえば、ユーザプログラムを実行するマイクロプロセッサを含むCPU(Central Processing Unit)ユニット、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当するIO(Input Output)ユニットといった複数のユニットで構成される。それらのユニット間で、ユーザプログラム実行サイクルごとに、PLCシステムバスおよび/またはフィールドネットワークを経由してデータの授受をしながら、PLCは制御動作を実行する。
PLCのCPUユニットは、タスクの割り当てに従って、ユーザプログラムやシステムプログラムなどのプログラムを実行する。PLCにおいて、タスクで実行される処理としては、例えば、CPUユニットがスレーブ機器やI/Oユニットとデータの入出力を行うI/Oリフレッシュ、ユーザプログラムの実行、ユーザプログラムの指令を受けて実行するモーション制御、データトレース処理その他の処理がある。
タスクには、PLCが周期的に繰り返し実行する定周期タスク、予め指定された条件が成立したときにPLCが1回だけ実行するイベントタスクなどがある。各タスクには、実行すべき優先度と、タスクの周期とが設定されている。CPUユニットは、タスクの優先度に従って、各プログラムを実行する。
タスクの割り当てに従って動作するPLCの例として、例えば、特許第4894961号公報(特許文献1)がある。特許文献1には、制御プログラムの実行時間が散発的に長くなりうることを考慮して、PLCのCPUユニットが行う制御データの出力および入力のための通信の周期を、制御プログラムの最大実行時間よりも短い一定時間としうるPLCのCPUユニットについて記載されている。特許文献1には、タスク実行の優先度が高いプログラムと、優先度が低いプログラムとが存在した時に、一定のサイクルタイムの中で、高い優先度のプログラムを実行し、この実行が終了した後に、低い優先度のプログラムの実行を開始することが記載されている。
特許第4894961号公報
しかし、コントローラが使用される状況に応じて、優先したいプログラムやプログラムのサイクルタイム等が異なることがある。例えば、コントローラの立ち上げ時や上位のシステムとの通信時と、高速な処理が求められる場合とではプログラムに求められるサイクルタイムや優先度が異なることがある。
そこで、本発明の目的は、コントローラにおいて、プログラムが動作している場合であっても、プログラムを実行するための実行条件を変更可能とし、これによりユーザの利便性を向上させる技術を提供することを目的とする。
本発明のある局面に係るコントローラは、対象機器を制御するためのものである。コントローラは、ユーザプログラムを含む複数のプログラムと、タスクの実行条件を示すタスク情報とを記憶するための記憶部と、プログラムを、タスク情報に示される実行条件に従って周期的に実行する制御部とを備える。コントローラは、制御部がユーザプログラムを周期的に実行することで対象機器を制御する。ユーザプログラムには、タスクの実行条件を変更するための設定用の命令を含めることが可能である。制御部は、ユーザプログラムに含まれる設定用の命令を実行することにより、記憶部のタスク情報を更新し、更新後のタスクの実行条件に従ってプログラムを実行する。
好ましくは、タスク情報に示される実行条件には、タスクを実行する優先度が含まれ、制御部は、タスクの優先度に従ってプログラムを周期的に実行し、設定用の命令には、タスクの優先度を変更する命令が含まれ、制御部は、ユーザプログラムに含まれる、タスクの優先度を変更する命令を実行することにより、命令にかかるタスクの優先度を変更してタスク情報を更新することとしてもよい。
好ましくは、タスク情報に示される実行条件には、タスクを実行する周期が含まれ、設定用の命令には、タスクを実行する周期を変更する命令が含まれ、制御部は、ユーザプログラムに含まれる、タスクの周期を変更する命令を実行することにより、命令にかかるタスクの周期を変更してタスク情報を更新する、こととしてもよい。
好ましくは、タスク情報に示される実行条件には、タスクを実行する優先度と、タスクを実行する周期が含まれ、制御部は、タスクの優先度および周期に従ってプログラムを周期的に実行し、設定用の命令には、タスクの優先度を変更する命令と、タスクの周期を変更する命令との少なくともいずれか一方が含まれ、制御部は、ユーザプログラムに含まれる、タスクの優先度を変更する命令とタスクの周期を変更する命令とを実行することにより、命令にかかるタスクの優先度または周期の少なくともいずれかを変更してタスク情報を更新する、こととしてもよい。
本発明によれば、ユーザプログラムから各プログラムを実行する優先度やプログラムによりコントローラを動作させる周期を変更することができ、コントローラの動作を効率化することができる。
本実施の形態に係る制御システム1のシステム構成を示す模式図である。 本実施の形態に係るPLC100の主要部を示すハードウェア構成を示す模式図である。 本実施の形態に係るPLC100のソフトウェア構成を示す模式図である。 タスク実行条件管理テーブル242を示す図である。 各タスクの実行順序の一例を示した図である。 タスクの実行条件を変更するための命令の例を示す図である。 CPUユニット104がユーザプログラムに含まれる命令を実行してタスクの優先度を変更する場合の各タスクの実行順序を示す図である。 CPUユニット104がユーザプログラムに含まれる命令を実行してタスクの周期を変更する場合の各タスクの実行順序を示す図である。 CPUユニット104がユーザプログラムに含まれる命令を実行してタスクの優先度およびタスクの周期を変更する場合の各タスクの実行順序を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.システム構成>
まず、本実施の形態に係る制御システムのシステム構成について説明する。本実施の形態においては、機械や設備などの制御対象を制御するプログラマブルコントローラ(PLC)を制御装置の典型例として説明を行う。但し、本発明に係る制御装置は、PLCに限られることなく、各種の制御装置へ適用可能である。
図1は、本実施の形態に係る制御システム1のシステム構成を示す模式図である。図1を参照して、制御システム1は、PLC100と、PLC100に接続されるサポート装置300と、PLC100からのアクセスを受けるデータベース装置400とを含む。PLC100は、後述するようなユーザプログラムを周期的またはイベント的に実行する。このユーザプログラムにアクセス命令を含めることができ、PLC100は、このアクセスに従って、データベース装置400にアクセスすることができる。すなわち、PLC100およびデータベース装置400は、イーサネット(登録商標)などのネットワーク112を介して、データを互いに遣り取りできるように構成される。
サポート装置300は、PLC100に接続可能な情報処理装置の典型例である。サポート装置300は、接続ケーブル114を介してPLC100に接続され、PLC100との間で各種パラメータの設定、プログラミング、モニタ、デバッグなどの機能を提供する。PLC100とサポート装置300との間は、典型的には、USB(Universal Serial Bus)規格に従って通信可能に構成される。
PLC100は、制御演算を実行するCPUユニット104と、1つ以上のIO(Input/Output)ユニット106とを含む。これらのユニットは、PLCシステムバス108を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット102によって適切な電圧の電源が供給される。
制御システム1において、PLC100は、(PLCシステムバス108を介して接続される)IOユニット106を介して、および/または、フィールドバス110を介して、各種のフィールド機器との間でデータを遣り取りする。これらのフィールド機器は、制御対象に対して何らかの処理を行うためのアクチュエータや、制御対象から各種情報を取得するためのセンサなどを含む。図1には、このようなフィールド機器の一例として、検出スイッチ10、リレー20およびモータ32を駆動するサーボモータドライバ30を含む。また、PLC100は、フィールドバス110を介してリモートIOターミナル200も接続されている。リモートIOターミナル200は、基本的には、IOユニット106と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートIOターミナル200は、フィールドバス110でのデータ伝送に係る処理を行うための通信カプラ202と、1つ以上のIOユニット204とを含む。これらのユニットは、リモートIOターミナルバス208を介して、データを互いに遣り取りできるように構成される。
<B.PLC100の構成>
次に、本実施の形態に係るPLC100の構成について説明する。図2は、本実施の形態に係るPLC100の主要部を示すハードウェア構成を示す模式図である。図3は、本実施の形態に係るPLC100のソフトウェア構成を示す模式図である。
図2を参照して、PLC100のCPUユニット104のハードウェア構成について説明する。CPUユニット104は、プロセッサ120と、チップセット122と、システムクロック124と、主メモリ126と、不揮発性メモリ128と、USBコネクタ130と、PLCシステムバスコントローラ140と、フィールドバスコントローラ150と、上位通信コントローラ160と、メモリカードインターフェイス170とを含む。チップセット122と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
プロセッサ120およびチップセット122は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、プロセッサ120は、チップセット122から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット122は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ120に必要な命令コードを生成する。システムクロック124は、予め定められた周期のシステムクロックを発生してプロセッサ120に提供する。チップセット122は、プロセッサ120での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
CPUユニット104は、記憶手段として、主メモリ126および不揮発性メモリ128を有する。主メモリ126は、揮発性の記憶領域であり、プロセッサ120で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。不揮発性メモリ128は、OS(Operating System)、システムプログラム、ユーザプログラム、データ定義情報、ログ情報などを不揮発的に保持する。
USBコネクタ130は、サポート装置300とCPUユニット104とを接続するためのインターフェイスである。典型的には、サポート装置300から転送される実行可能なプログラムなどは、USBコネクタ130を介してCPUユニット104に取込まれる。
CPUユニット104は、通信手段として、PLCシステムバスコントローラ140、フィールドバスコントローラ150、および上位通信コントローラ160を有する。これらの通信回路は、データの送信および受信を行う。
PLCシステムバスコントローラ140は、PLCシステムバス108を介したデータの遣り取りを制御する。より具体的には、PLCシステムバスコントローラ140は、バッファメモリ142と、PLCシステムバス制御回路144と、DMA(Dynamic Memory Access)制御回路146とを含む。PLCシステムバスコントローラ140は、PLCシステムバスコネクタ148を介してPLCシステムバス108と接続される。
フィールドバスコントローラ150は、バッファメモリ152と、フィールドバス制御回路154と、DMA制御回路156とを含む。フィールドバスコントローラ150は、フィールドバスコネクタ158を介してフィールドバス110と接続される。上位通信コントローラ160は、バッファメモリ162と、上位通信制御回路164と、DMA制御回路166とを含む。上位通信コントローラ160は、上位通信コネクタ168を介してネットワーク112と接続される。
メモリカードインターフェイス170は、CPUユニット104に対して着脱可能なメモリカード172とプロセッサ120とを接続する。
<C.CPUユニットのソフトウェア構成>
次に、図3を参照して、本実施の形態に係る各種機能を提供するためのソフトウェア群について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、CPUユニット104のプロセッサ120によって実行される。
図3は、本発明の実施の形態に係るCPUユニット104で実行されるソフトウェア構成を示す模式図である。図3を参照して、CPUユニット104で実行されるソフトウェアとしては、リアルタイムOS200と、システムプログラム210と、ユーザプログラム236との3階層になっている。
リアルタイムOS200は、CPUユニット104のコンピュータアーキテクチャに応じて設計されており、プロセッサ120がシステムプログラム210およびユーザプログラム236を実行するための基本的な実行環境を提供する。このリアルタイムOSは、典型的には、PLCのメーカーあるいは専門のソフトウェア会社などによって提供される。
システムプログラム210は、PLC100としての機能を提供するためのソフトウェア群である。具体的には、システムプログラム210は、スケジューラプログラム212と、出力処理プログラム214と、入力処理プログラム216と、シーケンス命令演算プログラム232と、モーション演算プログラム234と、その他のシステムプログラム220とを含む。なお、一般には出力処理プログラム214および入力処理プログラム216は、連続的(一体として)に実行されるので、これらのプログラムを、IO処理プログラム218と総称する場合もある。
ユーザプログラム236は、ユーザにおける制御目的に応じて作成される。すなわち、制御システム1を用いて制御する対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。
後述するように、ユーザプログラム236は、シーケンス命令演算プログラム232およびモーション演算プログラム234と協働して、ユーザにおける制御目的を実現する。すなわち、ユーザプログラム236は、シーケンス命令演算プログラム232およびモーション演算プログラム234によって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。そのため、ユーザプログラム236、シーケンス命令演算プログラム232、およびモーション演算プログラム234を、制御プログラム230と総称する場合もある。
このように、CPUユニット104のプロセッサ120は、記憶手段に格納されたシステムプログラム210およびユーザプログラム236を実行する。
以下、各プログラムについてより詳細に説明する。
ユーザプログラム236は、上述したように、ユーザにおける制御目的(たとえば、対象のラインやプロセス)に応じて作成される。ユーザプログラム236は、典型的には、CPUユニット104のプロセッサ120で実行可能なオブジェクトプログラム形式になっている。このユーザプログラム236は、サポート装置300などにおいて、ラダー言語などによって記述されたソースプログラムがコンパイルされることで生成される。そして、生成されたオブジェクトプログラム形式のユーザプログラム236は、サポート装置300から接続ケーブル10を介してCPUユニット104へ転送され、不揮発性メモリ128などに格納される。
スケジューラプログラム212は、出力処理プログラム214、入力処理プログラム216、および制御プログラム230について、各実行サイクルでの処理開始および処理中断後の処理再開を制御する。より具体的には、スケジューラプログラム212は、タスクの実行を制御する。タスクは、割り付けられたプログラム(IO処理プログラム218、制御プログラム230など)を順次実行する。
スケジューラプログラム212は、タスクの優先度の設定、タスクの周期の設定などのタスクの実行条件の設定に従って、これらプログラムによる処理の実行順序などを管理する。各タスクの実行条件の設定は、後述するタスク実行条件管理テーブル242により管理されている。本実施形態の制御システム1では、各タスクについて、タスクの実行優先度やタスク実行の周期などの実行条件を変更するための命令(設定用の命令)が提供されており、この命令をユーザプログラム236に含めることができる。CPUユニット104は、ユーザプログラム236に含まれる、各タスクの実行条件を変更するための命令を実行することで、各タスクの優先度、各タスクの周期などを変更する。このように、制御システム1は、タスクの優先度を、ユーザプログラムから変更することができる。
出力処理プログラム214は、ユーザプログラム236(制御プログラム230)の実行によって生成された出力データを、PLCシステムバスコントローラ140および/またはフィールドバスコントローラ150へ転送するのに適した形式に再配置する。PLCシステムバスコントローラ140またはフィールドバスコントローラ150が、プロセッサ120からの、送信を実行するための指示を必要とする場合は、出力処理プログラム214がそのような指示を発行する。
入力処理プログラム216は、PLCシステムバスコントローラ140および/またはフィールドバスコントローラ150によって受信された入力データを、制御プログラム230が使用するのに適した形式に再配置する。
シーケンス命令演算プログラム232は、ユーザプログラム236で使用されるある種のシーケンス命令が実行されるときに呼び出されて、その命令の内容を実現するために実行されるプログラムである。
モーション演算プログラム234は、ユーザプログラム236による指示に従って実行され、サーボモータドライバ30やパルスモータドライバといったモータドライバに対して出力する指令値を算出するプログラムである。
その他のシステムプログラム220は、図3に個別に示したプログラム以外の、PLC100の各種機能を実現するためのプログラム群をまとめて示したものである。その他のシステムプログラム220は、DBアクセス処理プログラム192を含む。DBアクセス処理プログラム192は、ユーザプログラム236の実行に伴って、データベース装置400へアクセスするために必要な処理を実現するための命令コード群を含む。DBアクセス処理プログラム192は、ユーザプログラム236において指定可能な命令に対応する実行コードを含む。
モーション制御サイクルの周期を指定する情報の形式としては、モーション制御サイクルの周期を示す時間の値や、モーション制御サイクルの周期に関する予め用意された複数の選択肢のうちから1つを特定する情報(番号または文字)などを採用することができる。
リアルタイムOS200は、複数のプログラムを時間の経過に従い切り換えて実行するための環境を提供する。本実施の形態に係るPLC100においては、CPUユニット104のプログラム実行によって生成された出力データを他のユニットまたは他の装置へ出力(送信)するためのイベント(割り込み)として、出力準備割り込み(P)およびフィールドネットワーク送信割り込み(X)が初期設定される。リアルタイムOS200は、出力準備割り込み(P)またはフィールドネットワーク送信割り込み(X)が発生すると、プロセッサ120での実行対象を、割り込み発生時点で実行中のプログラムからスケジューラプログラム212に切り換える。
なお、リアルタイムOS200は、スケジューラプログラム212およびスケジューラプログラム212がその実行を制御するプログラムが何ら実行されていない場合に、その他のシステムプログラム210に含まれているプログラムを実行する。このようなプログラムとしては、たとえば、CPUユニット104とサポート装置300との間の接続ケーブル10(USB)などを介した通信処理に関するもの、CPUユニット104と、上位の装置(データベース装置400など)との通信処理に関するものなどが含まれる。
<D.データ構造>
図4を参照して、CPUユニット104が使用するデータについて説明する。
図4は、タスク実行条件管理テーブル242を示す図である。図4に示すように、タスク実行条件管理テーブル242は、各タスクをCPUユニット104が実行するための条件を示し、例えば、各タスクを実行する優先度と、各タスクの周期とを示す。タスク実行条件管理テーブル242の各レコードは、タスク名244と、実行優先度246と、タスク周期248とを含む。
タスク名244は、各タスクの名称を示す。
実行優先度246は、各タスクの優先度の設定値を示す。優先度の設定値は、例えば、最も高い優先度である優先度「高」、次に優先度が高い優先度「中」、最も優先度が低い優先度「低」がある。この他に、優先度の設定値は3段階に限らず、さらに多くの段階に設定可能であるとしてもよい。
タスク周期248は、各タスクを実行する周期を示す。例えば、最も優先度が高い優先度「高」のタスクの周期を基準とし、他の優先度のタスクは、優先度「高」のタスクの周期の整数倍であるとしてもよい。
図5は、各タスクの実行順序の一例を示した図である。図5を参照して、CPUユニット104は、優先度の設定が優先度「高」、周期「T1」の定周期タスクと、優先度の設定が優先度「中」、周期「T2」の定周期タスクとを、タスクの実行条件に従って実行する。優先度「高」の定周期タスクは、CPUユニット104の中で最高優先度のタスクである。
優先度「中」の定周期タスク実行中に高優先度定周期タスクが実行可能になった場合、優先度「中」の定周期タスクは、優先度「高」のタスクよりも優先度が低いため一旦中断され、優先度「高」の定周期タスクが実行される。優先度「高」の定周期タスクの完了後、優先度「中」の定周期タスクの実行が再開される。なお、優先度「中」の定周期タスクの周期T2は、優先度「高」の定周期タスクの周期T1の整数倍である。図5は、T2=2T1(周期T2が周期T1の2倍の周期)の場合を表している。
図5においては、スケジューラプログラムを「SC」と、出力・入力処理プログラムを「OI」と、ユーザプログラム236を「UPRG」と、モーション演算プログラム234を「MC」と表記している。また、図5では、説明の便宜上、各OI、各MCを識別するために、それぞれに異なる参照符合701〜707を付している。
PLC100の実行中においては、プロセッサ120が、少なくとも、出力・入力処理プログラム(出力処理プログラム214および入力処理プログラム216)と、ユーザプログラム236と、モーション演算プログラム234とが実行可能な状態になっている。厳密に言えば、リアルタイムOS200がそれぞれのプログラムに係るプロセス(または、スレッド)を実行可能な状態に保持しており、スケジューラプログラム212がリアルタイムOS200およびハードウェアリソース(システムクロック124など)を利用することで、各プログラムが適切なタイミングかつ適切な順序で実行される。このように、それぞれのプログラムに係る実行の開始/中断/終了などは、スケジューラプログラム212によって制御される。
<E.タスクの実行条件を変更するための命令>
図6を参照して、ユーザプログラム236に含めることができる、タスクの実行条件を変更するための命令について説明する。実施の形態1のPLC100において、ユーザプログラム236には、タスクの実行条件(タスクの優先度の設定、タスクを実行する周期の設定)を変更するための命令を含めることができる。PLC100のCPUユニット104は、ユーザプログラム236に含まれる、タスクの実行条件を変更するための命令を実行することにより、タスク実行条件管理テーブル242に示される各タスクの優先度の設定と、タスクを実行する周期の設定のいずれかまたは両方を変更することができる。
スケジューラプログラム212は、タスク実行条件管理テーブル242に示される各タスクの優先度および各タスクの周期に従って、プログラムの実行順序を各サイクルについて制御する。例えば、スケジューラプログラム212は、ある処理の完了など何らかの条件が成立することにより、タスク実行条件管理テーブル242を参照して各タスクの優先度および各タスクの周期を取得し、取得したタスクの優先度およびタスクの周期の設定に従って、各プログラムの実行順序を管理する。
図6は、タスクの実行条件を変更するための命令の例を示す図である。図6では、サポート装置300のディスプレイ310において、ユーザがタスク実行条件変更命令320を編集している画面の例を示している。図6に示すように、タスクの実行条件を変更するための命令「ChangeTaskProperties」により、ユーザは、タスク名称「TaskName」、タスク周期「TaskInterval」、タスクの実行優先度「TaskPriority」を設定することができる。タスク実行条件変更命令320は、例えば、ファンクションブロック形式で記述することができる。タスク実行条件変更命令320は、PLC100のCPUユニット104によって実行されることにより、指定されたタスクの優先度またはタスクの実行周期のいずれかまたは両方を変更してタスク実行条件管理テーブル242を更新する。
<F.動作>
次に、CPUユニット104がユーザプログラム236に含まれる命令を実行することで、各タスクの優先度を変更する場合の動作の例を説明する。
<F1.ユーザプログラムからのタスク優先度の変更>
図7は、CPUユニット104がユーザプログラムに含まれる命令を実行してタスクの優先度を変更する場合の各タスクの実行順序を示す図である。図7(A)は、タスク「B」の優先度が優先度「中」の場合の各タスクの実行順序を示す。図7(B)は、タスク「B」の優先度が優先度「低」の場合の各タスクの実行順序を示す。なお、図7(A)および図7(B)において、ユーザプログラムに含まれる命令(ファンクションブロック)を「FB」とする。命令801と命令803とは、タスクの実行条件を変更するための命令である。
図7(A)に示すように、CPUユニット104が、ユーザプログラム800を実行し、このユーザプログラム800に含まれる命令801を実行すると、タスク「B」の優先度が優先度「中」から優先度「低」へ変更される。以降、図7(B)に示すように各タスクが実行される。図7(B)において、CPUユニット104が、ユーザプログラム802を実行し、このユーザプログラム802に含まれる命令803を実行すると、タスク「B」の優先度が優先度「低」から優先度「中」へ変更される。
例えば、制御システム1において、各装置が製品を生産している場合と、生産用のパラメータであるレシピをPLC100がサーバから受信している場合とで、タスクの優先度を変更することで、PLC100の各処理を効率的に動作させることができる。具体的には、例えば、制御システム1の処理を、製品の生産をするための処理からレシピを受信する処理へと切り替えるとする。この時、タスク「B」の優先度を、タスク「通信処理タスク」よりも低くすることで、PLC100による通信処理が効率的に行われ、レシピデータの受信処理を高速化することができる。また、制御システム1の処理を、レシピを受信する処理から製品の生産をするための処理へと切り替えるとする。この時、タスク「B」の優先度を変更してタスク「通信処理タスク」と同等またはそれ以上の優先度とすることで、製品の生産を効率的にすることができる。
<F2.ユーザプログラムからのタスク周期の変更>
図8は、CPUユニット104がユーザプログラムに含まれる命令を実行してタスクの周期を変更する場合の各タスクの実行順序を示す図である。図8(A)は、タスク「A」の周期と、タスク「通信処理タスク」の周期とが、ともに周期「T1」である場合の各タスクの実行順序を示す。図8(B)は、タスク「A」の周期と、タスク「通信処理タスク」の周期とが、ともに周期「T2」である場合の各タスクの実行順序を示す。なお、図8において、タスク「A」の優先度は、タスク「通信処理タスク」の優先度よりも高いものとする。命令805と命令807とは、タスクの実行条件を変更するための命令である。
図8(A)に示すように、CPUユニット104は、各タスクの周期に従ってプログラムを実行する。CPUユニット104は、周期「T1」の期間において、まずタスク「A」の処理を実行し、タスク「A」の処理が終了した残りの時間内にタスク「通信処理タスク」を実行する。CPUユニット104が、ユーザプログラム804を実行し、このユーザプログラム804に含まれる命令805を実行すると、タスク「A」の周期とタスク「通信処理タスク」の周期とが、周期「T1」から周期「T2」へと変更される。以降、図8(B)に示すように各タスクが実行される。
図8(A)と図8(B)とを比較すると、図8(B)の方が、各タスクの周期が長くなっている。そのため、図8(B)の状態では、タスク「通信処理タスク」が、図8(A)の状態と比較して、より長い期間実行されている。そのため、図8(B)の状態において、CPUユニット104が外部の機器(例えば、データベース装置400など)と通信している期間は、図8(A)の状態よりも長くなる。
図8(B)において、CPUユニット104が、ユーザプログラム806を実行し、このユーザプログラム806に含まれる命令807を実行すると、タスク「A」の周期とタスク「通信処理タスク」の周期とが、周期「T2」から周期「T1」へと変更される。
例えば、制御システム1において、装置の立ち上げ時や装置を調整する局面など、状況に応じて各装置の制御処理と通信処理とのバランスを調整したいことがある。ここで、各装置を制御するためのタスク(図8の例では、タスク「A」など)の周期を調整することで、タスク「通信処理タスク」の処理の時間を調整することができる。
例えば、制御システム1の設計時には、装置の制御処理を優先してタスクの周期を短く設定することがある。一方、通信処理にある程度の余裕が必要である場合に、タスクの周期を長く設定することがある。図8に示す例のように、ユーザプログラムからタスク周期の変更を可能とすることで、装置の立ち上げ時や調整の局面などにおいて、タスク周期を微調整することができ、これらの立ち上げ、調整などの作業を効率よく進めることができる。
<F3.ユーザプログラムからのタスク優先度およびタスク周期の変更>
図9は、CPUユニット104がユーザプログラムに含まれる命令を実行してタスクの優先度およびタスクの周期を変更する場合の各タスクの実行順序を示す図である。図9(A)は、タスク「A」について優先度「高」、周期「T1」であり、タスク「B」について優先度「中」、周期「T2」であり、タスク「通信処理タスク」について優先度「低」、周期「T2」である場合の各タスクの実行順序を示す。図9(B)は、タスク「A」について優先度「高」、周期「T1」であり、タスク「B」について優先度「低」、周期「T3」であり、タスク「通信処理タスク」について優先度「低」、周期「T3」である場合の各タスクの実行順序を示す。命令809と命令811とは、タスクの実行条件を変更するための命令である。
図9(A)に示すように、CPUユニット104が、ユーザプログラム808を実行し、このユーザプログラムに含まれる命令809を実行すると、タスク「B」の優先度が優先度「中」から優先度「低」へと変更され、タスク「B」の周期が周期「T2」から周期「T3」へと変更される。また、ユーザプログラムに含まれる命令809が実行されることにより、タスク「通信処理タスク」の優先度が優先度「低」から優先度「中」へと変更され、タスク「通信処理タスク」の周期が周期「T2」から周期「T3」へと変更される。以降、図9(B)に示すように各タスクが実行される。
図9(A)と図9(B)とを比較すると、図9(B)の方が、タスク「B」およびタスク「通信処理タスク」の周期が長くなり、タスク「通信処理タスク」の優先度がタスク「B」よりも高くなっている。
図9(B)において、CPUユニット104が、ユーザプログラム810を実行し、このユーザプログラム810に含まれる命令811を実行すると、タスク「B」の優先度が優先度「低」から優先度「中」へ変更され、周期「T3」から周期「T2」へと変更される。またタスク「通信処理タスク」の優先度が優先度「中」から優先度「低」へと変更され、周期が周期「T3」から周期「T2」へと変更される。
図7と比較して、優先度を下げるタスクが周期的に動作する場合は、そのタスクの優先度を下げると共に、タスクの周期を長くする。これにより、優先度を下げたタスクが、タスク周期を超過させず動作させることができる。
<G.効果>
制御システムは、通常、プログラムの優先度や周期を予め設定し、設定に従って各プログラムを実行する。これらのシステムにおいて、状況によって優先させたいプログラムやプログラムの周期が異なることがある。例えば、制御装置が、ネットワークを介して接続される上位の装置(データベース装置、サーバなど)に対してデータを送受信する場合や各装置を立ち上げる場合等と、製品の生産時など高速な動作が求められる場合とで、優先させたいプログラムやプログラムのサイクルタイムが異なることがある。本実施形態で説明した制御システム1によると、制御プログラム230が動作中である場合にも、プログラムを実行する優先度や制御装置を動作させるサイクルタイムを変更することができ、制御システム1の動作を効率化することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、10 検出スイッチ、20 リレー、30 サーボモータドライバ、32 モータ、100 PLC、102 電源ユニット、104 CPUユニット、106 IOユニット、108 PLCシステムバス、110 フィールドバス、112 ネットワーク、114 接続ケーブル、120 プロセッサ、122 チップセット、124 システムクロック、126 主メモリ、128 不揮発性メモリ、130 USBコネクタ、140 PLCシステムバスコントローラ、142,152,162 バッファメモリ、144 PLCシステムバス制御回路、146,156,166 DMA制御回路、148 PLCシステムバスコネクタ、150 フィールドバスコントローラ、154 フィールドバス制御回路、158 フィールドバスコネクタ、160 上位通信コントローラ、164 上位通信制御回路、168 上位通信コネクタ、170 メモリカードインターフェイス、172 メモリカード、192 DBアクセス処理プログラム、194 入出力処理プログラム、196 インターフェイス処理プログラム、200 リアルタイムOS、212 スケジューラ、214 出力処理プログラム、216 入力処理プログラム、218 IO処理プログラム、220 その他のシステムプログラム、230 制御プログラム、232 シーケンス命令演算プログラム、234 モーション演算プログラム、236 ユーザプログラム、242 タスク実行条件管理テーブル、300 サポート装置、310 ディスプレイ、400 データベース装置。

Claims (4)

  1. 対象機器を制御するためのコントローラであって、
    ユーザプログラムを含む複数のプログラムと、タスクの実行条件を示すタスク情報とを記憶するための記憶部と、
    前記プログラムを、前記タスク情報に示される実行条件に従って周期的に実行する制御部とを備え、
    前記コントローラは、前記制御部が前記ユーザプログラムを周期的に実行することで前記対象機器を制御し、
    前記ユーザプログラムには、前記タスクの実行条件を変更するための設定用の命令を含めることが可能であり、
    前記制御部は、前記ユーザプログラムに含まれる前記設定用の命令を実行することにより、前記記憶部の前記タスク情報を更新し、更新後の前記タスクの実行条件に従って前記プログラムを実行する、コントローラ。
  2. 前記タスク情報に示される前記実行条件には、前記タスクを実行する優先度が含まれ、
    前記制御部は、タスクの優先度に従って前記プログラムを周期的に実行し、
    前記設定用の命令には、前記タスクの優先度を変更する命令が含まれ、
    前記制御部は、前記ユーザプログラムに含まれる、前記タスクの優先度を変更する命令を実行することにより、前記命令にかかるタスクの優先度を変更して前記タスク情報を更新する、請求項1に記載のコントローラ。
  3. 前記タスク情報に示される前記実行条件には、前記タスクを実行する周期が含まれ、
    前記設定用の命令には、前記タスクを実行する周期を変更する命令が含まれ、
    前記制御部は、前記ユーザプログラムに含まれる、前記タスクの周期を変更する命令を実行することにより、前記命令にかかるタスクの周期を変更して前記タスク情報を更新する、請求項1に記載のコントローラ。
  4. 前記タスク情報に示される前記実行条件には、前記タスクを実行する優先度と、前記タスクを実行する周期が含まれ、
    前記制御部は、タスクの優先度および周期に従って前記プログラムを周期的に実行し、
    前記設定用の命令には、前記タスクの優先度を変更する命令と、前記タスクの周期を変更する命令との少なくともいずれか一方が含まれ、
    前記制御部は、前記ユーザプログラムに含まれる、前記タスクの優先度を変更する命令と前記タスクの周期を変更する命令とを実行することにより、前記命令にかかるタスクの優先度または周期の少なくともいずれかを変更して前記タスク情報を更新する、請求項1に記載のコントローラ。
JP2014049974A 2014-03-13 2014-03-13 コントローラ Active JP6626240B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014049974A JP6626240B2 (ja) 2014-03-13 2014-03-13 コントローラ
EP15761349.8A EP3101496A4 (en) 2014-03-13 2015-01-14 Controller
PCT/JP2015/050798 WO2015136960A1 (ja) 2014-03-13 2015-01-14 コントローラ
CN201580011829.4A CN106062648A (zh) 2014-03-13 2015-01-14 控制器
US15/123,061 US10139799B2 (en) 2014-03-13 2015-01-14 Controller to modify an execution condition during program execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014049974A JP6626240B2 (ja) 2014-03-13 2014-03-13 コントローラ

Publications (2)

Publication Number Publication Date
JP2015176191A true JP2015176191A (ja) 2015-10-05
JP6626240B2 JP6626240B2 (ja) 2019-12-25

Family

ID=54071414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014049974A Active JP6626240B2 (ja) 2014-03-13 2014-03-13 コントローラ

Country Status (5)

Country Link
US (1) US10139799B2 (ja)
EP (1) EP3101496A4 (ja)
JP (1) JP6626240B2 (ja)
CN (1) CN106062648A (ja)
WO (1) WO2015136960A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170046256A (ko) * 2015-10-20 2017-05-02 엘에스산전 주식회사 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법
JP2018084994A (ja) * 2016-11-24 2018-05-31 株式会社日立産機システム コントロールシステム及びコントロール方法
JP6469323B1 (ja) * 2017-09-26 2019-02-13 三菱電機株式会社 コントローラ
CN109388107A (zh) * 2017-08-10 2019-02-26 欧姆龙株式会社 控制装置
JP2019049947A (ja) * 2017-09-12 2019-03-28 オムロン株式会社 制御装置および制御方法
JP2019061466A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 制御装置
WO2019176287A1 (ja) * 2018-03-13 2019-09-19 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
JP2021012569A (ja) * 2019-07-08 2021-02-04 ファナック株式会社 Plc装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6356726B2 (ja) * 2016-05-19 2018-07-11 ファナック株式会社 ラダープログラム解析装置
US11023277B2 (en) 2016-09-20 2021-06-01 Ramon Chips Ltd. Scheduling of tasks in a multiprocessor device

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259115A (ja) * 1993-03-04 1994-09-16 Matsushita Electric Ind Co Ltd プログラマブルコントローラ
JPH0962317A (ja) * 1995-08-25 1997-03-07 Omron Corp プログラマブル制御装置および方法
JPH09251389A (ja) * 1996-03-14 1997-09-22 Omron Corp データ処理装置
JPH1074105A (ja) * 1996-08-29 1998-03-17 Toyo Electric Mfg Co Ltd プログラマブルコントローラ
JPH10133889A (ja) * 1996-10-28 1998-05-22 Omron Corp コントローラの制御周期設定方法および装置
JPH11338447A (ja) * 1998-05-22 1999-12-10 Matsushita Electric Ind Co Ltd 情報処理装置
JP2000132207A (ja) * 1998-10-27 2000-05-12 Hitachi Ltd サイクルタイム設定方式
JP2001265412A (ja) * 2000-03-15 2001-09-28 Omron Corp プログラマブルコントローラ
JP2003181900A (ja) * 2001-12-20 2003-07-02 Omron Corp コントローラ並びにモーション制御装置
JP2004151762A (ja) * 2002-10-28 2004-05-27 Toshiba Corp プログラマブルコントローラ
JP2004272781A (ja) * 2003-03-11 2004-09-30 Nissan Motor Co Ltd 制御周期の動的設定装置および制御周期の動的設定方法
JP2009015557A (ja) * 2007-07-04 2009-01-22 Mitsubishi Electric Corp プログラム開発支援装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3363234A (en) * 1962-08-24 1968-01-09 Sperry Rand Corp Data processing system
CZ222098A3 (cs) * 1996-01-17 1999-05-12 Siemens Aktiengesellschaft Automatizační zařízení
DE10326542B4 (de) * 2003-06-12 2016-12-08 Siemens Aktiengesellschaft Betriebsverfahren und Steuerungsprogramm für eine Zentraleinheit eines Automatisierungssystems sowie Zentraleinheit eines Automatisierungssystems und Automatisierungssystem selbst
US7568198B2 (en) * 2006-01-10 2009-07-28 National Instruments Corporation Control of tasks in a programmable logic controller
CN101560741B (zh) * 2009-05-25 2011-10-12 浙江华章科技有限公司 用于造纸机传动控制系统的流程控制方法
US8624570B2 (en) * 2009-10-15 2014-01-07 Continental Automotive Systems, Inc. Digitally controlling a power converter
WO2012104898A1 (ja) 2011-01-31 2012-08-09 トヨタ自動車株式会社 安全制御装置および安全制御方法
JP4894961B1 (ja) 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP4957853B1 (ja) * 2011-03-15 2012-06-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP4752984B1 (ja) 2011-03-15 2011-08-17 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP4877423B1 (ja) * 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
US8504176B2 (en) 2011-03-15 2013-08-06 Omron Corporation CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC
CN103399798A (zh) * 2013-07-29 2013-11-20 深圳市汇川控制技术有限公司 Plc的多任务控制方法和装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259115A (ja) * 1993-03-04 1994-09-16 Matsushita Electric Ind Co Ltd プログラマブルコントローラ
JPH0962317A (ja) * 1995-08-25 1997-03-07 Omron Corp プログラマブル制御装置および方法
JPH09251389A (ja) * 1996-03-14 1997-09-22 Omron Corp データ処理装置
JPH1074105A (ja) * 1996-08-29 1998-03-17 Toyo Electric Mfg Co Ltd プログラマブルコントローラ
JPH10133889A (ja) * 1996-10-28 1998-05-22 Omron Corp コントローラの制御周期設定方法および装置
JPH11338447A (ja) * 1998-05-22 1999-12-10 Matsushita Electric Ind Co Ltd 情報処理装置
JP2000132207A (ja) * 1998-10-27 2000-05-12 Hitachi Ltd サイクルタイム設定方式
JP2001265412A (ja) * 2000-03-15 2001-09-28 Omron Corp プログラマブルコントローラ
JP2003181900A (ja) * 2001-12-20 2003-07-02 Omron Corp コントローラ並びにモーション制御装置
JP2004151762A (ja) * 2002-10-28 2004-05-27 Toshiba Corp プログラマブルコントローラ
JP2004272781A (ja) * 2003-03-11 2004-09-30 Nissan Motor Co Ltd 制御周期の動的設定装置および制御周期の動的設定方法
JP2009015557A (ja) * 2007-07-04 2009-01-22 Mitsubishi Electric Corp プログラム開発支援装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170046256A (ko) * 2015-10-20 2017-05-02 엘에스산전 주식회사 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법
KR102079499B1 (ko) 2015-10-20 2020-02-21 엘에스산전 주식회사 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법
JP2018084994A (ja) * 2016-11-24 2018-05-31 株式会社日立産機システム コントロールシステム及びコントロール方法
JP7085305B2 (ja) 2016-11-24 2022-06-16 株式会社日立産機システム コントロールシステム及びコントロール方法
JP2019036043A (ja) * 2017-08-10 2019-03-07 オムロン株式会社 制御装置
CN109388107A (zh) * 2017-08-10 2019-02-26 欧姆龙株式会社 控制装置
JP2019049947A (ja) * 2017-09-12 2019-03-28 オムロン株式会社 制御装置および制御方法
CN110291474A (zh) * 2017-09-26 2019-09-27 三菱电机株式会社 控制器
KR20190095507A (ko) 2017-09-26 2019-08-14 미쓰비시덴키 가부시키가이샤 컨트롤러
JP2019061466A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 制御装置
WO2019064348A1 (ja) * 2017-09-26 2019-04-04 三菱電機株式会社 コントローラ
US10761884B2 (en) 2017-09-26 2020-09-01 Omron Corporation Control device for operating multiple types of programs in different execution formats
JP6469323B1 (ja) * 2017-09-26 2019-02-13 三菱電機株式会社 コントローラ
WO2019176287A1 (ja) * 2018-03-13 2019-09-19 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
JP2019159754A (ja) * 2018-03-13 2019-09-19 オムロン株式会社 制御装置、制御システム、制御方法、および、制御プログラム
US11251990B2 (en) 2018-03-13 2022-02-15 Omron Corporation Control device, control system, control method, and non-transitory storage medium storing control program
JP2021012569A (ja) * 2019-07-08 2021-02-04 ファナック株式会社 Plc装置
JP7277292B2 (ja) 2019-07-08 2023-05-18 ファナック株式会社 Plc装置

Also Published As

Publication number Publication date
WO2015136960A1 (ja) 2015-09-17
EP3101496A4 (en) 2017-04-12
CN106062648A (zh) 2016-10-26
US10139799B2 (en) 2018-11-27
JP6626240B2 (ja) 2019-12-25
EP3101496A1 (en) 2016-12-07
US20170075334A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
JP6626240B2 (ja) コントローラ
JP4807475B1 (ja) 演算ユニット、出力制御方法、およびプログラム
US10274936B2 (en) Control apparatus
JP5553910B2 (ja) モーションコントローラ
JP7000686B2 (ja) 制御装置
JP6409557B2 (ja) 制御装置、コントローラ・システム、出力制御方法、およびプログラム
CN110456707B (zh) 控制装置
US10877803B2 (en) Control apparatus, control method and non-transitory storage medium
JP2014146070A (ja) 制御装置、制御方法、およびプログラム
WO2012056537A1 (ja) プログラマブルコントローラ
US11855907B2 (en) Robot control system and control method
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
CN109709904B (zh) 从机装置、主机装置以及工业用网络系统
KR20090005890A (ko) 로봇 통합용접제어 시스템
JPWO2015045004A1 (ja) プログラマブルコントローラおよびプログラマブルコントローラの制御方法
US9557727B2 (en) Program creation device and programmable logic controller
JP5752087B2 (ja) 制御装置、データ出力制御ユニット、データ入力制御ユニット、および制御ユニット
JP2011062798A (ja) ロボット制御装置およびロボット制御方法
US20190081864A1 (en) Gateway and method of determining machines to be networked at gateway
WO2022049885A1 (ja) 制御装置
JP2012194955A (ja) 支援装置、表示制御方法、およびプログラム
US10768597B2 (en) Method and controller for flexible process control
US20220137584A1 (en) Control system, support device, and support program
JP2017139876A (ja) 制御装置
JP2018156512A (ja) 制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180718

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180727

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191129

R150 Certificate of patent or registration of utility model

Ref document number: 6626240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150