JP2016110458A - プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム - Google Patents
プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム Download PDFInfo
- Publication number
- JP2016110458A JP2016110458A JP2014248402A JP2014248402A JP2016110458A JP 2016110458 A JP2016110458 A JP 2016110458A JP 2014248402 A JP2014248402 A JP 2014248402A JP 2014248402 A JP2014248402 A JP 2014248402A JP 2016110458 A JP2016110458 A JP 2016110458A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- update
- data
- synchronization
- basic unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
ユーザプログラムをスキャン毎に繰り返し実行する基本ユニットと、前記基本ユニットに接続される拡張ユニットとを有するプログラマブル・ロジック・コントローラであって、
前記拡張ユニットは、
外部機器が接続されるインターフェースと、
前記インターフェースを介した前記外部機器からの入力値または前記インターフェースを介した前記外部機器への出力値に関するデバイス値が格納され、前記基本ユニットとデータ共有するためのデバイスが割り付けられた記憶部と、
クロックを計数して時間を計測する拡張ユニットタイマと、
を備え、
前記基本ユニットは、
クロックを計数して時間を計測する基本ユニットタイマと、
前記拡張ユニットタイマと前記基本ユニットタイマのタイマ値を同期させる同期手段と、
スキャン毎のリフレッシュの期間内で前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させる第1更新手段と、
前記同期手段により前記拡張ユニットタイマのタイマ値と同期した前記基本ユニットタイマのタイマ値に基づいてスキャン中に定周期で実行される処理の期間内で前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させる第2更新手段と、
を備え、
前記ユーザプログラムに記述される前記拡張ユニットの前記デバイスは、前記第1更新手段による更新の対象および/または前記第2更新手段による更新の対象として設定可能に構成されることを特徴とするプログラマブル・ロジック・コントローラを提供する。
ユニット間同期とは、基本ユニット3の内部処理の制御周期と拡張ユニット4の内部処理の制御周期とを同期させる処理のことである。基本ユニット3と拡張ユニット4はそれぞれタイマを有し、タイマ値に応じて内部処理の開始タイミングなどを決定する。基本ユニット3と拡張ユニット4が同じ周期のタイマを有することにより、両者の制御周期が同期する。なお、基本ユニット3の制御周期を基準として拡張ユニット4の制御周期を同期させる方法と、拡張ユニット4の制御周期を基準として基本ユニット3の制御周期を同期させる方法とがある。いずれにしても拡張ユニット4は、拡張ユニット4の制御周期にしたがって内部処理を実行する。つまり、内部処理の開始タイミングは拡張ユニット4の制御周期の開始タイミングに一致している。なお、同期処理はユーザプログラムであるラダープログラムのスキャンタイム内における特定の期間に実行されてもよいし、ラダープログラムに対して割り込むことで実行されてもよい。ここでは説明の便宜上、一定周期の割り込みによってユニット間同期が実行されるものとして説明する。割り込みを実行するための割り込みモジュールが基本ユニット3に設けられていてもよい。たとえば、図6(A)が示すように、スキャンタイムが5ミリ秒だとすると、ユニット間同期の同期周期は200マイクロ秒(us)に設定されることがある。この場合は、1つのスキャンタイム内で25回のユニット間同期が実行されることになる。なお、スキャンはスキャンモジュールによって制御されており、これとは並行してユニット間同期は同期モジュールによって実行されている。そのため、リフレッシュの期間(ユニット間通信201)、ラダープログラムを実行している期間(プログラム実行202)、END処理を実行している期間(END処理204)のいずれにおいてもユニット間同期が定周期で実行される。
図5に示したように入出力リフレッシュは1つのスキャンタイムTにおいて一回だけ実行される(これを一括リフレッシュと呼ぶことにする。)。しかし、1つのスキャンタイムにおいて一回だけのリフレッシュを行うだけでは、十分ではないようなデータも存在する。このようなデータについてはデバイスに割り付けずに、バッファメモリに割り付け、バッファメモリに対してダイレクト通信を行うことで、データを読み書きすることが可能となる。しかし、この場合は、ラダープログラム内でダイレクト通信を実行するための命令を記述しておかなければならない。スキャンタイム(例:5ms)に対してずっと短い周期(例:200us)で更新される必要があるデータについてはラダープログラム内の多数の個所にデータの更新命令を記述しておかねばならず、ユーザビリティにかける面があった。また、「発明が解決しようとする課題」の欄に記述したような問題があった。
図7は基本ユニット3の機能の一例を示すブロック図である。CPU10は制御プログラム77を実行することで様々な機能を実現する。なお、機能の一部はASICなどの論理回路によって実装されてもよい。
図8は拡張ユニットの機能の一例を示すブロック図である。CPU110は記憶装置111に記憶されているシステムプログラム117を実行することで様々な機能を実現する。拡張ユニット制御部113は、第1デバイス118や第2デバイス120に書き込まれる基本ユニット3からの指示に応じて被制御装置16を制御する機能である。記憶装置111は、ROMやRAMなどを有し、記憶装置111における一部のメモリは書き換え可能な不揮発性メモリであってもよい。CPU110は被制御装置16と通信するためのインターフェース123を有している。ユニット間同期部114は、拡張バスおよび通信部112を介して基本ユニット3から送信される同期信号にしたがって拡張ユニット4における内部処理の制御周期を基本ユニット3の制御周期に同期させるものでる。拡張ユニットタイマ119はクロックを計数して時間を計測するタイマまたはカウンタである。ユニット間同期部114は、拡張ユニットタイマ119のタイマ値を基本ユニットタイマ88のタイマ値に一致させるように動作してもよい。なお、ユニット間同期部114は、第2更新部76における更新処理の遅延時間に応じて拡張ユニット4で実行される内部処理の開始を遅延(延期)させる延期部115を備えていてもよい。更新処理が完了していないにもかかわらず、拡張ユニット4が内部処理を開始してしまうと、最新のデバイス値が内部処理に反映されなくなってしまう。そこで、更新処理が完了するまで内部処理の開始タイミングを延期することで、内部処理は最新のデバイス値を利用できるようになる。
図9はプログラム作成支援装置1のCPU24が編集ソフトウエア86を実行することで実現する機能を示している。編集ソフトウエア86は、ラダープログラム78や設定データ79などをユーザが編集するために使用するプログラムである。
図10は基本ユニット3が実行する処理を示すフローチャートである。基本ユニット3がメンテナンスモード(プログラミングモード)からランモードに切り替えられると、CPU10は制御プログラム77にしたがって本フローチャートに係る処理を実行する。なお、本実施形態ではランモードにおいてユニット間同期処理が実行されるが、メンテナンスモードにおいてもユニット間同期処理が実行されるようにしてもよい。
なお、PLC2ではデバイスとは別にバッファメモリUGと呼ばれる記憶領域が存在する。デバイスはリフレッシュの対象となる記憶領域であり、バッファメモリUG(単にバッファと呼ばれることもある)はリフレッシュの対象とならず、ダイレクト通信によりアクセスされていた。このようなバッファメモリUGについても同期リフレッシュの対象として選択されてもよい。これにより、デバイスと比較してより複雑なコードが必要となっていたバッファメモリUGについても、同期リフレッシュにより、デバイスと同様なコードにより扱うことが可能となる。とりわけ、複数のバッファメモリUGに格納される値(バッファ値と呼ぶことにする)には、一緒のタイミングで更新される必要がある複数のバッファ値の集合や(同時性)、更新の順序が決まっている複数のバッファ値の集合が存在する(順序性)。たとえば、1つ目のバッファメモリには分母が格納され、2つ目のデバイスには分子が格納されており、この分母と分子とによって制御値が決定されることがある。このような制御値において、拡張ユニット制御部113が分母を取得した後で、分子が同期リフレッシュによって書き換えられてしまうと、分母と分子のペアが破たんし(泣き別れ)、制御値が異常となる。よって、分母と分子のペアのように同時性を要求されるバッファ値に関しては同期リフレッシュにおいて同時性や順序性を維持しつつ、更新される。また、伝達遅延時間の一定性が要求されるバッファメモリUGについても、第3デバイス83を割り付けて同期リフレッシュが適用されてもよい。これにより伝達遅延時間の一定性が確保されよう。なお、バッファメモリUGについてもダブルバッファ構成が採用されてもよい。なお、同期リフレッシュの対象となるバッファメモリUGおよび第3デバイス83については明細書の全体において第2デバイスと同様に扱われるものとする。つまり、第2デバイスに関する説明はそのままバッファメモリUGと第3デバイス83に適用される。また、バッファメモリUGおよび第3デバイス83が一括リフレッシュの対象として選択された場合、第1デバイスに関する説明はそのままバッファメモリUGと第3デバイス83に適用される。
上述したようにユニット間同期はリフレッシュタイミングよりも短い周期(例:50us〜5ms)で実行されることがある。これは、基本ユニット3と拡張ユニット4との応答性(別の言い方をすれば、外部入力機器に対する基本ユニットの応答性、又は、基本ユニットに対する外部出力機器の応答性)のバラツキを小さくするためである。ユニット間同期を実行するタイミングで同期リフレッシュを実行するには、ユニット間同期の同期周期内で同期リフレッシュを完了しなければならない。よって、同期リフレッシュの対象となるデバイスの数はある程度制限される必要があるだろう。たとえば、一括リフレッシュの対象となっていたすべてのデバイスを同期リフレッシュの対象として選択してしまうと、ユニット間同期の周期を短くできなくなり、基本ユニット3と拡張ユニット4との応答性のバラツキを小さくすることが困難となろう。そこで、ユニット間同期の同期周期の長さを考慮して同期リフレッシュの対象が予め選択される。この選択は、プログラム作成支援装置1で実行されたり、または、基本ユニット3の操作部6を通じて実行されたりする。また、同期リフレッシュを割り込みプログラムにより実現し、選択されたデバイスについて同期リフレッシュが実行される。これは、スキャンタイムが長くなったりするなど、変動したりしても、安定的にユニット間同期と同期リフレッシュとを実現する。この場合、ユニット間同期は、スキャンタイム内のいずれの場所でも実行されうる。たとえば、ユニット間同期部73および第2更新部76は、ラダープログラムの実行期間だけでなく、一括リフレッシュの期間でもユニット間同期と同期リフレッシュを実行してもよい。定周期でユニット間同期と同期リフレッシュが実行されるようになり、基本ユニット3と拡張ユニット4との応答性のバラツキが小さくなろう。
上述したように分子と分母とにより定まる比率などを正しく伝達するには、分子と分母とが同時性の要件を満たしてユニット間でリフレッシュされる必要がある。これを実現する手法としてすでにダブルバッファ構成について説明したが、他の排他調停方法が使用されてもよい。
デバイス値の伝達遅延時間については一定時間に制御されることが望ましいことがある。上述したようにユニット間同期は、基本ユニット3と拡張ユニット4との間における応答性のバラツキを小さくするために実行される。しかし、基本ユニット3の制御周期と拡張ユニット4の制御周期とを同期させるだけでは不十分なことがある。つまり、基本ユニット3と拡張ユニット4との間におけるデバイス値の伝達遅延時間が一定になれば、さらに応答性のバラツキが小さくなる。上述したように複数のデバイス値の泣き別れは、これらのデバイス値それぞれの伝達遅延時間が一致しないために発生することが多い。特に、これらのデバイス値に対する内部処理によるアクセスが非同期で発生することが原因となりやすい。
デバイスやバッファメモリには1ビットのデバイス値を記憶するものと、1ワードのデバイス値を記憶するものとがある。つまり、リフレッシュの対象となるものにはビット型のものやワード型のものが混在している。このような場合にも上述した順序性が必要となることがある。順序性の要件を満たす方法としては、デバイス値の送信側が送信すべきデバイス値をデバイスに格納すると、フラグをセットする。伝送路においては、デバイス値が先に伝送され、その後でフラグが伝送される。受信側は、フラグがセットされたことを認識すると、デバイスからデバイス値を読み出す。これにより、受信側はデバイス値を少ない遅延時間でもって読み出せるようになる。なお、フラグはビット型のデバイスで実現されうる。つまり、ワードデバイスに格納された伝送すべきワードデータ(ワードデバイス値)を先に転送し、フラグを格納したビットデバイスのデバイス値を後から転送することが要求されることがある。もし、フラグを先に転送してしまうと、古いワードデバイス値が読み出されてしまうことがあるからである。
拡張ユニット4のユニット間同期部114は延期部115を備えていてもよい。同期リフレッシュが完了していないにもかかわらず、内部処理が開始されてしまうと、上述した泣き別れ問題が発生しうる。そこで、ユニット間同期部114は同期リフレッシュが所定の待ち時間で完了しなかったことを検知すると、内部処理の発生タイミングを延期させてもよい。なお、延期時間は動的に決定されてもよいし、静的に決定されていてもよい。前者では、ユニット間同期部114が同期リフレッシュの完了を検知すると、内部処理を開始させる。後者では、ユニット間同期部114が所定の延期時間の経過を待って、内部処理を開始させる。
上述した実施例はユニット間同期により基本ユニット3の制御周期と拡張ユニット4の制御周期とが整合されるが、一括リフレッシュやスキャンタイムはこれらとは非同期で実施されてもよい。しかし、ユニット間同期を実行するためには割り込みが必要となる。もし、拡張ユニット4の制御周期に対して、一括リフレッシュやスキャンタイムも同期させることができれば、割り込みが不要となろう。
すでに所々で触れたように、デバイスだけでなく、バッファメモリUGについても同期リフレッシュが適用されてもよい。一般にデバイスはリフレッシュにより更新されるが、バッファメモリUGは更新されない。そのため、従来は、バッファメモリUGに関しては、必要に応じてラダープログラム78内でダイレクト通信を実行するための命令が記述される必要があった。なお、基本ユニット3は複数の占有デバイスを有しており、そのうちの幾つかが拡張ユニット4に対して割り付けられる。よって、拡張ユニット4のデバイスに対して割り付けられていない基本ユニット3のデバイス(第3デバイス83)については、バッファメモリUGを割り付けることでバッファメモリUGもリフレッシュすることが可能となる。これにより、バッファメモリUGについても同期リフレッシュの対象となる。
図1などを用いて説明したように、PLC2は、ユーザプログラムをスキャン毎に繰り返し実行する基本ユニット3と、基本ユニット3に接続される拡張ユニット4とを有する。図8などを用いて説明したように、拡張ユニット4は、
外部機器が接続されるインターフェース123と、インターフェース123を介した外部機器からの入力値またはインターフェース123を介した外部機器への出力値に関するデバイス値が格納され、基本ユニット3とデータ共有するためのデバイスが割り付けられた記憶部である記憶装置111と、クロックを計数して時間を計測する拡張ユニットタイマ119を有している。図7などを用いて説明したように、基本ユニット3は基本ユニットタイマ88、ユニット間同期部73、第1更新部75および第2更新部76を有している。ユニット間同期部73は拡張ユニットタイマ119のタイマ値と基本ユニットタイマ88のタイマ値を同期させる。第1更新部75はスキャン毎のリフレッシュの期間内で拡張ユニット4が保持しているデータと基本ユニット3が保持しているデータとを一致させる。第2更新部76はユニット間同期部73により拡張ユニットタイマ119のタイマ値と同期した基本ユニットタイマ88のタイマ値に基づいてスキャン中に定周期で実行される処理の期間内で拡張ユニット4が保持しているデータと基本ユニット3が保持しているデータとを一致させる。なお、ユーザプログラムであるラダープログラム78に記述される拡張ユニット4に割り付けられたデバイスは、第1更新部75による更新の対象および/または第2更新部76による更新の対象として設定可能に構成される。これによりユーザのプログラミングの負担が軽減され、ユーザビリティが向上する。
Claims (29)
- ユーザプログラムをスキャン毎に繰り返し実行する基本ユニットと、前記基本ユニットに接続される拡張ユニットとを有するプログラマブル・ロジック・コントローラであって、
前記拡張ユニットは、
外部機器が接続されるインターフェースと、
前記インターフェースを介した前記外部機器からの入力値または前記インターフェースを介した前記外部機器への出力値に関するデバイス値が格納され、前記基本ユニットとデータ共有するためのデバイスが割り付けられた記憶部と、
クロックを計数して時間を計測する拡張ユニットタイマと、
を備え、
前記基本ユニットは、
クロックを計数して時間を計測する基本ユニットタイマと、
前記拡張ユニットタイマと前記基本ユニットタイマのタイマ値を同期させる同期手段と、
スキャン毎のリフレッシュの期間内で前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させる第1更新手段と、
前記同期手段により前記拡張ユニットタイマのタイマ値と同期した前記基本ユニットタイマのタイマ値に基づいてスキャン中に定周期で実行される処理の期間内で前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させる第2更新手段と、
を備え、
前記ユーザプログラムに記述される前記拡張ユニットの前記デバイスは、前記第1更新手段による更新の対象および/または前記第2更新手段による更新の対象として設定可能に構成されることを特徴とするプログラマブル・ロジック・コントローラ。 - 前記デバイスは、前記第1更新手段による更新の対象および前記第2更新手段による更新の対象のいずれか一方に設定されることを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。
- 前記デバイスを更新する更新手段として、前記第1更新手段および前記第2更新手段のうち少なくとも一方を選択する選択手段を備えることを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。
- 前記基本ユニットは、前記ユーザプログラムと、前記同期手段により同期させた前記基本ユニットタイマのタイマ値に基づいて実行されるユニット間同期プログラムとを記憶するプログラム記憶部を備え、
前記第2更新手段は、前記デバイスが前記ユニット間同期プログラムに記述されているときに、前記拡張ユニットが前記デバイスに保持しているデータと前記基本ユニットが保持しているデータとを一致させることを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。 - 前記第2更新手段は、前記スキャン中において前記ユーザプログラムが実行されている期間であっても、前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させることを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。
- 前記拡張ユニットタイマのタイマ値は、前記拡張ユニットの内部処理の開始タイミングとして使用され、
前記拡張ユニットの内部処理は、前記外部機器からの入力値に基づいて前記デバイス値を演算する処理または前記デバイス値から前記外部機器への出力値を演算する処理であることを特徴とする請求項1ないし5のいずれか1項に記載のプログラマブル・ロジック・コントローラ。 - 前記第1更新手段は、前記同期手段によって前記拡張ユニットタイマのタイマ値と同期した前記基本ユニットタイマのタイマ値に基づくスキャン毎のリフレッシュの期間内で更新を実行することを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。
- 前記基本ユニットおよび前記拡張ユニットはそれぞれデータを保持する記憶領域であるデバイスを有し、
前記デバイスは、前記拡張ユニットのデータを前記基本ユニットへ伝達するための入力デバイスと、前記基本ユニットのデータを前記拡張ユニットに伝達するための出力デバイスとを含み、
前記第1更新手段および前記第2更新手段は、前記拡張ユニットのデバイスに記憶されているデータであるデバイス値を前記基本ユニットのデバイスへコピーすることで前記入力デバイスのデータであるデバイス値を更新するとともに、前記基本ユニットのデバイスに記憶されているデータであるデバイス値を前記拡張ユニットのデバイスへコピーすることで前記出力デバイスのデータであるデバイス値を更新することを特徴とする請求項1ないし7のいずれか1項に記載のプログラマブル・ロジック・コントローラ。 - 前記入力デバイスは前記拡張ユニットが有する機能の状態を表すデータを記憶し、
前記出力デバイスは前記拡張ユニットが有する機能を制御するデータを記憶することを特徴とする請求項8に記載のプログラマブル・ロジック・コントローラ。 - 前記リフレッシュの期間において前記第1更新手段が前記出力デバイスに保持されているデータと前記入力デバイスに保持されているデータを更新し、前記基本ユニットタイマのタイマ値に基づいてスキャン中に定周期で実行される処理の期間において前記第2更新手段が前記拡張ユニットに保持されているデータと前記基本ユニットに保持されているデータとを更新することを特徴とする請求項8または9に記載のプログラマブル・ロジック・コントローラ。
- 前記第2更新手段は、前記基本ユニットに設けられ、データを保持するメモリであるデバイスと、前記拡張ユニットに設けられ、前記リフレッシュの対象とならないデータを保持するバッファメモリとの間でデータを一致させることを特徴とする請求項1ないし7のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記選択手段は、前記第2更新手段による更新の対象となるデータを指定する更新対象指定情報を記憶する記憶手段を有し、
前記第2更新手段は、前記更新対象指定情報によって指定されたデータを更新し、
前記第1更新手段は、前記更新対象指定情報によって指定されていないデータを前記リフレッシュの期間で更新することを特徴とする請求項3に記載のプログラマブル・ロジック・コントローラ。 - 前記更新対象指定情報は、前記基本ユニットに接続され、前記ユーザプログラムを作成して当該基本ユニットに転送するプログラム作成支援装置上で作成された情報であることを特徴とする請求項12に記載のプログラマブル・ロジック・コントローラ。
- 前記第2更新手段がデータを更新している間は前記第2更新手段以外の他の手段による当該データの読み書きを排他または調停する排他・調停手段をさらに有することを特徴とする請求項1ないし13のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記排他・調停手段は、相互に更新の連動性を要求される複数のデータが前記第2更新手段によって更新されている期間においては前記第2更新手段以外の他の手段による当該複数のデータの読み書きを排他または調停することを特徴とする請求項14に記載のプログラマブル・ロジック・コントローラ。
- 前記排他・調停手段は、それぞれ前記基本ユニットと前記拡張ユニットとの間におけるデータの伝達時間を一定にすることが要求される複数のデータが前記第2更新手段によって更新されている期間においては前記第2更新手段以外の他の手段による当該複数のデータの読み書きを排他または調停することを特徴とする請求項14に記載のプログラマブル・ロジック・コントローラ。
- 前記排他・調停手段は、それぞれ更新順序が定められている複数のデータが前記第2更新手段によって更新されている期間においては前記第2更新手段以外の他の手段による当該複数のデータの読み書きを排他または調停することを特徴とする請求項14に記載のプログラマブル・ロジック・コントローラ。
- 前記複数のデータは、ビット型のデータとワード型のデータであり、
前記第2更新手段は、前記基本ユニットのビット型のデータとワード型のデータを前記拡張ユニットへコピーするときはビット型のデータをコピーしてからワード型のデータをコピーし、前記拡張ユニットのビット型のデータとワード型のデータを前記基本ユニットへコピーするときはワード型のデータをコピーしてからビット型のデータをコピーすることを特徴とする請求項17に記載のプログラマブル・ロジック・コントローラ。 - 前記排他・調停手段は、前記第2更新手段がデータを更新している間は割り込み処理を禁止することを特徴とする請求項14ないし18のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記拡張ユニットは、前記第2更新手段における更新処理の遅延時間に応じて当該拡張ユニットで実行される内部処理の開始を遅延させることを特徴とする請求項1ないし19のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記拡張ユニットは、前記基本ユニットに設けられている記憶装置に前記データを保持していることを特徴とする請求項1ないし20のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記拡張ユニットは、前記第2更新手段が前記データの更新処理が完了した後で当該データを参照して内部処理を実行することを特徴とする請求項1ないし21のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記第2更新手段は、前記拡張ユニットが内部処理を実行していない期間に前記データの更新処理を実行することを特徴とする請求項1ないし22のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記拡張ユニットは、
前記第2更新手段によって更新される前記データを記憶する第1バッファと、
当該拡張ユニットの内部処理によって参照されるデータを記憶する第2バッファと、
前記同期手段が同期処理を実行するときに前記第1バッファに記憶されているデータと前記第2バッファに記憶されているデータとが一致するように更新する第3更新手段をさらに有し、
前記第2更新手段は、前記第3更新手段が更新処理を完了した後で、更新処理を実行することを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。 - 前記拡張ユニットは、
前記同期手段による同期処理が遅延すると、前記拡張ユニットの内部処理の開始タイミングを延期する手段をさらに有することを請求項1に記載のプログラマブル・ロジック・コントローラ。 - 前記基本ユニットは、前記同期手段が同期処理を実行するタイミングになると、前記リフレッシュの期間に遷移することを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。
- プログラマブル・ロジック・コントローラの拡張ユニットに接続され、ユーザプログラムをスキャン毎に繰り返し実行する基本ユニットであって、
前記拡張ユニットは、
外部機器が接続されるインターフェースと、
前記インターフェースを介した前記外部機器からの入力値または前記インターフェースを介した前記外部機器への出力値に関するデバイス値が格納され、前記基本ユニットとデータ共有するためのデバイスが割り付けられた記憶部と、
クロックを計数して時間を計測する拡張ユニットタイマと、
を備えており、
前記基本ユニットは、
クロックを計数して時間を計測する基本ユニットタイマと、
前記拡張ユニットタイマと前記基本ユニットタイマのタイマ値を同期させる同期手段と、
スキャン毎のリフレッシュの期間内で前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させる第1更新手段と、
前記同期手段により前記拡張ユニットタイマのタイマ値と同期した前記基本ユニットタイマのタイマ値に基づいてスキャン中に定周期で実行される処理の期間内で前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させる第2更新手段と、
を備え、
前記ユーザプログラムに記述される前記拡張ユニットの前記デバイスは、前記第1更新手段による更新の対象および/または前記第2更新手段による更新の対象として設定可能に構成されることを特徴とする基本ユニット。 - プログラマブル・ロジック・コントローラの拡張ユニットに接続され、ユーザプログラムをスキャン毎に繰り返し実行する基本ユニットの制御方法であって、
前記拡張ユニットは、
外部機器が接続されるインターフェースと、
前記インターフェースを介した前記外部機器からの入力値または前記インターフェースを介した前記外部機器への出力値に関するデバイス値が格納され、前記基本ユニットとデータ共有するためのデバイスが割り付けられた記憶部と、
クロックを計数して時間を計測する拡張ユニットタイマと、
を備えており、
前記制御方法は、
クロックを計数して時間を計測する基本ユニットタイマと、前記拡張ユニットタイマと前記基本ユニットタイマのタイマ値を同期させる同期工程と、
スキャン毎のリフレッシュの期間内で前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させる第1更新工程と、
前記同期工程により前記拡張ユニットタイマのタイマ値と同期した前記基本ユニットタイマのタイマ値に基づいてスキャン中に定周期で実行される処理の期間内で前記拡張ユニットが保持しているデータと前記基本ユニットが保持しているデータとを一致させる第2更新工程と、
を有し、
前記ユーザプログラムに記述される前記拡張ユニットの前記デバイスは、前記第1更新工程による更新の対象および/または前記第2更新工程による更新の対象として設定可能に構成されることを特徴とする基本ユニットの制御方法。 - 請求項28に記載の制御方法の各工程をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014248402A JP6535459B2 (ja) | 2014-12-08 | 2014-12-08 | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014248402A JP6535459B2 (ja) | 2014-12-08 | 2014-12-08 | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016110458A true JP2016110458A (ja) | 2016-06-20 |
JP2016110458A5 JP2016110458A5 (ja) | 2017-10-12 |
JP6535459B2 JP6535459B2 (ja) | 2019-06-26 |
Family
ID=56124332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014248402A Active JP6535459B2 (ja) | 2014-12-08 | 2014-12-08 | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6535459B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018063612A (ja) * | 2016-10-14 | 2018-04-19 | オムロン株式会社 | 演算装置および制御システム |
CN109324535A (zh) * | 2017-07-31 | 2019-02-12 | 松下神视株式会社 | 控制单元、可编程控制器 |
KR20190089155A (ko) * | 2018-01-18 | 2019-07-30 | 미쓰비시덴키 가부시키가이샤 | Plc, 네트워크 유닛, cpu 유닛, 및 데이터 전송 방법 |
WO2020213853A1 (ko) * | 2019-04-15 | 2020-10-22 | 엘에스일렉트릭(주) | Plc 시스템 및 이의 입출력 리프레시 주기 제어방법 |
JP2020177712A (ja) * | 2020-08-07 | 2020-10-29 | 株式会社キーエンス | 外部設定機器 |
JP2021036479A (ja) * | 2020-08-07 | 2021-03-04 | 株式会社キーエンス | プログラマブルロジックコントローラおよびメインユニット |
CN113544600A (zh) * | 2019-03-15 | 2021-10-22 | 欧姆龙株式会社 | 控制系统、中继装置以及中继程序 |
US11188048B2 (en) | 2018-10-23 | 2021-11-30 | Keyence Corporation | Programmable logic controller and main unit |
US11467990B2 (en) | 2018-10-15 | 2022-10-11 | Mitsubishi Electric Corporation | Programmable logic controller, external apparatus, method, and recording medium |
JP7221465B1 (ja) * | 2022-06-15 | 2023-02-13 | 三菱電機株式会社 | 制御システム、プログラマブルロジックコントローラ、可視化方法及びプログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003029809A (ja) * | 2001-07-19 | 2003-01-31 | Omron Corp | Cpuユニット並びにプログラマブルコントローラ |
JP2008251051A (ja) * | 2008-07-07 | 2008-10-16 | Okwave:Kk | 管理サーバ |
JP2008251052A (ja) * | 2008-07-08 | 2008-10-16 | Omron Corp | I/oユニット及びプログラマブルコントローラシステム |
JP2010198600A (ja) * | 2009-02-02 | 2010-09-09 | Omron Corp | 産業用コントローラ |
JP2014052672A (ja) * | 2012-09-04 | 2014-03-20 | Keyence Corp | プログラマブルコントローラ、プログラム作成支援装置、プログラム及び基本ユニット |
WO2014108999A1 (ja) * | 2013-01-08 | 2014-07-17 | 富士電機株式会社 | 制御システム、マスタープログラマブルコントローラ、スレーブプログラマブルコントローラ、および、制御方法 |
-
2014
- 2014-12-08 JP JP2014248402A patent/JP6535459B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003029809A (ja) * | 2001-07-19 | 2003-01-31 | Omron Corp | Cpuユニット並びにプログラマブルコントローラ |
JP2008251051A (ja) * | 2008-07-07 | 2008-10-16 | Okwave:Kk | 管理サーバ |
JP2008251052A (ja) * | 2008-07-08 | 2008-10-16 | Omron Corp | I/oユニット及びプログラマブルコントローラシステム |
JP2010198600A (ja) * | 2009-02-02 | 2010-09-09 | Omron Corp | 産業用コントローラ |
JP2014052672A (ja) * | 2012-09-04 | 2014-03-20 | Keyence Corp | プログラマブルコントローラ、プログラム作成支援装置、プログラム及び基本ユニット |
WO2014108999A1 (ja) * | 2013-01-08 | 2014-07-17 | 富士電機株式会社 | 制御システム、マスタープログラマブルコントローラ、スレーブプログラマブルコントローラ、および、制御方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018063612A (ja) * | 2016-10-14 | 2018-04-19 | オムロン株式会社 | 演算装置および制御システム |
CN109324535A (zh) * | 2017-07-31 | 2019-02-12 | 松下神视株式会社 | 控制单元、可编程控制器 |
KR20190089155A (ko) * | 2018-01-18 | 2019-07-30 | 미쓰비시덴키 가부시키가이샤 | Plc, 네트워크 유닛, cpu 유닛, 및 데이터 전송 방법 |
KR102016629B1 (ko) | 2018-01-18 | 2019-08-30 | 미쓰비시덴키 가부시키가이샤 | Plc, 네트워크 유닛, cpu 유닛, 및 데이터 전송 방법 |
US11467990B2 (en) | 2018-10-15 | 2022-10-11 | Mitsubishi Electric Corporation | Programmable logic controller, external apparatus, method, and recording medium |
US11188048B2 (en) | 2018-10-23 | 2021-11-30 | Keyence Corporation | Programmable logic controller and main unit |
CN113544600A (zh) * | 2019-03-15 | 2021-10-22 | 欧姆龙株式会社 | 控制系统、中继装置以及中继程序 |
CN113544600B (zh) * | 2019-03-15 | 2024-04-05 | 欧姆龙株式会社 | 控制系统、中继装置以及记录介质 |
WO2020213853A1 (ko) * | 2019-04-15 | 2020-10-22 | 엘에스일렉트릭(주) | Plc 시스템 및 이의 입출력 리프레시 주기 제어방법 |
US12001185B2 (en) | 2019-04-15 | 2024-06-04 | Ls Electric Co., Ltd. | PLC system, and method for controlling input/output refresh period thereof |
JP2020177712A (ja) * | 2020-08-07 | 2020-10-29 | 株式会社キーエンス | 外部設定機器 |
JP2021036479A (ja) * | 2020-08-07 | 2021-03-04 | 株式会社キーエンス | プログラマブルロジックコントローラおよびメインユニット |
JP7221465B1 (ja) * | 2022-06-15 | 2023-02-13 | 三菱電機株式会社 | 制御システム、プログラマブルロジックコントローラ、可視化方法及びプログラム |
WO2023243012A1 (ja) * | 2022-06-15 | 2023-12-21 | 三菱電機株式会社 | 制御システム、プログラマブルロジックコントローラ、可視化方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP6535459B2 (ja) | 2019-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016110458A (ja) | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム | |
US8346378B2 (en) | Programmable controller | |
JP6626315B2 (ja) | プログラマブル・ロジック・コントローラのモニタ装置及びプログラマブル・ロジック・コントローラ・システム | |
CN110456707B (zh) | 控制装置 | |
US10025281B2 (en) | Control device and system program, and recording medium | |
US10180674B2 (en) | Controller and control system | |
JP2016110458A5 (ja) | ||
JP2016110460A (ja) | プログラマブルコントローラ、プログラマブルコントローラの制御方法およびプログラム | |
JP5680466B2 (ja) | 並列処理システム及び並列処理システムの動作方法 | |
JP6772748B2 (ja) | 演算装置および制御システム | |
JP6626313B2 (ja) | プログラマブル・ロジック・コントローラ、拡張ユニット、制御方法、プログラム作成支援装置、プログラム作成支援方法およびプログラム | |
JP5549455B2 (ja) | プログラマブルコントローラシステムおよびそのプログラム更新方法 | |
JP6419400B1 (ja) | Plc、ネットワークユニット、cpuユニット、及びデータ転送方法 | |
JP4152079B2 (ja) | プログラマブルコントローラの周辺装置 | |
EP1367469A1 (en) | Controller for machine | |
JP6626314B2 (ja) | プログラマブル・ロジック・コントローラ | |
JP6516874B2 (ja) | プログラマブルコントローラ及び同期制御プログラム | |
JP2007241570A (ja) | プログラマブルコントローラ間通信のための共有メモリの設定方式 | |
JP2021002113A (ja) | 制御装置 | |
JP4349687B2 (ja) | プログラマブル・コントローラ | |
JPWO2014080457A1 (ja) | プログラマブルコントローラ | |
JP5951123B2 (ja) | 制御装置 | |
JP5540928B2 (ja) | プログラマブルコントローラシステムおよびそのアプリケーション起動方法 | |
JP2007249560A (ja) | プログラマブルコントローラにおけるcpuモジュール | |
JP2017079005A (ja) | プログラマブル・ロジック・コントローラ、制御方法、cpuユニットおよび拡張ユニット |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170831 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170831 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190409 |
|
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: 20190513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6535459 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |