JP6516874B2 - プログラマブルコントローラ及び同期制御プログラム - Google Patents

プログラマブルコントローラ及び同期制御プログラム Download PDF

Info

Publication number
JP6516874B2
JP6516874B2 JP2017559988A JP2017559988A JP6516874B2 JP 6516874 B2 JP6516874 B2 JP 6516874B2 JP 2017559988 A JP2017559988 A JP 2017559988A JP 2017559988 A JP2017559988 A JP 2017559988A JP 6516874 B2 JP6516874 B2 JP 6516874B2
Authority
JP
Japan
Prior art keywords
external device
programmable controller
received
response packet
device data
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
JP2017559988A
Other languages
English (en)
Other versions
JPWO2017119100A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2017119100A1 publication Critical patent/JPWO2017119100A1/ja
Application granted granted Critical
Publication of JP6516874B2 publication Critical patent/JP6516874B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • 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/056Programming the PLC
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • 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/12Plc mp multi processor system
    • G05B2219/1211Exchange control, I-O data to other plc, using separate synchronizing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13093Using functions like arithmetic timers in program
    • 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/15077Modular structure, memory tables hold data about type of connected apparatus and data format
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)

Description

本出願は、産業用機械である外部機器を制御するプログラマブルコントローラ及び同期制御プログラムに関する。
従来、工場で使用される産業用機械である複数の外部機器を制御するプログラマブルコントローラは、複数の外部機器から受信するデータの同期処理を実行する機能を備える(例えば、特許文献1参照)。
特開2005−293569号公報
従来の技術では、デバイスデータの同期処理を失敗した場合に備えて、同期処理の失敗を修正するためのラダープログラムを準備する必要がある。
本発明は上記に鑑みてなされたものであって、同期処理の失敗を修正するためのラダープログラムを準備する必要がなく、同期処理の失敗を簡易に防止できるプログラマブルコントローラ及び同期制御プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数の外部機器に対し周期的に制御を行うプログラマブルコントローラであって、一時メモリと、ワーキングメモリと、制御部とを備える。制御部は、同期制御の対象となる外部機器のそれぞれに対して当該外部機器の制御に用いるデバイスデータの送信を要求する要求パケットを送信し、要求パケットに対する応答として外部機器から受信する応答パケットからデバイスデータを取得して、取得したデバイスデータを一時メモリに格納し、同期制御の対象となる外部機器から、同一の制御周期内で送信済みの要求パケットに対応する応答パケットがそれぞれ受信されることを条件として、一時メモリに記憶されているデバイスデータをワーキングメモリに書き込むことを特徴とする。
本発明によれば、プログラマブルコントローラにおいて、同期処理の失敗を修正するためのラダープログラムを準備する必要がなく、同期処理の失敗を簡易に防止できる。
実施の形態1に係るプログラマブルコントローラの機能構成の一例を示す図 実施の形態1に係るプログラマブルコントローラの処理の一例を示すフローチャート 実施の形態2に係るプログラマブルコントローラの処理の一例を示すフローチャート 実施の形態2に係るプログラマブルコントローラの処理の一例を示すフローチャート 実施の形態3に係るプログラマブルコントローラの機能構成の一例を示す図 実施の形態3に係るプログラマブルコントローラの処理の一例を示すフローチャート 実施の形態3に係るプログラマブルコントローラの処理の一例を示すフローチャート 実施の形態に係るプログラマブルコントローラのハードウェア構成の一例を示す図
実施の形態1.
以下、本発明に係る実施の形態について、図面を参照して説明する。なお、この実施の形態により、本発明が限定されるものではない。
図1は、実施の形態1に係るプログラマブルコントローラの機能構成の一例を示す図である。図1に示すように、実施の形態1に係るプログラマブルコントローラ10は、ネットワーク1を介して、外部機器20及び外部機器30との間で実行されるデータの送受信に関する通信が可能な状態で接続される。ネットワーク1は、インターネット、イーサネット(登録商標)のようなLAN(Local Area Network)を含んでよい。
プログラマブルコントローラ10は、プログラムメモリ11、一時メモリ12、ワーキングメモリ13、制御部14、及び通信制御部15を含む。図1は、実施の形態1に係るプログラマブルコントローラ10を説明する上で必要となる機能部のみを示している。
プログラムメモリ11は、プログラマブルコントローラ10における各種の制御を実現するためのプログラムを記憶する。プログラムメモリ11は、例えば、同期制御プログラム11aを記憶する。同期制御プログラム11aは、同期制御の対象となる外部機器の制御に用いる制御データであるデバイスデータを同期させる機能を提供できる。同期制御プログラム11aが提供する機能の中には、通信可能に接続された外部機器20及び外部機器30からデバイスデータを取り込む処理を含み、周期的に実行されるシーケンススキャン(以下、スキャンという)において、以下の各処理を実行するための機能が含まれる。すなわち、同期制御プログラム11aが提供する機能の中には、実行中の同一のスキャン内で、同期制御の対象となる外部機器20及び外部機器30に対してデバイスデータを要求する要求パケットを送信する機能、要求パケットに対する応答として外部機器20及び外部機器30から受信する応答パケットからデバイスデータを取得して、取得したデバイスデータを一時メモリ12に格納する機能、並びに同期制御の対象となる外部機器20及び外部機器30に対して同一のスキャン内で送信済みの要求パケットに対応する応答パケットが、当該外部機器20及び当該外部機器30のそれぞれから受信されることを条件として、一時メモリ12に一時的に記憶されているデバイスデータを一時メモリ12から読み込んでワーキングメモリ13に書き込む機能が含まれる。同期制御プログラム11aが提供する機能によって、同期制御の対象となる外部機器20のデバイスデータが一時メモリ12からワーキングメモリ13に反映されるタイミングと、同じく同期制御の対象となる外部機器30のデバイスデータが一時メモリ12からワーキングメモリ13に反映されるタイミングとが同期される。
一時メモリ12は、デバイスデータ12aを一時的に記憶する。デバイスデータ12aは、外部機器20及び外部機器30から受信した応答パケットに格納されているデバイスデータに対応し、制御部14により格納される。ワーキングメモリ13は、デバイスデータ13aを記憶する。デバイスデータ13aは、一時メモリ12に記憶されているデバイスデータ12aに対応し、制御部14により書き込まれる。ワーキングメモリ13は、制御部14の処理結果を一時的に記憶する作業領域としても利用されてよい。一時メモリ12及びワーキングメモリ13は、外部機器20から受信したデバイスデータを格納する記憶領域と、外部機器30から受信したデバイスデータを格納する記憶領域とに個別に分割されていてもよい。記憶領域の分割は、仮想的あるいは物理的に行われてよい。
制御部14は、プログラムメモリ11に記憶されている各種のプログラムを実行することにより、プログラマブルコントローラ10における各種の制御を実行する。すなわち、制御部14は、プログラマブルコントローラ10の各部から取得したデータを参照しながら、各種のプログラムに含まれる命令を実行することによって、プログラマブルコントローラ10における各種の制御を実行する。
実施の形態1において、制御部14は、同期制御プログラム11aを実行することにより、同期制御の対象となる外部機器のデバイスデータを同期させる処理を実現する。具体的には、制御部14は、スキャンの実行中、同期制御の対象となる外部機器20及び外部機器30に対してデバイスデータを要求する要求パケットを送信する。すなわち、実行中の同一のスキャン内で、制御部14から同期制御の対象となる外部機器20及び外部機器30に対し、要求パケットがそれぞれ送信される。制御部14は、外部機器20又は外部機器30から応答パケットを受信すると、受信した応答パケットからデバイスデータを取得し、取得したデバイスデータを一時メモリ12に逐次格納する。制御部14は、スキャンの最後の処理であるEND処理に移ると、同期制御の対象となる外部機器20及び外部機器30に対して同一のスキャン内で送信済みの要求パケットに対応する応答パケットを、当該外部機器20及び当該外部機器30のそれぞれから受信したかを判定する。制御部14は、同期制御の対象となる外部機器20及び外部機器30の少なくとも一方から、応答パケットを受信済みではない場合、END処理を終了して次のスキャンに移行するが、外部機器20及び外部機器30から応答パケットを受信完了するまで、引き続き、送信済みの要求パケットに対する応答パケットの受信判定を繰り返す。制御部14は、同期制御の対象となる外部機器20及び外部機器30の双方から、応答パケットを受信完了している場合、外部機器20のデバイスデータ及び外部機器30のデバイスデータを一時メモリ12から読み込んで、ワーキングメモリ13にそれぞれ書き込む。このように、制御部14は、同期制御プログラム11aを実行することにより、外部機器20のデバイスデータを一時メモリ12からワーキングメモリ13に反映させるタイミングと、外部機器30のデバイスデータを一時メモリ12からワーキングメモリ13に反映させるタイミングとを同期させる処理を実現する。
通信制御部15は、外部機器20及び外部機器30との間で実行されるデータの送受信を制御する。
図2は、実施の形態1に係るプログラマブルコントローラ10の処理の一例を示すフローチャートである。図2に示す処理は、制御部14が、プログラムメモリ11に記憶されている同期制御プログラム11aを実行することにより実現される。
図2に示すように、プログラマブルコントローラ10は、スキャンの実行中、同期制御の対象となる外部機器20及び外部機器30に要求パケットを送信する(ステップS101)。
続いて、プログラマブルコントローラ10は、外部機器20及び外部機器30から受信した応答パケットに格納されているデバイスデータを一時メモリ12に格納する(ステップS102)。プログラマブルコントローラ10は、応答パケットの受信に応じて、逐次デバイスデータを一時メモリ12に格納する。
続いて、プログラマブルコントローラ10は、スキャンの最後の処理であるEND処理時であるかを判定する(ステップS103)。
プログラマブルコントローラ10は、判定の結果、END処理時ではない場合(ステップS103,No)、上記ステップS102の手順に戻る。
一方、プログラマブルコントローラ10は、判定の結果、END処理時である場合(ステップS103,Yes)、外部機器20及び外部機器30から、S101で送信した要求パケットに対応する応答パケットを受信済みであるかを判定する(ステップS104)。
プログラマブルコントローラ10は、判定の結果、外部機器20及び外部機器30の双方から応答パケットを受信済みである場合(ステップS104,Yes)、一時メモリ12に記憶されているデバイスデータをワーキングメモリ13に書き込み(ステップS105)、END処理を終了させて次のスキャンへ移行する(ステップS106)。
続いて、プログラマブルコントローラ10は、デバイスデータの同期処理を継続するかを判定する(ステップS107)。プログラマブルコントローラ10は、例えば、異常処理が発生した場合、若しくはユーザからの停止指示があった場合を除き、同期処理を継続する旨の判定を行う。
プログラマブルコントローラ10は、判定の結果、デバイスデータの同期処理を継続する場合(ステップS107,Yes)、上記ステップS101の手順に戻る。
一方、プログラマブルコントローラ10は、判定の結果、デバイスデータの同期処理を継続しない場合(ステップS107,No)、図2に示す処理を終了する。
上記ステップS104において、プログラマブルコントローラ10は、判定の結果、外部機器20及び外部機器30の少なくとも一方から応答パケットを受信済みではない場合(ステップS104,No)、END処理を終了させて次のスキャンへ移行し(ステップS108)、上記ステップS102の手順に戻る。
実施の形態1において、プログラマブルコントローラ10は、同期制御の対象となる外部機器20及び外部機器30から、同一のスキャン内で送信済みの要求パケットに対応する応答パケットを受信することを条件として、一時メモリ12に一時的に記憶されているデバイスデータを読み込んでワーキングメモリ13に書き込む。これにより、プログラマブルコントローラ10は、外部機器20のデバイスデータを一時メモリ12からワーキングメモリ13に反映させるタイミングと、外部機器30のデバイスデータを一時メモリ12からワーキングメモリ13に反映させるタイミングとを同期させることができる。このため、プログラマブルコントローラ10は、ラダープログラムを準備して同期処理の失敗を修正するよりも簡易に同期処理の失敗を防止できる。
また、実施の形態1において、プログラマブルコントローラ10は、同期制御の対象となる外部機器20のデバイスデータ、及び同期制御の対象となる外部機器30のデバイスデータの双方が一時メモリ12に格納された状態とならない限り、スキャンのEND処理時であっても、一時メモリ12からワーキングメモリ13へのデバイスデータの反映を行わないので、デバイスデータを確実に同期させることができる。
また、実施の形態1では、プログラマブルコントローラ10が、外部機器20及び外部機器30の2台の外部機器から受信するデバイスデータの同期制御を実行する例を説明したが、3台以上の外部機器から受信するデバイスデータについても同様に上述した実施の形態1に係る同期制御を実行できる。
実施の形態2.
実施の形態1では、プログラマブルコントローラ10は、スキャンのEND処理時に、同期制御の対象となる外部機器20及び外部機器30の少なくとも一方から応答パケットを受信済みではない場合、外部機器20及び外部機器30から応答パケットを受信完了するまで、引き続き、送信済みの要求パケットに対する応答パケットの受信判定を繰り返す処理の例を説明した。しかしながら、この例に限定されるものではなく、プログラマブルコントローラ10は、スキャンのEND処理時に、同期制御の対象となる外部機器20及び外部機器30の少なくとも一方から応答パケットを受信済みではない場合、実行中のスキャンを終了させずに、同一スキャン内で、送信済みの要求パケットに対する応答パケットの受信待機を継続するようにしてもよい。同期制御プログラム11aは、END処理を通信待ち状態として応答パケットの受信待機状態を保持する機能を提供でき、制御部14は、同期制御プログラム11aを実行することにより、END処理を通信待ち状態として応答パケットの受信待機状態を保持する処理を実現できる。
図3及び図4を用いて、実施の形態2に係るプログラマブルコントローラ10の処理の例を説明する。図3及び図4は、実施の形態2に係るプログラマブルコントローラ10の処理の例を示すフローチャートである。
図3に示すように、プログラマブルコントローラ10は、スキャンの実行中、同期制御の対象となる外部機器20及び外部機器30に要求パケットを送信する(ステップS201)。
続いて、プログラマブルコントローラ10は、外部機器20及び外部機器30から受信した応答パケットに格納されているデバイスデータを一時メモリ12に格納する(ステップS202)。プログラマブルコントローラ10は、応答パケットの受信に応じて、逐次デバイスデータを一時メモリ12に格納する。
続いて、プログラマブルコントローラ10は、スキャンの最後の処理であるEND処理時であるかを判定する(ステップS203)。
プログラマブルコントローラ10は、判定の結果、END処理時ではない場合(ステップS203,No)、上記ステップS202の手順に戻る。
一方、プログラマブルコントローラ10は、判定の結果、END処理時である場合(ステップS203,Yes)、外部機器20及び外部機器30から、S201で送信した要求パケットに対応する応答パケットを受信済みであるかを判定する(ステップS204)。
プログラマブルコントローラ10は、判定の結果、外部機器20及び外部機器30の双方から応答パケットを受信済みである場合(ステップS204,Yes)、既に、応答パケットの受信待機中であるかを判定する(ステップS205)。
プログラマブルコントローラ10は、判定の結果、応答パケットの受信待機中ではない場合(ステップS205,No)、一時メモリ12に記憶されているデバイスデータをワーキングメモリ13に書き込み(ステップS206)、END処理を終了させて次のスキャンへ移行する(ステップS207)。
続いて、プログラマブルコントローラ10は、デバイスデータの同期処理を継続するかを判定する(ステップS208)。プログラマブルコントローラ10は、例えば、異常処理が発生した場合、若しくはユーザからの停止指示があった場合を除き、同期処理を継続する旨の判定を行う。
プログラマブルコントローラ10は、判定の結果、デバイスデータの同期処理を継続する場合(ステップS208,Yes)、上記ステップS201の手順に戻る。
一方、プログラマブルコントローラ10は、判定の結果、デバイスデータの同期処理を継続しない場合(ステップS208,No)、図3に示す処理を終了する。
上記ステップS205において、プログラマブルコントローラ10は、判定の結果、応答パケットの受信待機中である場合(ステップS205,Yes)、応答パケットの受信待機状態を解除して(ステップS209)、上記ステップS206の手順に移る。
上記ステップS204において、プログラマブルコントローラ10は、判定の結果、外部機器20及び外部機器30の少なくとも一方から応答パケットを受信済みではない場合(ステップS204,No)、既に、応答パケットの受信待機中であるかを判定する(ステップS210)。
プログラマブルコントローラ10は、判定の結果、応答パケットの受信待機中ではない場合(ステップS210,No)、応答パケットの受信待機状態に移行して(ステップS211)、上記ステップS202の手順に戻る。これとは反対に、プログラマブルコントローラ10は、判定の結果、応答パケットの受信待機中である場合(ステップS210,Yes)、そのまま、上記ステップS202の手順に戻る。
実施の形態2において、プログラマブルコントローラ10は、同期制御の対象となる外部機器20及び外部機器30の双方から応答パケットを受信完了するまで、スキャンの最後の処理であるEND処理を通信待ち状態にして、送信済みの要求パケットに対する応答パケットの受信待機を継続するので、同一スキャン内でデバイスデータを同期させることができる。
実施の形態3.
実施の形態2では、プログラマブルコントローラ10は、同期制御の対象となる外部機器20及び外部機器30の双方から応答パケットを受信するまで、応答パケットの受信待機状態を保持する例を説明したが、この例に限定されるものではなく、要求パケットを送信してからの経過時間が許容時間内である場合に限定して、応答パケットの受信待機状態を保持してもよい。
図5は、実施の形態3に係るプログラマブルコントローラ10の機能構成の一例を示す図である。図5に示すように、実施の形態3に係るプログラマブルコントローラ10は、実施の形態2に係るプログラマブルコントローラ10が有する各種機能部に加えて、許容時間記憶メモリ16及びタイマ17を備える。
許容時間記憶メモリ16は、許容時間データ16aを記憶する。許容時間データ16aは、応答パケットの受信待機状態を保持する許容時間として予め設定されたデータである。許容時間データ16aに対応する許容時間は、少なくとも、スキャンの開始からEND処理に至るまでの時間よりも長い時間が設定される。
タイマ17は、制御部14の指示に従って時間の計測を開始する。タイマ17は、デバイスデータを要求する要求パケットが送信されてからの経過時間を計測する。タイマ17は、制御部14の指示に従って計測時間をリセットする。
同期制御プログラム11aは、要求パケットの送信を契機として時間を計測する機能、次のスキャンに移行する前に計測時間をリセットする機能、及び要求パケットを送信してからの経過時間が許容時間を超えていない場合、同一のスキャン内で送信済みの要求パケットに対応する応答パケットの受信待機状態を保持する機能を提供できる。
制御部14は、同期制御プログラム11aを実行することにより、要求パケットの送信を契機としてタイマ17の時間計測を開始させる処理を実現する。例えば、制御部14は、要求パケットを送信する場合、時間計測の実行指示をタイマ17に送出し、次のスキャンに移行する場合、計測時間のリセット指示をタイマ17に送出する。制御部14は、同期制御プログラム11aを実行することにより、要求パケットを送信してからの経過時間が許容時間内である場合、応答パケットの受信待機状態を保持する処理を実現する。例えば、制御部14は、同期制御の対象となる外部機器20及び外部機器30の双方から応答パケットを受信済みではない場合、タイマの計測時間が許容時間内であるかを判定し、判定の結果、許容時間内である場合、同一のスキャン内で送信済みの要求パケットに対応する応答パケットの受信待機状態を保持する。
図6及び図7を用いて、実施の形態3に係るプログラマブルコントローラ10の処理の例を説明する。図6及び図7は、実施の形態3に係るプログラマブルコントローラ10の処理の一例を示すフローチャートである。
図6に示すように、プログラマブルコントローラ10は、スキャンの実行中、同期制御の対象となる外部機器20及び外部機器30に要求パケットを送信する(ステップS301)。
続いて、プログラマブルコントローラ10は、タイマ17の時間計測を開始する(ステップS302)。
続いて、プログラマブルコントローラ10は、外部機器20及び外部機器30から受信した応答パケットに格納されているデバイスデータを一時メモリ12に格納する(ステップS303)。プログラマブルコントローラ10は、応答パケットの受信に応じて、逐次デバイスデータを一時メモリ12に格納する。
続いて、プログラマブルコントローラ10は、スキャンの最後の処理であるEND処理時であるかを判定する(ステップS304)。
プログラマブルコントローラ10は、判定の結果、END処理時ではない場合(ステップS304,No)、上記ステップS303の手順に戻る。
一方、プログラマブルコントローラ10は、判定の結果、END処理時である場合(ステップS304,Yes)、外部機器20及び外部機器30から、ステップS301で送信した要求パケットに対応する応答パケットを受信済みであるかを判定する(ステップS305)。
プログラマブルコントローラ10は、判定の結果、外部機器20及び外部機器30の双方から応答パケットを受信済みである場合(ステップS305,Yes)、応答パケットの受信待機中であるかを判定する(ステップS306)。
プログラマブルコントローラ10は、判定の結果、応答パケットの受信待機中ではない場合(ステップS306,No)、一時メモリ12に記憶されているデバイスデータをワーキングメモリ13に書き込み(ステップS307)、タイマ17の計測時間をリセットする(ステップS308)。
続いて、プログラマブルコントローラ10は、END処理を終了させて次のスキャンへ移行し(ステップS309)、デバイスデータの同期処理を継続するかを判定する(ステップS310)。プログラマブルコントローラ10は、例えば、異常処理が発生した場合、若しくはユーザからの停止指示があった場合を除き、同期処理を継続する旨の判定を行う。
プログラマブルコントローラ10は、判定の結果、デバイスデータの同期処理を継続する場合(ステップS310,Yes)、上記ステップS301の手順に戻る。
一方、プログラマブルコントローラ10は、判定の結果、デバイスデータの同期処理を継続しない場合(ステップS310,No)、図6に示す処理を終了する。
上記ステップS306において、プログラマブルコントローラ10は、判定の結果、応答パケットの受信待機中である場合(ステップS306,Yes)、応答パケットの受信待機状態を解除して(ステップS311)、上記ステップS307の手順に移る。
上記ステップS305において、プログラマブルコントローラ10は、判定の結果、外部機器20及び外部機器30の少なくとも一方から応答パケットを受信済みではない場合(ステップS305,No)、タイマ17により計測された経過時間が許容時間を超えているかを判定する(ステップS312)。
プログラマブルコントローラ10は、判定の結果、タイマ17により計測された経過時間が許容時間を超えている場合(ステップS312,Yes)、タイマ17の計測時間をリセットする(ステップS313)。
続いて、プログラマブルコントローラ10は、END処理を終了させて次のスキャンに移行し(ステップS314)、上記ステップS302の手順に戻る。すなわち、プログラマブルコントローラ10は、実行中のスキャンにおいて、タイマ17により計測された経過時間が許容時間を超えている場合、デバイスデータの取り込みを行うことなく、次のスキャンを実行する。
上記ステップS312において、プログラマブルコントローラ10は、判定の結果、タイマ17により計測された経過時間が許容時間を超えていない場合(ステップS312,No)、既に、応答パケットの受信待機中であるかを判定する(ステップS315)。
プログラマブルコントローラ10は、判定の結果、応答パケットの受信待機中ではない場合(ステップS315,No)、応答パケットの受信待機状態に移行して(ステップS316)、上記ステップS303の手順に戻る。これと反対に、プログラマブルコントローラ10は、判定の結果、応答パケットの受信待機中である場合(ステップS315,Yes)、そのまま、上記ステップS303の手順に戻る。
上記図6の処理において、外部機器20及び外部機器30のいずれか一方のデバイスデータが一時メモリ12に格納された状態で、タイマ17により計測された経過時間が許容時間を超えている場合、プログラマブルコントローラ10は、一時メモリ12に格納済みのデバイスデータのみをワーキングメモリ13に格納し、次のスキャンが開始されるまで、応答パケットの受信を行わないように処理を進めてもよい。上記図6の処理において、要求パケットと応答パケットとの対応関係を正しく判定できるように、要求パケット及び応答パケットにそれぞれフレームシーケンス番号を予め付与しておき、プログラマブルコントローラ10は、応答パケットを受信したときに、応答パケットに付与されたフレームシーケンス番号を参照することによって、いずれのスキャンに対応するパケットであるかを判定するように処理を進めてもよい。
実施の形態3において、プログラマブルコントローラ10は、同期制御の対象となる外部機器20及び外部機器30から応答パケットを受信完了できていなくても、要求パケットを送信してからの経過時間が許容時間内にある場合には、次のスキャンに移行せずに、応答パケットの受信待機状態を保持するので、可能な限り同一スキャン内でデバイスデータを同期させつつ、スキャンの実行が停滞することを防止できる。
図8を用いて、上記実施の形態で説明したプログラマブルコントローラ10の各種制御と同様の制御を実現するコンピュータの一例を説明する。図8は、実施の形態に係るプログラマブルコントローラ10のハードウェア構成の一例を示す図である。
図8に示すように、プログラマブルコントローラ10としてのコンピュータ100は、例えば、プロセッサ101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、入力インタフェース104、入力デバイス105、出力インタフェース106、出力デバイス107、通信インタフェース108、及びバス109を含む。プロセッサ101、RAM102、ROM103、入力インタフェース104、入力デバイス105、出力インタフェース106、出力デバイス107、及び通信インタフェース108は、バス109を介して接続されている。
RAM102はデータの読み書き可能な記憶装置であって、SRAM(Static RAM)又はDRAM(Dynamic RAM)の半導体記憶素子が用いられる。RAM102の代わりにフラッシュメモリを用いてもよい。RAM102は、プロセッサ101が実行する各種制御における処理結果を一時的に記憶する作業領域に利用される。RAM102は、例えば、一時メモリ12及びワーキングメモリ13に対応する。ROM103は、プログラム及びデータの読み出しが可能な記憶装置であって、PROM(Programmable ROM)も含む。ROM103は、プロセッサ101が実行する各種制御を実現するためのプログラム及びデータの記録に用いられる。ROM103は、プログラムメモリ11に対応する。
入力インタフェース104は、入力デバイス105からの入力信号をプロセッサ101に伝達する回路である。出力インタフェース106は、プロセッサ101の指示に応じた出力デバイス107への出力を実行させる回路である。通信インタフェース108は、ネットワーク1を介して実行する通信の制御を行なう回路である。通信インタフェース108は、例えばネットワークインターフェースカード(NIC:Network Interface Card)である。入力インタフェース104及び出力インタフェース106は、統合された1つのユニットであってもよい。通信インタフェース108は、通信制御部15に対応する。
プロセッサ101は、ROM103に記憶されたプログラムを読み出してRAM102に展開し、RAM102に展開されたプログラムに含まれる命令を実行する。プロセッサ101がプログラムに含まれる命令の実行結果に応じて動作することにより、プログラムメモリ11に記憶された同期制御プログラム11aにより提供される機能に対応する各種制御が実現される。プロセッサ101は、例えば、制御部14に対応する。
同期制御プログラム11aにより提供される機能に対応する各種制御を実現するプログラム及び当該プログラムによる処理に用いられるデータは、最初からROM103に記憶させておく必要はない。例えば、各種制御を実現するプログラム及び当該プログラムによる処理に用いられるデータを、公衆回線、インターネット、LAN、WAN(Wide Area Network)といったネットワークを介してコンピュータ100に接続される「他のコンピュータ(またはサーバ)」に記憶させておき、コンピュータ100がこれらからプログラム及びデータをダウンロードして実行してもよい。
図8に示すように、プロセッサ101がROM103に記憶されたプログラムを読み出して実行することにより、同期制御プログラム11aにより提供される機能に対応する各種制御を実現する例には限定されない。同期制御プログラム11aにより提供される機能に対応する各種制御のそれぞれを実現するための複数の処理回路を連携させたワイヤードロジックにより、同期制御プログラム11aにより提供される機能に対応する各種制御を実現してもよい。例えば、同期制御プログラム11aにより提供される機能に対応する処理回路には、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)を適用できる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1 ネットワーク、10 プログラマブルコントローラ、20,30 外部機器。

Claims (4)

  1. 複数の外部機器に対し周期的に制御を行うプログラマブルコントローラであって、
    一時メモリと、
    ワーキングメモリと、
    制御部とを備え、
    前記制御部は、
    同期制御の対象となる前記外部機器のそれぞれに対して当該外部機器の制御に用いるデバイスデータの送信を要求する要求パケットを送信し、
    前記要求パケットに対する応答として前記外部機器から受信する応答パケットから前記デバイスデータを取得して、取得した前記デバイスデータを前記一時メモリに格納し、
    同期制御の対象となる前記外部機器から、同一の制御周期内で送信済みの前記要求パケットに対応する前記応答パケットがそれぞれ受信された場合に、受信した制御周期内で前記一時メモリに記憶されている前記デバイスデータを前記ワーキングメモリに書込み、
    同期制御の対象となる前記外部機器から、同一の制御周期内で送信済みの前記要求パケットに対応する前記応答パケットがそれぞれ受信されない場合に、受信されない制御周期内では前記一時メモリに記憶されている前記デバイスデータを前記ワーキングメモリに書き込まない
    ことを特徴とするプログラマブルコントローラ。
  2. 前記制御部は、同期制御の対象となる前記外部機器から、同一の制御周期内で送信済みの前記要求パケットに対応する前記応答パケットが受信されるまで、当該応答パケットの受信待機状態を保持することを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 複数の外部機器に対し周期的に制御を行うプログラマブルコントローラであって、
    一時メモリと、
    ワーキングメモリと、
    同期制御の対象となる前記外部機器のそれぞれに対して当該外部機器の制御に用いるデバイスデータの送信を要求する要求パケットを送信し、
    前記要求パケットに対する応答として前記外部機器から受信する応答パケットから前記デバイスデータを取得して、取得した前記デバイスデータを前記一時メモリに格納し、
    同期制御の対象となる前記外部機器から、同一の制御周期内で送信済みの前記要求パケットに対応する前記応答パケットがそれぞれ受信された場合に、受信した制御周期内で前記一時メモリに記憶されている前記デバイスデータを前記ワーキングメモリに書込み、
    同期制御の対象となる前記外部機器から、同一の制御周期内で送信済みの前記要求パケットに対応する前記応答パケットがそれぞれ受信されない場合に、受信されない制御周期内では前記一時メモリに記憶されている前記デバイスデータを前記ワーキングメモリに書き込まない制御部と
    を備え、
    前記制御部は、同期制御の対象となる前記外部機器から、同一の制御周期内で送信済みの前記要求パケットに対応する前記応答パケットを受信されるか否かを判定する判定部を有し、
    前記判定部により前記応答パケットが未受信である場合、当該応答パケットの受信待機状態を保持することを特徴とするプログラマブルコントローラ。
  4. 複数の外部機器に対し周期的に制御を行うプログラマブルコントローラに、
    同期制御の対象となる前記外部機器のそれぞれに対して当該外部機器の制御に用いるデバイスデータの送信を要求する要求パケットを送信するステップと、
    前記要求パケットに対する応答として前記外部機器から受信する応答パケットから前記デバイスデータを取得して、取得した前記デバイスデータを一時メモリに格納するステップと、
    同期制御の対象となる前記外部機器から、同一の制御周期内で送信済みの前記要求パケットに対応する前記応答パケットがそれぞれ受信された場合に、受信した制御周期内で前記一時メモリに記憶されている前記デバイスデータをワーキングメモリに書込むステップと、
    同期制御の対象となる前記外部機器から、同一の制御周期内で送信済みの前記要求パケットに対応する前記応答パケットがそれぞれ受信されない場合に、受信されない制御周期内では前記一時メモリに記憶されている前記デバイスデータを前記ワーキングメモリに書き込まないステップと
    を実行させることを特徴とする同期制御プログラム。
JP2017559988A 2016-01-07 2016-01-07 プログラマブルコントローラ及び同期制御プログラム Active JP6516874B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/050341 WO2017119100A1 (ja) 2016-01-07 2016-01-07 プログラマブルコントローラ及び同期制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2017119100A1 JPWO2017119100A1 (ja) 2018-05-10
JP6516874B2 true JP6516874B2 (ja) 2019-05-22

Family

ID=59274209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017559988A Active JP6516874B2 (ja) 2016-01-07 2016-01-07 プログラマブルコントローラ及び同期制御プログラム

Country Status (6)

Country Link
US (1) US10416644B2 (ja)
JP (1) JP6516874B2 (ja)
KR (1) KR20180086490A (ja)
CN (1) CN108541307B (ja)
DE (1) DE112016006175T5 (ja)
WO (1) WO2017119100A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6922583B2 (ja) * 2017-09-15 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249017A (ja) * 1995-03-09 1996-09-27 Mitsubishi Electric Corp データ通信システム及びデータ通信方法
US6285966B1 (en) * 1998-06-25 2001-09-04 Fisher Controls International, Inc. Function block apparatus for viewing data in a process control system
US7012883B2 (en) * 2001-11-21 2006-03-14 Qualcomm Incorporated Rate selection for an OFDM system
US20030115226A1 (en) * 2001-12-13 2003-06-19 International Business Machines Corporation Method, apparatus, and program for quick save to remote storage
JP3852469B2 (ja) 2004-03-11 2006-11-29 オムロン株式会社 同期コントローラおよびコントローラシステム
JP4324866B2 (ja) 2004-03-31 2009-09-02 オムロン株式会社 ツール
JP4497317B2 (ja) * 2005-11-04 2010-07-07 オムロン株式会社 制御装置の時計同期
US8046444B2 (en) * 2009-03-30 2011-10-25 Rockwell Automation Technologies, Inc. Universal network adapter for industrial control networks
JP5549455B2 (ja) * 2010-07-21 2014-07-16 富士電機株式会社 プログラマブルコントローラシステムおよびそのプログラム更新方法
CN102540952B (zh) * 2010-12-09 2015-05-20 通用电气公司 可编程控制器以及操作方法
CN102540954B (zh) * 2010-12-24 2015-03-11 深圳市合信自动化技术有限公司 一种可编程逻辑控制器及其控制方法
JP5801059B2 (ja) * 2011-02-14 2015-10-28 東芝三菱電機産業システム株式会社 通信処理システム
CN104081299B (zh) * 2012-02-29 2016-08-17 富士电机株式会社 可编程控制器、可编程控制器系统及可编程控制器的提供系统
US20130263053A1 (en) * 2012-03-29 2013-10-03 Charles G. Tritschler Media widget to interface with multiple underlying applications
WO2013186889A1 (ja) * 2012-06-14 2013-12-19 三菱電機株式会社 I/oデバイス、プログラマブルロジックコントローラ及び演算方法
WO2015128981A1 (ja) * 2014-02-27 2015-09-03 富士電機株式会社 プログラマブルコントローラシステム、そのコントローラ
US20170222684A1 (en) * 2016-02-01 2017-08-03 Qualcomm Incorporated Unidirectional clock signaling in a high-speed serial link

Also Published As

Publication number Publication date
US10416644B2 (en) 2019-09-17
US20180307194A1 (en) 2018-10-25
JPWO2017119100A1 (ja) 2018-05-10
CN108541307A (zh) 2018-09-14
DE112016006175T5 (de) 2018-09-20
WO2017119100A1 (ja) 2017-07-13
CN108541307B (zh) 2021-04-02
KR20180086490A (ko) 2018-07-31

Similar Documents

Publication Publication Date Title
US10284692B2 (en) Control device and communication device
JP2016110458A (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP6433635B1 (ja) シミュレーション装置およびシミュレーション方法
US10384625B2 (en) Communication device and non-transitory recording medium
JP6516874B2 (ja) プログラマブルコントローラ及び同期制御プログラム
JP5875558B2 (ja) 情報処理装置
JP6176058B2 (ja) ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム
JP5058890B2 (ja) バス制御装置
JP2009099092A (ja) 携帯型情報端末
JP3715258B2 (ja) 制御装置
JP2020101995A (ja) 制御システム、および制御装置
JP6464211B2 (ja) プログラマブルコントローラ
JP6354535B2 (ja) 冗長化制御システムおよびその制御装置
JP2007249560A (ja) プログラマブルコントローラにおけるcpuモジュール
CN107850873B (zh) 双重化过程控制装置
JP6409520B2 (ja) 制御システム、および中継装置
JP2007128413A (ja) プログラマブルコントローラ
JP6251112B2 (ja) 伝送装置およびコントローラ
JPWO2013124915A1 (ja) スレーブ装置、マスタ装置、及び通信システム
JP2015176343A (ja) 通信システムのプログラム更新方法
JP2665520B2 (ja) プログラマブルコントローラ
JP2006215781A (ja) シミュレーション装置及びシミュレーション方法
JPH04195203A (ja) プログラマブルコントローラシステム
JP2006079480A (ja) モジュール型のプログラマブルコントローラの同期方法およびプログラマブルコントローラ
JP2010026762A (ja) データ転送装置及びデータ転送方法。

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181012

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190416

R150 Certificate of patent or registration of utility model

Ref document number: 6516874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250