JP6390113B2 - 制御システム、開発支援装置、制御装置、および制御方法 - Google Patents

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

Info

Publication number
JP6390113B2
JP6390113B2 JP2014026821A JP2014026821A JP6390113B2 JP 6390113 B2 JP6390113 B2 JP 6390113B2 JP 2014026821 A JP2014026821 A JP 2014026821A JP 2014026821 A JP2014026821 A JP 2014026821A JP 6390113 B2 JP6390113 B2 JP 6390113B2
Authority
JP
Japan
Prior art keywords
data
packet
control
master device
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.)
Active
Application number
JP2014026821A
Other languages
English (en)
Other versions
JP2015154280A (ja
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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2014026821A priority Critical patent/JP6390113B2/ja
Priority to PCT/JP2015/050899 priority patent/WO2015122232A1/ja
Priority to US15/114,570 priority patent/US10356006B2/en
Priority to CN201580005278.0A priority patent/CN106416140B/zh
Priority to EP15748885.9A priority patent/EP3089401B1/en
Publication of JP2015154280A publication Critical patent/JP2015154280A/ja
Application granted granted Critical
Publication of JP6390113B2 publication Critical patent/JP6390113B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/423Loop networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0091Transmitter details
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31115Network controller

Description

本発明は、制御対象を制御するための制御システムおよびそれに向けられる開発支援装置および制御装置、ならびに制御方法に関する。
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などからなる制御システムによって制御される。このような制御システムでは、フィールドの各所にリモート装置を配し、それぞれのリモート装置に対して指令値を与えるとともに、それぞれのリモート装置からフィールド情報を収集する。このような指令値やフィールド情報の伝送は、フィールドネットワークを介して行なわれる。
制御システム内には、互いに異なる機能を提供するリモート装置が存在し、指令値を更新する周期などもそれぞれの機能に適合させることが好ましい。
このようなネットワークを介したデータの受け渡しにおいて、帯域幅に対応して、その優先度に応じてデータの配列などを最適化する技術が開示されている(例えば、特開2012−094944号公報(特許文献1))。
特開2012−094944号公報
上述の特開2012−094944号公報(特許文献1)に開示される通信帯域制御装置では、通信ドライバとタスクという1対多関係のデータ受け渡しにおいて、送信要求の重要度によるきめ細やかな帯域の指定を実現するものである。これに対して、上述のような制御システムでは、制御周期および帯域が予め定められたネットワークが採用される。そのため、データ毎に帯域を動的に指定するといった先行技術の技術思想を適用することはできない。
本発明は、このような課題を鑑みてなされたものであり、ネットワークを介して接続されたマスター装置および複数のスレーブ装置を含む制御システムにおいて、各スレーブ装置に適した周期でデータを送信することのできる構成を提供することを目的としている。
本発明のある局面に係る制御対象を制御するための制御システムは、マスター装置と、ネットワークを介してマスター装置と接続された複数のスレーブ装置とを含む。マスター装置は、予め定められた制御周期の1または複数毎にネットワーク上にパケットを送出するとともに、複数のスレーブ装置の各々は、マスター装置からのパケットを順次転送するように構成されている。マスター装置は、スレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行する実行手段を含む。実行手段がプログラムを実行することで第1のデータおよび第2のデータが算出される。マスター装置は、第1のデータに対する制御周期の整数倍である第1の送信周期の設定と、第2のデータに対する制御周期の整数倍であって第1の送信周期より長い第2の送信周期の設定とに従って、第1の送信周期毎に第1のデータをパケットに割り当てるとともに、第2の送信周期毎に第2のデータをパケットに割り当てる割り当て手段を含む。マスター装置は、送信先のスレーブ装置を示す情報とともに、第1のデータおよび第2のデータのそれぞれをパケットに格納し、複数のスレーブ装置の各々は、マスター装置からのパケットに含まれるデータのうち、自装置を宛先とするデータのみを抽出する。
好ましくは、割り当て手段は、各パケットに許容される最大データサイズを超えないように、第1のデータおよび第2のデータのそれぞれをどのパケットに割り当てるかを決定する。
好ましくは、割り当て手段は、送信周期が設定された送信対象の複数のデータのうち、その送信周期が短いデータから順に、パケットへの割り当て方を決定する。
好ましくは、第2のデータは、複数のデータ要素を含む。割り当て手段は、第2のデータに対して同期して送信することが設定されている場合には、第2のデータに含まれる複数のデータ要素が同一のパケットに割り当てられ、第2のデータに対して同期して送信することが設定されていない場合であって、第2のデータに含まれる複数のデータ要素が同一のパケットに割り当てられるように、第2のデータのパケットへの割り当て方を決定する。
さらに好ましくは、割り当て手段は、送信対象の複数のデータのうち、同期して送信することが設定されているデータを他のデータに優先して、パケットへの割り当て方を決定する。
好ましくは、割り当て手段は、各パケットにおける割り当てられたデータの占有状態を通知する手段を含む。
好ましくは、割り当て手段は、第1のデータおよび第2のデータを、制御周期と、第1の送信周期と、第2の送信周期とを含む予め定められた通信パラメータに従う割り当て方の決定ができない場合に、当該通信パラメータの変更を促す通知を行なう手段を含む。
本発明の別の局面によれば、制御対象を制御するための制御システムに向けられた開発支援装置が提供される。制御システムは、マスター装置と、ネットワークを介してマスター装置と接続された複数のスレーブ装置とを含む。マスター装置は、予め定められた制御周期毎にネットワーク上にパケットを送出するとともに、複数のスレーブ装置の各々は、マスター装置からのパケットを順次転送するように構成されている。開発支援装置は、マスター装置がスレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行することで第1のデータおよび第2のデータを算出するように設定されている場合に、第1のデータに対する制御周期の整数倍である第1の送信周期の設定と、第2のデータに対する制御周期の整数倍であって第1の送信周期より長い第2の送信周期の設定とを含む通信パラメータを受け付ける手段と、第1の送信周期毎に第1のデータがパケットに割り当てられるとともに、第2の送信周期毎に第2のデータがパケットに割り当てられるように割り当て方を決定する割り当て決定手段とを含む。
本発明のさらに別の局面に係るネットワークを介して複数のスレーブ装置と接続される制御装置は、予め定められた制御周期の1または複数毎にネットワーク上にパケットを送出するとともに、複数のスレーブ装置の各々は、制御装置からのパケットを順次転送するように構成されている。制御装置は、スレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行する実行手段を含む。実行手段がプログラムを実行することで第1のデータおよび第2のデータが算出される。制御装置は、第1のデータに対する制御周期の整数倍である第1の送信周期の設定と、第2のデータに対する制御周期の整数倍であって第1の送信周期より長い第2の送信周期の設定とに従って、第1の送信周期毎に第1のデータをパケットに割り当てるとともに、第2の送信周期毎に第2のデータをパケットに割り当てる割り当て手段とを含む。制御装置は、送信先のスレーブ装置を示す情報とともに、第1のデータおよび第2のデータのそれぞれをパケットに格納し、複数のスレーブ装置の各々は、マスター装置からのパケットに含まれるデータのうち、自装置を宛先とするデータのみを抽出する。
本発明のさらに別の局面によれば、制御対象を制御するための制御システムに向けられた開発支援装置が提供される。制御システムは、マスター装置と、ネットワークを介してマスター装置と接続された複数のスレーブ装置とを含む。マスター装置は、予め定められた制御周期の1または複数毎にネットワーク上にパケットを送出するとともに、複数のスレーブ装置の各々は、マスター装置からのパケットを順次転送するように構成されている。マスター装置は、スレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行する実行手段を備え、実行手段がプログラムを実行することで第1のデータおよび第2のデータが算出される。開発支援装置は、第1のデータに対する制御周期の整数倍である第1の送信周期の設定と、第2のデータに対する制御周期の整数倍であって第1の送信周期より長い第2の送信周期の設定とに従って、第1の送信周期毎に第1のデータがパケットに割り当てられるとともに、第2の送信周期毎に第2のデータがパケットに割り当てられるように割り当て方を決定する。
本発明のさらに別の局面によれば、制御対象を制御するための制御システムにおける制御方法が提供される。制御システムは、マスター装置と、ネットワークを介してマスター装置と接続された複数のスレーブ装置とを含む。制御方法は、マスター装置が予め定められた制御周期の1または複数毎にネットワーク上にパケットを送出するとともに、複数のスレーブ装置の各々がマスター装置からのパケットを順次転送するステップと、マスター装置がスレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行するステップとを含む。プログラムの実行によって第1のデータおよび第2のデータが算出される。制御方法は、第1のデータに対する制御周期の整数倍である第1の送信周期の設定と、第2のデータに対する制御周期の整数倍であって第1の送信周期より長い第2の送信周期の設定とに従って、第1の送信周期毎に第1のデータをパケットに割り当てるとともに、第2の送信周期毎に第2のデータをパケットに割り当てるステップと、マスター装置が送信先のスレーブ装置を示す情報とともに、第1のデータおよび第2のデータのそれぞれをパケットに格納するステップと、複数のスレーブ装置の各々がマスター装置からのパケットに含まれるデータのうち、自装置を宛先とするデータのみを抽出するステップとを含む。
本発明のある局面に係る制御システムによれば、各スレーブ装置に適した周期でデータを送信することができる。
本実施の形態に係るPLCシステムの全体構成を示す模式図である。 本実施の形態に係るPLCシステムに含まれるCPUユニットの装置構成を示す模式図である。 本実施の形態に係るPLCシステムに含まれるリモート装置の装置構成の一例を示す模式図である。 本実施の形態に係るPLCシステムにおける処理の概要を説明するための図である。 本実施の形態に係るPLCシステムに含まれるパケット生成の処理について説明するための図である。 本実施の形態に係るPLCシステムで用いられる通信パラメータの一例を示す図である。 図6に示す通信パラメータに従うパケットの生成処理の一例を説明するための図である。 図7(c)に示す出力情報がパケットに割り当てられた状態におけるパケット占有時間の合計および占有率を示す図である。 本実施の形態に係るPLCシステムにおける処理手順を示すフローチャートである。 本実施の形態に係るPLCシステムにおけるパケットのデータ構造例を示す図である。 本実施の形態の変形例に係るPLCシステムの全体構成を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
本実施の形態では、制御システムの一例として、PLCを中心とするシステムについて例示する。但し、このような制御システムとしては、PLCだけではなく、各種の産業用コンピュータを中心として構成を採用することもできる。さらに、技術の進展によって、新たな処理装置(演算装置)が開発された場合には、そのような新たな処理装置を採用することもできる。
<A.PLCシステムの全体構成>
まず、制御システムの一形態である、本実施の形態に係るPLCシステム1の全体構成について説明する。図1は、本実施の形態に係るPLCシステム1の全体構成を示す模式図である。
図1を参照して、PLCシステム1は、制御対象を制御するための制御システムであって、メイン処理装置2と、複数のリモート装置40_1,40_2,40_3,…,40_N(以下、「リモート装置40」と総称する場合もある。)とを含む。メイン処理装置2およびリモート装置40は、PLCシステム1の少なくとも一部を構成する制御装置であり、フィールドネットワーク4を介して接続されている。
フィールドネットワーク4を介した通信は、メイン処理装置2によって主体的に制御される。具体的には、メイン処理装置2は、予め定められたタイミングまたは規則に従って、フィールドネットワーク4上を順次伝送されるデータを送信する。以下の説明においては、フィールドネットワーク4上を順次伝送されるデータを「パケット」とも称す。このような意味において、メイン処理装置2を「マスター装置」と称し、リモート装置40_1,40_2,40_3,…,40_Nの各々を「スレーブ装置」とも称す。つまり、制御システムであるPLCシステム1は、メイン処理装置2(マスター装置)と、フィールドネットワーク4を介してメイン処理装置2(マスター装置)と接続された複数のリモート装置40(スレーブ装置)とを含む。
メイン処理装置2は、制御対象を制御するために必要なプログラム(後述するように、ユーザプログラムやシステムプログラムなどを含む)を実行することで、リモート装置40からの入力信号(以下、「フィールド情報」とも称す。)を収集する処理、収集したフィールド情報に基づいて制御演算を行なう処理、制御演算によって算出された指令値をリモート装置40へ出力する処理などを実現する。
メイン処理装置2は、その装置構成として、CPUユニット10と、1つ以上のIOユニット20と、電源ユニット30とを含む。CPUユニット10およびIOユニット20は、図示しない内部バスを介して互いにデータ通信可能に接続されている。電源ユニット30は、CPUユニット10およびIOユニット20へ適切な電圧の電力を供給する。
CPUユニット10は、制御対象を制御するために必要なプログラムを実行する演算部と、フィールドネットワーク4を介したリモート装置40との通信を制御するための通信処理部110とを含む。
CPUユニット10には、各種プログラムのインストール、デバッキング、プログラム実行状態のモニターなどを行なうための開発支援装置500が接続されてもよい。開発支援装置500は、典型的には、汎用コンピュータ上で支援プログラムが実行されることで実現される。支援プログラムには、CPU10をエミュレートして、各種プログラムを模擬的に実行できる機能などが含まれる場合もある。
リモート装置40は、外部のスイッチやセンサからのフィールド情報を受信し、フィールドネットワーク4を介して、その受信したフィールド情報号をメイン処理装置2へ送信する。併せて、リモート装置40は、メイン処理装置2からフィールドネットワーク4を介して受信した指令値を、外部のリレーやアクチュエータへ出力する。あるいは、リモート装置40は、フィールドネットワーク4を介して受信した指令値に従って自身で動作するものであってもよい。例えば、リモート装置40としては、演算機能を持たない単純なIOユニット、演算機能を有するIOユニット、サーボドライバのようなアクチュエータを含む装置、などが想定される。
図1には、リモート装置40がサーボドライバである場合を示し、リモート装置40_1,40_2,40_3,…,40_Nには、それぞれサーボモータ42_1,42_2,42_3,…,42_N(以下、「サーボモータ42」と総称する場合もある。)が接続されており、メイン処理装置2からの指令に応じて、各リモート装置を通じて対応するサーボモータが制御される。
CPUユニット10の通信処理部110は、メイン処理装置2(マスター装置)および複数のリモート装置40(スレーブ装置)が扱うデータを含むデータ列(パケット)のフィールドネットワーク4上での巡回的な伝送を管理するように構成されている。このパケットは、予め定められた制御周期の1または複数毎に送信される。すなわち、メイン処理装置2(マスター装置)は、予め定められた制御周期の1または複数毎にフィールドネットワーク4上にパケットを送信するとともに、複数のリモート装置40(スレーブ装置)の各々は、メイン処理装置2(マスター装置)からのパケットを順次転送するように構成される。
本明細書において、「制御周期」は、ユーザプログラムの処理時間を意味し、予め定められた一定周期の場合もあるし、実行されるユーザプログラムの量などに応じて、動的に変更される場合もある。
図1には、いわゆるリング形式のフィールドネットワークを模式的に示すが、デイジーチェーン接続のフィールドネットワークであってもよい。つまり、本実施の形態に係るフィールドネットワークとしては、データ列(パケット)を予め定められた制御周期の1または複数毎に伝送できる構成であれば、どのような構成を採用してもよい。
<B.CPUユニット10の装置構成>
次に、本実施の形態に係るPLCシステム1に含まれるCPUユニット10の装置構成について説明する。図2は、本実施の形態に係るPLCシステム1に含まれるCPUユニット10の装置構成を示す模式図である。
図2を参照して、CPUユニット10は、通信処理部110に加えて、演算部であるプロセッサ100と、主メモリ102と、不揮発性メモリ104と、内部バスコントローラ108とを含む。これらのコンポーネントは、内部バス109を介して、互いにデータ通信可能に構成される。
プロセッサ100は、制御に係るプログラムを実行する。プロセッサ100は、不揮発性メモリ104などから必要なプログラムを読み出すとともに、主メモリ102に展開して実行する。不揮発性メモリ104は、制御に係るプログラムとして、ユーザプログラム105およびシステムプログラム106を格納している。プロセッサ100のプログラムの実行に係るデータは、主メモリ102内のワークエリア103に格納される。
内部バスコントローラ108は、図示しない内部バスを介してIOユニット20と接続され、プロセッサ100とIOユニット20との間のデータ(フィールド情報および指令値)の遣り取りを仲介する。
通信処理部110は、フィールドネットワーク4を介してリモート装置40と接続され、CPUユニット10とリモート装置40との間のデータ(フィールド情報および指令値)の遣り取りを仲介する。より具体的には、通信処理部110は、通信コントローラ112と、共有メモリ114と、送信バッファ120と、送信回路122と、受信バッファ130と、受信回路132とを含む。
送信バッファ120および送信回路122は、通信処理部110から外部装置へのフレーム送信に係る処理を実現し、受信バッファ130および受信回路132は、外部装置から通信処理部110へのフレーム送信に係る処理を実現する。通信処理部110は、共有メモリ114を有しており、プロセッサ100は、算出した指定値を共有メモリ114に書き込むとともに、共有メモリ114からフィールド情報を読み出す。つまり、共有メモリ114に書き込まれた指令値は、送信バッファ120へ転送され、送信バッファ120からリモート装置40へ送信される。また、リモート装置40から取得されたフィールド情報は、受信バッファ130で受信された後、共有メモリ114へ転送される。
通信処理部110における一連の処理は、通信コントローラ112によって実行される。より具体的には、通信コントローラ112は、プロセッサ100などからの指令に従って、パケットを生成し送信されるとともに、受信されたパケットから必要な情報を抽出したりする。
通信処理部110は、ソフトウェアを用いて、その一部または全部を実現してもよい。あるいは、ASIC(Application Specific Integrated Circuit:特定用途向集積回路)やFPGA(Field-Programmable Gate Array)などのハード回路を用いて、その一部または全部を実現してもよい。
<C.リモート装置40の装置構成>
次に、本実施の形態に係るPLCシステム1に含まれるリモート装置40の装置構成について説明する。図3は、本実施の形態に係るPLCシステム1に含まれるリモート装置40の装置構成の一例を示す模式図である。
本実施の形態に係るリモート装置40としては、各種の構成を採用することができるが、図3には、演算機能およびIO機能を有する構成例を示す。図3を参照して、リモート装置40は、演算処理部400と、入力回路402と、出力回路404と、通信処理部410とを含む。
演算処理部400は、フィールドネットワーク4を介して送信されたパケットに基づいて、予め定められた処理を実行するとともに、処理の結果得られるパケットを、フィールドネットワーク4を介して送信させる。
入力回路402は、フィールド側から入力された信号(フィールド情報)を演算処理部400へ出力する。出力回路は、演算処理部400から与えられた指令値に応じた信号をフィールド側へ出力する。
通信処理部410は、フィールドネットワーク4を介してCPUユニット10と接続され、リモート装置40とCPUユニット10との間のデータ(フィールド情報および指令値)の遣り取りを仲介する。より具体的には、通信処理部410は、通信コントローラ412と、共有メモリ414と、送信バッファ420と、送信回路422と、受信バッファ430と、受信回路432とを含む。これらのコンポーネントは、上述の通信コントローラ112、共有メモリ114、送信バッファ120、送信回路122、受信バッファ130、および、受信回路132(いずれも図2)と同様の機能を有しているので、詳細な説明は繰り返さない。但し、スレーブ装置の一部である通信処理部410でのパケットを受信した際の処理、および、パケットを送信する際の処理については、マスター装置の一部であるCPUユニット10の通信処理部110での処理とは異なっている。
リモート装置40(演算処理部400、入力回路402、出力回路404、および通信処理部410)については、ソフトウェアを用いてその機能の全部または一部を実現してもよいが、ASICやFPGAなどのハード回路を用いて、その一部または全部を実現するのが好ましい。
<D.フィールドネットワーク4>
次に、フィールドネットワーク4における通信処理について説明する。
フィールドネットワーク4での通信方式としては、予め定められた制御周期の1または複数毎にパケット伝送が可能な(つまり、リアルタイム通信可能な)方式が好ましい。一例として、フィールドネットワーク4としては、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネット(登録商標)の具体例としては、例えば、EtherCAT(登録商標)、PROFINET IRT、MECHATROLINK(登録商標)−III、Powerlink、SERCOS(登録商標)−III、CIP Motionなどがある。さらに、産業用イーサネット(登録商標)以外のフィールドネットワークを用いてもよい。例えば、DeviceNet、CompoNet(登録商標)などを用いてもよい。
<E.概要>
次に、本実施の形態に係るPLCシステム1における処理の概要について説明する。図4は、本実施の形態に係るPLCシステム1における処理の概要を説明するための図である。図4(a)は、関連技術に係るパケットのデータ構造を示す図であり、図4(b)は、本実施の形態に係るパケットのデータ構造を示す図である。
一般的なフィールドネットワークでは、図4(a)に示すように、各パケットに格納されるデータ種類は一律になっている。つまり、各パケットは、同一のデータ構造を有しており、同一種類のデータセットが予め定められた制御周期の1または複数毎に送信されることになる。図4(a)に示す例では、各パケットは、いずれもスレーブ1〜スレーブ6のそれぞれに向けられるデータを含むことになる。
例えば、図1に示すような複数のサーボモータ42を用いて、多軸制御を行なおうとすれば、各軸についての指令値を各パケットに格納する必要があり、そのデータ長が長くなる。すなわち、制御対象の軸数が多くなるほど、制御周期T1(つまり、リモート装置40における制御周期)はその軸数に比例して長くなる。
しかしながら、現実的には、高速な応答が必要な軸とそうではない軸とが混在することも多い。このような軸数の多いシステムでは、高速な応答ではない軸に対しても、より高速な応答が必要な軸と同程度の制御周期で指令値が送信されるため、かえって高速な応答が必要な軸に対して制約が生じ得る。
図4(a)に示すような比較的軸数が多い構成では、すべての軸に対する指令値のセットで1パケットを構成して転送されるため、軸数に比例して制御周期はT1になっている。言い換えれば、各サーボモータ42では、制御周期T1より高速な応答を実現できないことになる。
これに対して、本実施の形態においては、各リモート装置40における速度要求に応じて、制御周期を実質的に可変にする。すなわち、複数のサーボモータ42を制御する構成においては、要求される応答時間に応じた制御周期を軸毎に設定し、その設定された制御周期に応じたパケットを生成する。これにより、設定されたそれぞれの制御周期を実現する。
例えば、図4(b)の例では、各パケットの制御周期をT2とした場合において、スレーブ1およびスレーブ2に対する制御周期はT2に設定され、スレーブ3〜スレーブ6に対する制御周期はT2×2に設定されるとする。各パケットは、スレーブ1およびスレーブ2に対する指令値をいずれも含むが、スレーブ3〜スレーブ6に対する指令値は、2回のうち一方のパケットにのみ含まれることになる。つまり、スレーブ3およびスレーブ4に対する指令値は奇数番目のパケットにのみ含まれ、スレーブ5およびスレーブ6に対する指令値は偶数番目のパケットにのみ含まれる、といった具合である。
このようなパケットを生成することで、スレーブ1およびスレーブ2では、制御周期T2と同じ制御周期を実現でき、スレーブ3〜スレーブ6では、制御周期T2の2倍の制御周期を実現できる。つまり、図4(b)に示す例では、高速な応答が必要な軸は制御周期T毎に通信し、そうではない軸は複数回に一回通信することで、一回あたりのパケットのデータサイズを低減でき、それによって制御周期をより短くすることができるので、高速な応答を実現できる。
以下に説明するように、本実施の形態においては、制御システム内のスレーブ装置の数および各スレーブ装置における制御周期の要求に応じて、各パケットに格納されるデータ構造を周期毎に動的に変化させることで、要求を満たす制御を実現する。
<F.パケット生成処理>
次に、本実施の形態に係るPLCシステム1におけるパケット生成の処理について説明する。図5は、本実施の形態に係るPLCシステム1に含まれるパケット生成の処理について説明するための図である。
図5を参照して、ユーザプログラム105は、複数の処理A,B,C,Dを含み、各処理が互いに独立して予め定められた制御周期で繰り返し実行されるとする。ここでは、複数の処理A,B,C,Dの送信周期は、それぞれAs,Bs,Cs,Dsであるとする。処理A,B,C,Dの各々は、リモート装置40などから収集したフィールド情報を入力として用いるとともに、その実行によって、出力情報A(n),B(n),C(n),D(n)(但し、nは1以上の整数)を算出する。なお、説明の便宜上、配列形式で出力情報を定義するが、必ずしも配列形式で格納される必要はなく、任意の配置および形式で格納されてもよい。出力情報A(n),B(n),C(n),D(n)は、主メモリ102内のワークエリア103に格納され、対応する処理の制御周期で逐次更新される。つまり、メイン処理装置2(マスター装置)は、リモート装置40(スレーブ装置)における入出力に関連する処理を含むユーザプログラム105を繰り返し実行するプロセッサ100(実行手段)を含む。プロセッサ100(実行手段)は、ユーザプログラム105を実行することで複数種類のデータを算出する。
ワークエリア103に格納される出力情報は、予め定められた割り当て設定150に従って選択され、パケットNt1,Nt2,Nt3,Nt4,…が順次生成される。図5に示す例では、処理Aによって算出される出力情報A(n)は、生成される各パケットに割り当てられる。つまり、出力情報A(n)は、パケットの制御周期毎に送信される。これに対して、出力情報B(n),C(n),D(n)の通信頻度(制御周期/送信周期)は、出力情報A(n)の1/3に設定されている。つまり、出力情報B(n),C(n),D(n)は、3回のうち1回の割合で送信されることになる。言い換えれば、出力情報B(n),C(n),D(n)は、パケットの制御周期の3倍に相当する周期で更新されることになる。
このように、処理の種別および/または出力情報の内容に応じて、リモート装置40に対して与えるデータの通信頻度(周期)を最適化することで、各パケットのデータサイズが過度に大きくなり、制御周期を短くできないという事態を回避することができる。つまり、フィールドネットワーク4が予め用意している通信帯域を有効に利用して、リモート装置40の数が多い場合であっても、高速な応答が必要なリモート装置40に対しては、より短い制御周期で指令値を与えることができる。
上述の説明では、ユーザプログラム105に含まれる処理によって算出される出力情報A(n),B(n),C(n),D(n)をメイン処理装置2から複数のリモート装置40へ送信する処理例について説明したが、メイン処理装置2がそれぞれのリモート装置40からフィールド情報を収集する処理にも同様に適用できる。リモート装置40からフィールド情報を収集する場合には、対象のリモート装置40に対して、フィールド情報を取得するためのコマンド(以下、「データリフレッシュ命令」とも称す。)を送信することになる。そのため、このデータリフレッシュ命令を、上述のように、処理の種別および/または必要なフィールド情報などに応じて、適切な制御周期で送信することで、フィールドネットワーク4が予め用意している通信帯域を有効に利用して、高速な応答にも対応するデータ通信を実現できる。
<G.パケットへの割り当て処理の具体例>
次に、具体例を用いて、パケットへの割り当て処理の一例について説明する。送信対象の出力情報のパケットへの割り当て処理、つまり割り当て設定150を決定する処理は、典型的には、CPUユニット10のプロセッサ100が実行する。但し、CPUユニット10に接続される開発支援装置500などのオフライン環境で実行してもよい。
(g1:通信パラメータ)
図6は、本実施の形態に係るPLCシステム1で用いられる通信パラメータの一例を示す図である。図6を参照して、例えば、複数の処理A,B,C,Dが繰り返し実行されるとし、各処理の実行周期である送信周期As,Bs,Cs,Dsは、それぞれ250μsec,500μsec,1000μsec,1000μsecであるとする。
処理A,B,C,Dは、それぞれ出力情報A(n),B(n),C(n),D(n)を出力するとする。各出力情報に含まれるデータ数Ac,Bc,Cc,Dcは、それぞれ3,4,4,1であるとする。つまり、出力情報A(n)は、3つのデータ要素A(1),A(2),A(3)を含んでおり、出力情報B(n)およびC(n)は、いずれも4つのデータ要素B(1),B(2),B(3),B(4)およびデータ要素C(1),C(2),C(3),C(4)をそれぞれ含んでおり、出力情報D(n)は、1つのデータ要素D(1)からなる。
出力情報A(n),B(n),C(n),D(n)にそれぞれ対応するパケット占有時間Ap,Bp,Cp,Dpは、対応するデータ要素をパケットに割り当てた際に必要となる占有時間を示し、各データ要素の長さや型に応じて変化し得る。つまり、パケット占有時間は、対応するデータ要素のデータサイズを意味し、制御周期Tcは、1パケットあたり送信できる最大データサイズを意味する。
但し、パケット占有時間に代えて、データ要素のデータサイズをそのまま用いて評価してもよい。つまり、制御周期Tcを用いて、各パケットに割り当て可能なデータサイズ(最大データサイズ)を先に決定するとともに、割り当て対象の各データ要素のデータサイズを用いて、割り当て方法を決定してもよい。
図6に示す例では、出力情報A(n)およびD(n)についてのパケット占有時間ApおよびDpは、いずれも30μsecであり、出力情報B(n)およびC(n)についてのパケット占有時間BpおよびCpは、いずれも35μsecである。
制御周期Tcは、パケットの生成周期を示す。処理A,B,C,Dのそれぞれについての通信頻度Af,Bf,Cf,Dfは、制御周期Tcを基準として、パケットにどの程度対応する出力情報を割り当てるかを示す値である。例えば、処理Aについての通信頻度Afは、0.5であり、2回のパケットが送信される毎にいずれかのパケットに対応する出力情報A(n)をコピーすることを意味する。また、処理Bについての通信頻度Bfは、0.25であり、4回のパケットが送信される毎にいずれかのパケットに対応する出力情報B(n)をコピーすることを意味する。また、処理CおよびDについての通信頻度CfおよびDfは、いずれも0.125であり、8回のパケットが送信される毎にいずれかのパケットに対応する出力情報C(n)およびD(n)をそれぞれコピーすることを意味する。したがって、出力情報A(n)の送信周期は制御周期Tc×2であり、出力情報B(n)の送信周期は制御周期Tc×4であり、出力情報C(n)およびD(n)の送信周期は制御周期Tc×8であるように、データ要素のパケットへの割り当てを行なう必要がある。
図6に示す通信パラメータのうち、「同期」の欄は、対応する出力情報内のデータセットを同一のパケットで送信する必要があるか否かを示す。例えば、出力情報A(n)およびD(n)については、「同期」が「必要」であると指定されており、これらの出力情報内のデータセットは、同一のパケットに割り当てられる。つまり、これらの出力情報内のデータセットを同期して送信することが設定されている。これに対して、出力情報B(n)およびC(n)については、「同期」が「必要ではない」であると指定されており、これらの出力情報内のデータセットについては、一部のデータと残りのデータとが異なるパケットに割り当てられることが許容される。例えば、3軸のモーション制御などでは、各軸に対する指令を同時に更新する必要があり、このようなアプリケーションに用いられる出力情報については、同期が必要であると設定される。これに対して、それぞれ独立した制御に用いられる出力情報であれば、同一のタイミングで更新される必要はなく、このような場合には、同期は必要ではないと設定される。
(g2:パケットの生成処理)
図7は、図6に示す通信パラメータに従うパケットの生成処理の一例を説明するための図である。図7(a)〜(c)を参照して、図6に示す通信パラメータに従って、どのように割り当て設定が決定されるのかを説明する。
なお、最も高い通信頻度(制御周期/最も短い送信周期)>1である場合には、現状の制御周期では、要求を満足できないので、送信周期、パケット占有時間、制御周期などを見直す必要がある。
まず、図6に示す通信パラメータに基づいて、要求される通信頻度が高い(つまり、要求される送信周期が短い)出力情報が優先的に割り当て方が決定される。但し、同期が必要である出力情報が含まれる場合には、それらの出力情報が優先される。
図6に示す通信パラメータでは、出力情報A(n)およびD(n)に対して同期が必要であると設定されており、これらの同期が必要な出力情報のうち、出力情報A(n)には、より高い通信頻度が設定されている。そのため、第1番目に、同期が必要であって、通信頻度が最も高い出力情報A(n)のデータセット全体を、通信頻度Af(=制御周期Tc/送信周期)の逆数に1回の頻度で割り当てるように割り当て方を決定する。図6に示す例では、出力情報A(n)の通信頻度は0.5であるので、出力情報A(n)は制御周期Tcの2回に1回の頻度でパケットに割り当てられる。つまり、出力情報A(n)に含まれる3つのデータ要素A(1),A(2),A(3)が単一のデータパケットに割り当てられる。
併せて、各パケットにデータ要素が割り当てられた際に、当該パケットにおけるパケット占有時間の合計が制御周期Tcを超えないように最適化される。
図7(a)には、奇数番目のパケット、つまりパケットNt1,Nt3,Nt5,Nt7,Nt9,Nt11,Nt13,…の各々に、出力情報A(n)に含まれる3つのデータ要素A(1),A(2),A(3)が割り当てられる例を示す。
図7(a)に示す状態において、奇数番目の各パケットにおける出力情報A(n)についてのパケット占有時間の合計は、パケット占有時間Ap×データ数Ac=90μsecとなり、パケット占有時間Ap×データ数Ac<制御周期Tc(125μsec)の条件を満たすことになる。
2番目に、もう一つの同期が必要な出力情報D(n)のデータセット全体を、通信頻度Dfの逆数に1回の頻度で割り当てるように割り当て方を決定する。出力情報D(n)の通信頻度は0.125であるので、出力情報D(n)は制御周期Tcの8回に1回の頻度でパケットに割り当てられる。図7(a)に示す状態において、奇数番目のパケットにはまだ余裕があるので、パケットNt1,Nt9,…の各々に、出力情報D(n)に含まれる1つのデータ要素D(1)が割り当てられる例を示す。
この状態において、1,9,17,…番目の各パケットにおけるパケット占有時間の合計は、パケット占有時間Ap×データ数Ac+パケット占有時間Dp×データ数Dc=120μsecとなり、制御周期Tc(125μsec)の条件を満たすことになる。
上述のような、同期が必要である出力情報を割り当てた時点で、パケット占有時間の合計に関する条件が成立しない場合には、送信周期、パケット占有時間、制御周期などを見直す必要がある。
このように、メイン処理装置2(マスター装置)は、出力情報A(n)(第1のデータ)に対する制御周期Tcの整数倍(×2)である第1の送信周期の設定と、出力情報D(n)(第2のデータ)に対する制御周期Tcの整数倍(×8)であって第1の送信周期より長い第2の送信周期の設定とに従って、各パケットに許容される最大データサイズ(制御周期Tc)を超えないように、制御周期毎に送出されるパケットのいずれかに出力情報D(n)(第1のデータ)を第1の送信周期毎に割り当てるとともに、制御周期Tc1毎に送出されるパケットのいずれかに出力情報D(n)(第2のデータ)を第2の送信周期毎に割り当てるように割り当て方を決定する機能を含む。このとき、割り当て機能は、送信周期が設定された送信対象の複数のデータのうち、その送信周期が短いデータから順に、パケットへの割り当てを行なう。
次に、同期が必要ではない出力情報のうち、通信頻度が高いものから順次、パケットに割り当てられる。図6に示す通信パラメータでは、3番目に、同期が必要ではなく、通信頻度が最も高い出力情報B(n)に含まれるデータ要素B(1),B(2),B(3),B(4)を割り当てるように割り当て方を決定する。ここで、データ要素B(1),B(2),B(3),B(4)の各々を、通信頻度Bf(=制御周期Tc/送信周期)の逆数に1回の頻度で割り当てるように割り当て方を決定する。但し、各データ要素が異なるパケットに割り当てられてもよい。このとき、割り当てられる頻度が指定された値になること、および、各パケットにおけるパケット占有時間の合計が制御周期を超えないこと、の2つの条件を満足するように、割り当てが行なわれる。すなわち、各パケットにおける占有率(パケット占有時間の合計/制御周期Tc)が、1を超えないように、出力情報Bが順次割り当てられる。なお、出力情報Bは同期が必要ではないので、要求された通信頻度を確保できれば、同の一パケットにすべてのデータ要素を配置する必要はない。
例えば、図7(a)に示す状態において、データ要素B(1)をパケットNt1に割り当てると、パケット占有時間の合計は、パケット占有時間Ap×データ数Ac+パケット占有時間Dp×データ数Dc+パケット占有時間Bp×(データ数Bc−3)=155μsec>制御周期Tcとなり、条件を満足しない。そのため、データ要素B(1)は、次のパケットNt2に割り当てられる。
図7(b)には、出力情報B(n)に含まれるデータ要素B(1),B(2),B(3),B(4)のすべてが割り当てられた状態を示す。この状態において、データ要素B(1),B(2),B(3)は、パケットNt2,Nt6,Nt10,…の各々に割り当てられる。
図7(b)に示す状態において、2,6,10,…番目の各パケットにおけるパケット占有時間の合計は、パケット占有時間Bp×(データ数Bc−1)=105μsecとなり、パケット占有時間Bp×(データ数Bc−1)<制御周期Tc(125μsec)の条件を満たすことになる。
ここで、パケット占有時間Bp×データ数Bc=140>制御周期Tc(125μsec)となるので、データ要素B(4)をデータ要素B(1),B(2),B(3)と同じパケットNt2に割り当てることはできない。さらに、奇数番目であるパケットNt3については、そのパケット占有時間の合計が制限値に近いので、データ要素B(4)は、必然的にパケットNt4へ割り当てられる。以下同様にして、データ要素B(4)は、パケットNt4,Nt8,Nt12,…の各々に割り当てられる。
次に、出力情報C(n)に含まれるデータ要素C(1),C(2),C(3),C(4)の割り当て方を決定する。ここで、データ要素C(1),C(2),C(3),C(4)の各々を、通信頻度Cf(=制御周期Tc/送信周期)の逆数に1回の頻度で割り当てるように決定する。但し、各データ要素が異なるパケットに割り当てられてもよい。このとき、割り当てられる頻度が指定された値になること、および、各パケットにおけるパケット占有時間の合計が制御周期を超えないこと、の2つの条件を満足するように、割り当てが行なわれる。すなわち、各パケットにおける占有率(パケット占有時間の合計/制御周期Tc)が、1を超えないように、出力情報Cが順次割り当てられる。なお、出力情報Cは同期が必要ではないので、要求された通信頻度を確保できれば、同の一パケットにすべてのデータ要素を配置する必要はない。
図7(b)に示す状態において、パケットNt1,Nt2,Nt3については、そのパケット占有時間の合計が制限値に近いので、出力情報C(n)は、必然的にパケットNt4へ割り当てられる。このとき、出力情報C(n)の割り当てられるデータ要素が2つであれば、パケット占有時間Bp×(データ数Bc−3)+パケット占有時間Cp×(データ数Cc−2)=105<制御周期Tcが成立するが、出力情報C(n)の割り当てられるデータ要素が3つになると、パケット占有時間Bp×データ数Bc+パケット占有時間Cp×(データ数Cc−1)=140>制御周期Tcとなるので、データ要素は2つしか割り当てることができない。
パケットNt5,Nt6,Nt7については、そのパケット占有時間の合計が制限値に近いので、出力情報C(n)の残りのデータ要素は、パケットNt8へ割り当てられる。パケットNt8において、パケット占有時間Bp×(データ数Bc−3)+パケット占有時間Cp×(データ数Cc−2)=105<制御周期Tcが成立する。
図7(c)には、出力情報A(n),出力情報B(n),出力情報C(n),出力情報D(n)に含まれるデータ要素のすべてが割り当てられた状態を示す。割り当て設定150(図5)は、この割り当て状態を定義する。
なお、上述のような、同期が必要ではないいずれかの出力情報を割り当てた時点で、パケット占有時間の合計に関する条件が成立しない場合には、送信周期、パケット占有時間、制御周期などを見直す必要がある。
図8は、図7(c)に示す出力情報がパケットに割り当てられた状態におけるパケット占有時間の合計および占有率を示す図である。図8に示すように、いずれのパケットにおいても、パケット占有時間の合計は、合計が制御周期Tc(125μsec)を超えておらず、その結果、占有率はいずれも1未満であることが判る。
上述したように、アプリケーションによっては、出力情報に含まれる複数のデータ要素に対して、同期が必要であるか否かを設定できることが好ましい。つまり、出力情報が複数のデータ要素を含む場合には、割り当て機能は、当該出力情報に対して同期して送信することが設定されている場合には、当該出力情報に含まれる複数のデータ要素を同一のパケット(すなわち、単一のパケットまたは共通のパケット)に割り当てるように割り当て方を決定する。一方、割り当て機能は、出力情報に対して同期して送信することが設定されていない場合であって、当該出力情報に含まれる複数のデータ要素を同一のパケットに割り当てることができないときには、複数のデータ要素を複数のパケットに亘って割り当てるように割り当て方を決定する。ここで、割り当て機能は、送信対象の複数の出力情報のうち、同期して送信することが設定されている出力情報を他のデータに優先して、パケットへの割り当てを行なう。
以上のような手順によって、各出力情報が指定された通信頻度で送信されるとともに、パケット占有時間の合計などの条件が満足されるように、各出力情報が適宜割り当てられる。
<H.処理手順>
以下、本実施の形態に係るPLCシステム1における処理手順について説明する。図9は、本実施の形態に係るPLCシステム1における処理手順を示すフローチャートである。なお、図9には、上述したようなデータ送信に関連する処理のみを例示的に示す。図9に示す各ステップは、典型的には、メイン処理装置2のCPUユニット10のプロセッサ100によって実行される。但し、開発支援装置500において、オフラインで仮想的に以下の各ステップを実行することもできる。つまり、開発支援装置500は、メイン処理装置2のCPUユニット10と実質的に同等の機能を有している。
まず、プロセッサ100は、ユーザプログラム105および各種設定を受け付けて、不揮発性メモリ104に格納する(ステップS2)。続いて、プロセッサ100は、ユーザプログラム105に含まれる各処理によって算出される出力情報を指定された通信頻度で送信するための割り当て処理(以下に説明するステップS10〜S34)を実行する。
より具体的には、プロセッサ100は、ユーザなどから指定された通信パラメータ(図6など参照)を読み出して送信対象の出力情報を特定する(ステップS10)。続いて、プロセッサ100は、読み出した通信パラメータを参照して、送信対象の出力情報のうち、同期が必要であると設定されている出力情報が存在するか否かを判断する(ステップS12)。同期が必要であると設定されている出力情報が存在する場合(ステップS12においてYESの場合)には、プロセッサ100は、同期が必要であると設定されている出力情報のうち、最も通信頻度が高い出力情報を選択する(ステップS14)。そして、プロセッサ100は、割り当てられる頻度が指定された通信頻度と一致すること、および、各パケットにおけるパケット占有時間の合計が制御周期を超えないこと、の2つの条件を満足するように、選択された出力情報のいずれかのパケットへの割り当てを試みる(ステップS16)。プロセッサ100は、選択された出力情報のすべてのパケットへの割り当てが成功したか否かを判断する(ステップS18)。
選択された出力情報のすべてをパケットへ割り当てることができなかった場合(ステップS18においてNOの場合)には、指定された通信パラメータを実現できない旨、および、送信周期、パケット占有時間、制御周期などの見直しが必要である旨をユーザへ通知する(ステップS32)。そして、処理は終了する。
これに対して、選択された出力情報のすべてのパケットへの割り当てが成功した場合(ステップS18においてYESの場合)には、プロセッサ100は、同期が必要であると設定されている出力情報のうち、パケットへの割り当てが完了していないものがあるか否かを判断する(ステップS20)。同期が必要であると設定されている出力情報のうち、パケットへの割り当てが完了していないものがある場合(ステップS20においてYESの場合)には、パケットへの割り当てが完了していない出力情報のうち、最も通信頻度が高い出力情報を選択する(ステップS22)。そして、プロセッサ100は、ステップS16以下の処理を繰り返す。
これに対して、同期が必要であると設定されている出力情報のすべてについて、パケットへの割り当てが完了している場合(ステップS20においてNOの場合)、または、同期が必要であると設定されている出力情報が存在しない場合(ステップS12においてNOの場合)には、プロセッサ100は、パケットへの割り当てが完了していない出力情報が存在するか否かを判断する(ステップS24)。
パケットへの割り当てが完了していない出力情報が存在する場合(ステップS24においてYESの場合)には、プロセッサ100は、パケットへの割り当てが完了していない出力情報のうち、最も通信頻度が高い出力情報を選択する(ステップS26)。そして、プロセッサ100は、割り当てられる頻度が指定された通信頻度と一致すること、および、各パケットにおけるパケット占有時間の合計が制御周期を超えないこと、の2つの条件を満足するように、選択された出力情報のいずれかのパケットへの割り当てを試みる(ステップS28)。プロセッサ100は、選択された出力情報のすべてのパケットへの割り当てが成功したか否かを判断する(ステップS30)。
選択された出力情報のすべてのパケットへの割り当てが成功しなかった場合(ステップS30においてNOの場合)には、処理はステップS32へ進む。
これに対して、選択された出力情報のすべてをパケットへ割り当てることができなかった場合(ステップS30においてYESの場合)には、プロセッサ100は、ステップS24以下の処理を繰り返す。
最終的に、出力情報のすべてについて、パケットへの割り当てが完了している場合(ステップS24においてNOの場合)には、プロセッサ100は、割り当て完了の状態を示す割り当て設定150を生成し、格納する(ステップS34)。
その後、何らかの明示的または暗示的な指示に応答して、プロセッサ100は、制御対象を制御するために必要なプログラム(ユーザプログラム105およびシステムプログラム106を含む)の実行を開始する(ステップS40)。そして、プロセッサ100は、プログラムの実行により算出された情報を、ステップS34において格納した割り当て設定150に従って割り当て方を決定することで、パケットを制御周期毎に生成する(ステップS42)。以下、ステップS40およびS42の処理が繰り返される。
<I.ユーザ支援機能>
上述した、パケットへの割り当て処理では、基本的には、設定された通信パラメータに従って、それぞれの出力情報を自動的に各パケットに割り当てる処理について説明した。これに加えて、割り当て後の結果に対して、さらなる最適化を支援する機能について説明する。具体的には、予め設定された通信パラメータでは設定できないような場合に、どのように修正すればよいかをガイドするような機能ついて説明する。また、予め設定された通信パラメータに対して、さらに制御周期を短縮できるか否かをユーザへ通知するような機能について説明する。これらの機能を実装することは、ユーザ支援やユーザビリティの観点から好ましい。
例えば、一旦割り当てられた結果について、図8に示すような、各パケットにおけるパケット占有時間の合計を算出する。図8に示すような各パケットにおけるパケット占有時間の合計を任意の形式(リスト形式やグラフ表示)でユーザへ提示するようにしてもよい。つまり、本実施の形態に係る割り当て処理は、各パケットにおける割り当てられたデータの占有状態(例えば、占有率や占有時間)を通知する処理を含む。
出力情報を同期させてパケットへの割り当て方を決定する場合、いずれかのパケットにおいて、そのパケット占有時間の合計が制御周期を超えると、エラーとして判断される。つまり、本実施の形態に係る割り当て処理は、割り当て対象のデータ要素を、制御周期や送信周期を含む予め定められた通信パラメータに従って割り当てができない場合に、当該通信パラメータの変更を促す通知を行なう処理を含む。
このような場合には、以下のような手法によって、エラーが生じないように調整が行なわれてもよい。
(1)各パケットにおけるパケット占有時間の合計に適合するように、制御周期を長くする。この場合には、ユーザに対して、制御周期をどの程度まで長くすればエラーが解消するのかといったメッセージを通知してもよい。つまり、算出された各パケットにおけるパケット占有時間の合計の最大値を提示して、制御周期をその最大値より長くなるようにガイドする。あるいは、制御周期を自動的に長くするようにしてもよい。
(2)制御周期に適合するように、各パケットにおけるパケット占有時間の合計を短くする。この場合には、各パケットに割り当てる出力情報を減らし、パケット占有時間の合計を短縮することになる。あるいは、同期の対象になっている出力情報の設定を変更するという対処が可能である)。
また、フィールドネットワーク4を効率的に利用することを考えると、図8に示す、出力情報がパケットに割り当てられた状態におけるパケット占有時間の合計および占有率を示す結果を参照しつつ、以下のようなアプローチをとることができる。
・同期が必要であると設定されている出力情報が割り当てられている奇数番目のパケットNt1,Nt3,Nt5,Nt7…のパケット占有率のうち最も高い値を1に近づけることができる。
・各出力情報のパケット占有時間を延ばすことや、制御周期を短くすることができる。
・パケット占有率が1に近づくまで、出力情報(例えば、出力情報E)を追加することができる。
・パケット占有率が1に近づくまで、パケット占有時間を長くして送信する情報量を増加させることができる。
<J.スレーブ装置におけるデータ受信処理>
上述したように、本実施の形態に係るPLCシステム1では、制御周期毎に送出されるパケットに格納されるデータの構造は画一的なものではなく、動的に変化する。そのため、各パケットに含まれる各データの宛先も画一的なものではない。そのため、このように、その格納されるデータが時間的に変化するパケットを受信する各スレーブ装置におけるデータ受信処理について説明する。
図10は、本実施の形態に係るPLCシステム1におけるパケットのデータ構造例を示す図である。図10(a)には、一般的なデータ構造の一例を示す。図10(a)に示すデータ構造のパケットは、ヘッダ302と、データエリア群304と、フッタ306とを含む。データエリア群304は、宛先のスレーブ装置の別に区分されており、送信対象のデータが格納されるようになっている。図10(a)に示すパケットを受信した各スレーブ装置は、データエリア群304のうち、自局に割り当てられているデータエリアが既知であるので、その割り当てられているデータエリアから自局宛のデータを抽出する。
図10(b)には、本実施の形態に係るPLCシステム1において用いられるパケットのデータ構造を示す。上述したように、本実施の形態においては、各パケットの格納されるデータの宛先が時間とともに変化するので、各パケットのヘッダ302に宛先として有効なスレーブ装置を指定するための識別情報303が格納されている。
図10(b)に示すパケットを受信した各スレーブ装置は、ヘッダ302内の識別情報303を参照して、データエリア群304のうち、自局に割り当てられているデータエリアが存在するか否かを判断するとともに、どこが自局に割り当てられているデータエリアであるかを特定する。図10(b)に示す例では、識別情報303として、「0」と「1」とからなるフラグが用いられており、先頭から1番目および2番目に位置するスレーブ装置、つまりスレーブ装置1およびスレーブ装置2宛のデータが格納されていることが示されている。これに対して、3番目および4番目のフラグはいずれも「0」にセットされているので、3番目および4番目に位置するスレーブ装置、つまりスレーブ装置3およびスレーブ装置4宛のデータが格納されていることが示されている。そのため、スレーブ装置3およびスレーブ装置4は、図10(b)に示すようなパケットを受信したとしても、何らのデータも抽出せず、次段のスレーブ装置へそのまま転送する。
一方、先頭から5番目および6番目に位置するスレーブ装置、つまりスレーブ装置5およびスレーブ装置6は、自局宛のデータが格納されていることを特定し、対応するデータエリアから自局宛のデータを抽出する。
このように、識別情報303を用いることで、各パケットに含まれるデータの宛先が時間とともに変化するような場合であっても、目的のスレーブ装置へ対象のデータを確実に送信することができる。つまり、メイン処理装置2(マスター装置)は、送信先のリモート装置40(スレーブ装置)を示す識別情報303とともに、それぞれのデータをパケットに格納する。そして、リモート装置40(スレーブ装置)の各々は、メイン処理装置2(マスター装置)からのパケットに含まれるデータのうち、自装置を宛先とするデータのみを抽出する。
図10(c)には、本実施の形態に係るPLCシステム1において用いられるパケットの別のデータ構造を示す。図10(c)に示すデータ構造は、図10(a)に示すデータ構造と類似しているが、データエリア群304の各データエリアのサイズを動的に変更できるようになっている。つまり、送信すべきデータがないスレーブ装置に対して、その対応するデータエリアに無効を示すデータ(例えば、nullコードが入力される)。各スレーブ装置は、自局に割り当てられたデータエリアにnullコードが入力されていれば、自局宛のデータが存在しないと判断し、何らのデータも抽出することなく、次段のスレーブ装置へそのまま転送する。
なお、データの宛先を各パケットのヘッダ302ではなく、データエリア群304の各データエリアに格納してもよい。
このようなデータ構造を採用することで、データエリア群304の枠組みを維持したまま、パケットサイズを動的に変化させて、要求に応じた制御周期を実現することができる。
<K.変形例>
上述の実施の形態においては、いわゆるリング形式のフィールドネットワークを例示したが、デイジーチェーン形式のフィールドネットワークにも適用できる。このようなデイジーチェーン形式のフィールドネットワークについて、図11を参照して例示する。
図11は、本実施の形態の変形例に係るPLCシステム1Aの全体構成を示す模式図である。図11を参照して、PLCシステム1Aは、メイン処理装置2(マスター装置)と、1つ以上のリモート装置40(スレーブ装置)とを含み、これらは、デイジーチェーン形式のフィールドネットワークを介して接続されている。フィールドネットワークでは、マスター装置から各スレーブ装置へパケットが順次転送され(ダウンパケット)、終端部で折り返した後、各スレーブ装置からマスター装置へパケットが順次転送される(アップパケット)。
このようなデイジーチェーン形式を採用した場合には、CPUユニット10は、デイジーチェーン形式に適合した通信処理部110Aを有することになる。その他の構成や処理などについては、上述したものと同様であるので、詳細な説明は繰り返さない。
また、上述の実施の形態およびその変形例では、フィールドネットワークにおけるデータ伝送について例示したが、PLC内における、CPUユニット10とIOユニット20とを繋ぐ内部バスにも適用できる。
<L.その他の形態>
本実施の割り当て機能の実装形態については、上述した構成例に限定されることなく、各種の構成が可能である。制御装置であるメイン処理装置2(マスター装置)に割り当て機能の全部を実装してもよいし、開発支援装置500に割り当て機能のほぼ全部を実装してもよい。あるいは、メイン処理装置2(マスター装置)と開発支援装置500と互いに通信しながら、割り当て機能を実現するような構成であってもよい。適用先のシステム構成やコスト面などに応じて、適切な実装形態が採用される。
<M.利点>
本実施の形態によれば、同一のネットワークに接続された複数のスレーブ装置のそれぞれに対して、各スレーブ装置が担当する機能や処理に応じた更新頻度でマスター装置から必要なデータを送信できるので、予め定められたネットワークの帯域を有効に利用できる。また、不要なデータをネットワーク上に送出する必要がないので、制御周期を短くして、より高速な通信を実現できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,1A PLCシステム、2 メイン処理装置、4 フィールドネットワーク、10 CPU、10 CPUユニット、20 IOユニット、30 電源ユニット、40 リモート装置、42 サーボモータ、100 プロセッサ、102 主メモリ、103 ワークエリア、104 不揮発性メモリ、105 ユーザプログラム、106 システムプログラム、108 内部バスコントローラ、109 内部バス、110,110A,410 通信処理部、112,412 通信コントローラ、114,414 共有メモリ、120,420 送信バッファ、122,422 送信回路、130,430 受信バッファ、132,432 受信回路、150 割り当て設定、400 演算処理部、402 入力回路、404 出力回路、500 開発支援装置。

Claims (11)

  1. 制御対象を制御するための制御システムであって、
    マスター装置と、
    ネットワークを介して前記マスター装置と接続された複数のスレーブ装置とを備え、
    前記マスター装置は、予め定められた制御周期の1または複数毎に前記ネットワーク上にパケットを送出するとともに、前記複数のスレーブ装置の各々は、前記マスター装置からのパケットを順次転送するように構成されており、
    前記マスター装置は、
    前記スレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行する実行手段を備え、前記実行手段が前記プログラムを実行することで第1のデータおよび第2のデータが算出され、
    前記第1のデータに対する前記制御周期の整数倍である第1の送信周期の設定と、前記第2のデータに対する前記制御周期の整数倍であって前記第1の送信周期より長い第2の送信周期の設定とに従って、前記第1の送信周期毎に前記第1のデータを前記パケットに割り当てるとともに、前記第2の送信周期毎に前記第2のデータを前記パケットに割り当てる割り当て手段とを備え、
    前記マスター装置は、前記割り当て手段による割り当て方に従って、前記第1のデータおよび前記第2のデータの少なくとも一方を各パケットに格納するとともに、当該パケットに格納されたデータの送信先となるスレーブ装置を示す情報を付加し、各パケットに格納されるデータの種類およびデータの順序は、前記割り当て手段により動的に決定され
    前記複数のスレーブ装置の各々は、前記マスター装置からのパケットに含まれるデータのうち、自装置を宛先とするデータのみを抽出する、制御システム。
  2. 前記割り当て手段は、前記各パケットに許容される最大データサイズを超えないように、前記第1のデータおよび前記第2のデータのそれぞれをどのパケットに割り当てるかを決定する、請求項1に記載の制御システム。
  3. 前記割り当て手段は、送信周期が設定された送信対象の複数のデータのうち、その送信周期が短いデータから順に、パケットへの割り当て方を決定する、請求項1または2に記載の制御システム。
  4. 前記第2のデータは、複数のデータ要素を含み、
    前記割り当て手段は、
    前記第2のデータに対して同期して送信することが設定されている場合には、前記第2のデータに含まれる複数のデータ要素が同一のパケットに割り当てられ、
    前記第2のデータに対して同期して送信することが設定されていない場合であって、前記第2のデータに含まれる複数のデータ要素を同一のパケットに割り当てることができないときには、前記第2のデータに含まれる複数のデータ要素が複数のパケットに亘って割り当てられるように、前記第2のデータのパケットへの割り当て方を決定する、請求項1〜3のいずれか1項に記載の制御システム。
  5. 前記割り当て手段は、送信対象の複数のデータのうち、同期して送信することが設定されているデータを他のデータに優先して、パケットへの割り当て方を決定する、請求項4に記載の制御システム。
  6. 前記割り当て手段は、各パケットにおける割り当てられたデータの占有状態を通知する手段を含む、請求項1〜5のいずれか1項に記載の制御システム。
  7. 前記割り当て手段は、前記第1のデータおよび前記第2のデータを、前記制御周期と、前記第1の送信周期と、前記第2の送信周期とを含む予め定められた通信パラメータに従う割り当て方の決定ができない場合に、当該通信パラメータの変更を促す通知を行なう手段を含む、請求項1〜6のいずれか1項に記載の制御システム。
  8. 制御対象を制御するための制御システムに向けられた開発支援装置であって、
    前記制御システムは、マスター装置と、ネットワークを介して前記マスター装置と接続された複数のスレーブ装置とを備え、
    前記マスター装置は、予め定められた制御周期毎に前記ネットワーク上にパケットを送出するとともに、前記複数のスレーブ装置の各々は、前記マスター装置からのパケットを順次転送するように構成されており、
    前記開発支援装置は、
    前記マスター装置が前記スレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行することで第1のデータおよび第2のデータを算出するように設定されている場合に、前記第1のデータに対する前記制御周期の整数倍である第1の送信周期の設定と、前記第2のデータに対する前記制御周期の整数倍であって前記第1の送信周期より長い第2の送信周期の設定とを含む通信パラメータを受け付ける手段と、
    前記第1の送信周期毎に前記第1のデータが前記パケットに割り当てられるとともに、前記第2の送信周期毎に前記第2のデータが前記パケットに割り当てられるように割り当て方を決定する割り当て決定手段とを備え、各パケットに割り当てられるデータの種類およびデータの順序は、前記割り当て決定手段により動的に決定される、開発支援装置。
  9. ネットワークを介して複数のスレーブ装置と接続される制御装置であって、予め定められた制御周期の1または複数毎に前記ネットワーク上にパケットを送出するとともに、前記複数のスレーブ装置の各々は、前記制御装置からのパケットを順次転送するように構成されており、
    前記制御装置は、
    前記スレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行する実行手段を備え、前記実行手段が前記プログラムを実行することで第1のデータおよび第2のデータが算出され、
    前記第1のデータに対する前記制御周期の整数倍である第1の送信周期の設定と、前記第2のデータに対する前記制御周期の整数倍であって前記第1の送信周期より長い第2の送信周期の設定とに従って、前記第1の送信周期毎に前記第1のデータを前記パケットに割り当てるとともに、前記第2の送信周期毎に前記第2のデータを前記パケットに割り当てる割り当て手段とを備え、
    前記制御装置は、前記割り当て手段による割り当て方に従って、前記第1のデータおよび前記第2のデータの少なくとも一方を各パケットに格納するとともに、当該パケットに格納されたデータの送信先となるスレーブ装置を示す情報を付加し、各パケットに格納されるデータの種類およびデータの順序は動的に決定され
    前記複数のスレーブ装置の各々は、前記制御装置からのパケットに含まれるデータのうち、自装置を宛先とするデータのみを抽出する、制御装置。
  10. 制御対象を制御するための制御システムに向けられた開発支援装置であって、
    前記制御システムは、マスター装置と、ネットワークを介して前記マスター装置と接続された複数のスレーブ装置とを備え、
    前記マスター装置は、予め定められた制御周期の1または複数毎に前記ネットワーク上にパケットを送出するとともに、前記複数のスレーブ装置の各々は、前記マスター装置からのパケットを順次転送するように構成されており、
    前記マスター装置は、前記スレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行する実行手段を備え、前記実行手段が前記プログラムを実行することで第1のデータおよび第2のデータが算出され、
    前記開発支援装置は、前記第1のデータに対する前記制御周期の整数倍である第1の送信周期の設定と、前記第2のデータに対する前記制御周期の整数倍であって前記第1の送信周期より長い第2の送信周期の設定とに従って、前記第1の送信周期毎に前記第1のデータが前記パケットに割り当てられるとともに、前記第2の送信周期毎に前記第2のデータが前記パケットに割り当てられるように割り当て方を決定し、各パケットに割り当てられるデータの種類およびデータの順序は動的に決定される、開発支援装置。
  11. 制御対象を制御するための制御システムにおける制御方法であって、
    前記制御システムは、マスター装置と、ネットワークを介して前記マスター装置と接続された複数のスレーブ装置とを備え、
    前記制御方法は、
    前記マスター装置が予め定められた制御周期の1または複数毎に前記ネットワーク上にパケットを送出するとともに、前記複数のスレーブ装置の各々が前記マスター装置からのパケットを順次転送するステップと、
    前記マスター装置が前記スレーブ装置における入出力に関連する処理を含むプログラムを繰り返し実行するステップとを備え、前記プログラムの実行によって第1のデータおよび第2のデータが算出され、
    前記第1のデータに対する前記制御周期の整数倍である第1の送信周期の設定と、前記第2のデータに対する前記制御周期の整数倍であって前記第1の送信周期より長い第2の送信周期の設定とに従って、前記第1の送信周期毎に前記第1のデータを前記パケットに割り当てるとともに、前記第2の送信周期毎に前記第2のデータを前記パケットに割り当てるステップと、
    前記マスター装置が前記割り当てるステップによる割り当て方に従って、前記第1のデータおよび前記第2のデータの少なくとも一方を各パケットに格納するとともに、当該パケットに格納されたデータの送信先のスレーブ装置を示す情報を付加するステップとを備え、各パケットに格納されるデータの種類およびデータの順序は動的に決定され
    前記複数のスレーブ装置の各々が前記マスター装置からのパケットに含まれるデータのうち、自装置を宛先とするデータのみを抽出するステップとを備える、制御方法。
