JP7192427B2 - 制御システムおよび制御装置 - Google Patents

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

Info

Publication number
JP7192427B2
JP7192427B2 JP2018216587A JP2018216587A JP7192427B2 JP 7192427 B2 JP7192427 B2 JP 7192427B2 JP 2018216587 A JP2018216587 A JP 2018216587A JP 2018216587 A JP2018216587 A JP 2018216587A JP 7192427 B2 JP7192427 B2 JP 7192427B2
Authority
JP
Japan
Prior art keywords
transfer
time
communication data
arithmetic processing
transfer method
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
JP2018216587A
Other languages
English (en)
Other versions
JP2020088479A (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 JP2018216587A priority Critical patent/JP7192427B2/ja
Priority to EP19886224.5A priority patent/EP3885922A4/en
Priority to PCT/JP2019/041736 priority patent/WO2020105358A1/ja
Priority to CN201980057878.XA priority patent/CN112673362A/zh
Priority to US17/286,487 priority patent/US20210389741A1/en
Publication of JP2020088479A publication Critical patent/JP2020088479A/ja
Application granted granted Critical
Publication of JP7192427B2 publication Critical patent/JP7192427B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/15Plc structure of the system
    • G05B2219/15056DMA

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本開示は、通信データを記憶部に転送する転送方式の選択に関する。
FA(Factory Automation)を用いた生産現場等では、PLC(Programmable Logic Controller)やロボットコントローラなどの産業用の制御装置が導入されている。制御装置と機能ユニットとは通信線により電気的に接続されている。機能ユニットは、通信線上を巡回的に伝送する通信データを制御装置と遣り取りする。通信データは、制御装置に含まれる通信回路のバッファに一時的に格納される。通信データは、バッファから制御装置に含まれる記憶部に転送される。通信データは、例えばDMA(Direct Memory Access)転送の方式(以下、「DMA方式」とも称す。)により転送される。DMA方式は、通信回路に接続されたDMAコントローラが通信データを記憶部に転送する方式である。
制御装置による通信データの転送に関して、特開2018-129614号公報(特許文献1)は、PLCを構成するCPUユニットにおいては、タスクを実行するプロセッサおよびメインメモリなどを含む演算処理部と、ローカルバスを介した通信を担当する通信回路との間に、DMAコントローラが配置される。DMAコントローラは、複数のDMAコアを有しており、各DMAコアは、ディスクリプタテーブルに従って指定された処理を順次実行する。これによって、演算処理部と通信回路との間のデータ伝送を含む、制御装置(プロセッサ)と機能ユニットとの間のIOリフレッシュ処理といった各種通信処理を高速に実現できる、技術を開示している([段落0143]参照)。
特開2018-129614号公報
ところで、通信データのサイズ(データ量)によっては、制御装置がある転送方式(例えば、DMA方式)を用いて通信データの転送を行った場合に、他の転送方式を用いて通信データを転送した場合よりも、転送に要する時間が長くなることがあった。したがって、データ量に応じた最適な転送方式を選択可能な技術の開示が必要とされている。
本開示は、係る実情に鑑み考え出されたものであり、ある局面において、データ量に応じた最適な転送方式を選択可能な技術を提供する。
本開示の一例では、制御システムは、1または複数の機能ユニットと、上記1または複数の機能ユニット間で巡回的に伝送される通信データを遣り取りする制御装置とを備え、上記制御装置は、上記通信データを一時的に格納する第1記憶部を有する通信回路と、複数の転送方式のいずれかに従って、上記第1記憶部から転送される上記通信データを格納する第2記憶部と、上記第2記憶部に格納された上記通信データを用いて、演算処理を実行する演算処理部と、上記演算処理部と上記通信回路とに接続されたDMAコントローラとを備え、上記複数の転送方式は、上記演算処理部が上記通信データを転送する第1転送方式と、上記DMAコントローラが上記通信データを転送する第2転送方式とを含み、上記演算処理部は、ユーザからの指示に従って、または、予め定められた条件に従って、上記第1転送方式と上記第2転送方式とのうち、いずれかの転送方式を選択する。
この開示によれば、制御システムは、システムの運用中にデータ量に応じた最適な転送方式を選択できる。
本開示の一例では、上記演算処理部は、上記第1転送方式により上記通信データが上記第2記憶部に転送される時間と、該転送される時間および上記演算処理が実行される時間とのうちのいずれかの第1転送時間と、上記第2転送方式により上記通信データが上記第2記憶部に転送される時間と、該転送される時間および上記演算処理が実行される時間とのうちのいずかの第2転送時間とを計測し、上記第1転送時間と上記第2転送時間とを含む計測データを出力する。
この開示によれば、制御システムは、各転送方式における通信データの転送処理の時間、または、通信データの転送処理および演算処理を含む時間のいずれかを計測できる。
本開示の一例では、上記演算処理部は、上記制御装置への電力の供給が開始された場合、または、上記制御装置に接続された上記1または複数の機能ユニットの構成が変更された場合に、上記第1転送時間と上記第2転送時間とを計測する。
この開示によれば、制御システムは、システム運用中において、現在設定されている転送方式とは別の転送方式が選択される可能性があるタイミングで、転送時間の計測を行える。
本開示の一例では、上記計測データは、上記第1転送方式による上記通信データにおける転送が、複数回実行されたときの上記第1転送時間における平均第1転送時間と、上記第2転送方式による上記通信データにおける転送が、複数回実行されたときの上記第2転送時間における平均第2転送時間とを含み、上記演算処理部は、上記平均第1転送時間で転送が実行される上記第1転送方式と、上記平均第2転送時間で転送が実行される上記第2転送方式とのうち、短い時間で転送が実行される転送方式を選択可能する。
この開示によれば、制御システムは、システムの運用中に、通信データを記憶部に転送する時間が短い転送方式を選択でき、定周期の処理に要する時間を短縮できる。
本開示の一例では、上記計測データは、上記第1転送方式による上記通信データにおける転送が、複数回実行されたときの上記第1転送時間におけるばらつき度合いと、上記第2転送方式による上記通信データにおける転送が、複数回実行されたときの上記第2転送時間におけるばらつき度合いとを含み、上記演算処理部は、上記第1転送時間におけるばらつき度合いで転送が実行される第1転送方式と、上記第2転送時間におけるばらつき度合いで転送が実行される第2転送方式のうち、小さいばらつきの度合いで転送が実行される転送方式を選択可能とする。
この開示によれば、制御システムは、通信データを記憶部に転送する時間のばらつきが小さい転送方式を選択でき、定周期の処理を確実に終了させることできる。
本開示の一例では、制御システムは、計測データを受け付けるサポート装置をさらに備え、上記サポート装置は、受け付けた上記計測データに基づいて、上記通信データの転送において許容される最大の時間と、上記第1転送方式および上記第2転送方式のうち、いずれかの転送方式により上記通信データが転送されたときに実測された時間とを比較可能な画像を表示する表示部を含む。
この開示によれば、制御システムは、複数の転送方式のうち、いずれの転送方式がシステムに適合しているのかを、ユーザが直感的に判断可能な画像を表示できる。
本開示の一例では、制御装置は、上記1または複数の機能ユニット間で巡回的に伝送される通信データを遣り取りし、上記通信データを一時的に格納する第1記憶部を有する通信回路と、複数の転送方式のいずれかに従って、上記第1記憶部から転送される上記通信データを格納する第2記憶部と、上記第2記憶部に格納された上記通信データを用いて、演算処理を実行する演算処理部と、上記演算処理部と上記通信回路とに接続されたDMAコントローラとを備え、上記複数の転送方式は、上記演算処理部が上記通信データを転送する第1転送方式と、上記DMAコントローラが上記通信データを転送する第2転送方式とを含み、上記演算処理部は、ユーザからの指示に従って、または、予め定められた条件に従って、上記第1転送方式と上記第2転送方式とのうち、いずれかの転送方式を選択する。
この開示によれば、制御装置は、システムの運用中にデータ量に応じた最適な転送方式を選択できる。
本開示によれば、ある局面において、データ量に応じた最適な転送方式を選択可能となる。
第1の実施の形態に係るPLC1の要部構成を示す模式図である。 PLC1における周期タスクの実行を説明するための模式図である。 転送方式ごとのデータ量に応じた転送時間を表わす図である。 PIO方式により入力データ134を転送する処理について説明する図である。 DMA方式により入力データ134を転送する処理について説明する図である。 予め定められた条件に基づいて、入力データ134の転送方式を選択する機能について説明する機能ブロック図である。 プライマリ周期タスクの一例を表わす図である。 転送方式を選択するユーザプログラムの127の一例を表わす図である。 演算処理部110が、予め定められた条件を満たす転送方式を選択する処理を表わすフローチャートである。 第2の実施の形態に係るPLC1aの要部構成を示す模式図である。 ユーザからの指示に応答して、入力データ134の転送方式を選択する機能を説明する機能ブロック図である。 第1転送方式による転送時間を含む計測データに基づいて生成された画像である。 第2転送方式による転送時間を含む計測データに基づいて生成された画像である。 本実施の形態に係るPLC1を構成するサポート装置300のハードウェア構成例を示すブロック図である。 演算処理部110が、ユーザからの指示に応答して、転送方式を選択する処理を表わすフローチャートである。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
また、以下の説明においては、「制御システム」の典型例として、PLC(プラグラマブルコントローラ)を具体例として説明するが、PLCとの名称に限定されることなく、本明細書に開示された技術的思想は、任意の制御装置に対して適用可能である。
<第1の実施の形態>
<適用例>
[PLC1の装置構成]
まず、第1の実施の形態に係るPLCの装置構成について説明する。図1は、第1の実施の形態に係るPLCの要部構成を示す模式図である。図1を参照して、第1の実施の形態に係るPLC1は、典型的には、制御装置100と、1または複数の機能ユニット200とから構成される。制御装置100は、PLC1を構成する一要素であり、PLC1全体の処理を制御する演算ユニットに相当する。機能ユニット200は、PLC1による様々な機械や設備の制御を実現するための各種機能を提供する。制御装置100と1または複数の機能ユニット200との間は、通信線の一例であるローカルバス2を介して接続されている。一例として、ローカルバス2としては、一種のデイジーチェーンの構成が採用される。
図1に示す構成においては、制御装置100は、通信ユニットまたは通信装置としても機能する。より具体的には、制御装置100をローカルバス2における通信全体を管理するマスターの通信ユニットとして機能するようにしてもよく、各機能ユニット200を制御装置100の管理下で通信を行うスレーブの通信ユニットとして機能するように構成してもよい。このようなマスター/スレーブの構成を採用することで、ローカルバス2を巡回する通信データ(通信フレーム)20のタイミング制御などを容易に行うことができる。
制御装置100は、演算処理部110と、通信回路130と、DMAコントローラ140と、高精度タイマ160とを含む。なお、演算処理部110を含む制御装置100に対して、通信回路130の機能を提供する通信ユニットを組み合わせるような構成であってもよい。
演算処理部110は、プロセッサ112と、記憶部114と、ストレージ120とを含む。説明の便宜上、図1には、1つのプロセッサ112のみを描くが、複数のプロセッサを実装してもよい。なお、各プロセッサは、複数のコアを有していてもよい。演算処理部110においては、プロセッサ112が1または複数のタスクを周期的に実行する。演算処理部110で複数のタスクが実行される場合には、それらの複数のタスクに対して、互いに異なる優先度が設定されてもよい。
また、プロセッサ112は、後述する通信回路130のバッファ132に格納された通信データ20(例えば、入力データ134)を記憶部114に転送する。プロセッサ112は、データ転送に用いられる複数の転送方式のうち、例えば、後述するPIO(Programmed Input/Output)転送のデータ転送方式(以下、「PIO方式」とも称す。)に従って、通信データ20を記憶部114に転送する。
記憶部114は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などで構成され、プロセッサ112でのプログラムの実行に必要なワーク領域を提供する。
ストレージ120は、フラッシュメモリやハードディスクなどで構成され、システムプログラム122、ユーザプログラム124、コンフィギュレーション126などを格納する。
システムプログラム122は、プロセッサ112においてユーザプログラム124を実行するためのOS(Operating System)およびライブラリなどを含む。システムプログラム122は、機能ユニット200間を巡回する通信データ20に含まれるフィールド値(入力データ)を制御装置100へ送信するためのタスクを含む。以下では、フィールド値を入力データ134という。また、システムプログラム122は、制御装置100で算出される制御指令値を機能ユニット200へ送信するためのタスクを含む。以下では、制御指令値を出力データ135という。このように、システムプログラム122は、入力データ134および出力データ135の少なくともいずれかを送信する処理(後述する、IOリフレッシュ処理)を周期的に実行するためのタスクを含む。ユーザプログラム124は、制御対象の機械や設備に応じて任意に作成される。また、システムプログラム122は、複数のデータ転送方式のうち、各転送方式におけるデータ転送時間の計測の処理を実行するためのタスクを含む。
コンフィギュレーション126は、制御装置100でのプログラム実行に必要な各種設定値やネットワーク構成を定義する各種設定値を含む。コンフィギュレーション126は、例えば、IOリフレッシュ処理で送受信される入力データ134のデータ量および出力データ135のデータ量を含む。
通信回路130は、通信線であるローカルバス2を介して、1または複数の機能ユニット200と通信データ20を遣り取りする。つまり、通信回路130は、通信線であるローカルバス2を介した通信データ20の送受信を担当する。通信回路130はバッファ132を含む。バッファ132は、ローカルバス2を介して送受信された通信データ20を一時的に格納する。バッファ132に一時的に格納される通信データ20は、例えば、入力データ134および出力データ135である。
通信回路130により実行される通信データ20の送受信は例えば次のように実現される。通信回路130は、ローカルバス2と物理的に接続され、DMAコントローラ140からの指令に従って電気信号を生成する。通信回路130は、ローカルバス2上に通信データ20を送信するとともに、ローカルバス2上に生じる電気信号を復調して、通信データ20を演算処理部110へ出力する。
本明細書において、「IOリフレッシュ処理」は、入力データ134の制御装置100等への送信、および、出力データ135の機能ユニット200への送信のうちの少なくとも一方を含む。入力データ134は機能ユニット200により収集されたデータである。出力データ135は、制御装置100の記憶部114に格納されたデータである。すなわち、「IOリフレッシュ処理」との名称は便宜上のものであり、入力データ134および出力データ135のうち一方のみ(例えば、入力データ134のみ)の更新処理も含み得る。
DMAコントローラ140は、演算処理部110および通信回路130に接続され、演算処理部110と通信回路130との間で要求を仲介して、データアクセスを高速化する機能を有している。DMAコントローラ140は、通信回路130のバッファ132に格納された通信データ20(例えば、入力データ134)を記憶部114に転送する。DMAコントローラ140は、データ転送に用いられる複数のデータ転送方式のうち、例えば、後述するDMA転送のデータ転送方式(以下、「DMA方式」とも称す。)に従って、通信データ20を記憶部114に転送する。
DMAコントローラ140は、例えば、プロセッサ112からの通信要求に応答して、通信回路130に対して指令を与えて、通信回路130のバッファ132に格納された入力データ134を記憶部114へ送信する。また、DMAコントローラ140は、プロセッサ112からの通信要求に応答して、記憶部114に格納された出力データ135を通信回路130に送信する。DMAコントローラ140の少なくとも主要部については、ハードワイヤードな構成を有することで、プロセッサ112より高速な処理を実現可能である。典型的には、DMAコントローラ140は、ハードウェアロジックを用いて実現される。例えば、DMAコントローラ140は、PLD(Programmable Logic Device)の一例であるFPGA(Field-Programmable Gate Array)や、IC(Integrated Circuit)の一例であるASIC(Application Specific Integrated Circuit)などを用いて実装されてもよい。
高精度タイマ160は、制御装置100および制御装置100に接続される他のユニットとの間でタイミングを決定するための一種のクロックであり、所定周期においてカウントアップするカウンタなどを用いて実現される。
通信データ20は、IOリフレッシュ処理に用いられる。通信データ20は、ローカルバス2を介して、複数の機能ユニット200間で巡回的に伝送される。通信データ20が伝送されていない期間において、制御装置100と任意の機能ユニット200との間、あるいは、複数の機能ユニット200間には、通信データ20がメッセージ伝送されることもある。
ローカルバス2上でデータを遣り取りするためのプロトコルとしては、任意のプロトコルを採用することができる。さらに、通信線の一例として、ローカルバス2を例示するが、これに限らず、任意の定周期ネットワークを採用してもよい。このような定周期ネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの公知のネットワークを採用してもよい。
図1に示す構成においては、説明の便宜上、演算処理部110、通信回路130およびDMAコントローラ140に区別した構成を描いているが、これに限られることなく任意の実装形態を採用できる。例えば、演算処理部110の全部または一部と通信回路130の全部または一部とを同一のチップ上に実装したSoC(System on Chip)で構成してもよい。あるいは、演算処理部110のプロセッサ112とDMAコントローラ140の主要機能とを同一のチップ上に実装したSoCを用いてもよい。これらの実装形態については、要求される性能やコストなどを考慮して適宜選択される。
機能ユニット200は、典型的には、I/Oユニット、通信ユニット、温度調整ユニット、ID(Identifier)センサユニットなどを包含し得る。I/Oユニットとしては、例えば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。
制御装置100は、他のPLC、リモートI/O装置、機能ユニットなどとデータの遣り取りを仲介する。制御装置100は、例えば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などのプロトコルに係る通信装置などを包含し得る。
温度調整ユニットは、温度計測値などを取得するアナログ入力機能と、制御指令などを出力するアナログ出力機能と、PID(Proportional Integral Differential)制御機能とを含む制御装置である。IDセンサユニットは、RFID(Radio Frequency IDentifier)などから非接触でデータを読出す装置である。
機能ユニット200は、ローカルバス2上において巡回的に伝送される通信データ20を処理する。より具体的には、通信処理部210は、ローカルバス2を介して何らかの通信データ20を受信すると、必要に応じて、当該受信した通信データ20に対するデータ書込みおよび/またはデータ読出しを行った後に、ローカルバス2上において次に位置する機能ユニット200へ当該通信フレームを送信する。機能ユニット200は、このようなフレームリレーの機能を提供する。なお、機能ユニット200は、自ユニット宛ではない通信フレームについては、単純に次に位置する機能ユニット200へ当該通信フレームを転送することもある。
[制御装置100における周期タスク]
第1の実施の形態に係るPLC1においては、それぞれ優先度が設定された1または複数の周期タスクが実行される。このような周期タスクのうち、最高優先度のタスク(以下、「プライマリ周期タスク」とも称す。)の一つとして上述のIOリフレッシュ処理がある。IOリフレッシュ処理の優先度より低い優先度のタスクとして、各種のタスク(以下、「通常周期タスク」とも称す。)がある。これらのタスクは、予め設定されたそれぞれの一定周期が繰返し実行されることになる。
図2は、PLC1における周期タスクの実行を説明するための模式図である。図2を参照して、制御装置100においては、IOリフレッシュ処理などを実行するためのプライマリ周期タスク1221が制御周期T1で繰返し実行される。また、プライマリ周期タスク1221が繰返し実行されるとともに、プライマリ周期タスク1221より優先度の低い1または複数の通常周期タスク1222が制御周期T2で繰返し実行される。通常周期タスク1222の制御周期T2は、通常周期タスク1222毎に異なる値に設定されていてもよい。制御周期T1および制御周期T2は一定周期である。また、例えば、制御周期T2は、制御周期T1より長い値に設定される。
通常周期タスク1222としては、何らかのイベントまたは条件の成立に応答して、特定の機能ユニット200へ各種メッセージフレームを送信する処理が実行されることもある。すなわち、通常周期タスク1222についても、通信回路130(図1)を起動してメッセージフレームをローカルバス2上にイベントまたは周期的に送出する場合もある。
これに対して、プライマリ周期タスク1221に含まれるタスクのうち、IOリフレッシュ処理が実行される場合には、IOリフレッシュフレームが一定の周期毎に繰返しローカルバス2上に送出される。周期が一定となるのは、制御装置100に接続される機能ユニット200の構成が、予め定まった構成となるためである。例えば、図1においては3台の機能ユニット200が制御装置100に接続されている。3台の機能ユニット200が遣り取りするデータ量は、毎周期ほぼ同じデータ量となる。なお、データ量は、コンフィギュレーション126により予め規定されている。したがって、通信回路130がIOリフレッシュフレームを一定周期で繰返し送出することで、バッファ132に格納される通信データ20(例えば、入力データ134)のデータ量は、毎周期ほぼ同じデータ量となる。
そして、制御装置100に接続される機能ユニット200の構成が変更される「段取り替え」等が行われると、通信データ20のデータ量も変更される。例えば、制御装置100に接続される機能ユニット200の数が増加してデータ量も増加することで、データ量が増加する前よりも、入力データ134を転送する時間が長くなる場合がある。このような場合であっても、IOリフレッシュ処理が行われる時間は、予め定められた上限の時間を超えないよう定周期内で終了する必要がある。IOリフレッシュ処理の時間が増加することで、IOリフレッシュ処理以外のプライマリ周期タスクが実行されない可能性があるためである。したがって、例えば、入力データ134のデータ量が増加した場合に、IOリフレッシュ処理の時間が予め定められた範囲内となるような転送方式で入力データ134を転送する必要がある。
ここで、通信回路130のバッファ132に格納された入力データ134を記憶部114に転送する場合に要する時間は、入力データ134を転送する場合に設定される転送方式によって異なる。以下、転送方式と転送時間との関係について説明する。
[転送方式と転送時間との関係]
図3を参照して、転送方式と転送時間との関係について説明する。図3は、転送方式ごとのデータ量に応じた転送時間を表わす図である。図3に示す転送時間は、例えば、実験で算出されたデータである。転送方式としては、例えば、PIO方式と、DMA方式とがある。PIO方式とDMA方式とにおける具体的な転送方法については後述する。
図3の第1推移線301~第4推移線304は、各転送方式における転送時間の推移を表わす。より具体的には、第1推移線301および第2推移線302は、入力データ134の転送が複数回実行されたときの平均の転送時間(以下、「平均転送時間」とも称す。)を表わす。平均転送時間はデータ量に応じて変化する。第1推移線301は、PIO方式による平均転送時間の推移を示す。第2推移線302は、DMA方式による平均転送時間の推移を表わす。
第3推移線303および第4推移線304は、入力データ134の転送が複数回実行されたときの最大の転送時間(以下、「最大転送時間」とも称す。)を表わす。最大転送時間はデータ量に応じて推移する。第3推移線303は、PIO方式による転送時間の変化を表わす。第4推移線304は、DMA方式による転送時間の変化を表わす。
最初に、第1推移線301および第2推移線302について説明する。例えば、バッファ132から記憶部114に転送される入力データ134のデータ量が50KBの場合に、第1推移線301における平均転送時間は12.5μsecとなり、第2推移線302における平均転送時間は14.0μsecとなる。入力データ134のデータ量が50KBの場合は、PIO方式による転送時間がDMA方式による転送時間よりも短くなる。これに対して、データ量が300KBの場合は、第1推移線301の平均転送時間は20.0μsecとなり、第2推移線302の平均転送時間は18.5μsecとなる。入力データ134のデータ量が300KBの場合は、DMA方式による転送時間がPIO方式による転送時間よりも短くなる。
PIO方式とDMA方式とのどちらの転送時間が短くなるかは、例えば、データ量が190KB未満か否かによって変化する。より具体的には、データ量が190KB未満の場合は、PIO方式の転送時間がDMA方式の転送時間よりも短くなる。データ量が190KB以上の場合は、DMA方式の転送時間がPIO方式の転送時間よりも短くなる。上述のように、DMA方式の転送速度は、PIO方式による転送速度よりも速いが、DMA方式による転送が行われる場合、転送開始前にプロセッサ112とDMAコントローラ140との間において設定処理が行われる。このようにDMAコントローラ140が、DMA方式によるデータの転送を行う場合は、データの転送が開始される前に事前の処理が必要となる。したがって、データ量が少ない場合は、設定処理が行われないPIO方式によるデータの転送が、DMA方式によるデータの転送よりも短時間で終了する。
次に、第3推移線303および第4推移線304について説明する。例えば、バッファ132から記憶部114に転送される入力データ134のデータ量が50KBの場合には、第3推移線303における最大転送時間は32.0μsecとなり、第4推移線304における最大転送時間は32.5μsecとなる。入力データ134のデータ量が50KBの場合は、PIO方式による転送時間がDMA方式による転送時間よりも短くなる。これに対して、データ量が300KBの場合は、第3推移線303の最大転送時間は40.0μsecとなり、第4推移線304の最大転送時間は42.5μsecとなる。入力データ134のデータ量が300KBの場合は、DMA方式による転送時間がPIO方式による転送時間よりも短くなる。
PIO方式とDMA方式とのどちらの転送時間が短くなるかは、例えば、データ量が125KB未満か否かによって変化する。より具体的には、データ量が125KB未満の場合は、PIO方式の転送時間がDMA方式の転送時間よりも短くなる。データ量が125KB以上の場合は、DMA方式の転送時間がPIO方式の転送時間よりも短くなる。このように、入力データ134のデータ量に応じて、各転送方式における転送時間が異なる。そのため、制御装置100は、段取り替え等が行われたことで、通信データ20のデータ量が変化する場合は、データ量が変化した後の各転送方式による転送時間を計測する。
これまで説明した図3の推移線は実験により計測された値である。これに対して、制御装置100は、PLC1のシステムの運用中に、演算処理部110の一機能である後述する計測部(例えば、図7に示す計測部116)により、各転送方式における平均転送時間が計測される。そして、制御装置100は、平均転送時間が短い転送方式を選択する。また、制御装置100は、PLC1のシステムの運用中に、計測部116により、各転送方式における転送時間のばらつきの程度が計測される。転送時間のばらつきの程度については後述する。計測部116は、平均転送時間および転送時間のばらつきの程度の少なくともいずれかを含む計測データを後述する判定部(例えば、図7に示す判定部117)に出力する。判定部117は、複数の転送方式のうちどの方式がPLC1のシステムの運用に適しているかを判定する。このように、制御装置100は、平均転送時間および転送時間のばらつきの程度の少なくともいずれかを計測して、複数の転送方式のうちどの方式がPLC1のシステムの運用に適しているかを判定する。
[転送方式の説明]
図4および図5を参照して、PIO方式およびDMA方式の転送方式について説明する。以下では、入力データ134の転送について説明するが、出力データ135の転送であってもこれらの転送方式のうち、データ量の変化に応じていずれかの転送方式が適用される。IOリフレッシュ処理が実行される場合に、入力データ134は、PIO方式およびDMA方式のいずれかの方式により、通信回路130のバッファ132から記憶部114に転送される。プロセッサ112は、記憶部114に格納された入力データ134を用いて、演算処理を実行する。
図4は、PIO方式により入力データ134を転送する処理について説明する図である。図5は、DMA方式により入力データ134を転送する処理について説明する図である。図4を参照して、プロセッサ112は、通信回路130のバッファ132に格納された入力データ134を読み出す。プロセッサ112は、読み出した入力データ134を記憶部114に転送する。このようにPIO方式では、プロセッサ112を介して入力データ134を記憶部114に転送する。言い換えると、PIO方式では、DMAコントローラ140を介することなく、プロセッサ112が入力データ134をバッファ132から記憶部114へ転送する。なお、プロセッサ112を介して入力データ134を転送する方式を、FW(Firmware)方式と称してもよい。以下では、プロセッサ112を介して入力データ134を転送する方式をPIO方式と称して説明を続ける。
図5を参照して、DMAコントローラ140は、通信回路130のバッファ132に格納された入力データ134を読み出す。DMAコントローラ140は、読み出した入力データ134を記憶部114に転送する。このようにDMA方式では、DMAコントローラ140を介して入力データ134を記憶部114に転送する。言い換えると、DMA方式では、プロセッサ112を介することなく、DMAコントローラ140が入力データ134をバッファ132から記憶部114へ転送する。なお、DMA方式による処理が実行される前に、プロセッサ112からDMAコントローラ140に対して設定指示が出力される。プロセッサ112からの設定指示を受け取ったDMAコントローラ140は、処理を開始するために必要な設定を行った後に、バッファ132に格納された入力データ134の読み出しを開始する。
制御装置100は、PIO方式とDMA方式とのうち、いずれかの転送方式によりバッファ132に一時的に格納された入力データ134を記憶部114に転送する。PIO方式は、演算処理部110に含まれるプロセッサ112が入力データ134を記憶部114に転送する方式である。DMA方式は、DMAコントローラ140が入力データ134を記憶部114に転送する方式である。そして、入力データ134を転送するIOリフレッシュ処理が実行される場合には、一定周期内に処理を完了する必要がある。演算処理部110は、バッファ132に格納された入力データ134をPIO方式(以下、「第1転送方式」とも称す。)により記憶部114に転送した時間(以下、「第1転送時間」とも称す。)を計測する。また、演算処理部110は、バッファ132に格納された入力データ134をDMA方式(以下、「第2転送方式」とも称す。)により記憶部114に転送した時間(以下「第2転送時間」とも称す。)を計測する。演算処理部110は、第1転送時間と第2転送時間とのうち、例えば、短い時間となる転送方式を、入力データ134を転送する転送方式として選択する。
[第1転送時間と第2転送時間]
図6を参照して、第1転送時間および第2転送時間と、プライマリ周期タスク1221との対応関係について説明する。図6は、プライマリ周期タスク1221の一例を表わす図である。プライマリ周期タスク1221は、IOリフレッシュ処理を含む。また、プライマリ周期タスク1221は、IOリフレッシュ処理後に、最優先で行われる演算処理およびユーザプログラム等を含む。例えば、IOリフレッシュ処理、演算処理、およびユーザプログラムが実行される制御周期T1のうち、第1転送方式による第1転送時間、または、第2転送方式による第2転送時間は、IOリフレッシュ処理が行われる周期Taに含まれる時間である。これに対して、第1転送時間または第2転送時間は、IOリフレッシュ処理と演算処理とが行われる周期Tbに含まれる時間であってもよい。演算処理は、プロセッサ112がバッファ132から記憶部114に転送された入力データ134を用いて実行する処理である。
このように、入力データ134をバッファ132から記憶部114に転送する時間は、IOリフレッシュ処理が行われる時間を含む周期Taにおける時間、および、IOリフレッシュ処理と演算処理の時間とを含む周期Tbにおける時間のいずれかとなる。より具体的には、第1転送時間は、例えば、PIO方式により入力データ134がバッファ132から記憶部114に転送される転送時間(周期Taに含まれる時間)と、当該転送時間および演算処理が実行される時間を含む処理実行時間(周期Tbに含まれる時間)とのうちのいずれかの時間となる。また第2転送時間は、例えば、DMA方式により入力データ134がバッファ132から記憶部114に転送される転送時間(周期Taに含まれる時間)と、当該転送時間および演算処理が実行される時間を含む処理実行時間(周期Tbに含まれる時間)とのうちのいずれかの時間となる。これにより、PLC1は、プライマリ周期タスク1221において、各転送方式においてIOリフレッシュ処理のみの時間、または、IOリフレッシュ処理および演算処理を含む時間を転送時間として計測できる。したがって、以下、第1転送時間および第2転送時間と称する場合は、IOリフレッシュ処理のみの時間(周期Taに含まれる時間)と、IOリフレッシュ処理および演算処理を含む時間(周期Tbに含まれる時間)とのいずれの時間であってもよい。
なお、周期Tcは、ユーザプログラム124を含む時間である。制御周期T1が予め定められた時間(例えば、2,000μsec)であるため、周期Tcに含まれるユーザプログラム124の数が少ない場合は、周期Taおよび周期Tbの少なくともいずれかの上限時間を長くすることができる。例えば、ユーザプログラムの数が0(ゼロ)の場合は、制御周期T1=周期Tbとすることもできる。これに対して、ユーザプログラム124の数が増加すると、制御周期T1は、予め定められた時間であるため、周期Taおよび周期Tbの少なくともいずれかの時間を短くする必要がある。したがって、演算処理部110の選択部118は、IOリフレッシュ処理における入力データ134の転送時間が短くなる転送方式を選択することで、転送時間の短縮が可能となる。これにより、PLC1は、ユーザプログラム124が実行される時間をより多く確保できる。
以下では、転送方式を選択する条件および機能について説明する。図7は、予め定められた条件に基づいて、入力データ134の転送方式を選択する機能について説明する機能ブロック図である。演算処理部110は計測部116、判定部117、選択部118およびユーザプログラム124を含む。計測部116、判定部117および選択部118は、例えば、システムプログラム122により実現される機能である。
ユーザプログラム124は、計測部116に計測指示を出力する。スケジューラ(図示せず)において予め定められた順に処理が実行され、ユーザプログラム124の処理が実行されるタイミングとなったときに当該プログラムが実行される。ユーザプログラム124の処理が実行されたことで、計測指示を受け付けた計測部116は、PIO方式およびDMA方式のそれぞれの転送方式による入力データ134の転送時間を算出する。計測部116は、高精度タイマ160によりカウントされる値に基づいて、入力データ134がバッファ132から読み出されて、記憶部114へ転送されるまでの時間を各方式で計測する。
そして、計測部116は、各方式における入力データ134の転送を複数回実行して転送時間を算出する。計測部116は、複数の転送時間に基づいて、各方式の平均の転送時間を示す平均転送時間を算出する。計測部116は、各転送方式の平均転送時間を含む計測データを判定部117に送信する。
判定部117は、計測データに基づいて、予め定められた判定条件を満たされたか否かを判定する。判定条件は、例えば、平均転送時間が短い転送方式を選択する条件である。判定部117は、PIO方式による平均転送時間と、DMA方式による平均転送時間とを比較して、いずれの方式の平均転送時間が短いかを判定する。例えば、判定部117はPIO方式の平均転送時間が、DMA方式の平均転送時間よりも短いと判定した場合に、その判定結果を選択部118に出力する。
判定結果を受け付けた選択部118は、現在設定されている転送方式がDMA方式のときは、入力データ134の新たな転送方式としてPIO方式を選択する。現在設定されている転送方式がPIO方式のときは、判定結果を受け付けた選択部118は、現在選択されているPIOの転送方式により引き続き転送を行う。このように、PLC1は、各方式における平均転送時間に応じていずれかの転送方式を選択できる。PLC1は、システムの運用中に、データ量に応じた最適な転送方式を選択できる。また、PLC1は、システムの運用中に、入力データ134をバッファ132から記憶部114に転送する時間が短い転送方式を選択でき、IOリフレッシュ処理に要する時間を短縮できる。さらに、PLC1は、IOリフレッシュ処理における処理時間の短縮により、IOリフレッシュ処理以外の処理で、プライマリ周期タスクにおいて実行される処理(例えば、ユーザプログラムによる処理)の数を増やすことができる。
また、判定部117における判定条件を例えば、転送時間のばらつき度合いとしてもよい。より具体的には、判定部117は、例えば、小さいばらつき度合いの転送時間となる転送方式を選択可能な判定条件に基づいて、当該条件を満たすか否かを判定する。ばらつき度合いとは、例えば、複数の転送時間の標準偏差である。ばらつきの度合いが大きいと、IOリフレッシュ処理の処理時間が定まらないため、一定周期内に処理を完了できない可能性がある。
計測部116は、複数の転送時間に基づいて、各方式の転送時間のばらつき度合いを算出する。計測部116は、例えば複数の転送時間の標準偏差に基づいてばらつき度合いを算出する。計測部116は、各転送方式のばらつき度合いを含む計測データを判定部117に送信する。
判定部117は、PIO方式によるばらつき度合いと、DMA方式によるばらつき度合いとを比較して、いずれの方式のばらつき度合いが小さいかを判定する。例えば、判定部117はPIO方式によるばらつき度合いがDMA方式によるばらつき度合いよりも小さいと判定した場合に、その判定結果を選択部118に出力する。判定結果を受け付けた選択部118は、現在設定されている転送方式がDMA方式のときは、入力データ134の新たな転送方式としてPIO方式を選択する。
現在設定されている転送方式がPIO方式のときは、判定結果を受け付けた選択部118は、現在選択されているPIOの転送方式により引き続き転送を行う。このように、PLC1は、各方式における転送時間のばらつきの度合いに応じていずれかの転送方式を選択できる。また、PLC1は、入力データ134をバッファ132から記憶部114に転送する時間のばらつきが小さい転送方式を選択でき、IOリフレッシュ処理を一定周期で確実に終了させることできる。さらに、IOリフレッシュ処理が一定周期で確実に終了することで、PLC1は、プライマリ周期タスクに含まれる他の処理が未実行となることを防止できる。
[第1の実施の形態における転送方式の選択処理]
図8を参照して、制御装置100の制御構造について説明する。図8は、演算処理部110が、予め定められた条件を満たす転送方式を選択する処理を表わすフローチャートである。ステップS1001において、演算処理部110は、ユーザプログラム124に基づく計測指示を受け付ける。計測指示は、例えば、制御装置100に電力が供給(電源ON)された場合、または、機能ユニット200の構成が変更された(「段取り替え」が行われた)場合に出力される。
ステップS1002において、演算処理部110は、第1転送方式(例えば、PIO方式)による転送時間の計測を開始する。演算処理部110は、高精度タイマ160を用いて、1周期分の入力データ134の転送における開始タイミングを検出する。
ステップS1003において、演算処理部110は、計測が終了したか否かを判定する。演算処理部110は、PIO方式による転送時間を予め定められた回数(例えば、2,000回)計測する。演算処理部110は、1周期分の入力データ134の転送における終了タイミングを検出した後に、予め定められた回数の計測が終了したと判定すると(ステップS1003においてYES)、制御をステップS1004に切替える。そうでない場合には(ステップS1003においてNO)、演算処理部110は、制御をステップS1003に切替えて、予め定められた回数になるまで計測を継続する。
なお、演算処理部110は、上述のように、高精度タイマ160を用いて、1周期分の入力データ134の転送における開始タイミングのカウント値と、カウントが開始されてから、同じ1周期分の入力データ134の転送が終了するまでの終了タイミングのカウント値とを取得する。演算処理部110は、1周期分の転送時間の計測における開始タイミングのカウント値と、終了タイミングのカウント値との差を、第1転送方式による第1転送時間として検出する。
ステップS1004において、演算処理部110は、第2転送方式(例えば、DMA方式)による計測を開始する。演算処理部110は、高精度タイマ160を用いて、1周期分の入力データ134の転送における開始タイミングを検出する。
ステップS1005において、演算処理部110は、計測が終了したか否かを判定する。演算処理部110は、DMA方式による転送時間を予め定められた回数(例えば、2,000回)計測する。演算処理部110は、計測が終了したと判定すると(ステップS1005においてYES)、制御をステップS1006に切替える。そうでない場合には(ステップS1005においてNO)、演算処理部110は、制御をステップS1005に切替えて、予め定められた回数になるまで計測を継続する。
なお、演算処理部110は、上述のように、高精度タイマ160を用いて、1周期分の入力データ134の転送における開始タイミングのカウント値と、カウントが開始されてから、同じ1周期分の入力データ134の転送が終了するまでの終了タイミングのカウント値とを取得する。演算処理部110は、1周期分の計測における開始タイミングのカウント値と、終了タイミングのカウント値との差を、第2転送方式による第2転送時間として検出する。
ステップS1006において、演算処理部110は、第1転送時間および第2転送時間と、第1転送時間のばらつき度合いおよび第2転送時間のばらつき度合いとを含む計測データを出力する。演算処理部110は、計測データを判定部117に出力する。
ステップS1007において、演算処理部110は、予め定められた条件が満たされたことに応答して、転送方式を選択する。演算処理部110は、例えば平均転送時間が短い条件を満たした転送方式を選択する。より具体的には、演算処理部110は、転送方式が第1転送方式による平均転送時間と、第2転送方式による平均転送時間とのうち、第1転送方式による平均転送時間が短いと判定すると、現在設定されている転送方式が第2転送方式の場合は、第1転送方式を以降の転送方式として選択する。演算処理部110は、現在設定されている転送方式が第1転送方式の場合は、新たな転送方式の選択は行わずに、現在の方式の設定を継続させる。
これにより、PLC1は、入力データ134をバッファ132から記憶部114に転送する時間を短縮できる。また、PLC1は、例えば、ばらつき度合いが小さい転送方式を選択することもできる。これにより、PLC1は、入力データ134をバッファ132から記憶部114に転送する処理を定周期内に確実に終了できる。
なお、演算処理部110は、平均転送時間に替えてまたは第1転送方式による転送時間のばらつきの程度と、第2転送方式による転送時間のばらつきの程度とに基づいて、転送方式を選択してもよい。さらに、演算処理部110は、平均転送時間およびばらつきの程度の両方により転送方式を選択してもよい。
<第2の実施の形態>
以下、本開示に係る第2の実施の形態について説明する。第2の実施の形態に係るPLC1は、前述の実施の形態に係るPLC1と同一のハードウェア構成を用いて実現される。したがって、同一のハードウェア構成の説明は繰り返さない。
第1の実施の形態では、演算処理部110に含まれる計測部116、判定部117および選択部118はシステムプログラム122によって実現されることを説明した。これに対して、計測部116、判定部117および選択部118の機能はユーザプログラム124によって実現されてもよい。ユーザが後述するサポート装置300を用いて、予めファンクションブロック等を作成し、作成したユーザプログラム124を制御装置100に送信することで、制御装置100において上記機能が実現されるようにしてもよい。以下、計測部116、判定部117および選択部118の機能を有するユーザプログラム124の具体例について説明する。
[ユーザプログラム124の具体例]
図9を参照して、選択部118の機能等を実現するユーザプログラム124の具体例について説明する。図9は、転送方式を選択するユーザプログラムの124の一例を表わす図である。図8の例では、ユーザプログラム124は、ラダープログラムで規定される。当該ユーザプログラム124は、例えば、制御装置100へ電力が供給されていない状態から電力の供給が開始された場合、または、機能ユニット200の構成が変更された(段取り替えが行われた)場合に、第1転送時間と第2転送時間との計測を開始する。第1転送時間および第2転送時間の計測が終了した後に、転送方式が選択された場合は、選択された新しい転送方式によりデータの転送が実行される。このように、PLC1は、システム運用中において、現在設定されている転送方式とは別の転送方式を選択される可能性があるタイミングで、転送時間の計測を行える。
ユーザプログラム124は、入力要素IN0およびIN1と、ファンクションブロックFB0~FB2と、出力要素OUT0からOUT2とで規定されている。
入力要素IN0およびIN1の値は、割り付けられている変数に応じて変化する。より具体的には、入力要素IN0には、変数「ChengeTrigger」が割り当てられている。変数「ChengeTrigger」はBOOL型であり、初期値は、False」(=OFF)である。変数「ChangeTrigger」の値は、例えば、制御装置100が起動されたことに基づいて、「True」(=ON)に変化する。その他の場合、変数「ChangeTrigger」の値は、「False」(=OFF)となる。
入力要素IN1には、変数「SettingTrigger」が割り当てられている。変数「SettingTrigger」は、BOOL型であり、初期値は、「False」(=OFF)である。また、変数「SettingTrigger」は、ファンクションブロックFB0の出力に関連付けられている。ファンクションブロックFB0の出力が「True」(=ON)となると、入力要素IN1の値は、「True」(=ON)となる。一方で、ファンクションブロックFB0の出力が「False」(=OFF)となると、入力要素IN1の値は、「False」(=OFF)となる。
次にファンクションブロックFB0、FB1、および、FB2についての詳細な説明を行う。ファンクションブロックFB0は、入力データ134の転送時間を計測するためのプログラムであり、ユーザプログラム124に含まれる命令に相当する。変数「ChangeTrigger」が「True」(=ON)になったことに基づいて、有効を示す信号「True」(=ON)がファンクションブロックFB1の入力部に入力される。このことに基づいて、ファンクションブロックFB0は、PIO方式による第1転送時間T11と、DMA方式による第2転送時間T12との計測を開始する。
ファンクションブロックFB1は、転送方式を選択するためのプログラムであり、ユーザプログラム124に含まれる命令に相当する。ファンクションブロックFB0により計測された第1転送時間T11が、第2転送時間T12よりも長いことに基づいて、有効を示す信号「True」(=ON)がファンクションブロックFB1の入力部に入力される。このことに基づいて、ファンクションブロックFB1は、現在の転送方式がPIO方式M1の場合に、DMA方式M2を選択する。なお、ファンクションブロックFB1は、現在の転送方式がDMA方式M2の場合は他の方式を選択することなく、現在の転送方式の設定を維持する。
ファンクションブロックFB2は、転送方式を選択するためのプログラムであり、ユーザプログラム124に含まれる命令に相当する。ファンクションブロックFB0により計測された第1転送時間T11が、第2転送時間T12よりも短いことに基づいて、有効を示す信号「True」(=ON)がファンクションブロックFB2の入力部に入力される。このことに基づいて、ファンクションブロックFB2は、現在の転送方式がDMA方式M2の場合に、PIO方式M1を選択する。なお、ファンクションブロックFB1は、現在の転送方式がPIO方式M1の場合は他の方式を選択することなく、現在の転送方式の設定を維持する。
出力要素OUT0~OUT2の値は、それぞれ、関連付けられているファンクションブロックの出力値に応じて変化する。出力要素OUT0には、変数「SettingTrigger」が割付けられている。また、出力要素OUT0は、ファンクションブロックFB0の出力に関連付けられている。その結果、出力要素OUT0の値は、出力の値に応じて変化する。
出力要素OUT1には、変数「Done0」が割付けられている。また、出力要素OUT1は、ファンクションブロックFB1の出力に関連付けられている。その結果、出力要素OUT1の値は、ファンクションブロックFB1の出力の値に応じて変化する。
出力要素OUT2には、変数「Done1」が割付けられている。また、出力要素OUT2は、ファンクションブロックFB2の出力に関連付けられている。その結果、出力要素OUT2の値は、ファンクションブロックFB2の出力の値に応じて変化する。
以上のようにして、計測データ(例えば、計測時間)に基づいて、ファンクションブロックFB1よりDMA方式が選択され、ファンクションブロックFB2によりPIO方式が選択される。
<第3の実施の形態>
以下、本開示に係る第3の実施の形態について説明する。第3の実施の形態に係るPLC1aは、前述の実施の形態に係るPLC1と一部が異なる構成であり残りは同一の構成を用いて実現される。したがって、同一の構成の説明は繰り返さない。以下、異なる構成と処理とについて説明する。
第1の実施の形態では、制御装置100は、予め定められた条件が満たされたことに応答して、転送方式を選択した。これに対して、第3の実施の形態では、ユーザからの指示に応答して、転送方式を選択する。
[PLC1aの装置構成]
図10は、第2の実施の形態に係るPLC1aの要部構成を示す模式図である。PLC1aは、典型的には、制御装置100と、1または複数の機能ユニット200と、サポート装置300とから構成される。サポート装置300は、制御装置100と電気的に接続され、制御装置100により計測された計測データを受け付ける。サポート装置300は、表示部310を含み、計測データに基づく画像を表示する。表示部310に表示される画像については後述する。
図11を参照して、ユーザからの指示に応答して、転送方式を選択可能とする機能について説明する。図11は、ユーザからの指示に応答して、入力データ134の転送方式を選択する機能を説明する機能ブロック図である。演算処理部110は計測部116、選択部118およびユーザプログラム124を含む。計測部116および選択部118の機能は、例えばシステムプログラム122によって実現される。演算処理部110の計測部116は、計測データをサポート装置300に送信する。計測データを受信したサポート装置300は、表示部310に計測データに基づく画像を表示する。
演算処理部110の選択部118は、サポート装置300を操作するユーザからの指示に基づいて、転送方式を選択可能とする。より具体的には、選択部118は、サポート装置300における表示部310に計測データに基づく画像を表示する。サポート装置300は、表示部310に表示された画像をみたユーザが選択した転送方式についての選択指示を選択部118に送信する。選択部118は、選択指示に基づいて転送方式を選択する。これにより、PLC1は、システムの運用中にデータ量に応じた最適な転送方式を選択できる。より具体的には、PLC1は、システム運用中に、入力データ134をバッファ132から記憶部114に転送する時間が短い転送方式の選択を指示するユーザからの指示に応答して転送方式を選択できる。また、PLC1は、IOリフレッシュ処理に要する時間を短縮できる。また、PLC1は、IOリフレッシュ処理における処理時間の短縮により、IOリフレッシュ処理以外でプライマリ周期タスクにおいて実行される処理(例えば、ユーザプログラムによる処理)を増やすことができる。
[計測データに基づく画像]
図12および図13を参照して、サポート装置300の表示部310に表示される画像について説明する。より具体的には、第1転送方式(例えば、PIO方式)による転送時間を含む計測データに基づく画像と、第2転送方式(例えば、DMA方式)による転送時間を含む計測データに基づく画像とについて説明する。図12は、第1転送方式による転送時間を含む計測データに基づいて生成された画像である。図13は、第2転送方式による転送時間を含む計測データに基づいて生成された画像である。
図12を参照して、第1画像80は、演算処理部110が第1転送方式による転送を例えば、約2,000回実測した結果を表わす画像である。第1画像80は、第1表示領域81と第2表示領域82とを含む。第1表示領域81には、タスク実行時間(Task Execution Time)を表わす像が含まれる。
タスク実行時間の全体の時間は、図2または図7を用いて説明したプライマリ周期タスク1221の制御周期T1に対応する時間である。すなわち、タスク実行時間は、少なくとも、IOリフレッシュ処理を含む時間を表わす。より具体的には、タスク実行時間は、あるデータ量(例えば、50KB)がバッファ132に格納されている場合に、入力データ134の転送時間を複数回計測したときに、計測データのうち最も転送時間が短い最小転送時間(Min)が表示される。最小転送時間は、例えば400μsecである。また、複数回計測したときの計測データの平均転送時間(Average)が表示される。平均転送時間は、例えば450μsecである。さらに、計測データのうち、最も転送時間が長い最大転送時間(Max)が表示される。最大転送時間は、例えば550μsecである。設定時間(Set period)は、制御周期T1に対応する時間であり、通信データ20の転送において許容される最大の時間(例えば、2,000μsec)を表わす。
このように、サポート装置300の表示部310は、通信データ20(例えば、入力データ134)の転送において許容される最大の時間と、PIO方式により入力データ134が転送されたときに実測された時間とを表示する。実測された時間は、例えば最小転送時間、平均転送時間および最大転送時間の少なくともいずれかである。サポート装置300は、計測データに基づいて、通信データ20の転送において許容される最大の時間と、PIO方式により通信データが転送されたときに実測された転送時間とを比較可能な第1画像80を表示部310に表示する。
第2表示領域82は、縦軸が時間(μsec)、横軸が実測回数(回)を表わす。第2表示領域82は、転送時間を複数回計測したときの計測データを含む。実測値1001は、最小転送時間(例えば、400μsec)を表わす。実測値1002は、最大転送時間(例えば、550μsec)を表わす。平均線1003は、平均転送時間(例えば、450μsec)を表わす。第2表示領域82における最小転送時間を示す実測値1001、最大転送時間を示す実測値1002および平均転送時間を示す平均線1003は、第1表示領域81における最小転送時間、最大転送時間および平均転送時間に対応する値である。
PLC1は、サポート装置300の表示部310に第1転送方式による転送時間の平均転送時間を含む第1画像80を表示させることで、PIO方式で入力データ134を転送したときの平均時間を、ユーザが一目で把握できる画像を提供できる。また、PLC1は、サポート装置300の表示部310に第1転送方式による最小転送時間および最大転送時間と、複数の実測値とを含む第1画像80を表示することで、第1転送方式で入力データ134を転送したときの転送時間のばらつきの程度を、ユーザが一目で把握できる画像を提供できる。
なお、第2表示領域82における実測値1001、実測値1002および平均線1003は、他の実測値と識別できるような態様で表示してもよい。より具体的には、実測値1001、実測値1002および平均線1003を他の実測値と比べて、例えば、色、形および大きさ等の少なくともいずれかを他の実測値と比べて変化させてもよい。また、実測値1001、実測値1002および平均線1003を点滅させる表示を行ってもよい。
図13を参照して、第2画像90は、演算処理部110がDMA方式による転送時間を、例えば約2,000回実測した結果を表わす画像である。第2画像90は、第1表示領域91と第2表示領域92とを含む。第1表示領域91には、タスク実行時間(Task Execution Time)を表わす像が含まれる。
タスク実行時間の全体の時間は、例えば、図2または図7を用いて説明したプライマリ周期タスク1221の制御周期T1に対応する時間である。すなわち、タスク実行時間は、少なくとも、IOリフレッシュ処理を含む時間を表わす。より具体的には、タスク実行時間は、あるデータ量(例えば、50KB)バッファ132に格納されている場合に、入力データ134の転送時間を複数回計測したときに、計測データのうち最も転送時間が短い最小転送時間(Min)が表示される。最小転送時間は、例えば880μsecである。また、複数回計測したときの計測データの平均転送時間(Average)が表示される。平均転送時間は、例えば900μsecである。さらに、計測データのうち、最も転送時間が長い最大転送時間(Max)が表示される。最大転送時間は、例えば920μsecである。設定時間(Set period)は、制御周期T1に対応する時間であり、通信データ20の転送において許容される最大の時間(例えば、2,000μsec)を表わす。
このように、サポート装置300の表示部310は、通信データ20(例えば、入力データ134)の転送において許容される最大の時間と、第2転送方式により入力データ134が転送されたときに実測された時間とを表示する。実測された時間は、例えば最小転送時間、平均転送時間および最大転送時間の少なくともいずれかである。このように、サポート装置300は、計測データに基づいて、通信データ20の転送において許容される最大の時間と、第2転送方式により通信データが転送されたときに実測された転送時間とを比較可能な画像を表示部310に表示する。
第2表示領域92は、縦軸が時間(μsec)、横軸が実測回数(回)を表わす。第2表示領域92は、転送時間を複数回計測したときの計測データを含む。実測値1101は、最小転送時間(例えば、880μsec)を表わす。実測値1102は、最大転送時間(例えば、920μsec)を表わす。平均線1103は、平均転送時間(例えば、900μsec)を表わす。第2表示領域92における最小転送時間を示す実測値1101、最大転送時間を示す実測値1102および平均転送時間を示す平均線1103は、第1表示領域91における最小転送時間、最大転送時間および平均転送時間に対応する値である。
PLC1は、サポート装置300の表示部310に第2転送方式による転送時間の平均転送時間を含む第2画像90を表示させることで、第2転送方式により入力データ134を転送したときの平均時間を、ユーザが一目で把握できる画像を提供できる。また、PLC1は、サポート装置300の表示部310に第2転送方式による最小転送時間および最大転送時間と、複数の実測値とを含む第2画像90を表示することで、第2転送方式により入力データ134を転送したときの転送時間のばらつきの程度を、ユーザが一目で把握できる画像を提供できる。
なお、第2表示領域92における実測値1101、実測値1102および平均線1103は、他の実測値と識別できるような態様で表示してもよい。より具体的には、実測値1101、実測値1102および平均線1103を他の実測値と比べて、例えば、色、形および大きさ等の少なくともいずれかを他の実測値と比べて変化させてもよい。また、実測値1101、実測値1102および平均線1103を点滅させる表示を行ってもよい。
[サポート装置300の装置構成]
図14は、本実施の形態に係るPLC1を構成するサポート装置300のハードウェア構成例を示すブロック図である。図14を参照して、サポート装置300は、CPUまたはMPUなどのプロセッサ311と、光学ドライブ315と、主記憶装置306と、二次記憶装置308と、表示部310と、USB(Universal Serial Bus)コントローラ312と、ローカルネットワークコントローラ314と、入力部316と、表示部310とを含む。これらのコンポーネントはバス320を介して接続される。
プロセッサ311は、二次記憶装置308に格納された各種プログラムを読み出して、主記憶装置306に展開して実行することで、後述するような各種処理を実現する。プロセッサ311は、制御装置100から取得した計測データ326に基づいて、表示部310に表示する画像を生成する。
二次記憶装置308は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置308は、典型的には、ユーザプログラム124の作成、システム構成の定義、各種パラメータの設定などを行うための開発プログラム322と、各種変数を指定するためのパラメータ設定ツール324と、制御装置100から取得した計測データ326とを含む。また、二次記憶装置308には、OSおよび他の必要なプログラムが格納されてもよい。サポート装置300は、光学ドライブ315を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体305(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られて二次記憶装置308などにインストールされてもよい。
サポート装置300で実行される各種プログラムは、コンピュータ読取可能な記録媒体305を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置300が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
表示部310は、プロセッサ311が二次記憶装置308に格納された計測データ326に基づいて生成した、第1画像80および第2画像90のうちの少なくともいずれかを表示する。
USBコントローラ312は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。ローカルネットワークコントローラ314は、任意ネットワークを介した他の装置との間のデータの遣り取りを制御する。
入力部316は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部310は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ311からの処理結果などを出力する。
図3には、プロセッサ311がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
[第2の実施の形態における転送方式の選択処理]
図15は、演算処理部110が、ユーザからの指示に応答して、転送方式を選択する処理を表わすフローチャートである。ステップS1006において、演算処理部110は、第1転送時間および第2転送時間と、第1転送時間のばらつき度合いおよび第2転送時間のばらつき度合いとを含む計測データを出力する。演算処理部110は、計測データをサポート装置300に出力する。
ステップS2001において、演算処理部110は、サポート装置300からのユーザからの指示を受け付けたか否かを判定する。演算処理部110は、ユーザからの指示を受け付けたと判定した場合には(ステップS2001においてYES)、制御をステップS2002に切替える。そうでない場合には(ステップS2001においてNO)、演算処理部110は、制御をステップS1003に切替えて、ユーザからの指示を受け付けるまで処理を継続する。なお、予め定められた時間を経過してもユーザからの指示が受け付けられなかった場合は、演算処理部110は、図15に示す転送方式の選択処理を終了する。
ステップS2002において、演算処理部110は、ユーザからの指示に応答して、複数の転送方式のうち、いずれかの転送方式を選択する。より具体的には、演算処理部110は、ユーザからの指示が第1転送方式を選択する指示である場合に、現在設定されている転送方式が第2転送方式のときは、第1転送方式を選択する。演算処理部110は、現在設定されている転送方式が第1転送方式の場合は、新たな転送方式の選択は行わずに、現在の方式の設定を継続させる。
<変形例>
第1および第2の実施の形態において、演算処理部110のプロセッサ112がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
第2の実施の形態において、PLC1は、制御装置100、機能ユニット200およびサポート装置300がそれぞれ別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成を採用してもよい。
第2の実施の形態において、第1画像80および第2画像90はそれぞれ別々に表示部310に表示される説明を行ったが、第1画像80および第2画像90を並べて表示部310に表示してもよい。
第2の実施の形態において、第1画像80および第2画像90において説明した最小転送時間、最大転送時間、平均転送時間、設定時間等の各種の値は一例であり、他の値であってもよい。
<付記>
以上のように、本実施形態は以下のような開示を含む。
[構成1]
1または複数の機能ユニット(200)と、
前記1または複数の機能ユニット(200)間で巡回的に伝送される通信データ(20)を遣り取りする制御装置(100)とを備え、
前記制御装置(100)は、
前記通信データ(20)を一時的に格納する第1記憶部(132)を有する通信回路(130)と、
複数の転送方式のいずれかに従って、前記第1記憶部(132)から転送される前記通信データ(20)を格納する第2記憶部(114)と、
前記第2記憶部(114)に格納された前記通信データ(20)を用いて、演算処理を実行する演算処理部(110)と、
前記演算処理部(110)と前記通信回路(130)とに接続されたDMAコントローラ(140)とを備え、
前記複数の転送方式は、前記演算処理部(110)が前記通信データ(20)を転送する第1転送方式と、前記DMAコントローラ(140)が前記通信データ(20)を転送する第2転送方式とを含み、
前記演算処理部(110)は、ユーザからの指示に従って、または、予め定められた条件に従って、前記第1転送方式と前記第2転送方式とのうち、いずれかの転送方式を選択する、制御システム。
[構成2]
前記演算処理部(110)は、
前記第1転送方式により前記通信データ(20)が前記第2記憶部(114)に転送される時間と、該転送される時間および前記演算処理が実行される時間とのうちのいずれかの第1転送時間と、前記第2転送方式により前記通信データ(20)が前記第2記憶部(114)に転送される時間と、該転送される時間および前記演算処理が実行される時間とのうちのいずかの第2転送時間とを計測し、
前記第1転送時間と第2転送時間とを含む計測データを出力する、構成1に記載の制御システム。
[構成3]
前記演算処理部(110)は、前記制御装置(100)への電力の供給が開始された場合、または、前記制御装置(100)に接続された前記1または複数の機能ユニット(200)の構成が変更された場合に、前記第1転送時間と前記第2転送時間とを計測する、構成2に記載の制御システム。
[構成4]
前記計測データは、前記第1転送方式による前記通信データ(20)における転送が、複数回実行されたときの前記第1転送時間における平均第1転送時間と、前記第2転送方式による前記通信データ(20)における転送が、複数回実行されたときの前記第2転送時間における平均第2転送時間とを含み、
前記演算処理部(110)は、前記平均第1転送時間で転送が実行される前記第1転送方式と、前記平均第2転送時間で転送が実行される前記第2転送方式とのうち、短い時間で転送が実行される転送方式を選択可能する、構成2または3に記載の制御システム。
[構成5]
前記計測データは、前記第1転送方式による前記通信データ(20)における転送が、複数回実行されたときの前記第1転送時間におけるばらつき度合いと、前記第2転送方式による前記通信データ(20)における転送が、複数回実行されたときの前記第2転送時間におけるばらつき度合いとを含み、
前記演算処理部(110)は、前記第1転送時間におけるばらつき度合いで転送が実行される第1転送方式と、前記第2転送時間におけるばらつき度合いで転送が実行される第2転送方式のうち、小さいばらつきの度合いで転送が実行される転送方式を選択可能とする、構成2または3に記載の制御システム。
[構成6]
前記計測データを受け付けるサポート装置(300)をさらに備え、
前記サポート装置(300)は、受け付けた前記計測データに基づいて、前記通信データ(20)の転送において許容される最大の時間と、前記第1転送方式および前記第2転送方式のうち、いずれかの転送方式により前記通信データ(20)が転送されたときに実測された時間とを比較可能な画像を表示する表示部(310)を含む、構成2~5のいずれか1項に記載の制御システム。
[構成7]
1または複数の機能ユニット(200)間で巡回的に伝送される通信データ(20)を遣り取りする制御装置(100)であって、
前記通信データ(20)を一時的に格納する第1記憶部(132)を有する通信回路(130)と、
複数の転送方式のいずれかに従って、前記第1記憶部(132)から転送される前記通信データ(20)を格納する第2記憶部(114)と、
前記第2記憶部(114)に格納された前記通信データ(20)を用いて、演算処理を実行する演算処理部(110)と、
前記演算処理部(110)と前記通信回路(130)とに接続されたDMAコントローラ(140)とを備え、
前記複数の転送方式は、前記演算処理部(110)が前記通信データ(20)を転送する第1転送方式と、前記DMAコントローラ(140)が前記通信データ(20)を転送する第2転送方式とを含み、
前記演算処理部(110)は、ユーザからの指示に従って、または、予め定められた条件に従って、前記第1転送方式と前記第2転送方式とのうち、いずれかの転送方式を選択する、制御装置。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
2 ローカルバス、20 通信データ、80 第1画像、81,91 第1表示領域、82,92 第2表示領域、90 第2画像、100 制御装置、110 演算処理部、112,311 プロセッサ、114 記憶部、116 計測部、117 判定部、118 選択部、120 ストレージ、122 システムプログラム、124 ユーザプログラム、126 コンフィギュレーション、130 通信回路、132 バッファ、134 入力データ、135 出力データ、140,312 コントローラ、160 高精度タイマ、200 機能ユニット、210 通信処理部、300 サポート装置、301 第1推移線、302 第2推移線、303 第3推移線、304 第4推移線、305 記録媒体、306 主記憶装置、308 二次記憶装置、310 表示部、314 ローカルネットワークコントローラ、315 光学ドライブ、316 入力部、320 バス、322 開発プログラム、324 パラメータ設定ツール、1001,1002,1101,1102 実測値、1003,1103 平均線、FB0,FB1,FB2 ファンクションブロック、IN0,IN1 入力要素、OUT0,OUT1,OUT2 出力要素、Ta,Tb 周期、T1,T2 制御周期、T11 第1転送時間、T12 第2転送時間。

Claims (5)

  1. 1または複数の機能ユニットと、
    前記1または複数の機能ユニット間で巡回的に伝送される通信データを遣り取りする制御装置とを備え、
    前記制御装置は、
    前記通信データを一時的に格納する第1記憶部を有する通信回路と、
    複数の転送方式のいずれかに従って、前記第1記憶部から転送される前記通信データを格納する第2記憶部と、
    前記第2記憶部に格納された前記通信データを用いて、ユーザプログラムに従って、演算処理を実行する演算処理部と、
    前記演算処理部と前記通信回路とに接続されたDMAコントローラとを備え、
    前記複数の転送方式は、前記演算処理部が前記通信データを転送する第1転送方式と、前記DMAコントローラが前記通信データを転送する第2転送方式とを含み、
    前記演算処理部は、予め定められた条件に従って、前記第1転送方式と前記第2転送方式とのうち、いずれかの転送方式を選択し
    前記演算処理部は、
    前記第1転送方式により前記通信データが前記第2記憶部に転送される時間と、該転送される時間および前記演算処理が実行される時間とのうちのいずれかの第1転送時間と、前記第2転送方式により前記通信データが前記第2記憶部に転送される時間と、該転送される時間および前記演算処理が実行される時間とのうちのいずれかの第2転送時間とを計測し、
    前記第1転送時間と前記第2転送時間とを含む計測データを出力し、
    前記計測データは、前記第1転送方式による前記通信データにおける転送が、複数回実行されたときの前記第1転送時間におけるばらつき度合いと、前記第2転送方式による前記通信データにおける転送が、複数回実行されたときの前記第2転送時間におけるばらつき度合いとを含み、
    前記演算処理部は、前記第1転送時間におけるばらつき度合いで転送が実行される第1転送方式と、前記第2転送時間におけるばらつき度合いで転送が実行される第2転送方式のうち、小さいばらつきの度合いで転送が実行される転送方式を選択可能である、制御システム。
  2. 1または複数の機能ユニットと、
    前記1または複数の機能ユニット間で巡回的に伝送される通信データを遣り取りする制御装置とを備え、
    前記制御装置は、
    前記通信データを一時的に格納する第1記憶部を有する通信回路と、
    複数の転送方式のいずれかに従って、前記第1記憶部から転送される前記通信データを格納する第2記憶部と、
    前記第2記憶部に格納された前記通信データを用いて、ユーザプログラムに従って、演算処理を実行する演算処理部と、
    前記演算処理部と前記通信回路とに接続されたDMAコントローラとを備え、
    前記複数の転送方式は、前記演算処理部が前記通信データを転送する第1転送方式と、前記DMAコントローラが前記通信データを転送する第2転送方式とを含み、
    前記演算処理部は、予め定められた条件に従って、前記第1転送方式と前記第2転送方式とのうち、いずれかの転送方式を選択し
    前記演算処理部は、
    前記第1転送方式により前記通信データが前記第2記憶部に転送される時間と、該転送される時間および前記演算処理が実行される時間とのうちのいずれかの第1転送時間と、前記第2転送方式により前記通信データが前記第2記憶部に転送される時間と、該転送される時間および前記演算処理が実行される時間とのうちのいずれかの第2転送時間とを計測し、
    前記第1転送時間と前記第2転送時間とを含む計測データを出力し、
    前記計測データを受け付けるサポート装置をさらに備え、
    前記サポート装置は、受け付けた前記計測データに基づいて、前記通信データの転送において許容される最大の時間と、前記第1転送方式および前記第2転送方式のうち、いずれかの転送方式により前記通信データが転送されたときに実測された時間とを比較可能な画像を表示する表示部を含む、制御システム。
  3. 前記演算処理部は、前記制御装置への電力の供給が開始された場合、または、前記制御装置に接続された前記1または複数の機能ユニットの構成が変更された場合に、前記第1転送時間と前記第2転送時間とを計測する、請求項1または2に記載の制御システム。
  4. 前記計測データは、前記第1転送方式による前記通信データの転送が、複数回実行されたときの前記第1転送時間における平均第1転送時間と、前記第2転送方式による前記通信データの転送が、複数回実行されたときの前記第2転送時間における平均第2転送時間とを含み、
    前記演算処理部は、前記平均第1転送時間で転送が実行される前記第1転送方式と、前記平均第2転送時間で転送が実行される前記第2転送方式とのうち、短い時間で転送が実行される転送方式を選択可能する、請求項1~3のいずれか1項に記載の制御システム。
  5. 1または複数の機能ユニット間で巡回的に伝送される通信データを遣り取りする制御装置であって、
    前記通信データを一時的に格納する第1記憶部を有する通信回路と、
    複数の転送方式のいずれかに従って、前記第1記憶部から転送される前記通信データを格納する第2記憶部と、
    前記第2記憶部に格納された前記通信データを用いて、ユーザプログラムに従って、演算処理を実行する演算処理部と、
    前記演算処理部と前記通信回路とに接続されたDMAコントローラとを備え、
    前記複数の転送方式は、前記演算処理部が前記通信データを転送する第1転送方式と、前記DMAコントローラが前記通信データを転送する第2転送方式とを含み、
    前記演算処理部は、予め定められた条件に従って、前記第1転送方式と前記第2転送方式とのうち、いずれかの転送方式を選択し
    前記演算処理部は、
    前記第1転送方式により前記通信データが前記第2記憶部に転送される時間と、該転送される時間および前記演算処理が実行される時間とのうちのいずれかの第1転送時間と、前記第2転送方式により前記通信データが前記第2記憶部に転送される時間と、該転送される時間および前記演算処理が実行される時間とのうちのいずれかの第2転送時間とを計測し、
    前記第1転送時間と前記第2転送時間とを含む計測データを出力し、
    前記計測データは、前記第1転送方式による前記通信データにおける転送が、複数回実行されたときの前記第1転送時間におけるばらつき度合いと、前記第2転送方式による前記通信データにおける転送が、複数回実行されたときの前記第2転送時間におけるばらつき度合いとを含み、
    前記演算処理部は、前記第1転送時間におけるばらつき度合いで転送が実行される第1転送方式と、前記第2転送時間におけるばらつき度合いで転送が実行される第2転送方式のうち、小さいばらつきの度合いで転送が実行される転送方式を選択可能である、制御装置。
JP2018216587A 2018-11-19 2018-11-19 制御システムおよび制御装置 Active JP7192427B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018216587A JP7192427B2 (ja) 2018-11-19 2018-11-19 制御システムおよび制御装置
EP19886224.5A EP3885922A4 (en) 2018-11-19 2019-10-24 CONTROL SYSTEM AND CONTROL DEVICE
PCT/JP2019/041736 WO2020105358A1 (ja) 2018-11-19 2019-10-24 制御システムおよび制御装置
CN201980057878.XA CN112673362A (zh) 2018-11-19 2019-10-24 控制系统以及控制装置
US17/286,487 US20210389741A1 (en) 2018-11-19 2019-10-24 Control system and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018216587A JP7192427B2 (ja) 2018-11-19 2018-11-19 制御システムおよび制御装置

Publications (2)

Publication Number Publication Date
JP2020088479A JP2020088479A (ja) 2020-06-04
JP7192427B2 true JP7192427B2 (ja) 2022-12-20

Family

ID=70774109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018216587A Active JP7192427B2 (ja) 2018-11-19 2018-11-19 制御システムおよび制御装置

Country Status (5)

Country Link
US (1) US20210389741A1 (ja)
EP (1) EP3885922A4 (ja)
JP (1) JP7192427B2 (ja)
CN (1) CN112673362A (ja)
WO (1) WO2020105358A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025544B2 (en) * 2019-06-07 2021-06-01 Intel Corporation Network interface for data transport in heterogeneous computing environments

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016194823A (ja) 2015-03-31 2016-11-17 オムロン株式会社 制御装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512181A (ja) * 1991-07-01 1993-01-22 Nec Eng Ltd 電子計算機
JPH11353269A (ja) * 1998-06-04 1999-12-24 Matsushita Electric Ind Co Ltd データ転送判別装置及びデータ転送判別方法
US7072996B2 (en) * 2001-06-13 2006-07-04 Corrent Corporation System and method of transferring data between a processing engine and a plurality of bus types using an arbiter
US7689732B2 (en) * 2006-02-24 2010-03-30 Via Technologies, Inc. Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels
JP2010282352A (ja) * 2009-06-03 2010-12-16 Renesas Electronics Corp Dma転送制御装置
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP6900691B2 (ja) 2017-02-07 2021-07-07 オムロン株式会社 制御装置および通信装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016194823A (ja) 2015-03-31 2016-11-17 オムロン株式会社 制御装置

Also Published As

Publication number Publication date
EP3885922A1 (en) 2021-09-29
US20210389741A1 (en) 2021-12-16
WO2020105358A1 (ja) 2020-05-28
CN112673362A (zh) 2021-04-16
EP3885922A4 (en) 2022-08-17
JP2020088479A (ja) 2020-06-04

Similar Documents

Publication Publication Date Title
US10761515B2 (en) Control system for controlling control object and control device for linking control applications in control system
JP4905597B1 (ja) コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体
JP6406466B1 (ja) 制御装置、制御方法および制御プログラム
EP3379358B1 (en) Control system, control device, control program, and control method
US11301294B2 (en) Control device, control method, and control program
JP2018173883A (ja) 制御装置、制御プログラム、制御システム、および制御方法
JP2016110458A (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
EP2533114A1 (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
US11231700B2 (en) Communication system, communication method, and information storage medium
JP7192427B2 (ja) 制御システムおよび制御装置
JP7067406B2 (ja) 制御システム、制御装置および制御方法
JP6502908B2 (ja) スレーブ機器
JP6772748B2 (ja) 演算装置および制御システム
EP3764175B1 (en) Control device and control system
WO2019176287A1 (ja) 制御装置、制御システム、制御方法、および、制御プログラム
WO2021084771A1 (ja) 制御システム、制御システムの通信制御方法、および制御装置
JP2019215818A (ja) 制御装置およびその制御方法
JP6320151B2 (ja) エンコーダと割り当てられた処理装置との間でデータを伝送するための方法及び当該方法のためのエンコーダ
JP6969454B2 (ja) 制御装置、制御方法、および、制御プログラム
US12009914B2 (en) Control system, communication control method of control system, and control device
JP7230989B2 (ja) 通信システム、通信方法、及びプログラム
JP2020071520A (ja) コントローラおよびコントローラの備える通信制御部の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221121

R150 Certificate of patent or registration of utility model

Ref document number: 7192427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150