JP2000020297A - Controller - Google Patents
ControllerInfo
- Publication number
- JP2000020297A JP2000020297A JP10186165A JP18616598A JP2000020297A JP 2000020297 A JP2000020297 A JP 2000020297A JP 10186165 A JP10186165 A JP 10186165A JP 18616598 A JP18616598 A JP 18616598A JP 2000020297 A JP2000020297 A JP 2000020297A
- Authority
- JP
- Japan
- Prior art keywords
- source code
- storage means
- code
- stored
- object code
- 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.)
- Withdrawn
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、外部機器を停止さ
せずにユーザプログラム等をモジュール単位で追加変更
する制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control device for adding or changing a user program or the like in units of modules without stopping external devices.
【0002】[0002]
【従来の技術】従来のプログラマブルコントローラ等の
制御装置は、FA(Factory Automation) 等の外部機器
を稼働するためのハードチェック処理、ラダープログラ
ム等からなるユーザプログラムの命令実行処理、外部機
器に対する制御処理以外の管理処理等の周辺処理を1サ
イクルとするスキャン処理を実行している。2. Description of the Related Art Conventionally, a control device such as a programmable controller includes a hard check process for operating an external device such as an FA (Factory Automation), a command execution process of a user program including a ladder program, and a control process for an external device. Scan processing is performed in which peripheral processing such as management processing other than is performed as one cycle.
【0003】このため、従来の制御装置は、外部機器を
停止させずにユーザプログラム等を追加変更する場合に
は、図12に示すように、周辺処理を行う短時間におい
て、1命令のみを追加変更するようになっている。For this reason, in the conventional control device, when a user program or the like is additionally changed without stopping an external device, as shown in FIG. It is supposed to change.
【0004】因みに、制御装置を稼働させるラダープロ
グラムには、所定の機能ごとにモジュール化するという
概念がないため、C++言語等の変数の概念もない。Incidentally, the ladder program for operating the control device has no concept of modularization for each predetermined function, and thus does not have a concept of variables such as C ++ language.
【0005】このため、従来の制御装置は、命令をアク
セスするためにはメモリの該当アドレスを直接指定しな
ければならない構成になっていることにより、外部機器
を停止させずにユーザプログラム等を追加変更する場合
には、周辺処理の短時間においてしか行うことができ
ず、1命令のみを追加変更することが可能であっても、
所定の機能ごとにモジュール化したものを追加変更する
ことができないという問題点があった。For this reason, the conventional control device has a configuration in which the corresponding address of the memory must be directly specified in order to access the instruction, so that a user program or the like can be added without stopping the external device. When changing, only the peripheral processing can be performed in a short time, and even if only one instruction can be changed,
There has been a problem that a module that has been modularized for each predetermined function cannot be added or changed.
【0006】そこで、出願人は、先に出願した特願平0
9−012726号に記載した発明では、IEC(Inte
rnationa Electrotechnical Commisson )1131−3
基準に準拠するモジュール化が可能なプログラム言語
(以下、IEC準拠プログラム言語という)を使用し、
ユーザプログラム等を追加変更するに際し、モジュール
化したプログラムの追加変更を行うようにしたものであ
る。[0006] Therefore, the applicant has filed a Japanese Patent Application No.
In the invention described in Japanese Patent Application No. 9-012726, IEC (Inte
rnationa Electrotechnical Commisson) 1131-3
Use a programming language that can be modularized in accordance with the standards (hereinafter referred to as IEC-compliant programming language)
When a user program or the like is additionally changed, a modularized program is additionally changed.
【0007】この特願平09−012726号に記載し
た発明では、図13に示すように、オンラインエディッ
ト実行部34が、コミニュケータ2,コミニュケーショ
ンI/Fおよび共有メモリ33を介してIEC1131
−31プログラミングツール1からオンラインエディッ
トされた旨の情報を受けると、ツール1から取得して格
納されているオンラインエデイットを行うオブジェクト
コードを共有メモリ33から読み出す。In the invention described in Japanese Patent Application No. 09-012726, as shown in FIG. 13, the online edit execution unit 34 transmits the IEC 1131 via the communicator 2, the communication I / F and the shared memory 33.
-31 When the information indicating that the online editing has been performed is received from the programming tool 1, the object code for performing online editing which is acquired from the tool 1 and stored is read out from the shared memory 33.
【0008】次に、オンラインエディット実行部34
が、POUアドレステーブル(PAT)38を参照して
読み出されたオブジェクトコードファイル名について、
現在使用されているコードメモリとして第1のCMと第
2のCM36のうちのいづれかであるかを検知する。Next, an online edit execution unit 34
Is the object code file name read with reference to the POU address table (PAT) 38,
It is detected whether the currently used code memory is the first CM or the second CM 36.
【0009】続いて、オンラインエディット実行部34
が、磁気ディスク4に格納されているオブジェクトコー
ドファイル名を読み出し、第1のCMと第2のCM36
のうち現在使用されていない方に、ソースプログラムお
よびサブルーチンの実行処理に必要なオブジェクトコー
ドを書き替える。Subsequently, an online edit execution unit 34
Reads the object code file name stored in the magnetic disk 4, and reads the first CM and the second CM 36.
Rewrites the object code required for the execution processing of the source program and the subroutine to the one not currently used.
【0010】その後、オンラインエディット実行部34
が、POUアドレステーブル(PAT)38中の現在使
用しているコードメモリを示す現在使用コードメモリ領
域382中に、現在使用されていないコードメモリに書
き替える。Thereafter, the online edit execution unit 34
Rewrites the currently used code memory in the currently used code memory area 382 indicating the currently used code memory in the POU address table (PAT) 38.
【0011】その後、ランタイム3は、POUアドレス
テーブル38を参照して修正した新たなコードの内容
が、以降実行されることになる。Thereafter, the runtime 3 executes the contents of the new code corrected with reference to the POU address table 38 thereafter.
【0012】[0012]
【発明が解決しようとする課題】しかしながら、先に出
願した特願平09−012726号に記載の発明では、
上述したように、ツール1からの指示に基づき、オンラ
インエディット実行部34が、POUアドレステーブル
(PAT)38中の現在使用しているコードメモリを示
す現在使用コードメモリ領域382中に、現在使用され
ていないコードメモリに書き替え、ランタイム3が、P
OUアドレステーブル38を参照して修正した新たなコ
ードの内容を実行するようにしたことにより、ユーザプ
ログラム等を追加変更するに際し、モジュール化したプ
ログラムの追加変更を行うことがきるようになったが、
オンラインエディットのUndoが1階層のみであった
ので、オンラインエディットを何度も行ったのち、ある
時点のプログラムを再現することができないという問題
点があった。However, in the invention described in Japanese Patent Application No. 09-012726 filed earlier,
As described above, based on an instruction from the tool 1, the online edit execution unit 34 stores the currently used code memory area 382 indicating the currently used code memory in the POU address table (PAT) 38. Is rewritten to a code memory that is not
By executing the contents of the new code corrected with reference to the OU address table 38, it is possible to add or change a modularized program when adding or changing a user program or the like. ,
Since the Undo of online editing is only one layer, there is a problem that a program at a certain point in time cannot be reproduced after performing online editing many times.
【0013】そこで、本発明は上述の問題点に鑑み、ユ
ーザプログラム等を追加変更するに際し、モジュール化
したプログラムの追加変更を行うことがきるとともに、
複数回のオンラインエディットを行ったのちでもある時
点のユーザプログラムを再現することができる制御装置
を提供することを目的とする。In view of the above-mentioned problems, the present invention can add or change a modularized program when adding or changing a user program or the like.
It is an object of the present invention to provide a control device capable of reproducing a user program at a certain point in time even after performing a plurality of online edits.
【0014】[0014]
【課題を解決するための手段】上述した目的を達成する
ため、本発明では、外部機器を制御するユーザプログラ
ムのソースコードを記憶するソースコード記憶手段と、
現在実行中の外部機器を制御するユーザプログラムのオ
ブジェクトコードをモジュール単位で記憶するオブジェ
クトコード記憶手段とを備えている制御装置において、
前記ソースコード記憶手段に記憶されているソースコー
ドをコンパイルし、オブジェクトコードを形成するオブ
ジェクトコード形成手段と、前記ソースコード記憶手段
に記憶されているソースコードをストア記憶するソース
コードストア記憶手段と、前記ソースコード記憶手段に
記憶されているソースコードを前記ソースコードストア
記憶手段にストアさせるソースコードストア記憶制御手
段と、前記ソースコードストア記憶手段に記憶されてい
るソースコードを実行させたい場合には、このソースコ
ードストア記憶手段に記憶されているソースコードを前
記ソースコード記憶手段にリストアさせるソースコード
リストア制御手段とを具備するようにする。According to the present invention, there is provided a source code storage unit for storing a source code of a user program for controlling an external device.
A control device comprising: an object code storage unit that stores an object code of a user program that controls a currently executing external device in a module unit.
Object code forming means for compiling source code stored in the source code storing means to form an object code; source code storing means for storing the source code stored in the source code storing means; When the source code stored in the source code storage means is stored in the source code storage means, and the source code stored in the source code storage means is to be executed, And a source code restoration control means for restoring the source code stored in the source code storage means to the source code storage means.
【0015】このような構成を備えることにより、ソー
スコードストア記憶手段に記憶されているソースコード
を実行させたい場合には、ソースコードリストア制御手
段がソースコードストア記憶手段に記憶されているソー
スコードをソースコード記憶手段にリストアさせるた
め、複数回のオンラインエディットを行ったのちでもあ
る時点のユーザプログラムを再現することができる。By providing such a configuration, when it is desired to execute the source code stored in the source code storage means, the source code restoration control means can execute the source code stored in the source code storage means. Is restored in the source code storage means, so that the user program at a certain point in time can be reproduced even after performing the online editing a plurality of times.
【0016】さらに、本発明では、前記ソースコードス
トア記憶手段から前記ソースコード記憶手段にリストア
されたソースコードをオンラインエデイットした場合
に、オンラインエデイット前のソースコードの変数が残
ったときは、この残った変数を0クリアする変数0クリ
ア手段を具備するようにする。Further, according to the present invention, when a source code restored from the source code storage means to the source code storage means is online edited, if a source code variable before online editing remains, Variable 0 clear means for clearing the set variables to 0.
【0017】このような構成を備えることにより、変数
0クリア手段が、ソースコードストア記憶手段からソー
スコード記憶手段にリストアされたソースコードをオン
ラインエデイットした場合に、オンラインエデイット前
のソースコードの変数が残ったときは、この残った変数
を0クリアするため、残った変数により誤動作すること
を防ぐことができる。With such a configuration, when the variable 0 clear unit online-edits the source code restored from the source code storage unit to the source code storage unit, the variable of the source code before online editing is changed. When the remaining variables remain, the remaining variables are cleared to 0, so that a malfunction due to the remaining variables can be prevented.
【0018】さらに、本発明では、前記ソースコードス
トア記憶手段は、前記ソースコード記憶手段に記憶され
ているソースコードを複数記憶するようにする。Further, in the present invention, the source code storage means stores a plurality of source codes stored in the source code storage means.
【0019】さらに、本発明では、前記オブジェクトコ
ード形成手段で形成されたオブジェクトコードを記憶す
るオブジェクトコード記憶手段と、前記オブジェクトコ
ード記憶手段に記憶されているオブジェクトコードをス
トア記憶するオブジェクトコードストア記憶手段と、前
記オブジェクトコード記憶手段に記憶されているオブジ
ェクトコードを前記オブジェクトコードストア記憶手段
にストアさせるオブジェクトコードストア記憶制御手段
と、前記オブジェクトコードストア記憶手段に記憶され
ているオブジェクトコードを前記オブジェクトコード記
憶手段にリストアさせるオブジェクトコードリストア制
御手段とを具備するようにする。Further, according to the present invention, an object code storage means for storing the object code formed by the object code formation means, and an object code storage means for storing the object code stored in the object code storage means. Object code storage control means for storing the object code stored in the object code storage means in the object code store storage means; and storing the object code stored in the object code store storage means in the object code storage means. Means for restoring the object code.
【0020】このような構成を備えることにより、オブ
ジェクトコードストア記憶制御手段が、オブジェクトコ
ード記憶手段に記憶されているオブジェクトコードをオ
ブジェクトコードストア記憶手段にストアさせ、オブジ
ェクトコードリストア制御手段がオブジェクトコードス
トア記憶手段に記憶されているオブジェクトコードをオ
ブジェクトコード記憶手段にリストアさせるため、リス
トア時にソースコードをコンパイルする手間を省くこと
ができる。With such a configuration, the object code store storage control means causes the object code stored in the object code storage means to be stored in the object code store storage means, and the object code restore control means causes the object code store control means to store the object code. Since the object code stored in the storage unit is restored in the object code storage unit, it is not necessary to compile the source code at the time of restoration.
【0021】[0021]
【発明の実施の形態】以下、本発明に係る制御装置の実
施形態を図面を参照して説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a control device according to the present invention will be described below with reference to the drawings.
【0022】図1および図2は1131−3基準に準拠
するプログラム言語についての説明図であり、図4は本
発明に係る制御装置の一実施形態の構成を示すブロック
図である。FIGS. 1 and 2 are explanatory diagrams of a programming language conforming to the standard 1131-3, and FIG. 4 is a block diagram showing a configuration of an embodiment of a control device according to the present invention.
【0023】(1)この実施形態の制御装置、例えばプ
ログラマブルロジックコントローラ(以下、PLCとい
う)は、IEC(Internationa Electrotechnical Comm
isson )1131−3基準に準拠するプログラム言語
(以下、IEC準拠プログラム言語という)をユーザプ
ログラムとして使用するものであるため、この実施形態
の制御装置の構成を述べる前に、IEC準拠プログラム
言語について説明する。(1) The control device of this embodiment, for example, a programmable logic controller (hereinafter, referred to as PLC) is an IEC (International Electrotechnical Comm.).
isson) Since a program language conforming to the 1131-3 standard (hereinafter referred to as an IEC-compliant program language) is used as a user program, the IEC-compliant program language will be described before describing the configuration of the control device of this embodiment. I do.
【0024】IEC準拠プログラム言語は、POU(Pr
ogram Organization Unit)と呼ばれるプログラム,Fu
nctionおよびFunction Blockで記
述される。The IEC compliant programming language is POU (Pr
Program called “Future Organization Unit”
It is described in naction and Function Block.
【0025】POUおよびはFunction Blo
ckは、図1に示すように、入力変数,出力変数,内部
変数およびコードからなる定義部を有する内部状態を有
する(同じ入力を与えたとき、異なった出力を取り得
る)モジュールであるのに対し、Functionは、
内部状態を有しないモジュールである。POU and HA Function Blo
As shown in FIG. 1, ck is a module having an internal state having a definition part consisting of an input variable, an output variable, an internal variable, and a code (which can take different outputs when the same input is given). On the other hand, Function is
This module has no internal state.
【0026】ここで、POUおよびはFunction
Blockの宣言部で指定された変数が記憶されてい
るデータメモリ(DM)(後述する)中の箇所をデータ
インスタンスといい、POU,Functionおよび
Function Blockを実行するための各オブ
ジェクトコードが記憶されているコードメモリ(CM)
(後述する)中の箇所をコードインスタンスという。Here, POU and Function
A location in a data memory (DM) (described later) in which a variable specified in the block declaration section is stored is referred to as a data instance, and stores POU, Function, and object codes for executing Function Block. Code memory (CM)
The part in (described later) is called a code instance.
【0027】なお、Functionには、データイン
スタンが存在しないものとされている。It is assumed that the function has no data instance.
【0028】例えば、図2に示すように、IEC準拠プ
ログラムでなるサブルーチンを3つ有するソースプログ
ラムにおいて、ソースプログラムのコードインスタンス
をPOU1およびそのデータインスタンスをPou1_
Inst1とし、最初のCALL命令(CALL PO
U2)で読み出されるサブルーチンのコードインスタン
スをPOU2としおよびそのデータインスタンスをPo
u2_Inst1とし、また、次のCALL命令(CA
LL POU3)で読み出されるサブルーチンのコード
インスタンスをPOU3としおよびそのデータインスタ
ンスをPou3_Inst1とPou3_Inst2と
し、さらに、最後のCALL命令(CALL POU
4)で読み出されるサブルーチンのコードインスタンス
POU4とすると、POU1は、上述したPOU(Prog
ram Organization Unit)と呼ばれるプログラムであり、
POU2およびPOU3は、Function Blo
ckであり、POU4はFunctionである。For example, as shown in FIG. 2, in a source program having three subroutines of an IEC-compliant program, a code instance of the source program is POU1 and its data instance is Pou1_.
Inst1 and the first CALL instruction (CALL PO
The code instance of the subroutine read in U2) is POU2 and its data instance is Po
u2_Inst1 and the next CALL instruction (CA
LL POU3), the code instance of the subroutine read out is POU3, its data instances are Pou3_Inst1 and Pou3_Inst2, and the last CALL instruction (CALL POU3)
Assuming that the subroutine code instance POU4 is read in 4), POU1 is the POU (Prog
ram Organization Unit)
POU2 and POU3 are Function Blo
ck, and POU4 is a Function.
【0029】上述したように、IEC準拠プログラム
は、ソースプログラム、サブルーチンがそれぞれデータ
インスタンスおよびコードインスタンスを有するとい
う、モジュール化したプログラム言語である。As described above, the IEC-compliant program is a modularized programming language in which a source program and a subroutine have a data instance and a code instance, respectively.
【0030】因みに、図3はこのようなIEC準拠プロ
グラム言語で記述されたプログラムの1例である。FIG. 3 shows an example of a program described in such an IEC-compliant program language.
【0031】この例では、図3(a)ではソースプログ
ラムの定義部を示しており、図3(b)ではニモニック
表示されたソースプログラムのオブジェクトコードの内
容を示しており、図3(c)ではソースプログラムが実
行された際にデータインスタンスおよびコードインスタ
ンスをアクセスする状態の概略を示している。In this example, FIG. 3 (a) shows the definition part of the source program, and FIG. 3 (b) shows the contents of the mnemonically displayed object code of the source program. Shows an outline of a state in which a data instance and a code instance are accessed when a source program is executed.
【0032】なお、この図の詳細な内容については、本
発明と直接関係がないのでその詳細な説明を省略する。It should be noted that the detailed contents of this figure are not directly related to the present invention, and therefore detailed description thereof is omitted.
【0033】(2)このようなIEC準拠プログラム言
語を使用するPLCは、図4に示すように、IEC11
31−3プログラミングツール(以下、単にツールとい
う)1と、コミニュケータ2と、装置ランタイム(以
下、ランタイムという)3と、後述するオブジェクトコ
ードファイル41が記憶されている磁気ディスク4と、
後述する退避コードファイル51が記憶されている磁気
ディスク5と、ソースコードファイル61を記憶する磁
気ディスク6と、磁気ディスク6に記憶されているソー
スコードファイル61のうち保存する(ストアする)ソ
ースコードファイル71を記憶するハードディスク7と
を備えて構成されている。(2) A PLC using such an IEC-compliant program language is, as shown in FIG.
31-3 a programming tool (hereinafter simply referred to as a tool) 1, a communicator 2, a device runtime (hereinafter referred to as a runtime) 3, a magnetic disk 4 storing an object code file 41 described later,
A magnetic disk 5 in which a save code file 51 described later is stored, a magnetic disk 6 in which a source code file 61 is stored, and a source code to be stored (stored) among the source code files 61 stored in the magnetic disk 6 A hard disk 7 for storing a file 71 is provided.
【0034】ツール1は、IEC1131−3エディ
タ,コンパイラおよびデガッバ等を備えており、IEC
1131−3コンパイラにおいて磁気ディスク6中のソ
ースコードファイル61から、ランタイム3が解釈実行
するオブジェクトコードでなるオブジェクトコードファ
イル41を形成し、この形成したオブジェクトコードフ
ァイル41を磁気ディスク4上に記憶するように構成さ
れている。The tool 1 includes an IEC1131-3 editor, a compiler, a degabber, and the like.
The 1131-3 compiler forms an object code file 41 consisting of an object code interpreted and executed by the runtime 3 from the source code file 61 in the magnetic disk 6, and stores the formed object code file 41 on the magnetic disk 4. Is configured.
【0035】また、ツール1は、ユーザの指示に基づ
き、図5に示すように、磁気ディスク6に有するソース
プログラムまたはそのサブルーチンプログラムであるP
OU1,POU3をハードデスク7にストアするととも
に、ハードディスク7にストアされているPOU1およ
びPOU3を、磁気ディスクに6にリストアするように
なっている。As shown in FIG. 5, the tool 1 is a source program stored in the magnetic disk 6 or its subroutine program P based on a user's instruction.
OU1 and POU3 are stored on the hard disk 7 and POU1 and POU3 stored on the hard disk 7 are restored on the magnetic disk 6.
【0036】なお、ツール1は、ユーザがストアするた
めのストアPOUメニューと、リストアするためのリス
トアPOUメニューとを表示部(図示せず)に有するよ
うになっている。The tool 1 has a store POU menu for a user to store and a restore POU menu for a restore on a display unit (not shown).
【0037】上述した磁気ディスク6に有するオブジェ
クトコードファイルは、*.objという名称が付され
ており、*は、オブジェクトコード名である。例えば、
POU2.objというオブジェクトコードファイル
は、オブジェクトコードPOU2でなるものを示してい
る。The object code files stored on the magnetic disk 6 are represented by *. obj, and * is an object code name. For example,
POU2. An object code file “obj” indicates an object code file POU2.
【0038】さらに、ツール1は、オンラインエデォッ
トしてオブジェクトコードを修正した場合には、磁気デ
ィスク4に記憶されている修正前のオブジェクトコード
ファイル*.objを*.orgに変更して磁気ディス
ク4に形成し、修正後のものを改めて*.objとして
磁気ディスク4に形成するようになっている。Further, when the tool 1 modifies the object code by online editing, the tool code 1 before the correction stored in the magnetic disk 4 *. obj as *. org, and formed on the magnetic disk 4, and the modified one is renewed *. obj is formed on the magnetic disk 4.
【0039】例えばオブジェクトコードPOU2をオン
ラインエデォットして修正した場合には、磁気ディスク
4に記憶されている修正前のオブジェクトコードファイ
ルPOU2.objをPOU2.orgに変更して磁気
ディスク4に形成し、修正後のものを改めてPOU2.
objとして磁気ディスク4に形成する。For example, when the object code POU2 is modified by online editing, the unmodified object code file POU2. obj to POU2. org. and formed on the magnetic disk 4, and the POU2.
obj is formed on the magnetic disk 4.
【0040】コミニュケータ2は、ツール1とランタイ
ム3間のオンライン通信の仲介を果たすミドルウェアで
ある。The communicator 2 is middleware that mediates online communication between the tool 1 and the runtime 3.
【0041】ランタイム3は、ランタイムコア31,コ
ミニュケーションインタフェース(I/F)32,共有
メモリ33,オンラインエディット実行部34,コード
メモリ(以下、第1のCMという)35,コードメモリ
(以下、第2のCMという)36,データメモリ(以
下、DMという)37およびPOUアドレス変換テーブ
ル(以下、PATという)38から構成されている。The runtime 3 includes a runtime core 31, a communication interface (I / F) 32, a shared memory 33, an online edit execution unit 34, a code memory (hereinafter referred to as a first CM) 35, and a code memory (hereinafter referred to as a second CM). , A data memory (hereinafter, referred to as DM) 37, and a POU address conversion table (hereinafter, referred to as PAT) 38.
【0042】ここで、ランタイムコア31は、図6
(a)に示すように、専用PLCの場合では、ランタイ
ムコア31が、所定のサイクルタイムでのスキャン処
理、すなわち外部I/Oに対してデータを出力するアウ
トリフレッシュ処理、外部I/Oからデータを受けるイ
ンリフレッシュ処理、命令実行処理、周辺処理の実行タ
イミングを制御するようになっている。Here, the run-time core 31 corresponds to FIG.
As shown in (a), in the case of the dedicated PLC, the run-time core 31 performs a scan process at a predetermined cycle time, that is, an out-refresh process for outputting data to an external I / O, The execution timing of the in-refresh processing, instruction execution processing, and peripheral processing that is received is controlled.
【0043】一方、ランタイムコア31は、PLC機能
と他のアプリケーション機能を並行して動くようなPL
C、例えば(ソフトPLC+パソコン)の場合では、図
6(b)に示すように、ランタイムコア31が、上述し
た専用PLCの場合と同様、スキャン処理、すなわちア
ウトリフレッシュ処理、インリフレッシュ処理、命令実
行処理、周辺処理の実行タイミングを制御するようにな
っている。On the other hand, the run-time core 31 has a function to execute the PLC function and other application functions in parallel.
In the case of C, for example, (soft PLC + PC), as shown in FIG. 6B, the run-time core 31 performs scan processing, that is, out-refresh processing, in-refresh processing, and instruction execution, as in the case of the dedicated PLC described above. The execution timing of processing and peripheral processing is controlled.
【0044】しかし、このようなPLCは、ランタイム
コア31が上述したスキャン処理を実行(管理)した
後、サイクルタイム満了までの時間、OS(Operating
System)に他のアプリケーションを実行させ、サイクル
タイムの許容時間に達すると、ランタイム31が再びス
キャン処理を行うようになっている。However, in such a PLC, after the runtime core 31 executes (manages) the above-described scanning process, the PLC (Operating System) operates for a time until the cycle time expires.
System) executes another application, and when the cycle time reaches a permissible time, the runtime 31 performs the scanning process again.
【0045】また、ランタイムコアは、ソースプログラ
ムおよびそのサブルーチンプログラムのオブジェクトコ
ードごとにコードインスタンスとして後述する第1のC
M35または第2のCM36に形成するとともに、後述
するDM37にデータインスタンスを形成するようにな
っている。In addition, the runtime core executes a first C (described later) as a code instance for each object code of the source program and its subroutine program.
The data instance is formed in the M35 or the second CM 36, and a data instance is formed in the DM 37 described later.
【0046】さらに、ランタイムコアは、後述するPA
T38に基づき、第1のCM35または第2のCM36
に格納されているオブジェクトコードと、DM37に格
納されているデータコードを使用してユーザプログラム
を実行するよになっている。さらにまた、ランタイムコ
アは、変数を追加するオンラインエディットを行ったの
ち、オンラインエデイット前のソースプログラムおよび
サブルーチンプログラムに戻された場合には、DM37
のデータインスタンスに残っている変数値を0クリアす
るようになっている。Further, the runtime core includes a PA
Based on T38, the first CM 35 or the second CM 36
The user program is executed using the object code stored in the DM 37 and the data code stored in the DM 37. Furthermore, when the run-time core performs online editing for adding a variable and returns to the source program and subroutine program before online editing, the DM37
The variable value remaining in the data instance is cleared to zero.
【0047】コミニュケーションインタフェース(I/
F)32は、コミニュケータ2間の通信インターフェー
スを構成するものである。Communication interface (I /
F) 32 constitutes a communication interface between the communicators 2.
【0048】共有メモリ33は、コミニュケーションイ
ンタフェース(I/F)32を介して、コミニュケータ
2から受けたオンラインエディットを実行した旨の情報
(以下、エディット実行情報という)とオンラインエデ
ィットしたオブジェクトコード名を格納するものであ
る。The shared memory 33 stores, via the communication interface (I / F) 32, information (hereinafter referred to as edit execution information) indicating that the online edit received from the communicator 2 and the name of the object code that has been edited online. What to store.
【0049】また、共有メモリ33は、コミニュケーシ
ョンインタフェース(I/F)32を介して、ツール1
が出力したUndo処理を実行した旨の情報(以下、U
ndo実行情報という)を格納するものである。The shared memory 33 stores the tool 1 via the communication interface (I / F) 32.
Output information indicating that the Undo process has been executed (hereinafter, U
ndo execution information).
【0050】ここで、Undo処理を実行するとは、オ
ンラインエディット実行前の状態に戻すことをいう。Here, executing the Undo processing means returning to the state before the execution of online editing.
【0051】オンラインエディット実行部34は、共有
メモリ33にエディット実行情報が書き込まれたことを
検知すると、共有メモリ33からオンラインエディット
するオブジェクトコード名を読み出すようになってい
る。When the online edit execution section 34 detects that the edit execution information has been written to the shared memory 33, the online edit execution section 34 reads the object code name to be online edited from the shared memory 33.
【0052】また、オンラインエディット実行部34
は、共有メモリ33からオンラインエディットしたオブ
ジェクトコード名を読み出すと、PAT38を参照して
読み出されたオブジェクトコードが第1のCM35と第
2のCM36とのうち、使用されているものがどれであ
るか否かを検知するようになっている。The online edit execution unit 34
When the online-edited object code name is read from the shared memory 33, which of the first CM 35 and the second CM 36 is the object code read with reference to the PAT 38? Is detected.
【0053】さらに、オンラインエディット実行部34
は、PAT38を参照して第1のCM35または第2の
CM36のうち、使用されているものを検出すると、共
有メモリ33から読み出したオブジェクトコード名のオ
ブジェクトファイル*.objを磁気ディスク4から読
み出し、現在使用されていないコードメモリ、例えば現
在使用されているものが第1のCM35の場合には第2
のCM36のオブジェクトコードを書き替えるようにな
っている。Further, the online edit execution section 34
Detects the used one of the first CM 35 and the second CM 36 with reference to the PAT 38, the object file of the object code name *. obj is read from the magnetic disk 4, and the code memory not currently used, for example, the second CM if the currently used code memory is the first CM 35.
The object code of the CM 36 is rewritten.
【0054】さらにまた、オンラインエディット実行部
34は、上述したように現在使用されていないコードメ
モリに、共有メモリ33に指示されたオブジェクトコー
ドを書き替えると、PAT38中の後述する使用コード
メモリ領域(後述する)の内容を、先に書き替えたコー
ドメモリに書き替えるようになっている。Furthermore, as described above, the online edit execution unit 34 rewrites the object code specified in the shared memory 33 into a code memory that is not currently used, as described above. (To be described later) is rewritten to the previously rewritten code memory.
【0055】例えば、オンラインエディットするオブジ
ェクトコードをPOU2とし、このコードPOU2が第
2のCM36に書き替った場合では、PAT38のコー
ド名領域(図9参照)381中の“POU2”に対応す
る使用コードメモリ領域の内容を第1のCM35から第
2のCM36に変更するようになっている(図9ではC
M2)。For example, if the object code to be edited online is POU2, and this code POU2 is rewritten to the second CM 36, the code corresponding to "POU2" in the code name area 381 of the PAT 38 (see FIG. 9) is used. The contents of the code memory area are changed from the first CM 35 to the second CM 36 (C in FIG. 9).
M2).
【0056】第1のCM35は、ソースプログラムおよ
びサブルーチンのオブジェクトコードを記憶するもので
あり、PLCの電源が落ちたときには、記憶されていた
ものがすべて消去されるようになっている。The first CM 35 stores a source program and an object code of a subroutine. When the power of the PLC is turned off, all the stored contents are erased.
【0057】ここで、前記オブジェクトコードは、ラン
タイムコア31またはオンラインエディット実行部34
が磁気ディスク4に形成されているオブジェクトコード
ファイルを読み出したものである。Here, the object code is stored in the runtime core 31 or the online edit execution unit 34.
Is an object code file read from the magnetic disk 4.
【0058】例えば、図7(a)(b)に示す例では、
第1のCM35は、上述したソースプログラムおよびサ
ブルーチンプログラムのPOU1,POU2,POU
3,POU4等のオブジェクトコードを記憶するもので
ある。For example, in the example shown in FIGS.
The first CM 35 includes POU1, POU2, and POU of the source program and the subroutine program described above.
3, an object code such as POU4.
【0059】第2のCM36は、第1のCM135のも
のと同様、上述したソースプログラムおよびサブルーチ
ンプログラムのPOU1,POU2,POU3,POU
4等のオブジェクトコードを記憶するものであり、PL
Cの電源が落ちたときには、記憶されていたものがすべ
て消去するようになっている。The second CM 36 is, similarly to the first CM 135, POU1, POU2, POU3, POU of the above-mentioned source program and subroutine program.
4 for storing object codes such as PL
When the power of C is turned off, all the stored data are erased.
【0060】なお、第1のCM35および第2にCM3
6中の“*”が示す領域は、オンラインエディト用の余
裕領域であり、コンパイラによって確保される。そし
て、オンラインエディトによって、修正されたオブジェ
クトコードが“*”を超えるよ場合には、コンパイラが
チェックしてエラーとするようになっている。The first CM 35 and the second CM 35
The area indicated by “*” in 6 is a margin area for online editing, and is reserved by the compiler. Then, if the corrected object code exceeds “*” by online editing, the compiler checks and generates an error.
【0061】DM37は、ツール1がソースプログラム
をコンパイルすると、ランタイムコア31を介してデー
タインスタンスの箇所が形成されるようになっている。In the DM 37, when the tool 1 compiles the source program, a data instance is formed via the runtime core 31.
【0062】例えば、先に挙げた図2中のソースプログ
ラムをコンパイルすると、図7(c)に示すように、グ
ローバル変数を記憶するデータインスタンス,上述した
Pou1_Inst1,Pou2_Inst1,Pou
3_Inst1およびPou3_Inst2等のデータ
インスタンスの箇所が形成される。For example, when the above-mentioned source program in FIG. 2 is compiled, as shown in FIG. 7C, a data instance storing a global variable, the above-described Pou1_Inst1, Pou2_Inst1, and Pou
Data instance locations such as 3_Inst1 and Pou3_Inst2 are formed.
【0063】なお、各データインスタンス中の“*”が
示す領域は、余裕領域でこれを超えた場合には、コンパ
イラがチェックしてエラーとするようになっている。The area indicated by "*" in each data instance is a margin area, and if it exceeds this, the compiler checks and generates an error.
【0064】DM37は、図8に示すように、ハードデ
ィスク7にストアされていたソースコードファイル71
についてオンラインエディットが実行されとき、前回オ
ンラインエディットされたソースコードファイルについ
ての変数が0となっている。The DM 37 stores the source code file 71 stored in the hard disk 7 as shown in FIG.
When the online editing is executed, the variable of the source code file previously online-edited is 0.
【0065】また、DM37は、PLCの電源が落ちた
ときには、ワーク記憶エリアに記憶されている重要でな
いものは消去するようになっているが、外部機器からの
入出力情報等からなる重要なものは消去しないようにな
っている。When the power supply of the PLC is turned off, the DM 37 deletes the non-essential items stored in the work storage area. Is not erased.
【0066】PAT38は、図8に示すように、ランタ
イムコア31がスキャン処理を実行するに際し、オブジ
ェクトコードが格納されているコードインスタンス名の
情報を有するコードインスタンス名領域381と、上述
したコードインスタンスを使用するコードメモリを有す
る使用コードメモリ領域382からなるものであり、P
LCの電源が落ちたときには、記憶されていたものがす
べて消去するようになっている。As shown in FIG. 8, when the runtime core 31 executes the scanning process, the PAT 38 stores a code instance name area 381 having information on a code instance name in which an object code is stored, and a code instance described above. It is composed of a used code memory area 382 having a used code memory.
When the power of the LC is turned off, all the stored data are erased.
【0067】因みに、ランタイムコア31が実行するコ
ードインスタンスをPOU2とすると、使用されるコー
ドメモリは、第2のCM36(図中でCM2)に格納さ
れているPOU2のものである。Incidentally, assuming that the code instance executed by the runtime core 31 is POU2, the code memory used is that of POU2 stored in the second CM 36 (CM2 in the figure).
【0068】磁気ディスク5に形成された退避コードフ
ァイル5は、PLCが電源を落とす前に、ランタイムコ
ア31がPAT38から読み出した上述した、コードイ
ンスタンス名領域381のコードインスタンス名と,そ
れに対応する使用コードメモリ領域382の使用コード
メモリとからなる情報を有するファイルである。The save code file 5 formed on the magnetic disk 5 stores the code instance name in the code instance name area 381 read out from the PAT 38 by the runtime core 31 before the PLC turns off the power, and the corresponding use instance. This is a file having information including the used code memory in the code memory area 382.
【0069】(3)次に、この実施形態の制御装置のオ
ンラインエディット処理の動作を、サブルーチンプログ
ラムのオブジェクトコードファイルPOU2.objを
オンラインエディットした場合を例に取り説明する。(3) Next, the operation of the online editing process of the control device of this embodiment is described in the subroutine program object code file POU2. An example in which obj is edited online will be described.
【0070】ユーザがツール1で該当するサブルーチン
プログラムをエディットし、コンパイルする。The user edits and compiles the corresponding subroutine program with the tool 1.
【0071】次に、ツール1は、すでに磁気ディスク4
に形成されているオブジェクトコードファイル4を、す
でに格納されているオブジェクトコードファイルPOU
2.objをPOU2.orgに変更して磁気ディスク
4に形成し、今回形成したオブジェクトコードのオブジ
ェクトコードファイルを改めてPOU2.objとして
磁気ディスク4に形成する。Next, the tool 1 already has the magnetic disk 4
Of the object code file POU already stored is
2. obj to POU2. org. and formed on the magnetic disk 4, and the object code file of the object code formed this time is renewed as POU2.org. obj is formed on the magnetic disk 4.
【0072】その後、ツール1は、コミニュケータ2お
よびランタイム3のコミニュケーンI/F32を介し
て、共有メモリ33にオンラインエディットがあった旨
のエディット実行情報と、オンラインエディットしたオ
ブジェクトコード名POU2を格納する。Thereafter, the tool 1 stores, via the communicator 2 and the communicator I / F 32 of the runtime 3, edit execution information indicating that there is an online edit in the shared memory 33, and the object code name POU 2 that has been edited online. I do.
【0073】オンラインエディット実行部34は、共有
メモリ33にエディット実行情報が格納されたことを検
知すると、共有メモリ33からオブジェクトコード名P
OU2を読み出す。When the online edit execution section 34 detects that the edit execution information is stored in the shared memory 33, the online edit execution section 34 reads the object code name P from the shared memory 33.
Read OU2.
【0074】次に、オンラインエディット実行部34
は、PAT38を参照して読み出されたオブジェクトコ
ード名POU2について、現在使用されているコードメ
モリとして第2のCM36であることを検知する(図7
参照)。Next, the online edit execution unit 34
Detects that the object code name POU2 read with reference to the PAT 38 is the second CM 36 as the currently used code memory (FIG. 7).
reference).
【0075】続いて、オンラインエディット実行部34
は、磁気ディスク4に格納されているオブジェクトファ
イルPOU2.objを読み出し、現在使用されていな
い第1のコードメモリCM35中のオブジェクトコード
POU2を、読み出したオブジェクトファイルPOU
2.objのオブジェクトコードに書き替える。Subsequently, the online edit execution unit 34
Are the object files POU2. obj, and reads the object code POU2 in the first code memory CM35 that is not currently used into the read object file POU.
2. obj.
【0076】次に、オンラインエディット実行部34
は、PAT38中の使用コードメモリ領域382中のP
OU2に該当すCM2をCM1に書き替える。Next, the online edit execution section 34
Is the P in the used code memory area 382 in the PAT 38.
CM2 corresponding to OU2 is rewritten to CM1.
【0077】以上で、サブルーチンプログラムのオブジ
ェクトコードファイルPOU2.objのオンラインエ
ディット処理が終了する。With the above, the object code file POU2. The online editing process of the obj ends.
【0078】このような処理を周辺処理中に行うと、次
のスキャン処理においては、ランタイム3がPAT38
を参照して修正した新たなコードの内容が、以降実行さ
れることになる。If such processing is performed during peripheral processing, in the next scanning processing, the runtime 3
Will be executed thereafter.
【0079】(4)続いて、この実施形態のPLCがオ
ンラインエディットを実行し、制御装置の起動を終了し
たのち、再起動したとき、オンラインエディット後の状
態でランタイムが再起動させるための動作を説明する。(4) Subsequently, when the PLC of this embodiment executes online editing and finishes starting the control device and then restarts, the operation for restarting the runtime in the state after the online editing is performed. explain.
【0080】なぜこのような処理動作が必要かといえ
ば、制御装置の電源を落とすと、メモリコード(CM
1)25、メモリコード(CM2)26、PATの内容
がすべて消去してしまい、再起動できないからである。The reason why such a processing operation is required is that when the power supply of the control device is turned off, the memory code (CM)
1) The contents of 25, the memory code (CM2) 26, and the contents of the PAT are all erased and cannot be restarted.
【0081】初めに、PLCの電源を立ち上がると、ラ
ンタイムコア31は、磁気ディスク5に形成されている
退避コードファイルから電源を落とす前に格納されてい
たPAT38の内容を読み出す。First, when the power of the PLC is turned on, the run-time core 31 reads out the contents of the PAT 38 stored before the power was turned off from the save code file formed on the magnetic disk 5.
【0082】次に、ランタイムコア31は、退避コード
ファイル5から読み出したオブジェクトインスタンス名
を基にして、このコードインスタンスで示されるオブジ
ェクトコードファイル*.objを磁気ディスク4から
読み出し、この読み出したオブジェクトコードファイル
*.objのオブジェクトコードを、先に読み出したコ
ードメモリに格納したのち、格納されなかったコードメ
モリに、コードインスタンスで示されるオブジェクトコ
ードファイル*.orgを磁気ディスク4から読み出し
てこれを格納する。Next, the runtime core 31 uses the object instance name read from the save code file 5 as the basis for the object code file *. obj is read from the magnetic disk 4 and the read object code file *. obj is stored in the previously read code memory, and then stored in the non-stored code memory in the object code file *. org is read from the magnetic disk 4 and stored.
【0083】その後、ランタイムコア31は、PAT3
8のコードインスタンス名領域381および使用コード
メモリ領域382に、退避コードファイル5に有するコ
ードインスタンス名および使用コードメモリを登録す
る。Thereafter, the runtime core 31 executes PAT3
In the code instance name area 381 and the used code memory area 382, the code instance name and the used code memory included in the save code file 5 are registered.
【0084】このようにして、ランタイムコア31が、
退避コードファイル5に格納されていたすべてのものに
ついて、上述したような処理を終了すると、PLCの電
源を落とす前の状態に復帰し、以後、ランタイムコア3
1が復帰した第1のCM35,第2のCM36およびP
AT38を使用して、再起動することができる。In this way, the runtime core 31
When the above-described processing is completed for all the items stored in the save code file 5, the state returns to the state before the power supply of the PLC is turned off.
The first CM 35, the second CM 36 and P
The AT 38 can be used to restart.
【0085】(5)続いて、オンラインエディットのU
ndo処理の動作を説明する。(5) Then, the online edit U
The operation of the ndo process will be described.
【0086】ユーザは、ツール1のエディッタ上で、オ
ンラインエディットを施したオブジェクトコードのう
ち、CRTに表示されたメニューに基づきUndoした
いオブジェクトコードを選択すると、ツール1は、磁気
ディスク4に格納されているオブジェクトファイルのう
ち、*.objのものを、*.obkに変更した後、
*.orgのものを*.objに変更する。When the user selects an object code to be undone on the editor of the tool 1 based on a menu displayed on the CRT among the object codes subjected to online editing, the tool 1 is stored on the magnetic disk 4. *. obj, *. After changing to obk,
*. org *. obj.
【0087】そして、ツール1は、*.obkになった
ファイルを、*.orgに変更して、*.obkのファ
イルを消去する。The tool 1 has *. Obk file is *. org, and *. Delete the obk file.
【0088】従って、磁気ディスク4には、変更前に
*.objであったものが*.orgになり、*.or
gであったものが*.objになっている。Therefore, before the change, *. obj was *. org, *. or
g. obj.
【0089】ツール1は、磁気ディスク4に格納されて
いるオブジェクトコードファイルのファイル名を変更す
ると、コミニュケータ2およびコミニュケーションI/
F32を介して、共有メモリ33にUndo実行情報を
格納させる。When the tool 1 changes the file name of the object code file stored on the magnetic disk 4, the communicator 2 and the communication I / O
The Undo execution information is stored in the shared memory 33 via F32.
【0090】ランタイムコア31は、共有メモリ33に
格納されているUndo実行情報を検知すると、PAT
38の使用コードメモリ領域382に格納されているコ
ードメモリ、例えばCM1(第1のCM35)をCM2
(第2のCM36)に、CM2(第2のCM36)をC
M1(第1のCM35)に変更する。When the runtime core 31 detects the Undo execution information stored in the shared memory 33, the PAT
The code memory stored in the used code memory area 382, for example, CM1 (first CM35) is replaced with CM2
(2nd CM36) and CM2 (2nd CM36)
Change to M1 (first CM 35).
【0091】こうすることにより、この実施形態のPL
Cでは、次回のスキャンよりUndoされたオブジェク
トコードのものが実行される。By doing so, the PL of this embodiment is
In C, the object code of the undoed object code is executed from the next scan.
【0092】(6)ツール1がハードディスク7に格納
されているソースコードファイル71を磁気ディスク6
にリストアし、このリストアされたソースコードファイ
ル61について変数を追加するオンラインエデイットを
行ったとき、ランタイムコア31がDM37の残った変
数を0クリアする動作を説明する。(6) The tool 1 transfers the source code file 71 stored in the hard disk 7 to the magnetic disk 6
When the online editing for adding variables to the restored source code file 61 is performed, the runtime core 31 clears the remaining variables of the DM 37 to zero.
【0093】ランタイムコア31は、ツール1から変数
を追加するオンラインエディットを実行せよとの指示を
受けると、DM37に形成されたオンラインエデイット
前のソースプログラムおよびサブルーチンプログラムの
グローバル変数を記憶するデータインスタンス,上述し
たPou1_Inst1,Pou2_Inst1,Po
u3_Inst1およびPou3_Inst2等のデー
タインスタンス(図10(a)中のA参照)が、図10
(b)に示すように、変数を追加する(図10(b)中
のB参照)。When the runtime core 31 receives an instruction from the tool 1 to execute online editing for adding a variable, the data instance for storing the global variables of the source program and the subroutine program before online editing formed in the DM 37, Pou1_Inst1, Pou2_Inst1, Po described above
Data instances such as u3_Inst1 and Pou3_Inst2 (see A in FIG. 10A) are
As shown in FIG. 10B, a variable is added (see B in FIG. 10B).
【0094】その後、ランタイムコア31は、先にハー
ドディスク7にストアされていたソースコードファイル
71についてのオンラインエディットを実行せよとの指
示をツール1から受けると、ツール1に指示されたソー
スコードファイル71についてのデータインスタンスを
形成する(図10中の(c)参照)。Thereafter, when the runtime core 31 receives an instruction from the tool 1 to execute online editing of the source code file 71 previously stored in the hard disk 7, the source code file 71 instructed by the tool 1 Is formed (see (c) in FIG. 10).
【0095】このデータインスタンスは、変数値が残っ
てしまう(図10(d)中のB参照)。In this data instance, variable values remain (see B in FIG. 10D).
【0096】ランタイムコア31は、ハードディスク7
にストアされていたソースコードファイル71につての
データインスタンスが形成されると、このデータインス
タンスにの残っている変数を0クリアする(図10
(d)中のC参照)。[0096] The runtime core 31
When the data instance for the source code file 71 stored in the data instance is formed, the remaining variables in this data instance are cleared to 0 (FIG. 10).
(See C in (d)).
【0097】この実施形態のPLCでは、ハードディス
ク7に記憶されているソースコード71を実行させたい
場合には、ツール1がハードディスク7に記憶されてい
るソースコード71を磁気ディスク6にリストアさせる
ため、複数回のオンラインエディットを行ったのちでも
ある時点のユーザプログラムを再現することができる。In the PLC of this embodiment, when the source code 71 stored in the hard disk 7 is to be executed, the tool 1 restores the source code 71 stored in the hard disk 7 to the magnetic disk 6. Even after a plurality of online edits, the user program at a certain point in time can be reproduced.
【0098】また、この実施形態のPLCでは、ライン
タイムコア31が、ハードディスク7から磁気ディスク
6にリストアされたソースコード61をオンラインエデ
イットした場合に、オンラインエデイット前のソースコ
ード61の変数が残ったときは、この残った変数を0ク
リアするため、残った変数により誤動作することを防ぐ
ことができる。In the PLC of this embodiment, when the runtime core 31 online-edits the source code 61 restored from the hard disk 7 to the magnetic disk 6, the variables of the source code 61 before online editing remain. At this time, since the remaining variables are cleared to 0, malfunction due to the remaining variables can be prevented.
【0099】この実施形態のPLCでは、オンラインエ
ディット実行部34が周辺処理中に変更修正して予め形
成したオブジェクトコードを、PAT38に基づき、第
1のCM35または第2のCM36中の該当するオブジ
ェクトコードを変更するようにしたので、ランタイムコ
ア31が実行するランタイム処理に影響することをなく
すことができる。In the PLC according to the present embodiment, the object code formed in advance by the online edit execution unit 34 being changed and corrected during the peripheral processing is converted into the corresponding object code in the first CM 35 or the second CM 36 based on the PAT 38. Is changed, it is possible to eliminate the influence on the runtime processing executed by the runtime core 31.
【0100】この実施形態のPLCでは、使用プログラ
ミング言語として1131−3基準に準拠するプログラ
ム言語を使用し、かつ、ソースプログラム、サブルーチ
ンのそれぞれについて、データインスタンスおよびコー
ドインスタンスを有するので、サブルーチンがモジュー
ルしたシステムを構成することができる。In the PLC of this embodiment, a programming language conforming to the 1131-3 standard is used as a programming language to be used, and each of the source program and the subroutine has a data instance and a code instance. The system can be configured.
【0101】また、この実施形態のPLCでは、ソース
プログラムやサブルーチンプログラのオブジェクトコー
ドが第1のCM35および第2のCM36にコードイン
スタンスとして分離して格納されており、かつ、ランタ
イムコア31がPAT38に基づき、コードメモリを実
行するという間接指定方式を採用したので、CALL命
令を用いて読み出す側のオブジェクトコードのメンテナ
ンスをしなくてもよいようにすることができる。In the PLC of this embodiment, the object codes of the source program and the subroutine program are separately stored as code instances in the first CM 35 and the second CM 36, and the runtime core 31 is stored in the PAT 38. Since the code memory is executed based on the indirect designation method, it is not necessary to maintain the object code to be read out by using the CALL instruction.
【0102】例えば、図2に示すように、CALL命令
で実行されるオブジェクトコードPOU2が上述したよ
うに間接指定方式で読み出されるので、このオブジェク
トコードPOU2がオンラインエディットされて修正さ
れた場合でも、ソースプログラムのコードPOU1を変
更する必要がない。For example, as shown in FIG. 2, since the object code POU2 executed by the CALL instruction is read out by the indirect designation method as described above, even if the object code POU2 is edited online and corrected, There is no need to change the code POU1 of the program.
【0103】この実施形態のPLCでは、磁気ディスク
5にPAT退避ファイル51を有しているため、電源を
落としたのち、再起動するに際してPAT退避ファイル
51に書かれているコードインスタンス名と使用するコ
ードメモリに基づき、第1のCM35,第2のCM23
6およびPAT38を電源を落とす前の状態に復帰する
ことができる。In the PLC of this embodiment, since the magnetic disk 5 has the PAT save file 51, it is used with the code instance name written in the PAT save file 51 when the power is turned off and restarted. Based on the code memory, the first CM 35 and the second CM 23
6 and the PAT 38 can be returned to the state before the power was turned off.
【0104】従って、この実施形態のPLCでは、電源
を落とした後、電源を立ちあげたときでも容易に再起動
することができる。Therefore, in the PLC of this embodiment, after the power is turned off, it can be easily restarted even when the power is turned on.
【0105】この実施形態のPLCでは、オンラインエ
ディットを行ったとき、ツール1が先に形成されている
オブジェクトコードファイル*.objを*.orgに
変更し、修正したものを改めて*.objとし、ランタ
イムコア31がPAT38の使用コードメモリ領域38
2に格納されているCM1とCM2とをともに反対に書
き替えるようにしたので、オンラインエディットにおい
てUndo処理ができるようになる。In the PLC of this embodiment, when online editing is performed, the tool 1 has the object code file *. obj as *. org, and revisit the modified *. obj, and the runtime core 31 uses the code memory area 38 of the PAT 38.
Since both CM1 and CM2 stored in No. 2 are rewritten oppositely, Undo processing can be performed in online editing.
【0106】この実施形態のPLCでは、磁気ディスク
6に記憶されているソースコードが1つであるが、これ
以外として、図11に示すように、磁気ディスク6に記
憶されているソースコードを複数記憶するようにしても
よい。In the PLC of this embodiment, the number of source codes stored in the magnetic disk 6 is one. However, as shown in FIG. You may make it memorize | store.
【0107】この場合には、ハードディスク7が、磁気
ディスク6に記憶されているソースコードを複数記憶す
るため、リストアするソースコードを複数有するこがで
きる。In this case, since the hard disk 7 stores a plurality of source codes stored on the magnetic disk 6, it is possible to have a plurality of source codes to be restored.
【0108】また、この実施形態のPLCでは、磁気デ
ィスク4に記憶されているオブジェクトコードが、ハー
ドディスク7にストアするようになっていないが、これ
以外として、ツール1が、磁気ディスク4に記憶されて
いるオブジェクトコードをハードディスク7にストアさ
せ、ツール1がハードディスク7に記憶されているオブ
ジェクトコードを磁気ディスク4にリストアさせるよう
にしてもよい。Further, in the PLC of this embodiment, the object code stored on the magnetic disk 4 is not stored on the hard disk 7, but the tool 1 is stored on the magnetic disk 4 in other cases. The object code stored in the hard disk 7 may be stored in the hard disk 7, and the tool 1 may restore the object code stored in the hard disk 7 to the magnetic disk 4.
【0109】こうすることにより、リストア時にソース
コードをコンパイルする手間を省くことができる。By doing so, it is possible to save the trouble of compiling the source code at the time of restoration.
【0110】[0110]
【発明の効果】以上本発明によれば、ソースコードスト
ア記憶手段に記憶されているソースコードを実行させた
い場合には、ソースコードリストア制御手段がソースコ
ードストア記憶手段に記憶されているソースコードをソ
ースコード記憶手段にリストアさせるため、複数回のオ
ンラインエディットを行ったのちでもある時点のユーザ
プログラムを再現することができる。As described above, according to the present invention, when it is desired to execute the source code stored in the source code store storage means, the source code restoration control means sets the source code stored in the source code store storage means. Is restored in the source code storage means, so that the user program at a certain point in time can be reproduced even after performing the online editing a plurality of times.
【0111】特に、変数0クリア手段が、ソースコード
ストア記憶手段からソースコード記憶手段にリストアさ
れたソースコードをオンラインエデイットした場合に、
オンラインエデイット前のソースコードの変数が残った
ときは、この残った変数を0クリアするため、残った変
数により誤動作することを防ぐことができる。In particular, when the variable 0 clearing means online-edits the source code restored from the source code storing means to the source code storing means,
When the variables of the source code before online editing remain, the remaining variables are cleared to 0, so that malfunction due to the remaining variables can be prevented.
【0112】また、ソースコードストア記憶手段は、ソ
ースコード記憶手段に記憶されているソースコードを複
数記憶するため、リストアするソースコードを複数有す
るこができる。Further, since the source code storage means stores a plurality of source codes stored in the source code storage means, it can have a plurality of source codes to be restored.
【0113】さらに、オブジェクトコードストア記憶制
御手段が、オブジェクトコード記憶手段に記憶されてい
るオブジェクトコードをオブジェクトコードストア記憶
手段にストアさせ、オブジェクトコードリストア制御手
段がオブジェクトコードストア記憶手段に記憶されてい
るオブジェクトコードをオブジェクトコード記憶手段に
リストアさせるため、リストア時にソースコードをコン
パイルする手間を省くことができる。Further, the object code store storage control means causes the object code stored in the object code storage means to be stored in the object code store storage means, and the object code restore control means is stored in the object code store storage means. Since the object code is restored in the object code storage means, it is possible to save the time and effort of compiling the source code at the time of restoration.
【図1】IEC1131−3基準に準拠するプログラム
言語についての説明図。FIG. 1 is an explanatory diagram of a programming language conforming to the IEC1131-3 standard.
【図2】IEC1131−3基準に準拠するプログラム
言語についての説明図。FIG. 2 is an explanatory diagram of a programming language conforming to the IEC1131-3 standard.
【図3】IEC1131−3基準に準拠するプログラム
言語で記述されたプログラムの1例図。FIG. 3 is an example diagram of a program described in a programming language conforming to the IEC1131-3 standard.
【図4】本発明に係る制御装置の一実施形態の構成を示
すブロック図。FIG. 4 is a block diagram showing a configuration of an embodiment of a control device according to the present invention.
【図5】ソースコードがストア、リストアする内容を説
明する説明図。FIG. 5 is an explanatory diagram illustrating contents stored and restored by a source code.
【図6】図4中のランタイムコアの機能についての説明
図。FIG. 6 is an explanatory diagram of a function of a runtime core in FIG. 4;
【図7】図4中の第1のコードメモリ,第2のコードメ
モリおよびデータメモリの構成を示すブロック図。FIG. 7 is a block diagram showing a configuration of a first code memory, a second code memory, and a data memory in FIG. 4;
【図8】残った変数が0クリアした状態のDMを説明す
る説明図。FIG. 8 is an explanatory diagram for explaining DM in a state where remaining variables are cleared to 0;
【図9】図4中のPOUアドレステーブルの構成を示す
ブロック図。FIG. 9 is a block diagram showing a configuration of a POU address table in FIG. 4;
【図10】ランタイムコアがDMに残った変数を0クリ
アする動作を説明する説明図。FIG. 10 is an explanatory diagram illustrating an operation in which a runtime core clears variables remaining in a DM to 0.
【図11】磁気ディスクに記憶されているソースコード
を複数記憶する場合におけるソースコードがストア、リ
ストアする内容を説明する説明図。FIG. 11 is an explanatory diagram illustrating contents stored and restored by a source code when a plurality of source codes stored on a magnetic disk are stored.
【図12】従来のプログラムコントローラのプログラム
修正についての説明図。FIG. 12 is an explanatory diagram of program correction of a conventional program controller.
【図13】従来の制御装置の一実施形態の構成を示すブ
ロック図。FIG. 13 is a block diagram showing a configuration of an embodiment of a conventional control device.
1 IEC1131−3プログラミングツール 2 コミニュケータ 3 ランタイム 31 ランタイムコア 32 コミニュケーションI/F 33 共有メモリ 34 オンラインエディット実行部 35,36 CM 37 DM 38 PAT 4 磁気ディスク 41 オブジェクトコードファイル 5 磁気ディスク 51 退避コードファイル 6 磁気ディスク 61 ソースコードファイル 7 ハードディスク 71 ソースコードファイル Reference Signs List 1 IEC1131-3 programming tool 2 Communicator 3 Runtime 31 Runtime core 32 Communication I / F 33 Shared memory 34 Online edit execution unit 35, 36 CM 37 DM 38 PAT 4 Magnetic disk 41 Object code file 5 Magnetic disk 51 Evacuation code file 6 Magnetic disk 61 Source code file 7 Hard disk 71 Source code file
Claims (3)
ソースコードを記憶するソースコード記憶手段と、現在
実行中の外部機器を制御するユーザプログラムのオブジ
ェクトコードをモジュール単位で記憶するオブジェクト
コード記憶手段とを備えている制御装置において、 前記ソースコード記憶手段に記憶されているソースコー
ドをコンパイルし、オブジェクトコードを形成するオブ
ジェクトコード形成手段と、 前記ソースコード記憶手段に記憶されているソースコー
ドをストア記憶するソースコードストア記憶手段と、 前記ソースコード記憶手段に記憶されているソースコー
ドを前記ソースコードストア記憶手段にストアさせるソ
ースコードストア記憶制御手段と、 前記ソースコードストア記憶手段に記憶されているソー
スコードを実行させたい場合には、このソースコードス
トア記憶手段に記憶されているソースコードを前記ソー
スコード記憶手段にリストアさせるソースコードリスト
ア制御手段とを具備することを特徴とする制御装置。A source code storage means for storing a source code of a user program for controlling an external device, and an object code storage means for storing, in module units, an object code of a user program for controlling a currently executed external device. A control device comprising: compiling source code stored in the source code storage means to form an object code; and storing and storing the source code stored in the source code storage means. Source code storage means; source code storage control means for storing the source code stored in the source code storage means in the source code storage means; source code stored in the source code storage means Real If you want to, the control apparatus characterized by comprising a source code restoration control means for restoring the source code stored in the source code store storing means to the source code storage means.
ソースコードを記憶するソースコード記憶手段と、現在
実行中の外部機器を制御するユーザプログラムのオブジ
ェクトコードをモジュール単位で記憶するオブジェクト
コード記憶手段とを備えている制御装置において、 前記ソースコード記憶手段に記憶されているソースコー
ドをコンパイルし、オブジェクトコードを形成するオブ
ジェクトコード形成手段と、 前記ソースコード記憶手段に記憶されているソースコー
ドをストア記憶するソースコードストア記憶手段と、 前記ソースコード記憶手段に記憶されているソースコー
ドを前記ソースコードストア記憶手段にストアさせるソ
ースコードストア記憶制御手段と、 前記ソースコードストア記憶手段に記憶されているソー
スコードを実行させたい場合には、このソースコードス
トア記憶手段に記憶されているソースコードを前記ソー
スコード記憶手段にリストアさせるソースコードリスト
ア制御手段と、 前記ソースコードストア記憶手段から前記ソースコード
記憶手段にリストアされたソースコードをオンラインエ
デイットした場合に、オンラインエデイット前のソース
コードの変数が残ったときは、この残った変数を0クリ
アする変数0クリア手段とを具備することを特徴とする
制御装置。2. A source code storage means for storing a source code of a user program for controlling an external device, and an object code storage means for storing, in units of modules, an object code of a user program for controlling a currently executed external device. A control device comprising: compiling source code stored in the source code storage means to form an object code; and storing and storing the source code stored in the source code storage means. Source code storage means; source code storage control means for storing the source code stored in the source code storage means in the source code storage means; source code stored in the source code storage means Real If desired, the source code storage control means causes the source code stored in the source code storage means to be restored in the source code storage means, and the source code is restored from the source code store storage means to the source code storage means. And a variable zero clearing means for clearing the remaining variables to zero when variables of the source code before online editing remain after online editing of the source code.
されたオブジェクトコードを記憶するオブジェクトコー
ド記憶手段と、 前記オブジェクトコード記憶手段に記憶されているオブ
ジェクトコードをストア記憶するオブジェクトコードス
トア記憶手段と、 前記オブジェクトコード記憶手段に記憶されているオブ
ジェクトコードを前記オブジェクトコードストア記憶手
段にストアさせるオブジェクトコードストア記憶制御手
段と、 前記オブジェクトコードストア記憶手段に記憶されてい
るオブジェクトコードを前記オブジェクトコード記憶手
段にリストアさせるオブジェクトコードリストア制御手
段とを具備することを特徴とする請求項1または2記載
の制御装置。3. An object code storage means for storing the object code formed by the object code formation means, an object code storage means for storing and storing the object code stored in the object code storage means, Object code store storage control means for storing the object code stored in the code storage means in the object code store storage means; and restoring the object code stored in the object code store storage means in the object code storage means 3. The control device according to claim 1, further comprising an object code restoration control unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10186165A JP2000020297A (en) | 1998-07-01 | 1998-07-01 | Controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10186165A JP2000020297A (en) | 1998-07-01 | 1998-07-01 | Controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000020297A true JP2000020297A (en) | 2000-01-21 |
Family
ID=16183535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10186165A Withdrawn JP2000020297A (en) | 1998-07-01 | 1998-07-01 | Controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000020297A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008040996A (en) * | 2006-08-10 | 2008-02-21 | Meidensha Corp | Programmable controller |
JP2008262529A (en) * | 2007-03-19 | 2008-10-30 | Fuji Electric Fa Components & Systems Co Ltd | Programmable controller, and function block call processing program |
JP2010072892A (en) * | 2008-09-18 | 2010-04-02 | Meidensha Corp | Mounting system for pou |
JP2012234272A (en) * | 2011-04-28 | 2012-11-29 | Fuji Electric Co Ltd | Programmable controller system and support device therefor |
-
1998
- 1998-07-01 JP JP10186165A patent/JP2000020297A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008040996A (en) * | 2006-08-10 | 2008-02-21 | Meidensha Corp | Programmable controller |
JP2008262529A (en) * | 2007-03-19 | 2008-10-30 | Fuji Electric Fa Components & Systems Co Ltd | Programmable controller, and function block call processing program |
JP2010072892A (en) * | 2008-09-18 | 2010-04-02 | Meidensha Corp | Mounting system for pou |
JP2012234272A (en) * | 2011-04-28 | 2012-11-29 | Fuji Electric Co Ltd | Programmable controller system and support device therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9235381B2 (en) | Method and device for the programming and configuration of a programmable logic controller | |
JP5039428B2 (en) | Programmable controller and PLC system | |
CN100442176C (en) | Control system setting device | |
US6826432B2 (en) | Process for programming an automation application | |
JP6786984B2 (en) | Program processing equipment and programs | |
CN101669077A (en) | Debug system for diagram of orogrammable controller, its programming device and its program | |
JP5777837B2 (en) | Program development support apparatus and method | |
JPH103307A (en) | Numerical controller | |
JP2000020297A (en) | Controller | |
JP4366575B2 (en) | tool | |
JP3389592B2 (en) | Programmable controller | |
JP5205988B2 (en) | PLC global variable definition method | |
JP2000284815A (en) | Program generating device | |
JPH10149278A (en) | Installing method | |
WO2022190417A1 (en) | Development support device, development support method, and development support program | |
US20230134007A1 (en) | Support device, non-transitory computer-readable storage medium, and support method | |
JP2006107172A (en) | Programming device of programmable controller | |
WO2022249713A1 (en) | Control system, system program, and debugging method | |
van der Linden et al. | Towards evolvable state machines for automation systems | |
JP2002189506A (en) | Pc support device | |
JPH07253876A (en) | Program generating device | |
KR100423742B1 (en) | Exclusive control system by sequential function chart | |
KR100258633B1 (en) | Control logic program managing method | |
JP2885957B2 (en) | Sequence program programming method and apparatus | |
JPH09160611A (en) | Programmable controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050906 |