JP2014026821A 2014-02-14 2014-02-14 制御システム、開発支援装置、制御装置、および制御方法 Active JP6390113B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014026821A JP6390113B2 (ja) 2014-02-14 2014-02-14 制御システム、開発支援装置、制御装置、および制御方法
PCT/JP2015/050899 WO2015122232A1 (ja) 2014-02-14 2015-01-15 制御システム、開発支援装置、制御装置、および制御方法
US15/114,570 US10356006B2 (en) 2014-02-14 2015-01-15 Control system, development support apparatus, controller, and control method
CN201580005278.0A CN106416140B (zh) 2014-02-14 2015-01-15 控制系统、开发支持装置、控制装置及控制方法
EP15748885.9A EP3089401B1 (en) 2014-02-14 2015-01-15 Control apparatus, development support apparatuses, control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014026821A JP6390113B2 (ja) 2014-02-14 2014-02-14 制御システム、開発支援装置、制御装置、および制御方法

Publications (2)

Publication Number Publication Date
JP2015154280A JP2015154280A (ja) 2015-08-24
JP6390113B2 true JP6390113B2 (ja) 2018-09-19

Family

ID=53799980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014026821A Active JP6390113B2 (ja) 2014-02-14 2014-02-14 制御システム、開発支援装置、制御装置、および制御方法

Country Status (5)

Country Link
US (1) US10356006B2 (ja)
EP (1) EP3089401B1 (ja)
JP (1) JP6390113B2 (ja)
CN (1) CN106416140B (ja)
WO (1) WO2015122232A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102023534B1 (ko) * 2015-04-17 2019-09-23 엘에스산전 주식회사 슬레이브 디바이스 및 이의 제어 방법
KR102198204B1 (ko) * 2016-10-14 2021-01-04 미쓰비시덴키 가부시키가이샤 시뮬레이션 장치
EP3545614B1 (en) * 2016-11-23 2022-08-31 Kimidrive LLC Packet-based networking of variable frequency drives
DE102018201433A1 (de) * 2018-01-31 2019-08-14 Zf Friedrichshafen Ag Übertragungssystem für Steuerdaten
CN108919762B (zh) * 2018-07-06 2021-05-25 东莞市李群自动化技术有限公司 基于工业以太网的控制方法及装置
JP7003952B2 (ja) 2019-03-14 2022-01-21 オムロン株式会社 制御システム、サポート装置およびサポート装置用のプログラム
KR20230162796A (ko) * 2021-03-31 2023-11-28 파나소닉 아이피 매니지먼트 가부시키가이샤 통신 장치, 통신 시스템, 통신 제어 방법 및 프로그램
CN114248269A (zh) * 2021-12-09 2022-03-29 国网浙江省电力有限公司海宁市供电公司 一种基于TherCAT的电力六轴机器人控制系统及控制方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259520A (ja) * 1999-03-05 2000-09-22 Matsushita Electric Ind Co Ltd ネットワーク管理装置
CN100382522C (zh) * 2003-08-04 2008-04-16 浙江中控技术股份有限公司 一种实现以太网确定性通信的调度方法
DE10337699B4 (de) * 2003-08-16 2006-01-12 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zur Übertragung von Daten über ein Busnetz unter Verwendung des Broadcast-Prinzip
JP2006319381A (ja) * 2005-05-10 2006-11-24 Fujitsu Ten Ltd 緊急メッセージ送信方法
JP4937654B2 (ja) * 2006-07-12 2012-05-23 Kddi株式会社 チャンネル切替用マルチキャスト配信装置、マルチキャスト配信システム及びチャンネル切替用マルチキャスト配信方法
GB2457307A (en) 2008-02-11 2009-08-12 Apollo Fire Detectors Ltd Fire alarm signalling with voice modulated HF signal multiplexed on to plateaus of existing lower frequency pulses carried on power cabling
JP5174701B2 (ja) * 2009-01-30 2013-04-03 日立オートモティブシステムズ株式会社 車両制御ネットワーク中継装置
JP2010287959A (ja) * 2009-06-09 2010-12-24 Yaskawa Electric Corp 同期通信システム、通信装置および同期通信方法
JP5458719B2 (ja) 2009-07-24 2014-04-02 日本電気株式会社 クロック同期システムと通信装置と方法とプログラム
JP5598714B2 (ja) 2010-10-25 2014-10-01 横河電機株式会社 通信帯域制御装置
JP5605338B2 (ja) * 2011-09-06 2014-10-15 株式会社デンソー 通信装置

