JP4737441B2 - Plcシステム - Google Patents

Plcシステム Download PDF

Info

Publication number
JP4737441B2
JP4737441B2 JP2007066486A JP2007066486A JP4737441B2 JP 4737441 B2 JP4737441 B2 JP 4737441B2 JP 2007066486 A JP2007066486 A JP 2007066486A JP 2007066486 A JP2007066486 A JP 2007066486A JP 4737441 B2 JP4737441 B2 JP 4737441B2
Authority
JP
Japan
Prior art keywords
control program
plc
program
format
source file
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 - Fee Related
Application number
JP2007066486A
Other languages
English (en)
Other versions
JP2007280377A (ja
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.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2007066486A priority Critical patent/JP4737441B2/ja
Publication of JP2007280377A publication Critical patent/JP2007280377A/ja
Application granted granted Critical
Publication of JP4737441B2 publication Critical patent/JP4737441B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、プログラマブル・コントローラ(以下、PLCと言う)のストラクチャードテキスト形式(以下、ST形式と言う)の制御プログラムを開発するための制御プログラム開発支援装置と、制御プログラム開発支援装置により作成されST形式の制御プログラムを実行可能なPLCとを有するPLCシステムに関するものである。
一般に、PLCユーザが制御プログラムを作成する場合は、リレー制御を記述するのに適したラダー言語を使用する。また、PLC側もこのラダー言語を実行するのに適した内部構造になっている。しかし、最近のPLCではリレー制御の他に数値演算処理を行うことが多くなり、ラダー言語だけでは制御プログラムの作成を簡単には行うことができなくなりつつある。
そこで、数値演算を記述するのに適したストラクチャードテキスト(ST)で制御プログラムを記述可能な制御プログラム開発支援装置が出現している(特許文献1参照)。ただし、この場合でもPLCに転送する制御プログラムについては、実際にPLCが実行可能なオブジェクトに変換されている。通常のこのST形式で記述される制御プログラムから変換(コンパイル)されたオブジェクトは、再びST形式で記述された制御プログラムへと逆変換して戻すことは非常に困難である。
そのため、PLC側では、転送された制御プログラムのオブジェクトの他に、元のSTデータ(STソーステキスト)を別のメモリに持つことが一般的である。これは、PLC側から制御プログラム開発支援装置に制御プログラムを転送して、中身を確認するために重要である。
このことを図面を参照して重ねて説明する。制御プログラムの生成とPLCへの格納に関する説明図が図11に示されている。同図に示されるように、このPLCシステムは、PLC1と制御プログラム開発支援装置2とを含んでいる。
PLC1内には記憶装置(メモリ)が内蔵されており、この記憶装置は第1の記憶エリア11と第2の記憶エリア12とを有する。第1の記憶エリアには、ラダープログラムのオブジェクトOBJ11aとSTプログラムのオブジェクトOBJ21aとが格納されている。ここで、STプログラムのオブジェクトOBJ21aとは、ST形式で記述されたプログラムを所定のコンパイラを介してPLCが実行可能な制御プログラムに変換したものである。一方、第2の記憶エリア12には、STプログラムのソーステキストSTSが格納されている。このSTプログラムのソーステキストSTSは、第1の記憶エリアに格納されたSTプログラムのオブジェクトに対応するものである。
このように、PLC1側の記憶装置には、第1の記憶エリア(例えば、ユーザプログラムメモリで構成される)11と第2の記憶エリア(例えば、拡張メモリで構成される)12とからなる2つの記憶エリアが設けられている。
一方、制御プログラム開発支援装置2は、記憶装置21と、プログラム編集処理部22と、ラダープログラムのコンパイル部23と、STプログラムのコンパイル部24と、プログラム転送処理部25と、通信インターフェース26とを含んでいる。
記憶装置21内には、ラダープログラムのソースファイルF1と、STプログラムのソースファイルF2と、制御プログラムのオブジェクトファイルF3とが設けられている。制御プログラムのオブジェクトファイルF3内には、ラダープログラムのオブジェクトOBJ1とSTプログラムのオブジェクトOBJ2とが含まれている。
プログラム編集処理部22は、図示しない操作部を介するユーザの編集指示に応じて、ラダープログラムのソースファイルF1及び/又はSTプログラムのソースファイルF2に対する編集処理を実行するものである(ステップ201,202)。
ラダープログラムのコンパイル部23は、ラダープログラムのソースファイルF1を読む込むと共に(ステップ203)、これを所定のコンパイラを介してPLCが直接実行可能な形式に変換し(ステップ205)、これを制御プログラムのオブジェクトファイルF3内にラダープログラムのオブジェクトOBJ1として格納する(ステップ205)。
STプログラムのコンパイル部24は、STプログラムのソースファイルF2を読み出すと共に(ステップ204)、これを所定のコンパイラを介してPLCが直接実行可能な形式に変換し、これを制御プログラムのオブジェクトファイルF3内にSTプログラムのオブジェクトOBJ2として格納する(ステップ206)。
プログラム転送処理部25aは、制御プログラムのオブジェクトファイルF3からラダープログラムのオブジェクトOBJ1及びSTプログラムのオブジェクトOBJ2を読み出すと共に(ステップ208)、これを通信インターフェース26を介して、PLC1へと転送する。するとPLC1では、図示しない通信インターフェースを介してこれを受信すると共に、これらを第1の記憶エリア11内に、ラダープログラムのオブジェクトOBJ11a及びSTプログラムのオブジェクトOBJ21aとして格納する。
プログラム転送処理部25aは、さらに、STプログラムのソースファイルF2から、STプログラムのソーステキストを読み出すと共に(ステップ207)、これを通信インターフェース26を介して、PLC1へと転送する。すると、PLC1の側ではこれを受信すると共に、第2の記憶エリア12内にSTプログラムのソーステキストSTSとして格納する。
STプログラムの「ソーステキスト」と「オブジェクト」との関係を示す説明図(従来例)が図12に示されている。
同図(a)に示されるように、いま仮に、ソーステキストとして、2行の命令行a1,a2を含んだものを想定すると、同図(b)に示されるように、コンパイル後のオブジェクトにおいては、ソーステキストの命令行a1はオブジェクトの命令行b11に変換され、同様にして、ソーステキストの命令行a2は、オブジェクトの2つの命令行b21,b22に変換される。
同様にして、ソーステキストを構成する各命令行は、オブジェクトを構成する1又は2以上の命令行にそれぞれ変換される。つまり、ソーステキストの各命令行a1,a2は、オブジェクトの各命令行b11,b21,b22とは1対1に対応してはいない。そのため、オブジェクトの内容からソーステキストの記載を求めることはなかなか容易なことではない。
このようなPLCシステムにおいて、PLC1に格納されたSTプログラムのオブジェクトOBJ21aを編集する場合には、プログラム転送処理部25aは、通信インターフェース26を介して、PLC1の第2の記憶エリアに格納されたSTプログラムのソーステキストSTSを取得し、これを記憶装置21内のSTプログラムのソースファイルF2に格納する。しかる後、プログラム編集処理部22は、STプログラムのソースファイルF2からSTプログラムのソースファイル(PLC1から取得したもの)を読み出すと共に、これをユーザ側の指示に応じて編集する(ステップ202)。
こうして編集されたSTプログラムのソースファイルF2は、先に説明したように、STプログラムのコンパイル部24を介してSTプログラムのオブジェクトOBJ2に変換され、再度、プログラム転送処理部25aの作用により、通信インターフェース26を介してPLC1へと送られ、第1の記憶エリア11内のSTプログラムのオブジェクトOBJ21aが編集内容に応じて書き換えられる。同時に、STプログラムの編集後のソースファイルF2についても、プログラム転送処理部25aの作用で、通信インターフェース26を介してPLC1へと転送され、PLC1内の第2の記憶エリア内にSTプログラムのソーステキストSTSとして格納される。
特開2003−150213号公報
このようなPLCシステムでは、制御プログラムの一部を変更する必要がある場合に、制御プログラムの変更だけでは、別途PLCへ転送してあるSTソーステキスト(STS)との整合が取れなくなってしまう。整合性を確保するためには、制御プログラムの変更のたびにST元データをPLC1へ転送し直すことが必要になる。通常の場合では、一部の制御プログラムの変更でも、すべてのSTソーステキスト(STS)の転送が必要になる。そのため、制御プログラムに加えてソーステキストを格納するために、PLC側の記憶装置(メモリ)の容量が大きくなることに加えて、プログラム変更時のソーステキスト転送作業等により、プログラム変更に時間がかかると言う問題点がある。
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、この種のST形式の制御プログラムを取り扱うPLCシステムにおいて、PLC側のメモリ容量の節減並びにプログラム変更に要する時間の短縮を図ることにある。
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
この発明に係るPLCシステムは、上記の目的を達成するために、次のような構成を採用するものである。
すなわち、このPLCシステムは、PLCのST形式の制御プログラムを開発するための制御プログラム開発支援装置と、制御プログラム開発支援装置により作成されるST形式の制御プログラムを実行可能なPLCとを含んでいる。
制御プログラム開発支援装置には、ST形式の制御プログラムのソースファイルを格納するための第1の記憶手段と、ST形式の制御プログラムのオブジェクトファイルを格納するための第2の記憶手段と、第1の記憶手段に格納されたST形式の制御プログラムのソースファイルを編集するためのプログラム編集手段と、編集されたST形式の制御プログラムのソースファイルを構成する各命令をPLCが実行可能なオブジェクトに変換して第2の記憶手段にST形式の制御プログラムのオブジェクトファイルとして格納するコンパイル手段と、前記コンパイル手段により変換された制御プログラムのオブジェクトをPLCへ転送するプログラム転送手段と、が設けられており、前記コンパイル手段は、ST形式の制御プログラムのソースファイルを構成する各命令をPLCが実行可能なオブジェクトに変換する際に、各命令に対する一連のオブジェクトの先頭に、ソースファイル上の各命令に相当する文字列を含むコメント命令を付加するという特徴を備えている。
一方、PLCには、制御プログラム開発支援装置から転送されてくるコメント命令付のST形式の制御プログラムを受信して、これをプログラムメモリに格納するプログラム受信手段と、プログラムメモリに格納されたコメント命令付のST形式の制御プログラムのオブジェクトをコメント命令を無視して実行するプログラム実行手段とが設けられている。
このような構成によれば、PLC側のプログラムメモリに格納されるSTプログラムのオブジェクトには、ソースファイルの1命令に対応する一連の命令毎に、ソースファイル上の対応1命令に相当する文字列を含むコメント命令が付加されているため、このコメント命令を頼りとして文字列を取り出して、一面に並べれば、ST形式の制御プログラムのソースファイルを任意の部分について再現することができ、この再現されたソースファイルに基づいて、ST形式の制御プログラムの部分修正や削除を容易に行うことが可能となる。
しかも、本発明によれば、ST形式の制御プログラムのオブジェクトからソースファイルを直接的に再現できるため、修正ないし削除された制御プログラムをPLC側へ再度格納する際には、従前のように別途STプログラムのソーステキストを格納する必要がなく、その分だけST形式の制御プログラムの編集に要する所要時間の短縮を図ることができる。
本発明の好ましい実施の形態においては、制御プログラムの開発支援装置は、制御プログラムのST変更範囲をソースファイル上で選択するための変更範囲選択手段と、ST変更範囲が選択されるのに応答して、変更範囲ST行先頭の制御プログラム内でのステップ位置を計算する演算手段と、計算されたステップ位置を起点として、PLC内の制御プログラム該当位置から選択行数分のコメント命令とそれに含まれる文字列データを取得するデータ取得手段と、ソースファイル上で選択された一連の命令に対応する文字列とPLCから取得された文字列とが一致することを条件として、ST変更範囲のソースファイル上での編集を許可する変更可否手段とがさらに設けられていても良い。
このような構成によれば、ST形式の制御プログラムの任意の部分領域に対するプログラム編集を容易かつ確実に行わせることができる。
別の一面からすると、本発明は、ST形式の制御プログラムのソースファイルを格納するための第1の記憶手段と、ST形式の制御プログラムのオブジェクトファイルを格納するための第2の記憶手段と、第1の記憶手段に格納されたST形式の制御プログラムのソースファイルを編集するためのプログラム編集手段と、編集されたST形式の制御プログラムのソースファイルを構成する各命令をPLCが実行可能なオブジェクトに変換して第2の記憶手段にST形式の制御プログラムのオブジェクトファイルとして格納するコンパイル手段と、前記コンパイル手段により変換された制御プログラムのオブジェクトをPLCへ転送する転送手段と、が設けられており、前記コンパイル手段は、ST形式の制御プログラムのソースファイルを構成する各命令をPLCが実行可能なオブジェクトへ変換する際に、各命令に対応する一連のオブジェクトを先頭に、ソースファイル上の各命令に相当する文字列を含むコメント命令を付加する、ことを特徴とするPLCのST形式の制御プログラムを開発するための制御プログラム開発支援装置として把握することもできる。
このような構成によれば、前述と同様に、PLCに格納されるST形式の制御プログラムの編集に要する所要時間を短縮することができる。
好ましい実施の形態においては、上記の制御プログラム開発支援装置は、制御プログラムのST変更範囲をソースファイル上で選択するための変更範囲選択手段と、ST変更範囲が選択されるのに応答して、変更範囲ST行先頭の制御プログラム内でのステップ位置を計算する演算手段と、計算されたステップ位置を起点として、PLC内の制御プログラム該当位置から選択行数分のコメント命令とそれに含まれる文字列データを取得するデータ取得手段と、ソースファイル上で選択された一連の命令に対応する文字列とPLCから取得された文字列とが一致することを条件として、ST変更範囲のソースファイル上での編集を許可する変更可否判定手段とがさらに設けられていても良い。
このような構成によれば、先に説明したように、PLCに格納されたST形式の制御プログラムに関し、任意のプログラム部分に対する編集を容易かつ確実に行わせることができる。
本発明のPLCシステムによれば、PLCに格納されたST形式の制御プログラムの編集に要する所要時間を従前のものに比べて短縮することができる。
以下に、この発明に係るPLCの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
本発明が適用されるPLCシステム全体の基本構成の説明図が図1に示されている。同図(a)に示されるように、本発明が適用されるPLCシステムは、ビルディングブロック型のPLC1とパーソナルコンピュータ(以下、パソコンと称する)で構成される制御プログラム開発支援装置2とを含んで構成される。
PLC1は、電源ユニット10と、CPUユニット12と、1台もしくは2台以上の入出力ユニット13,13・・・と、特殊機能ユニット14とを含んでいる。これらのユニット11〜14は、バックプレーン3上に付設されたシステムバス4に対して、同図(b)に示されるように、コネクタ3a,3a・・・を介して着脱自在に装着される。PLC1と制御プログラム開発支援装置2とは通信ケーブル5を介して接続され、両者間で様々なデータの送受信が可能になされている。
CPUユニットのハードウェア構成図が図2に示されている。同図に示されるように、CPUユニット12は、MPU121と、ASIC122と、ユーザプログラムメモリ(高速RAM)123と、入出力メモリ(高速RAM)124と、システムプログラムメモリ(ROM)125と、ワーキングメモリ(RAM)126と、データ格納用不揮発性メモリ(FROM)127とを含んでいる。MPU121は、CPUユニット12の全体を統括制御する。すなわち、このMPU121は、システムプログラムメモリ(ROM)125から読み出したシステムプログラムを、ワーキングメモリ(RAM)126の領域を利用して実行することによって、PLCとしての各種の機能を実現する。後に図7を参照しつつ詳述するように、PLCの機能を実現するためには、電源ON時初期処理(ステップ701)、共通処理(ステップ702)、制御プログラム実行処理(ステップ703)、I/Oリフレッシュ処理(ステップ704)、及び周辺サービス処理(ステップ705)が実行される。
ユーザプログラムメモリ(高速RAM)123はPLC側の第1の記憶エリア11として機能するものであり、このユーザプログラムメモリ(高速RAM)123内には、後に詳述するように、ラダープログラムのオブジェクトOBJ11aとSTプログラムのオブジェクトOBJ21aとが格納される。
入出力メモリ(高速RAM)124は、外部機器接続用の入出力ユニットの入出力割付に対応する入出力データの格納場所となるものであり、この入出力メモリ124にはそれらの入出力データの他に、ユーザプログラムで使用する各種のデータが格納される。
ユーザプログラムメモリ(高速RAM)123に格納されるユーザプログラムは、その殆どすべてがASIC122を介して実行される。もっとも、複雑な数値演算処理や複雑な判定処理などについては、ASIC122からMPU121へと実行権が受け渡され、これをMPU121が実行することとなる。
制御プログラム開発支援装置の概略構成図が図3に示されている。同図に示されるように、制御プログラム開発支援装置2は、本発明と関連する部分のみを取り出して示せば、STテキスト記憶メモリ2aと、STテキストコンパイラ2bと、制御プログラム保存用メモリ2cと、通信装置2dとを備えている。なお、図において符号26で示されるものはPLC1との通信を行うための通信インターフェースである。
図3に示される制御プログラム開発支援装置の内部作用をさらに具体的に説明する。制御プログラムの生成とPLCへの格納に関する説明図(本発明)が図4に示されている。
同図に示されるように、本発明のPLCシステムは、PLC1と制御プログラム開発支援装置2とを含んで構成される。
PLC1には記憶装置(メモリ)が内蔵されており、この記憶装置の第1の記憶エリア11には、ラダープログラムのオブジェクトOBJ11aとSTプログラムのオブジェクトOBJ21aとが格納される。なお、図11に示される従来例と比較して明らかなように、本発明の記憶装置内には、第1の記憶エリア11は設けられるものの、第2の記憶エリア12は存在しない。
すなわち、本発明にあっては、PLC1内には、ラダープログラムのオブジェクトOBJ11a及びSTプログラムのオブジェクトOBJ21aは存在するものの、STプログラムのソーステキストSTSは存在しない。これは、後に詳細に説明するように、本発明にあっては、STプログラムのオブジェクトOBJ21a内に、所定のコメント命令が存在することによって、このコメント命令に付された文字列に基づき、STプログラムのソーステキストを容易に再現できるからである。
制御プログラム開発支援装置2は、記憶装置21と、プログラム編集処理部22と、ラダープログラムのコンパイル部23と、STプログラムのコンパイル部24と、プログラム転送処理部25と、通信インターフェース26とが含まれている。
記憶装置21内には、図11に示される従来例と同様にして、ラダープログラムのソースファイルF1と、STプログラムのソースファイルF2と、制御プログラムのオブジェクトファイルF3とが格納されている。そして、この制御プログラムのオブジェクトファイルF3内には、ラダープログラムのオブジェクトOBJ1とSTプログラムのオブジェクトOBJ2とが含まれている。
プログラム編集処理部22は、記憶装置21に格納されたラダープログラムのソースファイルF1及び/又はSTプログラムのソースファイルF2を読み出すと共に、これらのファイルをユーザのキー操作やマウス操作などに応答して、修正または変更などの編集操作を行った後、再度記憶装置21へと格納することによって、それらのファイルF1,F2を編集する(ステップ201,202)。
ラダープログラムのコンパイル部23は、記憶装置21内に格納された編集前または編集後のラダープログラムのソースファイルF1を読み出すと共に(ステップ203)、これを所定のコンパイラを介してPLCが直接実行可能な形式に変換して、制御プログラムのオブジェクトファイルF3内にラダープログラムのオブジェクトOBJ1として格納する(ステップ205)。
STプログラムのコンパイル部24は、記憶装置21に格納されたSTプログラムのソースファイルF2を読み出すと共に(ステップ204)、これを所定のコンパイラを介してPLCが直接実行可能な形式に変換し、これを制御プログラムのオブジェクトファイルF3内にSTプログラムのオブジェクトOBJ2として格納する(ステップ206)。
プログラム転送処理部25は、PLC1に対する送信処理と、PLC1からの受信処理との双方の機能を実現する。すなわち、このプログラム転送処理部25は、制御プログラムのオブジェクトファイルF3からラダープログラムのオブジェクトOBJ1とSTプログラムのオブジェクトOBJ2を読み出すと(ステップ207)、通信インターフェース26を介してPLC1へと送信する。
次に、本発明の要部をなす、STプログラムのソースファイルに格納されているソーステキストからSTプログラムのオブジェクト(PLCが実行可能)への変換について説明する。その処理は、STプログラムのコンパイル部24が行う。
STプログラムのソーステキストとSTプログラムのオブジェクトの関係が図5に示されている。同図(a)に示されるように、ソーステキスト上において、命令行a1,a2が存在する場合、同図(b)に示されるように、命令行a1はコンパイル処理の結果オブジェクト上の命令行b11に変換される。同様にして、ソーステキスト上の命令行a2も、所定のコンパイル処理の結果、オブジェクト上の2行の命令行b21,b22に変換される。
そして、本発明の特徴部分であるが、オブジェクト上においては、命令行b11の先頭にはコメント命令である命令行c1が付加され、同様にして、オブジェクト上の2行の命令行b21,b22の先頭には、コメント命令である命令行c2が付加される。
図から明らかなように、命令行c1,c2にそれぞれ記述されたコメント命令は、符号501で示されるオペコード「Cmt」と符号502で示されるオペランド「"xx・・・x"」とから構成されている。そのため、このようにして生成されたオブジェクトにあっては、オペコード501である「Cmt」を頼りとして、コメント命令を検索すると共に、そのオペランド502である「"xxx"」の中で、「"」及び「"」で挟まれた文字列「DDD:=+10;」を抽出することにより、ソーステキスト上の対応する命令行を容易に再現することができる。
しかも、各コメント命令で挟まれて存在する命令行(例えば、命令行c1と命令行c2で挟まれて存在する命令行b11「Mov+10 DDD」)に基づいて、そのコメント命令で示されるソーステキスト上の命令行に対応するオブジェクト上の命令行を確実に把握することができる。
そのため、本発明においては、後に詳細に説明するように、上述の検索処理ならびに文字列抽出処理、さらには、コメント行で挟まれる命令行を抽出する処理などを組み合わせることによって、PLC1に格納されたSTプログラムのオブジェクトOBJ21aから、STプログラムの対応するソースファイルを把握することができ、これを利用して、STプログラムのオブジェクト上の任意の領域における削除や変更といった編集を自在に行うことが可能となる。しかも、この際には、従前のように、プログラム全体に相当するソーステキストをPLC1側へと再送信する必要もないため、編集処理に要する所要時間を大幅に短縮できる。
以上の処理内容が図6のフローチャートにまとめて示されている。すなわち、このSTプログラムのソーステキストからSTプログラムのオブジェクトへの変換処理においては、図6に示されるように、まずSTプログラムのソースファイルよりSTテキストを1行取得すると共に(ステップ601)、取得した1行のSTテキストを所定のコンパイラを介してPLCが実行可能な形式のオブジェクトへ変換し(ステップ602)、さらにこのSTテキストをコメント命令に変換しオブジェクトに追加し(ステップ603)、以上の動作をSTテキストが残り行がある限り繰り返し(ステップ604YES)、残り行がなくなるのを待って(ステップ604NO)、こうして得られたオブジェクトを制御プログラムのオブジェクトファイル内にSTプログラムのオブジェクトとして格納する(ステップ605)。
このようにして生成されたコメント命令付きのSTプグラムのオブジェクトOBJ2は、通信インターフェース26を介してPLC1へと転送され、PLC1の記憶装置の第1の記憶エリアに、STプログラムのオブジェクトOBJ2aとして格納される。
なお、ラダープログラムのオブジェクトOBJ1については、そのまま通信インターフェース26を介してPLC1へと転送され、PLC1内の第1の記憶エリア内にラダープログラムのオブジェクトOBJ11aとして格納される。
次に、このようにしてPLC1の第1の記憶エリア11に格納されたSTプログラムのオブジェクトOBJ21aがどのようにしてPLCで実行されるかについて説明する。CPUユニットの処理の全体を概略的に示すゼネラルフローチャートが図7に、制御プログラム実行処理の詳細を示すフローチャートが図8にそれぞれ示されている。
図7に示されるように、当業者にはよく知られている、CPUユニット12においては、電源投入と共に動作が開始され、まず、電源ON時初期処理(ステップ701)を実行して、各種のフラグやレジスタを初期設定した後、以後、共通処理(ステップ702)、制御プログラム実行処理(ステップ703)、I/Oリフレッシュ処理(ステップ704)、及び周辺サービス処理(ステップ705)を一巡する処理を、繰り返し実行する。なお、それらの処理(ステップ702〜705)に要する時間をサイクルタイムと称し、このサイクルタイムの長短がそのPLCの入出力応答特性に影響を与える。
それらの処理(ステップ702〜705)は、当業者にはよく知られているが、要するに、共通処理(ステップ702)においては、PLCの正常な運転に必要な各種機能のチェックを行うものであり、制御プログラム実行処理(ステップ703)においては、プログラムメモリ(ユーザプログラムメモリ123)から制御プログラム(ラダープログラムのオブジェクトOBJ11a及びSTプログラムのオブジェクトOBJ21a)を順次に読み出し、これを入出力メモリ124内の入出力データや各種設定データを参照して実行すると共に、その実行結果によって、入出力メモリ124の出力状態を書き換える処理などを実行する。また、I/Oリフレッシュ処理(ステップ704)においては、入出力メモリ124と入出力ユニット13との間でデータの入出力転送を行うものであり、周辺サービス処理705においては、制御プログラム開発支援装置2とのデータ送受信処理などを含む各種の周辺サービスを実行するものである。
制御プログラム実行処理(ステップ703)においては、基本的には、図8に示される処理が行われる。まず、ユーザプログラムメモリ123からの1命令取得及び命令解析処理(ステップ801)を実行する。次に、取得された命令がコメント命令「Cmt」であるかどうかの判定を行う(ステップ802)。そしてそれがコメント命令でない場合には(ステップ802NO)、通常どおりその命令を実行し(ステップ803)、次の命令が存在すれば(ステップ804YES)、1命令取得及び命令解析処理(ステップ801)に戻る。
ステップ802において、取得された命令がコメント命令であると判定されると(ステップ802YES)、命令実行処理(ステップ803)はスキップ(無視)され、再び次の1命令取得及び命令解析処理へと復帰する(ステップ801)。
そのため、本発明の制御プログラム実行処理(ステップ703)においては、特に、STプログラムのオブジェクトOBJ21a内にコメント命令が存在したとしても、そのコメント命令は、一切無視されて、次の命令の実行へと移行するから、STプログラムのオブジェクトOBJ21a上に、コメント命令が付加されていたとしても、PLCの動作には影響しない。
次に、PLC内のSTプログラムの一部変更を行うための制御プログラム開発支援装置側の処理を示すフローチャートが図9に示されている。
同図に示されるように、制御プログラム開発支援装置側において、ユーザのキー操作あるいはマウス操作によって、STプログラムの一部変更処理が開始されると、まず、ステップ901では、ユーザの所定キー操作あるいはマウス操作に基づいて、制御用プログラムのST変更行範囲の選択が行われる。すなわち、制御プログラム開発支援装置2の側では、STプログラムのソースファイルF2を読み出すと共に、これを画面に表示して、ソースファイル上においてどの部分を修正あるいは削除すべきかをユーザに問いかけ、ユーザからの応答を待って、ST変更行範囲の選択を行う。
続くステップ902では、こうして選択された変更行範囲ST行先頭の制御プログラム内でのステップ位置が計算される。すなわち、ソースファイル上で選択された変更行範囲がPLCのSTプログラムのオブジェクト上においてどこに位置するかが求められる。
次いでステップ903では、計算されたステップ位置に基づいて、PLC1内の制御プログラム該当位置から選択行数分のコメント命令とその文字列データが取得される(ステップ903)。すなわち、選択行数分のコメント命令とその文字列データを取得することによって、変更対象となるプログラムのソースファイル上での状態が特定される。
続くステップ904においては、取得された文字列データを並べて構成された文字列と、ソースファイル上で選択された領域の文字列との一致が照合され、両者が一致した場合に限り(ステップ904YES)、上述したST変更行範囲の編集開始が許可される(ステップ905)。
しかる後、ユーザは制御プログラム開発支援装置に備えられた画像表示器の画面上において、キー操作やマウス操作を併用しながら、該当行範囲のSTを変更する(ステップ906)。
ユーザが、キー操作やマウス操作によって変更終了を指示すると、変更処理は終了され(ステップ907)、しかる後、変更後のSTプログラムのオブジェクトへの変換(コメント命令追加を含む)が実行される(ステップ908)。
こうして得られた変更後のSTプログラムのオブジェクトは、PLC1内へと転送され(ステップ909)、処理は終了する。
最後に、PLCのメモリ内におけるユーザプログラムのイメージを従来例と本発明とで比較して示す説明図が図10に示されている。
同図(a)に示される従来例にあっては、PLC側にはプログラムメモリと拡張メモリとの2つのメモリを必要とし、プログラムメモリにはSTプログラムのオブジェクト、拡張メモリにはSTプログラムのソーステキストを格納していた。これに対して、同図(b)に示される本発明にあっては、PLC内には拡張メモリは存在せず、プログラムメモリだけが存在する。しかも、プログラムメモリ内にはコメント命令とそれと関連するSTプログラムとが交互に配置されている。そのため、本発明にあっては、プログラムメモリ内のデータを読み出すだけで、STプログラムを構成する各命令とそれと対応するオブジェクトとの関係を容易に認識することができる。
このように、本発明によれば、PLCは制御プログラム内にSTソーステキストを埋め込むことができ、このSTソーステキストは実行の対象とはならない。また、所定の長さのコメント命令を連続して複数個使用することで、STソーステキストは任意の箇所に任意の長さで埋め込むことが可能である。
また、制御プログラム開発支援装置において、制御プログラムは、STソーステキストが埋め込まれた実行可能なオブジェクトコードとして生成され、PLCへ転送される。別途、STソーステキストの転送は行わない。
また、このPLCへ転送された制御プログラムの一部を変更する場合には、任意の箇所に埋め込まれたSTソーステキストと連続して書かれた制御プログラムを一括して変更することにより、制御プログラム自身の変更とSTソーステキストの変更を行うことができる。
さらに、PLC内の制御プログラムを制御プログラム開発支援装置に転送する場合には、制御プログラムに埋め込まれたSTソーステキストにより、制御プログラムを表示することができる。
以上により、STで記述された制御プログラムの運用が容易に行え、常に整合性が保持されるわけである。
以上の説明で明らかなように、本発明によれば、この種のSTプログラムで記述された制御プログラムを実行するPLCシステムにおいて、制御プログラムの編集に要する処理の容易化を図り、その所要時間を大幅に短縮することができる。
PLCシステム全体の基本構成の説明図である。 CPUユニットのハードウェア構成図である。 制御プログラム開発支援装置の概略構成図である。 制御プログラムの生成とPLCへの格納に関する説明図(本発明)である。 STプログラムの「ソーステキスト」と「オブジェクト」との関係を示す説明図(本発明)である。 STプログラムのソーステキストからオブジェクトに変換する処理を示すフローチャートである。 CPUユニットの処理の全体を概略的に示すゼネラルフローチャートである。 制御プログラム実行処理の詳細を示すフローチャートである。 PLC内のSTプログラムの一部変更を行うための制御プログラム開発支援装置側の処理を示すフローチャートである。 PLCのメモリ内におけるユーザプログラムのイメージを従来例と本発明とで比較して示す説明図である。 制御プログラムの生成とPLCへの格納に関する説明図(従来例)である。 STプログラムの「ソーステキスト」と「オブジェクト」との関係を示す説明図(従来例)である。
符号の説明
1 PLC
2 制御プログラム開発支援装置
2a STテキスト記憶メモリ
2b STテキストコンパイラ
2c 制御プログラム保存用メモリ
2d 通信装置
3 バックプレーン
4 システムバス
5 通信ケーブル
11 第1の記憶エリア
10 電源ユニット
12 CPUユニット
13 入出力ユニット
14 特殊機能ユニット
21 記憶装置
22 プログラム編集処理部
23 ラダープログラムのコンパイル部
24 STプログラムのコンパイル部
25 プログラム転送処理部
26 通信インターフェース
121 MPU
122 ASIC
123 ユーザプログラムメモリ(高速RAM)
124 入出力メモリ(高速RAM)
125 システムプログラムメモリ(ROM)
126 ワーキングメモリ(RAM)
127 データ格納用不揮発性メモリ(FROM)
501 オペコード
502 オペランド
a1,a2 ソーステキストの命令行
b11,b21,b22 オブジェクトの命令行
c1,c2 コメント命令の命令行
F1 ラダープログラムのソースファイル
F2 STプログラムのソースファイル
F3 制御プログラムのオブジェクトファイル
OBJ1 ラダープログラムのオブジェクト
OBJ2 STプログラムのオブジェクト
OBJ11a ラダープログラムのオブジェクト
OBJ21a STプログラムのオブジェクト

Claims (4)

  1. PLCのST形式の制御プログラムを開発するための制御プログラム開発支援装置と、制御プログラム開発支援装置により作成されST形式の制御プログラムを実行可能なPLCとを含み、制御プログラム開発支援装置とPLCとは通信ケーブルを介して接続され、相互にデータの送受信が可能になされており、
    制御プログラム開発支援装置には、
    ST形式の制御プログラムのソースファイルを格納するための第1の記憶手段と、
    ST形式の制御プログラムのオブジェクトファイルを格納するための第2の記憶手段と、
    第1の記憶手段に格納されたST形式の制御プログラムのソースファイルを編集するためのプログラム編集手段と、
    編集されたST形式の制御プログラムのソースファイルを構成する各命令をPLCが実行可能なオブジェクトに変換して第2の記憶手段にST形式の制御プログラムのオブジェクトファイルとして格納するコンパイル手段と、
    前記コンパイル手段により変換された制御プログラムのオブジェクトPLCへ転送、及びPLCからのデータ受信を行うプログラム転送手段と、が設けられており、
    前記コンパイル手段は、ST形式の制御プログラムのソースファイルを構成する各命令をPLCが実行可能なオブジェクトへ変換する際に、各命令に対する一連のオブジェクトの先頭に、ソースファイル上の各命令に相当する文字列を含むコメント命令を付加するという特徴を備え、
    PLCには、
    制御プログラム開発支援装置から転送されてくるコメント命令付のST形式の制御プログラムを受信して、これをプログラムメモリに格納するプログラム受信手段と、
    プログラムメモリに格納されたコメント命令付のST形式の制御プログラムのオブジェクトをコメント命令を無視して実行するプログラム実行手段と、が設けられている、
    ことを特徴とするPLCシステム。
  2. 制御プログラム開発支援装置には、
    制御プログラムを編集する際に、第1の記憶手段に格納されたST形式の制御プログラムの編集範囲をソースファイル上で選択するための編集範囲選択手段と、
    ST編集範囲が選択されるのに応答して、ソースファイル上で選択された編集範囲に対応する、PLC内のコメント命令付のST形式の制御プログラムのオブジェクトにおける該当範囲先頭行位置を計算する演算手段と、
    計算された先頭行位置を起点として、PLC内のコメント命令付のST形式の制御プログラムのオブジェクトの該当位置から編集範囲に対応する選択行数分のコメント命令とそれに含まれる文字列データを取得するデータ取得手段と、
    開発支援装置のソースファイル上で選択された一連のコメント命令に対応する文字列とPLCから取得されたコメント命令に対応する文字列とが一致することを条件として、ST編集範囲のソースファイル上での編集を許可する編集可否判定手段と、がさらに設けられている、
    ことを特徴とする請求項1に記載のPLCシステム。
  3. ST形式の制御プログラムのソースファイルを格納するための第1の記憶手段と、
    ST形式の制御プログラムのオブジェクトファイルを格納するための第2の記憶手段と、
    第1の記憶手段に格納されたST形式の制御プログラムのソースファイルを編集するためのプログラム編集手段と、
    編集されたST形式の制御プログラムのソースファイルを構成する各命令をPLCが実行可能なオブジェクトに変換して第2の記憶手段にST形式の制御プログラムのオブジェクトファイルとして格納するコンパイル手段と、
    前記コンパイル手段により変換された制御プログラムのオブジェクトPLCへ転送、及びPLCからのデータ受信を行うプログラム転送手段と、が設けられ、PLCと通信ケーブルを介して接続され、相互にデータの送受信が可能になされており、
    前記コンパイル手段は、ST形式の制御プログラムのソースファイルを構成する各命令をPLCが実行可能なオブジェクトへ変換する際に、各命令に対応する一連のオブジェクトを先頭に、ソースファイル上の各命令に相当する文字列を含むコメント命令を付加する、
    ことを特徴とするPLCのST形式の制御プログラムを開発するための制御プログラム開発支援装置。
  4. 制御プログラムを編集する際に、第1の記憶手段に格納されたST形式の制御プログラムの編集範囲をソースファイル上で選択するための編集範囲選択手段と、
    ST編集範囲が選択されるのに応答して、ソースファイル上で選択された編集範囲に対応する、PLC内のコメント命令付のST形式の制御プログラムのオブジェクトにおける該当範囲先頭行位置を計算する演算手段と、
    計算された先頭行位置を起点として、PLC内のコメント命令付のST形式の制御プログラムのオブジェクトの該当位置から編集範囲に対応する選択行数分のコメント命令とそれに含まれる文字列データを取得するデータ取得手段と、
    開発支援装置のソースファイル上で選択された一連のコメント命令に対応する文字列とPLCから取得されたコメント命令に対応する文字列とが一致することを条件として、ST編集範囲のソースファイル上での編集を許可する編集可否判定手段と、がさらに設けられている、
    ことを特徴とする請求項3に記載の制御プログラム開発支援装置。
JP2007066486A 2006-03-15 2007-03-15 Plcシステム Expired - Fee Related JP4737441B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007066486A JP4737441B2 (ja) 2006-03-15 2007-03-15 Plcシステム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006071866 2006-03-15
JP2006071866 2006-03-15
JP2007066486A JP4737441B2 (ja) 2006-03-15 2007-03-15 Plcシステム

Publications (2)

Publication Number Publication Date
JP2007280377A JP2007280377A (ja) 2007-10-25
JP4737441B2 true JP4737441B2 (ja) 2011-08-03

Family

ID=38681708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007066486A Expired - Fee Related JP4737441B2 (ja) 2006-03-15 2007-03-15 Plcシステム

Country Status (1)

Country Link
JP (1) JP4737441B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5215349B2 (ja) * 2010-05-12 2013-06-19 三菱電機株式会社 制御プログラム開発支援装置
CN112840278B (zh) * 2018-10-15 2022-05-10 三菱电机株式会社 可编程逻辑控制器、外部仪器、方法及程序
CN111475159B (zh) * 2020-03-20 2023-03-14 吉利汽车研究院(宁波)有限公司 一种自动生成程序的方法、装置及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0391004A (ja) * 1989-09-04 1991-04-16 Omron Corp プログラマブル・コントローラ用開発支援装置
JPH03171302A (ja) * 1989-11-30 1991-07-24 Fuji Electric Co Ltd プログラムコメントの表示用格納方法
JP2000242477A (ja) * 1998-12-24 2000-09-08 Fuji Electric Co Ltd ソフトウエアの作成支援ツールおよび仕様検証ツール
JP2001022412A (ja) * 1999-07-09 2001-01-26 Toshiba Corp プログラミング装置及びプログラマブルコントローラ並びにプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003099106A (ja) * 2001-09-21 2003-04-04 Fuji Electric Co Ltd 回路コメントデータ保存方法
JP2003150213A (ja) * 2001-11-13 2003-05-23 Omron Corp コントローラ
JP2007128378A (ja) * 2005-11-07 2007-05-24 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0391004A (ja) * 1989-09-04 1991-04-16 Omron Corp プログラマブル・コントローラ用開発支援装置
JPH03171302A (ja) * 1989-11-30 1991-07-24 Fuji Electric Co Ltd プログラムコメントの表示用格納方法
JP2000242477A (ja) * 1998-12-24 2000-09-08 Fuji Electric Co Ltd ソフトウエアの作成支援ツールおよび仕様検証ツール
JP2001022412A (ja) * 1999-07-09 2001-01-26 Toshiba Corp プログラミング装置及びプログラマブルコントローラ並びにプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003099106A (ja) * 2001-09-21 2003-04-04 Fuji Electric Co Ltd 回路コメントデータ保存方法
JP2003150213A (ja) * 2001-11-13 2003-05-23 Omron Corp コントローラ
JP2007128378A (ja) * 2005-11-07 2007-05-24 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置

Also Published As

Publication number Publication date
JP2007280377A (ja) 2007-10-25

Similar Documents

Publication Publication Date Title
JP5942446B2 (ja) サポート装置およびサポートプログラム
JP5226328B2 (ja) コード変換装置
JP6550269B2 (ja) プログラム作成支援装置、制御方法およびプログラム
JP6550268B2 (ja) プログラム作成支援装置、プログラムおよび判別方法
JP4737441B2 (ja) Plcシステム
JP5849592B2 (ja) プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法
JP5808922B2 (ja) 空調機制御インターフェース装置、空気調和機および空調機制御システム
JP5051377B2 (ja) プログラム開発支援装置の動作仕様管理方法
JP7067520B2 (ja) 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体
JP2016224559A (ja) プログラム作成支援装置、制御方法およびプログラム
JP2005242682A (ja) グラフィカルプログラミング装置及びプログラマブル表示器
WO2019171794A1 (ja) サポート装置およびサポートプログラム
JP2004341824A (ja) プログラマブルコントローラのプログラミング装置
JP4767309B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP6484015B2 (ja) プログラマブル・ロジック・コントローラおよびその制御方法
JP2008204023A (ja) プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法
JP5589670B2 (ja) デバッグ方法
WO2017022041A1 (ja) 木構造データ編集装置、木構造データ編集方法、及びプログラム
JP4877257B2 (ja) プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム
JP4443436B2 (ja) 制御システムおよび制御方法
JP2006285754A (ja) プログラムソースコード自動生成装置
JP2004046618A (ja) プログラマブルコントローラ、そのシーケンス制御プログラムの生成方法及びWeb文書
JP2006276955A (ja) プログラマブルコントローラ及びそのプログラミングツール
KR20070003332A (ko) 스크립트 언어를 이용한 게임 제작 시스템 및 게임 제작방법
JP4919092B2 (ja) 制御プログラムの開発支援装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110419

R150 Certificate of patent or registration of utility model

Ref document number: 4737441

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees