JP4037941B2 - Control device - Google Patents

Control device Download PDF

Info

Publication number
JP4037941B2
JP4037941B2 JP28199697A JP28199697A JP4037941B2 JP 4037941 B2 JP4037941 B2 JP 4037941B2 JP 28199697 A JP28199697 A JP 28199697A JP 28199697 A JP28199697 A JP 28199697A JP 4037941 B2 JP4037941 B2 JP 4037941B2
Authority
JP
Japan
Prior art keywords
instructions
instruction
port
command
given
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
JP28199697A
Other languages
Japanese (ja)
Other versions
JPH11119813A (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.)
Idec Corp
Original Assignee
Idec 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 Idec Corp filed Critical Idec Corp
Priority to JP28199697A priority Critical patent/JP4037941B2/en
Publication of JPH11119813A publication Critical patent/JPH11119813A/en
Application granted granted Critical
Publication of JP4037941B2 publication Critical patent/JP4037941B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

【0001】
【産業上の利用分野】
この発明は、プログラマブルコントローラのような制御装置に関する。
【0002】
【従来の技術】
プログラマブルコントローラは、複数の命令を順次実行し、全ての命令を実行し終えると、再び最初の命令に戻って実行を繰り返す。このようにして、外部および内部リレー、スイッチ等の状態に従った、リアルタイムに近い制御を行うことができる。なお、この1サイクルの命令実行は、スキャンサイクルと呼ばれている。
【0003】
ところで、近年、外部のコンピュータ、表示器等の周辺機器からの命令も実行可能であるプログラマブルコントローラ2が実用化されている。そのシステム構成を図9に示す。プログラマブルコントローラ2には、押しボタンスイッチ、リミットスイッチ等の入力デバイス4、電磁開閉器、リレー等の出力デバイス6が接続されている。プログラマブルコントローラ2は、入力デバイス4の状態をメモリに反映し、このメモリの状態に基づいて出力デバイス6の状態を制御する。
【0004】
また、プログラマブルコントローラ2には、コンピュータ、表示器等の周辺機器8も接続されている。周辺機器8は、プログラマブルコントローラ2に対して、たとえば、メモリの状態を変更する書込命令を与える。スキャンサイクル内において、これを受けたプログラマブルコントローラ2は、この書込命令をメモリに記憶する。その後、スキャンサイクル終了時に、メモリに記録しておいた書込命令を実行する。
【0005】
これにより、入力デバイス4の実際の状態にかかわらず、当該入力デバイス4が所定の状態にあるものとして、プログラマブルコントローラ2を動作させることができる。
【0006】
【発明が解決しようとする課題】
しかしながら、上記のような従来の制御装置には、次のような問題点があった。
【0007】
第一に、従来の制御装置は、外部からの命令を、1スキャンサイクル内に1つしか受け取れないようになっていた。仮に、1スキャンサイクル内に二以上の命令が与えられると、二番目以降に与えられた命令は実行されず、無視されることとなっていた。したがって、複数の命令によって構成されるジョブを行うためには、少なくとも、当該命令の数と同じだけの数のスキャンサイクル分の時間を要していた。つまり、外部からの命令の実行が迅速ではなっかった。
【0008】
第二に、従来の制御装置は、複数の周辺機器からの命令を受けて、これを適切に実行することはできなかった。
【0009】
この発明は上記のような問題点を解決して、1スキャンサイクル内に複数の外部からの命令を受けて実行可能な制御装置、および接続された複数の周辺機器からの命令を受けて適切に実行することができる制御装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
この発明の制御装置は、各ポートごとに、1スキャンサイクル内において受け取り可能な命令数を定めておき、1スキャンサイクル内に、1つのポートに対し、当該受け取り可能な命令数を超える命令が与えられた場合、当該命令が受け取り不可である旨を返送することを特徴としている。
【0015】
【発明の効果】
この発明の制御装置は、各ポートごとに、1スキャンサイクル内において受け取り可能な命令数を定めておき、1スキャンサイクル内に、1つのポートに対し、当該受け取り可能な命令数を超える命令が与えられた場合、当該命令が受け取り不可である旨を返送することを特徴としている。これにより、命令を与えた外部機器は、後のスキャンサイクルにおいて、再び当該命令を与えて、確実に命令を実行させることができる。また、1つのポートによって、外部命令の実行が占有され、他のポートとの命令実行のバランスを欠く事態を回避することができる。
【0016】
【発明の実施の形態】
図1に、この発明の一実施形態によるプログラマブルコントローラの構成を示す。CPU10には、システムプログラムメモリ12、シーケンスプログラムメモリ14、補助メモリ16、I/Oインターフェース18、ポートP1、P2・・・Pnが接続されている。I/Oインターフェース18には、入力リレー、出力リレー、スイッチ等のデバイスが接続されている。
【0017】
ポートP1〜Pnには、それぞれ、外部から命令を与えるコンピュータ、表示器等の周辺機器が接続される。
【0018】
シーケンスプログラムメモリ14内には、これらの外部デバイスの状態に対応した記憶状態を保持する記憶部が設けられている。また、この記憶部には、内部リレーの状態を示す箇所も設けられている。さらに、シーケンスプログラムメモリ14には、ユーザの作成したシーケンスプログラムが格納される。
【0019】
システムプログラムメモリ12には、このプログラマブルコントローラの基本的動作を制御するシステムプログラムが格納されている。
【0020】
外部命令記憶手段である補助メモリ16は、各ポートP1〜Pnからの命令を記憶する。
【0021】
以下、このシーケンスコントローラに、ポートP1、ポートP2を介して、図2に示すような外部命令が与えられた場合を例にとって説明する。図3Aに、外部命令のフォーマットを示す。先頭のヘッダに続いて、操作種別、対象デバイス、データ、ターミネータが与えられる。ヘッダは開始を、ターミネータは終了を示す。操作種別は、データクリア、書込等の操作の種類を示す。対象デバイスは、その操作を行う対象となるデバイス(入力、出力、内部リレー、データレジスタ等)を示す。データは、操作を行うデータを示す。
【0022】
例えば、一括データクリア命令は、図3Bに示すような構成を有している。データクリア命令の場合には、操作を行うデータは不要である。また、スタートコントロールリレーON命令は、図3Cに示すような構成を有している。対象デバイスは、その種類(m、内部リレー)と対応するメモリ14内のアドレス(300)とによって指定されている。
【0023】
図4に、メモリ12に格納されたシステムプログラムのフローチャートを示す。まず、ステップS1において、出力デバイス(インターフェース18に接続された出力リレー等)に対応したメモリ14のアドレスの内容を読み出して、この内容に基づいて出力デバイスを制御する。
【0024】
次に、入力デバイス(インターフェース18に接続されたスイッチ等)の状態を得て、この状態に応じて対応するメモリ14のアドレスの内容を書き換える(ステップS2)。
【0025】
その後、メモリ14に格納されたユーザプログラムの最初のステップを実行する(ステップS3)。これが終わると、次のステップを実行する(ステップS4)。これを繰り返して、ユーザプログラムの最後のステップまで実行する(ステップS5)。
【0026】
なお、上記のステップS1〜S5の実行中に、いずれかのポートP1〜Pnから図2に示すように外部命令が与えられると、割り込み処理によってこの外部命令を補助メモリ16に格納する。
【0027】
このようにしてユーザプログラムを実行し終えると、補助メモリ16に記憶された命令を実行する(ステップS6)。これにより、外部から与えられた命令を、1スキャンサイクルの最後において実行することができる。
【0028】
補助メモリ16に記憶された命令を実行すると(つまり、1スキャンサイクルが終了すると)、再び、ステップS1以下の実行を繰り返す。
【0029】
図5に、外部命令を補助メモリ16へ記憶する割り込み処理のフローチャートを示す。まず、ステップS10において、外部命令の与えられたポートにつき、今まで与えられた命令数m
を取得する。補助メモリ16には、図6に示すようなデータ構造にて、各ポートP1〜Pnからの命令を記憶するようになっている。したがって、当該ポートに関して、今までに与えられた命令数mを容易に取得することができる。
【0030】
図2に示すように外部命令が与えられた場合には、まず、ポートP1に与えられた一括データクリア命令によって、図5の割り込み処理が実行される。なお、外部命令が完全に与えられ終わった時間の早い順(t1,t2,t3の順)に、割り込み処理が行われる。このスキャンサイクルが始まって、ポートP1に与えられた命令は今までなかったので、取得される命令数mは0である。
【0031】
次に、ステップS11において、このポートP1の命令数mが、最大命令可能数より小さいか否かを判断する。小さければ、全ポートを通じての命令総数k(各ポートの命令数mの合計)を1つインクリメントする(ステップS12)。この命令総数kは、図6の補助メモリに記憶される。ここでは、命令総数kは1となる。
【0032】
次に、命令総数kを、当該命令の順序とする(ステップS13)。この命令が与えられた順序も、補助メモリに記憶される(図6参照)。続いて、当該ポート(ここではポートP1)の命令数mを1つインクリメントする(ステップS14)。この命令数は、補助メモリに記録される(図6参照)。ここでは、命令数mは1となり、ポートP1からの命令数mとして記憶される。
【0033】
次に、外部命令の解釈を行い、書込データとアドレスを得る(ステップS15)。一括データクリア命令は、図3Bのようなフォーマットを有している。この命令を解釈して、どのアドレス(つまりデバイス)に、何れのデータを書き込めばよいのかを決定する。つまり、外部命令が、メモリ14の何れのアドレスに対して、どのようなデータを書き込むことを要求しているのかを解釈する。たとえば、図3Bの一括データクリア命令であれば、対象アドレスは、入力デバイス、出力デバイス、内部デバイス(内部リレー等)に対応する全てのアドレスとなる。また、書込データは”0”となる。このようにして得られたアドレスと書込データは、補助メモリに記憶される(図6参照)。
【0034】
上記と同じようにして、図2のスタートコントロールOFF命令、スタートコントロールON命令についても、図5の割り込み処理が行われる。
【0035】
なお、図5のステップS11において、命令数mが、当該ポートが受け取ることの可能な命令数(最大命令可能数)と等しくなると、当該命令を受け取ることができない旨を、ポートを介して返送する(ステップS16)。また、最大命令可能数は、予め設定しておく。このようにして、1つのポートによって、外部命令の実行が占有され、他のポートとの命令実行のバランスを欠く事態を回避することができる。
【0036】
上記のようにして、補助メモリ16(命令記憶部)には、図6に示すように、全ポートからの命令総数k、各ポートの命令情報が記憶される。各ポートの命令情報には、全ポートを通しての命令が与えられた順序、命令の内容(書込データ、アドレス)が記憶される。
【0037】
図7に、図2のように外部命令が与えられた場合に、補助メモリに記憶される具体的な内容を示す。この実施形態では、外部命令を解釈してアドレスと書込データを記憶するようにしているが、外部命令をそのまま記憶するようにしてもよい。
【0038】
次に、このようにして記憶された外部命令の実行(図4のステップS6)について説明する。そのフローチャートを図8に示す。ここでは、図7のように外部命令が記憶されているものとして説明する。
【0039】
まず、ステップS20、S21において、処理用カウンタqを1とし、ポートカウンタnを1とする。次に、命令カウンタjを0とする(ステップS22)。
次に、ポートカウンタnによって示されるポートにつき、記憶されている命令数mと最初に記憶されている命令の順序を取得する(ステップS23)。ここでは、命令数m=2、順序=1を取得する。ステップS24では、命令カウンタjが命令数mと等しくなったかどうかを判断する。ここでは、j=0、m=2であり、等しくなっていないから、ステップS25に進む。ステップS25では、命令カウンタjを1つインクリメントする。これにより、j=1となる。
【0040】
次に、取得した順序が処理用カウンタqと等しいか否かを判断する(ステップS26)。ここでは、順序=1、q=1であって等しいので、順序=”1”が付されて記録されていた当該命令を実行する(ステップS27)。つまり、全アドレスに対してデータ”0”の書込が行われ、一括データクリア命令が実行される。
【0041】
その後、qが全ポートからの命令総数kに等しくなったか否かを判断し、等しければこの処理を終了する(ステップS28)。ここでは、k=3、q=1であるから、ステップS28において、qを1つインクリメントする(ステップS29)。これによりq=2となり、再び、ステップS22以下を実行する。これにより、2番目の順序が付されている命令の実行を行う。
【0042】
まず、命令カウンタjを0にする(ステップS22)。次に、命令数mと順序を取得する(ステップS23)。今、ポートカウンタn=1であるから、命令数m=2、順序=1が取得される。さらに、ステップS24において、命令カウンタjが命令数mに等しくなったか否かを判断する。ここでは、命令カウンタj=0、命令数m=2であるから、ステップS25に進んで、命令カウンタjを1つインクリメントする。これにより、命令カウンタj=1となる。
【0043】
次に、処理用カウンタqが順序に等しいか否かを判断する(ステップS26)。ここでは、q=2、順序=1であるから、ステップS23に戻る。
【0044】
ステップS23では、次に記憶されている命令について、その順序を取得する。ここでは、順序=3が取得される(図7参照)。以下、ステップS24、ステップS25、ステップS26順に実行される。ステップS26においては、q=2、順序=3であるから、さらに再び、ステップS23に戻る。そして、ステップS24において、命令カウンタj(=2)と命令数m(=2)が等しくなるので、ステップS30に進む。
【0045】
ステップS30においては、ポートカウンタnがポート総数(ここでは2とする)に等しくなったか否かを判断する。ここでは、ポートカウンタn=1、ポート総数=2であるから、ステップS31に進む。ステップS31では、ポートカウンタnを1つインクリメントする。その後、ステップS22以下を実行する。このようにして、ポートP2についても同じように処理を行う。その結果、ステップS26において、処理用カウンタq=2、順序=2となって、ステップS27により、図7のスタートコントロールリレーOFF命令が実行される。つまり、アドレス300に対して、データ”0”が書き込まれる。
【0046】
その後、処理用カウンタq=3として、同様の処理が行われ、図7のスタートコントロールON命令が実行される。つまり、アドレス300に対して、データ”1”が書き込まれる。
【0047】
以上のようにして、与えられた順序どおり、外部命令を実行することができる。特に、図2のように、OFF命令とON命令が与えられた場合には、その実行順序が重要である。なぜなら、この順序が逆になると、最終的なリレーのON、OFFが変わってしまうからである。この点、上記実施形態によれば、命令が与えられた順に実行され、適正な処理が可能である。
【0048】
なお、上記の実施形態においては、複数のポートP1〜Pnを有する場合について説明したが、1つのポートを有する場合であっても適用することができる。この場合、1スキャンサイクル内に複数の命令が1つのポートから与えられても、それらの命令を与えられた順に実行することができる。
【0049】
また、上記実施形態では、各ポートごとにまとめて命令を記憶するようにしている。これは、ポート単位で処理をまとめた方がプログラムを簡素化することができるからである。しかし、場合によっては、命令が与えられた順序に従って、ポート番号を付して、命令を記憶するようにしてもよい。
【0050】
なお、上記実施形態においては、外部命令として書込を行う命令を示したが、1スキャンサイクルエンド処理を行う外部命令も対象とすることができる。
【図面の簡単な説明】
【図1】この発明の一実施形態によるプログラマブルコントローラの構成を示す図である。
【図2】ポートに与えられる外部命令のタイミングを示す図である。
【図3】外部命令のフォーマット及び、例を示す図である。
【図4】システムプログラムの処理を示すフローチャートである。
【図5】外部命令を受けたときの処理を示すフローチャートである。
【図6】補助メモリに記憶されるデータ(外部命令)のデータ構造を示す図である。
【図7】補助メモリに記憶される外部命令のデータ例を示す図である。
【図8】補助メモリに記憶された命令の実行処理を示すフローチャートである。
【図9】従来のプログラマブルコントローラを示す図である。
【符号の説明】
P1〜Pn・・・ポート
10・・・CPU
12・・・システムプログラムメモリ
14・・・シーケンスプログラムメモリ
16・・・補助メモリ
18・・・I/Oインターフェース
[0001]
[Industrial application fields]
The present invention relates to a control device such as a programmable controller.
[0002]
[Prior art]
The programmable controller sequentially executes a plurality of instructions, and when all instructions have been executed, returns to the first instruction and repeats execution. In this way, near real-time control can be performed according to the state of external and internal relays, switches, and the like. Note that this one-cycle instruction execution is called a scan cycle.
[0003]
Incidentally, in recent years, a programmable controller 2 that can execute commands from peripheral devices such as an external computer and a display has been put into practical use. The system configuration is shown in FIG. Connected to the programmable controller 2 are an input device 4 such as a push button switch and a limit switch, and an output device 6 such as an electromagnetic switch and a relay. The programmable controller 2 reflects the state of the input device 4 in the memory, and controls the state of the output device 6 based on the state of the memory.
[0004]
The programmable controller 2 is also connected with peripheral devices 8 such as a computer and a display. The peripheral device 8 gives a write command to change the state of the memory, for example, to the programmable controller 2. In the scan cycle, the programmable controller 2 receiving this stores the write command in the memory. Thereafter, at the end of the scan cycle, the write command recorded in the memory is executed.
[0005]
Thereby, regardless of the actual state of the input device 4, the programmable controller 2 can be operated assuming that the input device 4 is in a predetermined state.
[0006]
[Problems to be solved by the invention]
However, the conventional control apparatus as described above has the following problems.
[0007]
First, the conventional control apparatus can receive only one command from the outside in one scan cycle. If two or more instructions are given within one scan cycle, the instructions given after the second are not executed and are ignored. Therefore, in order to perform a job composed of a plurality of instructions, at least as many scan cycles as the number of the instructions are required. In other words, the execution of external instructions has not been quick.
[0008]
Secondly, the conventional control device cannot properly execute a command received from a plurality of peripheral devices.
[0009]
The present invention solves the above-described problems, and appropriately receives a command from a plurality of connected peripheral devices and a control device that can be executed in response to a plurality of external commands within one scan cycle. An object of the present invention is to provide a control device that can be executed.
[0012]
[Means for Solving the Problems]
In the control device of the present invention, the number of instructions that can be received within one scan cycle is determined for each port, and instructions exceeding the number of instructions that can be received are given to one port within one scan cycle. If the command is received, the fact that the command cannot be received is returned.
[0015]
【The invention's effect】
In the control device of the present invention, the number of instructions that can be received within one scan cycle is determined for each port, and instructions exceeding the number of instructions that can be received are given to one port within one scan cycle. If the command is received, the fact that the command cannot be received is returned. As a result, the external device that has given the command can give the command again and execute the command reliably in a later scan cycle. In addition, it is possible to avoid a situation in which execution of external instructions is occupied by one port and the instruction execution balance with other ports is lacking.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a configuration of a programmable controller according to an embodiment of the present invention. Connected to the CPU 10 are a system program memory 12, a sequence program memory 14, an auxiliary memory 16, an I / O interface 18, and ports P1, P2,... Pn. Devices such as an input relay, an output relay, and a switch are connected to the I / O interface 18.
[0017]
Peripheral devices such as a computer and a display for giving commands from the outside are connected to the ports P1 to Pn, respectively.
[0018]
The sequence program memory 14 is provided with a storage unit that holds a storage state corresponding to the state of these external devices. The storage unit is also provided with a location indicating the state of the internal relay. Further, the sequence program memory 14 stores a sequence program created by the user.
[0019]
The system program memory 12 stores a system program that controls basic operations of the programmable controller.
[0020]
The auxiliary memory 16 serving as an external command storage means stores commands from the ports P1 to Pn.
[0021]
Hereinafter, a case where an external command as shown in FIG. 2 is given to the sequence controller via the ports P1 and P2 will be described as an example. FIG. 3A shows the format of the external instruction. Following the first header, the operation type, target device, data, and terminator are given. The header indicates the start and the terminator indicates the end. The operation type indicates the type of operation such as data clear and write. The target device indicates a device (input, output, internal relay, data register, or the like) that is a target for performing the operation. Data indicates data to be operated.
[0022]
For example, the batch data clear command has a configuration as shown in FIG. 3B. In the case of a data clear command, data to be operated is not necessary. The start control relay ON command has a configuration as shown in FIG. 3C. The target device is designated by its type (m, internal relay) and the corresponding address (300) in the memory.
[0023]
FIG. 4 shows a flowchart of the system program stored in the memory 12. First, in step S1, the content of the address in the memory 14 corresponding to the output device (such as an output relay connected to the interface 18) is read, and the output device is controlled based on this content.
[0024]
Next, the state of the input device (such as a switch connected to the interface 18) is obtained, and the content of the address of the corresponding memory 14 is rewritten according to this state (step S2).
[0025]
Thereafter, the first step of the user program stored in the memory 14 is executed (step S3). When this is finished, the next step is executed (step S4). This is repeated until the last step of the user program is executed (step S5).
[0026]
When an external command is given from one of the ports P1 to Pn as shown in FIG. 2 during the execution of the above steps S1 to S5, the external command is stored in the auxiliary memory 16 by interrupt processing.
[0027]
When the execution of the user program is completed in this way, the instruction stored in the auxiliary memory 16 is executed (step S6). Thereby, an instruction given from the outside can be executed at the end of one scan cycle.
[0028]
When the instruction stored in the auxiliary memory 16 is executed (that is, when one scan cycle is completed), the execution of step S1 and subsequent steps is repeated again.
[0029]
FIG. 5 shows a flowchart of interrupt processing for storing an external command in the auxiliary memory 16. First, in step S10, the number of instructions m given so far for a port to which an external instruction is given.
To get. The auxiliary memory 16 stores instructions from the ports P1 to Pn in a data structure as shown in FIG. Therefore, it is possible to easily obtain the instruction number m given so far for the port.
[0030]
As shown in FIG. 2, when an external command is given, first, the interrupt processing of FIG. 5 is executed by a batch data clear command given to the port P1. Note that interrupt processing is performed in the order of the time when the external instruction is completely given (in the order of t1, t2, and t3). Since this scan cycle has started and no instruction has been given to the port P1, the number m of acquired instructions is zero.
[0031]
Next, in step S11, it is determined whether or not the instruction number m of the port P1 is smaller than the maximum instruction possible number. If it is smaller, the total number k of instructions through all ports (the total number of instructions m at each port) is incremented by one (step S12). This instruction total number k is stored in the auxiliary memory of FIG. Here, the total number of instructions k is 1.
[0032]
Next, the instruction total number k is set as the order of the instructions (step S13). The order in which these instructions are given is also stored in the auxiliary memory (see FIG. 6). Subsequently, the instruction number m of the port (here, port P1) is incremented by one (step S14). The number of instructions is recorded in the auxiliary memory (see FIG. 6). Here, the instruction number m is 1, and is stored as the instruction number m from the port P1.
[0033]
Next, an external command is interpreted to obtain write data and an address (step S15). The batch data clear instruction has a format as shown in FIG. 3B. This instruction is interpreted to determine which data (ie, device) should be written with which data. That is, it interprets what data the external instruction requests to write to which address of the memory 14. For example, in the collective data clear command of FIG. 3B, the target addresses are all addresses corresponding to the input device, output device, and internal device (internal relay, etc.). The write data is “0”. The address and write data thus obtained are stored in the auxiliary memory (see FIG. 6).
[0034]
In the same manner as described above, the interrupt processing of FIG. 5 is also performed for the start control OFF command and the start control ON command of FIG.
[0035]
In step S11 in FIG. 5, when the number of instructions m is equal to the number of instructions that can be received by the port (maximum number of instructions that can be received), the fact that the instruction cannot be received is returned via the port. (Step S16). The maximum number of instructions that can be commanded is set in advance. In this way, it is possible to avoid a situation in which execution of an external instruction is occupied by one port and the instruction execution balance with other ports is lacking.
[0036]
As described above, the auxiliary memory 16 (command storage unit) stores the total number k of commands from all ports and the command information of each port, as shown in FIG. The instruction information of each port stores the order in which instructions through all the ports are given, and the contents of the instructions (write data, address).
[0037]
FIG. 7 shows specific contents stored in the auxiliary memory when an external command is given as shown in FIG. In this embodiment, the external command is interpreted to store the address and the write data, but the external command may be stored as it is.
[0038]
Next, execution of the external instruction stored in this way (step S6 in FIG. 4) will be described. The flowchart is shown in FIG. Here, description will be made assuming that an external command is stored as shown in FIG.
[0039]
First, in steps S20 and S21, the processing counter q is set to 1, and the port counter n is set to 1. Next, the instruction counter j is set to 0 (step S22).
Next, for the port indicated by the port counter n, the number m of stored instructions and the order of instructions stored first are acquired (step S23). Here, the number of instructions m = 2 and order = 1 are acquired. In step S24, it is determined whether or not the instruction counter j is equal to the instruction number m. Here, since j = 0 and m = 2 and they are not equal, the process proceeds to step S25. In step S25, the instruction counter j is incremented by one. As a result, j = 1.
[0040]
Next, it is determined whether or not the acquired order is equal to the processing counter q (step S26). Here, since the order = 1 and q = 1 are equal, the instruction recorded with the order = “1” is executed (step S27). That is, data “0” is written to all addresses, and a batch data clear command is executed.
[0041]
Thereafter, it is determined whether or not q is equal to the total number k of instructions from all ports. If they are equal, this process is terminated (step S28). Here, since k = 3 and q = 1, q is incremented by 1 in step S28 (step S29). As a result, q = 2, and step S22 and subsequent steps are executed again. As a result, the instruction having the second order is executed.
[0042]
First, the instruction counter j is set to 0 (step S22). Next, the number of instructions m and the order are acquired (step S23). Now, since the port counter n = 1, the number of instructions m = 2 and the order = 1 are acquired. Further, in step S24, it is determined whether or not the instruction counter j is equal to the instruction number m. Here, since the instruction counter j = 0 and the number of instructions m = 2, the process proceeds to step S25, and the instruction counter j is incremented by one. As a result, the instruction counter j = 1.
[0043]
Next, it is determined whether or not the processing counter q is equal to the order (step S26). Here, since q = 2 and order = 1, the process returns to step S23.
[0044]
In step S23, the order of the next stored instruction is acquired. Here, order = 3 is acquired (see FIG. 7). Thereafter, step S24, step S25, and step S26 are executed in this order. In step S26, since q = 2 and order = 3, the process returns to step S23 again. In step S24, the instruction counter j (= 2) is equal to the instruction number m (= 2), so the process proceeds to step S30.
[0045]
In step S30, it is determined whether or not the port counter n is equal to the total number of ports (here, 2). Here, since the port counter n = 1 and the total number of ports = 2, the process proceeds to step S31. In step S31, the port counter n is incremented by one. Thereafter, step S22 and subsequent steps are executed. In this way, the same processing is performed for the port P2. As a result, in step S26, the processing counter q = 2 and the order = 2, and the start control relay OFF command of FIG. 7 is executed in step S27. That is, data “0” is written to the address 300.
[0046]
Thereafter, the same processing is performed with the processing counter q = 3, and the start control ON command of FIG. 7 is executed. That is, data “1” is written to the address 300.
[0047]
As described above, external instructions can be executed in the given order. In particular, as shown in FIG. 2, when an OFF command and an ON command are given, the execution order is important. This is because if this order is reversed, the final relay ON / OFF changes. In this regard, according to the above-described embodiment, instructions are executed in the order given, and appropriate processing is possible.
[0048]
In the above embodiment, the case of having a plurality of ports P1 to Pn has been described. However, the present invention can be applied to the case of having one port. In this case, even if a plurality of instructions are given from one port within one scan cycle, the instructions can be executed in the given order.
[0049]
Further, in the above embodiment, instructions are stored together for each port. This is because the program can be simplified if the processing is summarized for each port. However, in some cases, the instructions may be stored by assigning port numbers according to the order in which the instructions are given.
[0050]
In the above embodiment, an instruction for writing is shown as an external instruction, but an external instruction for performing one scan cycle end processing can also be targeted.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a programmable controller according to an embodiment of the present invention.
FIG. 2 is a diagram showing the timing of an external instruction given to a port.
FIG. 3 is a diagram illustrating a format and an example of an external instruction.
FIG. 4 is a flowchart showing processing of a system program.
FIG. 5 is a flowchart showing processing when an external command is received.
FIG. 6 is a diagram illustrating a data structure of data (external command) stored in an auxiliary memory.
FIG. 7 is a diagram illustrating an example of data of an external command stored in an auxiliary memory.
FIG. 8 is a flowchart showing execution processing of instructions stored in the auxiliary memory.
FIG. 9 is a diagram illustrating a conventional programmable controller.
[Explanation of symbols]
P1 to Pn ... Port 10 ... CPU
12 ... System program memory 14 ... Sequence program memory 16 ... Auxiliary memory 18 ... I / O interface

