JP2007128413A - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
JP2007128413A
JP2007128413A JP2005322185A JP2005322185A JP2007128413A JP 2007128413 A JP2007128413 A JP 2007128413A JP 2005322185 A JP2005322185 A JP 2005322185A JP 2005322185 A JP2005322185 A JP 2005322185A JP 2007128413 A JP2007128413 A JP 2007128413A
Authority
JP
Japan
Prior art keywords
counter value
slave unit
input
cpu unit
programmable controller
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.)
Pending
Application number
JP2005322185A
Other languages
English (en)
Inventor
Takashi Tsutsui
崇 筒井
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2005322185A priority Critical patent/JP2007128413A/ja
Publication of JP2007128413A publication Critical patent/JP2007128413A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】 プログラマブルコントローラにおいて、CPUユニットがスレーブユニットの受信確認を容易にできるようにする。
【解決手段】 スレーブユニット12がデータ授受のための共有メモリ13を備えたプログラマブルコントローラにおいて、共有メモリ13にカウンタ値を書き込む入出力処理カウンタ格納エリア105を備え、スレーブユニットが返信する毎に前記カウンタ値を更新し、前記CPUユニットが前記カウンタ値の更新を確認する。
【選択図】 図1

Description

本発明は、プログラマブルコントローラに関し、特にスレーブユニットの受信確認を可能とするプログラマブルコントローラに関する。
図5は、従来例のプログラマブルコントローラの構成図である。
図において、11はCPUユニット、12はスレーブユニットである。
CPUユニット11にはCPU101を備え、スレーブユニット12にはCPU102と共有メモリ12を備えている。また、共有メモリ12には、制御データ格納エリア103、状態データ格納エリア104がある。
CPUユニットとスレーブユニット間のデータ授受は、共有メモリ12を介して行われる。
図6は、従来例のプログラマブルコントローラの動作フローである。
CPUユニットでは、ユーザプログラム実行処理とスレーブユニットとの入出力処理とをサイクリックに実行する。一方、スレーブユニットでは、CPUユニットとの入出力処理とユーザプログラム実行処理をサイクリックに実行する。
プログラマブルコントローラのソフトウエアは、基本動作を実行するシステムプログラムと、システム仕様実現のためのユーザプログラムとで構成される。
CPUユニット11においては、制御や監視などはユーザプログラムで実行し、スレーブユニットとの入出力処理はシステムプログラムで実行している。
スレーブユニット12においては、CPUユニットとの入出力処理はシステムプログラムで実行し、入出力処理結果を受けた処理はユーザプログラムで実行する。なお、スレーブユニット12では、すべての処理をシステムプログラムで行う場合もある。
ここで、システムプログラムとユーザプログラム間のデータ授受は、ユーザ入力メモリとユーザ出力メモリを介して行なわれる。システムプログラムは、ユーザ出力メモリのデータを読み出して処理を行い、その処理結果をユーザ入力メモリに書き込む。一方、ユーザプログラムは、ユーザ入力メモリのデータを読み出して処理を行い、その処理結果をユーザ出力メモリに書き込むようにしている。
以下、図6に基づいて動作を説明する。
先ず、ユーザプログラム実行処理(S101)では、ユーザプログラムを実行し実行結果をユーザ出力メモリに書き込む。その後、スレーブユニットとの入出力処理(S102)では、ユーザ出力メモリのデータを読み出して、制御データとして制御データ格納エリア103に書き込む。同時に、状態データ格納エリア104の状態データを読み出してユーザ入力メモリに書き込む。このユーザ入力メモリのデータはユーザプログラムに反映される。
次に、CPUユニットとの入出力処理(S103)では、制御データ格納エリア103から制御データを読み出してユーザ入力メモリに書き込む。このユーザ入力メモリのデータでユーザプログラムが実行される。また、ユーザプログラムの実行結果であるユーザ出力メモリのデータを読み出して、状態データ格納エリア104に書き込む。ここで、スレーブユニットの処理をすべてシステムプログラムが行う場合もある。
このようにして、CPUユニット11でのユーザプログラムの処理結果がスレーブユニット12に送られ、スレーブユニット12で処理されることで、システム動作が実現できるのである。
ここで、CPUユニットの入出力処理とスレーブユニットの入出力処理とは独立して行われ、非同期である。また、CPUユニット11では複数の処理が平行して実行されるので、共有メモリへのアクセスは必ずしも一定周期とはならない。
マスタ/スレーブ方式の別の従来例として、受信確認データを設ける方法がある。(たとえば、特許文献1参照)
ここでは、受信確認用としてハンドシェークフラグを設けている。
マスタのFAコントローラは、指令データを指令データ格納エリアに書き込んだ後、ハンドシェークフラグに「要求あり」と書き込む。
スレーブのプログラマブルコントローラは、このハンドシェークフラグを監視しており、「要求あり」を検知すると指令データを読み出す。所定の処理を終了した後、応答データを応答データ格納エリアに書き込み、前記ハンドシェークフラグに「応答あり」とセットする。
FAコントローラはこのハンドシェークフラグを監視しており、「応答あり」と確認されたら、応答データを読み出すようにしている。
特許第2848762号公報
しかしながら、従来例ではCPUユニットの入出力処理とスレーブユニットの入出力処理は非同期に行われるので、スレーブユニットが受信できたかどうかをCPUユニットが確認出来ないという問題があった。
また、別の従来例ではハンドシェークフラグを監視するための処理が必要である。また、複数の処理が平行して行われる場合は複数のフラグが必要があり、より多くの処理時間が必要になるという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、スレーブユニットが受信したことを容易に確認でき、かつ受信確認のための処理時間が少ないプログラマブルコントローラを提供することを目的とする。
上記問題を解決するため、本発明は次のように構成したのである。
請求項1に記載の発明は、CPUユニットとスレーブユニットとで構成され、前記スレーブユニットが、前記CPUユニットとのデータ授受のための共有メモリを備えたプログラマブルコントローラにおいて、前記共有メモリに、カウンタ値を書き込む入出力処理カウンタ値格納エリアを備え、前記スレーブユニットが、前記CPUユニットからの指令を処理して返信する毎に、前記カウンタ値を更新して前記入出力処理カウンタ値格納エリアに書き込み、前記CPUユニットが前記カウンタ値の更新を確認するようにしたのである。
また、請求項2に記載の発明は、CPUユニットとスレーブユニットとで構成され、前記スレーブユニットが、前記CPUユニットとのデータ授受のための共有メモリを備え、前記共有メモリに状態データ格納エリアを備えたプログラマブルコントローラにおいて、
前記スレーブユニットが、前記CPUユニットからの指令を処理して返信する毎に、カウンタ値を含む状態データを前記状態データ格納エリアに書き込み、前記CPUユニットが、前記状態データ内のカウンタ値をユーザプログラムで確認するようにしたのである。
請求項1に記載の発明によると、入出力処理カウンタ値の更新を確認することで、スレーブユニットの受信を容易に確認でき、かつ受信確認に必要な時間も短くてすむのである。
また、請求項2に記載の発明によると、ユーザプログラムで入出力処理カウンタ値の更新を確認することができるので、受信確認の処理が容易でかつ処理時間も短くできる。
以下、本発明の実施の形態について、図を参照して説明する。
図1は、本発明の第1実施例を示すプログラマブルコントローラの構成図である。
共有メモリ13には、制御データ格納エリア103と状態データ格納エリア104、入出力処理カウンタ値格納エリア105を備えている。従来例と異なる点は、入出力処理カウンタ格納エリア105を備えた点である。
図2は、本発明の第1実施例を示すプログラマブルコントローラの動作フローである。従来例と異なる点は、スレーブユニットとの入出力処理(S102a)に入出力処理カウンタ値の読み出しが追加され、CPUユニットとの入出力処理(S103a)に入出力処理カウンタ値の書き込みが追加され、カウンタ値の更新確認(S105)が追加された点である。
以下、図に基づいて動作を説明する。
CPUユニット11のユーザプログラム実行処理(S101)、スレーブユニット12のユーザプログラム実行処理(S104)は、従来例と同様であるので説明を省略する。
スレーブユニット12では、CPUユニットとの入出力処理(S103a)において、制御データ読み出しおよび状態データ書き込みの処理の後、入出力処理カウンタ値格納エリア105のカウンタ値を更新する。なお、カウンタ値の更新は、通常はインクリメントする方法をとるが、これに限定されない。
CPUユニット11は、スレーブユニットとの入出力処理(S102a)において、制御データ書き込みおよび状態データ読み出しの処理の後、入出力処理カウンタ値格納エリア105のカウンタ値を読み出す。
次に、カウンタ値の更新確認(S105)において、読み出したカウンタ値が更新されているか否か確認する。これが更新されている場合に、スレーブユニット12が受信したと認識する。
なお、上記の各入出力処理とカウンタ値の更新確認はシステムプログラムで行われる。
このようにして、CPUユニット11が入出力処理カウンタ値の更新を確認することで、スレーブユニット12が受信したかどうかを、CPUユニット11が判断することが出来るのである。
別の従来例では、ハンドシェークフラグを、相手がリセットするまで待つ必要があるが、本実施例のカウンタ方式では、の更新を必ずしも待つ必要はなく、その実行処理内容によって更新の確認をするか否かを決めればよい。
また、受信確認できる別の効果として、ユーザプログラムのデバッグやトラブルシュートに要する時間を短縮することができる。
図3は、本発明の第2実施例を示すプログラマブルコントローラの構成図である。
共有メモリ13には、従来例と同様に、制御データ格納エリア103、状態データ格納エリア104を備えている。従来例との違いは、状態データエリア104のデータ中に入出力処理カウンタが含まれている点である。図では、状態データ内に入出力処理カウンタ値のデータが存在する様子を示す。
図4は、本発明の第2実施例を示すプログラマブルコントローラの動作フローである。
従来例とは、CPUユニットのユーザプログラム実行(S101b)、スレーブユニットの入出力処理(S102b)、CPUユニットの入出力処理(S103b)の処理内容が異なっている。
以下、図に基づいて動作を説明する。
スレーブユニットのユーザプログラム実行処理(S104)は、従来例と同様であるので説明を省略する。
スレーブユニットにおいて、CPUユニットの入出力処理(S103b)では、状態データを書き込むときに、状態データ内の入出力処理カウンタ値を更新する。なお、更新の方法は第1実施例と同様である。
CPUユニットにおいては、スレーブユニットとの入出力処理(S102b)では、状態データを読み出す処理で入出力処理カウンタ値を含めて読み出す。
これを受けてユーザプログラムが実行されるが(S101b)、このユーザプログラムでカウンタ値を参照し更新を確認する。カウンタ値が更新されている場合、スレーブユニットが受信したことを認識する。
本実施例では、第1実施例と異なり、カウンタ値の確認のための共有メモリへのアクセスが不要なので、処理時間が少なくてすむ。
また、ユーザプログラムからカウンタ値を参照できるので、処理の内容によってカウンタ値の更新を確認するか否かを、自由に選択できる。
本発明は、共有メモリを使ってデータ授受を行うマスタ/スレーブ方式制御装置に適用できる。
本発明の第1実施例を示すプログラマブルコントローラの構成図 本発明の第1実施例を示すプログラマブルコントローラの動作フロー 本発明の第2実施例を示すプログラマブルコントローラの構成図 本発明の第2実施例を示すプログラマブルコントローラの動作フロー 従来例のプログラマブルコントローラの構成図 従来例のプログラマブルコントローラの動作フロー
符号の説明
11 CPUユニット
12 スレーブユニット
13 共有メモリ
101 CPUユニットのCPU
102 スレーブユニットのCPU
103 制御データ格納エリア
104 状態データ格納エリア
105 入出力処理カウンタ格納エリア

