JP2009245194A - Programmable controller, programmable controller support apparatus, and programmable controller system - Google Patents
Programmable controller, programmable controller support apparatus, and programmable controller system Download PDFInfo
- Publication number
- JP2009245194A JP2009245194A JP2008091393A JP2008091393A JP2009245194A JP 2009245194 A JP2009245194 A JP 2009245194A JP 2008091393 A JP2008091393 A JP 2008091393A JP 2008091393 A JP2008091393 A JP 2008091393A JP 2009245194 A JP2009245194 A JP 2009245194A
- Authority
- JP
- Japan
- Prior art keywords
- programmable controller
- embedded software
- software
- function block
- additional information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
本発明は、プログラマブルコントローラ(以下、PLCと略す場合もある)のファンクションブロック(以下、FBと略す場合もある)に関し、特にユーザが作成した組み込みソフトウェアと該組み込みソフトウェアを扱うアプリケーションソフトウェアとにおける動作の保証に関する。 The present invention relates to a function block (hereinafter sometimes abbreviated as FB) of a programmable controller (hereinafter also abbreviated as PLC), and in particular, operation of embedded software created by a user and application software that handles the embedded software. Regarding warranty.
従来、プログラマブルコントローラはシーケンス命令実行を高速に行わせるための専用ハードウェア(大規模専用LSI:Large Scale Integrationなどに代表される)を備えるものが主流であった。これら専用ハードウェアにおいては、各コントローラのメーカーが提供する支援ツールによって、マシンコードを生成する必要があった。
しかし、「専用ハードウェアは高価である」、「専用のマシン語体系をもちシステムプログラム開発が比較的困難である」というデメリットも存在していた。
近年、パーソナルコンピュータ、携帯端末などの普及により、市販の汎用CPU(Central Processing Unit)の技術革新が進み、高速実行が可能なCPUを非常に安価に入手することが可能になってきた。そのため、汎用CPUを用いて専用LSIをエミュレートして実行しても、充分に所望の実行性能を得る事ができるようになった。
また、汎用であるためファームウェアの開発ツールも市場から調達できるようになってきたため、汎用CPUを使ったプログラマブルコントローラも作られるようになってきている。
このような汎用CPUをベースとしたプログラマブルコントローラにおいては、ユーザに提供するアプリケーション開発環境として、“プログラマブルコントローラに使用されている汎用CPUに対応した組み込みソフトウェア開発環境で汎用プログラム言語(C言語、マイコン対応アセンブラなど)を用いてプログラミングし、プログラマブルコントローラにダウンロードした後、実行する方法”が注目されている。
Conventionally, a programmable controller has been mainly provided with dedicated hardware (represented by Large Scale Integration, etc.) for causing sequence instructions to be executed at high speed. In these dedicated hardware, it was necessary to generate machine code by a support tool provided by the manufacturer of each controller.
However, there were also demerits that “dedicated hardware is expensive” and “development of system programs is relatively difficult with a dedicated machine language system”.
In recent years, with the spread of personal computers, portable terminals, and the like, technological innovation of commercially available general-purpose CPUs (Central Processing Units) has progressed, and it has become possible to obtain CPUs capable of high-speed execution at a very low cost. For this reason, even when a dedicated LSI is emulated and executed using a general-purpose CPU, it is possible to obtain a desired execution performance sufficiently.
Also, since it is general-purpose and firmware development tools can be procured from the market, programmable controllers using general-purpose CPUs are also being made.
In such a programmable controller based on a general-purpose CPU, the application development environment provided to the user is “a general-purpose programming language (C language, microcomputer compatible) in an embedded software development environment corresponding to the general-purpose CPU used in the programmable controller. "A method of executing the program after it is programmed using an assembler or the like, downloaded to a programmable controller" is attracting attention.
実際、近年では汎用CPUをベースとしながら従来の専用LSIを使用したものと全く同じ動作をするプログラマブルコントローラや、逆に従来の支援ツールを使用せずに組み込みソフトウェア開発環境でプログラミングを行うC言語コントローラなども発売されている。
このようなC言語コントローラにおいては、ユーザのプログラミング負荷を軽減するためにリアルタイム・オペレーティング・システム(以下、リアルタイムOSと呼ぶ)が搭載されている。リアルタイムOSでは、タスクと呼ばれる処理単位を複数並列に実行可能であり、タスク間の通信機能、タスクの生成及び起動などの実効制御の機能を備えている。タスクの時間管理をリアルタイムOSが行うので、ユーザはプログラミングする際にスケジューリングの負荷から開放される利点があげられる。
ところで、プログラマブルコントローラのアプリケーションソフトウェアは、プログラマブルコントローラを効率よく扱うために、制御ネットワークに接続されている外部接続機器(例えば、入出力モジュール)をメモリとして扱うなど、プログラマブルコントローラシステム固有のメモリアドレス体系を保持している。そのため、メモリ管理においては、汎用CPUの物理アドレスに直接依存していない。また、プログラマブルコントローラのアプリケーションソフトウェアの実行時には、プログラマブルコントローラのタスクとして登録されており、これらは定周期やイベントなどの指定されたタイミングで起動されるが、プログラマブルコントローラのアプリケーションソフトウェアの作成者は、それらのアプリケーションソフトウェアのタスクとシステムソフトを動かしているリアスタイムOSとの動作の関連を意識することが出来ない。
In fact, in recent years, a programmable controller that is based on a general-purpose CPU and operates exactly the same as that using a conventional dedicated LSI, or conversely, a C language controller that performs programming in an embedded software development environment without using a conventional support tool Etc. are also on sale.
In such a C language controller, a real-time operating system (hereinafter referred to as a real-time OS) is mounted in order to reduce a user's programming load. A real-time OS can execute a plurality of processing units called tasks in parallel, and has a communication function between tasks, and an effective control function such as task generation and activation. Since the time management of tasks is performed by the real-time OS, the user is freed from the scheduling load when programming.
By the way, the application software of the programmable controller uses a memory address system unique to the programmable controller system such as handling externally connected devices (for example, input / output modules) connected to the control network as memory in order to handle the programmable controller efficiently. keeping. Therefore, the memory management does not depend directly on the physical address of the general-purpose CPU. In addition, when the application software of the programmable controller is executed, it is registered as a task of the programmable controller, and these are started at a specified timing such as a fixed period or an event. It is not possible to be aware of the relationship between the application software task and the operation of the real-time OS running the system software.
このことに起因し、以下の問題点が挙げられる。
・サブルーチンのような複数箇所から呼び出される組み込みソフトウェアの記述が出来ない(例えば、データ交換領域としてプログラマブルコントローラのアプリケーションメモリの固定番地を組み込みソフトウェア中で明示的に記述しようとすると、データ交換領域アドレスをそれぞれ個別に用意しなければならず、同じ処理にもかかわらず、別のプログラムになってしまう)。
・プログラマブルコントローラのアプリケーションソフトウェアと組み込みソフトウェアが非同期に動作するので、プログラマブルコントローラのアプリケーションソフトウェアからは、組み込みソフトウェアの処理や起動、完了のタイミングを把握出来ない。
このように、組み込みソフトウェアとプログラマブルコントローラのアプリケーションソフトウェアにおける「データ交換方法、及び起動方法」が問題になる。
特許文献1は、ユーザFBをメーカーの提供するシステムFBとして認識させる事によりデータ交換及び起動の問題を解決している。
特許文献2は、組み込みソフトウェアのユーザFBを先にPLC側にダウンロードし、これを用いたアプリケーションソフトウェアのコンパイル時にユーザFB番号を全て発番することにより、先にダウンロードした組み込みソフトウェアのユーザFBを認識可能としている。
Due to this, there are the following problems.
・ Embedded software called from multiple places such as subroutines cannot be described (for example, if a fixed address of the application memory of the programmable controller is explicitly described in the embedded software as a data exchange area, the data exchange area address is Each must be prepared separately, and it will be a separate program despite the same process).
-Since the application software of the programmable controller and the embedded software operate asynchronously, it is impossible to grasp the timing of processing, activation and completion of the embedded software from the application software of the programmable controller.
Thus, the “data exchange method and activation method” in the application software of the embedded software and the programmable controller becomes a problem.
特許文献1、2のいずれも、FBを一意に認識可能なFB番号を用いている。また、これらを管理するFBテーブルの扱いに着眼した発明となっている。
以下に、このような管理方法について説明する。
始めに、図4〜6にて基本構成について説明する。次に、図7〜13にてプログラマブルコントローラで使用するファンクションブロックの詳細について説明する。続けて、図14〜16にて組み込みソフトウェアのファンクションブロック作製方法について説明する。最後に、図17〜20にてFBテーブルとその使用方法について説明する。
図4は、プログラマブルコントローラシステムの構成の一例を説明したものである。パソコン100は一般的なパソコンであり、このパソコン100にはプログラマブルコントローラを支援する図示しない支援ツールが格納されている。パソコン100と支援対象のプログラマブルコントローラ102は、ケーブル110で接続されている。また、プログラマブルコントローラ102〜106と制御対象となる入出力モジュール108とは、制御用ネットワーク112で接続されている。制御用ネットワーク112の一例としては、出願人の製品であるMICREX-SXシリーズで使用しているSXバスなどがある。
パソコン100において、ファンクションブロック等を用いてプログラミングを行い、コンパイル後に実行ファイルをプログラマブルコントローラ102にケーブル110等を介してダウンロードする(このため、パソコン100はローダと呼ばれることもある)。
Both
Hereinafter, such a management method will be described.
First, the basic configuration will be described with reference to FIGS. Next, details of function blocks used in the programmable controller will be described with reference to FIGS. Next, a method for creating a function block of embedded software will be described with reference to FIGS. Finally, the FB table and its usage will be described with reference to FIGS.
FIG. 4 illustrates an example of the configuration of the programmable controller system. The
In the
なお、ここではプログラマブルコントローラシステムの一例として、一台のパソコン100と複数のプログラマブルコントローラ102〜106、及び複数の入出力モジュール108とによる構成を示しているが、これは発明を限定するものではなく、それぞれ任意の台数によって構成されていても構わない。また、パソコン100の支援対象はプログラマブルコントローラ102〜106のいずれか1つ/全てであっても構わない。
ここでは、パソコン100と支援対象のプログラマブルコントローラ102〜106は、ケーブル110によって接続されているが、これに限ったものではなく、無線LANであっても良いし、任意の媒体を介して情報を遣り取りしても構わない。
図5は、プログラマブルコントローラの概略ハード構成を説明したものである。プログラマブルコントローラ120は、システムプログラム及び/又はユーザプログラムを実行するCPU124を有し、CPU124は内部バス134を介してプログラム、命令、各種データ等を遣り取りする。ここで、システムプログラム及び/又はユーザプログラムを電源断時も保存しておくために、不揮発性の書き換えメモリとしてフラッシュメモリ128を有する。一般に、フラッシュメモリはSRAM等に比べ動作が低速である為、プログラムの保存に適していても、実行には向かない。そこで、フラッシュメモリ128からシステムプログラム及び/又はユーザプログラムを展開・実行するSRAMとして、プログラムメモリ130を有する。また、システムプログラム及び/又はユーザプログラムがリード/ライトする情報を管理・保存するメモリ領域(SRAM)として、データメモリ132も有する。
Here, as an example of the programmable controller system, a configuration of one
Here, the
FIG. 5 illustrates a schematic hardware configuration of the programmable controller. The
一方でプログラマブルコントローラ120には、大別して外部機器との通信機能を2つ有する。1つは、後述のプログラマブルコントローラ支援装置140からユーザの指示やプログラミング、実行ファイル等をCPU124と遣り取りするインターフェース機能であるドライバ/レシーバ122である。もう1つは入出力モジュール等の制御対象機器との通信を行う際に、専用線であるバスの調停等を行うバスコントローラ126である。
なお、フラッシュメモリ128、プログラムメモリ130、データメモリ132は、データ保存/管理の面や実行性の側面から複数のユニットに分けているが、十分な容量や速度性能および電源断時のデータ保証が可能なときは、例えば1つのメモリであっても構わない。
図6は、プログラマブルコントローラ支援装置の概略ハード構成を説明したものである。プログラマブルコントローラ支援装置140は、ユーザが所望の制御プログラムを作成する為に入力を行う入力デバイス146と、この入力内容等を表示する表示デバイス148、所定のプログラムを記憶するための記憶装置150、接続線や外部ネットワーク等を介し対象のプログラマブルコントローラと通信する通信I/F144等を有する。CPU142は、内部バス152を介し、入力デバイス146より作成されたプログラムを必要に応じて記憶装置150に記憶し、また図示しない支援ツールのコンパイル機能により実行ファイルを作成し、これを通信I/F144を介して対象のプログラマブルコントローラに送信(ダウンロード)する。また、必要に応じて、後述のFB番号も送信する。
On the other hand, the
The
FIG. 6 illustrates a schematic hardware configuration of the programmable controller support device. The programmable
ユーザは、プログラマブルコントローラ支援装置140における支援ツールを用いてプログラミングを行うことになるが、この際にファンクションブロックを使用することが多い。記述言語規格IEC61131−3に規定されているファンクションブロックでは、処理コードと処理を行う際に使用するデータ(インスタンス)とが一体になった処理構造になっている。
図7は、ファンクションブロックの入出力概略の一例を説明したものである。図7(a)の例では、矩形部分で表示したファンクションブロック本体160に対し、左側に入力端子162、右側に出力端子164が配置されている。ここでは、ファンクションブロック本体160の上部中央に記載のCTUがファンクションブロック名称を、CU、R、PV、Q、CVは端子名称を表している。また、入力端子162、出力端子164に記載の情報(BOOL、INT)は端子のデータ型を表している。
同様に、図7(b)の例では、矩形部分で表示したファンクションブロック本体170に対し、左側に入力端子172、右側に出力端子174が配置されている。ここでは、ファンクションブロック本体170の上部中央に記載のUFBがファンクションブロック名称を、IN1、IN2、OUT1、OUT2は端子名称を表している。入力端子172、出力端子174に記載の情報(INT)は端子のデータ型を表している。
The user performs programming using a support tool in the programmable
FIG. 7 illustrates an example of an input / output outline of the function block. In the example of FIG. 7A, an
Similarly, in the example of FIG. 7B, an
図8は、ファンクションブロックのインスタンスの構成の一例を説明したものである。図8(a)における最小の矩形は、ビット量を表す。CU、R、Qが1つの矩形から構成されているのは、データ型がBOOL(図7(a)参照)であることを表し、PV、CVが16個分の矩形から構成されているのは、データ型がINT(図7(a)参照)であることを表す。また、図8(a)における斜線の箇所は未使用領域であることを表す。同様に、図8(b)のIN1、IN2、OUT1、OUT2は、16個分の矩形から構成されており、データ型がINT(図7(b)参照)であることを表す。
なお、ここでは模式的な表示としているが、実際には連続した領域としてメモリ割り付けが行われる。図5において、これらの単位でデータメモリ132にアドレスが割り付けられ、インスタンス領域として管理される。実行時のファンクションブロックのプログラムコードはプログラムメモリ130に、インスタンスの情報はデータメモリ132に配置される。これらの情報を連携して実行することによりファンクションブロックは機能する。
ところで、ファンクションブロックは、その性質から大きく分けると2つに分類される。ここではこれらをそれぞれ、ユーザファンクションブロック(以降、ユーザFBと略す)とシステムファンクションブロック(以降、システムFBと略す)と呼ぶ。
FIG. 8 illustrates an example of the configuration of an instance of a function block. The minimum rectangle in FIG. 8A represents the bit amount. The fact that CU, R and Q are composed of one rectangle indicates that the data type is BOOT (see FIG. 7A), and PV and CV are composed of 16 rectangles. Indicates that the data type is INT (see FIG. 7A). Further, the hatched portion in FIG. 8A represents an unused area. Similarly, IN1, IN2, OUT1, and OUT2 in FIG. 8B are composed of 16 rectangles, and indicate that the data type is INT (see FIG. 7B).
Although a schematic display is shown here, memory allocation is actually performed as a continuous area. In FIG. 5, addresses are allocated to the
By the way, the function blocks are roughly classified into two according to their properties. Here, these are called a user function block (hereinafter abbreviated as user FB) and a system function block (hereinafter abbreviated as system FB), respectively.
ユーザFBは、ユーザがファンクションブロックの中身(処理自体)も含めてプログラミングするもので、プログラマブルコントローラ支援装置でユーザFB自体もコンパイルされた後、プログラマブルコントローラにダウンロードされる。
一方でシステムFBは、プログラマブルコントローラのメーカが提供するファンクションブロックである。その為、予めその機能がプログラマブルコントローラ本体のシステムプログラムに含まれており、ユーザはプログラマブルコントローラのアプリケーション内でそのシステムFBを呼び出すコードを記述するだけで、その機能を使用する事ができる。
また、システムFBではプログラマブルコントローラで使用されるマイコンや専用LSIに最適な設計がメーカによりなされているが、ユーザはこれらのシステムFBに手を加えることは出来ず、参照することのみ許されているのが一般的である。
なお、ユーザが作成した組み込みソフトウェアによるファンクションブロックは本来はユーザFBなので、プログラマブルコントローラにおいてはユーザFBとして扱うのが一般的だが、プログラマブルコントローラにシステムFBとして登録する方法を用いても構わない。
The user FB is programmed by the user including the contents of the function block (processing itself), and the user FB itself is compiled by the programmable controller support apparatus and then downloaded to the programmable controller.
On the other hand, the system FB is a function block provided by the manufacturer of the programmable controller. Therefore, the function is included in the system program of the programmable controller main body in advance, and the user can use the function only by writing a code for calling the system FB in the application of the programmable controller.
In addition, in the system FB, the optimum design for the microcomputer or dedicated LSI used in the programmable controller is made by the manufacturer, but the user cannot modify the system FB and is only allowed to refer to it. It is common.
In addition, since the function block by the built-in software created by the user is originally the user FB, it is generally handled as the user FB in the programmable controller, but a method of registering as a system FB in the programmable controller may be used.
ここまでに説明した図7(a)、図8(a)はシステムFBの一例を、図7(b)、図8(b)はユーザFBの一例を示したものである。
図9は、FBをプログラマブルコントローラのアプリケーションから呼び出した場合のプログラムの一例を説明したものである。図9(a)では、PG0というプログラムから図7(a)のファンクションブロックであるCTUを呼び出している。インスタンス180は、PG0においてCTUのインスタンスであることを表している。同一のファンクションブロックでも、インスタント名が異なれば処理も異なる。このため、インスタント名ごとに対応する対象データ領域を有し、ここではインスタンス名としてCTU#1となっている。変数182はPG0内で定義されるが、インスタンス180の入力値として受け渡す。同様に、変数184はPG0内で定義されるが、インスタンス180の実行結果である出力値を受け渡される。
図9(b)も同様で、PG1というプログラムから図7(b)のファンクションブロックであるUFBを呼び出している。インスタンス190は、PG1においてUFBのインスタンスであることを表している。ここではインスタンス名は、UFB#1となっている。
変数192はPG1内で定義されるが、インスタンス192の入力値として受け渡す。同様に、変数194はPG1内で定義されるが、インスタンス190の実行結果である出力値を受け渡される。
FIGS. 7A and 8A described so far show examples of the system FB, and FIGS. 7B and 8B show examples of the user FB.
FIG. 9 illustrates an example of a program when FB is called from an application of a programmable controller. In FIG. 9A, the CTU which is the function block of FIG. 7A is called from the program PG0. An
The same applies to FIG. 9B, and UFB, which is the function block of FIG. 7B, is called from the program PG1. An
The variable 192 is defined in PG1, but is passed as an input value of the
図10は、PG0の擬似的なプログラムコードを説明したものである。コード200、210はプログラムの開始、終了を示すタグであり、実質上、無処理のコードになる。コード202は図9(a)の変数182と対応している。コード上では、A、CTU#1.CUのような表記となっているが、実際にはこれらの変数(或いはインスタンス領域)には、プログラマブルコントローラのデータメモリのアドレスが割り付けられている。ここで、CTU#1はインスタンス領域の先頭アドレス、CTU#1.CUはその構成要素(プロパティ)であるCUのアドレスが割り付けられている。CTU#1.RやCTU_1.PVについても同様である。ここでは、A、B、Cを入力値として、CTU#1はインスタンス領域のCTU#1.CU、CTU#1.R、CTU#1.PVに格納する。コード204はPUSH命令であり、インスタンス領域のアドレスをスタック等に保存しておく命令である。コード206はCAL命令であり、ファンクションブロックCTUのプログラムコードを呼び出す。コード208は、図9(a)の変数184と対応している。コード206で呼び出されたファンクションブロックCTUの処理の終了後に、実行結果を出力値として、CTU#1はインスタンス領域のCTU#1.Q、CTU#1.CVから値を取り出し、D、Eに格納する。
FIG. 10 illustrates pseudo program code of PG0.
図11は、PG1の擬似的なプログラムコードを説明したものであり、図10と同様な処理となる。コード220、230はプログラムの開始、終了を示すタグ、コード222にてUFB_1のインスタンス領域に引き渡す値を入力し、コード224でPUSH命令、コード226でUFBを呼び出し、コード228で実行結果をインスタンス領域から受けとる。
図12は、プログラマブルコントローラにおけるシステムFBの処理の一例を概略フローチャートで説明したものである。ここではプログラマブルコントローラのアプリケーションの処理の1つとして、PG0が実行されたとき、PG0におけるシステムFB(CTU)がどのように処理されるかについて、その概略を示す。
図から明らかなように、PG0の処理(フローF100)において、CAL処理(フローF102)が呼び出され、その後、CTUの実体が処理(フローF104)されて、フローF100に戻り処理を完了する。
順を追って説明すると、PG0の実行中において、プログラマブルコントローラに予め実装されているCAL処理が呼び出される(ステップS100)。また、ステップS100の前処理として、システムFB(CTU)のインスタンス(CTU_1)のアドレスはデータメモリ上にスタックされ、インスタント領域に格納されている。CAL処理では、始めにシステムFB(CTU)処理後の戻りアドレスを保存する(ステップS102)。その上で、スタックに格納されているインスタンス領域のアドレスを取り出し(ステップS104)、呼び出そうとしているシステムFB(CTU)のシステムFB番号を後述のシステムFBテーブル(図17参照)から検索し、アドレス情報を取り出す(ステップS106)。インスタンス領域のアドレスをパラメータにセットしてシステムFB(CTU)の処理にジャンプする(ステップS108)。システムFB(CTU)の処理終了後、ステップS102で保存しておいた戻りアドレスにジャンプした後、PG0の処理を継続する。
FIG. 11 illustrates the pseudo program code of PG1, and the processing is the same as that in FIG.
FIG. 12 is a schematic flowchart illustrating an example of processing of the system FB in the programmable controller. Here, an outline of how the system FB (CTU) in PG0 is processed when PG0 is executed as one of the processes of the application of the programmable controller is shown.
As is apparent from the figure, in the process of PG0 (flow F100), the CAL process (flow F102) is called, and then the entity of the CTU is processed (flow F104), returning to the flow F100 and completing the process.
To explain step by step, during the execution of PG0, a CAL process pre-installed in the programmable controller is called (step S100). In addition, as preprocessing in step S100, the address of the instance (CTU_1) of the system FB (CTU) is stacked on the data memory and stored in the instant area. In the CAL process, first, the return address after the system FB (CTU) process is stored (step S102). Then, the address of the instance area stored in the stack is taken out (step S104), the system FB number of the system FB (CTU) to be called is retrieved from the system FB table (see FIG. 17) described later, Address information is extracted (step S106). The address of the instance area is set as a parameter, and the process jumps to system FB (CTU) processing (step S108). After the processing of the system FB (CTU) is completed, after jumping to the return address stored in step S102, the processing of PG0 is continued.
図13は、プログラマブルコントローラにおけるユーザFBの処理の一例を概略フローチャートで説明したものである。基本的に図12のシステムFBの処理と同様になる。ここではプログラマブルコントローラのアプリケーションの処理の1つとして、PG1が実行されたとき、PG1におけるユーザFB(UFB)がどのように処理されるかについて、その概略を示す。
図から明らかなように、PG1の処理(フローF110)において、CAL処理(フローF114)が呼び出され、その後UFBの実体が処理(フローF112)されて、フローF110に戻り処理を完了する。
順を追って説明すると、PG1の実行中において、プログラマブルコントローラに予め実装されているCAL処理が呼び出される(ステップS110)。また、ステップS110の前処理として、ユーザFB(UFB)のインスタンス(UFB_1)のアドレスはデータメモリ上にスタックされ、インスタント領域に格納されている。CAL処理では、始めにユーザFB(UFB)処理後の戻りアドレスを保存する(ステップS112)。その上で、スタックに格納されているインスタンス領域のアドレスを取り出し(ステップS114)、呼び出そうとしているユーザFB(UFB)のユーザFB番号を後述のユーザFBテーブル(図18参照)から検索し、アドレス情報を取り出す(ステップS116)。インスタンス領域のアドレスをパラメータにセットしてユーザFB(UFB)の処理にジャンプする(ステップS118)。ユーザFB(UFB)の処理終了後、ステップS112で保存しておいた戻りアドレスにジャンプした後、PG1の処理を継続する。
FIG. 13 is a schematic flowchart illustrating an example of processing of the user FB in the programmable controller. This is basically the same as the processing of the system FB in FIG. Here, an outline of how the user FB (UFB) in PG1 is processed when PG1 is executed as one of the processes of the application of the programmable controller is shown.
As is apparent from the figure, in the process of PG1 (flow F110), the CAL process (flow F114) is called, and then the UFB entity is processed (flow F112), and the process returns to the flow F110 to complete the process.
To explain step by step, during the execution of PG1, a CAL process pre-installed in the programmable controller is called (step S110). In addition, as preprocessing in step S110, the address of the instance (UFB_1) of the user FB (UFB) is stacked on the data memory and stored in the instant area. In the CAL process, first, the return address after the user FB (UFB) process is stored (step S112). Then, the address of the instance area stored in the stack is taken out (step S114), the user FB number of the user FB (UFB) to be called is retrieved from the user FB table (see FIG. 18) described later, Address information is extracted (step S116). The address of the instance area is set as a parameter, and the process jumps to the process of the user FB (UFB) (step S118). After the processing of the user FB (UFB) is completed, after jumping to the return address stored in step S112, the processing of PG1 is continued.
図13と図14における処理の相違点は、システムFBやユーザFBの実体の処理が、PLCのアプリケーション内で実行されるか、システムプログラム内で実行されるかの点にある。
ここまでは、基本的な構成とその処理について説明した。以降は、組み込みソフトウェアにおけるFB(以降、組み込みソフトウェアFBと呼ぶ)の作成方法(図14〜図16参照)や、組み込みソフトウェアFBのプログラマブルコントローラへの展開処理(図17〜図20)に関する具体的な所作について説明する。
図14は、作成対象のPOU(Program Organization Unit)を選択する画面を説明したものであり、この画面は図6のプログラマブルコントローラ支援装置140における図示しない支援ツールにおけるユーザインターフェースの一例である。
このメニュー画面では、従来のプログラム、ファンクションブロック、ファンクションに加えて、組み込みソフトウェアFBの作成を支援することを示している。
図15は、組み込みソフトウェアFBの編集画面の一例を説明したものである。ここでは、ファンクションブロックの名称と、各変数の変数名、データ型、種類を入力する。ファンクションブロック名称は、入力規則に制限は無いが、既に登録済みの名称と重複しないようにする。変数名も入力規則に制限は無いが、同一ファンクションブロック内で重複しないようにする。データ型は、変数の型であるINT型、BOOL型等を指定可能で、ファンクションブロックのインスタンスの構成(図8参照)にも反映される。種類は、INPUT、OUTPUTのいずれかであり、変数がファンクションブロックの入力側、出力側のいずれかであるかを指定することになる。
The difference between the processes in FIG. 13 and FIG. 14 is that the actual process of the system FB and the user FB is executed in the PLC application or in the system program.
Up to this point, the basic configuration and its processing have been described. Hereinafter, specific methods related to a method for creating an FB (hereinafter referred to as an embedded software FB) in embedded software (see FIGS. 14 to 16) and a process for expanding the embedded software FB to a programmable controller (FIGS. 17 to 20). Explain the work.
FIG. 14 illustrates a screen for selecting a POU (Program Organization Unit) to be created. This screen is an example of a user interface in a support tool (not shown) in the programmable
This menu screen indicates that the creation of the embedded software FB is supported in addition to the conventional program, function block, and function.
FIG. 15 illustrates an example of the editing screen of the embedded software FB. Here, the name of the function block and the variable name, data type, and type of each variable are input. The function block name is not limited in input rules, but it should not be duplicated with already registered names. There are no restrictions on the input rules for variable names, but they should not be duplicated in the same function block. As the data type, an INT type, a BOOT type, or the like, which is a variable type, can be specified, and is reflected in the configuration of the function block instance (see FIG. 8). The type is either INPUT or OUTPUT, and specifies whether the variable is on the input side or output side of the function block.
図16は、組み込みソフトウェアFBの雛形の一例を説明したものである。図15で設定した変数を用い、C言語を用いた組み込みソフトウェアの雛形を作成する例を示す。コード240は、構造体の記述方式であり、ファンクションブロックにおいてはインスタンスに相当する。コード242は、構造体からの変数受け渡しと、実際の処理を記入する箇所であり、特に、“/* 以下に処理を記入する */”の箇所以降に演算式や制御内容をユーザがC言語で記載する。なお、ここでは説明の関係で図15で変数等の情報を入力してから図16で雛形を作成する例を示したが、図15の情報より、コード240やコード242の変数などの該当部分を自動的に反映しても構わないし、コード240、242をユーザが直接入力しても構わない。作成したコードを、組み込みソフトウェアの開発環境にてコンパイルし、オブジェクトファイル(組み込みソフトウェアFBのオブジェクトコード)を生成する。
ここまでの処理で、組み込みソフトウェアFBを、システムFB或いはユーザFBとして作成し、これをプログラマブルコントローラに格納する準備は整う。図17、図19ではプログラマブルコントローラのシステムFBとして、組み込みソフトウェアFBを組み込む方法を、図18、図20ではプログラマブルコントローラのユーザFBとして、組み込みソフトウェアFBを組み込む方法を示す。ここでは説明の関係で、システムFB/ユーザFBとしての格納方法を別々に説明するが、これらを併用しても構わない。
FIG. 16 illustrates an example of a template of the embedded software FB. An example in which a template of embedded software using C language is created using the variables set in FIG. The
With the processing so far, the embedded software FB is created as the system FB or the user FB, and preparations for storing it in the programmable controller are completed. 17 and 19 show a method of incorporating the embedded software FB as the system FB of the programmable controller, and FIGS. 18 and 20 show a method of incorporating the embedded software FB as the user FB of the programmable controller. Here, the storage method as the system FB / user FB will be described separately for the sake of explanation, but these may be used together.
初めに各FBテーブルについて説明する。
図17は、システムFBテーブルの一例を説明したものである。プログラムメモリ上に、システムFBのオブジェクトコード99個と、ユーザの作成した組み込みソフトウェアFB一つとが格納されている。各システムFBのオブジェクトコードには、これらを一意に特定するシステムFB番号が割り振られている。これはプログラマブルコントローラ側で、システムFB番号で指定されたシステムFBを速やかに呼び出せるようにするものである。ここでは、これらのシステムFB番号を管理する方法としてシステムFBテーブルを用いている。
システムFBテーブルは、システムFB番号及びシステムFBのオブジェクトコードの格納先アドレスの一覧で構成される。図17の例では、システムFBテーブルはデータメモリに格納されており、システムFBテーブルの各システムFB番号を指定すればプログラムメモリ内の各オブジェクトコードの開始アドレスを特定できることを、図の各矢印は示している。一例として、システムFB番号が“1”の場合は、システムFBテーブルのシステムFB1に格納されているアドレスを参照し、ここではプログラムメモリの50番地に格納されていることが分かる。
First, each FB table will be described.
FIG. 17 illustrates an example of the system FB table. In the program memory, 99 object codes of the system FB and one embedded software FB created by the user are stored. A system FB number that uniquely identifies these is assigned to the object code of each system FB. This enables the programmable controller to quickly call the system FB designated by the system FB number. Here, a system FB table is used as a method of managing these system FB numbers.
The system FB table includes a list of system FB numbers and storage addresses of object codes of the system FB. In the example of FIG. 17, the system FB table is stored in the data memory, and by specifying each system FB number in the system FB table, it is possible to specify the start address of each object code in the program memory. Show. As an example, when the system FB number is “1”, the address stored in the system FB1 of the system FB table is referred to, and it can be seen here that the system FB number is stored in the
このシステムFBテーブルは、基本部分と拡張部分から構成され、メーカー指定のシステムFB1〜99(基本部分)は固定で、後続のシステムFB100〜n(拡張部分)に組み込みソフトウェアFBや任意のユーザFBを登録する。図で示したように拡張部分には、登録の有無に応じて空き領域(リザーブ)を用意しても構わない。
なお、アドレスの指定方法は、オブジェクトコードの格納先の開始番地を用いるのが一般的であるが、開始番地・終了番地・オブジェクトコードを格納するアドレス長を指定しても構わない。アドレスの情報は、プログラムメモリ内のアドレスを絶対番地として登録しても構わないし、相対アドレスであっても構わない。
また、システムFBテーブルの構成自体を構造的にして、例えばシステムFBテーブルの頭から4バイト目にはシステムFB番号1のアドレスを、8バイト目にはシステムFB番号2のアドレス、・・・、4nバイト目にはシステムFB番号nのアドレスを格納すれば、単なるアドレスの羅列で構成しても構わない。
ここでは、一例として、システムFBがn個あるものとして、実際にn個格納されているものを想定しているが、管理するシステムFBの個数はデータメモリやプログラムメモリ等の容量が許容すればn個に固定せずとも構わなく、未使用な番号があっても良いし、システムFBが連番である必要は無い。但し、実際に実行するシステムFBに応じて管理するのがメモリ資源やレンスポンスの面から好ましい。
This system FB table is composed of a basic part and an extended part. The system FB1 to 99 (basic part) specified by the manufacturer is fixed, and the embedded software FB and an arbitrary user FB are installed in the subsequent systems FB100 to n (extended part). sign up. As shown in the figure, an empty area (reserve) may be prepared in the extended portion according to the presence or absence of registration.
The address designation method generally uses the start address of the object code storage destination. However, the start address, the end address, and the address length for storing the object code may be designated. The address information may be registered as an absolute address in the program memory or may be a relative address.
Further, the structure of the system FB table itself is structured, for example, the address of the
Here, as an example, it is assumed that there are n systems FB, and n systems FB are actually stored. However, the number of systems FB to be managed is allowed if the capacity of data memory, program memory, or the like allows. It does not matter if the number is not fixed to n, there may be an unused number, and the system FB need not be a serial number. However, management according to the system FB to be actually executed is preferable in terms of memory resources and response.
いずれにせよ、システムFB番号が分かれば、実行すべきプログラムメモリ内のシステムFBのオブジェクトコードのアドレスも一意に決まる。
図18は、ユーザFBテーブルの一例を説明したもである。基本的には図17のシステムFBテーブルと同様な構造なので、その差異について説明する。ユーザが作成したアプリケーションソフトウェアにおいて、そのコンパイル時に生成されたユーザFB番号をユーザFBテーブルとして用いるので、基本的にはシステムFBのような空き領域は発生しない(必要ない)。また、コンパイル過程の最適化ルーチン等に基づき、ユーザFB番号が発番されるので、組み込みソフトウェアFBの番号がどのような番号になるかは固定されない。図18の場合、ユーザFB番号99に組み込みソフトウェアFBの番号が割り振られたので、その格納箇所はプログラムメモリの300番地となっている。
続いて、プログラマブルコントローラ支援装置とプログラマブルコントローラとにおいて、どのように処理されているかを説明する。
図19は、従来のプログラマブルコントローラシステムにおける組み込みソフトウェアFB(システムFB)の処理を概略フローチャートで説明したものである。ここではプログラマブルコントローラ支援装置側とプログラマブルコントローラ側とにおいて、どのような処理が行われているかを、受け渡しされる情報を中心に示している。
In any case, if the system FB number is known, the address of the object code of the system FB in the program memory to be executed is also uniquely determined.
FIG. 18 illustrates an example of the user FB table. Since the structure is basically the same as the system FB table of FIG. 17, the difference will be described. In the application software created by the user, the user FB number generated at the time of compiling is used as the user FB table, so that basically no free space like the system FB is generated (not necessary). Further, since the user FB number is issued based on the optimization routine of the compilation process, the number of the embedded software FB number is not fixed. In the case of FIG. 18, since the number of the embedded software FB is assigned to the user FB number 99, the storage location is 300 addresses in the program memory.
Next, how processing is performed in the programmable controller support device and the programmable controller will be described.
FIG. 19 is a schematic flowchart for explaining the processing of the embedded software FB (system FB) in the conventional programmable controller system. Here, what kind of processing is performed on the programmable controller support device side and the programmable controller side is shown mainly on the information to be transferred.
図から明らかなように、プログラマブルコントローラ支援装置側では、ユーザが組み込みソフトウェアFBを作成し、それを用いたアプリケーションソフトウェアを開発する処理(フローF10)と、組み込みソフトウェアFBから実行コードを生成する処理(フローF12)とが行われる。一方で、プログラマブルコントローラ側では、組み込みソフトウェアFBを格納する処理(フローF14)とアプリケーションソフトウェアを格納する処理(フローF16)とが行われる。
順を追って説明すると、ユーザはプログラマブルコントローラ支援装置において、支援ツールを用いて、組み込みソフトウェアFBを作成する。一例として先述の図14〜16のようなインターフェースによって、主に組み込みソフトウェアFBの入出力関係を定義する。これにより、組み込みソフトウェアFBの雛形10が生成され、また、この組み込みソフトウェアFBを特定するシステムFB番号14を発番する(ステップS10)。
次に、ユーザは組み込みソフトウェアFBの具体的な処理内容をプログラムする(ステップS20)。結果、支援ツールは組み込みソフトウェアFBのプログラムコードをコンパイルし実行形式の組み込みソフトウェアFBのオブジェクトコード16を生成する(ステップS22)。
As is clear from the figure, on the programmable controller support device side, the user creates embedded software FB, develops application software using the software (flow F10), and generates execution code from the embedded software FB ( Flow F12) is performed. On the other hand, on the programmable controller side, processing for storing the embedded software FB (flow F14) and processing for storing application software (flow F16) are performed.
To explain step by step, the user creates the embedded software FB using a support tool in the programmable controller support apparatus. As an example, the input / output relationship of the embedded software FB is mainly defined by the interfaces as shown in FIGS. As a result, the
Next, the user programs specific processing contents of the embedded software FB (step S20). As a result, the support tool compiles the program code of the embedded software FB and generates the
すると、支援ツールは、システムFB番号14と組み込みソフトウェアFBのオブジェクトコード16とを、動作対象のプログラマブルコントローラに送信(ダウンロード)する(ステップS12)。
続けてユーザは、組み込みソフトウェアFBを用いたアプリケーションソフトウェアを生成する(ステップS14)。その後、このアプリケーションソフトウェアをコンパイルし実行形式のアプリケーションソフトウェア18を生成する(ステップS16)。そして、このアプリケーションソフトウェア18を動作対象のプログラマブルコントローラに送信(ダウンロード)する(ステップS18)。
プログラマブルコントローラにおいては、システムFB番号14と組み込みソフトウェアFBのオブジェクトコード16とを受信すると、これをプログラムメモリ130の空いている箇所に格納する(ステップS24)。続いて、組み込みソフトウェアFBのオブジェクトコード16に付与されたシステムFB番号14をデータメモリ132のシステムFBテーブルに登録する(ステップS26)。システムFBテーブルに登録する方法の一例は、先述の図17の説明の通りである。
一方で、アプリケーションソフトウェア18を受信すると、これをプログラムメモリ130の空いている箇所にに格納する(ステップS30)。
Then, the support tool transmits (downloads) the
Subsequently, the user generates application software using the embedded software FB (step S14). Thereafter, the application software is compiled to generate
When the programmable controller receives the
On the other hand, when the
このような処理により、プログラマブルコントローラはスタンバイ状態となり、任意のタイミングでアプリケーションソフトウェア18が実行され、その処理の中で組み込みソフトウェアFBのオブジェクトコード16が呼び出され実行される。
図20は、従来のプログラマブルコントローラシステムにおける組み込みソフトウェアFB(ユーザFB)の処理を概略フローチャートで説明したものである。ここでもシステムFBのときと同様に、プログラマブルコントローラ支援装置側とプログラマブルコントローラ側とにおいて、どのような処理が行われているかを、受け渡しされる情報を中心に示している。
図から明らかなように、プログラマブルコントローラ支援装置側では、ユーザが組み込みソフトウェアFBを作成し、それを用いたアプリケーションソフトウェアを開発する処理(フローF20)と、組み込みソフトウェアFBから実行コードを生成する処理(フローF22)とが行われる。一方で、プログラマブルコントローラ側では、組み込みソフトウェアFBを格納する処理(フローF24)とアプリケーションソフトウェアを格納する処理(フローF26)とが行われる。
順を追って説明すると、ユーザはプログラマブルコントローラ支援装置において、支援ツールを用いて、組み込みソフトウェアFBを作成する。一例として先述の図14〜16のようなインターフェースによって、主に組み込みソフトウェアFBの入出力関係を定義する。これにより、組み込みソフトウェアFBの雛形20が生成される(ステップS50)。
By such processing, the programmable controller enters the standby state, and the
FIG. 20 is a schematic flowchart for explaining the processing of the embedded software FB (user FB) in the conventional programmable controller system. Here too, as in the case of the system FB, what kind of processing is being performed on the programmable controller support device side and the programmable controller side is mainly shown in the transferred information.
As apparent from the figure, on the programmable controller support device side, the user creates the embedded software FB, develops application software using the embedded software FB (flow F20), and generates the execution code from the embedded software FB ( Flow F22) is performed. On the other hand, on the programmable controller side, processing for storing the embedded software FB (flow F24) and processing for storing application software (flow F26) are performed.
To explain step by step, the user creates the embedded software FB using a support tool in the programmable controller support apparatus. As an example, the input / output relationship of the embedded software FB is mainly defined by the interfaces as shown in FIGS. Thereby, the
次に、ユーザは組み込みソフトウェアFBの具体的な処理内容をプログラムする(ステップS62)。結果、支援ツールは組み込みソフトウェアFBのプログラムコードをコンパイルし実行形式の組み込みソフトウェアFBのオブジェクトコード26を生成する(ステップS64)。
すると、支援ツールは、組み込みソフトウェアFBのオブジェクトコード26を、動作対象のプログラマブルコントローラに送信(ダウンロード)する(ステップS52)。
続けてユーザは、組み込みソフトウェアFBを用いたアプリケーションソフトウェアを生成する(ステップS54)。その後、このアプリケーションソフトウェアをコンパイルし実行形式のアプリケーションソフトウェア28を生成する(ステップS56)。コンパイルの際に、このアプリケーションソフトウェア28から呼び出す組み込みソフトウェアFBを特定するユーザFB番号30を発番する(ステップS58)。そして、このアプリケーションソフトウェア28とユーザFB番号30とを動作対象のプログラマブルコントローラに送信(ダウンロード)する(ステップS60)。
プログラマブルコントローラにおいては、組み込みソフトウェアFBのオブジェクトコード26とを受信すると、これをプログラムメモリ130の空いている箇所に格納する(ステップS66)。
Next, the user programs specific processing contents of the embedded software FB (step S62). As a result, the support tool compiles the program code of the embedded software FB to generate the
Then, the support tool transmits (downloads) the
Subsequently, the user generates application software using the embedded software FB (step S54). Thereafter, the application software is compiled to generate
When the programmable controller receives the
一方で、アプリケーションソフトウェア28とユーザFB番号30とを受信すると、アプリケーションソフトウェア28をプログラムメモリ130の空いている箇所にに格納する(ステップS70)。続いて、組み込みソフトウェアFBのオブジェクトコード26に付与されたユーザFB番号30をデータメモリ132のユーザFBテーブルに登録する(ステップS72)。
このような処理により、プログラマブルコントローラはスタンバイ状態となり、任意のタイミングでアプリケーションソフトウェア28が実行され、その処理の中で組み込みソフトウェアFBのオブジェクトコード26が呼び出され実行される。
以上の図19、20の説明においては、組み込みソフトウェアFBのシステムFB番号/ユーザFB番号について処理を示したが、実際の処理では組み込みソフトウェアFB以外のシステムFB番号/ユーザFB番号についても付与されプログラマブルコントローラに送信(ダウンロード)、反映されている。結果、図17、18のような各FBテーブルが構築・保持される。
By such processing, the programmable controller enters a standby state, the
In the description of FIGS. 19 and 20 described above, the processing is shown for the system FB number / user FB number of the embedded software FB. In actual processing, the system FB number / user FB number other than the embedded software FB is also given and programmable. Sent (downloaded) to the controller and reflected. As a result, each FB table as shown in FIGS. 17 and 18 is constructed and held.
プログラマブルコントローラシステムを導入した後も、現場環境によってはソフトウェアの更新の必要性や顧客のニーズにより細かいメンテナンス事項は日常的に発生する。この際、例えば、組み込みソフトウェアだけを改善し、これを用いるアプリケーションソフトには手を加えない場合がある。一方で、組み込みソフトウェアの拡張に伴いメモリ管理が変わるので、アプリケーションソフトに手を加える場合もある。
いずれの場合も、ソフトウェアの変更量から見ると、部分的な変更の域で、大幅にプログラムに手を加えることは少ない。
ところで、上述の特許文献1、2においては、システムFB、ユーザFBのいずれの場合においても、これらの呼び出しによって組み込みソフトウェアの起動とデータ交換を行っている。ここで交換されるデータは、作成された組み込みソフトウェアのFBのインスタンスメモリ上に存在する。もし、上述のプログラムの変更により誤ったFBを呼び出すと、アクセスするデータのインスタンス内での相対位置やインスタンスのサイズが異なるため、演算が異常終了してしまう恐れがある。
また、アプリケーションソフトから呼び出す組み込みソフトウェアのFBの名称が変わらないため、呼び出し元や呼び出し先に原因があるのか、呼び出し関係に原因があるのか等の原因特定も困難になる。
Even after the introduction of the programmable controller system, depending on the field environment, detailed maintenance items will occur on a daily basis due to the need for software updates and customer needs. At this time, for example, there are cases where only the embedded software is improved, and application software using the embedded software is not modified. On the other hand, memory management changes with the expansion of embedded software, so application software may be modified.
In either case, from the viewpoint of the amount of software change, the program is rarely changed in the area of partial change.
By the way, in the above-mentioned
In addition, since the name of the FB of the embedded software that is called from the application software does not change, it is difficult to identify the cause such as whether there is a cause in the call source or the call destination or in the call relationship.
このように、上述の特許文献1、2においては、FB番号だけに管理体系が依存しているので、このようなプログラム変更に対応できない問題が発生する。
本発明は、このような問題点を鑑み、ユーザが作成した組み込みソフトウェアと、これらを呼び出すアプリケーションソフトウェアとにおける動作を保証したプログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステムを提供することを目的とする。
As described above, in the above-described
In view of such problems, the present invention has an object to provide a programmable controller, a programmable controller support device, and a programmable controller system that guarantee operations in embedded software created by a user and application software that calls them. To do.
上記の課題を解決する手段として、本発明は以下のように構成する。
第1に、本発明のプログラマブルコントローラは、組み込みソフトウェアのファンクションブロックのオブジェクトコードと該オブジェクトコードに付与されている第1の付加情報とを格納する第1の記憶手段と、前記組み込みソフトウェアのファンクションブロックを用いたアプリケーションソフトと該アプリケーションソフトに付与されている第2の付加情報とを格納する第2の記憶手段と、前記第1、2の記憶手段に格納された情報を解釈し実行する実行手段とを備え、前記実行手段は、前記アプリケーションソフトを実行する際に、該アプリケーションソフトに前記組み込みソフトウェアのファンクションブロックの呼び出し処理があるときは、前記第1の付加情報と前記第2の付加情報とを比較し、相違が無い場合に処理を継続するように構成する。
第2に、前記プログラマブルコントローラにおいて、前記第1の付加情報及び前記第2の付加情報は、前記組み込みソフトウェアのファンクションブロックのインスタンスフォーマット情報であるように構成する。
第3に、前記プログラマブルコントローラにおいて、前記第1の付加情報及び前記第2の付加情報は、版数情報、或いは前記組み込みソフトウェアのファンクションブロックを特定可能なタイムスタンプ情報であるように構成する。
As means for solving the above problems, the present invention is configured as follows.
First, a programmable controller according to the present invention includes a first storage means for storing an object code of a function block of embedded software and first additional information given to the object code, and a function block of the embedded software. Second storage means for storing application software using the software and second additional information given to the application software, and execution means for interpreting and executing the information stored in the first and second storage means The execution means includes the first additional information and the second additional information when the application software has a function block calling process of the embedded software when the application software is executed. And continue processing if there is no difference Configured to.
Second, in the programmable controller, the first additional information and the second additional information are configured to be instance format information of a function block of the embedded software.
Thirdly, in the programmable controller, the first additional information and the second additional information are configured so as to be version number information or time stamp information capable of specifying a function block of the embedded software.
第4に、本発明のプログラマブルコントローラ支援装置は、組み込みソフトウェアのファンクションブロックをプログラミングする第1のプログラミング手段と、該組み込みソフトウェアのファンクションブロックを用いたアプリケーションソフトをプログラミングする第2のプログラミング手段と、前記ファンクションブロック及び前記アプリケーションソフトをコンパイルするコンパイル手段と、前記組み込みソフトウェアのファンクションブロックのオブジェクトコードと、該オブジェクトコードを特定する第1の付加情報とを送信する第1の送信手段と、前記アプリケーションソフトと、該アプリケーションソフトに含まれる前記組み込みソフトウェアのファンクションブロックのオブジェクトコードを特定する第2の付加情報とを送信する第2の送信手段とを備えるように構成する。
第5に、前記プログラマブルコントローラ支援装置において、前記第1の付加情報及び前記第2の付加情報は、前記組み込みソフトウェアのファンクションブロックのインスタンスフォーマット情報であることを特徴とするプログラマブルコントローラ支援装置。
第6に、前記プログラマブルコントローラ支援装置において、前記第1の付加情報及び前記第2の付加情報は、版数情報、或いは前記組み込みソフトウェアのファンクションブロックを特定可能なタイムスタンプ情報であることを特徴とするプログラマブルコントローラ支援装置。
Fourth, the programmable controller support device of the present invention includes a first programming means for programming a function block of embedded software, a second programming means for programming application software using the function block of the embedded software, Compile means for compiling the function block and the application software, first transmission means for transmitting the object code of the function block of the embedded software, and first additional information for specifying the object code, the application software, And second additional information for specifying an object code of a function block of the embedded software included in the application software. Configured to include a second transmission means for signals.
Fifth, in the programmable controller support device, the first additional information and the second additional information are instance format information of a function block of the embedded software.
Sixth, in the programmable controller support device, the first additional information and the second additional information are version number information or time stamp information that can specify a function block of the embedded software. Programmable controller support device.
第7に、プログラマブルコントローラとプログラマブルコントローラ支援装置とを具備するプログラマブルコントローラシステムにおいて、前記プログラマブルコントローラ支援装置は、組み込みソフトウェアのファンクションブロックをプログラミングする第1のプログラミング手段と、該組み込みソフトウェアのファンクションブロックを用いたアプリケーションソフトをプログラミングする第2のプログラミング手段と、前記ファンクションブロック及び前記アプリケーションソフトをコンパイルするコンパイル手段と、前記組み込みソフトウェアのファンクションブロックのオブジェクトコードと、該オブジェクトコードを特定する第1の付加情報とを送信する第1の送信手段と、前記アプリケーションソフトと、該アプリケーションソフトに含まれる前記組み込みソフトウェアのファンクションブロックのオブジェクトコードを特定する第2の付加情報とを送信する第2の送信手段とを備え、前記プログラマブルコントローラは、前記第1の送信手段により送信されてきた前記組み込みソフトウェアのファンクションブロックのオブジェクトコードと該オブジェクトコードに付与されている前記第1の付加情報とを格納する第1の記憶手段と、前記第2の送信手段により送信されてきた前記組み込みソフトウェアのファンクションブロックを用いたアプリケーションソフトと該アプリケーションソフトに付与されている前記第2の付加情報とを格納する第2の記憶手段と、前記第1、2の記憶手段に格納された情報を解釈し実行する実行手段を備え、前記実行手段は、前記アプリケーションを実行する際に、該アプリケーションに前記組み込みソフトウェアのファンクションブロックの呼び出し処理があるときは、前記第1の付加情報と前記第2の付加情報と比較し、相違が無い場合に処理を継続するように構成する。 Seventh, in a programmable controller system comprising a programmable controller and a programmable controller support device, the programmable controller support device uses a first programming means for programming a function block of the embedded software and the function block of the embedded software. Second programming means for programming the application software, compiling means for compiling the function block and the application software, object code of the function block of the embedded software, and first additional information for specifying the object code; First transmission means for transmitting the application software, the application software, and the application Second transmission means for transmitting second additional information for specifying the object code of the function block of the embedded software included in the software, and the programmable controller has been transmitted by the first transmission means The first storage means for storing the object code of the function block of the embedded software and the first additional information given to the object code, and the embedded software transmitted by the second transmission means Second storage means for storing the application software using the function block and the second additional information given to the application software; and interpreting and executing the information stored in the first and second storage means Executing means, wherein the executing means When executing the application, if the application has a function block calling process of the embedded software, the first additional information is compared with the second additional information, and the process is continued if there is no difference. Configure as follows.
本発明により、ユーザが作成した組み込みソフトウェアと、これらを呼び出すアプリケーションソフトウェアとの整合性を、プログラマブルコントローラにて確認してから実行するので、動作の保証が確保されるという効果を奏する。
また、確認の元となるインスタンスフォーマット情報を簡略化することにより、ユーザやシステムへの負担(負荷)を軽減することも可能である。
According to the present invention, since the consistency between the embedded software created by the user and the application software that calls them is checked by the programmable controller, the operation is guaranteed.
Also, by simplifying the instance format information that is the source of confirmation, it is possible to reduce the burden (load) on the user and the system.
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
図1は、本発明のプログラマブルコントローラシステムにおける組み込みソフトウェアFB(システムFB)の処理を概略フローチャートで示したものである。また、図2は、本発明のプログラマブルコントローラシステムにおける組み込みソフトウェアFB(ユーザFB)の処理を概略フローチャートで示したものである。それぞれ、図19、図20で示した従来例と対応する部分は同一の符号を用いるものとする。以降、同符号の説明は省略し、本発明の特徴点について説明する。
図1において、ユーザはプログラマブルコントローラ支援装置における支援ツールを用いて、組み込みソフトウェアFBを作成する。この際に、組み込みソフトウェアFBの雛形10、システムFB番号14の発番処理に加えて、後述のインスタンスフォーマット情報12(図3参照)を生成する(ステップS10a)。このインスタンスフォーマット情報12は、システムFB番号14と組み込みソフトウェアFBのオブジェクトコード16とを、動作対象のプログラマブルコントローラに送信(ダウンロード)する際に、同じくプログラマブルコントローラに送信される(ステップS12a)。また、アプリケーションソフトウェア18を動作対象のプログラマブルコントローラに送信(ダウンロード)する際にも、このインスタンスフォーマット情報12は、プログラマブルコントローラに送信される(ステップS18a)。
The best mode for carrying out the present invention will be described below with reference to the drawings.
FIG. 1 is a schematic flowchart showing processing of the embedded software FB (system FB) in the programmable controller system of the present invention. FIG. 2 is a schematic flowchart showing the processing of the embedded software FB (user FB) in the programmable controller system of the present invention. The parts corresponding to those of the conventional example shown in FIGS. 19 and 20 are denoted by the same reference numerals. Hereinafter, the description of the same reference numerals will be omitted, and the features of the present invention will be described.
In FIG. 1, the user creates the embedded software FB using the support tool in the programmable controller support device. At this time, in addition to the numbering process of the embedded
一方で、プログラマブルコントローラにおいては、システムFB番号14と組み込みソフトウェアFBのオブジェクトコード16及びインスタンスフォーマット情報12を受信すると、ステップS24、ステップS26の処理に続いて、受信したインスタンスフォーマット情報12を、組み込みソフトウェアFBに対応付けて格納する。例えば、データメモリ132の空いている箇所にインスタンスフォーマット情報12を格納し、このインスタンスフォーマット情報12のインデックス情報としてシステムFB番号14を登録する。このことにより、組み込みソフトウェアFBが指定されれば、対応するインスタンスフォーマット情報12の閲覧が可能となる(ステップS28)。
また、アプリケーションソフトウェア18及びインスタンスフォーマット情報12を受信すると、ステップS30の処理に続いて、受信したインスタンスフォーマット情報12を、アプリケーションソフトウェア18に対応付けて格納する。例えば、データメモリ132の空いている箇所にインスタンスフォーマット情報12を格納し、このインスタンスフォーマット情報12のインデックス情報として、このアプリケーションソフトウェア18を特定する情報を登録する。このことにより、アプリケーションソフトウェア18が指定されれば、対応するインスタンスフォーマット情報12の閲覧が可能となる(ステップS32)。
On the other hand, in the programmable controller, when the
When the
このような処理により、プログラマブルコントローラはスタンバイ状態となり、任意のタイミングでアプリケーションソフトウェア18が実行され(ステップS34)、その処理の中で組み込みソフトウェアFBのオブジェクトコード16が呼び出されるタイミングで、メモリに格納されている“組み込みソフトウェアFBに対応するインスタンスフォーマット情報12”と“アプリケーションソフトウェア18に対応するインスタンスフォーマット情報12”とを比較する。そして、内容が一致すれば処理を継続し、内容が異なる場合は異常等のメッセージをユーザに提示し、処理を終了する(ステップS36)。
図2において、ユーザはプログラマブルコントローラ支援装置における支援ツールを用いて、組み込みソフトウェアFBを作成する。この際に、組み込みソフトウェアFBの雛形20の生成に加えて、インスタンスフォーマット情報22(図3参照)を生成する(ステップS50a)。このインスタンスフォーマット情報22は、組み込みソフトウェアFBのオブジェクトコード26を、動作対象のプログラマブルコントローラに送信(ダウンロード)する際に、同じくプログラマブルコントローラに送信される(ステップS52a)。また、アプリケーションソフトウェア28とユーザFB番号30とを動作対象のプログラマブルコントローラに送信(ダウンロード)する際にも、このインスタンスフォーマット情報22は、プログラマブルコントローラに送信される(ステップS60a)。
By such processing, the programmable controller enters the standby state, and the
In FIG. 2, the user creates the embedded software FB using the support tool in the programmable controller support device. At this time, in addition to the generation of the
一方で、プログラマブルコントローラにおいては、組み込みソフトウェアFBのオブジェクトコード26を受信すると、ステップS66の処理に続いて、受信したインスタンスフォーマット情報22を、組み込みソフトウェアFBに対応付けて格納する。例えば、データメモリ132の空いている箇所にインスタンスフォーマット情報22を格納し、このインスタンスフォーマット情報22に、組み込みソフトウェアFBを特定する情報を登録する。このことにより、組み込みソフトウェアFBが指定されれば、対応するインスタンスフォーマット情報22の閲覧が可能となる(ステップS68)。
また、アプリケーションソフトウェア28とユーザFB番号30、及びインスタンスフォーマット情報22を受信すると、ステップS70、ステップS72の処理に続いて、受信したインスタンスフォーマット情報22を、アプリケーションソフトウェア28に対応付けて格納する。例えば、データメモリ132の空いている箇所にインスタンスフォーマット情報22を格納し、このインスタンスフォーマット情報22のインデックス情報として、このアプリケーションソフトウェア28を特定する情報を登録する。このことにより、アプリケーションソフトウェア28が指定されれば、対応するインスタンスフォーマット情報22の閲覧が可能となる(ステップS74)。
On the other hand, when the programmable controller receives the
When the
このような処理により、プログラマブルコントローラはスタンバイ状態となり、任意のタイミングでアプリケーションソフトウェア28が実行され(ステップS76)、その処理の中で組み込みソフトウェアFBのオブジェクトコード26が呼び出されるタイミングで、メモリに格納されている“組み込みソフトウェアFBに対応するインスタンスフォーマット情報22”と“アプリケーションソフトウェア28に対応するインスタンスフォーマット情報22”とを比較する。そして、内容が一致すれば処理を継続し、内容が異なる場合は異常等のメッセージをユーザに提示し、処理を終了する(ステップS78)。
図3は、インスタンスフォーマット情報の一例を示したものである。ここでは、簡単な例として、インスタンス変数の属性情報とサイズ情報との一覧を用いる。属性情報とは、VAR、VAR_INPUT、VAR_OUTPUTを指し入力や出力の情報を意味する。サイズ情報とは、BOOL、INTを指しデータ型によるメモリ占有サイズを指す(図8参照)。プログラマブルコントローラ支援装置の支援ツールで組み込みソフトウェアFBを作成中に、組み込みソフトウェアFBの変数構造より機械的に抽出可能なので、ユーザがこれらを意識的に用意する必要は無い。
インスタンスフォーマット情報の別の例として、例えば組み込みソフトウェアFBを作成時間(タイムスタンプ)を用いても構わない。或いは、ユーザが版数情報を直接用意し、入力しても構わない。このような簡易情報で代替えする事により、ステップS36、S78のプログラマブルコントローラにおける比較の処理時間軽減を優先しても構わない。
By such processing, the programmable controller enters the standby state, and the
FIG. 3 shows an example of the instance format information. Here, as a simple example, a list of attribute information and size information of instance variables is used. The attribute information indicates VAR, VAR_INPUT, and VAR_OUTPUT and means input or output information. The size information indicates OOL and INT, and indicates the memory occupation size according to the data type (see FIG. 8). Since the embedded software FB can be extracted mechanically from the variable structure of the embedded software FB during the generation of the embedded software FB using the support tool of the programmable controller support device, it is not necessary for the user to consciously prepare them.
As another example of the instance format information, for example, the creation time (time stamp) of the embedded software FB may be used. Alternatively, the user may directly prepare and input version number information. By substituting with such simple information, priority may be given to the reduction of the processing time of the comparison in the programmable controller in steps S36 and S78.
また、図1、2の説明ではインスタンスフォーマット情報をプログラムメモリ130に保存する方法を示したが、組み込みソフトウェアFBのオブジェクトコード16、26、アプリケーションソフトウェア18、28に直接埋め込む方式を用いても構わない。
以上、説明した構成を用いる事により、ユーザによる組み込みソフトウェアFBを汎用コントローラにおいて使用させつつ、アプリケーションソフトからの呼び出し時の異常等を回避することが可能となる。
In the description of FIGS. 1 and 2, the method of saving the instance format information in the
As described above, by using the configuration described above, it is possible to avoid abnormality or the like when calling from the application software while using the embedded software FB by the user in the general-purpose controller.
10、20…組み込みソフトウェアFBの雛形
12、22…インスタンスフォーマット情報
14…組み込みソフトウェアFBのシステムFB番号
16、26…組み込みソフトウェアFBのオブジェクトコード
18、28…アプリケーションソフトウェア
30…組み込みソフトウェアFBのユーザFB番号
100…パソコン
102、104、106、120…プログラマブルコントローラ
108…入出力モジュール
110…ケーブル
112…制御用ネットワーク
122…ドライバ/レシーバ
124…CPU
126…バスコントローラ
128…フラッシュメモリ
130…プログラムメモリ
132…データメモリ
134…内部バス
140…プログラマブルコントローラ支援装置
142…CPU
144…通信I/F
146…入力デバイス
148…表示デバイス
150…記憶装置
152…内部バス
160、170…ファンクションブロック本体
162、172…入力端子
164、174…出力端子
180、190…インスタンス
182、184、192、194…変数
200〜210、220〜230、240〜242…コード
10, 20 ... Embedded
DESCRIPTION OF
144 ... Communication I / F
146: Input device 148:
Claims (7)
前記組み込みソフトウェアのファンクションブロックを用いたアプリケーションソフトと該アプリケーションソフトに付与されている第2の付加情報とを格納する第2の記憶手段と、
前記第1、2の記憶手段に格納された情報を解釈し実行する実行手段とを備え、
前記実行手段は、前記アプリケーションソフトを実行する際に、該アプリケーションソフトに前記組み込みソフトウェアのファンクションブロックの呼び出し処理があるときは、前記第1の付加情報と前記第2の付加情報とを比較し、相違が無い場合に処理を継続することを特徴とするプログラマブルコントローラ。 First storage means for storing an object code of a function block of embedded software and first additional information given to the object code;
Second storage means for storing application software using the function block of the embedded software and second additional information given to the application software;
Execution means for interpreting and executing the information stored in the first and second storage means,
The execution means, when executing the application software, if the application software has a function block call process of the embedded software, compares the first additional information and the second additional information, A programmable controller characterized in that the processing is continued when there is no difference.
前記第1の付加情報及び前記第2の付加情報は、前記組み込みソフトウェアのファンクションブロックのインスタンスフォーマット情報であることを特徴とするプログラマブルコントローラ。 The programmable controller according to claim 1,
The programmable controller, wherein the first additional information and the second additional information are instance format information of a function block of the embedded software.
前記第1の付加情報及び前記第2の付加情報は、版数情報、或いは前記組み込みソフトウェアのファンクションブロックを特定可能なタイムスタンプ情報であることを特徴とするプログラマブルコントローラ。 The programmable controller according to claim 1,
The programmable controller, wherein the first additional information and the second additional information are version number information or time stamp information that can specify a function block of the embedded software.
該組み込みソフトウェアのファンクションブロックを用いたアプリケーションソフトをプログラミングする第2のプログラミング手段と、
前記ファンクションブロック及び前記アプリケーションソフトをコンパイルするコンパイル手段と、
前記組み込みソフトウェアのファンクションブロックのオブジェクトコードと、該オブジェクトコードを特定する第1の付加情報とを送信する第1の送信手段と、
前記アプリケーションソフトと、該アプリケーションソフトに含まれる前記組み込みソフトウェアのファンクションブロックのオブジェクトコードを特定する第2の付加情報とを送信する第2の送信手段とを備えることを特徴とするプログラマブルコントローラ支援装置。 A first programming means for programming function blocks of the embedded software;
A second programming means for programming application software using the function block of the embedded software;
Compiling means for compiling the function block and the application software;
First transmission means for transmitting an object code of a function block of the embedded software and first additional information for specifying the object code;
A programmable controller support device comprising: the application software; and second transmission means for transmitting second additional information for specifying an object code of a function block of the embedded software included in the application software.
前記第1の付加情報及び前記第2の付加情報は、前記組み込みソフトウェアのファンクションブロックのインスタンスフォーマット情報であることを特徴とするプログラマブルコントローラ支援装置。 The programmable controller support device according to claim 4,
The programmable controller support apparatus, wherein the first additional information and the second additional information are function block instance format information of the embedded software.
前記第1の付加情報及び前記第2の付加情報は、版数情報、或いは前記組み込みソフトウェアのファンクションブロックを特定可能なタイムスタンプ情報であることを特徴とするプログラマブルコントローラ支援装置。 The programmable controller support device according to claim 4,
The programmable controller support apparatus, wherein the first additional information and the second additional information are version number information or time stamp information that can specify a function block of the embedded software.
前記プログラマブルコントローラ支援装置は、
組み込みソフトウェアのファンクションブロックをプログラミングする第1のプログラミング手段と、
該組み込みソフトウェアのファンクションブロックを用いたアプリケーションソフトをプログラミングする第2のプログラミング手段と、
前記ファンクションブロック及び前記アプリケーションソフトをコンパイルするコンパイル手段と、
前記組み込みソフトウェアのファンクションブロックのオブジェクトコードと、該オブジェクトコードを特定する第1の付加情報とを送信する第1の送信手段と、
前記アプリケーションソフトと、該アプリケーションソフトに含まれる前記組み込みソフトウェアのファンクションブロックのオブジェクトコードを特定する第2の付加情報とを送信する第2の送信手段とを備え、
前記プログラマブルコントローラは、
前記第1の送信手段により送信されてきた前記組み込みソフトウェアのファンクションブロックのオブジェクトコードと該オブジェクトコードに付与されている前記第1の付加情報とを格納する第1の記憶手段と、
前記第2の送信手段により送信されてきた前記組み込みソフトウェアのファンクションブロックを用いたアプリケーションソフトと該アプリケーションソフトに付与されている前記第2の付加情報とを格納する第2の記憶手段と、
前記第1、2の記憶手段に格納された情報を解釈し実行する実行手段を備え、
前記実行手段は、前記アプリケーションを実行する際に、該アプリケーションに前記組み込みソフトウェアのファンクションブロックの呼び出し処理があるときは、前記第1の付加情報と前記第2の付加情報と比較し、相違が無い場合に処理を継続することを特徴とするプログラマブルコントローラシステム。
In a programmable controller system comprising a programmable controller and a programmable controller support device,
The programmable controller support device is
A first programming means for programming function blocks of the embedded software;
A second programming means for programming application software using the function block of the embedded software;
Compiling means for compiling the function block and the application software;
First transmission means for transmitting an object code of a function block of the embedded software and first additional information for specifying the object code;
Second transmission means for transmitting the application software and second additional information for specifying an object code of a function block of the embedded software included in the application software;
The programmable controller is:
First storage means for storing an object code of the function block of the embedded software transmitted by the first transmission means and the first additional information given to the object code;
Second storage means for storing application software using function blocks of the embedded software transmitted by the second transmission means and the second additional information given to the application software;
An execution means for interpreting and executing the information stored in the first and second storage means;
When executing the application, the execution means compares the first additional information with the second additional information when the application has a function block calling process of the embedded software, and there is no difference. A programmable controller system characterized in that the processing is continued in some cases.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008091393A JP2009245194A (en) | 2008-03-31 | 2008-03-31 | Programmable controller, programmable controller support apparatus, and programmable controller system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008091393A JP2009245194A (en) | 2008-03-31 | 2008-03-31 | Programmable controller, programmable controller support apparatus, and programmable controller system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009245194A true JP2009245194A (en) | 2009-10-22 |
Family
ID=41306999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008091393A Withdrawn JP2009245194A (en) | 2008-03-31 | 2008-03-31 | Programmable controller, programmable controller support apparatus, and programmable controller system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009245194A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101074966B1 (en) | 2010-03-31 | 2011-10-18 | 성균관대학교산학협력단 | Framework system for developing control program based on iec 61131-3 and method using the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001022560A (en) * | 1999-07-05 | 2001-01-26 | Toyo Commun Equip Co Ltd | Method for revising library function |
JP2001051704A (en) * | 1999-08-06 | 2001-02-23 | Omron Corp | Programmable controller |
JP2002268928A (en) * | 2001-03-14 | 2002-09-20 | Toshiba Corp | Method for checking version of executable file and library file |
JP2007102384A (en) * | 2005-09-30 | 2007-04-19 | Omron Corp | Debugging device |
-
2008
- 2008-03-31 JP JP2008091393A patent/JP2009245194A/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001022560A (en) * | 1999-07-05 | 2001-01-26 | Toyo Commun Equip Co Ltd | Method for revising library function |
JP2001051704A (en) * | 1999-08-06 | 2001-02-23 | Omron Corp | Programmable controller |
JP2002268928A (en) * | 2001-03-14 | 2002-09-20 | Toshiba Corp | Method for checking version of executable file and library file |
JP2007102384A (en) * | 2005-09-30 | 2007-04-19 | Omron Corp | Debugging device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101074966B1 (en) | 2010-03-31 | 2011-10-18 | 성균관대학교산학협력단 | Framework system for developing control program based on iec 61131-3 and method using the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1351108B1 (en) | Method and apparatus for programming | |
US6826432B2 (en) | Process for programming an automation application | |
US6725288B2 (en) | System for transmitting data between a device data area and a variable data area of a memory according to a memory map based on an identifying data of a device detected | |
EP2733613A2 (en) | Controller and program | |
JP4821717B2 (en) | Programmable controller, programmable controller support apparatus, and programmable controller system | |
CN111052010B (en) | Control system, development assistance device, and storage medium | |
CN110806891B (en) | Method and device for generating software version of embedded device | |
JP2004280299A (en) | Controller, developing device and system | |
JPH03229352A (en) | Program changing method | |
JP2009245194A (en) | Programmable controller, programmable controller support apparatus, and programmable controller system | |
JP4877257B2 (en) | Programmable controller, programmable controller support apparatus, and programmable controller system | |
JP2005141435A (en) | Tool | |
JP5205988B2 (en) | PLC global variable definition method | |
CN117136342A (en) | Development support device, control method for development support device, information processing program, and recording medium | |
KR101085114B1 (en) | System for providing programable logic controller software development environment | |
JP2010282286A (en) | Development support device, and program | |
JP6115063B2 (en) | Peripheral device of programmable controller | |
JP3939518B2 (en) | Input / output address setting device, input / output address setting program and recording medium recording the same | |
JP2006285473A (en) | Manufacturing process management system | |
JP3781112B2 (en) | Programmable controller system | |
JP4747990B2 (en) | Programmable controller | |
US20070113236A1 (en) | Program flow method and method for expanding a program component system | |
JP3512685B2 (en) | SCREEN DATA CREATION METHOD, SCREEN DATA CREATION DEVICE, AND RECORDING MEDIUM CONTAINING THE PROGRAM | |
JP7499966B2 (en) | Control device and address management method | |
JP3497423B2 (en) | Display device for control, control system, and recording medium on which program is recorded |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20101015 |
|
A711 | Notification of change in applicant |
Effective date: 20110422 Free format text: JAPANESE INTERMEDIATE CODE: A712 |
|
A977 | Report on retrieval |
Effective date: 20111118 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111122 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20120120 |