JP4434103B2 - Computer-assembled programmable controller - Google Patents
Computer-assembled programmable controller Download PDFInfo
- Publication number
- JP4434103B2 JP4434103B2 JP2005239899A JP2005239899A JP4434103B2 JP 4434103 B2 JP4434103 B2 JP 4434103B2 JP 2005239899 A JP2005239899 A JP 2005239899A JP 2005239899 A JP2005239899 A JP 2005239899A JP 4434103 B2 JP4434103 B2 JP 4434103B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- plc
- memory
- bit
- 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.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 claims description 110
- 238000012546 transfer Methods 0.000 claims description 72
- 230000009977 dual effect Effects 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 70
- 230000008569 process Effects 0.000 description 58
- 238000012545 processing Methods 0.000 description 39
- 238000001514 detection method Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 230000004044 response Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000007689 inspection Methods 0.000 description 10
- 238000004883 computer application Methods 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 101100190617 Arabidopsis thaliana PLC2 gene Proteins 0.000 description 3
- 101100408456 Arabidopsis thaliana PLC8 gene Proteins 0.000 description 3
- 101100464304 Caenorhabditis elegans plk-3 gene Proteins 0.000 description 3
- 101100093534 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPS1B gene Proteins 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001746 injection moulding Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Programmable Controllers (AREA)
Description
本発明は、通常、パソコン内蔵形プログラマブルコントローラ(以下プログラマブルコントローラをPLCとも略記する)とも呼ばれ、パソコンの拡張バス、例えばPCI(Peripheral Component Interconnect )バスに接続されて、デュアルポートメモリを介しパソコンが保持するアプリケーションプログラムとPLCが保持するアプリケーションプログラムとがデータ交換を行うPLCとしてのコンピュータ組み付け型プログラマブルコントローラに関するもので、特にパソコン側とPLC側とのアプリケーションプログラム間のデータ交換時間をバラツキなく高速化でき、さらに必要なタイミングにおいてこのアプリケーションプログラム間の同期が実現できるようにしたコンピュータ組み付け型プログラマブルコントローラに関する。
なお、以下各図において同一の符号は同一もしくは相当部分を示す。
The present invention is usually called a programmable controller with a built-in personal computer (hereinafter, the programmable controller is also abbreviated as “PLC”), connected to an expansion bus of a personal computer, for example, a PCI (Peripheral Component Interconnect) bus, This is related to a computer-assembled programmable controller as a PLC that exchanges data between the application program held by the PLC and the application program held by the PLC. In particular, the data exchange time between the application program on the personal computer side and the PLC side can be speeded up without variation. Further, the present invention relates to a computer-assembled programmable controller that can realize synchronization between application programs at a necessary timing.
In the following drawings, the same reference numerals denote the same or corresponding parts.
プログラマブルコントローラ(PLC)はPLC内に格納されているシーケンスプログラムを演算実行して、PLCに接続される外部の制御対象機器を自動的にシーケンス制御する装置として知られている。また、パソコンをマン・マシン・インタフェース(MMI)としてPLCと組み合わせることも知られている。
このようなPLCとパソコンとの連繋は当初、シリアル通信によるでデータ交換で実現されていたが、通信速度がネックとなり装置全体のサイクルタイムが短縮できないため、PLCをパソコンのバスに接続したいわゆる、パソコン内蔵型PLCとしてパソコンと連繋することも行われている。
図9はこのようなパソコン内蔵型PLCのシステム構成例を示すブロック回路図である。同図において1はパソコン、2はパソコン1のPCIバス(以下では拡張バスともいう)3に接続されたパソコン内蔵型PLCである。
A programmable controller (PLC) is known as a device that automatically executes a sequence program stored in a PLC and automatically performs sequence control on an external control target device connected to the PLC. It is also known to combine a personal computer with a PLC as a man-machine interface (MMI).
Such a connection between the PLC and the personal computer was originally realized by exchanging data by serial communication. However, because the communication speed becomes a bottleneck and the cycle time of the entire apparatus cannot be shortened, the so-called PLC connected to the personal computer bus, It is also connected to a personal computer as a personal computer built-in PLC.
FIG. 9 is a block circuit diagram showing a system configuration example of such a personal computer built-in PLC. In the figure, 1 is a personal computer and 2 is a personal computer built-in PLC connected to a PCI bus (hereinafter also referred to as an expansion bus) 3 of the
パソコン内蔵型PLC2は、内部のPLCシステムバス07によって互いに接続された、01〜06、M1、M2の各手段からなる。ここでCPU01は、一方では、システムプログラムメモリ03に記憶されたシステムプログラムを実行し、PLC2内の各手段の動作制御、並びにシリアル通信インタフェース(以下、インタフェースをI/Fとも略記する)05を介しプログラミングツールや表示器等からなる外部機器11に対する交信および制御を行う。
同時にCPU01は、他方では、PLCユーザアプリケーションプログラムメモリ04に記憶されたPLCユーザアプリケーションプログラム(PLCアプリケーションとも略記する)を実行し、シリアル通信I/Fの06を介し外部の制御対象機器12のシーケンス制御を行う。
The personal computer built-in
At the same time, the
システムワークメモリ02は、CPU01がシステムプログラムで使用するデータを一時記憶する。ユーザデータメモリ(PLC内部メモリともいう)M2は、PLCユーザアプリケーションプログラムで使用するデータ、例えば制御対象機器12との間で送受信する制御状態データ(接点情報等)を一時記憶する。
デュアルポートメモリ(DPメモリとも略記する)M1はデュアルポートRAMからなり、一方ではPLCシステムバス07に接続され、他方ではローカルバス08および割込トリガ信号INTの信号線によって結合されたPCIバスI/Fの09を経由してパソコン1のPCIバス3に接続されている。
DPメモリM1は、この構成によりPLC2のCPU01側からとバソコン1の図外のCPU側からとの双方から、同一メモリ領域に対するアクセスが可能となっており、PLC2とバソコン1が交換するデータの一時記憶先等として用いられる。
The
The dual port memory (abbreviated as DP memory) M1 is composed of a dual port RAM, which is connected to the
With this configuration, the DP memory M1 can access the same memory area from both the
図8はこのようなパソコン内蔵形PLC2のユーザアプリケーションプログラム(PLCアプリケーション)とパソコン1のユーザアプリケーションプログラム(パソコン側アプリケーションとも略記する)との従来のデータ交換機能に関わるシステム構成例を示す。図8においてパソコン内蔵形PLC2は、筐体を共にするパソコン1の拡張バス(本例ではPCIバス)3に、自身が持つDPメモリM1を介して接続されると共に、図外のシリアル通信I/F(図9の06)を介して図外の制御対象機器(図9の12)と接続され、さらに別の図外のシリアル通信I/F(図9の05)を介してプログラミングツールや表示器等からなる外部機器11と接続されている。
そしてパソコン内蔵形PLC2は、このPLC2を統括制御する図外のCPU(図9の01)、図外のシステムプログラムメモリ(図9の03)に書き込まれ、後述するコマンド処理10等を含むシステムプログラムとしてのファームウェアFW、図外のPLCユーザアプリケーションプログラムメモリ(図9の04)に格納されたシーケンス制御プログラムとしてのPLCアプリケーションSP、PLCアプリケーションSP用のデータメモリとしてのPLC内部メモリM2等を備えるほか、パソコン1のアプリケーションプログラム(パソコン側アプリケーション)PPとデータ交換を行うための前記DPメモリM1を備えている。
FIG. 8 shows a system configuration example related to a conventional data exchange function between the user application program (PLC application) of the personal computer built-in
The
DPメモリM1にはこのデータ交換を行うためのコマンド要求領域5およびコマンド応答領域6が設けられており、パソコン側アプリケーションPPからとPLC2のファームウェアFWからとのデータの読み書きが可能になっている。またPLC内部メモリM2には、PLCアプリケーションSPが図外の制御対象機器と授受する制御状態データを格納する図外の領域のほか、パソコン側アプリケーションPPとデータを交換するための書込領域7および読込領域8が設けられている。
パソコン1はパソコン側アプリケーションPPを実行しつつ、DPメモリM1のコマンド要求領域5およびコマンド応答領域6を読み書きすることにより、例えばMMIとしてパソコン内蔵形PLC2が制御対象機器との間で交わす制御状態データをモニタしたり、表示している画面上の起動ボタンを操作することで所望の制御対象機器をON/OFFしたりすることができる。
The DP memory M1 is provided with a
The
PLCアプリケーションSPは、所定のシーケンス制御周期(例えば10ms)ごとに各制御対象機器のON/OFF等の制御状態データを図外のシリアル通信I/Fを介しPLC内部メモリM2に読み込んでシーケンス演算を実行し、この演算結果として得られた各制御対象機器別の新たな制御状態データをPLC内部メモリM2に書き込んだうえ、この新たな制御状態データを前記図外のシリアル通信I/Fを介しそれぞれ該当する制御対象機器に送信することで各制御対象機器をシーケンス制御している。そしてさらに、パソコン側アプリケーションPPとのデータ交換のため上記シーケンス制御周期内でPLC内部メモリM2の書込領域7の読込および読込領域8への書込をするようにしている。なおこの場合、後述するコマンド処理10とのやりとりは行わない。
パソコン側アプリケーションPPとPLCアプリケーションSPとのデータ交換は、以下に詳述するように、上述したPLCアプリケーションSPによるPLC内部メモリM2の書込領域7の読込および読込領域8への書込と、パソコン側アプリケーションPPがDPメモリM1のコマンド要求領域5およびコマンド応答領域6を読み書きし、ファームウェアFW内のコマンド処理10がDPメモリM1の上記コマンド要求領域5、コマンド応答領域6およびPLC内部メモリM2の書込領域7、読込領域8を読み書きすることによって行われる。
The PLC application SP reads the control state data such as ON / OFF of each control target device into the PLC internal memory M2 via a serial communication I / F (not shown) at every predetermined sequence control cycle (for example, 10 ms), and performs a sequence calculation. The new control state data for each control target device obtained as a result of the calculation is written in the PLC internal memory M2, and the new control state data is respectively transmitted via the serial communication I / F (not shown). Each control target device is subjected to sequence control by transmitting to the corresponding control target device. Further, for data exchange with the personal computer side application PP, the
As described in detail below, data exchange between the personal computer side application PP and the PLC application SP is performed by reading the
次に、パソコン側アプリケーションPPとPLCアプリケーションSPとのデータ交換の動作を具体例を用いて説明する。
例1)パソコン側アプリケーションPPで所望の制御対象機器の動作時間を1秒毎にモニタするような場合、PLC内部メモリM2の読込領域8には当該の制御対象機器の制御状態データとして当該機器の動作積算時間のカウント値を割り付け、PLCアプリケーションSPが前記シーケンス制御周期ごとに読込領域8の積算時間のカウント値に最新データを書き込み更新する。
例2)また、パソコン側アプリケーションPPによりパソコンの表示画面上の所望の制御対象機器の起動ボタンをONして当該機器を起動させるような場合、PLC内部メモリM2の書込領域7に当該機器の起動指令(制御指令ビットデータ)を割り付け、PLCアプリケーションSPが前記シーケンス制御周期ごとに書込領域7を読み込んで起動指令がONかOFFかを判断し、当該機器をONかOFFかに動作させる。
Next, the data exchange operation between the personal computer side application PP and the PLC application SP will be described using a specific example.
Example 1) When the operation time of a desired control target device is monitored every second by the personal computer side application PP, the
Example 2) In addition, when the PC-side application PP turns on the activation button of a desired control target device on the display screen of the personal computer to activate the device, the device in the
一方ここで、パソコン側アプリケーションPPがPLC内部メモリM2へデータ書込、または同メモリM2からデータ読込を行うには、予め、パソコン側アプリケーションPPが書込要求コマンドデータ、または読込要求コマンドデータをDPメモリM1のコマンド要求領域5へ書き込む(矢印A2)。
例えば、前記の例2の場合、書込要求コマンドデータを所望の制御対象機器に対する起動指令とし、具体的にはこの起動指令を、起動指令が割り付けられているPLC内部メモリM2のアドレス、起動指令のデータサイズ、起動指令のON/OFFデータで構成する。
そして、前記コマンド要求領域5へは、パソコン側アプリケーションPPの立上がりの初期に上記ON/OFFデータをOFFとした起動指令を書き込み、表示画面上の起動ボタンがONされた時点にON/OFFデータをONとした起動指令を書き込む。また、起動ボタンがOFFされた時点にON/OFFデータをOFFとした起動指令を書き込むようにする。
On the other hand, in order for the personal computer side application PP to write data to the PLC internal memory M2 or read data from the memory M2, the personal computer side application PP previously writes the write request command data or the read request command data to DP. Write to the
For example, in the case of Example 2, the write request command data is used as a start command for a desired control target device. Specifically, this start command is used as the address of the PLC internal memory M2 to which the start command is assigned, the start command. Data size and start command ON / OFF data.
The
また前記の例1の場合、読込要求コマンドデータを所望の制御対象機器の動作積算時間のカウント値の読込指令とし、具体的にはこの読込指令を動作積算時間が割り付けられているPLC内部メモリM2のアドレス、動作積算時間のデータサイズで構成し、前記コマンド要求領域5へは読込指令をモニタ時間間隔(本例では1秒)ごとに書き込むようにする。
ファームウェアFW内にあるコマンド処理10は、PLCアプリケーションSPのシーケンス制御周期の空き時間に実行される処理であり、このコマンド処理10は上記要求コマンドデータを確認し(矢印A4)、読込要求であればPLC内部メモリM2の該当アドレスの読込領域8のデータを読み込んで(矢印A7)、応答データとしてDPメモリM1のコマンド応答領域6へ書き込み(矢印A5)、他方、書込要求であれば書込要求コマンドデータに付加されている書込データ(前記の例2ではONまたはOFFのデータ)をPLC内部メモリM2の該当アドレスの書込領域7へ書き込んで(矢印A6)、書込完了を示す応答データをDPメモリM1のコマンド応答領域6へ書き込む(矢印A5)。
In the case of Example 1, the read request command data is used as a read command for the count value of the operation accumulated time of the desired control target device. Specifically, this read command is used as the PLC internal memory M2 to which the operation accumulated time is assigned. The read command is written in the
The
パソコン側アプリケーションPPはDPメモリM1のコマンド応答領域5に応答データが書き込まれていること確認し(矢印A3)、PLC内部メモリM2への書込または同メモリM2からの読込が完了したことを認識する。
パソコン内蔵形PLC2には、前述のように図外のシリアル通信I/Fを介し外部機器11としてプログラミングツールや表示器などが接続される場合もある。この外部機器11はファームウェアFW内のコマンド処理10にコマンド要求を送り(矢印A8)、コマンド処理10からコマンド応答を受け取り(矢印A9)、PLC内部メモリM2を介しPLCアプリケーションSPとデータ交換を行うことができる。
この場合、PLC内部メモリM2に外部機器11に対する読込領域と書込領域を設ける。但し、パソコン側アプリケーションPPもPLCアプリケーションSPとデータ交換を併せて行う場合は、この読込領域と書込領域はパソコン側アプリケーションPP用に設けた前記の読込領域8と書込領域7とは異なるアドレスに割り付けられる。
The personal computer side application PP confirms that the response data is written in the
As described above, the personal computer built-in
In this case, a read area and a write area for the
この場合もPLCアプリケーションSPは、前記シーケンス制御周期ごとにPLC内部メモリM2に別に割り付けられた読込領域への書込および書込領域の読込をも併せ行うが、前記コマンド処理10とのやりとりの処理は行わない。
なお、特許文献1には、パソコンの拡張用バスにマイコン、デュアルポートメモリ、高速シリアル通信用ICを搭載した高速シリアル通信インタフェースを接続すると共に、高速シリアル通信インタフェースと複数のサーボコントローラとをシリアルラインのマルチドロップ方式で接続することにより、パソコン上で動作するアプリケーションから容易にサーボコントローラの内部データを読み書きできるサーボ制御方法およびサーボ制御システムが開示されている。
In
ところで、図8のPLCアプリケーションSPは、PLC内部メモリM2内の制御対象機器と交わす制御状態データや、パソコン1または(および)外部機器11とのデータ交換用の書込領域および読込領域を読み書きしながら実行されるシーケンス制御プログラムであり、所定のシーケンス制御周期毎に最優先で実行され、ファームウェアFWにあるコマンド処理10はその空き時間に実行される。
このためPLCアプリケーションSPの実行時間が変動すると、この空き時間も変動し、他方、コマンド処理10はコマンドの解析等のため一般に時間がかかり、最小の空き時間(例えば1ms)では処理しきれないため、パソコン側アプリケーションPPが要求コマンドデータをDPメモリM1のコマンド要求領域5へ矢印A2のように書き込んでから、DPメモリM1のコマンド応答領域6に応答データが書き込まれていることを矢印A3のように確認するまでのデータ交換の所要時間が、シーケンス制御周期の何倍かの範囲にわたってばらつくことになる。
By the way, the PLC application SP of FIG. 8 reads / writes the control state data exchanged with the control target device in the PLC internal memory M2, and the write area and the read area for data exchange with the
For this reason, if the execution time of the PLC application SP varies, the idle time also fluctuates. On the other hand, the
こうして、パソコン側アプリケーションPPとPLCアプリケーションSPとの間でのPLC内部メモリM2のデータ交換の定時性が確保できない、つまり所定時間内にデータ交換ができる保証がないという問題がある。
また図8のシステムでは、プログラミングツールや表示器などの外部機器11からのコマンド要求もコマンド処理10で処理されるため、外部機器11からパソコン側アプリケーションPPと同時にPLC内部メモリM2へのデータ書込または読込が行われると、前記データ交換の所要時間がより長くなり、さらに定時性の確保が困難になる。
この問題は、パソコン1をマン・マシン・インタフェースなどのあまり高速な応答を必要としない形で利用する場合には許容できる。しかし、近年、パソコンの高性能化に伴い、画像処理をパソコンのソフトウェアで行なうことが主流となり、例えば半導体試験装置などでパソコンの画像処理とPLCの位置決め制御とを連動させることが要望されている。こうした要望に応ずるには、パソコン1とPLC2とがバラツキなく高速に指令やデータを交換できるようにすることが必要である。
Thus, there is a problem that the punctuality of the data exchange of the PLC internal memory M2 between the personal computer side application PP and the PLC application SP cannot be ensured, that is, there is no guarantee that the data can be exchanged within a predetermined time.
In the system of FIG. 8, command requests from the
This problem can be tolerated when the
また図8のシステムでは、パソコン1内に例えば1または複数のアプリケーションプログラムPPを用意し、PLCアプリケーションSPから、それぞれのパソコン側アプリケーションPPに指令を与えようとする場合、個々のパソコン側アプリケーションが定期的にPLC内部メモリM2の読み出しを行って自身宛の指令データがあるか否かを確認するようにするか、或いはパソコン1内に定期的にPLC内部メモリM2の読み出しを行って、複数のパソコン側アプリケーションのいずれに宛てた指令データあるかの確認を行うアプリケーションプログラムを別に作成する必要があり、パソコン側アプリケーションの作成にいわば余計な負担を強いるという問題があった。
本発明はこうした問題を解消すると共に前記要望に答えるため、PLCアプリケーションSPの実行時間の変動や外部機器11の有無とは無関係に、パソコン側アプリケーションとPLCアプリケーションとのデータ交換の定時性を確保でき、且つパソコン側アプリケーションの作成に余計な負担を強いずにPLCアプリケーションが必要とする時にパソコン側アプリケーションを作動させることができる(換言すればPLC側とパソコン側のアプリケーションを必要なタイミングで同期させることができる)コンピュータ組み付け型プログラマブルコントローラを提供することを課題とする。
In the system of FIG. 8, for example, when one or a plurality of application programs PP are prepared in the
The present invention solves these problems and responds to the above-mentioned demands, so that it is possible to ensure the punctuality of data exchange between the personal computer side application and the PLC application regardless of the fluctuation of the execution time of the PLC application SP and the presence or absence of the
前記の課題を解決するため、請求項1のコンピュータ組み付け型プログラマブルコントローラは、
1または複数の制御対象機器(12)から受信した制御状態データをそれぞれ内部メモリ(PLC内部メモリM2)のそれぞれ該当する領域に格納すると共に、この全ての制御状態データを用いてシーケンス演算を行い、この演算の結果として得られた新たな制御状態データによりそれぞれ前記内部メモリの制御状態データを更新すると共に、この新たな制御状態データをそれぞれ該当する制御対象機器に送信することを所定のシーケンス制御周期(Ts)で繰り返し、前記制御対象機器をシーケンス制御するプログラマブルコントローラにおける前記内部メモリにさらに、コンピュータ側及び前記プログラマブルコントローラ側の双方のバス上にあって同一のメモリ領域がこの双方からアクセス可能なデュアルポートメモリ(DPメモリM1)を介し、前記コンピュータ側から前記プログラマブルコントローラ側へ転送された入力転送データを格納する入力領域(29)、前記プログラマブルコントローラ側から前記コンピュータ側へ前記デュアルポートメモリを介して転送すべき出力転送データを格納する出力領域(30)を設け、
前記プログラマブルコントローラがさらに、前記シーケンス制御周期ごとに、前記内部メモリ内の制御対象機器から受信した制御状態データのほか、同じく前記内部メモリ内の入力領域から読み出した入力転送データを用いてシーケンス演算を行い、この演算の結果として前記制御対象機器へ送信すべき新たな制御状態データのほか前記出力転送データを求め、この出力転送データを前記内部メモリ内の出力領域に書き込むようにしたコンピュータ組み付け型プログラマブルコントローラ(バソコン内蔵型PLC2など)において、
前記デュアルポートメモリに、前記コンピュータにより予め前記入力転送データのサイズ(入力サイズ24)が設定される入力サイズ設定領域と、同じく前記コンピュータにより予め前記出力転送データのサイズ(出力サイズ25)が設定される出力サイズ設定領域と、前記コンピュータにより必要時に前記入力転送データが書き込まれる入力領域(26)と、同じく前記コンピュータにより必要時に前記出力転送データが読み出される出力領域(27)とを設け、
前記シーケンス制御周期より短い所定のコピー周期(Tc)で、常時、前記デュアルポートメモリの入力領域内の前記入力サイズ設定領域に設定されたサイズのデータとしての入力転送データを前記内部メモリの入力領域へコピーすると共に、前記内部メモリの出力領域内の前記出力サイズ設定領域に設定されたサイズのデータとしての出力転送データを前記デュアルポートメモリの出力領域へコピーすることを繰り返すコピー手段(ファームウェアFWのコピー処理31)を設けたものとする。
In order to solve the above-described problem, a computer-assembled programmable controller according to
Control state data received from one or a plurality of control target devices (12) are respectively stored in the corresponding areas of the internal memory (PLC internal memory M2), and a sequence calculation is performed using all the control state data, The control state data in the internal memory is updated with the new control state data obtained as a result of the calculation, and the new control state data is transmitted to the corresponding control target device in a predetermined sequence control cycle. (Ts) is repeated, and the internal memory in the programmable controller that performs sequence control of the device to be controlled is further on a bus on both the computer side and the programmable controller side, and the same memory area can be accessed from both. Port memory (DP memory M ), The input area (29) for storing the input transfer data transferred from the computer side to the programmable controller side, and the output transfer data to be transferred from the programmable controller side to the computer side via the dual port memory An output area (30) for storing
In addition to the control status data received from the control target device in the internal memory, the programmable controller further performs a sequence calculation using the input transfer data read from the input area in the internal memory for each sequence control cycle. As a result of this calculation, a computer-assembled programmable controller that obtains the output transfer data in addition to new control state data to be transmitted to the control target device and writes the output transfer data to the output area in the internal memory In a controller (PLC2 with built-in bath computer, etc.)
In the dual port memory, the size of the input transfer data (input size 24) is set in advance by the computer, and the size of the output transfer data (output size 25) is also set in advance by the computer. An output size setting area, an input area (26) where the computer transfers the input transfer data when necessary, and an output area (27) where the computer also reads the output transfer data when necessary,
In a predetermined copy cycle (Tc) shorter than the sequence control cycle, input transfer data as data having a size set in the input size setting region in the input region of the dual port memory is always input to the input region of the internal memory. Copying means for repeatedly copying the output transfer data as the data set in the output size setting area in the output area of the internal memory to the output area of the dual port memory. Assume that a copy process 31) is provided.
また請求項2のコンピュータ組み付け型プログラマブルコントローラは、請求項1に記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記デュアルポートメモリの入力サイズ設定領域または(および)出力サイズ設定領域への設定値を0または空白としたときは、前記コピー手段が前記デュアルポートメモリおよび内部メモリのそれぞれ入力領域の相互間または(および)出力領域の相互間に関わる前記のコピー動作を省略するようにする。
また請求項3のコンピュータ組み付け型プログラマブルコントローラは、請求項1にまたは2記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記デュアルポートメモリに、該デュアルポートメモリの前記出力領域内の監視対象となるデータビットとしての監視ビットが存在する位置を特定するデータである監視ビット位置データ(監視アドレス加算値34および監視ビット設定値35など)が前記コンピュータにより予め設定される領域としての監視ビット位置設定領域と、割込発生用データの書込に基づいて前記コンピュータへの割込信号(割込トリガ信号INTおよび割込フラグ48など)を発生する割込信号発生領域(割込トリガ信号領域49など)と、前記コンピュータが該割込信号の入力時に割込発生の要因となるビット(割込発生要因ビット39)を読み出す領域としての割込発生要因ビット領域とを設け、
前記コピー周期に同期して、常時、前記デュアルポートメモリの監視ビット位置設定領域に設定された前記監視ビット位置データによって特定される、前記デュアルポートメモリの出力領域内の監視ビット(監視アドレス38上の該当ビット)を監視し、該監視ビットが割込を発生すべき値へ変化したときは前記デュアルポートメモリの割込発生要因ビット領域に当該の監視ビットについての前記監視ビット位置データを書き込むと共に、前記デュアルポートメモリの割込信号発生領域に割込発生用データを書き込み、前記コンピュータへ割込信号を与えるビット変化監視手段(ファームウェアFWのビット変化監視処理44)を設けたものとする。
The computer-assembled programmable controller according to
When the setting value for the input size setting area or / and the output size setting area of the dual port memory is set to 0 or blank, the copying means is connected between the input areas of the dual port memory and the internal memory, or ( And) the copying operation related to the output areas is omitted.
The computer-assembled programmable controller according to claim 3 is the computer-assembled programmable controller according to
Monitoring bit position data (monitoring address addition value 34 and monitoring bit setting) is data for specifying a position where a monitoring bit as a data bit to be monitored in the output area of the dual port memory exists in the dual port memory. A monitoring bit position setting area as an area in which the value 35 or the like is preset by the computer, and an interrupt signal (interrupt trigger signal INT and interrupt flag) to the computer based on the writing of interrupt generation data 48) for generating an interrupt signal (interrupt
In synchronization with the copy cycle, the monitoring bits (on the monitoring address 38) in the output area of the dual port memory, which are always specified by the monitoring bit position data set in the monitoring bit position setting area of the dual port memory. And when the monitoring bit changes to a value that should generate an interrupt, the monitoring bit position data for the monitoring bit is written into the interrupt generation factor bit area of the dual port memory. Assume that bit change monitoring means (bit
また請求項4のコンピュータ組み付け型プログラマブルコントローラは、請求項3に記載のコンピュータ組み付け型プログラマブルコントローラにおいて、
前記コンピュータが(割込検出管理部50を介し)、前記割込信号の入力に基づき前記デュアルポートメモリの割込発生要因ビット領域から前記監視ビット位置データを読み出し、該監視ビット位置データの別と当該の割込信号に応じて作動すべきアプリケーションプログラムの別との対応を示す割込管理テーブル(割込待ち管理テーブル59)から該当するアプリケーションプログラムを求めて作動させるものであるようにする。
次に本発明の作用を述べる。先ず、パソコン側アプリケーションとPLCアプリケーション間のデータ交換の定時性を確保し、バラツキのない高速データ交換を実現する方法としては、
パソコン側アプリケーションがPLC側に向けて直接アクセスできるデュアルポートメモリ(DPメモリ)M1に、予めパソコン側アプリケーションからPLCアプリケーションへ転送する入力転送データのサイズ(入力サイズ)24およびPLCアプリケーションからパソコン側アプリケーションへ転送させる出力転送データのサイズ(出力サイズ)25を設定してPLCのファームウェアFWに知らせたうえ、DPメモリM1に設けた入力サイズ24分の大きさの入力領域26へ必要時に入力転送データを書き込み、同じくDPメモリM1に設けた出力サイズ25分の大きさの出力領域27から必要時にPLCアプリケーションより転送された出力転送データを読み出すようにし、
他方、PLCアプリケーションが実行するシーケンス制御処理用のデータメモリとしてのPLC内部メモリM2に、PLCアプリケーションが制御対象機器と授受する制御状態データを格納する領域の他に、パソコン側アプリケーションから転送された入力転送データを読み出す入力領域29、パソコン側アプリケーションへ転送する出力転送データを書き込む出力領域30を設け、PLCアプリケーションがシーケンス制御周期Ts毎に、PLC内部メモリM2から制御対象機器より受信した制御状態データと入力領域29の入力転送データとを読み出してシーケンス演算を行い、この演算の結果として新たな制御状態データと出力転送データを求め、新たな制御状態データでPLC内部メモリM2の制御状態データを更新すると共に新たな制御状態データを制御対象機器へ送信し、またシーケンス演算結果の出力転送データを出力領域30に書き込むようにし、
また、DPメモリM1とPLC内部メモリM2間のデータ転送のために、PLCのファームウェアFW内のコピー処理31がシーケンス制御周期Tsより短いコピー周期Tcで、常時、DPメモリM1の入力領域26の入力転送データをPLC内部メモリM2の入力領域29へ、PLC内部メモリM2の出力領域30の出力転送データをDPメモリM1の出力領域27へコピーするようにし、パソコン側アプリケーションとPLCアプリケーション間のデータ交換が1または所定の複数のシーケンス制御周期Ts内に確実に行えるようにするものである。
The computer-assembled programmable controller according to
The computer reads the monitoring bit position data from the interrupt generation factor bit area of the dual port memory based on the input of the interrupt signal (via the interrupt detection management unit 50), A corresponding application program is obtained from the interrupt management table (interrupt waiting management table 59) indicating the correspondence with the application program to be operated in response to the interrupt signal, and is operated.
Next, the operation of the present invention will be described. First of all, as a method of ensuring the punctuality of data exchange between the PC side application and the PLC application and realizing high-speed data exchange without variation,
Transfer to the dual port memory (DP memory) M1 that can be accessed directly from the PC side application to the PLC side, the size of the input transfer data (input size) 24 to be transferred from the PC side application to the PLC application in advance, and transfer from the PLC application to the PC side application The size (output size) 25 of the output transfer data to be set is set and notified to the PLC firmware FW, and the input transfer data is written to the
On the other hand, in the PLC internal memory M2 as a data memory for sequence control processing executed by the PLC application, in addition to the area for storing the control state data exchanged with the control target device by the PLC application, the input transferred from the personal computer side application An
Further, for data transfer between the DP memory M1 and the PLC internal memory M2, the
また、パソコン側アプリケーションとPLCアプリケーションを必要時に同期させる方法としては、
DPメモリM1の出力領域27における出力転送データ内の特定位置の監視対象ビットの変化時にPLCアプリケーションからパソコン1へ割込をかけて所望のパソコン側アプリケーションを作動させるもので、
パソコン側アプリケーションが予めDPメモリM1の出力領域27内の監視対象ビットの位置をDPメモリM1に設定してPLCのファームウェアFWに知らせ、これによりファームウェアFW内のビット変化監視処理44がコピー周期Tcと同じ周期でDPメモリM1の出力領域27内の監視対象ビットを監視し、ビット変化を検出するとパソコン1へ割込信号INTを発生し、同時にパソコン1へ変化した監視対象ビットを知らせ、これに応じパソコン1が、変化を検出した監視対象ビットとこのとき作動させるべきパソコン側アプリケーションとの対応を示すテーブルから、作動させるべきパソコン側アプリケーションを検索して作動させるものである。
In addition, as a method of synchronizing the PC side application and the PLC application when necessary,
In the
The PC-side application sets in advance the position of the monitoring target bit in the
これにより監視対象ビットの変化を検出した時点から1または所定の複数のシーケンス制御周期Ts以内に必要なパソコン側アプリケーションを作動させ、パソコン側アプリケーションをPLCアプリケーションに速やかに同期させるものである。 Thus, the necessary personal computer side application is operated within one or a predetermined plurality of sequence control periods Ts from the time when the change of the monitoring target bit is detected, and the personal computer side application is quickly synchronized with the PLC application.
請求項1に関わる発明によれば、パソコン側アプリケーションがPLC側に向けて直接アクセスできるデュアルポートメモリ(DPメモリ)に、予めパソコン側アプリケーションからPLCアプリケーションへ転送する入力転送データのサイズ(入力サイズ)およびPLCアプリケーションからパソコン側アプリケーションへ転送させる出力転送データのサイズ(出力サイズ)を設定してPLCのファームウェアに知らせたうえ、DPメモリに設けた入力サイズ分の大きさの入力領域へ必要時に入力転送データを書き込み、同じくDPメモリに設けた出力サイズ分の大きさの出力領域から必要時にPLCアプリケーションより転送された出力転送データを読み出すようにし、
他方、PLCアプリケーション用のデータメモリとしてのPLC内部メモリに、前記入力転送データおよび出力転送データをそれぞれ格納する入力領域および出力領域を設け、PLCアプリケーションがシーケンス制御周期ごとに実行するシーケンス制御処理で、PLC内部メモリ内における制御対象機器と授受する制御状態データの読み書きと、PLC内部メモリの入力領域および出力領域に対する、それぞれ入力転送データの読込および出力転送データの書込とを行うようにしたうえ、シーケンス制御周期より短いコピー周期で、常時、DPメモリの入力領域の入力転送データをPLC内部メモリの入力領域へ、PLC内部メモリの出力領域の出力転送データをDPメモリの出力領域へコピーするファームウェアのコピー手段を設けるようにしたので、
パソコン側アプリケーションとPLCアプリケーション間のデータ交換が1または所定の複数のシーケンス制御周期内に確実に行えて、データ交換の定時性を確保し、バラツキのない高速データ交換を実現することができる。
According to the invention relating to claim 1, the size (input size) of the input transfer data transferred from the personal computer side application to the PLC application in advance to the dual port memory (DP memory) that can be directly accessed by the personal computer side application toward the PLC side, and Set the size (output size) of the output transfer data to be transferred from the PLC application to the personal computer side application, notify the PLC firmware, and then input the input transfer data to the input area of the input size provided in the DP memory when necessary. And reading the output transfer data transferred from the PLC application when necessary from the output area corresponding to the output size provided in the DP memory,
On the other hand, the PLC internal memory as a data memory for the PLC application is provided with an input area and an output area for storing the input transfer data and the output transfer data, respectively, and a sequence control process executed by the PLC application at each sequence control period. Read / write control status data to / from the control target device in the PLC internal memory, read input transfer data and write output transfer data to the input area and output area of the PLC internal memory, respectively. Firmware that always copies the input transfer data in the input area of the DP memory to the input area of the PLC internal memory and the output transfer data in the output area of the PLC internal memory to the output area of the DP memory at a copy cycle shorter than the sequence control cycle. We will provide a copy means So it was,
Data exchange between the personal computer side application and the PLC application can be reliably performed within one or a predetermined plurality of sequence control cycles, ensuring the punctuality of data exchange, and realizing high-speed data exchange without variation.
また請求項2に関わる発明によれば、DPメモリへの入力サイズまたは(および)出力サイズの設定値を0または空白としたときは、前記コピー手段がDPメモリおよびPLC内部メモリのそれぞれ入力領域相互間または(および)出力領域相互間に関わるコピー動作を省略するようにしたので、入力領域や出力領域を使わずにPLC内部メモリを通常のデータメモリとして使っている従来のユーザにも、PLC内部メモリに無駄な空き領域を作らずに本発明のPLCを利用して貰うことができる。
また、請求項3、4に関わる発明によれば、パソコン側アプリケーションが予めDPメモリの出力領域内の監視対象ビットの位置をDPメモリに設定してPLCのファームウェアに知らせ、これによりファームウェアのビット変化監視手段がコピー周期と同じ周期でDPメモリの出力領域内の監視対象ビットを監視し、ビット変化を検出するとパソコンへ割込信号を発すると同時に変化した監視対象ビットを知らせ、これに応じパソコンが、変化を検出した監視対象ビットと、このとき作動させるべきパソコン側アプリケーションとの対応を示すテーブルから、作動させるべきパソコン側アプリケーションを検索して作動させるようにしたので、
監視対象ビットの変化を検出した時点から1または所定の複数のシーケンス制御周期以内に必要なパソコン側アプリケーションを作動させ、パソコン側アプリケーションをPLCアプリケーションに速やかに同期させることができる。
According to the invention relating to claim 2, when the set value of the input size or / and output size to the DP memory is set to 0 or blank, the copying means is connected to each of the input areas of the DP memory and the PLC internal memory. Since the copying operation related to each other and / or between the output areas is omitted, even a conventional user who uses the PLC internal memory as a normal data memory without using the input area or the output area can be used. It is possible to use the PLC of the present invention without creating a useless empty area in the memory.
According to the inventions related to
Necessary personal computer side applications can be operated within one or a plurality of predetermined sequence control periods from the time when the change of the monitoring target bit is detected, and the personal computer side application can be quickly synchronized with the PLC application.
このようにしてパソコンとPLCとの高速データ交換および複数のパソコン側アプリケーションとPLCとの同期制御が可能になることから、例えば、パソコンの画像処理ソフトウェアを利用している制御装置では、画像処理とPLCのシーケンス制御が高速に連携し、装置のサイクルタイムが短縮されて生産性が向上する。 Thus, since high-speed data exchange between a personal computer and a PLC and synchronization control between a plurality of personal computer applications and a PLC are possible, for example, in a control device using image processing software of a personal computer, image processing and PLC sequence control is linked at high speed, the cycle time of the apparatus is shortened, and productivity is improved.
〔実施の形態1〕
先ず、本発明の実施の形態1としてパソコン側アプリケーションとPLCアプリケーションとがデータ交換をする際に定時性を確保できる(つまり所定時間内にデータ交換ができる)ようにしたコンピュータ組み付け型プログラマブルコントローラの実施例を説明する。このようなデータ交換の具体例としては、次のような事例が挙げられる。
1)スイッチデータの転送:
パソコンの画面に表示したスイッチやパネルコンピュータのタッチパネルのスイッチデータ(ON/OFF情報)をパソコン側からPLC側へ繰り返し転送し、スイッチにより工作機械等を寸動させるような場合である。このような場合、寸動させる装置の位置等を監視しながら頻繁にスイッチのON/OFFを繰り返すため、ON/OFF情報を迅速に転送する必要がある。
[Embodiment 1]
First, as a first embodiment of the present invention, implementation of a computer-assembled programmable controller capable of ensuring punctuality when data is exchanged between a personal computer application and a PLC application (that is, data can be exchanged within a predetermined time) An example will be described. Specific examples of such data exchange include the following cases.
1) Transfer of switch data:
This is a case where switch data (ON / OFF information) of a switch displayed on a personal computer screen or a touch panel of a panel computer is repeatedly transferred from the personal computer side to the PLC side, and a machine tool or the like is moved by the switch. In such a case, since ON / OFF of the switch is frequently repeated while monitoring the position of the device to be moved, ON / OFF information needs to be transferred quickly.
2)位置決め制御状態データや指令データの転送:
半導体検査装置などで、パソコンの画像処理ソフトウェアとPLCによる位置決め制御を連動させる際に、PLC側が持つ位置決め状態データをPLC側からパソコン側へ転送し、指令データをパソコン側からPLC側へ転送するような場合である。
図1は、本発明の実施の形態1の一実施例としてのPLCアプリケーションとパソコン側アプリケーションとの高速データ交換機能に関わるシステム構成を示すブロック図である。
図1においては、図8に対しパソコン1内のアプリケーションプログラムがPP1に置き換わった点と、
パソコン内蔵形PLC2において、DPメモリM1およびPLC内部メモリM2内にパソコン側アプリケーションPP1からPLCアプリケーションSPに転送される交換対象データ(入力転送データという)が書き込まれる領域としてのそれぞれ入力領域26および29、並びにPLCアプリケーションSPからパソコン側アプリケーションPP1に転送される交換対象データ(出力転送データという)が書き込まれる領域としてのそれぞれ出力領域27および30が設けられた点と、
DPメモリM1内にさらに、入力領域26および29に書き込まれる入力転送データのデータサイズで、同時に入力領域26および29自体の各容量サイズでもある入力サイズ24を設定入力する領域、並びに出力領域27及び30に書き込まれる出力転送データのデータサイズで、同時に出力領域27および30自体の各容量サイズでもある出力サイズ25を設定入力する領域が設けらた点と、
ファームウェアFW上に存在していた、シーケンス制御周期Tsの空き時間に実行されるコマンド処理10が省略され、これに代わり、常時、所定周期Tc(本例では1ms)で実行されるコピー処理31が設けられている点とが異なる。
2) Transfer of positioning control status data and command data:
When linking the image processing software of the personal computer and the positioning control by the PLC in a semiconductor inspection device, etc., the positioning status data on the PLC side is transferred from the PLC side to the personal computer side, and the command data is transferred from the personal computer side to the PLC side. This is the case.
FIG. 1 is a block diagram showing a system configuration related to a high-speed data exchange function between a PLC application and a personal computer side application as an example of
In FIG. 1, the application program in the
In the personal computer built-in
Further, the DP memory M1 further includes an area for setting and inputting the
The
なお、図8に示した外部機器11とPLC2とのデータ交換は本発明においても従来通りファームウェアFW上のコマンド処理10によって行われるが、これは本発明には直接関係がないのでコマンド処理10は省略されている。
また、PLCアプリケーションSPは従来と同様、所定のシーケンス制御周期Ts(例えば10ms)毎に、図外のシリアル通信インタフェースを介し図外の制御対象機器から受信しPLC内部メモリM2に格納した制御状態データと、PLC内部メモリM2内の従来の書込領域7に代わる入力領域29の入力転送データとを読み込んでシーケンス演算を行い、その結果として新たな制御状態データとパソコン側へ転送すべき出力転送データを求める。
そして、新たな制御状態データでPLC内部メモリM2の制御状態データを更新し、この新たな制御状態データを制御対象機器へ送信すると共に、シーケンス演算結果で生じた出力転送データをPLC内部メモリM2内の従来の読込領域8に代わる出力領域30に書き込む。
The data exchange between the
In addition, the PLC application SP receives control state data received from a control target device outside the figure via a serial communication interface outside the figure and stored in the PLC internal memory M2 at a predetermined sequence control cycle Ts (for example, 10 ms) as in the past. And the input transfer data in the
Then, the control state data in the PLC internal memory M2 is updated with the new control state data, the new control state data is transmitted to the control target device, and the output transfer data generated as a result of the sequence calculation is stored in the PLC internal memory M2. Are written in the
図2はバソコン側アプリケーションPP1の一般的な処理手順を示すフローチャートで、S1〜S6はそのステップ番号を示す。次に、図1を参照しつつ図2を説明する。なお、図2の処理は次の図3で述べるコピー処理31とは非同期で実行される。
パソコン側アプリケーションPP1は、立ち上がると予め矢印A12のように、DPメモリM1の入力サイズ24の領域に、入力領域26へ書き込む入力転送データのデータサイズ(これは同時に入力領域26自体の容量サイズとなる)を設定し(ステップS1)、さらにDPメモリM1の出力サイズ25の領域に、出力領域27から読み出す出力転送データのデータサイズ(これは同時に出力領域27自体の容量サイズとなる)を設定する(ステップS2)。このデータサイズは、例えばワード数などである。
そしてパソコン側アプリケーションPP1は、PLC2側から転送されている出力転送データを、矢印A16のようにDPメモリM1の出力領域27から読み出してパソコン内部の図外の出力領域メモリへコピーし(ステップS3)、当該パソコン側アプリケーションを実行する(ステップS4)。
FIG. 2 is a flowchart showing a general processing procedure of the PC application PP1, and S1 to S6 indicate step numbers. Next, FIG. 2 will be described with reference to FIG. 2 is executed asynchronously with the
When the personal computer side application PP1 starts up, as indicated by an arrow A12, the data size of the input transfer data to be written to the
Then, the personal computer side application PP1 reads the output transfer data transferred from the PLC2 side from the
次に、ステップS4のアプリケーション処理で発生し、パソコン内部の図外の入力領域メモリに格納された、PLC2側へ転送すべきデータ(入力転送データ)を矢印A15のように、DPメモリM1の入力領域26にコピーし(ステップS5)、当該パソコン側アプリケーションの実行時間間隔分待って(ステップS6)、ステップS3に戻り、上述したステップS3からS6までの処理を繰り返す。
図3はPLC2のファームウェアFW上のコピー処理31の手順を示すフローチャートで、S11〜S14はそのステップ番号を示す。次に、図1を参照しつつ図3を説明する。なお、このコピー処理31はPLCアプリケーションSPの実行周期であるシーケンス制御周期Ts(本例では10ms)より充分速い定周期Tc(本例では1ms)で常時繰り返される。
Next, data to be transferred to the
FIG. 3 is a flowchart showing the procedure of the
コピー処理31は、先ずDPメモリM1の入力サイズ24の領域に設定データがあるか否かをしらべ(ステップS11)、設定データがあれば(分岐Yes)、DPメモリM1の入力領域26のデータを、矢印A13のようにPLC内部メモリM2の入力領域29へ設定サイズ分コピーする(ステップS12)。
なお、上記ステップS11で入力サイズ24の領域に実質的に設定データがなく、設定データが0または空白の場合には、コピー処理31はステップS12の処理を省略して次のステップS13に進む。
次にコピー処理31は、DPメモリM1の出力サイズ25の領域に設定データがあるか否かをしらべ(ステップS13)、設定データがあれば(分岐Yes)、矢印A14のようにPLC内部メモリM2の出力領域30のデータをDPメモリM1の出力領域27へ設定サイズ分コピーして(ステップS14)、図3の今回分の処理を終了する。
The
If there is substantially no setting data in the area of the
Next, the
なお、上記ステップS13で出力サイズ25の領域に実質的に設定データがなく、設定データが0または空白の場合には、コピー処理31はステップS14の処理を省略して図3の今回分の処理を終了する。
ところで、この図3のコピー処理において、DPメモリM1の入力サイズ24が、例えば4ワード(なお、1ワード=16ビット)であるとし、パソコン側アプリケーションPP1がDPメモリM1の入力領域26に4ワードの転送データを書き込むものとする。コピー処理31は、パソコン側アプリケーションPP1の書込とは無関係に本例では1msの定周期Tcで入力領域26のデータをPLC内部メモリM2の入力領域29にコピー転送する。
このため、仮にパソコン側アプリケーションPP1が入力領域26へ書込を行っている最中に、コピー処理31がこの入力領域26をアクセスしようとしたとき、このDPメモリM1はその性質として、本例では16ビットの単位データ領域、従って1ワードのデータ領域分ずつの書込が終わるまではアクセスを受け付けないので、そのときの1ワード分のデータの書込が終わるまで、僅かな時間だけ待ってアクセスする。
If there is substantially no setting data in the
In the copy process of FIG. 3, it is assumed that the
For this reason, if the
従って、パソコン側アプリケーションPP1がDPメモリM1の入力領域26に4ワード分の転送データを書き込む際、同時にコピー処理31がDPメモリM1にアクセスしてPLC内部メモリM2の入力領域29へ転送する4ワード分の転送データのうち、最新のデータは、最悪、パソコン側アプリケーションPP1が書き終わったばかりの1ワード分であり、残りの3ワード分は未更新の古いデータのままとなる。
しかし仮にこのような動作が繰り返されたとしても、コピー処理31の4回分の実行までには、従って本例では1回のシーケンス制御周期Tsの10msより充分速い4ms以内に、少なくとも4ワード分の更新済データがDPメモリM1からPLC内部メモリM2に転送されるので、転送された更新済データが直ちにPLCアプリケーションSPによる次のシーケンス制御周期でのシーケンス制御に反映することとなり、データ交換の定時性が確保される。
Accordingly, when the personal computer application PP1 writes transfer data for 4 words in the
However, even if such an operation is repeated, until the
次に図2,3を参照しつつ、図1の具体的な動作の実施例を以下のA1)〜A3)の見出し番号の順に述べる。ここでは図1のパソコン1が工作機械を操作するためのタッチパネルを備えたパネルコンピュータであるものとし、図1のパソコン側アプリケーションPP1がPLC側にある工作機械としての射出成形機に組み込まれている型の状態データ(この場合、位置データ)をモニタし、型を移動(この場合、寸動)させる駆動装置(例えばサーボアンプとサーボモータ)をON/OFF操作するためのスイッチデータをPLC側へ転送する監視操作ソフトであるとする。
そして、PLCアプリケーションSPがパソコン1の監視操作ソフトPP1から送られるスイッチデータ(スイッチ操作データ)に応じて、駆動装置を介し型の寸動制御を行うものとする。
Next, with reference to FIGS. 2 and 3, an example of the specific operation of FIG. 1 will be described in the order of the following heading numbers A1) to A3). Here, it is assumed that the
Then, it is assumed that the PLC application SP performs mold inching control via the driving device in accordance with switch data (switch operation data) sent from the monitoring operation software PP1 of the
本例の場合、DPメモリM1の入力領域26として割り当てたアドレスには監視操作ソフトPP1によって、上記スイッチ操作データが書込まれるが、この入力領域26がファームウェアFW上の定周期Tc(本例では1ms)毎に実行されるコピー処理31によってPLC内部メモリM2の入力領域29にコピーされる。
このため、PLCアプリケーションSPは、シーケンス制御周期Ts(本例では10ms)毎に実行するシーケンス制御処理において入力領域29を読み込んで監視操作ソフトPP1から送られるスイッチ操作データを確認し、この操作データに応じて射出成形機の型の駆動装置をON/OFF制御するよう予め定められる。
また、本例の場合、DPメモリM1の出力領域27として割り当てたアドレスからは監視操作ソフトPP1によって監視対象である型の位置データが読み出されるが、この位置データは上記ファームウェアFW上のコピー処理31によってPLC内部メモリM2の出力領域30の内容をコピーしたものである。
In the case of this example, the switch operation data is written to the address assigned as the
For this reason, the PLC application SP reads the
In this example, the position data of the type to be monitored is read by the monitoring operation software PP1 from the address assigned as the
このため、PLCアプリケーションSPは、シーケンス制御周期Tsのシーケンス制御処理毎に、PLC内部メモリM2の出力領域30に型の現在の位置データを書き込むよう予め定められる。
A1)監視操作ソフトPP1による初期化:
バソコン1の立上がりと同時に監視操作ソフトPP1を起動し、この監視操作ソフトPP1によってDPメモリM1の入力サイズ24、出力サイズ25の各領域へPLCアプリケーションSPとの高速データ交換を行うためのデータサイズを設定する。
本例の場合、入力サイズ24には入力領域26に書き込まれるスイッチ操作データのデータサイズを設定し、出力サイズ25には出力領域27から読み出される型の位置データのデータサイズを設定する。
For this reason, the PLC application SP is predetermined to write the current position data of the mold in the
A1) Initialization by the monitoring operation software PP1:
The monitoring operation software PP1 is activated simultaneously with the rise of the
In this example, the data size of the switch operation data written in the
A2)監視操作ソフトPP1によるスイッチデータの転送:
監視操作ソフトPP1はパネルコンピュータの画面上に型を動かす駆動装置をON/OFFするための寸動スイッチを表示し、画面の表面に設けられたタッチパネルの寸動スイッチを表示している部分が押されたならば、入力領域26にスイッチ操作データとしてONデータをセットし、タッチパネルへの押圧が無くなればOFFデータをセットする。
PLCアプリケーションSPはそのシーケンス制御処理においてPLC内部メモリM2の入力領域29から、コピー処理31によって監視操作ソフトPP1側より送られたスイッチ操作データを読み込み、読み込んだ操作データがONデータの間は型の駆動装置に決まった速度での移動指令を与えて型を決まった速度で移動させ、OFFデータとなった時点で駆動装置に停止指令を与えて型を停止させる。
A2) Transfer of switch data by the monitoring operation software PP1:
The monitoring operation software PP1 displays an inching switch for turning on / off the driving device for moving the mold on the screen of the panel computer, and the portion displaying the inching switch of the touch panel provided on the surface of the screen is pressed. If so, ON data is set as switch operation data in the
The PLC application SP reads the switch operation data sent from the monitoring operation software PP1 side by the
これらの動作において、パソコン1側からPLC2側へのスイッチデータの伝達時間の定時性が確保され、実際に人がスイッチを押している時間とPLCへ伝わるスイッチデータがONデータになっている時間との間にバラツキが無くなり、型の移動量のバラツキを無くすことができる。すなわち、型の目的位置まで移動と微調整が容易にできる。
A3)監視操作ソフトPP1による型の位置データのモニタ:
監視操作ソフトPP1は定周期で、コピー処理31によりPLCアプリケーションSPから送られた出力領域27の型の現在の位置データを読み取り、パネルコンピュータの画面に表示する。
これらの動作において、PLC2側からパソコン1側への型の位置データの伝達時間の定時性が確保され、型の決まった速度での移動中に監視操作ソフトPP1で型の現在位置データをモニタした場合、周期毎にパネルコンピュータ画面に表示する型の位置データの変化量(型の移動量)のバラツキを無くすことができる。すなわち、実際に型を目視確認しなくても、パネルコンピュータでモニタしている型の位置データを見ながら目的位置までの移動と微調整が容易にできる。
In these operations, the punctuality of the transmission time of the switch data from the
A3) Monitoring of mold position data by the monitoring operation software PP1:
The monitoring operation software PP1 reads the current position data of the type of the
In these operations, the transmission time of the position data of the mold from the
〔実施の形態2〕
例えば半導体検査装置などで、検査対象のICチップの多軸の搬送および位置決め制御をPLCで行い、パソコン側はPLC側へ画像処理ソフトでICチップの画像認識結果に基づく位置決め指令(位置補正指令)を与えたり、搬送管理ソフトでICチップの移動指示を与えたりするシステムを考える。
このようなシステムでは、パソコン側アプリケーションとPLCアプリケーションとが実施の形態1で述べたような定時性を確保できる高速データ交換を行うだけでなく、多数のパソコン側アプリケーションに常時、PLCアプリケーションからの指示を監視する機能を持たせるといった、いわば、パソコン側アプリケーションの作成に余計な負担をかけずに、これらのパソコン側アプリケーションがそれぞれPLCアプリケーションの必要とする適切なタイミングで作動するようにする(換言すれば、パソコン側アプリケーションを必要時にPLCアプリケーションに同期させる)ことが望ましく、これにはPLCが必要時にパソコン側へ割込をかけることが有効である。
[Embodiment 2]
For example, in a semiconductor inspection device, etc., multi-axis conveyance and positioning control of the IC chip to be inspected are performed by the PLC, and the personal computer side is directed to the PLC side by the image processing software based on the IC chip image recognition result (position correction command) Consider a system in which IC chip movement instructions are given by transfer management software.
In such a system, the personal computer side application and the PLC application not only perform high-speed data exchange that can ensure punctuality as described in the first embodiment, but also constantly instruct many PLC side applications from the PLC application. In other words, these PC-side applications can be operated at the appropriate timing required by the PLC application without putting an extra burden on the creation of PC-side applications. (For example, it is desirable to synchronize the personal computer side application with the PLC application when necessary), and it is effective to interrupt the personal computer side when the PLC is necessary.
そこで次に、PLCとパソコン間で実施の形態1のような高速データ交換を行うほか、必要時にPLCがパソコン側へ割込をかけて必要な動作を行わせ、装置全体のサイクルタイムをより短縮するようにしたコンピュータ組み付け型プログラマブルコントローラを説明する。
図4は、本発明の実施の形態2の一実施例としてのPLCアプリケーションとパソコン側アプリケーションとの同期機能に関わるシステム構成を示すブロック図である。
図4の図1との相違は、パソコン1においてアプリケーションプログラムがPP2に置き換わると共に割込検出管理部50が追加された点、またパソコン内蔵形PLC2において、DPメモリM1内に、それぞれ監視アドレス加算値34、監視ビット設定値35、割込フラグ48、割込発生要因ビット39の各領域および割込トリガ信号領域49が新設され、且つDPメモリM1の出力領域27内に次に述べる監視アドレス(つまり、監視対象のアドレス)38の領域が新設された点、ファームウェアFW上にコピー処理31と同じ定周期Tc(本実施例では1ms)で実行されるビット変化監視処理44が付設された点、およびPLC内部メモリM2の出力領域30上に上記監視アドレス38のコピー元となる監視アドレス37の領域が新設された点である。
Therefore, in addition to the high-speed data exchange between the PLC and the personal computer as in the first embodiment, the PLC interrupts the personal computer when necessary to perform necessary operations, further reducing the cycle time of the entire device. A computer-assembled programmable controller configured as described above will be described.
FIG. 4 is a block diagram showing a system configuration related to a synchronization function between a PLC application and a personal computer side application as an example of
4 differs from FIG. 1 in that the application program is replaced with PP2 in the
なお、PLCアプリケーションSPの処理は基本的には図1の場合と同じで、シーケンス制御周期Tsごとに図外の制御対象機器と授受するPLC内部メモリM2内の制御状態データの読み書き、および同じくPLC内部メモリM2内の入力領域29、出力領域30のそれぞれの読み書きをしながらシーケンス制御処理を実行する。但し、図4ではPLC内部メモリM2内の出力領域30内の前記した監視アドレス37に、出力領域30に割り付けられる制御対象機器の制御状態データ中の後述する割込発生条件の成立を監視するための監視対象のビット(監視ビットという)が含まれる点が異なる。
パソコン側アプリケーションPP2はDPメモリM1の領域24〜27に対して図1のパソコン側アプリケーションPP1と同様の処理を行う他に、予めDPメモリM1に対し矢印A25のように、それぞれ監視アドレス加算値34及び監視ビット設定値35を書き込む。なお、前記監視アドレス38は出力領域27の先頭アドレスに監視アドレス加算値34分を足したアドレスとなる。
Note that the processing of the PLC application SP is basically the same as that in FIG. 1, and reading and writing of control state data in the PLC internal memory M2 exchanged with a control target device not shown in the sequence at every sequence control cycle Ts. The sequence control process is executed while reading / writing each of the
The personal computer side application PP2 performs the same processing as that of the personal computer side application PP1 of FIG. 1 on the
ファームウェアFW上のコピー処理31は定周期Tcで図1の場合と同様にDPメモリM1の入力サイズ24、出力サイズ25の各領域上にそれぞれ転送データのサイズ24、25が設定されているか否かをしらべ、サイズデータが設定されていればそれぞれDPメモリM1の入力領域26の入力サイズ24分のデータをPLC内部メモリM2の入力領域29へ、また、PLC内部メモリM2の出力領域30の出力サイズ25分のデータをDPメモリM1の出力領域27へコピーする。
また、ファームウェアFW上のビット変化監視処理44も同じ定周期TcでDPメモリM1の監視アドレス38のデータをサンプリングし、監視ビット設定値35で設定されているビットの少なくともいずれかがOFFからONへ変化することを監視する。
即ち、PLCアプリケーションSPの処理で、PLC内部メモリM2の出力領域30内の監視アドレス37のいずれかのビットをONにすると、コピー処理31によってDPメモリM1の出力領域27内の監視アドレス38の該当するビットもONとなる。
In the
The bit
That is, when any bit of the
ビット変化監視処理44は、図5に示す処理によってこのビットの変化を検出し、割込発生条件成立の有無を判定する。ここで、図5の処理を説明する。同図中のS21〜S27はステップ番号である。
ビット変化監視処理44は、先ず、ステップS21で自身が保持している監視アドレス38の前回値を読み出して反転する。次に、ステップS22でこの反転値とDPメモリM1から読み出した監視アドレス38の今回値とのAND条件を求める。次のステップS23ではさらに、ステップS22の演算結果とDPメモリM1から読み出した監視ビット設定値35とのAND条件を求める。
次のステップS24ではこの演算結果から監視ビット設定値35として設定されたビット(つまり監視ビット)であって、且つONに変化したビット(変化ビットという)を調べる。そして、次のステップS25で1つでも変化ビットがあるか否かを判定し、1つも変化ビットがなければ(分岐No)、割込発生条件不成立とし(ステップS26)、DPメモリM1の割込フラグ48をリセットする。
The bit
The bit
In the next step S24, the bit set as the monitoring bit set value 35 (that is, the monitoring bit) and the bit changed to ON (referred to as a change bit) is checked from the calculation result. In the next step S25, it is determined whether or not there is even one change bit. If there is no change bit (branch No), the interrupt generation condition is not satisfied (step S26), and the DP memory M1 interrupts. The
他方、ステップS25で1つでも変化ビットがあれば(分岐Yes)、割込発生条件が成立したとし(ステップS27)、DPメモリM1の割込発生要因ビット39の領域に、変化を検出したビットを特定するデータを書き込むと共に、同じくDPメモリM1の割込フラグ48をセットし、さらにDPメモリM1の割込トリガ信号領域49へ割込トリガ用データを書き込むことにより、パソコン1内の割込検出管理部50に宛てて割込トリガ信号INTを発生させる。そして、割込検出管理部50によって割込フラグ48がリセットされるまでビット変化の監視を中断する。
図7はパソコン1内の割込検出管理部50の処理手順を示すフローチャートで、S31〜S40はそのステップ番号である。この処理手順は大別してステップS31〜S34のPLC2側とのやり取りからなる割込検出処理100の部分と、ステップS35〜S40のパソコン1内での処理からなる割込管理処理200の部分とからなる。
On the other hand, if there is at least one change bit in step S25 (branch Yes), it is assumed that the interrupt generation condition is satisfied (step S27), and the bit in which the change is detected in the interrupt
FIG. 7 is a flowchart showing a processing procedure of the interrupt
ここで、割込検出処理100を説明する。パソコン1内の割込検出管理部50は割込トリガ信号INTの入力を検出すると(ステップS31、分岐Yes)、矢印A28のようにDPメモリM1の割込トリガ信号領域49をリードアクセスする。これにより割込トリガ信号INTがリセットされる(ステップS32)。
次に割込検出管理部50は、矢印A27のようにDPメモリM1の割込発生要因ビット39を読み取り、このデータを後述する自身内の割込要因メモリ60へ記憶したのち(ステップS33)、矢印A26のようにDPメモリM1の割込フラグ48をリセットする(ステップS34)。この割込フラグ48のリセットによりPLC2側のビット変化監視処理44は、監視ビットの変化の監視を再開する。
図6は、図4におけるパソコン1のアプリケーションプログラムPP2および割込検出管理部50内の要部の構成の一実施例を示す。パソコン側アプリケーションPP2は、PLCアプリケーションSPと同期して動作する複数のアプリケーションプログラムからなり、本実施例ではPP2−1、PP2−2の2つのアプリケーションプログラムからなるものとする。
Here, the interrupt detection processing 100 will be described. When detecting the input of the interrupt trigger signal INT (step S31, branch Yes), the interrupt
Next, the interrupt
FIG. 6 shows an embodiment of the configuration of the main part in the application program PP2 and the interrupt
パソコン側アプリケーションPP2−1およびPP2−2は、それぞれ待ちビット指定値52、待ち55、発生ビット56からなるPLC割込み待ち関数51としての51−1および51−2を持ち、この関数処理を割込検出管理部50との間で実行する。
割込検出管理部50はこの関数処理に対応する機能部として、割込待ち管理テーブル59および割込要因メモリ60を備えている。そして割込待ち管理テーブル59は、複数のパソコン側アプリケーションPP2に対応できるように待ちビットデータ52aと管理番号53とが対になった領域を複数個持っている。
いま、パソコン側アプリケーションPP2−1、PP2−2がそれぞれの処理中にPLC割込待ち関数51−1、51−2を実行すると、各当該のパソコン側アプリケーションPP2は先ず待ちビット指定値52を矢印A31のように割込待ち管理テーブル59内の待ちビットデータ52aの領域にセットし、さらにこの待ちビットデータ52aと対の管理番号53の領域に当該のパソコン側アプリケーションPP2を特定するためのID番号をセットする。そして待ち55の状態となり、割込検出管理部50からの割込管理処理200を待つ。
The personal computer side applications PP2-1 and PP2-2 have 511-1 and 51-2 as PLC interrupt
The interrupt
Now, when the personal computer side applications PP2-1 and PP2-2 execute the PLC interrupt wait functions 51-1 and 51-2 during the respective processes, each of the personal computer side applications PP2 first sets the wait bit designation value 52 as an arrow. The ID number is set in the area of the
次に図7により割込検出管理部50の割込管理処理200を説明する。割込検出管理部50は、割込待ち管理テーブル59に格納されている待ちビットデータ52aを検索し(ステップS35)、矢印A32のように割込要因メモリ60のデータと比較を行う。この比較方法としては検索した待ちビットデータ52aと割込要因メモリ60とのAND条件を求める(ステップS36)。
ここでビットが1つでもONしている、すなわち割込要因メモリ60の割込要因を示すビットの内どれかがONしている場合(ステップS37、分岐Yes)、当該の待ちビットデータ52aと対の管理番号53に対応するパソコン側アプリケーション(図6の例ではPP2−2としている)に待ち解除指示54を与えて、待ち55の状態を解除し(ステップS38)、矢印A33のように割込要因メモリ60のデータを当該のパソコン側アプリケーション(本例ではPP2−2)のPLC割込待ち関数(本例では51−2)内の発生ビット56へ転送する(ステップS39)。
Next, the interrupt management process 200 of the interrupt
If at least one bit is ON, that is, if any of the bits indicating the interrupt factor in the interrupt factor memory 60 is ON (step S37, branch Yes), the waiting
割込検出管理部50は、ステップS40で割込待ち管理テーブル59の検索が終了位置と判別するまではステップS35〜S40の割込管理処理200を繰り返す。
前記ステップS39で発生ビット56のデータをPLC割込み待ち関数の戻り値として受け取ったパソコン側アプリケーション(図6の例ではPP2−2)は、指定した待ちビットのどのビットで待ち状態が解除されたかを確認し、そのビットに応じて予め定められている処理を行う。
次に図5、図7を参照しつつ、主として図4、図6の具体的な動作の実施例をB1)〜B7)の見出し番号の順に述べる。ここではパソコン側アプリケーションPP2−1をICチップの画像処理によりPLC側へ所定方向(本例ではX軸方向とする)の位置決め指令(位置補正指令)を与えたり、ICチップを検査したりする半導体検査装置の画像処理ソフトとし、バソコン側アプリケーションPP2−2をICチップの次工程への別軸方向(本例ではY軸方向とする)の搬送を管理する搬送管理ソフトとする。
The interrupt
The personal computer application (PP2-2 in the example of FIG. 6) that has received the data of the generated
Next, with reference to FIG. 5 and FIG. 7, embodiments of specific operations of FIG. 4 and FIG. 6 will be described in the order of heading numbers B1) to B7). In this case, the personal computer side application PP2-1 gives a positioning command (position correction command) in a predetermined direction (X-axis direction in this example) to the PLC side by image processing of the IC chip, or a semiconductor that inspects the IC chip. It is assumed that the image processing software of the inspection apparatus is the image processing software of the inspection device, and the bath-side application PP2-2 is transport management software that manages the transport of another IC direction (in this example, the Y-axis direction) to the next process of the IC chip.
そして、PLCアプリケーションSPが画像処理ソフトPP2−1および搬送管理ソフトPP2−2の指令に応じてICチップのそれぞれの軸上での位置決め制御を行うものとする。
なお、以下の説明では前提として、別の手段によって半導体検査装置内へ搬入されてきたばかりのワークとしての検査対象のICチップが、画像処理ソフトPP2−1によってX軸方向の位置ズレを認識されたのち、PLCアプリケーションSPによってX軸方向に正しく位置決め(位置ズレ修正)されて再び画像処理ソフトPP2−1により検査され、この後、搬送管理ソフトPP2−2によって半導体検査装置内からY軸方向に搬出されるという一連の処理が、新たなICチップの半導体検査装置内への搬入ごとに実行されるものとする。
Then, it is assumed that the PLC application SP performs positioning control on the respective axes of the IC chip in accordance with commands from the image processing software PP2-1 and the conveyance management software PP2-2.
In the following description, as a premise, the IC chip to be inspected as a work that has just been carried into the semiconductor inspection apparatus by another means has been recognized by the image processing software PP2-1 for the positional deviation in the X-axis direction. After that, the PLC application SP correctly positions (corrects misalignment) in the X-axis direction, and is again inspected by the image processing software PP2-1. Thereafter, it is carried out from the semiconductor inspection apparatus by the transfer management software PP2-2 in the Y-axis direction. It is assumed that a series of processes to be performed is performed each time a new IC chip is carried into the semiconductor inspection apparatus.
なお、本例の場合、DPメモリM1の入力領域26には画像処理ソフトPP2−1および搬送管理ソフトPP2−2によって、それぞれ移動量データおよび位置決め開始指令データが領域を分けて書き込まれるが、この入力領域26がファームウェアFW上のコピー処理31によってPLC内部メモリM2の入力領域29にコピーされる。
このため、PLCアプリケーションSPは、シーケンス制御周期Ts毎に実行するシーケンス制御処理において入力領域29内のそれぞれ該当する領域を読み込んで画像処理ソフトPP2−1から送られる移動量データおよび位置決め開始指令データと、搬送管理ソフトPP2−2から送られる移動量データおよび位置決め開始指令データの有無を確認し、存在するデータに応じた位置決め制御を行うよう予め定められる。
また、本例の場合、DPメモリM1の出力領域27内の監視アドレス38には画像処理ソフトPP2−1に関わる位置決め完了データおよび搬送管理ソフトPP2−2に関わる位置決め完了データが共に監視ビットとして書き込まれるが、この監視アドレス38の内容はファームウェアFW上のコピー処理31によってPLC内部メモリM2の出力領域30内の監視アドレス37の内容をコピーしたものである。
In the case of this example, the movement amount data and the positioning start command data are separately written in the
For this reason, the PLC application SP reads the corresponding area in the
In this example, both the positioning completion data related to the image processing software PP2-1 and the positioning completion data related to the conveyance management software PP2-2 are written as monitoring bits in the
このため、PLCアプリケーションSPは、画像処理ソフトPP2−1および搬送管理ソフトPP2−2の指示に基づく位置決め制御をそれぞれ完了した時点の直近のシーケンス制御周期Tsでのシーケンス制御処理において、PLC内部メモリM2の出力領域30内の監視アドレス37の該当するビット位置に監視ビットとしての位置決め完了データを書き込むよう予め定められる。
これにより本例では、PLCアプリケーションSPが位置決め完了データとして監視アドレス37上のビット0(2進データの0位桁(末尾桁)ビット)またはビット1(2進データの1位桁(末尾の次の桁)のビット)をセットすることで、それぞれ画像処理ソフトPP2−1または搬送管理ソフトPP2−2の指示に基づく位置決め制御が完了したとしてPLC側からパソコン側へ割込を発生させる。
For this reason, the PLC application SP performs the PLC internal memory M2 in the sequence control process at the latest sequence control cycle Ts at the time when the positioning control based on the instructions of the image processing software PP2-1 and the conveyance management software PP2-2 is completed. The positioning completion data as the monitoring bit is written in advance in the corresponding bit position of the
As a result, in this example, the PLC application SP uses bit 0 (0th digit (end digit) bit of binary data) or bit 1 (1st digit of binary data (next to the end) as the positioning completion data on the
B1)初期化処理:
バソコン1の立上がり時に、先ず代表となるバソコン側アプリケーション(本例では画像処理ソフトPP2−1とする)を起動し、PLCアプリケーションSPとの高速データ交換やPLCによるパソコン側への割込を発生させたりするために、画像処理ソフトPP2−1の初期化処理部によってDPメモリM1に対し次のB1a)、B1b)に示す初期設定を行ったのち、搬送管理ソフトPP2−2を起動させる。
B1a)DPメモリM1の入力サイズ24、出力サイズ25領域への設定;
本例の場合、入力サイズ24には、画像処理ソフトPP2−1および搬送管理ソフトPP2−2がそれぞれ入力領域26に互いに異なる領域を使って書き込む移動量データおよび位置決め開始指令データの全てを足したデータサイズを設定する。
B1) Initialization process:
When the
B1a) Setting to the
In this example, the
また、出力サイズ25には、画像処理ソフトで扱う位置決め完了データおよび搬送管理ソフトで扱う位置決め完了データが共に監視ビットとして書き込まれる出力領域27内の監視アドレス38のデータサイズである1ワードを設定する。
B1b)DPメモリM1の監視アドレス加算値34、監視ビット設定値35領域への設定;
本例の場合、監視アドレス加算値34には、出力領域27に割り付けた位置決め完了データを持つ監視アドレス38の出力領域27上のアドレスを与えるアドレス加算値を設定する。本例では出力領域27自体が監視アドレス38領域に一致するためアドレス加算値は0となる。
また、監視ビット設定値35には画像処理ソフトPP2−1と搬送管理ソフトPP2−2で扱う、PLCからの割込を発生させるための2つの監視ビットの位置を設定する。監視ビット位置として例えば、画像処理ソフトがビット0(0位桁ビット)を使い、搬送管理ソフトがビット1(1位桁ビット)を使う場合、監視ビット設定値35へはビット0およびビット1をそれぞれ値“1”とした2進データ値“3”を設定する。
Further, the
B1b) Setting of the monitoring address addition value 34 and the monitoring bit setting value 35 area of the DP memory M1;
In this example, the monitoring address addition value 34 is set to an address addition value that gives an address on the
Further, in the monitoring bit set value 35, positions of two monitoring bits for generating an interrupt from the PLC, which are handled by the image processing software PP2-1 and the conveyance management software PP2-2, are set. For example, when the image processing software uses bit 0 (0th digit bit) and the transport management software uses bit 1 (1st digit bit) as the monitoring bit position,
B2)画像処理ソフトによるICチップ位置ズレ検出、待機処理:
画像処理ソフトPP2−1はICチップの画像認識を行い、ICチップのX軸方向における正規位置とのズレを計測し、ICチップの位置を補正するためのX軸方向の移動量データを、DPメモリM1の入力領域26の画像処理ソフト側に割当てられた移動量データを格納するアドレスへセットすると共に、同じく画像処理ソフト側に割当てられた位置決め開始指令データを格納するアドレスへ「開始データ」をセットする。
続いてPLC割込待ち関数51−1を実行して待ちビット指定値52に待ちビットを設定して待ち55の状態となり、PLC側からの割込を待つ。即ちICチップの位置補正のための位置決め完了を待つ。
なお、ここで待ちビット指定値52へ設定する値は、画像処理ソフトが前述のように出力領域27の監視アドレス38のビット0をPLCアプリケーションSPによる位置決め完了データのコピー先とする場合、ビット0(0位桁ビット)の値を“1”とした2進データ値“1”となる。
B2) Detection of IC chip position deviation by image processing software, standby processing:
The image processing software PP2-1 recognizes the image of the IC chip, measures the deviation of the IC chip from the normal position in the X-axis direction, and uses the movement amount data in the X-axis direction to correct the position of the IC chip as DP The movement amount data assigned to the image processing software side of the
Subsequently, the PLC interrupt wait function 51-1 is executed to set a wait bit in the wait bit specified value 52 to enter a
Note that the value set in the waiting bit designation value 52 here is bit 0 when the image processing software sets bit 0 of the
B3)PLCによるX軸方向の位置決め制御、割込発生処理:
PLCアプリケーションSPは、DPメモリM1の入力領域26からファームウェアFW上のコピー処理31によってPLC内部メモリM2の入力領域29にコピーされた画像処理ソフト側の(X軸方向の)移動量データおよび位置決め開始指令データの「開始データ」を読み取り、PLC2へ接続しているX軸方向の駆動装置(例えばサーボアンプとサーボモータ)を制御して位置決め動作を実行し、移動量データで指示された移動量だけICチップを移動させる。即ちICチップの位置ズレを補正する。
この位置決め制御(位置ズレ補正)が完了したならば、PLCアプリケーションSPは位置決め完了データとしてPLC内部メモリM2の監視アドレス37の末尾桁のビット0をONする。これによりファームウェアFW上のコピー処理31によってDPメモリM1の監視アドレス38のビット0もONとなり、ファームウェアFW上のビット変化監視処理44はDPメモリM1の監視ビット設定値35と照合して割込条件成立と判断し、DPメモリM1の割込発生要因ビット39のビット0をONし、前述した割込発生処理によってパソコン1へ割込を発生させる。
B3) Positioning control in X axis direction by PLC, interrupt generation processing:
The PLC application SP is moved from the
When this positioning control (position shift correction) is completed, the PLC application SP turns ON bit 0 of the last digit of the
B4)画像処理ソフトの待機解除、ICチップ検査処理:
画像処理ソフトPP2−1は、そのPLC割込待ち関数51−1の待ち55が上記の割込発生によって解除され、同関数51−1の発生ビット56のビット0が“1”であることからICチップの位置ズレ補正が完了したことを認識し、ICチップの検査を行いその良否を判定する。そして搬送管理ソフトPP2−2に当該のICチップを搬出するよう指示を与えたのち、次に位置ズレ補正すべきICチップの到来を待つ。
B5)搬送管理ソフトによるICチップ搬出処理:
搬送管理ソフトPP2−2は、画像処理ソフトPP2−1からICチップを搬出するよう指示を受けると、搬送先までの(Y軸方向の)移動データを、DPメモリM1の入力領域26の搬送管理ソフト側に割当てられた移動量データを格納するアドレスへセットすると共に、同じく搬送管理ソフト側に割当てられた位置決め開始指令データを格納するアドレスへ「開始データ」をセットする。
B4) Image processing software standby release, IC chip inspection processing:
In the image processing software PP2-1, the
B5) IC chip unloading processing by transfer management software:
When the conveyance management software PP2-2 receives an instruction to carry out the IC chip from the image processing software PP2-1, the movement management (in the Y-axis direction) to the conveyance destination is transferred to the conveyance management in the
続いてPLC割込待ち関数51−2を実行して待ちビット指定値52に待ちビットを設定して待ち55の状態となり、PLC側からの割込を待つ。即ちICチップの搬送先までの移動の位置決め完了を待つ。
なお、ここで待ちビット指定値52へ設定する値は、搬送管理ソフトが前述のように出力領域27の監視アドレス38のビット1(1位桁ビット)をPLCアプリケーションSPによる位置決め完了データのコピー先とする場合、ビット1(1位桁ビット)の値を“1”とした2進データ値“2”となる。
B6)PLCによるY軸方向の位置決め制御、割込発生処理:
PLCアプリケーションSPは、DPメモリM1の入力領域26からファームウェアFW上のコピー処理31によってPLC内部メモリM2の入力領域29にコピーされた搬送管理ソフト側の(Y軸方向の)移動量データおよび位置決め開始指令データの「開始データ」を読み取り、PLC2へ接続しているY軸方向の駆動装置(例えばサーボアンプとサーボモータ)を制御して位置決め動作を実行し、移動量データで指示された移動量だけICチップを移動させる。
Subsequently, the PLC interrupt wait function 51-2 is executed to set a wait bit in the wait bit specified value 52 to enter a
Here, the value set to the waiting bit designation value 52 is the copy destination of the positioning completion data by the PLC application SP by the bit 1 (first digit bit) of the
B6) Y-axis positioning control by PLC, interrupt generation processing:
The PLC application SP starts the positioning and movement amount data (in the Y-axis direction) on the transfer management software side copied from the
この位置決め制御(搬送先までの移動)が完了したならば、PLCアプリケーションSPは位置決め完了データとしてPLC内部メモリM2の監視アドレス37のビット1をONする。これによりファームウェアFW上のコピー処理31によってDPメモリM1の監視アドレス38のビット1もONとなり、ファームウェアFW上のビット変化監視処理44はDPメモリM1の監視ビット設定値35と照合して割込条件成立と判断し、DPメモリM1の割込発生要因ビット39のビット1をONし、前述した割込発生処理によってパソコン1へ割込を発生させる。
B7)搬送管理ソフトの待機解除:
搬送管理ソフトPP2−2は、そのPLC割込待ち関数51−2の待ち55が上記の割込発生によって解除され、同関数51−2の発生ビット56のビット1が“1”であることからICチップの搬送先までの移動が完了したことを認識し、次のICチップの搬出指示を待つ。
When this positioning control (movement to the conveyance destination) is completed, the PLC application SP turns ON
B7) Canceling standby of transport management software:
In the transfer management software PP2-2, the
但し、搬送管理ソフトによりICチップが搬送先まで搬出されるまでの間に、次のICチップがこの半導体検査装置に搬入され、上述のように画像処理ソフトとPLCにより位置ズレを補正されて、この時点で検査を終えているとすれば、画像処理ソフトから搬送管理ソフトへのICチップの搬出指示は既に出されているか、あるいは直ちに出されるので、搬送管理ソフトは時間の無駄なく直ちに次の搬出処理を再開することができる。 However, before the IC chip is carried out to the conveyance destination by the conveyance management software, the next IC chip is carried into this semiconductor inspection apparatus, and the positional deviation is corrected by the image processing software and the PLC as described above. If the inspection is completed at this time, the IC chip unloading instruction from the image processing software to the transfer management software has already been issued or is immediately issued. The carry-out process can be resumed.
1 パソコン
2 パソコン内蔵形プログラマブルコントローラ(パソコン内蔵形PLC)
3 拡張バス(PCIバス)
24 入力サイズ
25 出力サイズ
26 入力領域
27 出力領域
29 入力領域
30 出力領域
31 コピー処理
34 監視アドレス加算値
35 監視ビット設定値
37、38 監視アドレス
39 割込発生要因ビット
44 ビット変化監視処理
48 割込フラグ
49 割込トリガ信号領域
50 割込検出管理部
51(51−1、51−2) PLC割込待ち関数
52 待ちビット指定値
52a 待ちビットデータ
53 管理番号
54 待ち解除指示
55 待ち
56 発生ビット
59 割込待ち管理テーブル
60 割込要因メモリ
100 割込検出処理
200 割込管理処理
INT 割込トリガ信号
M1 デュアルポートメモリ(DPメモリ)
M2 PLC内部メモリ
FW ファームウェア
SP PLCユーザアプリケーションプログラム(PLCアプリケーション)
PP1、PP2(PP2−1、PP2−2) パソコン側ユーザアプリケーションプログラム(パソコン側アプリケーション)
1
3 Expansion bus (PCI bus)
24
M2 PLC internal memory FW Firmware SP PLC user application program (PLC application)
PP1, PP2 (PP2-1, PP2-2) PC side user application program (PC side application)
Claims (4)
前記プログラマブルコントローラがさらに、前記シーケンス制御周期ごとに、前記内部メモリ内の制御対象機器から受信した制御状態データのほか、同じく前記内部メモリ内の入力領域から読み出した入力転送データを用いてシーケンス演算を行い、この演算の結果として前記制御対象機器へ送信すべき新たな制御状態データのほか前記出力転送データを求め、この出力転送データを前記内部メモリ内の出力領域に書き込むようにしたコンピュータ組み付け型プログラマブルコントローラにおいて、
前記デュアルポートメモリに、前記コンピュータにより予め前記入力転送データのサイズが設定される入力サイズ設定領域と、同じく前記コンピュータにより予め前記出力転送データのサイズが設定される出力サイズ設定領域と、前記コンピュータにより必要時に前記入力転送データが書き込まれる入力領域と、同じく前記コンピュータにより必要時に前記出力転送データが読み出される出力領域とを設け、
前記シーケンス制御周期より短い所定のコピー周期で、常時、前記デュアルポートメモリの入力領域内の前記入力サイズ設定領域に設定されたサイズのデータとしての入力転送データを前記内部メモリの入力領域へコピーすると共に、前記内部メモリの出力領域内の前記出力サイズ設定領域に設定されたサイズのデータとしての出力転送データを前記デュアルポートメモリの出力領域へコピーすることを繰り返すコピー手段を設けたことを特徴とするコンピュータ組み付け型プログラマブルコントローラ。 The control state data received from one or more control target devices is stored in the corresponding areas of the internal memory, and a sequence operation is performed using all the control state data, and a new result obtained as a result of the operation is obtained. The control state data in the internal memory is updated with each control state data, and the new control state data is repeatedly transmitted to the corresponding control target device at a predetermined sequence control cycle, and the control target device is sequenced. The internal memory in the programmable controller to be controlled is further connected to the programmable controller from the computer side via a dual port memory on the buses on both the computer side and the programmable controller side, and the same memory area can be accessed from both. Input region for storing input transfer data transferred to the over La side, provided the output region for storing output transfer data to be transferred through the dual port memory to the computer side from the programmable controller side,
In addition to the control status data received from the control target device in the internal memory, the programmable controller further performs a sequence calculation using the input transfer data read from the input area in the internal memory for each sequence control cycle. As a result of this calculation, a computer-assembled programmable controller that obtains the output transfer data in addition to new control state data to be transmitted to the control target device and writes the output transfer data to the output area in the internal memory In the controller
In the dual port memory, an input size setting area in which the size of the input transfer data is set in advance by the computer, an output size setting area in which the size of the output transfer data is set in advance by the computer, and the computer An input area where the input transfer data is written when necessary, and an output area where the output transfer data is also read when necessary by the computer,
In a predetermined copy cycle shorter than the sequence control cycle, input transfer data as data having a size set in the input size setting region in the input region of the dual port memory is always copied to the input region of the internal memory. And a copy unit that repeats copying output transfer data as data having a size set in the output size setting area in the output area of the internal memory to the output area of the dual port memory. A computer-assembled programmable controller.
前記デュアルポートメモリの入力サイズ設定領域または(および)出力サイズ設定領域への設定値を0または空白としたときは、前記コピー手段が前記デュアルポートメモリおよび内部メモリのそれぞれ入力領域の相互間または(および)出力領域の相互間に関わる前記のコピー動作を省略することを特徴とするコンピュータ組み付け型プログラマブルコントローラ。 The computer-assembled programmable controller according to claim 1,
When the setting value for the input size setting area or / and the output size setting area of the dual port memory is set to 0 or blank, the copying means is connected between the input areas of the dual port memory and the internal memory, or ( And) a computer-assembled programmable controller characterized by omitting the above-described copying operation between output areas.
前記デュアルポートメモリに、該デュアルポートメモリの前記出力領域内の監視対象となるデータビットとしての監視ビットが存在する位置を特定するデータである監視ビット位置データが前記コンピュータにより予め設定される領域としての監視ビット位置設定領域と、割込発生用データの書込に基づいて前記コンピュータへの割込信号を発生する割込信号発生領域と、前記コンピュータが該割込信号の入力時に割込発生の要因となるビットを読み出す領域としての割込発生要因ビット領域とを設け、
前記コピー周期に同期して、常時、前記デュアルポートメモリの監視ビット位置設定領域に設定された前記監視ビット位置データによって特定される、前記デュアルポートメモリの出力領域内の監視ビットを監視し、該監視ビットが割込を発生すべき値へ変化したときは前記デュアルポートメモリの割込発生要因ビット領域に当該の監視ビットについての前記監視ビット位置データを書き込むと共に、前記デュアルポートメモリの割込信号発生領域に割込発生用データを書き込み、前記コンピュータへ割込信号を与えるビット変化監視手段を設けたことを特徴とするコンピュータ組み付け型プログラマブルコントローラ。 The computer-assembled programmable controller according to claim 1 or 2,
An area in which monitor bit position data, which is data specifying a position where a monitor bit as a data bit to be monitored in the output area of the dual port memory exists in the dual port memory, is preset by the computer. Monitoring bit position setting area, an interrupt signal generation area for generating an interrupt signal to the computer based on the writing of interrupt generation data, and an interrupt generation when the computer inputs the interrupt signal An interrupt generation factor bit area is provided as an area for reading the factor bit,
In synchronization with the copy cycle, the monitoring bit in the output area of the dual port memory specified by the monitoring bit position data set in the monitoring bit position setting area of the dual port memory is constantly monitored, When the monitoring bit changes to a value to generate an interrupt, the monitoring bit position data for the monitoring bit is written in the interrupt generation factor bit area of the dual port memory, and the interrupt signal of the dual port memory A computer-assembled programmable controller comprising bit change monitoring means for writing interrupt generation data in a generation area and supplying an interrupt signal to the computer.
前記コンピュータが、前記割込信号の入力に基づき前記デュアルポートメモリの割込発生要因ビット領域から前記監視ビット位置データを読み出し、該監視ビット位置データの別と当該の割込信号に応じて作動すべきアプリケーションプログラムの別との対応を示す割込管理テーブルから該当するアプリケーションプログラムを求めて作動させるものであることを特徴とするコンピュータ組み付け型プログラマブルコントローラ。 The computer-assembled programmable controller according to claim 3,
The computer reads the monitoring bit position data from the interrupt generation factor bit area of the dual port memory based on the input of the interrupt signal, and operates according to the monitoring bit position data and the interrupt signal. What is claimed is: 1. A computer-assembled programmable controller characterized in that a corresponding application program is obtained from an interrupt management table indicating correspondence with different application programs to be operated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005239899A JP4434103B2 (en) | 2005-08-22 | 2005-08-22 | Computer-assembled programmable controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005239899A JP4434103B2 (en) | 2005-08-22 | 2005-08-22 | Computer-assembled programmable controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007058302A JP2007058302A (en) | 2007-03-08 |
JP4434103B2 true JP4434103B2 (en) | 2010-03-17 |
Family
ID=37921789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005239899A Active JP4434103B2 (en) | 2005-08-22 | 2005-08-22 | Computer-assembled programmable controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4434103B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011070953A1 (en) * | 2009-12-09 | 2011-06-16 | 日本電気株式会社 | Position-determining device, position-determining system, position-determining method, and program |
JP5508098B2 (en) * | 2010-03-31 | 2014-05-28 | 株式会社キーエンス | Programmable controller, data communication method, and computer program |
-
2005
- 2005-08-22 JP JP2005239899A patent/JP4434103B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007058302A (en) | 2007-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7428659B2 (en) | Programmable controller with CPU units and special-function modules and method of doubling up | |
CN1326042C (en) | Fault-tderant computer system and its resynchronization method and program | |
KR100932057B1 (en) | PL | |
JP2016110458A (en) | Programmable logic controller, basic unit, control method and program | |
EP0447685B1 (en) | Programmable controller | |
US5978932A (en) | Standby redundancy system | |
JP4434103B2 (en) | Computer-assembled programmable controller | |
KR20050054940A (en) | Method and circuit arrangement for synchronization of synchronously or asynchronously clocked processing units | |
JP2006178659A (en) | Fault tolerant computer system and interrupt control method therefor | |
JP2000138726A (en) | Data processor | |
JP3308386B2 (en) | Control system | |
JP2008226111A (en) | Duplication controller system and operation system controller | |
JP7271973B2 (en) | VEHICLE CONTROL DEVICE AND OPERATING CLOCK SWITCHING METHOD | |
JP2008077265A (en) | Program update method for programmable controller | |
JP2002006910A (en) | Programable controller with updating function and method for updating function of function extention unit in programable controller | |
JP2020184184A (en) | I/o control device | |
JP2000242317A (en) | Programmable controller | |
JP3903688B2 (en) | Bank switching system | |
JP5271217B2 (en) | Touch detection device for touch panel and touch detection method thereof | |
JP2000132210A (en) | Controller and cooperation controlling method | |
US20210247746A1 (en) | Support device and support program | |
JPH10326199A (en) | Interruption synchronizing device in dual system | |
JPH05119997A (en) | Patching introduction system | |
JPH07261814A (en) | Interruption synchronizing method for dual system of pc | |
JP2001188744A (en) | Microcomputer device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080715 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080919 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20081215 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091203 |
|
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: 20091208 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4434103 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130108 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140108 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |