JPWO2011125178A1 - 制御システム、制御装置および制御方法 - Google Patents

制御システム、制御装置および制御方法 Download PDF

Info

Publication number
JPWO2011125178A1
JPWO2011125178A1 JP2012509227A JP2012509227A JPWO2011125178A1 JP WO2011125178 A1 JPWO2011125178 A1 JP WO2011125178A1 JP 2012509227 A JP2012509227 A JP 2012509227A JP 2012509227 A JP2012509227 A JP 2012509227A JP WO2011125178 A1 JPWO2011125178 A1 JP WO2011125178A1
Authority
JP
Japan
Prior art keywords
input
output data
control unit
storage unit
refresh
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.)
Pending
Application number
JP2012509227A
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
Publication of JPWO2011125178A1 publication Critical patent/JPWO2011125178A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Multi Processors (AREA)

Abstract

FAコントローラ100は、共有メモリ103と、前記共有メモリ103に確保されているメモリエリア131に格納されているデータと入出力データ記憶部に格納されている入出力データ201との間のリフレッシュ処理を実行する第1MCU101と、ユーザプログラム124に基づいて動作し、前記共有メモリ103のメモリエリア131に格納されているデータを操作する第2MCU102と、を備え、第2MCU102は、前記リフレッシュ処理にかかる設定を記述したリフレッシュ情報130を前記共有メモリ103のメモリエリア131に書き込み、前記第1MCU101は、前記メモリエリア131に書き込まれたリフレッシュ情報130に従ってリフレッシュ処理を実行する。

Description

