JP4037941B2 - Control device - Google Patents
Control device Download PDFInfo
- 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
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
[0004]
The
[0005]
Thereby, regardless of the actual state of the input device 4, the
[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
[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
[0019]
The
[0020]
The
[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
[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
[0025]
Thereafter, the first step of the user program stored in the
[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
[0027]
When the execution of the user program is completed in this way, the instruction stored in the
[0028]
When the instruction stored in the
[0029]
FIG. 5 shows a flowchart of interrupt processing for storing an external command in the
To get. The
[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
[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
[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
[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 ...
12 ...
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8183250B2 (en) | 2006-06-20 | 2012-05-22 | Abbott Laboratories | Potent PARP inhibitors |
-
1997
- 1997-10-15 JP JP28199697A patent/JP4037941B2/en not_active Expired - Fee Related
Cited By (1)
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 |