Claims (2)

  1. CPUユニットとスレーブユニットとで構成され、
    前記スレーブユニットが、前記CPUユニットとのデータ授受のための共有メモリを備えたプログラマブルコントローラにおいて、
    前記共有メモリに、カウンタ値を書き込む入出力処理カウンタ値格納エリアを備え、
    前記スレーブユニットが、前記CPUユニットからの指令を処理して返信する毎に、前記カウンタ値を更新して前記入出力処理カウンタ値格納エリアに書き込み、前記CPUユニットが前記カウンタ値の更新を確認することを特徴とするプログラマブルコントローラ。
  2. CPUユニットとスレーブユニットとで構成され、
    前記スレーブユニットが、前記CPUユニットとのデータ授受のための共有メモリを備え、
    前記共有メモリに状態データ格納エリアを備えたプログラマブルコントローラにおいて、
    前記スレーブユニットが、前記CPUユニットからの指令を処理して返信する毎に、カウンタ値を含む状態データを前記状態データ格納エリアに書き込み、前記CPUユニットが、前記状態データ内のカウンタ値をユーザプログラムで確認することを特徴とするプログラマブルコントローラ。
JP2005322185A 2005-11-07 2005-11-07 プログラマブルコントローラ Pending JP2007128413A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005322185A JP2007128413A (ja) 2005-11-07 2005-11-07 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005322185A JP2007128413A (ja) 2005-11-07 2005-11-07 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JP2007128413A true JP2007128413A (ja) 2007-05-24

Family

ID=38150998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005322185A Pending JP2007128413A (ja) 2005-11-07 2005-11-07 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JP2007128413A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324143A (zh) * 2012-03-19 2013-09-25 发那科株式会社 通过io单元进行时间测量的数值控制系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324143A (zh) * 2012-03-19 2013-09-25 发那科株式会社 通过io单元进行时间测量的数值控制系统
JP2013196307A (ja) * 2012-03-19 2013-09-30 Fanuc Ltd Ioユニットにより時間計測を行う数値制御システム
CN103324143B (zh) * 2012-03-19 2014-10-01 发那科株式会社 通过io单元进行时间测量的数值控制系统
US9377770B2 (en) 2012-03-19 2016-06-28 Fanuc Corporation Numerical control system using I/O unit for time measurement

Similar Documents

Publication Publication Date Title
US10365626B2 (en) Extending the functionality of a programmable logic controller (PLC) with apps without changing the PLC programming
JP2016110458A (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
CN106528217B (zh) 一种现场可编程门阵列程序加载系统和方法
JP5680466B2 (ja) 並列処理システム及び並列処理システムの動作方法
US11165745B2 (en) Control system, controller, and control method
TW201820169A (zh) 多工處理器及多工處理器系統
JP2018136745A (ja) 制御システム、制御装置および制御プログラム
JP2009181443A (ja) 産業用コントローラ用機器
JP2007128413A (ja) プログラマブルコントローラ
JP5641181B2 (ja) 二重化処理装置
JP6419400B1 (ja) Plc、ネットワークユニット、cpuユニット、及びデータ転送方法
JP2008226111A (ja) 2重化コントローラシステム、その稼動系コントローラ
JP2010079355A (ja) 複数plc間の協調制御システム
JP2007241570A (ja) プログラマブルコントローラ間通信のための共有メモリの設定方式
JP6484015B2 (ja) プログラマブル・ロジック・コントローラおよびその制御方法
JP2006236371A (ja) 制御システム
JP2020190765A (ja) 転送装置、情報処理装置、および、データ転送方法
JP5687171B2 (ja) コントローラ、監視ユニット、およびシーケンスプログラム更新方法
JP2007249560A (ja) プログラマブルコントローラにおけるcpuモジュール
JP3358045B2 (ja) プログラマブルコントローラ
JP6409520B2 (ja) 制御システム、および中継装置
JP2021125008A (ja) サイクリック通信システムおよびその通信方法
JP6138482B2 (ja) 組み込みシステム
JP2006338271A (ja) テストシステム及びテスト方法
JP2018124886A (ja) プログラマブルコントローラ