JP2020149439A - 制御システム、サポート装置およびサポート装置用のプログラム - Google Patents

制御システム、サポート装置およびサポート装置用のプログラム Download PDF

Info

Publication number
JP2020149439A
JP2020149439A JP2019047166A JP2019047166A JP2020149439A JP 2020149439 A JP2020149439 A JP 2020149439A JP 2019047166 A JP2019047166 A JP 2019047166A JP 2019047166 A JP2019047166 A JP 2019047166A JP 2020149439 A JP2020149439 A JP 2020149439A
Authority
JP
Japan
Prior art keywords
control
control system
communication processing
data
unit
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
JP2019047166A
Other languages
English (en)
Other versions
JP7003952B2 (ja
Inventor
典弘 前川
Norihiro Maekawa
典弘 前川
寛子 久保
Hiroko Kubo
寛子 久保
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 JP2019047166A priority Critical patent/JP7003952B2/ja
Priority to US17/435,246 priority patent/US11917024B2/en
Priority to EP20769324.3A priority patent/EP3940468A4/en
Priority to CN202080017558.4A priority patent/CN113498495A/zh
Priority to PCT/JP2020/005273 priority patent/WO2020184035A1/ja
Publication of JP2020149439A publication Critical patent/JP2020149439A/ja
Application granted granted Critical
Publication of JP7003952B2 publication Critical patent/JP7003952B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • G05B19/054Input/output
    • 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/11Plc I-O input output
    • G05B2219/1147Variable rate of scan

Abstract

【課題】デバイスとの間でデータを遣り取りする周期の設定可能な範囲を容易に決定できる構成を提供する。【解決手段】制御装置および制御装置と通信可能なデバイスとを含む制御システムが提供される。制御システムは、制御対象を制御するための制御演算を周期的に実行する制御手段と、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段と、制御手段により実行される処理内容の構築、および、通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、提供手段により提供される開発環境において設定された内容に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを含む。【選択図】図1

Description

本発明は、データを周期的に遣り取りする制御システム、サポート装置およびサポート装置用のプログラムに関する。
設備や機械などを制御するための制御装置として、PLC(プログラマブルロジックコントローラ)が用いられる。さらに、PLCに加えて、セーフティコントローラおよび各種セーフティコンポーネントからなるセーフティシステムが配置されることもある。
ICT(Information and Communication Technology)の進歩に伴って、このような産業用コントローラについてもネットワーク化が進行しつつある。公知の構成においては、例えば、特許文献1(特開2009−223398号公報)に開示されるように、演算処理を実行するCPUユニットに加えて、通信処理を担当する通信ユニットが装着される。特許文献2(特開2017−027539号公報)に開示されるように、CPUモジュールとは別に、IOモジュールの一例である通信モジュールを装着して、通信処理を行う構成が一般的である。
特開2009−223398号公報 特開2017−027539号公報
通常、設備や機械などの制御対象を制御するための制御演算においては、IOデータ(入出力データ)を周期的に更新する必要がある。このようなIOデータを周期的に更新するためには、IOデータの収集先であるデバイスとの間でデータを周期的に遣り取りする必要がある。
しかしながら、ネットワーク上でデータを周期的に遣り取りする場合には、様々な制約要因が存在するため、通信周期をどのような値に設定すべきかを決定するのかは容易ではない。
本発明は、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を容易に決定できる構成を提供することを目的とする。
本発明のある実施の形態に従えば、制御装置および制御装置と通信可能なデバイスとを含む制御システムが提供される。制御システムは、制御対象を制御するための制御演算を周期的に実行する制御手段と、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段と、制御手段により実行される処理内容の構築、および、通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、提供手段により提供される開発環境において設定された内容に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを含む。
この実施の形態によれば、制御手段により実行される処理内容および通信処理に係る設定に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲が決定されるので、知識の少ないユーザであっても適切な周期を設定できる。
決定手段は、制御手段により実行される処理内容に応じて決定される制約要因、および、通信処理手段による通信処理に係る設定に応じて決定される制約要因の両方を反映して、設定可能な範囲を決定するようにしてもよい。この構成によれば、制御手段により実行される処理内容に応じて決定される制約要因、および、通信処理手段による通信処理に係る設定に応じて決定される制約要因の両方が反映された、適切な範囲を決定できる。
決定手段は、デバイスとの間で遣り取りされるデータのコネクション数およびデータサイズの少なくとも一方に基づいて、設定可能な範囲を決定するようにしてもよい。この構成によれば、デバイスとの間で遣り取りされるデータに応じて適切な範囲を決定できる。
決定手段は、制御手段において実行される制御演算の周期に基づいて、設定可能な範囲を決定するようにしてもよい。この構成によれば、制御演算の周期に応じて適切な範囲を決定できる。
決定手段は、制御手段において実行される制御演算に設定されている優先度に基づいて、設定可能な範囲を決定するようにしてもよい。この構成によれば、制御演算に設定されている優先度に応じて適切な範囲を決定できる。
決定手段は、制御装置の処理能力に基づいて、設定可能な範囲を決定するようにしてもよい。この構成によれば、制御装置の処理能力に応じて適切な範囲を決定できる。
決定手段は、制御装置がデータを遣り取りするデバイス毎に、設定可能な範囲を決定するようにしてもよい。この構成によれば、複数のデバイスとの間でデータを遣り取りする場合であっても、それぞれのデバイスについて適切な範囲を決定できる。
デバイスとの間でデータを遣り取りする周期の設定値が決定手段により決定された設定可能な範囲外である場合に、通知を行う通知手段をさらに含んでいてもよい。この構成によれば、現在の設定値が周期の設定可能な範囲外である場合に、適切な変更をユーザに促すことができる。
本発明の別の実施の形態に従えば、制御装置および制御装置と通信可能なデバイスとを含む制御システムに向けられたサポート装置が提供される。制御装置は、制御対象を制御するための制御演算を周期的に実行する制御手段と、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段とを含む。サポート装置は、制御手段により実行される処理内容の構築、および、通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、提供手段により提供される開発環境において設定された内容に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを含む。
本発明のさらに別の実施の形態に従えば、制御装置および制御装置と通信可能なデバイスとを含む制御システムに向けられたサポート装置用のプログラムが提供される。制御装置は、制御対象を制御するための制御演算を周期的に実行する制御手段と、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段とを含む。プログラムは、コンピュータにより実行されると、コンピュータに、制御手段により実行される処理内容の構築、および、通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供するステップと、開発環境において設定された内容に基づいて、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定するステップとを実行させる。
本発明によれば、デバイスとの間でデータを遣り取りする周期の設定可能な範囲を容易に決定できる。
本実施の形態に従う制御システムにおける処理概要を説明するための図である。 本実施の形態に従う制御システムの構成例を示す模式図である。 本実施の形態に従う制御システムに含まれる標準制御ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムに含まれるセーフティ制御ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムに含まれるサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムにおけるFSoEを説明するための模式図である。 本実施の形態に従う制御システムにおけるCIPSafetyを説明するための模式図である。 本実施の形態に従う制御装置におけるCIPSafetyを実現するための機能構成例を示す模式図である。 図8に示す機能構成の実装例を示す模式図である。 本実施の形態に従う制御装置におけるCIPSafetyの設定内容の一例を説明するための模式図である。 本実施の形態に従う制御装置におけるCIPSafety通信サービスの実行例を説明するための模式図である。 本実施の形態に従う制御システムにおいて設定可能なEPIの最小値を算出するために用いられるパラメータテーブルの一例を示す図である。 本実施の形態に従う制御システムにおいて設定可能なEPIの最小値を再算出する処理を説明するための図である。 本実施の形態に従う制御システムに含まれるサポート装置の機能構成の一例を示すブロック図である。 本実施の形態に従う制御システムが提供するユーザインターフェイス画面の一例を示す図である。 本実施の形態に従う制御システムが提供するユーザインターフェイス画面の別の一例を示す図である。 本実施の形態に従う制御システムが提供するユーザインターフェイス画面のさらに別の一例を示す図である。 本実施の形態に従う制御システムに含まれるサポート装置において実行される処理手順の一例を示すフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に従う制御システム1における処理概要を説明するための図である。図1を参照して、制御装置2は、プロセスネットワーク10を介して、1または複数のデバイスと接続されている。プロセスネットワーク10には、ハブ8が配置されていてもよい。
制御装置2は、制御対象を制御するための制御演算を周期的に実行する。また、制御装置2は、デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する。すなわち、制御装置2とデバイスとの間では、データが周期的に遣り取りされる。
このような通信処理を考慮して、制御装置2は、デバイスとの間でデータを遣り取りする周期(通信周期)の設定可能な範囲を決定することができる。具体的には、制御装置2は、制御装置2で実行される処理、および、通信処理に係る設定などに応じて、設定可能な通信周期が算出される。
この設定可能な通信周期の算出には、以下のような制約要因に基づいてもよい。
・制御装置(ユニット)の各種設定
・通信の設定内容
・制御装置(ユニット)の処理能力(スペック)
・制御装置(ユニット)が提供する他のサービス
・制御装置(ユニット)における優先度
このような制約要因については、後述するようなサポート装置が提供する開発環境において設定された内容に基づいて決定されるとともに、当該決定された制約要因から設定可能な通信周期が算出されてもよい。
ここで、「設定可能な範囲」とは、対象となる値を有効に設定できる範囲を包含する用語であり、上限および下限の両方を規定する場合に加えて、下限のみあるいは上限のみを規定する場合を含み得る。特に、本実施の形態においては、下限(最小値)の決定に着目する。
本明細書においては、制御装置と各デバイスとの間で送受信される主たるデータを「フレーム」として説明する。但し、「フレーム」との用語に基づいて、送受信されるデータを限定的に解釈すべきではなく、例えば、「パケット」の単位で送受信される場合や、より長いデータ列の単位で送受信されるような場合も含み得る。
本明細書においては、「標準制御」および「セーフティ制御」の用語を対比的に用いる。「標準制御」は、予め定められた要求仕様に沿って、制御対象を制御するための処理の総称である。一方、「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。「セーフティ制御」は、IEC 61508などに規定されたセーフティ機能を実現するための要件を満たすように設計される。
<B.システム構成例>
まず、本実施の形態に従う制御システム1の構成例について説明する。図2は、本実施の形態に従う制御システム1の構成例を示す模式図である。
図2を参照して、制御システム1は、一例として、制御装置2と、1または複数のリモートIO装置4と、1または複数のスレーブデバイスとを含む。
制御装置2は、制御演算を実行する処理主体であり、標準制御ユニット100と、セーフティ制御ユニット200と、1または複数の機能ユニット350とを含む。標準制御ユニット100は、標準制御および後述するような通信処理に係る制御演算を実行する。セーフティ制御ユニット200は、セーフティ制御に係る制御演算を実行する。機能ユニット350の各々は、各ユニットに実装されている機能(例えば、入出力機能、位置制御機能、PID制御機能など)に応じた処理を実行する。なお、セーフティ制御ユニット200は、機能ユニット350の一類型とみなすこともできる。
標準制御ユニット100と、セーフティ制御ユニット200および機能ユニット350との間は、内部バス18を介して電気的に接続されている。
制御装置2(標準制御ユニット100)は、フィールドネットワーク6を介して、リモートIO装置4と電気的に接続されている。制御装置2は、さらに、プロセスネットワーク10およびハブ8を介して、スレーブデバイスの一例であるセーフティドライバ12と通信可能に接続されている。
フィールドネットワーク6は、FA(Factory Automation)用のデータ伝送を実現するための通信媒体である。フィールドネットワーク6においては、予め定められた周期でフレーム伝送が可能になっており、ネットワーク内の各ノードに対するデータ到着時間が保証される。このようなデータ到着時間が保証されるプロトコルの一例として、本実施の形態に従う制御システム1においては、フィールドネットワーク6にはEtherCAT(登録商標)を採用する。さらに、後述するようなセーフティ制御に用いられるデータは、EtherCATを利用したFSoE(Functional Safety over EtherCAT)により伝送されてもよい。
プロセスネットワーク10は、フィールドネットワーク6と同様に、FA用のデータ伝送を実現するための通信媒体である。本実施の形態に従う制御システム1においては、プロセスネットワーク10にはEtherNet/IP(登録商標)を採用する。さらに、後述するようなセーフティ制御に用いられるデータは、EtherNet/IPを利用したCIPSafetyにより伝送されてもよい。
制御装置2(標準制御ユニット100)は、さらに上位ネットワーク20に接続されていてもよい。上位ネットワーク20には、ゲートウェイやデータベースサーバといった任意の情報処理装置が接続されていてもよい。
リモートIO装置4は、カプラユニット300と、1または複数の機能ユニット350とを含む。リモートIO装置4は、制御対象から各種情報を収集して制御装置2へ送信するとともに、制御装置2からのデータに含まれる指令に従って制御装置に対する信号出力や処理を実行する。
カプラユニット300は、制御装置2(標準制御ユニット100)と機能ユニット350との間のデータの遣り取りを仲介する。併せて、カプラユニット300は、フレームを介して受信したデータを機能ユニット350へ送信するとともに、機能ユニット350からデータを受信すると、当該受信したデータを次に到着するフレームに格納する準備を行う。
機能ユニット350は、制御装置2に含まれる機能ユニット350と実質的に同一であり、各ユニットに実装されている機能(例えば、入出力機能、位置制御機能、PID制御機能など)に応じた処理を実行する。
カプラユニット300は、機能ユニット350の一例として、セーフティ機能ユニット360を含む場合もある。図2には、1つのリモートIO装置4がセーフティ機能ユニット360を含む例を示す。セーフティ機能ユニット360は、セーフティ制御に係る機能を有している。一例として、セーフティ機能ユニット360は、セーフティIOユニットである。セーフティIOユニットは、非常停止ボタン、セーフティドアスイッチ、ライトカーテンなどのセーフティコンポーネント16からの信号を受け付ける入力機能、および/または、セーフティコンポーネント16への信号を出力する出力機能を有する。
セーフティ制御ユニット200とセーフティ機能ユニット360との間では、フィールドネットワーク6を周期的に伝送されるフレームを利用した一種のピアトゥピア通信であるFSoEを用いて、データが遣り取りされてもよい。
図2には、スレーブデバイスとして、モータ14を駆動するセーフティドライバ12を示す。セーフティドライバ12は、制御装置2(標準制御ユニット100)からの指令に従って、接続されているモータ14を駆動するとともに、モータ14の駆動に係るセーフティコンポーネントとしての機能も含む。なお、モータ14は、サーボモータ、誘導モータ、同期モータ、リニアモータなどの任意の運動体である。
セーフティドライバ12は、制御装置2(標準制御ユニット100)との間で確立されるコネクションを利用して、データを遣り取りする。以下では、このデータを遣り取りするプロトコルとして、CIPSafetyを用いる場合について説明する。
サポート装置500は、制御システム1に向けられたものであり、制御装置2(標準制御ユニット100およびセーフティ制御ユニット200)で実行されるプログラムの作成およびデバッグならびに各種設定の支援するための環境をユーザに提供する。
<C.ハードウェア構成例>
次に、制御システム1に含まれる主要な装置のハードウェア構成例について説明する。
(c1:標準制御ユニット)
図3は、本実施の形態に従う制御システム1に含まれる標準制御ユニット100のハードウェア構成例を示す模式図である。図3を参照して、標準制御ユニット100は、プロセッサ102と、チップセット104と、主メモリ106と、ストレージ108と、ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ118と、フィールドネットワークコントローラ120と、プロセスネットワークコントローラ122と、カウンタ126と、RTC(Real Time Clock)128とを含む。
プロセッサ102は、制御演算などを実行する演算処理部に相当し、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ108に格納されたプログラム(一例として、システムプログラムおよび標準制御プログラム(ユーザプログラム))を読み出して、主メモリ106に展開して実行することで、標準制御および後述するような通信処理に係る演算を実行する。ストレージ108は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。主メモリ106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。
チップセット104は、プロセッサ102と各デバイスとのデータ遣り取りを仲介することで、標準制御ユニット100全体としての処理を実現する。
ストレージ108には、基本的な機能を実現するためのシステムプログラムに加えて、設備や機械などの制御対象に応じて作成される標準制御を実現するための標準制御プログラムが格納される。
ネットワークコントローラ110は、上位ネットワーク20を介して、ゲートウェイやデータベースサーバといった任意の情報処理装置との間でデータを遣り取りする。
USBコントローラ112は、USB接続を介して、サポート装置500との間でデータを遣り取りする。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(標準制御プログラムやトレースデータなど)を読み出すことが可能になっている。
内部バスコントローラ118は、内部バス18を介して、標準制御ユニット100と、セーフティ制御ユニット200および機能ユニット350とを電気的に接続するための通信インターフェイスに相当する。内部バスコントローラ118は、内部バス18を介して定周期通信を行うための通信マスタとして機能する。
フィールドネットワークコントローラ120は、フィールドネットワーク6を介して、標準制御ユニット100とリモートIO装置4とを電気的に接続するための通信インターフェイスに相当する。フィールドネットワークコントローラ120は、フィールドネットワーク6を介して定周期通信を行うための通信マスタとして機能する。
プロセスネットワークコントローラ122は、プロセスネットワーク10を介して、標準制御ユニット100とセーフティドライバ12とを電気的に接続するための通信インターフェイスに相当する。プロセスネットワークコントローラ122は、プロセスネットワーク10を介して、予め定められた周期でデータを遣り取りするための通信制御を担当する。
カウンタ126は、標準制御ユニット100で実行される各種プログラムの実行タイミングを管理するための時刻基準として用いられる。RTC128は、計時機能を有する一種のカウンタであり、現在時刻をプロセッサ102などへ提供する。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICやFPGAなど)を用いて実装してもよい。あるいは、標準制御ユニット100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。さらに、標準制御ユニット100に表示装置やサポート装置などの機能を統合した構成を採用してもよい。
(c2:セーフティ制御ユニット)
図4は、本実施の形態に従う制御システム1に含まれるセーフティ制御ユニット200のハードウェア構成例を示す模式図である。図4を参照して、セーフティ制御ユニット200は、内部バスコントローラ218と、メインコントローラ210とを含む。
内部バスコントローラ218は、内部バス18を介して標準制御ユニット100とセーフティ制御ユニット200とを電気的に接続するための通信インターフェイスに相当する。内部バスコントローラ218は、内部バス18を介したデータ通信に参加するための通信スレーブとして機能する。
メインコントローラ210は、プロセッサ202と、主メモリ204と、ストレージ208とを含む。プロセッサ202は、制御演算や通信処理などを実行する演算処理部に相当し、CPU、MPU、GPUなどで構成される。具体的には、プロセッサ202は、ストレージ208に格納されたセーフティプログラム220を読み出して、主メモリ204に展開して実行することで、セーフティ制御などを実現する。
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICやFPGAなど)を用いて実装してもよい。
(c3:サポート装置)
図5は、本実施の形態に従う制御システム1に含まれるサポート装置500のハードウェア構成例を示す模式図である。サポート装置500は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
図5を参照して、サポート装置500は、プロセッサ502と、メインメモリ504と、入力部506と、出力部508と、ストレージ510と、光学ドライブ512と、USBコントローラ520とを含む。これらのコンポーネントは、プロセッサバス518を介して接続されている。
プロセッサ502は、CPU、MPU、GPUなどで構成され、ストレージ510に格納されたプログラム(一例として、OS5102およびサポートプログラム5104)を読み出して、メインメモリ504に展開して実行することで、後述するような各種処理を実現する。
メインメモリ504は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ510は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
ストレージ510には、基本的な機能を実現するためのOS5102に加えて、サポート装置500としての機能を提供するためのサポートプログラム5104が格納される。サポートプログラム5104は、標準制御ユニット100により実行される処理内容の構築、および、通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する。
さらに、ストレージ510には、サポートプログラム5104が実行されることで提供される開発環境においてユーザにより作成されるプロジェクトデータ5106が格納される。
サポート装置500は、制御システム1に含まれる各デバイスに対する設定および各デバイスで実行されるプログラムの作成が統合的に可能な開発環境を提供する。プロジェクトデータ5106は、このような統合的な開発環境によって生成されるデータを含む。典型的には、プロジェクトデータ5106は、標準制御ソースプログラム5108と、標準コントローラ設定情報5110と、セーフティソースプログラム5112と、セーフティコントローラ設定情報5114と、セーフティドライバ設定情報5116とを含む。
標準制御ソースプログラム5108は、オブジェクトコードに変換された上で、標準制御ユニット100へ送信され、標準制御プログラム1104として格納される。同様に、標準コントローラ設定情報5110についても標準制御ユニット100へ送信される。
セーフティソースプログラム5112は、オブジェクトコードに変換された上で、セーフティ制御ユニット200へ送信され、セーフティプログラム220(図4参照)として格納される。同様に、セーフティコントローラ設定情報5114についてもセーフティ制御ユニット200へ送信される。
セーフティドライバ設定情報5116は、セーフティドライバ12へ送信される。
入力部506は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部508は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ502からの処理結果などを出力する。
USBコントローラ520は、USB接続を介して、標準制御ユニット100などとの間のデータを遣り取りする。
サポート装置500は、光学ドライブ512を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体514(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られてストレージ510などにインストールされる。
サポート装置500で実行されるサポートプログラム5104などは、コンピュータ読取可能な記録媒体514を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置500が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
図5には、プロセッサ502がプログラムを実行することで、サポート装置500として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
なお、制御システム1が稼動中において、サポート装置500は、標準制御ユニット100から取り外されていてもよい。
<D.制御装置2における通信処理>
次に、制御装置2における通信処理について説明する。
(d1:フィールドネットワーク上のFSoE)
図6は、本実施の形態に従う制御システム1におけるFSoEを説明するための模式図である。図6には、フィールドネットワーク6を介して標準制御ユニット100とカプラユニット300とが接続された構成において、カプラユニット300にバス接続されるセーフティ機能ユニット360が収集したデータをセーフティ制御ユニット200へ送信する例を示す。
フィールドネットワーク6にはEtherCATに従うフレームが周期的に伝送されている。標準制御ユニット100は、フィールドネットワーク6を周期的に伝送されるフレームを介して、機能ユニットが収集した入力データを取得する。標準制御ユニット100は、取得した入力データに基づいて制御演算を実行するとともに、フレームを介して、制御演算の実行により得られる制御指令(出力データ)を機能ユニットへ送信する。
より具体的には、標準制御ユニット100は、フィールドネットワーク6におけるフレームの伝送周期に対応して、制御タスク150を周期的に実行する。すなわち、制御装置2を構成する標準制御ユニット100は、制御対象を制御するための制御演算を周期的に実行する。制御タスク150の各実行周期(タスク周期)において、IOリフレッシュ処理152、シーケンス演算などのユーザプログラム実行処理154、モーションプログラム実行処理156などが実行される。IOリフレッシュ処理152は、フィールドネットワーク6上を伝送されるフレームに含まれるデータを標準制御ユニット100において参照可能な状態に更新する処理である。通常、フレームの伝送周期は、標準制御ユニット100におけるタスク周期と一致するように設定されている。
FSoEにより送信されるデータは、フィールドネットワーク6上を伝送されるフレームにより標準制御ユニット100に送信された後、標準制御ユニット100により内部バス18(図3および図4など参照)を介してセーフティ制御ユニット200へ転送される。すなわち、FSoEを実現するために、標準制御ユニット100はデータを仲介する。
このようなフィールドネットワーク6を介して伝送されたデータをセーフティ制御ユニット200へ転送する処理、および、セーフティ制御ユニット200から送信されるデータをフレームに格納してフィールドネットワーク6を介して送出する処理(これらの処理は、以下では「FSoEデータの折り返し処理」とも称す。)は、制御タスク150に含まれるIOリフレッシュ処理152の一部として実行される。
FSoEデータの折り返し処理がIOリフレッシュ処理152の一部として実行されることで、FSoEの応答性を確保できる。すなわち、FSoEでのデータの遣り取りに要する時間は、タスク周期(すなわち、伝送周期)に応じて定まる時間に保証される。
(d2:プロセスネットワーク上のCIPSafety)
図7は、本実施の形態に従う制御システム1におけるCIPSafetyを説明するための模式図である。図7には、プロセスネットワーク10を介して標準制御ユニット100とスレーブデバイスの一例であるセーフティドライバ12とが接続された構成において、セーフティ制御ユニット200とセーフティドライバ12との間でデータを遣り取りする例を示す。
CIPSafetyにおいては、標準制御ユニット100と各スレーブデバイス(図7に示す例では、セーフティドライバ12)との間に予め定義されたコネクション毎にフレーム(CIPSafetyフレーム)が遣り取りされる。各コネクションのフレームの遣り取りを完了できる周期として、EPI(Expected Packet Interval)が予め設定されている。すなわち、各コネクションに対応するすべてのCIPSafetyフレームは、対応するEPI内で、少なくとも一回は生成および送信されることになる。EPIは、通信先のデバイス(ターゲットデバイス)毎にそれぞれ設定されてもよい。
標準制御ユニット100は、各スレーブデバイスから受信したフレームを、内部バス18を介してセーフティ制御ユニット200へ転送する。すなわち、標準制御ユニット100は、各スレーブデバイスとセーフティ制御ユニット200との間のフレーム転送を仲介するブリッジとして機能する。このブリッジとして機能は、制御タスク150とは独立した通信処理160として実行される。
通信処理160において、CIPSafetyのCIPSafetyフレームを処理するCIPSafety通信サービス162が実行される。
通信処理160を制御タスク150から分離することで、制御タスク150において実行されるユーザプログラム実行処理154が要する時間に影響されることなく、CIPSafetyの応答性を確保できる。すなわち、制御タスク150および通信処理160を互いに独立させて実行することで、標準制御ユニット100における標準制御プログラム(ユーザプログラム)の実行周期の短縮、および、CIPSafetyの応答性向上を両立できる。
<E.CIPSafetyの実装例>
次に、制御装置2におけるCIPSafetyの実装例について説明する。
図8は、本実施の形態に従う制御装置2におけるCIPSafetyを実現するための機能構成例を示す模式図である。図8を参照して、制御装置2は、CIPSafetyに関する機能として、CIPSafety通信サービス162と、CIPSafetyプロトコルスタック164と、セーフティ制御実行部250とを含む。
CIPSafety通信サービス162は、CIPSafetyフレームを処理する処理モジュールに相当する。具体的には、CIPSafety通信サービス162は、スレーブデバイスからCIPSafetyフレームを受信して、その受信したCIPSafetyフレームをCIPSafetyプロトコルスタック164へ出力する。また、CIPSafety通信サービス162は、CIPSafetyプロトコルスタック164からの指令に従って、CIPSafetyフレームを宛先のスレーブデバイスへ送信する。
CIPSafetyプロトコルスタック164は、CIPSafetyに従うCIPSafetyフレームの遣り取りを管理する。具体的には、CIPSafetyプロトコルスタック164は、入力されたCIPSafetyフレームを解析し、その中に含まれるデータ(入力データ)をセーフティ制御実行部250へ出力する。また、CIPSafetyプロトコルスタック164は、セーフティ制御実行部250からの制御指令(出力データ)に従って、CIPSafetyフレーム生成して、CIPSafety通信サービス162へ出力する。
セーフティ制御実行部250は、CIPSafetyプロトコルスタック164からの入力データに基づいてセーフティ制御に係る制御演算することで、制御指令(出力データ)を算出する。
図9は、図8に示す機能構成の実装例を示す模式図である。図9(a)には、標準制御ユニット100およびセーフティ制御ユニット200からなる構成例を示す。この構成例において、標準制御ユニット100には、CIPSafety通信サービス162が実装され、セーフティ制御ユニット200には、CIPSafetyプロトコルスタック164およびセーフティ制御実行部250が実装される。
一方、図9(b)には、すべての機能がセーフティ制御ユニット200に実装される構成例を示す。構成例においては、CIPSafety通信サービス162、CIPSafetyプロトコルスタック164およびセーフティ制御実行部250がセーフティ制御ユニット200に実装される。
なお、図9(a)および図9(b)に示す構成例に限らず、どのような実装形態を採用してもよい。
このように、制御装置2を構成する標準制御ユニット100またはセーフティ制御ユニット200は、スレーブデバイスとの間でデータを周期的に遣り取りするための通信処理を実行する。
<F.CIPSafetyの応答性>
次に、CIPSafetyの応答性(EPIの最小値)について説明する。
(f1:CIPSafetyの応答性を決定する要素)
EPIが短いほどデータの更新周期が短いことを意味する。そのため、制御性能などを考慮すると、EPIは可能な限り短く設定することが好ましい。しかしながら、以下に示すような制約により、設定可能なEPIは決定されることになる。
(1)CIPSafetyの応答性に影響を及ぼすユニットの各種設定
(2)CIPSafetyの設定内容
(3)CIPSafety通信サービス162を提供するユニットの処理能力(スペック)
(4−1)CIPSafety通信サービス162を提供するユニットが提供する他のサービス
(4−2)CIPSafety通信サービス162を提供するユニットにおける優先度
このような制約要因の少なくとも一部に基づいてEPIの設定可能な範囲が決定される。以下、各制約要因について説明する。
(f2:CIPSafetyの応答性に影響を及ぼすユニットの各種設定)
CIPSafetyの応答性に影響を及ぼすユニットの各種設定としては、制御タスク150の各実行周期(タスク周期)などを含む。そのため、本実施の形態に従う制御システム1においては、標準制御ユニット100において実行される制御演算の周期(タスク周期)に基づいて、EPIの設定可能な範囲を決定するようにしてもよい。
(f3:CIPSafetyの設定内容)
CIPSafetyの設定内容としては、CIPSafetyのコネクション数およびデータサイズを含む。CIPSafetyのコネクション数とは、制御システム1が固有にサポートしているコネクション数(最大数)、および、ユーザにより任意に設定されるコネクション数の両方を含み得る。また、CIPSafetyのデータサイズとは、各コネクションに割り当てられているデータの大きさ、および、すべてのコネクションに割り当てられているデータの合計の両方を含み得る。
図10は、本実施の形態に従う制御装置2におけるCIPSafetyの設定内容の一例を説明するための模式図である。図10(a)には、コネクションC1〜C100が設定されている例を示し、図10(b)には、コネクションC1〜C10が設定されている例を示す。
図10(a)と図10(b)とを比較すると分かるように、コネクション数が多いほど、EPIが長くなることが分かる。同様に、データサイズが大きくなるほど、EPIは長くなる。
このように、CIPSafetyの設定内容に応じて、CIPSafetyの応答性(すなわち、EPIの最小値)は変化することになる。そのため、本実施の形態に従う制御システム1においては、スレーブデバイスとの間で遣り取りされるデータのコネクション数およびデータサイズの少なくとも一方に基づいて、EPIの設定可能な範囲を決定するようにしてもよい。
なお、通信先のデバイス(ターゲットデバイス)毎に1または複数のコネクションを設定できるので、ターゲットデバイス毎にEPIを設定することも可能である。すなわち、制御装置2がデータを遣り取りするデバイス毎に、EPIの設定可能な範囲を決定するようにしてもよい。
(f4:CIPSafety通信サービス162を提供するユニットの処理能力)
CIPSafety通信サービス162を提供するユニットの処理能力(スペック)は、CIPSafety通信サービス162が実装されたユニット(図9に示すように、標準制御ユニット100またはセーフティ制御ユニット200)のハードウェア性能を意味する。このような処理能力(スペック)は、ユニットに実装されたプロセッサの性能、メモリ容量、データ伝送速度などに依存する。
そのため、本実施の形態に従う制御システム1においては、制御装置2(標準制御ユニット100およびセーフティ制御ユニット200)の処理能力に基づいて、EPIの設定可能な範囲を決定するようにしてもよい。
(f5:CIPSafety通信サービス162を提供するユニットが提供する他のサービス、および、CIPSafety通信サービス162を提供するユニットにおける優先度)
図11は、本実施の形態に従う制御装置2におけるCIPSafety通信サービスの実行例を説明するための模式図である。図11には、CIPSafety通信サービス162を提供するユニット(標準制御ユニット100またはセーフティ制御ユニット200)における実行例を示す。
図11(a)および図11(b)のいずれにおいても、共通のリソースを用いて、CIPSafety通信サービス162に加えて、サービスX166およびサービスY167が実行される。図11(a)には、CIPSafety通信サービス162が他のサービスに比較して高い優先度で実行される例を示し、図11(b)には、CIPSafety通信サービス162が他のサービスに比較して低い優先度で実行される例を示す。
より具体的には、図11(a)に示すように、他のサービスに比較して、CIPSafety通信サービス162に対してより高い優先度が設定されている場合には、CIPSafety通信サービス162が優先的に実行されるために、EPIを短くすることができる。
これに対して、図11(b)に示すように、CIPSafety通信サービス162に比較して、他のサービスに対してより高い優先度が設定されている場合には、CIPSafety通信サービス162の実行周期が長くなるので、これに伴って、EPIも長くせざるを得ない。
このように、CIPSafety通信サービス162を提供するユニットで実行されるサービス内容、および、各サービスに設定される優先度に応じて、CIPSafetyの応答性(すなわち、EPIの最小値)は変化することになる。そのため、本実施の形態に従う制御システム1においては、標準制御ユニット100において実行される制御演算に設定されている優先度に基づいて、EPIの設定可能な範囲を決定するようにしてもよい。
通常、CIPSafety通信サービス162を提供するユニットが提供する他のサービスの各々については、実行の有効または無効を予め設定することができる。但し、一部のサービスについては、無効とすることができず、実行が固定されていることもある。
また、CIPSafety通信サービス162を提供するユニットにおける優先度については、任意に設定することができる。但し、一部のサービスの優先度については、設計値に固定されていることもある。
(f6:小括)
上述したように、CIPSafetyの応答性を可能な限り高めて(すなわち、EPIをより短く設定して)、制御性能を向上させることが好ましいが、様々な制約により、EPIの長さを短縮することが難しい場合もある。そこで、本実施の形態に従う制御システム1においては、制御装置2を構成する標準制御ユニット100およびセーフティ制御ユニット200により実行される処理内容に応じて決定される制約要因(一例として、上述の(1),(4−1),(4−2))、および、通信処理に係る設定に応じて決定される制約要因(一例として、上述の(2))の両方を反映して、EPIの設定可能な範囲を決定するようにしてもよい。
<G.CIPSafetyの設定支援>
本実施の形態に従う制御システム1は、上述したような制約要素を反映した上で、CIPSafetyの応答性(EPIの長さ)の設定を支援する機能を提供することもできる。以下、CIPSafetyの応答性(EPIの長さ)の設定を支援する機能について説明する。すなわち、本実施の形態に従う制御システム1は、ユニットの性能および現在の設定に応じて決定される、設定可能なEPIの最小値を自動的に算出できる。
(g1:EPIの最小値の算出方法)
まず、設定可能なEPIの最小値を算出する方法の一例について説明する。
図12は、本実施の形態に従う制御システム1において設定可能なEPIの最小値を算出するために用いられるパラメータテーブル170の一例を示す図である。図12を参照して、パラメータテーブル170は、一例として、コントローラ(典型的には、標準制御ユニット100)の種別別に、第1パラメータ172、第2パラメータ174および第3パラメータ群176の各パラメータ値を含む。
第1パラメータ172は、「(1)CIPSafetyの応答性に影響を及ぼすユニットの各種設定」の制約要因を反映する。
第2パラメータ174は、「(2)CIPSafetyの設定内容」の制約要因を反映する。
第3パラメータ群176は、「(4−1)CIPSafety通信サービス162を提供するユニットが提供する他のサービス」および「(4−2)CIPSafety通信サービス162を提供するユニットにおける優先度」の制約要因を反映する。
第1パラメータ172、第2パラメータ174および第3パラメータ群176は、いずれも、「(3)CIPSafety通信サービス162を提供するユニットの処理能力(スペック)」の制約要因を反映する。
図12に示すように、対象のコントローラの種別が決定されると、パラメータテーブル170から対応する5つのパラメータ値が読み出される。読み出されたパラメータ値および設定内容に基づいて、以下に示すような(1)式に従って、設定可能なEPIの最小値が算出される。
設定可能なEPIの最小値=a×Ts+b×Sc+c+d+e ・・・(1)
ここで、設定値Tsは、制御タスク150の各実行周期(タスク周期)を意味する。すなわち、設定値Tsは、IOリフレッシュ周期を意味する。また、設定値Scは、CIPSafetyのコネクション数を意味する。なお、設定値Scとして、CIPSafetyのデータサイズを用いてもよい。
第3パラメータ群176のパラメータ値(パラメータ値c,d,e)は、実行されるサービスおよび優先度などを反映する。そのため、対象のコントローラにおいて実行されるサービスや優先度が変更された場合には、その変更後の設定内容に応じて、設定可能なEPIの最小値を再算出するようにしてもよい。
図13は、本実施の形態に従う制御システム1において設定可能なEPIの最小値を再算出する処理を説明するための図である。図13を参照して、対象のコントローラにおいて実行されるサービスの内容あるいはサービスに設定される優先度が変更された場合には、適用するパラメータを再度選択して、設定可能なEPIの最小値を再算出してもよい。
図13に示す例では、CIPSafety通信サービス162は、サービスX166の次に高い優先度が設定されている。一方、サービスY167およびサービスZ168には、CIPSafety通信サービス162より低い優先度が設定されている。
このような場合においては、CIPSafety通信サービス162の実行に影響を与えるのは実質的にサービスX166だけである。そのため、設定可能なEPIの最小値を算出するにあたっては、サービスX166に対応するパラメータ値のみを反映してもよい。例えば、第3パラメータ群176に含まれるパラメータ値c,d,eがサービスX166、サービスY167、サービスZ168にそれぞれ対応する場合には、パラメータ値cのみが反映されることになる。すなわち、設定可能なEPIの最小値は、以下に示すような(2)式に従って算出される。
設定可能なEPIの最小値=a×Ts+b×Sc+c ・・・(2)
このように、対象のコントローラにおいて実行されるサービスのうち、CIPSafety通信サービス162より高い優先度が設定されているサービスに関連付けられるパラメータのみを反映するようにしてもよい。
なお、EPIの最大値に対する本質的な制約要因は存在しないので、予め定められた値をEPIの最大値としてもよい。あるいは、通信エラー(タイムアウト)と判断される時間未満の任意の値をEPIの最大値としてもよい。
(g2:機能構成)
上述したような設定可能なEPIの最小値を算出する機能は、典型的には、サポート装置500に実装される。以下、サポート装置500に実装される場合の機能構成について説明する。
図14は、本実施の形態に従う制御システム1に含まれるサポート装置500の機能構成の一例を示すブロック図である。図14に示す主要機能は、サポート装置500のプロセッサ502がサポートプログラム5104を実行することで実現される(図5)。
図14を参照して、サポート装置500は、プログラム開発部540と、EPI算出部550とを含む。
プログラム開発部540は、制御装置2で実行されるプログラムの開発、および、必要な設定を行うためのインターフェイスを提供する。プログラム開発部540は、ユーザ操作に従って、標準制御ソースプログラム5108、標準コントローラ設定情報5110、セーフティソースプログラム5112、セーフティコントローラ設定情報5114、および、セーフティドライバ設定情報5116などを含むプロジェクトデータ5106(図5など参照)を生成する。
このように、プログラム開発部540は、制御装置2を構成する標準制御ユニット100およびセーフティ制御ユニット200により実行される処理内容の構築、および、通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する。
EPI算出部550は、プログラム開発部540により生成される設定情報542(標準コントローラ設定情報5110およびセーフティコントローラ設定情報5114などを含む)と、パラメータテーブル170(図12参照)とに基づいて、設定可能なEPIの最小値を算出する。EPI算出部550により算出された設定可能なEPIの最小値は、ディスプレイなどの出力部508(図5など参照)を介してユーザに提示されてもよい。
このように、EPI算出部550は、プログラム開発部540により提供される開発環境において設定された内容に基づいて、スレーブデバイスとの間でデータを遣り取りする周期(EPI)の設定可能な範囲を決定する。
(g3:ユーザインターフェイス画面例)
次に、上述したような設定可能なEPIの最小値の算出結果をユーザに提示するためのユーザインターフェイス画面例について説明する。
図15は、本実施の形態に従う制御システム1が提供するユーザインターフェイス画面の一例を示す図である。図15に示すユーザインターフェイス画面570は、典型的には、サポート装置500上に表示されてもよい。
図15を参照して、ユーザインターフェイス画面570は、設定情報574に対応付けられたEPIの設定可能範囲572を含む。設定情報574は、設定項目として、タスク周期575(設定Ts)と、コネクション数576(設定Sc)と、種別情報577とを含む。
このように、サポート装置500上は、設定可能なEPIの最小値を算出し、当該EPIの算出に対応する設定情報とともにユーザに提示する。
図16は、本実施の形態に従う制御システム1が提供するユーザインターフェイス画面の別の一例を示す図である。図16(a)に示すユーザインターフェイス画面580においては、現在のEPIの設定値582がターゲットデバイス588毎に表示されている。ターゲットデバイス588毎のEPIの設定値582に対応付けて、設定情報584(タスク周期585(設定Ts)、コネクション数586(設定Sc)、種別情報587)が表示されている。
EPIの設定値582が対応する設定情報584に基づいて算出される設定可能なEPIの最小値を下回っている場合(すなわち、設定可能範囲外である場合)には、エラーであることをユーザに提示するようにしてもよい。このエラーの提示はどのような形態で行ってもよいが、例えば、該当するEPIの設定値582の文字あるいは背景の色を通常の表示態様とは異なるものにする態様を採用してもよい。図16には、EPIの設定値582に対して、エラーを提示するためのアテンション表示589がなされている例を示す。あるいは、該当するEPIの設定値582を点滅させたり、音声などを用いた通知を行ったりしてもよい。
さらに、図16(b)に示すように、エラーが発生したEPIの設定値582に対しては、設定可能範囲内となるように、設定情報584の設定内容の変更を示唆するメッセージ579を表示するようにしてもよい。図16(b)に示す例では、コネクション数586(設定Sc)を低減することでEPIの設定値582が設定可能範囲内となり得ることが提示されている。メッセージ579に含まれる設定内容の変更を示唆する内容は、サポート装置500が設定情報584を異ならせたいくつかの候補を生成し、各候補について設定可能なEPIの最小値をそれぞれ算出することで決定される。
なお、コネクション数586に限らず、他の設定内容を変更することを示唆するようにしてもよい。
図17は、本実施の形態に従う制御システム1が提供するユーザインターフェイス画面のさらに別の一例を示す図である。図17に示すユーザインターフェイス画面590は、CIPSafetyに係る設定用のインターフェイスを提供する。ユーザインターフェイス画面590は、設定対象のポートに設定されているコネクションの情報を含む。
より具体的には、ユーザインターフェイス画面590は、コネクション設定の有効無効を選択するためのフラグ592と、対象のコネクションに割り当てられているデータの設定593と、対応する設定可能なEPIの最小値594と、通信先のデバイス(ターゲットデバイス)との間のネットワーク応答時間596とを含む。なお、ネットワーク応答時間596については、シミュレーションによって算出された値であってもよいし、実際に測定された値(実測値)であってもよい。
このような設定インターフェイスにおいて、EPIの設定値が設定可能範囲外である場合には、設定可能範囲を含むエラーメッセージ595を表示するようにしてもよい。
また、サポート装置500の開発環境において、プロジェクトデータ5106から各ユニットに転送される実行形式のプログラムを生成する際に、設定されているEPIが設定可能範囲内であるか否かを判断し、設定可能範囲外である場合には、エラーメッセージを提示するようにしてもよい。
上述の図16および図17に示すように、サポート装置500は、スレーブデバイスとの間でデータを遣り取りする周期の設定値がEPIの設定可能な範囲外である場合に、通知を行う通知機能を有していてもよい。
(g4:フローチャート)
次に、上述したような設定可能なEPIの最小値を算出する処理を実現するための処理手順について説明する。
図18は、本実施の形態に従う制御システム1に含まれるサポート装置500において実行される処理手順の一例を示すフローチャートである。図18に示す各ステップは、サポート装置500のプロセッサ502がサポートプログラム5104を実行することで実現される(図5)。
図18を参照して、サポート装置500は、ユーザ操作に応じて、開発環境の提供を開始する(ステップS100)。すなわち、サポート装置500は、標準制御ユニット100により実行される処理内容の構築、および、通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する処理を実行する。
サポート装置500は、ユーザ操作に応じて、プログラムを生成および各種の設定情報を決定する(ステップS102)。そして、サポート装置500は、設定可能なEPIの最小値の算出に必要な情報が用意されているか否かを判断する(ステップS104)。設定可能なEPIの最小値の算出に必要な情報が用意されていなければ(ステップS104においてNO)、サポート装置500は、ステップS102以下の処理を繰り返す。
設定可能なEPIの最小値の算出に必要な情報が用意されていれば(ステップS104においてYES)、サポート装置500は、算出対象となるデバイス(ターゲットデバイス)を一つ選択し(ステップS106)、関連する設定情報に基づいて、設定可能なEPIの最小値を算出する(ステップS108)。すなわち、サポート装置500は、開発環境において設定された内容に基づいて、スレーブデバイスとの間でデータを遣り取りする周期であるEPIの設定可能な範囲を決定する処理を実行する。
続いて、サポート装置500は、算出対象となるデバイスのすべてについて、設定可能なEPIの最小値を算出したか否かを判断する(ステップS110)。設定可能なEPIの最小値を算出していないデバイスが残っている場合(ステップS110においてNO)、サポート装置500は、ステップS106以下の処理を繰り返す。
一方、算出対象となるデバイスのすべてについて、設定可能なEPIの最小値を算出していれば(ステップS110においてYES)、サポート装置500は、現在設定されている1または複数のEPIのうち、対応する設定可能なEPIの最小値を下回っているものがあるか否かを判断する(ステップS112)。
現在設定されている1または複数のEPIのうち、対応する設定可能なEPIの最小値を下回っているものがあれば(ステップS112においてYES)、サポート装置500は、設定可能なEPIの最小値を下回っているEPIを特定する(ステップS114)。なお、設定可能なEPIの最小値を下回っているEPIがなければ(ステップS112においてNO)、ステップS114の処理はスキップされる。
そして、サポート装置500は、算出した設定可能なEPIの最小値、および、設定可能なEPIの最小値を下回っているEPIについてのエラーをユーザに提示する(ステップS116)。そして、処理は終了する。
<H.変形例>
上述の説明においては、主として、サポート装置500が設定可能なEPIの最小値を算出する構成例について説明したが、サポート装置500に限らず、任意の処理主体において算出できる。例えば、コントローラ(標準制御ユニット100またはセーフティ制御ユニット200)で実行するようにしてもよいし、サポート装置500から出力される設定情報に基づいてクラウド上に配置されたコンピュータで実行するようにしてもよい。すなわち、本実施の形態に従う設定可能なEPIの最小値の算出方法は、どのような処理主体で実行されてもよい。
また、上述の説明においては、主として、CIPSafetyについて詳述したが、本発明は、CIPSafetyに限らず、1または複数の通信先との間で、予め定められたデータサイズのデータを周期的に遣り取りするデータ通信に広く適用可能である。例えば、EtherNet/IPによる通常のフレーム伝送などに適用できる。
また、上述の説明においては、互いに独立した標準制御ユニット100およびセーフティ制御ユニット200を含む制御装置2を例示したが、このような構成に限定されることなく、両ユニットの機能を統合した単一のコントローラとして実現してもよい。さらに、本発明の本質は通信処理であるので、必ずしも標準制御ユニット100およびセーフティ制御ユニット200の両方を含む制御装置2を用いる必要はなく、いずれか一方のユニットのみからなる制御装置の構成であってもよい。
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御装置(2)および前記制御装置と通信可能なデバイス(12)とを備える制御システム(1)であって、
制御対象を制御するための制御演算(150)を周期的に実行する制御手段(100)と、
前記デバイスとの間でデータを周期的に遣り取りするための通信処理(160)を実行する通信処理手段(100;200)と、
前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段(500;540)と、
前記提供手段により提供される開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段(500;550)とを備える、制御システム。
[構成2]
前記決定手段は、前記制御手段により実行される処理内容に応じて決定される制約要因、および、前記通信処理手段による通信処理に係る設定に応じて決定される制約要因の両方を反映して、前記設定可能な範囲を決定する、構成1に記載の制御システム。
[構成3]
前記決定手段は、前記デバイスとの間で遣り取りされるデータのコネクション数およびデータサイズの少なくとも一方に基づいて、前記設定可能な範囲を決定する、構成1または2に記載の制御システム。
[構成4]
前記決定手段は、前記制御手段において実行される前記制御演算の周期に基づいて、前記設定可能な範囲を決定する、構成1〜3のいずれか1項に記載の制御システム。
[構成5]
前記決定手段は、前記制御手段において実行される前記制御演算に設定されている優先度に基づいて、前記設定可能な範囲を決定する、構成1〜4のいずれか1項に記載の制御システム。
[構成6]
前記決定手段は、前記制御装置の処理能力に基づいて、前記設定可能な範囲を決定する、構成1〜5のいずれか1項に記載の制御システム。
[構成7]
前記決定手段は、前記制御装置がデータを遣り取りするデバイス毎に、前記設定可能な範囲を決定する、構成1〜6のいずれか1項に記載の制御システム。
[構成8]
前記デバイスとの間でデータを遣り取りする周期の設定値が前記決定手段により決定された設定可能な範囲外である場合に、通知を行う通知手段(500)をさらに備える、構成1〜7のいずれか1項に記載の制御システム。
[構成9]
制御装置(2)および前記制御装置と通信可能なデバイス(12)とを備える制御システム(1)に向けられたサポート装置(500)であって、
前記制御装置は、
制御対象を制御するための制御演算(150)を周期的に実行する制御手段(100)と、
前記デバイスとの間でデータを周期的に遣り取りするための通信処理(160)を実行する通信処理手段(100;200)とを備え、
前記サポート装置は、
前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段(500;540)と、
前記提供手段により提供される開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段(500;550)とを備える、サポート装置。
[構成10]
制御装置(2)および前記制御装置と通信可能なデバイス(12)とを備える制御システム(1)に向けられたサポート装置用(500)のプログラム(5104)であって、
前記制御装置は、
制御対象を制御するための制御演算(150)を周期的に実行する制御手段(100)と、
前記デバイスとの間でデータを周期的に遣り取りするための通信処理(160)を実行する通信処理手段(100;200)とを備え、
前記プログラムは、コンピュータにより実行されると、前記コンピュータに
前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供するステップ(S100)と、
前記開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定するステップ(S108)とを実行させる、サポート装置用のプログラム。
<J.まとめ>
本実施の形態によれば、制御装置2により実行される処理内容および通信処理に係る設定に基づいて、制御装置2とスレーブデバイスとの間でデータを遣り取りする周期(EPI)の設定可能な範囲を決定できる。そのため、知識の少ないユーザであっても適切な周期を設定できる。これによって、様々な種類が存在し、また制御対象に応じて様々な設定がなされる制御装置において、周期超過などによる通信の切断といった不具合の発生を防止できる。
また、本実施の形態によれば、データを遣り取りする周期(EPI)の設定可能な範囲を算出できるので、その算出された範囲内で適切な周期を見つけるためのチューニングを容易に実現できる。
また、本実施の形態によれば、現実の制御装置2が存在しなくても、データを遣り取りする周期(EPI)の設定可能な範囲を事前に知ることができるので、装置設計を容易に実現できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、2 制御装置、4 リモートIO装置、6 フィールドネットワーク、8 ハブ、10 プロセスネットワーク、12 セーフティドライバ、14 モータ、16 セーフティコンポーネント、18 内部バス、20 上位ネットワーク、100 標準制御ユニット、102,202,502 プロセッサ、104 チップセット、106,204 主メモリ、108,208,510 ストレージ、110 ネットワークコントローラ、112,520 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,218 内部バスコントローラ、120 フィールドネットワークコントローラ、122 プロセスネットワークコントローラ、126 カウンタ、128 RTC、150 制御タスク、152 リフレッシュ処理、154 ユーザプログラム実行処理、156 モーションプログラム実行処理、160 通信処理、162 通信サービス、164 プロトコルスタック、166 サービスX、167 サービスY、168 サービスZ、170 パラメータテーブル、172 第1パラメータ、174 第2パラメータ、176 第3パラメータ群、200 セーフティ制御ユニット、210 メインコントローラ、220 セーフティプログラム、250 セーフティ制御実行部、300 カプラユニット、350 機能ユニット、360 セーフティ機能ユニット、500 サポート装置、504 メインメモリ、506 入力部、508 出力部、512 光学ドライブ、514 記録媒体、518 プロセッサバス、540 プログラム開発部、542,574,584 設定情報、550 EPI算出部、570,580,590 ユーザインターフェイス画面、572 設定可能範囲、575,585 タスク周期、576,586 コネクション数、577,587 種別情報、579 メッセージ、582 EPIの設定値、588 ターゲットデバイス、589 アテンション表示、592 フラグ、593 データの設定、594 EPIの最小値、595 エラーメッセージ、596 ネットワーク応答時間、1104 標準制御プログラム、5102 OS、5104 サポートプログラム、5106 プロジェクトデータ、5108 標準制御ソースプログラム、5110 標準コントローラ設定情報、5112 セーフティソースプログラム、5114 セーフティコントローラ設定情報、5116 セーフティドライバ設定情報。

Claims (10)

  1. 制御装置および前記制御装置と通信可能なデバイスとを備える制御システムであって、
    制御対象を制御するための制御演算を周期的に実行する制御手段と、
    前記デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段と、
    前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、
    前記提供手段により提供される開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを備える、制御システム。
  2. 前記決定手段は、前記制御手段により実行される処理内容に応じて決定される制約要因、および、前記通信処理手段による通信処理に係る設定に応じて決定される制約要因の両方を反映して、前記設定可能な範囲を決定する、請求項1に記載の制御システム。
  3. 前記決定手段は、前記デバイスとの間で遣り取りされるデータのコネクション数およびデータサイズの少なくとも一方に基づいて、前記設定可能な範囲を決定する、請求項1または2に記載の制御システム。
  4. 前記決定手段は、前記制御手段において実行される前記制御演算の周期に基づいて、前記設定可能な範囲を決定する、請求項1〜3のいずれか1項に記載の制御システム。
  5. 前記決定手段は、前記制御手段において実行される前記制御演算に設定されている優先度に基づいて、前記設定可能な範囲を決定する、請求項1〜4のいずれか1項に記載の制御システム。
  6. 前記決定手段は、前記制御装置の処理能力に基づいて、前記設定可能な範囲を決定する、請求項1〜5のいずれか1項に記載の制御システム。
  7. 前記決定手段は、前記制御装置がデータを遣り取りするデバイス毎に、前記設定可能な範囲を決定する、請求項1〜6のいずれか1項に記載の制御システム。
  8. 前記デバイスとの間でデータを遣り取りする周期の設定値が前記決定手段により決定された設定可能な範囲外である場合に、通知を行う通知手段をさらに備える、請求項1〜7のいずれか1項に記載の制御システム。
  9. 制御装置および前記制御装置と通信可能なデバイスとを備える制御システムに向けられたサポート装置であって、
    前記制御装置は、
    制御対象を制御するための制御演算を周期的に実行する制御手段と、
    前記デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段とを備え、
    前記サポート装置は、
    前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供する提供手段と、
    前記提供手段により提供される開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定する決定手段とを備える、サポート装置。
  10. 制御装置および前記制御装置と通信可能なデバイスとを備える制御システムに向けられたサポート装置用のプログラムであって、
    前記制御装置は、
    制御対象を制御するための制御演算を周期的に実行する制御手段と、
    前記デバイスとの間でデータを周期的に遣り取りするための通信処理を実行する通信処理手段とを備え、
    前記プログラムは、コンピュータにより実行されると、前記コンピュータに
    前記制御手段により実行される処理内容の構築、および、前記通信処理手段による通信処理に係る設定、の少なくとも一部を行うための開発環境を提供するステップと、
    前記開発環境において設定された内容に基づいて、前記デバイスとの間でデータを遣り取りする周期の設定可能な範囲を決定するステップとを実行させる、サポート装置用のプログラム。
JP2019047166A 2019-03-14 2019-03-14 制御システム、サポート装置およびサポート装置用のプログラム Active JP7003952B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019047166A JP7003952B2 (ja) 2019-03-14 2019-03-14 制御システム、サポート装置およびサポート装置用のプログラム
US17/435,246 US11917024B2 (en) 2019-03-14 2020-02-12 Control system, support apparatus, and program for support apparatus
EP20769324.3A EP3940468A4 (en) 2019-03-14 2020-02-12 CONTROL SYSTEM, ASSISTANT DEVICE AND PROGRAM FOR ASSISTANT DEVICE
CN202080017558.4A CN113498495A (zh) 2019-03-14 2020-02-12 控制系统、支持装置以及支持装置用的程序
PCT/JP2020/005273 WO2020184035A1 (ja) 2019-03-14 2020-02-12 制御システム、サポート装置およびサポート装置用のプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019047166A JP7003952B2 (ja) 2019-03-14 2019-03-14 制御システム、サポート装置およびサポート装置用のプログラム

Publications (2)

Publication Number Publication Date
JP2020149439A true JP2020149439A (ja) 2020-09-17
JP7003952B2 JP7003952B2 (ja) 2022-01-21

Family

ID=72426171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019047166A Active JP7003952B2 (ja) 2019-03-14 2019-03-14 制御システム、サポート装置およびサポート装置用のプログラム

Country Status (5)

Country Link
US (1) US11917024B2 (ja)
EP (1) EP3940468A4 (ja)
JP (1) JP7003952B2 (ja)
CN (1) CN113498495A (ja)
WO (1) WO2020184035A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023189136A1 (ja) * 2022-04-01 2023-10-05 オムロン株式会社 開発支援装置、開発支援プログラム、及び開発支援方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7399349B1 (ja) * 2022-09-21 2023-12-15 三菱電機株式会社 設定支援装置、制御システム、設定支援方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307613A (ja) * 1997-05-07 1998-11-17 Mitsubishi Electric Corp プロセスデータ収集装置の更新方法
JP2002353984A (ja) * 2001-05-30 2002-12-06 Yaskawa Electric Corp I/o伝送システム
JP2004318508A (ja) * 2003-04-16 2004-11-11 Yaskawa Electric Corp I/o伝送システム
JP2018128780A (ja) * 2017-02-07 2018-08-16 オムロン株式会社 演算装置、制御装置および制御方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831680B2 (en) * 2004-07-16 2010-11-09 National Instruments Corporation Deterministic communication between graphical programs executing on different computer systems
WO2006102473A2 (en) * 2005-03-21 2006-09-28 Dexterra, Inc. Modular applications for mobile data system
JP4005614B2 (ja) * 2005-11-04 2007-11-07 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4941365B2 (ja) 2008-03-13 2012-05-30 オムロン株式会社 産業用コントローラ
JP2010198600A (ja) 2009-02-02 2010-09-09 Omron Corp 産業用コントローラ
JP5136695B2 (ja) * 2011-01-31 2013-02-06 トヨタ自動車株式会社 安全制御装置および安全制御方法
JP5340376B2 (ja) * 2011-12-28 2013-11-13 楽天株式会社 検索装置、検索方法、検索プログラム及び記録媒体
JP6263836B2 (ja) 2013-01-15 2018-01-24 オムロン株式会社 制御装置および制御方法
JP6390113B2 (ja) 2014-02-14 2018-09-19 オムロン株式会社 制御システム、開発支援装置、制御装置、および制御方法
JP6498557B2 (ja) 2015-07-28 2019-04-10 株式会社日立産機システム プログラマブルコントローラ
CN106227140B (zh) * 2016-08-06 2019-04-09 山东华旗新能源科技有限公司 智慧供水管理系统
JP7089842B2 (ja) 2016-10-07 2022-06-23 オムロン株式会社 演算装置および制御装置
JP6769230B2 (ja) * 2016-10-14 2020-10-14 オムロン株式会社 通信装置、制御装置および通信方法
US20190149623A1 (en) * 2017-11-10 2019-05-16 The Toronto-Dominion Bank Automatic generation and provisioning of notification data to dynamically selected network-connected devices
WO2019203825A1 (en) * 2018-04-18 2019-10-24 Google Llc Inter device transfer of resources for executing application update cycles
JP7095634B2 (ja) * 2019-03-13 2022-07-05 トヨタ自動車株式会社 自動更新システム、その更新方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307613A (ja) * 1997-05-07 1998-11-17 Mitsubishi Electric Corp プロセスデータ収集装置の更新方法
JP2002353984A (ja) * 2001-05-30 2002-12-06 Yaskawa Electric Corp I/o伝送システム
JP2004318508A (ja) * 2003-04-16 2004-11-11 Yaskawa Electric Corp I/o伝送システム
JP2018128780A (ja) * 2017-02-07 2018-08-16 オムロン株式会社 演算装置、制御装置および制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023189136A1 (ja) * 2022-04-01 2023-10-05 オムロン株式会社 開発支援装置、開発支援プログラム、及び開発支援方法

Also Published As

Publication number Publication date
JP7003952B2 (ja) 2022-01-21
CN113498495A (zh) 2021-10-12
WO2020184035A1 (ja) 2020-09-17
US11917024B2 (en) 2024-02-27
EP3940468A1 (en) 2022-01-19
EP3940468A4 (en) 2022-12-07
US20220210247A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
JP4807475B1 (ja) 演算ユニット、出力制御方法、およびプログラム
JP2021051735A (ja) モジュラープロセス制御システム
US8977534B2 (en) Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program
WO2020184035A1 (ja) 制御システム、サポート装置およびサポート装置用のプログラム
EP2533114B1 (en) Controller support device, controller support program to be executed in said device, recording medium storing said program, and method for estimating execution duration of control program
US10908583B2 (en) Safety control system and safety control unit
CN106888120A (zh) 一种物联网管理的方法、装置及系统
WO2018147058A1 (ja) 制御装置
US11886170B2 (en) Control system, setting device and setting program
JP6408277B2 (ja) データ収集装置及び産業用ネットワークシステム
JP6772748B2 (ja) 演算装置および制御システム
JP7404789B2 (ja) 制御システム、制御システムの通信制御方法、および制御装置
JP2019179475A (ja) サポート装置、サポートプログラム、設定方法
US20220286267A1 (en) Control system, information processing device, and non-transitory computer readable medium
US11835942B2 (en) Real-time high-speed clock signal for industrial network emulation
WO2023248548A1 (ja) 制御システム、中継装置および通信方法
JP2012194955A (ja) 支援装置、表示制御方法、およびプログラム
WO2023248547A1 (ja) 制御システム、中継装置および通信方法
CN103518164A (zh) 用于运行自动化系统的方法
EP3999921A1 (en) Aspect-oriented programming based programmable logic controller (plc) simulation
JP2020030672A (ja) 制御システム、制御方法及び制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

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: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7003952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150