本発明は、C言語などの汎用プログラミング言語で記述されたユーザプログラムで被制御装置を制御する制御システム、制御装置および制御方法に関する。
一般的なファクトリーオートメーション(FA)の分野では、機械制御に特化したラダー言語などを用いたプログラマブルロジックコントローラ(PLC)によって被制御装置の制御が行われることが多い。これに対して、近年、PLCとの間の互換性を備え、汎用プログラミング言語で記述される高度な処理を実行するユーザプログラムをPLC用のラダー言語に移植することなく使用することができるFAコントローラ(制御装置)が開発されている。例えば、C言語を用いたFAコントローラによれば、過去のC言語プログラム資産が流用でき、かつ三角関数などラダー言語が不得意とする関数も簡単に扱うことができる。FAコントローラは、PLCとの間の互換性を備えるため、PLC用の拡張バスを介してPLC用の豊富に用意された種々の拡張モジュールを接続したシステム(制御システム)を構築することができるようになっている。
ユーザプログラムが拡張モジュールの1つである入出力モジュールへアクセスするには、PLCと同等の信頼性・拡張性・汎用性を確保するために、多くの手順や操作が必要となる。そこでFAコントローラでは、上記の複雑な手順や操作を隠蔽し、自動化した専用アクセス処理関数を提供することでユーザのプログラミング利便性を向上させていた。
特開2004−94473号公報
ところで、FAコントローラにおいては、汎用プログラミング言語で記述されたユーザプログラムは、リアルタイムOS(Real Time Operating System:RTOS)の制御の下に実行される。RTOSには様々な種類があり、RTOSの種類毎に、提供されるライブラリやグラフィカルユーザインタフェース、開発環境など利用環境が異なる。ユーザが選択するRTOSの種類は多岐にわたるため、FAコントローラも様々なRTOSを搭載可能とすることが要望される。
前述の専用アクセス処理関数は、RTOSに依存しており、RTOSの種類が変更された場合には専用アクセス処理関数の再実装が必要となる。しかしながら、前述の要望に対応するためにRTOS毎に専用アクセス処理関数を用意することは、メーカにとって大きな負担となるという問題があった。この問題に対する1つの解として、夫々別々のRTOSを実行可能な複数CPUを備えさせ、専用アクセス処理関数とユーザプログラムとを異なるCPU上で動作させる構成が考えられる。
特許文献1には、被制御装置に対する制御処理と制御処理を実行させるための各種操作を送受信するための通信制御処理とを夫々独立したOSで動作するCPUで動作させ、CPU同士は共有記憶部を介してデータの保存・読み出しなどを実行する技術が開示されている。しかしながら、特許文献1の技術によれば、二つのCPU間の通信の手順が複雑であるため、該技術を上記構成に採用すると、ユーザ側のプログラミングの利便性の低下を招いてしまう。
本発明は、上記に鑑みてなされたものであって、ユーザが利用するOSに依存しない専用アクセス処理をユーザが簡単に実行することができる制御システム、制御装置および制御方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、被制御装置に接続され、該被制御装置との間の第1入出力データが格納される入出力データ記憶部を備える入出力モジュールと、第2入出力データが格納される共有記憶部と、前記共有記憶部に格納されている第2入出力データと前記入出力データ記憶部に格納されている第1入出力データとの間のリフレッシュ処理を実行する第1制御部と、ユーザプログラムに基づいて動作し、前記共有記憶部に格納されている第2入出力データを操作する第2制御部と、を備える制御装置と、を備え、前記第2制御部は、前記リフレッシュ処理にかかる設定を記述したリフレッシュ情報を前記共有記憶部に書き込み、前記第1制御部は、前記共有記憶部に書き込まれたリフレッシュ情報に従って前記リフレッシュ処理を実行する、ことを特徴とする。
本発明にかかる制御システムは、ユーザが利用するOSに依存しない専用アクセス処理をユーザが簡単に実行することができる。
図1は、実施の形態1のFAコントローラシステムのハードウェア構成を説明する図である。 図2は、各構成要素間の通信を概要的に説明する図である。 図3は、リフレッシュ情報のデータ構造の一例を示す図である。 図4は、リフレッシュ情報を設定する動作を説明するフローチャートである。 図5は、自動リフレッシュ処理の動作を説明するフローチャートである。 図6は、手動リフレッシュ処理の動作を説明するフローチャートである。 図7は、手動リフレッシュ処理を実行させる際の動作を説明するフローチャートである。 図8は、リフレッシュ処理終了処理の動作を説明するフローチャートである。 図9は、実施の形態2の各構成要素間の通信を概要的に説明する図である。 図10は、コマンド情報のデータ構造の一例を示す図である。 図11は、コマンド情報を設定する動作を説明するフローチャートである。 図12は、専用アクセス処理関数がコマンドを実行する動作を説明するフローチャートである。 図13は、実施の形態3のFAコントローラシステムのハードウェア構成を説明する図である。 図14は、各構成要素間の通信を概要的に説明する図である。 図15は、コマンド情報の一例を示す図である。
以下に、本発明にかかる制御システム、制御装置および制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1の制御システムとしてのFAコントローラシステムのハードウェア構成を説明する図である。FAコントローラシステム1は、実施の形態1の制御装置としてのFAコントローラ100と、入出力モジュール200とがPLC用の拡張バス300に接続されて構成されている。
入出力モジュール200は、産業用機器などの被制御装置(図示せず)に接続されており、該被制御装置の出力データおよび該被制御装置への入力データ(入出力データ201)を記憶するための入出力データ記憶部202と、拡張バス300を介したFAコントローラ100との間の通信のための通信インタフェースである通信コントローラ203とを備えている。通信コントローラ203は、入出力データ201を拡張バス300上を流れる電気信号に変換する。
FAコントローラ100は、拡張バス300で拡張された入出力モジュール200に専用のアクセス手順に従った専用アクセス処理を実現するためのプログラムである専用アクセス処理関数115を実行するCPU110を搭載する第1MCU101と、ユーザプログラム124を実行するCPU120を搭載する第2MCU102と、第1MCU101と第2MCU102との間の通信のために使用される共有メモリ103と、を備えている。共有メモリ103は2ポートメモリであって、共有メモリ103が備える夫々のポートに信号線104、105でMCU101、102が夫々接続されている。また、第1MCU101と第2MCU102との間は、信号線106で直接接続されている。
第1MCU101は、より詳しくは、前述のCPU110のほか、EEPROM111、RAM112、外部インタフェース113、通信コントローラ114を備えており、これらの構成要素は第1MCU101の内部バスに夫々接続されている。EEPROM111には、専用アクセス処理関数115と、第1MCU101の基本制御を実行するリアルタイムOSである第1RTOS116とが格納されている。
RAM112は、プログラム展開用領域として使用される。FAコントローラ100が起動されると、専用アクセス処理関数115および第1RTOS116は、内部バスを介してRAM112に送られて、RAM112のプログラム展開用領域に夫々展開される。CPU110は、RAM112に展開された第1RTOS116を実行する。CPU110は、第1RTOS116による基本制御の下で専用アクセス処理関数115を実行することによって、専用アクセス処理を実現する。
外部インタフェース113は、第2MCU102との間の通信のためのインタフェースであって、共有メモリ103にアクセスするための信号線104および第2MCU102との間で割り込み信号を送受信するための信号線106が接続されている。通信コントローラ114は、拡張バス300を介して入出力データ201にアクセスするための通信インタフェースである。
第2MCU102は、CPU120のほか、EEPROM121、RAM122、外部インタフェース123を備えており、これらの構成要素は第2MCU102の内部バスに夫々接続されている。EEPROM121には、入出力データ201のうちの入出データの読み出しおよび出力データの書き込みを行うためのユーザにより作成されるユーザプログラム124と、ユーザプログラム124を動作させるための第2RTOS125とが格納されている。なお、ユーザは、ユーザプログラム124を動作させることができるのであれば所望の種類の第2RTOS125を選択することができる。
RAM122は、RAM112と同じく、プログラム展開用領域として使用される。FAコントローラ100が起動されると、ユーザプログラム124および第2RTOS125は、第2MCU102の内部バスを介してRAM122に送られて、RAM122のプログラム展開用領域に夫々展開される。CPU120は、RAM122に展開された第2RTOS125を実行する。CPU120は、第2RTOS125による制御の下でユーザプログラム124を実行する。
外部インタフェース123は、第1MCU101との間の通信のためのインタフェースであって、共有メモリ103にアクセスするための信号線105および第2MCU101との間で各種割り込み信号を送受信するための信号線106が接続されている。
図2は、上記のように構成される実施の形態1のFAコントローラシステム1において専用アクセス処理関数115とユーザプログラム124との間の専用アクセス処理にかかる各構成要素間の通信を概要的に説明する図である。
図2において、入出力データ記憶部202は、M個の入出力データが格納されている。共有メモリ103には、専用アクセス処理関数115によって所定のタイミングで入出力データ201との間で同期される処理(リフレッシュ処理)が実行されるデータを格納するためのメモリエリア131が確保されている。ここでは、共有メモリ103にはN個のメモリエリアが確保されている。リフレッシュ処理とは、より詳しくは、入出力データ201のうちの入力データをメモリエリア131に用意された対応する入力データで上書きし、メモリエリア131に格納されている出力データを入出力データ201のうちの対応する出力データで上書きすることによって、入出力データ記憶部202に格納されている入出力データ201とメモリエリア131に格納されているデータとを同一の状態にする動作をいう。ユーザプログラム124は、メモリエリア131に格納されているデータを信号線105を介してリード/ライトすることによって、間接的に入出力データ201にアクセスすることができる。専用アクセス処理関数115は、所定の時間間隔で、または信号線106を介してユーザプログラム124から指示(リフレッシュ実行指示)を受けたタイミングで、データのリフレッシュ処理を実行する。所定の時間間隔で実行されるリフレッシュ処理を自動リフレッシュ処理、リフレッシュ実行指示を受けたタイミングで実行されるリフレッシュ処理を手動リフレッシュ処理ということとする。
リフレッシュ処理の開始/停止などを含む専用アクセス処理関数115への詳細な動作設定は、共有メモリ103に格納されたリフレッシュ情報130を用いて実行される。図3は、リフレッシュ情報130のデータ構造の一例を示す図である。
図3に示すように、この例においては、リフレッシュ情報130は、上段から順番に、自動リフレッシュ処理を実行するか手動リフレッシュ処理を実行するかリフレッシュ情報130を無効とするかを示すリフレッシュ動作設定フィールド、自動リフレッシュ処理を実行する時間間隔(周期)を設定するフィールド、自動リフレッシュ処理の開始/停止を指示するための自動リフレッシュ実行指示フィールド、手動リフレッシュ処理の開始/停止を指示するための手動リフレッシュ実行指示フィールド、入出力データ201のうちのリフレッシュ処理対象のデータ名を示すフィールド、同期対象のデータの格納先メモリエリアを示すフィールド、リフレッシュ処理が停止中であるか動作中であるかを示す専用アクセス処理関数115によって更新管理されるステータス情報(リフレッシュ状態)が記入されるフィールドを含んでいる。なお、ここでは、入出力データのデータ名は入出力データ記憶部202における格納アドレスに対応付けられており、専用アクセス処理関数115は入出力データのデータ名に基づいて入出力データ記憶部202における対応する位置にアクセスできるものとしている。
ユーザプログラム124は、リフレッシュ情報130の共有メモリへの書き込み(設定)を完了すると、リフレッシュ情報130の設定が完了した旨の通知であるリフレッシュ情報設定完了通知を信号線106を介して専用アクセス処理関数115へ発行する。専用アクセス処理関数115は、該通知を受信すると、共有メモリ103に書き込まれたリフレッシュ情報130を読み出して、読み出したリフレッシュ情報130にしたがったリフレッシュ処理を実行する。
なお、ここでは、ユーザプログラム124は信号線106を介してリフレッシュ情報設定完了通知を発行することによってリフレッシュ情報130の書き込み完了を通知するようにしているが、専用アクセス処理関数115にリフレッシュ情報130が設定される位置を常時監視させるようにして、信号線106を介した通知の手順を省略するようにしてもよい。また、手動リフレッシュ処理におけるリフレッシュ実行指示は信号線106を介して通知されることとしているが、ユーザプログラム124は共有メモリ103の所定の箇所にリフレッシュを実行させる指示内容を書き込み、専用アクセス処理関数115は該内容が書き込まれる箇所を常時監視させるように構成することによって、ユーザプログラム124から専用アクセス処理関数115へ実行指示が伝達されるようにしてもよい。
このように、実施の形態1では、専用アクセス処理関数115は、共有メモリ103に設定されたリフレッシュ情報130に基づいてメモリエリア131に格納されたデータを入出力データ201に同期するようになっているので、ユーザプログラム124は共有メモリ103に対する単純なメモリアクセスを実装するだけで入出力データ201を操作することができる。また、専用アクセス処理関数115とユーザプログラム124との間で通信を行うことができるようになっているので、ユーザが選択する第2RTOS125の種類や、さらにはCPU120の種類が変更されても、専用アクセス処理関数115を再実装することなくCPU110、120間の通信を実行することができる。また、CPU110、120間の通信は、共有メモリ103に対するメモリアクセスのみユーザプログラム124を実装するだけで実現されるので、ユーザにとってのプログラミングの利便性が高いものとなっている。
次に、本発明の実施の形態1の詳細な動作を図4〜図8を参照して説明する。図4は、ユーザプログラム124がリフレッシュ情報130を設定する動作を説明するフローチャートである。
図4に示すように、ユーザプログラム124は、まず、リフレッシュ情報130を作成して共有メモリ103に書き込む(ステップS1)。ユーザプログラム124は、リフレッシュ情報130の記述内容によって、自動リフレッシュ処理の開始/停止、自動リフレッシュ処理の実行周期の変更、手動リフレッシュ処理の開始/停止を指示することができる。例えば、ユーザプログラム124は、自動リフレッシュ処理を開始させる際には、リフレッシュ動作設定フィールドに”自動リフレッシュ処理”を記述し、自動リフレッシュ処理の周期を設定するフィールドに所望の時間間隔(たとえば1000msec)を記述し、自動リフレッシュ実行指示フィールドに”開始”を記述するとよい。また、自動リフレッシュ処理の実行周期の変更する際には、上述のように記述されているリフレッシュ情報130のうちの自動リフレッシュ処理の周期を設定するフィールドに変更後の時間間隔を記述するとよい。また、手動リフレッシュ処理を開始させる際には、ユーザプログラム124は、リフレッシュ動作設定フィールドに”手動リフレッシュ処理”を記述し、手動リフレッシュ実行指示フィールドに”開始”を記述するとよい。また、リフレッシュ処理を停止する際、実行中のリフレッシュ処理に対応するリフレッシュ実行指示フィールドに”停止”を記述するとよい。なお、ユーザプログラム124は、リフレッシュ動作設定フィールドに”自動リフレッシュ処理、手動リフレッシュ処理”を記述して、自動リフレッシュ処理と手動リフレッシュ処理とを同時に実行させるようにしてもよい。リフレッシュ情報130の書き込み完了後、リフレッシュ情報設定完了通知を発行し(ステップS2)、ユーザプログラム124によるリフレッシュ情報130の設定時の動作がリターンされる。
専用アクセス処理関数115は、リフレッシュ情報設定完了通知を受信したとき、リフレッシュ情報130を読み出す。専用アクセス処理関数115は、読み出したリフレッシュ情報130が自動リフレッシュ処理を開始する旨の指示が記述されていたとき、自動リフレッシュ処理をスタートする。図5は、専用アクセス処理関数115による自動リフレッシュ処理の動作を説明するフローチャートである。
図5に示すように、専用アクセス処理関数115は、自動リフレッシュ処理をスタートすると、リフレッシュ情報130のリフレッシュ状態を示すフィールドに”動作中”を書き込み(ステップS11)、時間のカウントを開始する(ステップS12)。そして、専用アクセス処理関数115は、カウント値がリフレッシュ情報130により設定された周期の時間に達したか否かを判定する(ステップS13)。専用アクセス処理関数115は、カウント値が設定された周期の時間に達していなかった場合(ステップS13、No)、該時間に達するまでステップS13の判定を繰り返し実行する。専用アクセス処理関数115は、カウント値が該時間に達した場合(ステップS13、Yes)、ステップS13の繰り返し処理を抜け、リフレッシュ情報130に記述されたデータ名により指定された入出力データとメモリエリア131における指定されたエリアのデータとを同期させる(ステップS14)。そして、専用アクセス処理関数115は、ステップS12に移行し、カウント値をリセットして再び時間カウントを開始する。
このように、自動リフレッシュ処理では、メモリエリア131に格納されているデータが入出力データ201に定期的に同期されるので、ユーザプログラム124は、いったんリフレッシュ情報130を設定して自動リフレッシュ処理を開始すると、メモリエリア131にアクセスすることによって入出力データ201の内容を略リアルタイムで操作することができるようになる。
専用アクセス処理関数115は、読み出したリフレッシュ情報130が手動リフレッシュ処理を開始する旨の指示が記述されていたとき、手動リフレッシュ処理をスタートする。図6は、専用アクセス処理関数115による手動リフレッシュ処理の動作を説明するフローチャートである。
図6に示すように、専用アクセス処理関数115は、手動リフレッシュ処理をスタートすると、リフレッシュ情報130のリフレッシュ状態を示すフィールドに”動作中”を書き込み(ステップS21)、リフレッシュ実行指示を受信したか否かを判定する(ステップS22)。専用アクセス処理関数115は、リフレッシュ実行指示を受信しなかったと判定した場合(ステップS22、No)、ステップS22の判定処理を繰り返し実行する。専用アクセス処理関数115は、リフレッシュ実行指示を受信したとき(ステップS22、Yes)、ステップS22の繰り返し処理を抜け、リフレッシュ情報130により指定された入出力データとメモリエリア131における指定されたエリアのデータとを同期させる(ステップS23)。そして、専用アクセス処理関数115は、再度ステップS22に移行し、リフレッシュ実行指示の受信を待ち受ける。
図7は、ユーザプログラム124による手動リフレッシュ処理を実行させる際の動作を説明するフローチャートである。図7に示すように、ユーザプログラム124は、手動リフレッシュ処理を開始する旨のリフレッシュ情報130を設定後、所望のタイミングでリフレッシュ実行指示を発行する(ステップS31)。リフレッシュ実行指示を発行すると、ステップS23の動作によりメモリエリア131内のデータが入出力データ201に同期されるので、ユーザプログラム124は、該同期されたデータに対してリード/ライトし(ステップS32)、ステップS31へ移行する。
このように、手動リフレッシュ処理によれば、リフレッシュ実行指示が発行されたタイミングでリフレッシュ処理が実行されるので、ユーザプログラム124は、所望のタイミングで最新の状態の入出力データ201にアクセスできるようになる。
専用アクセス処理関数115は、読み出したリフレッシュ情報130が自動リフレッシュ処理や手動リフレッシュ処理を停止する旨の指示が記述されていたとき、対応するリフレッシュ処理を停止する処理(リフレッシュ処理終了処理)を開始する。図8は専用アクセス処理関数115によるリフレッシュ処理終了処理の動作を説明するフローチャートである。
図8に示すように、専用アクセス処理関数115は、対応するリフレッシュ動作を停止する(ステップS41)。例えば、自動リフレッシュ処理を停止する場合、専用アクセス処理関数115は、ステップS12〜ステップS14の繰り返し処理を停止する。また、手動リフレッシュ処理を停止する場合、専用アクセス処理関数115は、ステップS22〜ステップS23の繰り返し処理を停止する。ステップS41の後、専用アクセス処理関数115は、リフレッシュ情報130のリフレッシュ状態を示すフィールドに”停止中”を書き込み(ステップS42)、リフレッシュ処理終了処理がリターンされる。
以上説明したように、本発明の実施の形態1によれば、FAコントローラ100は、共有メモリ103と、前記共有メモリ103に確保されているメモリエリア131に格納されているデータと入出力データ記憶部202に格納されている入出力データ201との間のリフレッシュ処理を実行する第1MCU101と、ユーザプログラム124に基づいて動作し、前記共有メモリ103のメモリエリア131に格納されているデータを操作する第2MCU102と、を備え、第2MCU102は、前記リフレッシュ処理にかかる設定を記述したリフレッシュ情報130を前記共有メモリ103のメモリエリア131に書き込み、前記第1MCU101は、前記メモリエリア131に書き込まれたリフレッシュ情報130に従ってリフレッシュ処理を実行するように構成したので、ユーザが利用するOSに依存しない専用アクセス処理をユーザが簡単に実行することができるようになる。
実施の形態2.
本発明の実施の形態2では、ユーザプログラムが専用アクセス処理関数に対するコマンドを発行して入出力データに対して所望の操作を実行できるようにした。実施の形態2のFAコントローラシステムのハードウェア構成は、専用アクセス処理関数、ユーザプログラムを除いて実施の形態1と同等であるので、実施の形態2のFAコントローラシステムのハードウェア構成に関する説明は省略する。
図9は、実施の形態2のFAコントローラシステムにおいて専用アクセス処理関数とユーザプログラムとの間の専用アクセス処理にかかる各構成要素間の通信を概要的に説明する図である。なお、実施の形態1の構成要素と区別するために、実施の形態2のFAコントローラシステム、FAコントローラ、専用アクセス処理関数、ユーザプログラムには、符号2、符号400、符号401、符号402を夫々付している。図示するように、共有メモリ103には、ユーザプログラム402によって、専用アクセス処理関数401に対するコマンドを記述したコマンド情報403が格納される。専用アクセス処理関数401は、コマンド情報403を読み出して、読み出したコマンド情報403に記述されているコマンドに基づいて入出力データ201を操作する。
ここで、コマンドとは、専用アクセス処理関数401において使用可能に規定されたものであればどのようなものであっても構わない。例えば、コマンドとして、入力データの入出力データ記憶部202への書き込みコマンド、出力データの読み出しコマンドを規定することができる。これら以外にも様々なコマンドを規定するようにしてもよい。例えば割り込み信号を発行するタイプの被制御装置が使用される場合がある。このタイプの被制御装置からの割り込み信号としての入出力データを監視し、該割り込み信号がオンになったとき、オンになった旨を実行結果としてユーザプログラム402へ通知させるコマンドを規定してもよい。
共有メモリ103には、専用アクセス処理関数401がコマンドの実行結果を書き込むためのメモリエリア404が確保されている。コマンド情報403の書き込み(設定)完了、コマンドの実行結果の書き込み完了は、夫々、コマンド情報設定完了通知、コマンド実行完了通知によりCPU110、120間で互いに通知される。コマンド情報設定完了通知、コマンド実行完了通知による通知は、夫々信号線106を介して送信される。なお、専用アクセス処理関数401はコマンド情報403が書き込まれる位置、ユーザプログラム402は実行結果が書き込まれる位置を夫々監視するように構成することによって、コマンド情報設定完了通知、コマンド実行完了通知が通知される手順を省略することができる。
図10は、コマンド情報403のデータ構造の一例を示す図である。図示するように、コマンド情報403は、メッセージヘッダとコマンドデータとを含んでいる。メッセージヘッダには、コマンド情報403であることを示すメッセージ種別、コマンド情報403のサイズ、コマンド情報403毎の識別番号、コマンドデータのサイズなどが記述される。コマンドデータには、コマンドの種類を識別するための識別コードと、該コマンドの引数データ毎のサイズおよび内容と、が記述されている。例えばコマンドが入出力データ記憶部202へ入力データを書き込むための書き込みコマンド(WRITE関数)であって、WRITE関数が引数データとして入力データのデータ名および書き込み内容を含む場合、識別コードが記述されるフィールドにはWRITE関数の識別コードが記述され、引数データ1のフィールドには入力データのデータ名のサイズとデータ名とが記述され、引数データ2のフィールドには入力データのサイズと入力データ自身とが記述される。
図11は、ユーザプログラム402がコマンド情報403を設定する動作を説明するフローチャートである。まず、ユーザプログラム402は、コマンド情報403を作成して共有メモリ103に書き込む(ステップS51)。コマンド情報403の書き込み完了後、コマンド情報設定完了通知を発行し(ステップS52)、ユーザプログラム402によるコマンド情報403の設定時の動作がリターンされる。
専用アクセス処理関数401は、コマンド情報設定完了通知を受信したとき、コマンド情報403を共有メモリ103から読み出す。専用アクセス処理関数401は、読み出したコマンド情報403を実行する。図12は、専用アクセス処理関数401がコマンドを実行する動作を説明するフローチャートである。
図12に示すように、専用アクセス処理関数401は、読み出したコマンド情報403に対応する操作を入出力データ201に対して実行する(ステップS61)。コマンド実行後、専用アクセス処理関数401は、実行結果をメモリエリア404に書き込む(ステップS62)。実行結果の書き込みが完了すると、専用アクセス処理関数401は、コマンド実行完了通知を発行し(ステップS63)、コマンドを実行する動作がリターンとなる。
以上述べたように、FAコントローラ400は、共有メモリ103と、入出力モジュール200が備える入出力データ記憶部202に格納されている入出力データ201を操作する第1MCU101と、ユーザプログラム402に基づいて動作し、前記入出力データ記憶部202に格納されている入出力データ201を操作するためのコマンドを算出する第2MCU102と、を備え、前記第2MCU102は、前記コマンドを記述したコマンド情報403を前記共有メモリ103に書き込み、前記第1MCU101は、前記共有メモリ103に書き込まれたコマンド情報403に基づいて前記入出力データ201の操作を実行するように構成したので、ユーザが利用するOSに依存しない専用アクセス処理をユーザが簡単に実行することができる。また、専用アクセス処理関数401に様々なコマンドを規定しておくことによって、入出力データ201に対し、実施の形態1に比して複雑な操作を実行することができる。
実施の形態3.
実施の形態3では、専用アクセス処理関数を実行するMCUがユーザプログラムを実行するMCUが備えるRAMに直接書き込みすることができるように構成され、専用アクセス処理関数はコマンドの実行結果を該RAMに直接書き込むようにした。
図13は、実施の形態3のFAコントローラシステムのハードウェア構成を説明する図である。なお、実施の形態1と同等の構成要素に対しては、実施の形態1と同じ符号を付し、詳細な説明を省略する。図示するように、FAコントローラシステム3は、FAコントローラ500と入出力モジュール200とが拡張バス300に接続されて構成されている。入出力モジュール200は、入出力データ201が格納される入出力データ記憶部202と、通信コントローラ203とを備えている。
FAコントローラ500は、専用アクセス処理関数511を実行するための第1MCU501と、ユーザプログラム521を実行するための第2MCU502と、共有メモリ103とを備えている。MCU501、502は、夫々、信号線104、105で共有メモリ103に接続されている。また、第1MCU501と第2MCU502との間は、データ、アドレス、割り込み信号を送受信することが可能な信号線503で直接接続されている。
第1MCU501は、CPU110、EEPROM111、RAM112、外部インタフェース510、通信コントローラ114を備えている。EEPROM111には、前記した専用アクセス処理関数511および第1RTOS116が格納されている。専用アクセス処理関数511は、EEPROM111から読み出されてRAM112のプログラム展開領域に展開される。CPU110は、RAM112に展開された専用アクセス処理関数511を実行する。外部インタフェース510には、信号線104および信号線503が接続されている。
第2MCU502は、CPU120、EEPROM121、RAM122、外部インタフェース520を備えている。EEPROM121には、ユーザプログラム521および第2RTOS125が格納されている。ユーザプログラム521は、EEPROM121から読み出されてRAM122のプログラム展開領域に展開される。CPU120は、RAM122に展開されたユーザプログラム521を実行する。外部インタフェース520には、信号線105および信号線503が接続されている。
図14は、実施の形態3のFAコントローラシステム3において専用アクセス処理関数511とユーザプログラム521との間の専用アクセス処理にかかる各構成要素間の通信を概要的に説明する図である。図示するように、共有メモリ103には、ユーザプログラム521によって、専用アクセス処理関数511に対するコマンドおよび該コマンドの実行結果のRAM122における格納先アドレスを記述したコマンド情報530が格納される。図15は、コマンド情報530のデータ構造の一例を示す図である。図示するように、コマンド情報530は、実施の形態2のコマンド情報403に格納先アドレスが追加されたデータ構造を備えている。
専用アクセス処理関数511は、コマンド情報530を読み出して、読み出したコマンド情報530に記述されているコマンドに基づいて入出力データ201を操作する。専用アクセス処理関数511はコマンドを実行完了後、該コマンドの実行結果を、コマンド情報530に記述されていたRAM122の格納先アドレスに書き込む。該実行結果の書き込みは、信号線503を介して実行される。ユーザプログラム521は、RAM122に書き込まれた実行結果を読み出す。コマンド情報530の書き込み(設定)完了、コマンドの実行結果の書き込み完了は、夫々コマンド実行完了通知、コマンド情報設定完了通知により互いに通知される。コマンド実行完了通知、コマンド情報設定完了通知により通知は、夫々信号線503を介して割り込み信号として送信される。なお、実施の形態2と同様、コマンド実行完了通知、コマンド情報設定完了通知の手順を省略した構成とすることも可能である。
実施の形態3のFAコントローラシステム3の動作は、専用アクセス処理関数511が共有メモリ103ではなくRAM122へ書き込むことを除いて実施の形態2と同等であるので、説明を省略する。
以上述べたように、実施の形態3では、第1MCU501は第2MCU502が備えるRAM122に実行結果を直接書き込みすることができるように構成したので、ユーザは共有メモリ103にアクセスすることなく実行結果を取得することができる。
以上のように、本発明にかかる制御システム、制御装置および制御方法は、C言語などの汎用プログラミング言語で記述されたユーザプログラムで被制御装置を制御する制御システム、制御装置および制御方法に適用して好適である。
1、2、3 FAコントローラシステム
100、400、500 FAコントローラ
101、501 第1MCU
102、502 第2MCU
103 共有メモリ
104、105、106、503 信号線
110、120 CPU
111、121 EEPROM
112、122 RAM
113、123、510、520 外部インタフェース
114、203 通信コントローラ
115、401、511 専用アクセス処理関数
124、402、521 ユーザプログラム
130 リフレッシュ情報
131、404 メモリエリア
200 入出力モジュール
201 入出力データ
202 入出力データ記憶部
300 拡張バス
403、530 コマンド情報

Claims (23)

  1. 被制御装置に接続され、該被制御装置との間の第1入出力データが格納される入出力データ記憶部を備える入出力モジュールと、
    第2入出力データが格納される共有記憶部と、前記共有記憶部に格納されている第2入出力データと前記入出力データ記憶部に格納されている第1入出力データとの間のリフレッシュ処理を実行する第1制御部と、ユーザプログラムに基づいて動作し、前記共有記憶部に格納されている第2入出力データを操作する第2制御部と、を備える制御装置と、
    を備え、
    前記第2制御部は、前記リフレッシュ処理にかかる設定を記述したリフレッシュ情報を前記共有記憶部に書き込み、前記第1制御部は、前記共有記憶部に書き込まれたリフレッシュ情報に従って前記リフレッシュ処理を実行する、
    ことを特徴とする制御システム。
  2. 前記リフレッシュ情報は、前記第1入出力データを指定する記述と、該指定された第1入出力データに対応する第2入出力データの前記共有記憶部における格納アドレスの記述と、を含むことを特徴とする請求項1に記載の制御システム。
  3. 前記リフレッシュ情報は、前記リフレッシュ処理の実行の開始/停止を指示する記述を含む、ことを特徴とする請求項1に記載の制御システム。
  4. 前記リフレッシュ情報は、実行周期の記述を含み、前記第1制御部は、前記リフレッシュ情報に記述されている実行周期で前記リフレッシュ処理を実行する、
    ことを特徴とする請求項1〜請求項3のうちの何れか一項に記載の制御システム。
  5. 前記第2制御部は、前記リフレッシュ処理を実行させるリフレッシュ実行指示を前記第1制御部に発行し、前記第1制御部は、前記リフレッシュ実行指示が発行されたタイミングで前記リフレッシュ処理を実行する、
    ことを特徴とする請求項1〜請求項3のうちの何れか一項に記載の制御システム。
  6. 前記第1制御部と前記第2制御部との間は割り込み信号線で接続されており、前記リフレッシュ実行指示は前記割込み信号線を介して発行される、
    ことを特徴とする請求項1〜請求項3のうちの何れか一項に記載の制御システム。
  7. 前記第1制御部と前記第2制御部との間は割り込み信号線で接続されており、前記第2制御部は、前記リフレッシュ情報を前記共有記憶部に書き込み完了したとき、前記第1制御部に前記割込み信号線を介して前記リフレッシュ情報を書き込み完了した旨を通知するリフレッシュ情報設定完了通知を発行する、
    ことを特徴とする請求項1〜請求項3のうちの何れか一項に記載の制御システム。
  8. 被制御装置に接続され、該被制御装置との間の入出力データが格納される入出力データ記憶部を備える入出力モジュールと、
    共有記憶部と、前記入出力データ記憶部に格納されている入出力データを操作する第1制御部と、ユーザプログラムに基づいて動作し、前記入出力データ記憶部に格納されている入出力データを操作するためのコマンドを算出する第2制御部と、
    を備え、
    前記第2制御部は、前記コマンドを記述したコマンド情報を前記共有記憶部に書き込み、前記第1制御部は、前記共有記憶部に書き込まれたコマンド情報に基づいて前記入出力データの操作を実行する、
    ことを特徴とする制御システム。
  9. 前記コマンド情報は、前記コマンドに付随する引数を含む、ことを特徴とする請求項8に記載の制御システム。
  10. 前記第2制御部は、前記コマンド情報を前記共有記憶部に書き込み完了したとき、前記コマンド情報を書き込み完了した旨を通知するコマンド情報設定完了通知を前記第1制御部に発行する、
    ことを特徴とする請求項8または請求項9に記載の制御システム。
  11. 前記第1制御部と前記第2制御部との間は割り込み信号線で接続されており、前記コマンド情報設定完了通知は前記割込み信号線を介して発行される、
    ことを特徴とする請求項10に記載の制御システム。
  12. 前記第1制御部は、前記コマンド情報に基づく前記入出力データの操作の実行結果を前記共有記憶部に書き込む、
    ことを特徴とする請求項8または請求項9に記載の制御システム。
  13. 前記第2制御部は、前記第1制御部から書き込み可能なメモリを備え、
    前記コマンド情報は、前記メモリのアドレスの記述を含み、
    前記第1制御部は、前記メインメモリにおける前記コマンド情報に記述されているアドレスが指す位置に前記入出力データの操作の実行結果を書き込む、
    ことを特徴とする請求項8または請求項9に記載の制御システム。
  14. 被制御装置に接続され、該被制御装置との間の第1入出力データが格納される入出力データ記憶部を備える入出力モジュールにバスを介して接続される制御装置であって、
    第2入出力データが格納される共有記憶部と、
    前記共有記憶部に格納されている第2入出力データと前記入出力データ記憶部に格納されている第1入出力データとの間のリフレッシュ処理を実行する第1制御部と、
    ユーザプログラムに基づいて動作し、前記共有記憶部に格納されている第2入出力データを操作する第2制御部と、
    を備え、
    前記第2制御部は、前記リフレッシュ処理にかかる設定を記述したリフレッシュ情報を前記共有記憶部に書き込み、前記第1制御部は、前記共有記憶部に書き込まれたリフレッシュ情報に従って前記リフレッシュ処理を実行する、
    ことを特徴とする制御装置。
  15. 被制御装置に接続され、該被制御装置との間の入出力データが格納される入出力データ記憶部を備える入出力モジュールにバスを介して接続される制御装置であって、
    共有記憶部と、
    前記入出力データ記憶部に格納されている入出力データを操作する第1制御部と、
    ユーザプログラムに基づいて動作し、前記入出力データ記憶部に格納されている入出力データを操作するためのコマンドを算出する第2制御部と、
    を備え、
    前記第2制御部は、前記コマンドを記述したコマンド情報を前記共有記憶部に書き込み、前記第1制御部は、前記共有記憶部に書き込まれたコマンド情報に基づいて前記入出力データの操作を実行する、
    ことを特徴とする制御装置。
  16. 被制御装置に接続され、該被制御装置との間の第1入出力データが格納される入出力データ記憶部を備える入出力モジュールと、第2入出力データが格納される共有記憶部と、前記共有記憶部に格納されている第2入出力データと前記入出力データ記憶部に格納されている第1入出力データとの間のリフレッシュ処理を実行する第1制御部と、ユーザプログラムに基づいて動作し、前記共有記憶部に格納されている第2入出力データを操作する第2制御部と、を備える制御装置と、を備える制御システムの制御方法であって、
    前記第2制御部が前記リフレッシュ処理にかかる設定を記述したリフレッシュ情報を前記共有記憶部に書き込む第1ステップと、
    前記第1制御部が、前記共有記憶部に書き込まれたリフレッシュ情報に従って前記リフレッシュ処理を実行する第2ステップと、
    を備えることを特徴とする制御方法。
  17. 前記リフレッシュ情報は、実行周期の記述を含み、
    前記第2ステップにおいて、前記第1制御部は、前記リフレッシュ情報に記述されている実行周期で前記リフレッシュ処理を実行する、
    ことを特徴とする請求項16に記載の制御システム。
  18. 前記第2ステップは、
    前記第2制御部が前記リフレッシュ処理を実行させるリフレッシュ実行指示を前記第1制御部に発行する第3ステップと、
    前記リフレッシュ実行指示が発行されたとき、前記第1制御部が前記リフレッシュ処理を実行する第4ステップと、
    を含むことを特徴とする請求項16に記載の制御システム。
  19. 前記第1制御部と前記第2制御部との間は割り込み信号線で接続されており、
    前記第3ステップにおいて、前記第2制御部は、前記リフレッシュ実行指示を前記割り込み信号線を介して発行する、
    ことを特徴とする請求項18に記載の制御方法。
  20. 被制御装置に接続され、該被制御装置との間の入出力データが格納される入出力データ記憶部を備える入出力モジュールと、共有記憶部と、前記入出力データ記憶部に格納されている入出力データを操作する第1制御部と、ユーザプログラムに基づいて動作し、前記入出力データ記憶部に格納されている入出力データを操作するためのコマンドを算出する第2制御部と、を備える制御システムの制御方法であって、
    前記第2制御部が前記コマンドを記述したコマンド情報を前記共有記憶部に書き込む第1ステップと、
    前記第1制御部が前記共有記憶部に書き込まれたコマンド情報に基づいて前記入出力データの操作を実行する第2ステップと、
    を備えることを特徴とする制御方法。
  21. 前記コマンド情報は、前記コマンドに付随する引数を含む、ことを特徴とする請求項20に記載の制御方法。
  22. 前記第1制御部が前記コマンド情報に基づく前記入出力データの操作の実行結果を前記共有記憶部に書き込む第3ステップをさらに備える、
    ことを特徴とする請求項20または請求項21に記載の制御方法。
  23. 前記第2制御部は、前記第1制御部から書き込み可能なメモリを備え、
    前記コマンド情報は、前記メモリのアドレスの記述を含み、
    前記第1制御部が前記メインメモリにおける前記コマンド情報に記述されているアドレスが指す位置に前記入出力データの操作の実行結果を書き込む第3ステップをさらに備える、
    ことを特徴とする請求項20または請求項21に記載の制御方法。
JP2012509227A 2010-04-06 2010-04-06 制御システム、制御装置および制御方法 Pending JPWO2011125178A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/056249 WO2011125178A1 (ja) 2010-04-06 2010-04-06 制御システム、制御装置および制御方法

Publications (1)

Publication Number Publication Date
JPWO2011125178A1 true JPWO2011125178A1 (ja) 2013-07-08

Family

ID=44762165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012509227A Pending JPWO2011125178A1 (ja) 2010-04-06 2010-04-06 制御システム、制御装置および制御方法

Country Status (2)

Country Link
JP (1) JPWO2011125178A1 (ja)
WO (1) WO2011125178A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6745174B2 (ja) 2016-09-09 2020-08-26 株式会社日立産機システム コントローラ及びコントロール管理システム
JP6857153B2 (ja) * 2018-03-29 2021-04-14 株式会社日立産機システム コントロール装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01248267A (ja) * 1988-03-30 1989-10-03 Mitsubishi Electric Corp マルチコンピュータシステム
JPH01261706A (ja) * 1988-04-13 1989-10-18 Yaskawa Electric Mfg Co Ltd プログラマブルコントローラのデータ転送方法
JPH0371306A (ja) * 1989-08-11 1991-03-27 Toshiba Corp インテリジェントi/oモジュール
JPH03134712A (ja) * 1989-10-19 1991-06-07 Yaskawa Electric Mfg Co Ltd プログラマブルコントローラ
JPH04288602A (ja) * 1991-02-27 1992-10-13 Mitsubishi Electric Corp A/d変換機能付プログラマブルコントローラ
JP4349687B2 (ja) * 1999-06-17 2009-10-21 オムロン株式会社 プログラマブル・コントローラ

Also Published As

Publication number Publication date
WO2011125178A1 (ja) 2011-10-13

Similar Documents

Publication Publication Date Title
US8249726B2 (en) Method and device for accessing a functional module of automation system
US9778630B2 (en) Control device and system program for maintaining global variable and reference data consistency during parallel processing of multiple tasks
WO2015136960A1 (ja) コントローラ
CN110928243B (zh) 通过示教器进行EtherCAT总线组态配置的方法
JP2008181482A (ja) 一体化されたデータベース・ドライバを有するプログラマブル・ロジック・コントロール・デバイス
JP2016197384A (ja) プログラマブルロジックコントローラ、プログラマブルロジックコントローラの制御方法、及び、制御プログラム
JP2018153883A (ja) コントロールシステム、コントローラ及び制御方法
EP2733613B1 (en) Controller and program
US11165745B2 (en) Control system, controller, and control method
EP3657278A1 (en) Method and apparatus for proxy execution and computation with an industrial controller
JP6362821B2 (ja) 制御装置、制御方法および命令セット
WO2011125178A1 (ja) 制御システム、制御装置および制御方法
JP2014222871A (ja) プロフィバスdpのマスタ装置
JP5921781B2 (ja) プログラマブルコントローラおよびプログラマブルコントローラの制御方法
JP6954191B2 (ja) 制御システム、開発支援装置、および開発支援プログラム
JP2019077011A (ja) スレーブ装置、マスター装置、および産業用ネットワークシステム
JP2004280299A (ja) コントローラ、開発装置及びシステム
JP5365875B2 (ja) 産業用コントローラ
JP2008226111A (ja) 2重化コントローラシステム、その稼動系コントローラ
CN110832410B (zh) 运动控制器及运动控制的方法
US20180274913A1 (en) Measurement system, measurement program, and control method
US20210405597A1 (en) Engineering device, engineering method, and information storage medium
JP6053616B2 (ja) 表示部品制御システム
JP5053316B2 (ja) ネットワークシステム、プログラマブル表示装置およびメモリアクセス方法
JP2012043261A (ja) パラメータ設定ツール