Also Published As

Publication number Publication date
EP3089401A1 (en) 2016-11-02
JP2015154280A (ja) 2015-08-24
US10356006B2 (en) 2019-07-16
WO2015122232A1 (ja) 2015-08-20
CN106416140A (zh) 2017-02-15
EP3089401A4 (en) 2017-01-11
EP3089401B1 (en) 2020-07-22
US20160344653A1 (en) 2016-11-24
CN106416140B (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
JP6390113B2 (ja) 制御システム、開発支援装置、制御装置、および制御方法
US10761884B2 (en) Control device for operating multiple types of programs in different execution formats
US10277417B2 (en) Control system, control apparatus and control method with input-only communication frame
JP6540166B2 (ja) 制御装置
JP6409557B2 (ja) 制御装置、コントローラ・システム、出力制御方法、およびプログラム
JP6626240B2 (ja) コントローラ
US20160292004A1 (en) Controller
JP2016194831A (ja) 制御装置
US9568905B2 (en) CPU of PLC, system program for PLC, and recording medium storing system program for PLC
JP5611158B2 (ja) データ中継制御装置、リンク間転送設定支援装置およびリンク間転送設定方法
JP7327225B2 (ja) ロボット制御システムおよび制御方法
WO2015162754A1 (ja) 制御システム、マスタ局、およびリモート局
CN111052012B (zh) 控制装置以及控制系统
JP6939665B2 (ja) ネットワークシステム
JP5752087B2 (ja) 制御装置、データ出力制御ユニット、データ入力制御ユニット、および制御ユニット
WO2021145124A1 (ja) 制御装置
WO2022049885A1 (ja) 制御装置
JP2019097085A (ja) 通信制御装置
JP2022048289A (ja) 制御装置および制御システム
JP2021026587A (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: 20170822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180806

R150 Certificate of patent or registration of utility model

Ref document number: 6390113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250