Claims (1)

スキャンサイクルによりプログラムを繰り返し実行して制御を行う制御装置において、
外部からの命令を受けるための少なくとも1つ以上のポート、
1スキャンサイクル内において、前記ポートを介して与えられた命令を、与えられた順序とともに記憶する外部命令記憶手段、
1スキャンサイクル終了の際に、外部命令記憶手段に記憶された命令を、与えられた順序に従って実行する外部命令実行手段、を備え、
各ポートごとに、1スキャンサイクル内において受け取り可能な命令数を定めておき、
1スキャンサイクル内に、1つのポートに対し、当該受け取り可能な命令数を超える命令が与えられた場合、当該命令が受け取り不可である旨を返送する、
ことを特徴とする制御装置。
In a control device that performs control by repeatedly executing a program in a scan cycle,
At least one port for receiving instructions from the outside,
An external instruction storage means for storing instructions given through the port together with a given order within one scan cycle;
External instruction execution means for executing instructions stored in the external instruction storage means in accordance with a given order at the end of one scan cycle;
For each port, determine the number of instructions that can be received within one scan cycle,
If an instruction exceeding the number of instructions that can be received is given to one port within one scan cycle, a message indicating that the instruction cannot be received is returned.
A control device characterized by that.
JP28199697A 1997-10-15 1997-10-15 Control device Expired - Fee Related JP4037941B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28199697A JP4037941B2 (en) 1997-10-15 1997-10-15 Control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28199697A JP4037941B2 (en) 1997-10-15 1997-10-15 Control device

Publications (2)

Publication Number Publication Date
JPH11119813A JPH11119813A (en) 1999-04-30
JP4037941B2 true JP4037941B2 (en) 2008-01-23

Family

ID=17646783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28199697A Expired - Fee Related JP4037941B2 (en) 1997-10-15 1997-10-15 Control device

Country Status (1)

Country Link
JP (1) JP4037941B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8183250B2 (en) 2006-06-20 2012-05-22 Abbott Laboratories Potent PARP inhibitors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8183250B2 (en) 2006-06-20 2012-05-22 Abbott Laboratories Potent PARP inhibitors

Also Published As

Publication number Publication date
JPH11119813A (en) 1999-04-30

Similar Documents

Publication Publication Date Title
JP2001265609A (en) Arithmetic processor
US5504869A (en) High speed processing system capable of executing strings of instructions in order without waiting completion of previous memory access instruction
JP4037941B2 (en) Control device
US4807178A (en) Programmable sequence controller having indirect and direct input/output apparatus
AU714669B2 (en) Peripheral device control
JP2846760B2 (en) Programmable controller
KR960001977B1 (en) Control method in programmable controller
JP2731166B2 (en) Programmable controller
JPH08161010A (en) Ladder sequence program arithmetic unit
JP3074809B2 (en) Programmable controller
JPH087600Y2 (en) PROM programmer
JPH10268914A (en) Programmable controller
JPH10247107A (en) Shortening method for sequence processing time
JP5088566B2 (en) PLC with interrupt function
KR100383001B1 (en) On-board programing method for main control unit
JPH0158522B2 (en)
JPH06230843A (en) Hardwre raising system
JPH03246637A (en) Program storing system
JPH09160786A (en) Microprocessor
JPH10171509A (en) Process controller
JPH06242908A (en) Computer system
JPH0328905A (en) Input/output transfer method for programmable controller
JPH07120172B2 (en) Programmable controller
JPH02181831A (en) Program control method
JPS6148746B2 (en)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071102

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131109

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees