JP2875842B2 - プログラマブルコントローラ - Google Patents
プログラマブルコントローラInfo
- Publication number
- JP2875842B2 JP2875842B2 JP2066792A JP6679290A JP2875842B2 JP 2875842 B2 JP2875842 B2 JP 2875842B2 JP 2066792 A JP2066792 A JP 2066792A JP 6679290 A JP6679290 A JP 6679290A JP 2875842 B2 JP2875842 B2 JP 2875842B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- user program
- processor
- microcomputer
- management
- 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.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 78
- 238000000034 method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13153—Modification, change of program in real time
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
Description
RUN中にユーザプログラムの内容を変更するのに好適な
プログラマブルコントローラに関する。
容を変更する機能を搭載したプログラマブルコントロー
ラが一般的になってきている。例えば特開昭63−214806
号公報記載の従来技術では、シーケンスプロセッサが実
行するユーザプログラムAを格納した第1メモリの他
に、別のユーザプログラムBを格納した第2のメモリを
設け、書替命令によりこの第2メモリの内容を第1メモ
リに転送し、シーケンスプロセッサが実行するユーザプ
ログラムをAからBに変更している。
上記従来技術により変更する場合、第2メモリから第1
メモリへ新たなユーザプログラムを転送するのに時間が
かかり、この転送時間中はシーケンス処理が中断してし
まうという問題がある。特に、大型のユーザプログラム
を用いる場合、この問題の影響は大きい。
1メモリ中のユーザプログラム自体の一部を直後書き替
える機能を設けることで、上記転送の問題を回避するこ
とができる。しかし、間違って書き替えた場合、例えば
ジャンプ命令を追加しそのジャンプ先に何も無いような
場合、その書替えは不正となるが、シーケンスプロセッ
サはその第1メモリ内のユーザプログラムを順次実行中
のため、同時に検証用プログラムを起動してチェックす
るのは難しく、書替えミスが生じたときは対処のしよう
が無いという問題がある。
つ迅速にできるプログラマブルコントローラを提供する
ことにある。
プロセッサと、ユーザプログラムのコピーを行う管理用
プロセッサと、同一アドレスでアクセスされユーザプロ
グラムを格納する2つのメモリと、前記管理用プロセッ
サからの指示に基づいて前記2つのメモリのうち前記シ
ーケンスプロセッサがアクセスするメモリを選択し該メ
モリに格納されているユーザプログラムを前記シーケン
スプロセッサに実行させると共に前記管理用プロセッサ
がアクセスするメモリを選択するメモリ選択手段とを備
え、該メモリ選択手段は、前記管理用プロセッサから第
1指示を受けた場合には、前記シーケンスプロセッサが
実行中のユーザプログラムを格納したメモリに対し前記
管理用プロセッサにアクセスさせ、前記管理用プロセッ
サから第2指示を受けた場合には、前記シーケンスプロ
セッサが実行中のユーザプログラムを格納したメモリと
は別の他方のメモリに対し前記管理用プロセッサにアク
セスさせるものとすることで、達成される。
示,第2指示により、管理用プロセッサがアクセス可能
とするメモリを、シーケンスプロセッサのアクセスする
メモリとするか、他方のメモリとするかを切り替えるこ
とができるので、シーケンスプロセッサが実行中のユー
ザプログラムでも当該ユーザプログラムを他方のメモリ
や外部記憶装置にコピーして修正・検証を行うことがで
きる。
ントローラの構成図である。プログラマブルコントロー
ラのCPUモジュール15と、入力モジュール12a,12b,…、
出力モジュール13a,13b,…とはPI/Oバス14にて接続され
ている。
ログラム実行マイコン3と、前記PI/Oバス14が接続され
るPI/Oバスコントローラ7と、マイコン3から同一アド
レスにてアクセスされる2つのユーザプログラムメモリ
5a,5bと、これらを相互に接続するシーケンサバス9と
を備える。また、ユーザプログラムの検証や管理を行う
プログラム管理用マイコン1と、プログラム管理用マイ
コンシステムプログラム格納メモリ2と、両者を相互に
接続するマイコンバス8とを備え、前記シーケンサバス
9とこのマイコンバス8とは、バスインタフェース4に
て接続されている。
スタ6を備え、ユーザプログラムメモリ5a,5bの一方を
選択信号11a,11bにて選択しシーケンサバス9に接続す
るようになっている。このメモリ選択レジスタ6は、管
理用マイコン1のメモリアクセス信号10aと実行マイコ
ン3のメモリアクセス信号10b及び管理マイコン1から
の設定値信号を入力とし、選択信号11a,11bを出力す
る。尚、メモリ5a内に格納されたユーザプログラムを#
1とし、メモリ5b内に格納されたユーザプログラムを#
2として以下説明する。
類が用意され、設定値「1」がレジスタ6に設定される
と両マイコン1,3からのアクセス信号10a,10bがあるとき
選択信号11aにてメモリ5aが選択される。設定値「2」
がレジスタ6に設定されると、両マイコン1,3からのア
クセス信号10a,10bがあるとき選択信号11bにてメモリ5b
が選択される。設定値「3」がレジスタ6に設定される
と、実行用マイコン3からのアクセス信号10bがあると
き選択信号11aを出力してメモリ5aを選択し、管理用マ
イコン1からのアクセス信号10aがあるとき選択信号11b
を出力してメモリ5bが選択される。設定値「4」がレジ
スタ6に設定されると、実行用マイコン3からのアクセ
ス信号10bがあるとき選択信号11bを出力してメモリ5bを
選択し、管理用マイコン1からのアクセス信号10aがあ
るとき選択信号11aを出力してメモリ5aが選択される。
図である。マイコン3の1命令サイクルは、命令フェッ
チaと、デコードbと、アドレス計算cと、I/Oアクセ
スdと、実行eとからなるが、このうち、命令フェッチ
aとI/Oアクセスdのときにシーケンサバス9を占有す
る。従って、マイコン3がデコードb,アドレス計算c,実
行dを行っているときは、シーケンサバス9は空いてい
るので、このときに管理用マイコン1がこのシーケンサ
バス9を使用することが可能となる。
動作について説明する。
き、実行用マイコン3がアクセス信号10bをレジスタ6
に出力すると共にメモリからユーザプログラムの命令を
読むためにアドレス信号をシーケンサバス9に出力する
と、レジスタ6によってメモリ5aが選択されているの
で、前記アドレス信号にてメモリ5aのユーザプログラム
#1がアクセスされ、実行用マイコン3は命令を取り込
み、命令を実行する。ここで、管理用マイコン1が実行
中のユーザプログラム#1を読み出して例えば外部記憶
装置にコピーを取る場合、実行用マイコン3がシーケン
サバス9を使用していないサイクルにおいて、アクセス
信号10aをレジスタ6に出力すると共に、アドレス信号
をマイコンバス8に出力する。レジスタ6の選択信号11
aにてメモリ5aが選択されているので、このアドレス信
号がバスインタフェース4を介してシーケンサバス9に
入力されると、メモリ5aからユーザプログラム#1が読
み出される。実行中のユーザプログラムがメモリ5bに格
納されている場合には、レジスタ6に「2」を設定し、
以下同様とする。
プログラム#1に変更を加えたい場合には、レジスタ6
に「3」を設定する。これにより、実行用マイコン3は
継続してメモリ5aのユーザプログラム#1を読み出して
実行するが、管理用マイコン1はメモリ5bにアクセス可
能となる。従って、前述した様にして外部記憶装置に取
り出したユーザプログラム#1に修正を加え、修正後の
ユーザプログラム#2を管理用マイコン1によりメモリ
5bに格納することが可能となる。この修正を外部のプロ
グラミング装置で行い、修正にミスがあるか無いかを検
証してもよく、また、メモリ5bに格納した後に管理用マ
イコン1にて検証してもよい。また、外部のプログラミ
ング装置を使用せずに、ユーザプログラム#1をメモリ
5bにコピーした後、管理用マイコン1にてメモリ5b内の
ユーザプログラムに修正を加えるようにしてもよい。
尚、実行中のユーザプログラムが#2で、これに修正を
加える場合には、レジスタ6に「4」を設定して、以下
同様とする。
ザプログラムを#2に変更する手順を説明する。前述し
た様に、レジスタ6の設定値を「3」として実行マイコ
ン3がユーザプログラム#1を実行し管理用マイコン1
がメモリ5bにアクセス可能状態にする。そして、管理用
マイコン1によってメモリ5bにユーザプログラム#2を
格納する。そして、実行マイコン3によるユーザプログ
ラム#1のスキャンエンドを待機する。スキャンエンド
になったとき、実行マイコン3は管理用マイコン1に割
込みをかけ、この割込みを受け付けた管理用マイコン1
はメモリ選択レジスタ6に例えば「4」を設定する。こ
れにより、実行マイコン3が出力するアドレス信号にて
メモリ5bのユーザプログラム#2がアクセスされること
になる。この様に、実行対象のユーザプログラムを#1
から#2に変更する場合、実行マイコンがアクセスする
メモリを切り替えることで行うので、実行マイコン3は
変更を意識すること無く、また、シーケンス処理を中断
すること無く、切り替えができる。
ユーザプログラムの変更ができ、また、この変更後のユ
ーザプログラムの実行前の検証も可能となる。
トローラの構成図、第2図はレジスタによる2つのメモ
リの選択状態を説明する図、第3図はシーケンスプロセ
ッサの1命令サイクル説明図、第4図はユーザプログラ
ム変更手順を示すフローチャートである。 1……管理用マイコン(管理用プロセッサ)、3……実
行用マイコン(シーケンスプロセッサ)、5a……ユーザ
プログラム#1用メモリ、5b……ユーザプログラム#2
用メモリ、6……メモリ選択レジスタ、9……シーケン
サバス。
Claims (2)
- 【請求項1】ユーザプログラムを実行するシーケンスプ
ロセッサと、ユーザプログラムのコピーを行う管理用プ
ロセッサと、同一アドレスでアクセスされユーザプログ
ラムを格納する2つのメモリと、前記管理用プロセッサ
からの指示に基づいて前記2つのメモリのうち前記シー
ケンスプロセッサがアクセスするメモリを選択し該メモ
リに格納されているユーザプログラムを前記シーケンス
プロセッサに実行させると共に前記管理用プロセッサが
アクセスするメモリを選択するメモリ選択手段とを備
え、該メモリ選択手段は、前記管理用プロセッサから第
1指示を受けた場合には、前記シーケンスプロセッサが
実行中のユーザプログラムを格納したメモリに対し前記
管理用プロセッサにアクセスさせ、前記管理用プロセッ
サから第2指示を受けた場合には、前記シーケンスプロ
セッサが実行中のユーザプログラムを格納したメモリと
は別の他方のメモリに対し前記管理用プロセッサにアク
セスさせるものであることを特徴とするプログラマブル
コントローラ。 - 【請求項2】請求項1において、前記管理用プロセッサ
はアクセスしたメモリに格納されているユーザプログラ
ムを該メモリの外部にコピーする処理の他、前記シーケ
ンスプロセッサが実行中のユーザプログラムを格納した
メモリとは別の他方のメモリに格納されたユーザプログ
ラムの修正または検証の処理を行うことを特徴とするプ
ログラマブルコントローラ。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2066792A JP2875842B2 (ja) | 1990-03-19 | 1990-03-19 | プログラマブルコントローラ |
ES90125864T ES2133268T3 (es) | 1990-03-19 | 1990-12-31 | Controlador programable. |
EP90125864A EP0447685B1 (en) | 1990-03-19 | 1990-12-31 | Programmable controller |
DE69033031T DE69033031T2 (de) | 1990-03-19 | 1990-12-31 | Programmierbares Steuergerät |
US08/231,642 US5600807A (en) | 1990-03-19 | 1994-04-22 | Programmable controller capable of updating a user program during operation by switching between user program memories |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2066792A JP2875842B2 (ja) | 1990-03-19 | 1990-03-19 | プログラマブルコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03268005A JPH03268005A (ja) | 1991-11-28 |
JP2875842B2 true JP2875842B2 (ja) | 1999-03-31 |
Family
ID=13326072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2066792A Expired - Lifetime JP2875842B2 (ja) | 1990-03-19 | 1990-03-19 | プログラマブルコントローラ |
Country Status (5)
Country | Link |
---|---|
US (1) | US5600807A (ja) |
EP (1) | EP0447685B1 (ja) |
JP (1) | JP2875842B2 (ja) |
DE (1) | DE69033031T2 (ja) |
ES (1) | ES2133268T3 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2997005B2 (ja) * | 1990-04-12 | 2000-01-11 | キヤノン株式会社 | 出力装置 |
US5831852A (en) * | 1992-12-14 | 1998-11-03 | Carrier Corporation | Method and apparatus for loading a control program into a refrigeration system |
JP2000339008A (ja) * | 1999-05-27 | 2000-12-08 | Hitachi Ltd | プログラマブルコントローラ |
US6678274B1 (en) * | 1999-07-30 | 2004-01-13 | Riverstone Networks, Inc. | Method and system for managing forwarding tables |
US7228538B1 (en) * | 2000-05-02 | 2007-06-05 | International Business Machines Corporation | Method, system, and program for updating firmware to a storage system comprised of multiple controllers |
JP3594035B2 (ja) * | 2003-03-13 | 2004-11-24 | オムロン株式会社 | 制御装置、cpuユニット、プログラマブルコントローラのユーザプログラム編集方法、及びオンラインエディットされる際のプログラマブルコントローラの処理方法 |
JP2008077265A (ja) * | 2006-09-20 | 2008-04-03 | Fuji Electric Fa Components & Systems Co Ltd | プログラマブルコントローラのプログラム更新方法 |
US20080109647A1 (en) * | 2006-11-07 | 2008-05-08 | Lee Merrill Gavens | Memory controllers for performing resilient firmware upgrades to a functioning memory |
US8286156B2 (en) * | 2006-11-07 | 2012-10-09 | Sandisk Technologies Inc. | Methods and apparatus for performing resilient firmware upgrades to a functioning memory |
WO2008058101A2 (en) * | 2006-11-07 | 2008-05-15 | Sandisk Corporation | Memory controllers for performing resilient firmware upgrades to a functioning memory |
US7836347B2 (en) * | 2007-10-17 | 2010-11-16 | GE Intelligent Platforms Inc. | Service and diagnostic logic scan apparatus and method |
US8973124B2 (en) * | 2012-04-30 | 2015-03-03 | General Electric Company | Systems and methods for secure operation of an industrial controller |
JP5906972B2 (ja) * | 2012-07-05 | 2016-04-20 | 富士ゼロックス株式会社 | 画像形成装置および画像読取装置 |
US9116774B2 (en) | 2013-05-14 | 2015-08-25 | Sandisk Technologies Inc. | Firmware updates for multiple product configurations |
JP5937637B2 (ja) * | 2014-04-30 | 2016-06-22 | ファナック株式会社 | シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4257095A (en) * | 1978-06-30 | 1981-03-17 | Intel Corporation | System bus arbitration, circuitry and methodology |
US4257097A (en) * | 1978-12-11 | 1981-03-17 | Bell Telephone Laboratories, Incorporated | Multiprocessor system with demand assignable program paging stores |
DE3610155A1 (de) * | 1986-03-26 | 1987-10-08 | Joachim Bauer | Mehrprozessorsystem fuer paralleles schreiben und lesen von informationen |
US5012408A (en) * | 1990-03-15 | 1991-04-30 | Digital Equipment Corporation | Memory array addressing system for computer systems with multiple memory arrays |
US5144242A (en) * | 1990-08-23 | 1992-09-01 | The Regents Of The University Of California | Continually loadable microcode store for MRI control sequencers |
-
1990
- 1990-03-19 JP JP2066792A patent/JP2875842B2/ja not_active Expired - Lifetime
- 1990-12-31 DE DE69033031T patent/DE69033031T2/de not_active Expired - Lifetime
- 1990-12-31 ES ES90125864T patent/ES2133268T3/es not_active Expired - Lifetime
- 1990-12-31 EP EP90125864A patent/EP0447685B1/en not_active Expired - Lifetime
-
1994
- 1994-04-22 US US08/231,642 patent/US5600807A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5600807A (en) | 1997-02-04 |
EP0447685B1 (en) | 1999-03-31 |
JPH03268005A (ja) | 1991-11-28 |
EP0447685A2 (en) | 1991-09-25 |
EP0447685A3 (en) | 1992-11-19 |
DE69033031T2 (de) | 1999-12-16 |
DE69033031D1 (de) | 1999-05-06 |
ES2133268T3 (es) | 1999-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2875842B2 (ja) | プログラマブルコントローラ | |
EP0554917B1 (en) | Digital signal processing system having two instruction memories accessed by a processor under control of host | |
JPH02267634A (ja) | 割込み処理装置 | |
JP3563768B2 (ja) | Romプログラム変更装置 | |
JP2004046453A (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
JPH0237600A (ja) | 読取り専用記憶装置の試験方法とその方法を実行するデバイス | |
JP2004126658A (ja) | プロセッサシステム | |
JP2004348327A (ja) | デジタル信号処理装置及びデジタル信号処理方法 | |
JPS6410854B2 (ja) | ||
JP2003177934A (ja) | ディジタル信号処理装置 | |
JPS59218569A (ja) | マイクロ・コンピユ−タ | |
EP1221096A1 (en) | Method and apparatus for modifying microinstructions in a static memory device | |
JPH03103924A (ja) | データ処理装置 | |
JP3127737B2 (ja) | ディジタル信号処理装置 | |
JPH03160524A (ja) | 情報処理装置 | |
JPH1040094A (ja) | ファームウエアのプログラム制御装置 | |
JPH0630056B2 (ja) | 信号処理装置 | |
JP5194360B2 (ja) | 情報処理装置およびその制御方法 | |
JP3828040B2 (ja) | マイクロコンピュータの制御方法 | |
JPS60126731A (ja) | プログラム制御方法 | |
JPH1027153A (ja) | バス転送装置 | |
JPH02183330A (ja) | データ処理装置 | |
JPH05189227A (ja) | ワンタイムプログラマブルrom内蔵マイクロコンピュータ | |
JP2002055837A (ja) | データ処理システム及びその製造方法 | |
JPH05282232A (ja) | 装置制御機構 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080114 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090114 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090114 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100114 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110114 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110114 Year of fee payment: 12 |