JP3629947B2 - Programmable controller system, programmable controller support apparatus, programmable controller, and recording medium - Google Patents

Programmable controller system, programmable controller support apparatus, programmable controller, and recording medium Download PDF

Info

Publication number
JP3629947B2
JP3629947B2 JP10597398A JP10597398A JP3629947B2 JP 3629947 B2 JP3629947 B2 JP 3629947B2 JP 10597398 A JP10597398 A JP 10597398A JP 10597398 A JP10597398 A JP 10597398A JP 3629947 B2 JP3629947 B2 JP 3629947B2
Authority
JP
Japan
Prior art keywords
initialization
variable
programmable controller
file
initialization pattern
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
Application number
JP10597398A
Other languages
Japanese (ja)
Other versions
JPH11305809A (en
Inventor
一人 永塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric FA Components and Systems Co Ltd
Original Assignee
Fuji Electric FA Components and Systems Co Ltd
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 Fuji Electric FA Components and Systems Co Ltd filed Critical Fuji Electric FA Components and Systems Co Ltd
Priority to JP10597398A priority Critical patent/JP3629947B2/en
Publication of JPH11305809A publication Critical patent/JPH11305809A/en
Application granted granted Critical
Publication of JP3629947B2 publication Critical patent/JP3629947B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はプログラマブルコントローラシステム、プログラマブルコントローラ支援装置、プログラマブルコントローラ、および、記録媒体に関し、特に、プログラマブルコントローラ支援装置から入力されたアプリケーションプログラムのソースコードをコンパイルして実行可能ファイルを生成した後、プログラマブルコントローラに供給して実行するプログラマブルコントローラシステム、プログラマブルコントローラシステムを構成するプログラマブルコントローラ支援装置とプログラマブルコントローラ、および、コンピュータをプログラマブルコントローラ支援装置として機能させるプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
制御仕様が簡単に変更できることを特徴とするプログラマブルコントローラ(PC:Proglamable Controller)が、その低価格化と高性能化に牽引されて、数多の現場で使用されるようになってきた。
【0003】
一般的に、プログラマブルコントローラは、パーソナルコンピュータと同様に、CPU、ROM、RAM、および、インターフェースなどによって構成されており、プログラマブルコントローラ支援装置から供給されたアプリケーションプログラムに応じて、制御対象であるモジュール群を制御する。
【0004】
ところで、プログラマブルコントローラで実行するアプリケーションプログラムは、プログラマブルコントローラ支援装置において、例えば、高級言語や図形言語などを用いて記述する。そして、このアプリケーションプログラムを実行する場合には、プログラムをコンパイルして実行可能ファイルを生成した後、その実行可能ファイルをプログラマブルコントローラに送信して実行させる。
【0005】
なお、アプリケーションプログラムをコンパイルする際は、アプリケーションプログラムで使用されている各種変数の初期値を格納した初期化パターンファイルが生成され、実行可能ファイルとともに、プログラマブルコントローラに送信される。
【0006】
図12は、従来のプログラマブルコントローラによって生成される初期化パターンファイルの一例を示す図である。
この図において、アプリケーションプログラムP1は、ソースコードであり、この例では、IEC(International Electrotechnical Commission )1131−3規格に準拠した高級言語で記述されている。
【0007】
ところで、このIEC1131−3規格に準拠した高級言語で使用可能な変数は、次の4種類である。なお、これらの変数は、ユーザが指定した初期値を有するか否かと、後述するウォーム起動とコールド起動における初期化の取り扱いの相違と、によって分類される。
(1)通常変数:起動方法に拘わらず値0に初期化される
(2)初期化変数:起動方法に拘わらず所定の初期値を有する
(3)リテイン変数:コールド起動では値0に初期化され、ウォーム起動では前回実行時の値が保持される
(4)初期化リテイン変数:コールド起動では所定の値に初期化され、ウォーム起動では前回実行時の値が保持される
ここで、ウォーム起動とは、前回実行時におけるリテイン変数(初期化リテイン変数も含む)の値を保持した状態で再起動することであり、また、コールド起動とは、リテイン変数を初期化した状態で起動することである。
【0008】
このアプリケーションプログラムP1がプログラマブルコントローラ支援装置によってコンパイルされると、実行可能ファイル(プログラム)が生成されるとともに、初期化パターンファイルi1と属性情報a1とが生成される。
【0009】
ここで、初期化パターンファイルi1は、アプリケーションプログラムに含まれている変数を初期化する際の初期値を格納している。また、属性情報a1は、初期化パターンファイルi1に格納されている初期値に対応する変数がリテイン変数であるか否かをそのビットの状態によって示す。
【0010】
この例では、アプリケーションプログラムP1の「VAR」および「END_VAR」によって囲繞されている領域内に変数の宣言がなされている。例えば、第3行目には、正数(Integer )型の変数「AAA」が宣言されており、その初期値は定義されていない。その下の行には、整数型の変数「BBB」が宣言されており、その初期値は16進数の“444”である。なお、「VAR」および「END_VAR」によって囲繞されている領域内に変数のうち、初期値が代入されていない変数が通常変数であり、初期値が代入されている変数が初期化変数である。
【0011】
また、「VAR RETAIN」および「END_VAR」によって囲繞されている領域内で宣言されている変数は、リテイン変数である。例えば、第8行目には、整数型のリテイン変数「DDD」が宣言されており、その初期値は16進数の“456”である。「VAR RETAIN」および「END_VAR」によって囲繞されている領域内で宣言されている変数のうち、初期値が代入されていない変数がリテイン変数であり、初期値が代入されている変数が初期化リテイン変数である。
【0012】
従って、アプリケーションプログラムP1の第3行目に宣言されている整数型の通常変数AAAは、その初期値が0であるので、初期化パターンファイルの第1行目には“0”が格納されており、また、メモリ属性情報の第1行目には、リテイン変数ではないこと示す“0”が格納されている。
【0013】
このようにして生成された、初期化パターンファイルi1と属性情報a1とは、プログラマブルコントローラに送信され、そこで格納される。
そして、例えば、コールド起動がかけられた場合には、図13に示すように、初期化パターンファイルの全てがユーザメモリ(プログラム実行中に各変数の値を格納するメモリ)m1に転送される。
【0014】
また、ウォーム起動がかけられた場合には、図14に示すように、属性情報の値が“0”であるものだけ(リテイン変数以外の変数)が、ユーザメモリm1に転送される。
【0015】
そして、アプリケーションプログラムが実行され、制御対象に対する制御が開始されることになる。
以上のような構成によれば、例えば、アプリケーションプログラムのデバッグ時にはウォーム起動を行って、適宜プログラムを停止させながら動作を確認するといったように、目的に応じた形態でプログラムを実行させることができる。
【0016】
【発明が解決しようとする課題】
しかしながら、このような従来の方法では、全ての変数の初期値を格納した初期化パターンファイルを作成するとともに、それに対応した属性情報を作成しなければならず、これら2つのファイル容量が大きくなる。その結果、プログラマブルコントローラ支援装置からプログラマブルコントローラに対してアプリケーションプログラムを転送するのに時間を要するという問題点があった。
【0017】
本発明はこのような点に鑑みてなされたものであり、初期化パターンファイルおよびそれに対応した属性情報のファイル容量を縮小化することを可能とするプログラマブルコントローラシステム、プログラマブルコントローラ支援装置、プログラマブルコントローラ、および、コンピュータに前述のような処理を実行させるプログラムを記録した記録媒体を提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明では上記課題を解決するために、プログラマブルコントローラ支援装置から入力されたアプリケーションプログラムのソースコードをコンパイルして実行可能ファイルを生成した後、プログラマブルコントローラに供給して実行するプログラマブルコントローラシステムにおいて、前記プログラマブルコントローラ支援装置は、前記アプリケーションプログラムのソースコードの入力を受けるアプリケーションプログラム入力手段と、前記アプリケーションプログラムのソースコードをコンパイルして、実行可能ファイルを生成するコンパイル手段と、前記アプリケーションプログラムのソースコードに含まれている変数のうち、予め設定された初期値によって初期化される初期化変数と、値0によって初期化されるその他の変数とを弁別し、初期化変数とその初期値のみを抽出する初期化変数抽出手段と、前記初期化変数抽出手段によって抽出された初期化変数の初期値から初期化パターンファイルを生成する初期化パターンファイル生成手段と、前記コンパイル手段によって生成された実行可能ファイルと、前記初期化パターンファイル生成手段によって生成された初期化パターンファイルとを前記プログラマブルコントローラに送信する送信手段と、前記送信手段によって送信された実行可能ファイルを起動する起動手段とを有し、前記プログラマブルコントローラは、前記プログラマブルコントローラ支援装置から送信された前記実行可能ファイルと、前記初期化パターンファイルとを受信する受信手段と、前記受信手段によって受信された前記実行可能ファイルを格納する実行可能ファイル格納手段と、前記受信手段によって受信された前記初期化パターンファイルを格納する初期化パターンファイル格納手段と、前記実行可能ファイルが起動された場合に、各種変数の値が格納される変数値格納手段と、前記起動手段によって前記実行可能ファイルが起動された場合には、前記初期化パターンファイルを前記変数値格納手段の所定の領域にマッピングするマッピング手段と、前記初期化パターンファイルにより予め定められた初期値によって初期化される前記初期化変数以外の変数に対応する前記変数値格納手段の所定の領域を値0によって初期化する初期化手段と、を有することを特徴とするプログラマブルコントローラシステムが提供される。
【0019】
ここで、プログラマブルコントローラ支援装置において、アプリケーションプログラム入力手段は、アプリケーションプログラムのソースコードの入力を受ける。コンパイル手段は、アプリケーションプログラムのソースコードをコンパイルして、実行可能ファイルを生成する。初期化変数抽出手段は、アプリケーションプログラムのソースコードに含まれている変数のうち、予め設定された初期値によって初期化される初期化変数と、値0によって初期化されるその他の変数とを弁別し、初期化変数とその初期値のみを抽出する。初期化パターンファイル生成手段は、初期化変数抽出手段によって抽出された初期化変数の初期値から初期化パターンファイルを生成する。送信手段は、コンパイル手段によって生成された実行可能ファイルと、初期化パターンファイル生成手段によって生成された初期化パターンファイルとをプログラマブルコントローラに送信する。起動手段は、送信手段によって送信された実行可能ファイルを起動する。プログラマブルコントローラにおいて、受信手段は、プログラマブルコントローラ支援装置から送信された実行可能ファイルと、初期化パターンファイルとを受信する。実行可能ファイル格納手段は、受信手段によって受信された実行可能ファイルを格納する。初期化パターンファイル格納手段は、受信手段によって受信された初期化パターンファイルを格納する。変数値格納手段は、実行可能ファイルが起動された場合に、各種変数の値が格納される。マッピング手段は、起動手段によって実行可能ファイルが起動された場合には、初期化パターンファイルを変数値格納手段の所定の領域にマッピングする。初期化手段は、初期化パターンファイルにより予め定められた初期値によって初期化される初期化変数以外の変数に対応する変数値格納手段の所定の領域を値0によって初期化する。
【0020】
また、入力されたアプリケーションプログラムのソースコードをコンパイルして実行可能ファイルを生成した後、プログラマブルコントローラに供給して実行させるプログラマブルコントローラ支援装置おいて、前記アプリケーションプログラムのソースコードの入力を受けるアプリケーションプログラム入力手段と、前記アプリケーションプログラムのソースコードをコンパイルして、実行可能ファイルを生成するコンパイル手段と、前記アプリケーションプログラムのソースコードに含まれている変数のうち、予め設定された初期値によって初期化される初期化変数と、値0によって初期化されるその他の変数とを弁別し、初期化変数とその初期値のみを抽出する初期化変数抽出手段と、前記初期化変数抽出手段によって抽出された初期化変数の初期値から初期化パターンファイルを生成する初期化パターンファイル生成手段と、前記コンパイル手段によって生成された実行可能ファイルと、前記初期化パターンファイル生成手段によって生成された初期化パターンファイルとを前記プログラマブルコントローラに送信する送信手段と、前記送信手段によって送信された実行可能ファイルを起動する起動手段と、を有することを特徴とするプログラマブルコントローラ支援装置が提供される。
【0021】
ここで、アプリケーションプログラム入力手段は、アプリケーションプログラムのソースコードの入力を受ける。コンパイル手段は、アプリケーションプログラムのソースコードをコンパイルして、実行可能ファイルを生成する。初期化変数抽出手段は、アプリケーションプログラムのソースコードに含まれている変数のうち、予め設定された初期値によって初期化される初期化変数と、値0によって初期化されるその他の変数とを弁別し、初期化変数とその初期値のみを抽出する。初期化パターンファイル生成手段は、初期化変数抽出手段によって抽出された初期化変数の初期値から初期化パターンファイルを生成する。送信手段は、コンパイル手段によって生成された実行可能ファイルと、初期化パターンファイル生成手段によって生成された初期化パターンファイルとをプログラマブルコントローラに送信する。起動手段は、送信手段によって送信された実行可能ファイルを起動する。
【0022】
更に、プログラマブルコントローラ支援装置がアプリケーションプログラムのソースコードをコンパイルして生成した実行可能ファイルを入力して実行するプログラマブルコントローラにおいて、前記プログラマブルコントローラ支援装置から送信された前記実行可能ファイルと、前記初期化パターンファイルとを受信する受信手段と、前記受信手段によって受信された前記実行可能ファイルを格納する実行可能ファイル格納手段と、前記受信手段によって受信された前記初期化パターンファイルを格納する初期化パターンファイル格納手段と、前記実行可能ファイルが起動された場合に、各種変数の値が格納される変数値格納手段と、前記起動手段によって前記実行可能ファイルが起動された場合には、前記初期化パターンファイルを前記変数値格納手段の所定の領域にマッピングするマッピング手段と、前記初期化パターンファイルにより予め定められた初期値によって初期化される前記初期化変数以外の変数に対応する前記変数値格納手段の所定の領域を値0によって初期化する初期化手段と、を有することを特徴とするプログラマブルコントローラが提供される。
【0023】
ここで、受信手段は、プログラマブルコントローラ支援装置から送信された実行可能ファイルと、初期化パターンファイルとを受信する。実行可能ファイル格納手段は、受信手段によって受信された実行可能ファイルを格納する。初期化パターンファイル格納手段は、受信手段によって受信された初期化パターンファイルを格納する。変数値格納手段は、実行可能ファイルが起動された場合に、各種変数の値が格納される。マッピング手段は、起動手段によって実行可能ファイルが起動された場合には、初期化パターンファイルを変数値格納手段の所定の領域にマッピングする。初期化手段は、初期化パターンファイルにより予め定められた初期値によって初期化される初期化変数以外の変数に対応する変数値格納手段の所定の領域を値0によって初期化する。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1において、プログラマブルコントローラ支援装置1は、アプリケーションプログラムをコンパイルするとともに、初期化パターンファイルを生成し、バス2を介してプログラマブルコントローラ3に供給する。
【0025】
プログラマブルコントローラ3は、アプリケーションプログラムが起動されると、プログラマブルコントローラ支援装置1から供給された初期化パターンファイルによって、アプリケーションプログラムに記述されている変数の初期値を設定した後、プログラムを実行する。
【0026】
プログラマブルコントローラ3は、アプリケーションプログラムに応じて、制御対象となるモジュール5−1〜5−nを制御する。
ここで、プログラマブルコントローラ支援装置1は、アプリケーションプログラム入力手段1a、コンパイル手段1b、初期化変数抽出手段1c、初期化パターンファイル生成手段1d、共通初期化パターンファイル生成手段1e、マッピング情報生成手段1f、送信手段1g、および、起動手段1hによって構成されている。
【0027】
アプリケーションプログラム入力手段1aは、アプリケーションプログラムの入力を受ける。コンパイル手段1bは、アプリケーションプログラム入力手段1aから入力されたプログラムをコンパイルし、実行可能ファイルを生成する。
【0028】
初期化変数抽出手段1cは、アプリケーションプログラムのソースコードに含まれている変数のうち、初期化変数と初期化リテイン変数とを抽出するとともに、それらの初期値を抽出する。
【0029】
初期化パターンファイル生成手段1dは、初期化変数抽出手段1cによって抽出された初期化変数と初期化リテイン変数の初期値から初期化パターンファイルを生成する。
【0030】
共通初期化パターンファイル生成手段1eは、アプリケーションプログラムのソースコードに、共通の初期化パターンを有する宣言文が繰り返し出現する場合には、その共通初期化パターンを抽出して共通初期化パターンファイルを生成する。
【0031】
マッピング情報生成手段1fは、共通初期化パターンファイルが後述するマッピング手段3dによってマッピングされる際に参照されるマッピング情報を生成する。
【0032】
送信手段1gは、コンパイル手段1bによって生成された実行可能ファイル、初期化パターンファイル生成手段1dによって生成された初期化パターンファイル、共通初期化パターンファイル生成手段1eによって生成された共通初期化パターンファイル、および、マッピング情報生成手段1fによって生成されたマッピング情報をプログラマブルコントローラ3に送信する。
【0033】
起動手段1hは、プログラマブルコントローラ3に所定の制御信号を送り、アプリケーションプログラムを起動させる。
また、プログラマブルコントローラ3は、受信手段3a、実行可能ファイル格納手段3b、初期化パターンファイル格納手段3c、マッピング手段3d、変数値格納手段3e、および、初期化手段3fによって構成されている。
【0034】
受信手段3aは、プログラマブルコントローラ支援装置1から送信された実行可能ファイル、初期化パターンファイル、共通初期化パターンファイル、および、マッピング情報を受信する。
【0035】
実行可能ファイル格納手段3bは、受信手段3aによって受信された実行可能ファイルを格納する。
初期化パターンファイル格納手段3cは、受信手段3aによって受信された初期化パターンファイル、共通初期化パターンファイル、および、マッピング情報とを格納する。
【0036】
マッピング手段3dは、起動手段1hによって実行可能ファイルが起動された場合には、初期化パターンファイルを変数値格納手段3eの特定の領域にマッピングするとともに、マッピング情報を参照して共通初期化パターンファイルを変数値格納手段3eの特定の領域(初期化パターンファイルがマッピングされる領域とは異なる領域)にマッピングする。
【0037】
変数値格納手段3eは、実行可能ファイル格納手段3bに格納されているアプリケーションプログラムが起動された場合に、各種変数の値を格納する。
初期化手段3fは、通常変数およびリテイン変数を値0によって初期化する。
【0038】
次に、以上の原理図の動作について説明する。
いま、アプリケーションプログラム入力手段1aからアプリケーションプログラムが入力され、コンパイル手段1bによってコンパイルが開始されたとすると、初期化変数抽出手段1cは、コンパイル手段1bのコンパイル結果を参照して、アプリケーションプログラムから初期化変数(および初期化リテイン変数)を抽出する。
【0039】
初期化変数抽出手段1cによって抽出された初期化変数は、初期化パターンファイル生成手段1dに供給され、そこで、初期化パターンファイルに変換される。即ち、初期化パターンファイル生成手段1dは、初期化変数および初期化リテイン変数の初期値のみからなる初期化パターンファイルを生成する。
【0040】
また、共通初期化パターンファイル生成手段1eは、アプリケーションプログラムに繰り返し出現する共通な初期化パターンを抽出して共通初期化パターンファイルを生成する。なお、共通初期化パターンは、例えば、初期値のみが異なる関数やサブルーチンがアプリケーションプログラム中で繰り返し使用されている場合に出現する。
【0041】
マッピング情報生成手段1fは、共通初期化パターンファイルをマッピング手段3dがマッピングする場合に必要な情報(マッピングするアドレス、マッピングの繰り返し回数等に関する情報)を生成して出力する。
【0042】
送信手段1gは、コンパイル手段1bによって生成されたアプリケーションプログラムの実行可能ファイル、初期化パターンファイル生成手段1dによって生成された初期化パターンファイル、共通初期化パターンファイル生成手段1eによって生成された共通初期化パターンファイル、および、マッピング情報生成手段1fによって生成されたマッピング情報をプログラマブルコントローラ3に送信する。
【0043】
プログラマブルコントローラ3の受信手段3aは、プログラマブルコントローラ支援装置1から送信された以上の情報を受信する。
実行可能ファイル格納手段3bは、受信手段3aが受信した情報から実行可能ファイルを抽出して格納する。
【0044】
初期化パターンファイル格納手段3cは、受信手段3aが受信した情報から初期化パターンファイル、共通初期化パターンファイル、および、マッピング情報を抽出して格納する。
【0045】
このような状態において、プログラマブルコントローラ支援装置1の起動手段1hがアプリケーションプログラムを起動する制御信号を送信した場合には、実行可能ファイル格納手段3bに格納されているアプリケーションプログラムが起動されることになる。
【0046】
そのとき、マッピング手段3dは、初期化パターンファイル格納手段3cに格納されている初期化パターンファイルを、変数値格納手段3eの特定の領域にマッピングするとともに、マッピング情報を参照して共通初期化パターンファイルを変数値格納手段3eの初期化パターンファイルがマッピングされる領域とは異なる特定の領域にマッピングする。
【0047】
例えば、マッピング情報に共通初期化パターンファイルを5回繰り返してマッピングすることが指示されている場合には、マッピング手段3dは、共通初期化パターンファイルを特定のアドレスから5回連続してマッピングする。
【0048】
初期化手段3fは、変数値格納手段3eの通常変数とリテイン変数が格納される領域に“0”を書き込み、これらの変数を値0に初期設定する。
そして、実行可能ファイル格納手段3bに格納されているアプリケーションプログラムが実際に動作を開始すると、変数値格納手段3eに格納されている変数値が適宜参照されながら、バス4を介して制御対象であるモジュール5−1〜5−nが制御されることになる。
【0049】
以上に示した本発明によれば、初期化変数をアプリケーションプログラムから抽出して、それらを初期化する際に必要な初期化パターンファイルを生成し、変数値格納手段3eの特定の領域にマッピングするようにしたので、全ての初期値を送信する必要がなくなり、その結果、プログラマブルコントローラ支援装置1からプログラマブルコントローラ3に送信されるファイルの容量を縮小化することが可能となる。
【0050】
また、アプリケーションプログラムから共通初期化パターンを抽出し、そのマッピング情報とともにプログラマブルコントローラ3に送信し、プログラマブルコントローラ3側では、マッピング情報を参照して共通初期化パターンを変数値格納手段3eにマッピングするようにしたので、アプリケーションプログラム中に同一の初期化パターンが繰り返し出現する場合には、共通パターンを1つだけ送信するようにすることができるので、前述の場合と同様にプログラマブルコントローラ支援装置1からプログラマブルコントローラ3に送信されるファイルの容量を縮小化することが可能となる。
【0051】
次に、図2を参照して本発明の実施の形態について説明する。
この図に示すように、プログラマブルコントローラ支援装置20は、CPU20a、ROM20b、RAM20c、インターフェース20d,20eにより構成されており、入力装置10より入力されたアプリケーションプログラムをコンパイルするとともに、アプリケーションプログラムに含まれている変数の初期化パターンファイルを生成してしてプログラマブルコントローラ30に送信する。また、必要に応じて、プログラマブルコントローラ30を制御し、アプリケーションプログラムを起動する。
【0052】
プログラマブルコントローラ30は、CPU30a、ROM30b、RAM30c、インターフェース30d,30eにより構成されており、プログラマブルコントローラ支援装置20より送信されたアプリケーションプログラムに応じて、モジュール5−1〜5−nを制御する。
【0053】
ここで、入力装置10は、例えば、キーボードやHDD装置などであり、アプリケーションプログラムをプログラマブルコントローラ支援装置20に対して供給する。
【0054】
プログラマブルコントローラ支援装置20のCPU20aは、装置の各部を制御するとともに、所定の演算処理を行う。ROM20bは、CPU20aにおいて実行される基本的なプログラム等を格納している。RAM20cは、CPU20aが所定の処理を実行する場合に、演算途中のデータや実行途中のプログラム等を一時的に格納する。
【0055】
インターフェース20dは、例えば、USB(Universal Serial Bus)やSCSI(Small Computer System Interface )などであり、入力装置10からアプリケーションプログラムを入力する。インターフェース20dは、RS(Recommended Standard)232Cなどのシリアルバスであり、プログラマブルコントローラ支援装置20において作成されたアプリケーションプログラムや初期化パターンファイルをプログラマブルコントローラ30に伝送したり、プログラマブルコントローラ30の動作状況をプログラマブルコントローラ支援装置20に伝送する。
【0056】
バス4は、プログラマブルコントローラ30とモジュール5−1〜5−nを相互に接続し、これらの間でデータの授受を可能とする。
モジュール5−1〜5−nは、制御対象を直接制御する機器であり、例えば、ディジタル入力・出力、アナログ入力・出力、および、通信デバイスなどによって構成されている。
【0057】
次に、図3を参照して以上の実施の形態の動作を説明する。
図3は、図2に示すプログラマブルコントローラ支援装置20において実行される処理の一例を説明するフローチャートである。このフローチャートが開始されると、以下の処理が実行されることになる。
[S1]CPU20aは、入力装置10からアプリケーションプログラムを入力し、RAM20cの所定の領域に格納する。
[S2]CPU20aは、入力装置10から所定のコマンドが入力され、コンパイルの実行が指示されたか否かを判定し、コンパイルの実行が指示された場合にはステップS3に進み、それ以外の場合にはステップS2に戻る。
[S3]CPU20aは、コンパイル処理を実行する。
【0058】
なお、このコンパイル処理は、例えば、RAM20cに格納されているコンパイラプログラムに従って実行される。
[S4]CPU20aは、アプリケーションプログラムに含まれている初期化変数を抽出する。
【0059】
初期化変数を抽出する様子を図4に示す。この図に示すユーザプログラム40は、図5に示すユーザプログラムとともに、アプリケーションプログラムの一部であり、プログラムが起動された場合には一度しか実行されない部分である。
【0060】
この図において、「VAR」および「END_VAR」によって囲繞された部分のうち、初期値が代入されているもの(変数「BBB」および変数「CCC」)がステップS4において抽出される初期化変数である。
[S5]CPU20aは、ステップS4において抽出した初期化変数に対応する初期化パターンファイルを生成する。
【0061】
図4の例では、初期化パターンファイル41が生成される。
[S6]CPU20aは、アプリケーションプログラムに含まれている初期化リテイン変数を抽出する。
【0062】
この図において、「VAR RETAIN」および「END_VAR」によって囲繞された部分のうち、初期値が代入されている変数(変数「DDD」、変数「EEE」、および、変数「FFF」)がステップS6において抽出される初期化リテイン変数である。
【0063】
ここで、「F_1: funcA」は、インスタンス(初期化領域)名が「F_1」であるファンクションブロック(詳細は後述する)を宣言している文である。
[S7]CPU20aは、ステップS6において抽出した初期化リテイン変数に対応する初期化パターンファイルを生成する。
【0064】
図4の例では、初期化パターンファイル42が生成される。
[S8]CPU20aは、ファンクションブロックから共通初期化パターンを抽出し、共通初期化パターンファイルを生成する。
【0065】
ここで、ファンクションブロックとは、所定の入力が与えられた場合に、その入力に応じた所定の処理を実行し、得られた結果を出力する機能ブロックを意味している。これは、例えば、サブルーチンや関数と同等である。
【0066】
この例では、図4に示すように、ユーザプログラム40のメインブロックに、インスタンス名が「F_1」〜「F_3」である3つのファンクションブロック「funcA」が宣言されており、それらのファンクションブロックは、第16行目以降に示すように、入力パラメータが代入される変数AAAに対して初期値“123”が代入されて呼び出されている(例えば、F_1(AAA:=123))。
【0067】
なお、例えば、文「DDD:=F_1.FFF」は、インスタンス名F_1のファンクションブロック「funcA」の出力パラメータ「FFF」の値を変数DDDに入力する処理である。
【0068】
ところで、ファンクションブロック「funcA」において使用されている変数は、インスタンス名に拘わらず共通であるので、アプリケーションプログラムが実行される場合には、これらのファンクションブロックに対応するユーザメモリ領域には共通の初期化パターンが3回マッピングされることになる。
【0069】
このように、インスタンス名が異なる同一のファンクションブロックが存在する場合には、ステップS8の処理において、この共通初期化パターンが抽出されて共通初期化パターンファイル51(図5参照)が生成される。
[S9]CPU20aは、マッピング情報を生成する。
【0070】
図5の例では、ファンクションブロック「funcA」の共通初期化パターンは、アドレス「00001200」番地から、3回連続してマッピングされることが示されている。
[S10]CPU20aは、属性情報を生成する。
【0071】
ここで、属性情報とは共通初期化パターンファイルに格納されている変数(ワード単位で格納されている)がリテイン変数であるか否かをビットの状態で示した情報である。ビットが“1”である場合には、対応する情報がリテイン変数の初期値であることを示している。
【0072】
図5の例では、第5〜第6行目が“1”となっており、共通初期化パターンファイルの“0456”および“0567”がリテイン変数の初期値であることが分かる。なお、これらの変数は、ユーザプログラム50の第10〜第11行目に記述された変数DDDおよび変数EEEに対応している。
[S11]CPU20aは、生成された実行可能ファイル、初期化パターンファイル、共通初期化パターンファイル、マッピング情報、および、属性情報をプログラマブルコントローラ30に送信する。
【0073】
以上の処理により、アプリケーションプログラムを実行する際に必要な実行可能ファイル、初期化パターンファイル、共通初期化パターンファイル、マッピング情報、および、属性情報が生成され、プログラマブルコントローラ30に供給される。
【0074】
次に、図6〜図8を参照して、プログラマブルコントローラ30において実行される処理の一例について説明する。
図6は、プログラマブルコントローラ支援装置20から送信されたアプリケーションプログラムを実行する場合にプログラマブルコントローラ30において実行される処理の一例を説明するフローチャートである。このフローチャートが開始されると、以下の処理が実行される。
[S21]CPU30aは、プログラマブルコントローラ支援装置20から、アプリケーションプログラムの起動が要請されたか否かを判定し、起動が要請された場合にはステップS22に進み、その他の場合にはステップS21に戻る。
[S22]CPU30aは、ウォーム起動が要請されたか否かを判定し、ウォーム起動が要請された場合にはステップS23に進み、それ以外の場合(コールド起動が要請された場合)にはステップS24に進む。
[S23]CPU30aは、ウォーム起動処理を実行する。
【0075】
なお、この処理の詳細については図7を参照して後述する。
[S24]CPU30aは、コールド起動処理を実行する。
なお、この処理の詳細については図8を参照して後述する。
【0076】
図7は、図6に示すウォーム起動処理の詳細を説明するフローチャートである。このフローチャートが開始されると、以下の処理が実行される。
[S31]CPU30aは、通常メモリ領域を値0によって初期化する。
【0077】
なお、通常メモリ領域とは通常変数が格納されるRAM30c上の領域である。
即ち、RAM30cのユーザメモリ領域(変数の値が格納される領域)は、図9に示すように、通常変数の値が格納される通常メモリ領域61、初期化変数の値が格納される初期化メモリ領域62、リテイン変数の値が格納されるリテインメモリ領域63、初期化リテイン変数の値が格納される初期化リテインメモリ領域64、および、ファンクションブロックの変数の値が格納されるフリーメモリ領域65に分割されている。
[S32]CPU30aは、初期化パターンファイル41を初期化メモリ領域62にマッピングする。
【0078】
この様子を図10に示す。この例に示すように、初期化変数の初期化パターンファイル41は、ユーザメモリ領域の初期化メモリ領域(初期化変数の値が格納される領域)62にマッピングされる。
[S33]CPU30aは、マッピング情報52と属性情報53とを参照して、共通初期化パターンファイル51をフリーメモリ領域65にマッピングする。
【0079】
即ち、図10に示すように、CPU30aは、マッピング情報52を参照して、属性情報が“0”とされている変数(通常変数および初期化変数)に対応する領域に対して、共通初期化パターンファイルの初期値を書き込み、初期化を行う。
[S34]CPU30aは、RAM30cに格納されているアプリケーションプログラムを実行し、図6の処理に復帰(リターン)する。
【0080】
以上の処理により、リテイン変数および初期化リテイン変数の前回値(前回起動されたときの変数の最終値)を保存した状態で、アプリケーションプログラムを再起動させることができる。
【0081】
次に、図8を参照して、図6に示すコールド起動処理の詳細な処理について説明する。図8に示すフローチャートが開始されると、以下の処理が実行される。
[S41]CPU30aは、通常メモリ領域61およびリテインメモリ領域63を値0によって初期化する。
[S42]CPU30aは、初期化パターンファイル41を初期化メモリ領域62にマッピングする。
【0082】
即ち、図11に示すように、CPU30aは、初期化変数の初期化パターンファイル41を、ユーザメモリ領域の初期化メモリ領域62にマッピングする。
[S43]CPU30aは、初期化パターンファイル42を初期化リテインメモリ領域64にマッピングする。
【0083】
即ち、図11に示すように、CPU30aは、初期化リテイン変数の初期化パターンファイル42を、ユーザメモリ領域の初期化メモリ領域64にマッピングする。
[S44]CPU30aは、マッピング情報52を参照して、共通初期化パターンファイル51を、フリーメモリ領域65にマッピングする。
【0084】
即ち、図11に示すように、CPU30aは、ファンクションブロックの全ての変数の初期値が格納された共通初期化パターンファイル51を、マッピング情報52を参照して、ユーザメモリ領域のフリーメモリ領域65にマッピングする。
[S45]CPU30aは、RAM30cに格納されているアプリケーションプログラムを実行し、図6の処理に復帰(リターン)する。
【0085】
以上の処理により、全ての変数を初期化した状態で、アプリケーションプログラムを起動させることができる。
以上の実施の形態によれば、プログラマブルコントローラ支援装置20においてアプリケーションプログラムをコンパイルする際に、初期化変数および初期化リテイン変数の初期化パターンファイルを生成し、プログラマブルコントローラ30ではこれらの初期化パターンファイルによって変数を初期化するとともに、その他の変数は、一括して、値0に初期化するようにしたので、プログラマブルコントローラ支援装置20からプログラマブルコントローラ30に送信される初期化パターンファイルおよび属性情報の容量を削減することが可能となる。
【0086】
また、本実施の形態によれば、アプリケーションプログラム中に、異なるインスタンス名を有するファンクションブロックが複数存在している場合には、共通初期化パターンファイル51を生成するとともに、マッピング情報52を生成し、プログラマブルコントローラ30では、マッピング情報52を参照して、共通初期化パターンファイル51をフリーメモリ領域65に展開するようにしたので、プログラマブルコントローラ支援装置20からプログラマブルコントローラ30に送信される初期化パターンファイルおよび属性情報の容量を削減することが可能となる。
【0087】
更に、本実施の形態によれば、ウォーム起動が実行された場合には、リテイン変数および初期化リテイン変数を初期化しないようにしたので、目的に応じて、アプリケーションプログラムの起動形態を変更することができる。
【0088】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、プログラマブルコントローラ支援装置が有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述されており、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。
【0089】
市場に流通させる場合には、CD−ROM(Compact Disk Read Only Memory) やフロッピーディスク等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行するようにすればよい。
【0090】
【発明の効果】
以上説明したように本発明では、プログラマブルコントローラ支援装置においてアプリケーションプログラムをコンパイルする際に、予め設定された初期値によって初期化される変数の初期化パターンファイルを生成し、プログラマブルコントローラではこれらの初期化パターンファイルによって変数を初期化するとともに、その他の変数は、一括して、値0に初期化するようにしたので、プログラマブルコントローラ支援装置からプログラマブルコントローラに送信される初期化パターンファイルおよび属性情報の容量を削減することが可能となる。
【0091】
また、本実施の形態によれば、アプリケーションプログラム中に、共通の初期化パターンを有する宣言文が繰り返し出現する場合には、共通初期化パターンファイルを生成するとともに、マッピング情報を生成し、プログラマブルコントローラでは、マッピング情報を参照して、共通初期化パターンファイルをマッピングするようにしたので、プログラマブルコントローラ支援装置からプログラマブルコントローラに送信される初期化パターンファイルおよび属性情報の容量を削減することが可能となる。
【0092】
更に、本実施の形態によれば、ウォーム起動が実行された場合には、リテイン変数を初期化しないようにしたので、目的に応じて、アプリケーションプログラムの起動形態を変更することができる。
【図面の簡単な説明】
【図1】本発明の原理を説明する原理図である。
【図2】本発明の実施の形態の構成例を示すブロック図である。
【図3】図2に示すプログラマブルコントローラ支援装置において実行される処理の一例を説明するフローチャートである。
【図4】図3の処理により生成される初期化変数の初期化パターンファイルと、初期化リテイン変数の初期化パターンファイルの一例を示す図である。
【図5】図3の処理により生成される共通初期化パターンファイル、マッピング情報、および、属性情報の一例を示す図である。
【図6】図2に示すプログラマブルコントローラにおいて実行される処理の一例を説明するフローチャートである。
【図7】図6に示すウォーム起動処理の詳細を説明するフローチャートである。
【図8】図6に示すコールド起動処理の詳細を説明するフローチャートである。
【図9】図2に示すRAM上のユーザメモリ領域の分割の態様を示す図である。
【図10】図7に示す処理が実行された場合における、ユーザメモリ領域の初期化の一例を示す図である。
【図11】図8に示す処理が実行された場合における、ユーザメモリ領域の初期化の一例を示す図である。
【図12】従来における初期化パターンファイルと属性情報の生成方法の一例を示す図である。
【図13】従来におけるコールド起動の際に、初期化パターンファイルがユーザメモリにマッピングされる様子を示す図である。
【図14】従来におけるウォーム起動の際に、初期化パターンファイルがユーザメモリにマッピングされる様子を示す図である。
【符号の説明】
1 プログラマブルコントローラ支援装置
1a アプリケーションプログラム入力手段
1b コンパイル手段
1c 初期化変数抽出手段
1d 初期化パターンファイル生成手段
1e 共通初期化パターンファイル生成手段
1f マッピング情報生成手段
1g 送信手段
1h 起動手段
2 バス
3 プログラマブルコントローラ
3a 受信手段
3b 実行可能ファイル格納手段
3c 初期化パターンファイル格納手段
3d マッピング手段
3e 変数値格納手段
3f 初期化手段
4 バス
5−1〜5−n モジュール
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a programmable controller system, a programmable controller support device, a programmable controller, and a recording medium, and more particularly, after generating an executable file by compiling a source code of an application program input from the programmable controller support device, the programmable controller The present invention relates to a programmable controller system that is supplied to and executed by a programmable controller, a programmable controller support device and a programmable controller that constitute the programmable controller system, and a recording medium that records a program that causes a computer to function as the programmable controller support device.
[0002]
[Prior art]
A programmable controller (PC) characterized in that the control specifications can be easily changed has been used in many fields, driven by its low price and high performance.
[0003]
In general, a programmable controller is configured by a CPU, a ROM, a RAM, an interface, and the like, similar to a personal computer, and is a group of modules to be controlled according to an application program supplied from a programmable controller support device. To control.
[0004]
By the way, the application program executed by the programmable controller is described in the programmable controller support apparatus using, for example, a high-level language or a graphic language. When executing the application program, the executable program is generated by compiling the program, and the executable file is transmitted to the programmable controller for execution.
[0005]
When compiling the application program, an initialization pattern file storing initial values of various variables used in the application program is generated and transmitted to the programmable controller together with the executable file.
[0006]
FIG. 12 is a diagram illustrating an example of an initialization pattern file generated by a conventional programmable controller.
In this figure, an application program P1 is a source code, and in this example, it is described in a high-level language that conforms to the IEC (International Electrotechnical Commission) 1131-3 standard.
[0007]
By the way, there are the following four types of variables that can be used in a high-level language conforming to the IEC1131-3 standard. These variables are classified according to whether or not they have an initial value specified by the user and differences in handling of initialization in warm activation and cold activation described later.
(1) Normal variable: Initialized to 0 regardless of the startup method
(2) Initialization variable: has a predetermined initial value regardless of the startup method
(3) Retain variable: Initialized to 0 for cold start, and retains the previous value for warm start
(4) Initialization retain variable: Initialized to a predetermined value at cold start, and the value at the previous execution is held at warm start
Here, the warm start is restarting while retaining the values of the retain variables (including initialization retain variables) at the previous execution, and the cold start is the state where the retain variables are initialized. Is to start with.
[0008]
When the application program P1 is compiled by the programmable controller support device, an executable file (program) is generated, and an initialization pattern file i1 and attribute information a1 are generated.
[0009]
Here, the initialization pattern file i1 stores initial values for initializing variables included in the application program. The attribute information a1 indicates whether or not the variable corresponding to the initial value stored in the initialization pattern file i1 is a retain variable by the state of the bit.
[0010]
In this example, variables are declared in an area surrounded by “VAR” and “END_VAR” of the application program P1. For example, in the third line, an integer type variable “AAA” is declared and its initial value is not defined. An integer type variable “BBB” is declared in the lower line, and its initial value is “444” in hexadecimal. Of the variables surrounded by “VAR” and “END_VAR”, variables that are not assigned initial values are normal variables, and variables that are assigned initial values are initialization variables.
[0011]
A variable declared in an area surrounded by “VAR RETAIN” and “END_VAR” is a retain variable. For example, in the eighth line, an integer type retain variable “DDD” is declared, and its initial value is “456” in hexadecimal. Of the variables declared in the area enclosed by “VAR RETAIN” and “END_VAR”, the variables to which the initial values are not assigned are the retain variables, and the variables to which the initial values are assigned are the initialization retains. Is a variable.
[0012]
Therefore, since the initial value of the integer type normal variable AAA declared in the third line of the application program P1 is 0, “0” is stored in the first line of the initialization pattern file. In the first row of the memory attribute information, “0” indicating that it is not a retain variable is stored.
[0013]
The initialization pattern file i1 and the attribute information a1 generated in this way are transmitted to the programmable controller and stored therein.
For example, when a cold start is applied, as shown in FIG. 13, all of the initialization pattern file is transferred to the user memory (a memory for storing the value of each variable during program execution) m1.
[0014]
When warm activation is performed, as shown in FIG. 14, only the attribute information value “0” (variable other than the retain variable) is transferred to the user memory m1.
[0015]
Then, the application program is executed, and control on the controlled object is started.
According to the configuration as described above, for example, when the application program is debugged, the program can be executed in a form according to the purpose, such as performing warm activation and checking the operation while appropriately stopping the program.
[0016]
[Problems to be solved by the invention]
However, in such a conventional method, it is necessary to create an initialization pattern file storing the initial values of all variables and to create attribute information corresponding to the initialization pattern file, and the capacity of these two files increases. As a result, there is a problem that it takes time to transfer the application program from the programmable controller support device to the programmable controller.
[0017]
The present invention has been made in view of such points, and a programmable controller system, a programmable controller support device, a programmable controller, which can reduce the file capacity of the initialization pattern file and the attribute information corresponding to the initialization pattern file, Another object of the present invention is to provide a recording medium that records a program that causes a computer to execute the above-described processing.
[0018]
[Means for Solving the Problems]
In the present invention, in order to solve the above-described problem, in the programmable controller system for executing the source code of the application program input from the programmable controller support device by compiling the source code of the application program and generating the executable file, the program is supplied to the programmable controller. The programmable controller support device includes an application program input unit that receives input of a source code of the application program, a compile unit that compiles the source code of the application program to generate an executable file, and a source code of the application program. Among the included variables, an initialization variable that is initialized with a preset initial value and other variables that are initialized with a value of 0 Separately, an initialization variable extraction unit that extracts only an initialization variable and its initial value, and an initialization pattern file generation that generates an initialization pattern file from the initial value of the initialization variable extracted by the initialization variable extraction unit Means, an executable file generated by the compiling means, a transmission means for transmitting the initialization pattern file generated by the initialization pattern file generation means to the programmable controller, and an execution transmitted by the transmission means And an activation unit that activates the executable file, and the programmable controller receives the executable file transmitted from the programmable controller support device and the initialization pattern file, and the reception unit receives the executable file. The executable file The executable file storage means for storing, the initialization pattern file storage means for storing the initialization pattern file received by the receiving means, and the values of various variables are stored when the executable file is activated. Variable value storage means, mapping means for mapping the initialization pattern file to a predetermined area of the variable value storage means when the executable file is activated by the activation means, and the initialization pattern file Initialization means for initializing a predetermined area of the variable value storage means corresponding to a variable other than the initialization variable initialized with a predetermined initial value by a value of 0. A programmable controller system is provided.
[0019]
Here, in the programmable controller support device, the application program input means receives the input of the source code of the application program. The compiling means compiles the source code of the application program to generate an executable file. The initialization variable extraction means discriminates among the variables included in the source code of the application program from the initialization variable initialized by a preset initial value and other variables initialized by the value 0 Only the initialization variable and its initial value are extracted. The initialization pattern file generation means generates an initialization pattern file from the initial values of the initialization variables extracted by the initialization variable extraction means. The transmitting unit transmits the executable file generated by the compiling unit and the initialization pattern file generated by the initialization pattern file generating unit to the programmable controller. The activation unit activates the executable file transmitted by the transmission unit. In the programmable controller, the receiving unit receives the executable file and the initialization pattern file transmitted from the programmable controller support device. The executable file storage means stores the executable file received by the receiving means. The initialization pattern file storage means stores the initialization pattern file received by the receiving means. The variable value storage means stores values of various variables when the executable file is activated. The mapping means maps the initialization pattern file to a predetermined area of the variable value storage means when the executable file is activated by the activation means. The initialization means initializes a predetermined area of the variable value storage means corresponding to a variable other than the initialization variable initialized with an initial value predetermined by the initialization pattern file with a value of zero.
[0020]
An application program input that receives the input of the source code of the application program in a programmable controller support apparatus that compiles the source code of the input application program to generate an executable file and then supplies the executable program to the programmable controller for execution. Means for compiling the source code of the application program to generate an executable file, and initialization is performed with a preset initial value among variables included in the source code of the application program. An initializing variable extracted from the initializing variable by the initializing variable extracting means for discriminating the initializing variable from other variables initialized by the value 0 and extracting only the initializing variable and its initial value; An initialization pattern file generating means for generating an initialization pattern file from initial values of variables, an executable file generated by the compiling means, and an initialization pattern file generated by the initialization pattern file generating means There is provided a programmable controller support apparatus comprising: a transmission unit that transmits to a programmable controller; and an activation unit that starts an executable file transmitted by the transmission unit.
[0021]
Here, the application program input means receives the input of the source code of the application program. The compiling means compiles the source code of the application program to generate an executable file. The initialization variable extraction means discriminates among the variables included in the source code of the application program from the initialization variable initialized by a preset initial value and other variables initialized by the value 0 Only the initialization variable and its initial value are extracted. The initialization pattern file generation means generates an initialization pattern file from the initial values of the initialization variables extracted by the initialization variable extraction means. The transmitting unit transmits the executable file generated by the compiling unit and the initialization pattern file generated by the initialization pattern file generating unit to the programmable controller. The activation unit activates the executable file transmitted by the transmission unit.
[0022]
Furthermore, in the programmable controller that the programmable controller support device inputs and executes the executable file generated by compiling the source code of the application program, the executable file transmitted from the programmable controller support device and the initialization pattern Receiving means for receiving a file, executable file storage means for storing the executable file received by the receiving means, and initialization pattern file storage for storing the initialization pattern file received by the receiving means Means, variable value storage means for storing values of various variables when the executable file is activated, and the initialization pattern file when the executable file is activated by the activation means. Above Mapping means for mapping to a predetermined area of the numerical value storage means, and a predetermined area of the variable value storage means corresponding to a variable other than the initialization variable initialized with an initial value predetermined by the initialization pattern file There is provided a programmable controller characterized by having initialization means for initializing the value with a value of 0.
[0023]
Here, the receiving unit receives the executable file and the initialization pattern file transmitted from the programmable controller support device. The executable file storage means stores the executable file received by the receiving means. The initialization pattern file storage means stores the initialization pattern file received by the receiving means. The variable value storage means stores values of various variables when the executable file is activated. The mapping means maps the initialization pattern file to a predetermined area of the variable value storage means when the executable file is activated by the activation means. The initialization means initializes a predetermined area of the variable value storage means corresponding to a variable other than the initialization variable initialized with an initial value predetermined by the initialization pattern file with a value of zero.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
In FIG. 1, the programmable controller support device 1 compiles an application program, generates an initialization pattern file, and supplies the initialization pattern file to the programmable controller 3 via the bus 2.
[0025]
When the application program is activated, the programmable controller 3 sets initial values of variables described in the application program by the initialization pattern file supplied from the programmable controller support device 1 and then executes the program.
[0026]
The programmable controller 3 controls the modules 5-1 to 5-n to be controlled according to the application program.
Here, the programmable controller support device 1 includes an application program input unit 1a, a compile unit 1b, an initialization variable extraction unit 1c, an initialization pattern file generation unit 1d, a common initialization pattern file generation unit 1e, a mapping information generation unit 1f, It is comprised by the transmission means 1g and the starting means 1h.
[0027]
The application program input means 1a receives an application program input. The compiling unit 1b compiles the program input from the application program input unit 1a and generates an executable file.
[0028]
The initialization variable extracting unit 1c extracts the initialization variable and the initialization retain variable from the variables included in the source code of the application program, and extracts the initial values thereof.
[0029]
The initialization pattern file generation means 1d generates an initialization pattern file from the initialization variables extracted by the initialization variable extraction means 1c and the initial values of the initialization retain variables.
[0030]
The common initialization pattern file generation means 1e generates a common initialization pattern file by extracting the common initialization pattern when a declaration statement having a common initialization pattern repeatedly appears in the source code of the application program To do.
[0031]
The mapping information generating unit 1f generates mapping information that is referred to when the common initialization pattern file is mapped by the mapping unit 3d described later.
[0032]
The transmission unit 1g includes an executable file generated by the compiling unit 1b, an initialization pattern file generated by the initialization pattern file generation unit 1d, a common initialization pattern file generated by the common initialization pattern file generation unit 1e, And the mapping information produced | generated by the mapping information production | generation means 1f is transmitted to the programmable controller 3. FIG.
[0033]
The activation unit 1h sends a predetermined control signal to the programmable controller 3 to activate the application program.
The programmable controller 3 includes a receiving unit 3a, an executable file storage unit 3b, an initialization pattern file storage unit 3c, a mapping unit 3d, a variable value storage unit 3e, and an initialization unit 3f.
[0034]
The receiving unit 3a receives the executable file, initialization pattern file, common initialization pattern file, and mapping information transmitted from the programmable controller support apparatus 1.
[0035]
The executable file storage means 3b stores the executable file received by the receiving means 3a.
The initialization pattern file storage unit 3c stores the initialization pattern file, the common initialization pattern file, and the mapping information received by the reception unit 3a.
[0036]
When the executable file is activated by the activation unit 1h, the mapping unit 3d maps the initialization pattern file to a specific area of the variable value storage unit 3e, and refers to the mapping information to share the common initialization pattern file. Is mapped to a specific area of the variable value storage means 3e (an area different from the area where the initialization pattern file is mapped).
[0037]
The variable value storage means 3e stores the values of various variables when the application program stored in the executable file storage means 3b is started.
The initialization unit 3f initializes the normal variable and the retain variable with the value 0.
[0038]
Next, the operation of the above principle diagram will be described.
Now, assuming that the application program is input from the application program input unit 1a and the compilation is started by the compiling unit 1b, the initialization variable extracting unit 1c refers to the compilation result of the compiling unit 1b, and the initialization variable is extracted from the application program. (And initialization retain variables).
[0039]
The initialization variable extracted by the initialization variable extraction unit 1c is supplied to the initialization pattern file generation unit 1d, where it is converted into an initialization pattern file. In other words, the initialization pattern file generation means 1d generates an initialization pattern file consisting only of initial values of initialization variables and initialization retain variables.
[0040]
The common initialization pattern file generation unit 1e extracts a common initialization pattern that repeatedly appears in the application program and generates a common initialization pattern file. Note that the common initialization pattern appears, for example, when a function or subroutine having only different initial values is repeatedly used in the application program.
[0041]
The mapping information generating unit 1f generates and outputs information necessary for mapping the common initialization pattern file by the mapping unit 3d (information regarding mapping address, number of repetitions of mapping, etc.).
[0042]
The transmission unit 1g includes an executable file of the application program generated by the compiling unit 1b, an initialization pattern file generated by the initialization pattern file generation unit 1d, and a common initialization generated by the common initialization pattern file generation unit 1e. The pattern file and the mapping information generated by the mapping information generating means 1f are transmitted to the programmable controller 3.
[0043]
The receiving means 3a of the programmable controller 3 receives the above information transmitted from the programmable controller support device 1.
The executable file storage unit 3b extracts and stores an executable file from the information received by the receiving unit 3a.
[0044]
The initialization pattern file storage unit 3c extracts and stores the initialization pattern file, the common initialization pattern file, and the mapping information from the information received by the reception unit 3a.
[0045]
In such a state, when the activation means 1h of the programmable controller support device 1 transmits a control signal for activating the application program, the application program stored in the executable file storage means 3b is activated. .
[0046]
At that time, the mapping unit 3d maps the initialization pattern file stored in the initialization pattern file storage unit 3c to a specific area of the variable value storage unit 3e, and refers to the mapping information to share the common initialization pattern. The file is mapped to a specific area different from the area to which the initialization pattern file of the variable value storage means 3e is mapped.
[0047]
For example, when the mapping information indicates that the common initialization pattern file is repeatedly mapped five times, the mapping unit 3d maps the common initialization pattern file five times continuously from a specific address.
[0048]
The initialization unit 3f writes “0” to the area where the normal variable and the retain variable are stored in the variable value storage unit 3e, and initializes these variables to the value 0.
Then, when the application program stored in the executable file storage unit 3b actually starts operation, the variable value stored in the variable value storage unit 3e is referred to as appropriate, and is controlled through the bus 4. Modules 5-1 to 5-n will be controlled.
[0049]
According to the present invention described above, initialization variables are extracted from an application program, an initialization pattern file necessary for initializing them is generated, and mapped to a specific area of the variable value storage means 3e. Since it did in this way, it becomes unnecessary to transmit all the initial values, As a result, it becomes possible to reduce the capacity | capacitance of the file transmitted to the programmable controller 3 from the programmable controller assistance apparatus 1.
[0050]
Further, a common initialization pattern is extracted from the application program and transmitted to the programmable controller 3 together with the mapping information. The programmable controller 3 refers to the mapping information and maps the common initialization pattern to the variable value storage means 3e. Therefore, when the same initialization pattern repeatedly appears in the application program, only one common pattern can be transmitted, so that the programmable controller support device 1 can be programmed in the same manner as described above. The capacity of the file transmitted to the controller 3 can be reduced.
[0051]
Next, an embodiment of the present invention will be described with reference to FIG.
As shown in this figure, the programmable controller support device 20 includes a CPU 20a, a ROM 20b, a RAM 20c, and interfaces 20d and 20e, and compiles an application program input from the input device 10 and is included in the application program. An initialization pattern file of the existing variables is generated and transmitted to the programmable controller 30. Moreover, the programmable controller 30 is controlled as needed and an application program is started.
[0052]
The programmable controller 30 includes a CPU 30a, a ROM 30b, a RAM 30c, and interfaces 30d and 30e, and controls the modules 5-1 to 5-n according to an application program transmitted from the programmable controller support device 20.
[0053]
Here, the input device 10 is, for example, a keyboard or an HDD device, and supplies an application program to the programmable controller support device 20.
[0054]
The CPU 20a of the programmable controller support device 20 controls each unit of the device and performs predetermined arithmetic processing. The ROM 20b stores basic programs executed by the CPU 20a. When the CPU 20a executes a predetermined process, the RAM 20c temporarily stores data being calculated or a program being executed.
[0055]
The interface 20 d is, for example, a USB (Universal Serial Bus) or a SCSI (Small Computer System Interface), and inputs an application program from the input device 10. The interface 20d is a serial bus such as RS (Recommended Standard) 232C, and transmits application programs and initialization pattern files created in the programmable controller support device 20 to the programmable controller 30 and programmable operation status of the programmable controller 30. The data is transmitted to the controller support device 20.
[0056]
The bus 4 connects the programmable controller 30 and the modules 5-1 to 5-n to each other, and enables data exchange between them.
The modules 5-1 to 5-n are devices that directly control a control target, and are configured by, for example, digital input / output, analog input / output, and a communication device.
[0057]
Next, the operation of the above embodiment will be described with reference to FIG.
FIG. 3 is a flowchart for explaining an example of processing executed in the programmable controller support device 20 shown in FIG. When this flowchart is started, the following processing is executed.
[S1] The CPU 20a inputs an application program from the input device 10 and stores it in a predetermined area of the RAM 20c.
[S2] The CPU 20a determines whether or not a predetermined command is input from the input device 10 and the execution of compilation is instructed. If the execution of compilation is instructed, the process proceeds to step S3. Returns to step S2.
[S3] The CPU 20a executes a compilation process.
[0058]
Note that this compile processing is executed according to a compiler program stored in the RAM 20c, for example.
[S4] The CPU 20a extracts an initialization variable included in the application program.
[0059]
FIG. 4 shows how the initialization variable is extracted. The user program 40 shown in this figure is a part of the application program together with the user program shown in FIG. 5, and is a part that is executed only once when the program is started.
[0060]
In this figure, among the parts surrounded by “VAR” and “END_VAR”, the ones to which the initial values are substituted (variable “BBB” and variable “CCC”) are the initialization variables extracted in step S4. .
[S5] The CPU 20a generates an initialization pattern file corresponding to the initialization variable extracted in step S4.
[0061]
In the example of FIG. 4, an initialization pattern file 41 is generated.
[S6] The CPU 20a extracts an initialization retain variable included in the application program.
[0062]
In this figure, among the parts surrounded by “VAR RETAIN” and “END_VAR”, variables (variable “DDD”, variable “EEE”, and variable “FFF”) to which initial values are substituted are determined in step S6. The initialization retain variable to be extracted.
[0063]
Here, “F_1: funcA” is a statement declaring a function block (details will be described later) whose instance (initialization area) name is “F_1”.
[S7] The CPU 20a generates an initialization pattern file corresponding to the initialization retain variable extracted in step S6.
[0064]
In the example of FIG. 4, an initialization pattern file 42 is generated.
[S8] The CPU 20a extracts a common initialization pattern from the function block and generates a common initialization pattern file.
[0065]
Here, the function block means a function block that, when given input is given, executes prescribed processing according to the input and outputs the obtained result. This is equivalent to, for example, a subroutine or a function.
[0066]
In this example, as shown in FIG. 4, three function blocks “funcA” having instance names “F_1” to “F_3” are declared in the main block of the user program 40. As shown in the 16th and subsequent lines, the initial value “123” is assigned to the variable AAA to which the input parameter is assigned (for example, F_1 (AAA: = 123)).
[0067]
For example, the sentence “DDD: = F_1.FFF” is a process of inputting the value of the output parameter “FFF” of the function block “funcA” of the instance name F_1 into the variable DDD.
[0068]
By the way, since the variables used in the function block “funcA” are common regardless of the instance name, when the application program is executed, the user memory area corresponding to these function blocks has a common initial value. The mapping pattern is mapped three times.
[0069]
As described above, when there are identical function blocks having different instance names, the common initialization pattern file 51 (see FIG. 5) is generated by extracting the common initialization pattern in the process of step S8.
[S9] The CPU 20a generates mapping information.
[0070]
In the example of FIG. 5, the common initialization pattern of the function block “funcA” is mapped three times continuously from the address “0000200”.
[S10] The CPU 20a generates attribute information.
[0071]
Here, the attribute information is information indicating in a bit state whether or not a variable (stored in units of words) stored in the common initialization pattern file is a retain variable. When the bit is “1”, it indicates that the corresponding information is the initial value of the retain variable.
[0072]
In the example of FIG. 5, the fifth to sixth lines are “1”, and it can be seen that “0456” and “0567” of the common initialization pattern file are the initial values of the retain variables. These variables correspond to the variable DDD and the variable EEE described in the 10th to 11th lines of the user program 50.
[S11] The CPU 20a transmits the generated executable file, initialization pattern file, common initialization pattern file, mapping information, and attribute information to the programmable controller 30.
[0073]
Through the above processing, an executable file, an initialization pattern file, a common initialization pattern file, mapping information, and attribute information necessary for executing the application program are generated and supplied to the programmable controller 30.
[0074]
Next, an example of processing executed in the programmable controller 30 will be described with reference to FIGS.
FIG. 6 is a flowchart for explaining an example of processing executed in the programmable controller 30 when the application program transmitted from the programmable controller support device 20 is executed. When this flowchart is started, the following processing is executed.
[S21] The CPU 30a determines whether or not activation of the application program is requested from the programmable controller support device 20, and proceeds to step S22 if activation is requested, and returns to step S21 in other cases.
[S22] The CPU 30a determines whether or not warm activation is requested. If warm activation is requested, the process proceeds to step S23, and otherwise (when cold activation is requested), the process proceeds to step S24. move on.
[S23] The CPU 30a executes a warm activation process.
[0075]
Details of this process will be described later with reference to FIG.
[S24] The CPU 30a executes a cold start process.
Details of this process will be described later with reference to FIG.
[0076]
FIG. 7 is a flowchart for explaining the details of the warm activation process shown in FIG. When this flowchart is started, the following processing is executed.
[S31] The CPU 30a initializes the normal memory area with the value 0.
[0077]
The normal memory area is an area on the RAM 30c where normal variables are stored.
That is, as shown in FIG. 9, the user memory area of RAM 30c (the area where variable values are stored) is a normal memory area 61 where normal variable values are stored, and an initialization variable value is stored. A memory area 62, a retain memory area 63 in which the value of the retain variable is stored, an initialization retain memory area 64 in which the value of the initialization retain variable is stored, and a free memory area 65 in which the value of the function block variable is stored It is divided into
[S32] The CPU 30a maps the initialization pattern file 41 to the initialization memory area 62.
[0078]
This is shown in FIG. As shown in this example, the initialization pattern file 41 of the initialization variable is mapped to the initialization memory area (area in which the value of the initialization variable is stored) 62 of the user memory area.
[S33] The CPU 30a refers to the mapping information 52 and the attribute information 53 and maps the common initialization pattern file 51 to the free memory area 65.
[0079]
That is, as shown in FIG. 10, the CPU 30a refers to the mapping information 52 and performs common initialization for the area corresponding to the variable (ordinary variable and initialization variable) whose attribute information is “0”. Write the initial value of the pattern file and perform initialization.
[S34] The CPU 30a executes the application program stored in the RAM 30c, and returns (returns) to the processing of FIG.
[0080]
Through the above processing, the application program can be restarted in a state where the previous values of the retain variable and the initialization retain variable (the final value of the variable when started last time) are saved.
[0081]
Next, detailed processing of the cold start processing shown in FIG. 6 will be described with reference to FIG. When the flowchart shown in FIG. 8 is started, the following processing is executed.
[S41] The CPU 30a initializes the normal memory area 61 and the retain memory area 63 with the value 0.
[S42] The CPU 30a maps the initialization pattern file 41 to the initialization memory area 62.
[0082]
That is, as shown in FIG. 11, the CPU 30a maps the initialization pattern file 41 of the initialization variable to the initialization memory area 62 of the user memory area.
[S43] The CPU 30a maps the initialization pattern file 42 to the initialization retain memory area 64.
[0083]
That is, as shown in FIG. 11, the CPU 30a maps the initialization pattern file 42 of the initialization retain variable to the initialization memory area 64 of the user memory area.
[S44] The CPU 30a refers to the mapping information 52 and maps the common initialization pattern file 51 to the free memory area 65.
[0084]
That is, as shown in FIG. 11, the CPU 30 a refers to the common initialization pattern file 51 in which the initial values of all the variables of the function block are stored in the free memory area 65 of the user memory area with reference to the mapping information 52. Map.
[S45] The CPU 30a executes the application program stored in the RAM 30c, and returns (returns) to the processing of FIG.
[0085]
With the above processing, the application program can be started with all variables initialized.
According to the above embodiment, when the application program is compiled in the programmable controller support device 20, the initialization pattern file of the initialization variable and the initialization retain variable is generated, and the initialization pattern file is generated in the programmable controller 30. The other variables are initialized to the value 0 all at once, so that the capacity of the initialization pattern file and attribute information transmitted from the programmable controller support apparatus 20 to the programmable controller 30 is initialized. Can be reduced.
[0086]
Further, according to the present embodiment, when there are a plurality of function blocks having different instance names in the application program, the common initialization pattern file 51 is generated and the mapping information 52 is generated, Since the programmable controller 30 refers to the mapping information 52 and develops the common initialization pattern file 51 in the free memory area 65, the initialization pattern file transmitted from the programmable controller support device 20 to the programmable controller 30 and The capacity of attribute information can be reduced.
[0087]
Furthermore, according to the present embodiment, when warm activation is executed, the retain variable and the initialization retain variable are not initialized, so that the application program activation mode can be changed according to the purpose. Can do.
[0088]
The above processing functions can be realized by a computer. In this case, the processing contents of the functions that the programmable controller support apparatus should have are described in a program recorded on a computer-readable recording medium. By executing this program on the computer, the above processing is performed by the computer. Realized. Examples of the computer-readable recording medium include a magnetic recording device and a semiconductor memory.
[0089]
When distributing to the market, store the program in a portable recording medium such as a CD-ROM (Compact Disk Read Only Memory) or floppy disk, or store it in a computer storage device connected via a network In addition, it can be transferred to another computer through the network. When executed by a computer, the program may be stored in a hard disk device or the like in the computer, loaded into the main memory, and executed.
[0090]
【The invention's effect】
As described above, in the present invention, when compiling an application program in the programmable controller support device, an initialization pattern file of variables initialized by preset initial values is generated, and the programmable controller initializes these initialization programs. Since the variables are initialized by the pattern file and other variables are initialized to the value 0 at once, the capacity of the initialization pattern file and attribute information transmitted from the programmable controller support apparatus to the programmable controller Can be reduced.
[0091]
Further, according to the present embodiment, when a declaration statement having a common initialization pattern repeatedly appears in an application program, a common initialization pattern file is generated, mapping information is generated, and a programmable controller Since the common initialization pattern file is mapped with reference to the mapping information, it is possible to reduce the capacity of the initialization pattern file and attribute information transmitted from the programmable controller support apparatus to the programmable controller. .
[0092]
Furthermore, according to the present embodiment, when the warm activation is executed, the retain variable is not initialized, so that the activation form of the application program can be changed according to the purpose.
[Brief description of the drawings]
FIG. 1 is a principle diagram illustrating the principle of the present invention.
FIG. 2 is a block diagram showing a configuration example of an embodiment of the present invention.
FIG. 3 is a flowchart for explaining an example of processing executed in the programmable controller support device shown in FIG. 2;
4 is a diagram showing an example of an initialization pattern file of initialization variables generated by the processing of FIG. 3 and an initialization pattern file of initialization retain variables. FIG.
5 is a diagram showing an example of a common initialization pattern file, mapping information, and attribute information generated by the processing of FIG.
6 is a flowchart for explaining an example of processing executed in the programmable controller shown in FIG. 2;
FIG. 7 is a flowchart illustrating details of a warm start process shown in FIG. 6;
FIG. 8 is a flowchart for explaining the details of the cold start process shown in FIG. 6;
FIG. 9 is a diagram showing a manner of dividing a user memory area on the RAM shown in FIG. 2;
10 is a diagram showing an example of initialization of a user memory area when the process shown in FIG. 7 is executed. FIG.
11 is a diagram showing an example of initialization of a user memory area when the process shown in FIG. 8 is executed. FIG.
FIG. 12 is a diagram illustrating an example of a conventional initialization pattern file and attribute information generation method.
FIG. 13 is a diagram illustrating a state in which an initialization pattern file is mapped to a user memory at a conventional cold start.
FIG. 14 is a diagram illustrating a state in which an initialization pattern file is mapped to a user memory during a conventional warm start.
[Explanation of symbols]
1 Programmable controller support device
1a Application program input means
1b Compile means
1c Initialization variable extraction means
1d Initialization pattern file generation means
1e Common initialization pattern file generation means
1f Mapping information generation means
1g Transmission means
1h Starting means
2 buses
3 Programmable controller
3a Receiving means
3b Executable file storage means
3c Initialization pattern file storage means
3d mapping means
3e Variable value storage means
3f Initialization means
4 Bus
5-1 to 5-n modules

Claims (7)

プログラマブルコントローラ支援装置から入力されたアプリケーションプログラムのソースコードをコンパイルして実行可能ファイルを生成した後、プログラマブルコントローラに供給して実行するプログラマブルコントローラシステムにおいて、
前記プログラマブルコントローラ支援装置は、
前記アプリケーションプログラムのソースコードの入力を受けるアプリケーションプログラム入力手段と、
前記アプリケーションプログラムのソースコードをコンパイルして、実行可能ファイルを生成するコンパイル手段と、
前記アプリケーションプログラムのソースコードに含まれている変数のうち、予め設定された初期値によって初期化される初期化変数と、値0によって初期化されるその他の変数とを弁別し、初期化変数とその初期値のみを抽出する初期化変数抽出手段と、
前記初期化変数抽出手段によって抽出された初期化変数の初期値から初期化パターンファイルを生成する初期化パターンファイル生成手段と、
前記コンパイル手段によって生成された実行可能ファイルと、前記初期化パターンファイル生成手段によって生成された初期化パターンファイルとを前記プログラマブルコントローラに送信する送信手段と、
前記送信手段によって送信された実行可能ファイルを起動する起動手段とを有し、
前記プログラマブルコントローラは、
前記プログラマブルコントローラ支援装置から送信された前記実行可能ファイルと、前記初期化パターンファイルとを受信する受信手段と、
前記受信手段によって受信された前記実行可能ファイルを格納する実行可能ファイル格納手段と、
前記受信手段によって受信された前記初期化パターンファイルを格納する初期化パターンファイル格納手段と、
前記実行可能ファイルが起動された場合に、各種変数の値が格納される変数値格納手段と、
前記起動手段によって前記実行可能ファイルが起動された場合には、前記初期化パターンファイルを前記変数値格納手段の所定の領域にマッピングするマッピング手段と、
前記初期化パターンファイルにより予め定められた初期値によって初期化される前記初期化変数以外の変数に対応する前記変数値格納手段の所定の領域を値0によって初期化する初期化手段と、
を有することを特徴とするプログラマブルコントローラシステム。
In a programmable controller system that compiles a source code of an application program input from a programmable controller support device and generates an executable file, then supplies the programmable controller to the programmable controller and executes it,
The programmable controller support device is
Application program input means for receiving the source code of the application program;
Compiling means for compiling source code of the application program to generate an executable file;
Among the variables included in the source code of the application program, an initialization variable that is initialized with a preset initial value is distinguished from other variables that are initialized with a value of 0, An initialization variable extraction means for extracting only the initial value;
An initialization pattern file generation means for generating an initialization pattern file from an initial value of the initialization variable extracted by the initialization variable extraction means;
Transmitting means for transmitting the executable file generated by the compiling means and the initialization pattern file generated by the initialization pattern file generating means to the programmable controller;
Starting means for starting the executable file transmitted by the transmission means,
The programmable controller is
Receiving means for receiving the executable file transmitted from the programmable controller support device and the initialization pattern file;
Executable file storage means for storing the executable file received by the receiving means;
Initialization pattern file storage means for storing the initialization pattern file received by the receiving means;
Variable value storage means for storing values of various variables when the executable file is activated;
Mapping means for mapping the initialization pattern file to a predetermined area of the variable value storage means when the executable file is activated by the activation means;
Initialization means for initializing a predetermined area of the variable value storage means corresponding to a variable other than the initialization variable initialized with an initial value predetermined by the initialization pattern file with a value of 0;
A programmable controller system comprising:
前記起動手段は、
前記変数値格納手段に格納されている各種変数値のうち、リテイン変数の変数値を保存した状態で前記実行可能ファイルを再起動するウォーム起動と、
前記変数値格納手段に格納されている全ての変数の値を初期化した状態で前記実行可能ファイルを起動するコールド起動の何れか一方により前記実行可能ファイルを起動し、
前記マッピング手段は、
前記ウォーム起動が実行された場合には、前記リテイン変数以外の変数値をマッピングし、
前記コールド起動が実行された場合には、前記初期化パターンファイルを全てマッピングすることを特徴とする請求項1記載のプログラマブルコントローラシステム。
The activation means includes
Among various variable values stored in the variable value storage means, warm activation that restarts the executable file in a state in which the variable value of the retain variable is saved;
Activating the executable file by any one of the cold activations that activate the executable file in a state in which the values of all the variables stored in the variable value storage means are initialized,
The mapping means includes
When the warm start is executed, variable values other than the retain variable are mapped,
2. The programmable controller system according to claim 1, wherein when the cold activation is executed, all of the initialization pattern files are mapped.
前記プログラマブルコントローラ支援装置は、前記アプリケーションプログラムのソースコードに、共通の初期化パターンを有する宣言文が繰り返し出現する場合には、その共通初期化パターンを抽出して、共通初期化パターンファイルを生成する共通初期化パターンファイル生成手段と、
前記共通初期化パターンファイルが前記マッピング手段によってマッピングされる際に参照されるマッピング情報を生成するマッピング情報生成手段とを更に有し、
前記プログラマブルコントローラの前記マッピング手段は、前記マッピング情報を参照して、前記共通初期化パターンファイルをマッピングすることを特徴とする請求項1記載のプログラマブルコントローラシステム。
When a declaration statement having a common initialization pattern repeatedly appears in the source code of the application program, the programmable controller support device extracts the common initialization pattern and generates a common initialization pattern file A common initialization pattern file generation means;
Mapping information generating means for generating mapping information to be referred to when the common initialization pattern file is mapped by the mapping means;
The programmable controller system according to claim 1, wherein the mapping means of the programmable controller maps the common initialization pattern file with reference to the mapping information.
前記プログラマブルコントローラ支援装置は、前記共通初期化パターンファイル生成手段によって生成された初期化パターンを有する変数群のそれぞれがリテイン変数であるか否かを示す属性情報を生成する属性情報生成手段を更に有し、
前記起動手段は、
前記変数値格納手段に格納されている各種変数値のうち、リテイン変数の変数値を保存した状態で前記実行可能ファイルを再起動するウォーム起動と、
前記変数値格納手段に格納されている全ての変数の値を初期化した状態で前記実行可能ファイルを起動するコールド起動の何れか一方により前記実行可能ファイルを起動し、
前記プログラマブルコントローラの前記マッピング手段は、
前記ウォーム起動が実行された場合には、前記属性情報を参照して前記リテイン変数以外の変数値を前記共通初期化パターンファイルから抽出してマッピングし、
前記コールド起動が実行された場合には、前記属性情報を参照して前記共通初期化パターンファイルを全てマッピングすることを特徴とする請求項3記載のプログラマブルコントローラシステム。
The programmable controller support device further includes attribute information generation means for generating attribute information indicating whether each of the variable groups having the initialization pattern generated by the common initialization pattern file generation means is a retain variable. And
The activation means includes
Among various variable values stored in the variable value storage means, warm activation that restarts the executable file in a state in which the variable value of the retain variable is saved;
Activating the executable file by any one of the cold activations that activate the executable file in a state in which the values of all the variables stored in the variable value storage means are initialized,
The mapping means of the programmable controller is
When the warm start is executed, a variable value other than the retain variable is extracted and mapped from the common initialization pattern file with reference to the attribute information,
4. The programmable controller system according to claim 3, wherein when the cold activation is executed, all the common initialization pattern files are mapped with reference to the attribute information.
入力されたアプリケーションプログラムのソースコードをコンパイルして実行可能ファイルを生成した後、プログラマブルコントローラに供給して実行させるプログラマブルコントローラ支援装置おいて、
前記アプリケーションプログラムのソースコードの入力を受けるアプリケーションプログラム入力手段と、
前記アプリケーションプログラムのソースコードをコンパイルして、実行可能ファイルを生成するコンパイル手段と、
前記アプリケーションプログラムのソースコードに含まれている変数のうち、予め設定された初期値によって初期化される初期化変数と、値0によって初期化されるその他の変数とを弁別し、初期化変数とその初期値のみを抽出する初期化変数抽出手段と、
前記初期化変数抽出手段によって抽出された初期化変数の初期値から初期化パターンファイルを生成する初期化パターンファイル生成手段と、
前記コンパイル手段によって生成された実行可能ファイルと、前記初期化パターンファイル生成手段によって生成された初期化パターンファイルとを前記プログラマブルコントローラに送信する送信手段と、
前記送信手段によって送信された実行可能ファイルを起動する起動手段と、
を有することを特徴とするプログラマブルコントローラ支援装置。
In the programmable controller support device that compiles the source code of the input application program and generates an executable file, and then supplies it to the programmable controller for execution,
Application program input means for receiving the source code of the application program;
Compiling means for compiling source code of the application program to generate an executable file;
Among the variables included in the source code of the application program, an initialization variable that is initialized with a preset initial value is distinguished from other variables that are initialized with a value of 0, An initialization variable extraction means for extracting only the initial value;
An initialization pattern file generation means for generating an initialization pattern file from an initial value of the initialization variable extracted by the initialization variable extraction means;
Transmitting means for transmitting the executable file generated by the compiling means and the initialization pattern file generated by the initialization pattern file generating means to the programmable controller;
Starting means for starting the executable file transmitted by the transmitting means;
A programmable controller support device comprising:
入力されたアプリケーションプログラムのソースコードをコンパイルして実行可能ファイルを生成した後、プログラマブルコントローラに供給して実行させる処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータを、
前記アプリケーションプログラムのソースコードの入力を受けるアプリケーションプログラム入力手段、
前記アプリケーションプログラムのソースコードをコンパイルして、実行可能ファイルを生成するコンパイル手段、
前記アプリケーションプログラムのソースコードに含まれている変数のうち、予め設定された初期値によって初期化される初期化変数と、値0によって初期化されるその他の変数とを弁別し、初期化変数とその初期値のみを抽出する初期化変数抽出手段、
前記初期化変数抽出手段によって抽出された初期化変数の初期値から初期化パターンファイルを生成する初期化パターンファイル生成手段、
前記コンパイル手段によって生成された実行可能ファイルと、前記初期化パターンファイル生成手段によって生成された初期化パターンファイルとを前記プログラマブルコントローラに送信する送信手段、
前記送信手段によって送信された実行可能ファイルを起動する起動手段、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
In a computer-readable recording medium recording a program for causing a computer to execute a process of supplying an executable file to a programmable controller after compiling an input application program source code to generate an executable file,
The computer,
Application program input means for receiving the source code of the application program;
Compiling means for compiling source code of the application program to generate an executable file,
Among the variables included in the source code of the application program, an initialization variable that is initialized with a preset initial value is distinguished from other variables that are initialized with a value of 0, Initialization variable extraction means for extracting only the initial value,
An initialization pattern file generation means for generating an initialization pattern file from an initial value of the initialization variable extracted by the initialization variable extraction means;
Transmitting means for transmitting the executable file generated by the compiling means and the initialization pattern file generated by the initialization pattern file generating means to the programmable controller;
Starting means for starting the executable file transmitted by the transmitting means;
A computer-readable recording medium storing a program that functions as a computer.
プログラマブルコントローラ支援装置がアプリケーションプログラムのソースコードをコンパイルして生成した実行可能ファイルを入力して実行するプログラマブルコントローラにおいて、
前記プログラマブルコントローラ支援装置から送信された前記実行可能ファイルと、前記初期化パターンファイルとを受信する受信手段と、
前記受信手段によって受信された前記実行可能ファイルを格納する実行可能ファイル格納手段と、
前記受信手段によって受信された前記初期化パターンファイルを格納する初期化パターンファイル格納手段と、
前記実行可能ファイルが起動された場合に、各種変数の値が格納される変数値格納手段と、
前記起動手段によって前記実行可能ファイルが起動された場合には、前記初期化パターンファイルを前記変数値格納手段の所定の領域にマッピングするマッピング手段と、
前記初期化パターンファイルにより予め定められた初期値によって初期化される前記初期化変数以外の変数に対応する前記変数値格納手段の所定の領域を値0によって初期化する初期化手段と、
を有することを特徴とするプログラマブルコントローラ。
In the programmable controller that the programmable controller support device inputs and executes the executable file generated by compiling the source code of the application program,
Receiving means for receiving the executable file transmitted from the programmable controller support device and the initialization pattern file;
Executable file storage means for storing the executable file received by the receiving means;
Initialization pattern file storage means for storing the initialization pattern file received by the receiving means;
Variable value storage means for storing values of various variables when the executable file is activated;
Mapping means for mapping the initialization pattern file to a predetermined area of the variable value storage means when the executable file is activated by the activation means;
Initialization means for initializing a predetermined area of the variable value storage means corresponding to a variable other than the initialization variable initialized with an initial value predetermined by the initialization pattern file with a value of 0;
A programmable controller comprising:
JP10597398A 1998-04-16 1998-04-16 Programmable controller system, programmable controller support apparatus, programmable controller, and recording medium Expired - Lifetime JP3629947B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10597398A JP3629947B2 (en) 1998-04-16 1998-04-16 Programmable controller system, programmable controller support apparatus, programmable controller, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10597398A JP3629947B2 (en) 1998-04-16 1998-04-16 Programmable controller system, programmable controller support apparatus, programmable controller, and recording medium

Publications (2)

Publication Number Publication Date
JPH11305809A JPH11305809A (en) 1999-11-05
JP3629947B2 true JP3629947B2 (en) 2005-03-16

Family

ID=14421723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10597398A Expired - Lifetime JP3629947B2 (en) 1998-04-16 1998-04-16 Programmable controller system, programmable controller support apparatus, programmable controller, and recording medium

Country Status (1)

Country Link
JP (1) JP3629947B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843124A (en) * 2016-12-26 2017-06-13 北京起重运输机械设计研究院 A kind of Automatic Warehouse three-dimensional real-time monitoring method and system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4525681B2 (en) * 2004-07-28 2010-08-18 三菱電機株式会社 Program generating device for programmable controller, program generating method for programmable controller, and recording medium recording program of the method
WO2011036768A1 (en) * 2009-09-25 2011-03-31 株式会社 東芝 Simulation device
EP3118696B1 (en) 2015-04-06 2020-07-22 Mitsubishi Electric Corporation Programmable controller system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843124A (en) * 2016-12-26 2017-06-13 北京起重运输机械设计研究院 A kind of Automatic Warehouse three-dimensional real-time monitoring method and system

Also Published As

Publication number Publication date
JPH11305809A (en) 1999-11-05

Similar Documents

Publication Publication Date Title
US20040010734A1 (en) Deployment and execution of a program on an embedded device
JPH03240127A (en) Program control system
JP3629947B2 (en) Programmable controller system, programmable controller support apparatus, programmable controller, and recording medium
CN100524316C (en) Method and program for file information write processing
CN100414514C (en) Memory access instruction vectorization
CN110471675B (en) Program burning method, system, device and computer readable storage medium
JPS6122817B2 (en)
CN109426511A (en) Soft core update method and system
JPS58149528A (en) Program loading system
JP2004021867A (en) Information processing system
JP2002099498A (en) Program performance device and program development support device
CN211878599U (en) Simulation verification system applied to field editable gate array FPGA
CN108334453A (en) A kind of file adjustment method, device, terminal device and storage medium
JP5079166B1 (en) Symbol table generation method, communication method with peripheral device, and programmable logic controller
Rosen Hardware design reflecting software requirements
EP1804166A2 (en) Memory device and information processing apparatus
JP2002091762A (en) Program generator
JPS59112325A (en) Electronic computer system
WO2022269793A1 (en) Control device and address management method
JP2978008B2 (en) Memory management method
JPH11259308A (en) Programmable controller
JPH0250787A (en) Ic card and its program rewriting system
KR970011897B1 (en) Words interpretating device
JPH0391004A (en) Development backup device for programmable controller
JP2961781B2 (en) Data processing device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041207

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term