JP5377448B2 - Control device programming tool and control device program creation support method - Google Patents

Control device programming tool and control device program creation support method Download PDF

Info

Publication number
JP5377448B2
JP5377448B2 JP2010203371A JP2010203371A JP5377448B2 JP 5377448 B2 JP5377448 B2 JP 5377448B2 JP 2010203371 A JP2010203371 A JP 2010203371A JP 2010203371 A JP2010203371 A JP 2010203371A JP 5377448 B2 JP5377448 B2 JP 5377448B2
Authority
JP
Japan
Prior art keywords
data
control device
controllers
program
transfer memory
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
Application number
JP2010203371A
Other languages
Japanese (ja)
Other versions
JP2012059128A (en
Inventor
直 舛永
亘 笹木
祐策 大塚
一彦 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010203371A priority Critical patent/JP5377448B2/en
Publication of JP2012059128A publication Critical patent/JP2012059128A/en
Application granted granted Critical
Publication of JP5377448B2 publication Critical patent/JP5377448B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、制御装置用プログラミングツール及び制御装置用プログラムの作成支援方法に係り、特に、IEC(International Electrotechnical Commission:国際電気標準会議)により制定された機能安全規格(IEC61508)に準拠し、ネットワークに接続された転写メモリを用いて複数のコントローラ間で通信を行ってプラントシステムの制御を行うプロセス制御装置用のプログラムの作成支援を行う制御装置用プログラミングツール及び制御装置用プログラムの作成支援方法に関する。   The present invention relates to a programming tool for a control device and a method for supporting creation of a program for a control device, and more particularly, to a network that conforms to a functional safety standard (IEC 61508) established by the IEC (International Electrotechnical Commission). The present invention relates to a programming tool for a control device that supports creation of a program for a process control device that controls a plant system by communicating between a plurality of controllers using a connected transfer memory, and a creation support method for a control device program.

一般に、各種プラントシステムにおけるプロセス制御は、複数のコントローラがネットワークにより接続され、複数のコントローラが各コントローラ間で相互にデータを共有して行われている。このように、複数のコントローラ相互間でデータを共有することを可能とする従来技術として、例えば、特許文献1等に記載された技術が知られている。   In general, process control in various plant systems is performed by connecting a plurality of controllers via a network and sharing the data among the controllers. As described above, for example, a technique described in Patent Document 1 is known as a conventional technique that enables data to be shared among a plurality of controllers.

この従来技術は、転写メモリを用いたサイクリック転写通信技術に関するもので、複数のコントローラのそれぞれに転写メモリとローカルプロセッサとが設けられ、ローカルプロセッサによってコントローラ間の通信を制御するというものである。そして、各ローカルプロセッサは、転写メモリ上の自コントローラに割り当てられたデータを他の計算機に向けて周期的にブロードキャストすることにより、各コントローラ内の転写メモリのデータの一致化を図っている。   This prior art relates to a cyclic transfer communication technique using a transfer memory, in which a transfer memory and a local processor are provided in each of a plurality of controllers, and communication between the controllers is controlled by the local processor. Each local processor periodically broadcasts data assigned to its own controller on the transfer memory to other computers, thereby matching the data in the transfer memory in each controller.

一方、プラントシステムは、そのリスク軽減のため、コントローラ間の通信に機能安全が求められている。機能安全とは、故障が発生してもシステムや機器の安全性を確保することができるように機能を実装しておくという考え方であり、機能安全の通信には、1対1の機器間での要求−応答というパケット通信を利用して行われるのが一般的である。   On the other hand, functional safety is required for communication between controllers in order to reduce the risk of plant systems. Functional safety is the idea that functions are implemented so that the safety of systems and equipment can be ensured even if a failure occurs. Functional safety communication is performed between one-to-one equipment. It is common to use packet communication called request-response.

そして、前述したような機能安全の考え方とプラントシステムの制御とを両立させるような、転写メモリを用いた複数のコントローラ間の通信として、データの送受信を確認しながら通信を行うハンドシェイク通信の技術を利用することも可能である。   And the technology of handshake communication that performs communication while confirming data transmission / reception as communication between multiple controllers using transfer memory, which makes the concept of functional safety and control of the plant system as described above compatible. It is also possible to use.

特開平7−219902号公報Japanese Patent Laid-Open No. 7-219902

各種プラントシステムにおけるプロセス制御におけるアプリケーションプログラムの実行において、コントローラ間の通信に乗せる変数のデータ転送処理が通信処理と非同期である場合、受信側へ変数データが期待するように正確に伝送されない場合がある。   In the execution of application programs in process control in various plant systems, if the data transfer processing of variables to be put on the communication between controllers is asynchronous with the communication processing, the variable data may not be transmitted accurately to the receiving side as expected. .

従来技術によるプロセス制御装置用のプログラムの作成支援を行う制御装置用プログラミングツールは、アプリケーションプログラム実行テストによって非同期となるデータの変数を見つけなければならないものであり、テストにかかるコスト増とテスト効率の低下とを招いてしまうという問題点を有している。   A programming tool for a control device that supports the creation of a program for a process control device according to the prior art must find data variables that become asynchronous by an application program execution test, which increases test costs and increases test efficiency. It has the problem of inviting a decline.

また、通信に乗せる全データを同期させることができるように、通信を行わせることも可能であるが、同期させるためには、複数のコントローラ間において、全伝送データの送受信を確認しながら通信を行う通信プロトコル(送信要求/受信応答)が必要となり、プラントシステムのプロセス制御を行うコントローラの通信負荷を増大させてしまうという問題点を生じさせてしまうことになる。   In addition, communication can be performed so that all data to be put on communication can be synchronized, but in order to synchronize, communication is performed while confirming transmission / reception of all transmission data between a plurality of controllers. A communication protocol (transmission request / reception response) to be performed is required, which causes a problem of increasing the communication load of the controller that performs process control of the plant system.

また、コントローラ間で通信される伝送データの中には、同期を取らないとプラント運用の継続を実現することができないようなデータもあり、プログラミングツールにより、プログラミング時に非同期となる伝送データの変数を抽出し、同期的に自動でプログラミングすることも可能ではあるが、実現手法として非現実的である。   In addition, some of the transmission data communicated between controllers cannot be used for continuous plant operation unless synchronization is established. Although it is possible to extract and program automatically synchronously, it is unrealistic as an implementation method.

本発明の目的は、前述したような従来技術の制御装置用プログラミングツールの問題点を解消し、複数のコントローラ相互間でデータの送受信を行ってデータを共有してプロセスの制御を行うプロセス制御装置用のプログラムの作成支援を行い、プログラミングの段階で複数のコントローラ相互間でのデータの送受信が非同期となる伝送データの変数を見つけることができる制御装置用プログラミングツール及び制御装置用プログラムの作成支援方法を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to solve the problems of the above-described conventional programming tool for a control device, and to control the process by transmitting and receiving data between a plurality of controllers and sharing the data. Control device programming tool and control device program creation support method capable of finding a transmission data variable in which transmission / reception of data between a plurality of controllers is asynchronous in a programming stage Is to provide.

本発明によれば前記目的は、複数のコントローラ相互間でデータの送受信を行ってデータを共有してプロセスの制御を行うプロセス制御装置用のプログラムの作成支援を行う制御装置用プログラミングツールにおいて、プログラムの作成支援を行う対象となるプロセス制御装置は、ネットワークを介して他のコントローラとの間で送受信するデータを保持する転写メモリと、他のコントローラから周期的に送信されてくるデータを受信して前記転写メモリの受信エリア上のデータを逐次更新し、前記転写メモリの送信エリア上の送信データを周期的に他の複数のコントローラへ送信する通信プロセッサと、他のコントローラへ送信する送信データを、前記転写メモリの送信エリアへ書き込むCPUとを備えたコントローラをネットワークを介して複数接続して構成されてプロセス制御を行うプロセス制御装置であり、前記制御装置用プログラミングツールは、前記複数のコントローラのそれぞれがプロセスを制御するためのプログラムを編集するエディタと、編集された前記プログラムを各コントローラで実行可能な実行モジュールに変換するコンパイラと、前記コントローラが前記実行モジュールをダウンロードして実行した際、コントローラ相互間でデータの送受信を行う処理が発生し、送信側で転写メモリにデータを書き込む周期と受信側で転写メモリからデータを読み出す周期との相違により生じる非同期によりデータが正しく伝送されていないことを検出する手段と、データが正しく伝送されていなかった場合に、その旨を警告する手段とを備えることにより達成される。   According to the present invention, the object is to provide a programming tool for a control device that supports creation of a program for a process control device that performs data control among a plurality of controllers and shares the data to control the process. The process control device for which the creation support is received receives a transfer memory that holds data to be transmitted / received to / from another controller via the network and data periodically transmitted from the other controller. A communication processor that sequentially updates data on the reception area of the transfer memory, periodically transmits transmission data on the transmission area of the transfer memory to other controllers, and transmission data to be transmitted to other controllers. A controller having a CPU for writing to the transmission area of the transfer memory via a network A plurality of controllers connected to each other to perform process control, the control device programming tool comprising: an editor for editing a program for each of the plurality of controllers to control a process; When the controller downloads and executes the execution module, the compiler that converts the program into an execution module that can be executed by each controller, and when the controller downloads and executes the data, a process of transmitting and receiving data between the controllers occurs. Means to detect that data is not being transmitted correctly due to the asynchronousness caused by the difference between the data write cycle and the data read cycle from the transfer memory on the receiving side, and when data is not transmitted correctly Achieved by providing means for warning

本発明によれば、プログラミングの段階で同期すべき伝送データ(変数)を抽出し、期待するデータ(変数)が正確に伝送されない場合に警報を出すことができる。   According to the present invention, it is possible to extract transmission data (variables) to be synchronized in a programming stage and to issue an alarm when expected data (variables) are not transmitted accurately.

本発明の一実施形態による制御装置用プログラミングツール及び模擬的なプロセス制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the programming tool for control apparatuses by one Embodiment of this invention, and a simulation process control apparatus. コントローラ相互間でのデータ転送の処理とデータ流れとを示す図である。It is a figure which shows the process of data transfer between controllers, and a data flow. コントローラ相互間での通信を行うためのアプリケーションプログラムを処理するCPUの構成と通信の基本的な動作について説明する図である。It is a figure explaining the structure of CPU which processes the application program for performing communication between controllers, and the fundamental operation | movement of communication. 送信側と受信側とが正しく同期している場合のタイムチャートである。It is a time chart when the transmission side and the reception side are correctly synchronized. 送信側と受信側とが正しく同期していない場合で、受信データの読み出し周期が送信データの書き込み周期より長い場合のタイムチャートである。FIG. 10 is a time chart when the transmission side and the reception side are not correctly synchronized and the reception data read cycle is longer than the transmission data write cycle. FIG. 送信側と受信側とが正しく同期していない場合で、送信データの書き込み周期が受信データの読み出し周期より長い場合のタイムチャートである。It is a time chart when the transmission side and the reception side are not correctly synchronized and the transmission data write cycle is longer than the reception data read cycle. プログラミングツールで作業者に警告を行う画面の構成例を示す図である。It is a figure which shows the structural example of the screen which alerts an operator with a programming tool.

以下、本発明による制御装置用プログラミングツール及び制御装置用プログラムの作成支援方法の実施形態を図面により詳細に説明する。   DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of a control device programming tool and a control device program creation support method according to the present invention will be described below in detail with reference to the drawings.

図1は本発明の一実施形態による制御装置用プログラミングツール及び模擬的なプロセス制御装置の構成を示すブロック図である。   FIG. 1 is a block diagram showing the configuration of a controller programming tool and a simulated process controller according to an embodiment of the present invention.

図1に示す模擬的なプロセス制御装置は、本発明の実施形態による制御装置用プログラミングツールが、プログラムの作成支援を行う際に対象となるプロセスを模擬したものであり、制御装置用プログラミングツール内にソフトウェア的に形成されているものであってよい。そして、この疑似的なプロセス制御装置は、制御対象に対する演算・制御を行う複数のコントローラ101、201と、制御対象の動作状態を検出するセンサ107、207と、センサ107、207からの検出信号を受信しコントローラ101、201へ転送する信号入力装置106、206と、コントローラ101、201からの制御信号をアクチュエータ109、209へ転送する信号出力装置108、208とにより構成されている。また、本発明の一実施形態による制御装置用プログラミングツール301は、パーソナルコンピュータ等の中に構築されており、エディタ303とコンパイラ304とを備えて構成されている。   The simulated process control apparatus shown in FIG. 1 simulates a process that is a target when the programming tool for the control apparatus according to the embodiment of the present invention supports the creation of a program. It may be formed by software. The pseudo process control apparatus includes a plurality of controllers 101 and 201 that perform calculation / control on the control target, sensors 107 and 207 that detect the operation state of the control target, and detection signals from the sensors 107 and 207. The signal input devices 106 and 206 that receive and transfer to the controllers 101 and 201, and the signal output devices 108 and 208 that transfer control signals from the controllers 101 and 201 to the actuators 109 and 209, respectively. A control device programming tool 301 according to an embodiment of the present invention is constructed in a personal computer or the like, and includes an editor 303 and a compiler 304.

前述において、コントローラ101と201とは、複数のコントローラを接続するネットワーク901によって接続されており、各コントローラ101、201相互間で伝送データの授受を行っている。この伝送データの授受は、ネットワーク901を介して接続されている制御装置用プログラミングツール301からコントローラ用の実行モジュールを受け取り、受け取った実行モジュールの制御の下で行われる。   In the above description, the controllers 101 and 201 are connected by a network 901 that connects a plurality of controllers, and transfer data is exchanged between the controllers 101 and 201. The transmission / reception of the transmission data is performed under the control of the execution module received from the controller execution tool 301 connected from the control device programming tool 301 connected via the network 901.

また、制御対象を制御するコントローラ101、201は、アプリケーションプログラムの実行処理を含めたコントローラの情報処理を行う中央処理装置(CPU)102、202と、コントローラ相互間の通信処理を行い、CPU102、202から直接読み書きされる転写メモリ104、204を備えた通信プロセッサ(NCP)103、203と、
CPU102、202及びNCP103、203の相互を接続するシステムバス105、205とにより構成されている。転写メモリ104、204は、コントローラ101、102相互間でのデータの送受信のために使用されるものであるため、送信データを格納する送信エリアと受信データを格納する受信エリアとを備えて構成されている。なお、以下の説明では、送信エリアと受信エリアとを区別することなく単に転写メモリと表記している。
The controllers 101 and 201 that control the control target perform communication processing between the central processing units (CPUs) 102 and 202 that perform information processing of the controller including application program execution processing, and the CPUs 102 and 202. Communication processors (NCP) 103 and 203 having transfer memories 104 and 204 that are directly read / written from
The system buses 105 and 205 connect the CPUs 102 and 202 and the NCPs 103 and 203 to each other. Since the transfer memories 104 and 204 are used for transmitting and receiving data between the controllers 101 and 102, the transfer memories 104 and 204 include a transmission area for storing transmission data and a reception area for storing reception data. ing. In the following description, the transmission area and the reception area are simply referred to as a transfer memory without being distinguished from each other.

前述したコントローラ101、201を有して構成されているプロセス制御装置は、すでに制御したように、本発明の実施形態による制御装置用プログラミングツールが、プロセス制御装置用のプログラムの作成支援を行うために使用する疑似的なものであり、プロセスを実際に制御するものではない。   As described above, since the process control apparatus configured to include the controllers 101 and 201 is controlled, the control apparatus programming tool according to the embodiment of the present invention supports the creation of a program for the process control apparatus. This is a pseudo-product used in the process, and does not actually control the process.

プログラミングツール301に備えられるエディタ303は、各コントローラ101、201で実行するためのプログラムであるコントローラ101用プログラム302A、コントローラ102用プログラム302Bを編集するものである。   An editor 303 provided in the programming tool 301 edits the controller 101 program 302A and the controller 102 program 302B, which are programs to be executed by the controllers 101 and 201.

なお、前述のプログラム302A、302Bは、いわゆる国際標準であるIEC61131−3規格のPLC(Programmable Logic Controller)プログラミング言語を使用してプログラミングされるが、このプログラム言語は、一般に周知なものであるので、ここでの説明を省略する。   The above-mentioned programs 302A and 302B are programmed using a PLC (Programmable Logic Controller) programming language of IEC61131-3 standard, which is a so-called international standard, but since this programming language is generally known, The description here is omitted.

プログラミングツール301に備えられるコンパイラ304は、プログラム302A、302Bをコンパイル処理するものであり、エディタ303により編集されたプログラム302A、302Bを各コントローラ101、201上で実行可能な形式である実行モジュールであるコントローラ101用実行モジュール305A、コントローラ102用実行モジュール305Bに変換する。実行可能な形式に変換された実行モジュール305A、305Bは、ネットワーク901を介して、プロセス制御装置を構成する各コントローラ101、201へダウンロードされ、プロセスの制御処理を実行する。   A compiler 304 provided in the programming tool 301 compiles the programs 302A and 302B, and is an execution module that has a format in which the programs 302A and 302B edited by the editor 303 can be executed on the controllers 101 and 201. The execution module 305A for the controller 101 and the execution module 305B for the controller 102 are converted. Execution modules 305A and 305B converted into an executable format are downloaded to the respective controllers 101 and 201 constituting the process control apparatus via the network 901 and execute process control processing.

前述まての説明では、2つのコントローラ101、201がネットワーク901に接続された例について説明してきたが、ネットワーク901に接続されるコントローラの台数は、これに限定されるものではなく、さらに多数のコントローラがネットワーク901に接続されていてもよい。   In the above description, an example in which two controllers 101 and 201 are connected to the network 901 has been described. However, the number of controllers connected to the network 901 is not limited to this, and a larger number of controllers are connected. A controller may be connected to the network 901.

例えば、一般的な発電プラントは、プラント全体の稼働率の向上と信頼性の向上とを目的に、ある負荷側の機器に対して、複数のコントローラ、複数の弁やバルブ等を対応させて設け、多重化したプロセスデータ信号を、複数のコントローラ間でお互いに共有して、各コントローラ内で照合・選択処理等を実施するような多重制御が利用されることが多い。このような多重制御を行うためには、コントローラ相互間でのデータ授受が不可欠である。   For example, a general power plant is provided with a plurality of controllers, a plurality of valves, valves, etc. corresponding to a certain load side device for the purpose of improving the operating rate and reliability of the whole plant. In many cases, multiple control is used in which multiplexed process data signals are shared among a plurality of controllers and collation / selection processing or the like is performed in each controller. In order to perform such multiple control, data exchange between controllers is indispensable.

図2はコントローラ相互間でのデータ転送の処理とデータ流れとを示す図である。図2に示す例は、コントローラ101側のセンサからの検出信号を、コントローラ101内のCPU102で受け取って処理を加え、処理後のデータを転写メモリ104に出力し、この転写メモリ104からネットワーク901を介してコントローラ201内の転写メモリ204へデータを転送し、コントローラ201のCPU202で転写メモリ204内のデータを受け取って処理を加え、処理後のデータをバルブに出力してバルブを制御している例である。   FIG. 2 is a diagram showing a data transfer process and data flow between controllers. In the example shown in FIG. 2, a detection signal from a sensor on the controller 101 side is received by the CPU 102 in the controller 101 and processed, and the processed data is output to the transfer memory 104, and the network 901 is transferred from the transfer memory 104. The data is transferred to the transfer memory 204 in the controller 201 via the CPU 201, and the CPU 202 of the controller 201 receives the data in the transfer memory 204 for processing, and outputs the processed data to the valve to control the valve. It is.

図2に示す例において、送信データ保持している転写メモリ104からデータを送信する際にデータをサンプリング処理する周期及び位相と、送信されてきたデータを受信し、受信データを保持する転写メモリ204から処理のためにデータを読み出す周期及び位相とが正しく同期していない場合、データが期待するように正確に伝送されない場合があるという非同期問題が生じてしまう。   In the example shown in FIG. 2, when data is transmitted from the transfer memory 104 that holds transmission data, the cycle and phase for sampling the data, and the transfer memory 204 that receives the received data and holds the received data. If the period and phase at which data is read out for processing are not correctly synchronized, there will be an asynchronous problem that the data may not be transmitted accurately as expected.

図3はコントローラ相互間での通信を行うためのアプリケーションプログラムを処理するCPU102、202の構成と通信の基本的な動作について説明する図である。ここで説明する通信は、図2により説明したと同様な内容を持つものである。   FIG. 3 is a diagram illustrating the configuration of the CPUs 102 and 202 that process an application program for performing communication between controllers and the basic operation of communication. The communication described here has the same contents as described with reference to FIG.

図3に示すように、コントローラ101内のCPU102は、アプリケーションプログラムとして、カウンタプログラム401及び照合プログラム404を取り込んでこれらのプログラムの処理を行い、同様に、コントローラ201内のCPU202は、アプリケーションプログラムとして、カウンタプログラム501及び照合プログラム504を取り込んでこれらのプログラムの処理を行っている。   As shown in FIG. 3, the CPU 102 in the controller 101 takes in the counter program 401 and the collation program 404 as application programs and processes these programs. Similarly, the CPU 202 in the controller 201 The counter program 501 and the collation program 504 are taken in and these programs are processed.

ここでは、通信の動作を、コントローラ101のCPU102からコントローラ201のCPU202にデータを送信する場合を例として説明するが、コントローラ201のCPU202からコントローラ101のCPU102にデータを送信する場合も、データ送信の基本的な動作内容については、CPU102からデータを送信する例と同様であるのでその説明を省略する。   Here, the communication operation will be described as an example in which data is transmitted from the CPU 102 of the controller 101 to the CPU 202 of the controller 201. However, even when data is transmitted from the CPU 202 of the controller 201 to the CPU 102 of the controller 101, data transmission is performed. The basic operation content is the same as the example in which data is transmitted from the CPU 102, and therefore the description thereof is omitted.

送信プログラムは、コントローラ101内のカウンタプログラム401によりCPU102が生成している。そして、生成された送信プログラムは、周期的に更新される送信データ402を転写メモリ104に書き込む。送信データ402の転写メモリ104への書き込みは、送信プログラムが一定の周期で送信データ402をサンプリングして行われる。   The transmission program is generated by the CPU 102 by the counter program 401 in the controller 101. Then, the generated transmission program writes transmission data 402 that is periodically updated in the transfer memory 104. The transmission data 402 is written into the transfer memory 104 by sampling the transmission data 402 at a constant cycle by the transmission program.

転写メモリ104内の送信データは、送信プログラムが送信データ402をサンプリングする周期とは異なる周期で周期的にネットワーク901を介してコントローラ201側に送信される。その際、送信データには、送信元と受信元とが設定される。   Transmission data in the transfer memory 104 is periodically transmitted to the controller 201 side via the network 901 at a period different from the period at which the transmission program samples the transmission data 402. At that time, a transmission source and a reception source are set in the transmission data.

受信側となるコントローラ201の転写メモリ204は、送信側のコントローラ101の転写メモリ104から送信されてきたデータを受信して自転写メモリ204内に格納する。コントローラ201内のカウンタプログラム504によりCPU202で生成された図示しない受信プログラムは、データが送信されてくる周期とは異なる周期で周期的に転写メモリ204から受信データ502を読み出し、照合プログラム501に読み出したデータを渡す。   The transfer memory 204 of the controller 201 on the reception side receives the data transmitted from the transfer memory 104 of the transmission side controller 101 and stores it in the self-transfer memory 204. A reception program (not shown) generated by the CPU 202 by the counter program 504 in the controller 201 periodically reads the reception data 502 from the transfer memory 204 at a period different from the period in which the data is transmitted, and reads it into the verification program 501. Pass data.

照合プログラム501は、今回受信したデータの値である今回値と前回受信したデータの値である前回値とを照合し、照合の結果に基づいて、送信されるデータが確実に受信されているか否かを判定している。この判定は、照合プログラム501が、複数回に渡る照合を行った結果、一定回数以上一致している状態が続いた場合に、送信されるデータが正しく受信されていないと判断することにより行われる。すなわち、照合プログラム501は、複数回に渡る照合の結果、照合の結果が一定回数毎に不一致を繰り返す場合に、送信されるデータが正しく受信されていると判断する。   The collation program 501 collates the current value, which is the value of the data received this time, with the previous value, which is the value of the data received last time, and whether or not the data to be transmitted is reliably received based on the result of the collation. Judging. This determination is performed by determining that the data to be transmitted is not correctly received when the collation program 501 performs the collation over a plurality of times and continues to be consistent for a certain number of times. . In other words, the collation program 501 determines that the data to be transmitted is correctly received when the collation results are repeatedly mismatched every certain number of times as a result of collation over a plurality of times.

前述したようにCPU102で生成される送信プログラムが送信データ402をサンプリングして転写メモリ104に書き込む周期と、CPU202で生成される受信プログラムが転写メモリ204から受信データ502を読み出して照合プログラム501に渡す周期とが同期していれば、送信されるデータが確実に受信側に渡ることになる。   As described above, the transmission program generated by the CPU 102 samples the transmission data 402 and writes it in the transfer memory 104, and the reception program generated by the CPU 202 reads the reception data 502 from the transfer memory 204 and passes it to the verification program 501. If the period is synchronized, the transmitted data is surely passed to the receiving side.

しかし、前述したような同期ができていない場合、送信されるデータが受信側に渡らない場合がある。このような非同期となる伝送データを見つけるため、プログラミングツールは、タイミングを調整する等を行って、何度もテストをする必要がある。   However, if the synchronization as described above is not achieved, the transmitted data may not pass to the receiving side. In order to find such asynchronous transmission data, the programming tool needs to test many times by adjusting the timing.

以下、送信側と受信側との同期について、同期、非同期の状況を示すタイムチャートを用いて説明する。   Hereinafter, the synchronization between the transmission side and the reception side will be described with reference to time charts showing synchronous and asynchronous situations.

図4は送信側と受信側とが正しく同期している場合のタイムチャート、図5は送信側と受信側とが正しく同期していない場合で、受信データの読み出し周期が送信データの書き込み周期より長い場合のタイムチャート、図6は送信側と受信側とが正しく同期していない場合で、送信データの書き込み周期が受信データの読み出し周期より長い場合のタイムチャートである。   FIG. 4 is a time chart when the transmitting side and the receiving side are correctly synchronized, and FIG. 5 is a case where the transmitting side and the receiving side are not correctly synchronized, and the read data read cycle is greater than the transmit data write cycle. FIG. 6 is a time chart when the transmission side and the reception side are not correctly synchronized, and when the transmission data write cycle is longer than the reception data read cycle.

送信側と受信側とが正しく同期しているかどうかは、送信側の転写メモリにデータを書き込むタイミング(周期)と、受信側の転写メモリから受信データを読み出すタイミング(周期)とが一致しているか否かにより決まることになる。   Whether the sending side and the receiving side are correctly synchronized depends on whether the timing (cycle) at which data is written to the transfer memory on the sending side matches the timing (cycle) at which the received data is read from the transfer memory on the receiving side. It depends on whether or not.

図4に示す例では、送信データを送信側の転写メモリに書き込む周期と受信側における受信側の転写メモリから受信データを読み出す周期が一致している。従って、この図4に示す例の場合、送信側から送信されるデータが正しく受信側で受信されている。   In the example shown in FIG. 4, the cycle for writing the transmission data to the transfer memory on the transmission side coincides with the cycle for reading the reception data from the transfer memory on the reception side. Therefore, in the example shown in FIG. 4, data transmitted from the transmission side is correctly received at the reception side.

図5に示す例では、受信側における受信側の転写メモリから受信データを読み出す周期が送信データを送信側の転写メモリに書き込む周期より長く、かつ、読み出しデータの1ビットの周期(データの変化の間隔)より長くなっており、この結果、読み出されるデータが、常に、特定の値、図示例では“1”となって意味をなさないものとなっている。また、図6に示す例では、送信データを送信側の転写メモリに書き込む周期が受信側における受信側の転写メモリから受信データを読み出す周期より長く、かつ、送信データの1ビット周期(データの変化の間隔)より長くなっており、この結果、送信側の転写メモリに格納された送信データが常に、特定の値、図示例では“1”となって意味をなさないものとなっている。   In the example shown in FIG. 5, the period at which reception data is read from the reception-side transfer memory on the reception side is longer than the period at which transmission data is written to the transmission-side transfer memory, and the 1-bit period of the read data (data change As a result, the data to be read is always a specific value, “1” in the illustrated example, which is meaningless. In the example shown in FIG. 6, the cycle for writing the transmission data to the transfer memory on the transmission side is longer than the cycle for reading the reception data from the transfer memory on the reception side, and the 1-bit cycle of the transmission data (data change) As a result, the transmission data stored in the transmission memory on the transmission side is always a specific value, “1” in the illustrated example, which is meaningless.

前述したような同期の状態を調べるためには、送信側の転写メモリにデータを書き込むプログラムと、受信側の転写メモリからデータを読み出すプログラムを抽出して、動作のタイミングに違いがあるか否かを判断することが有効である。   In order to check the synchronization state as described above, it is necessary to extract the program that writes data to the transfer memory on the transmission side and the program that reads data from the transfer memory on the reception side, and whether or not there is a difference in operation timing. It is effective to judge.

本発明の実施形態では、プログラミングツール301が、プログラムのコンパイル時にコンパイラ304が、カウンタプログラム401の送信データ402と照合プログラム501の受信データ502とを抽出し、それらを照合することによりタイミングに違いがあるか否かを判別し、タイミングに違いがある場合に、その旨をプログラミングツール301の表示画面に表示して作業者に警告するようにしている。   In the embodiment of the present invention, when the programming tool 301 compiles the program, the compiler 304 extracts the transmission data 402 of the counter program 401 and the reception data 502 of the collation program 501 and collates them, so that there is a difference in timing. If there is a difference in timing, the fact is displayed on the display screen of the programming tool 301 to warn the operator.

また、本発明の実施形態によるプログラミングツール301は、照合プログラム501の受信データ502の挙動がカウンタプログラム401の送信データ402と合っているか否かをテストして確認することにより、送信側と受信側との間の同期状態の確認を行うことができる。   In addition, the programming tool 301 according to the embodiment of the present invention tests the transmission side and the reception side by testing whether or not the behavior of the reception data 502 of the collation program 501 matches the transmission data 402 of the counter program 401. The synchronization state can be confirmed.

また、本発明の実施形態によるプログラミングツール301は、実際のプロセス制御装置でのプログラム実行段階において、期待するデータの挙動をチェックするため、カウンタプログラム401をCPU202にローディングして実行することができる。これにより、期待するデータと受信データ502との挙動を比較することができ、挙動が異なる場合、作業者に警告を発することができる。   Further, the programming tool 301 according to the embodiment of the present invention can load and execute the counter program 401 on the CPU 202 in order to check the expected data behavior in the program execution stage in the actual process control apparatus. Thereby, the behavior of the expected data and the received data 502 can be compared, and if the behavior is different, a warning can be issued to the operator.

また、転写メモリへのデータの転写周期が送信データの変化の間隔よりも遅いことにより、正しく伝送データが伝わらないことは、転写メモリにデータを書き込む周期が長いことや、転写メモリからデータを読み出す周期が長いことによる非同期問題と同様に考えることにより、前述したと同様に解決することができる。   In addition, since the transfer cycle of data to the transfer memory is slower than the transmission data change interval, the transmission data cannot be transmitted correctly. This is because the cycle of writing data to the transfer memory is long, or the data is read from the transfer memory. By thinking in the same way as the asynchronous problem due to the long period, it can be solved as described above.

図7はプログラミングツールで作業者に警告を行う画面の構成例を示す図である。   FIG. 7 is a diagram showing a configuration example of a screen for warning a worker with a programming tool.

プログラミングツール301が作業者に警告を行う画面は、コントローラ101及びコントローラ201のプログラム構成を示しそれらのプログラムを選択させるプログラム選択画面領域603と、プログラム選択画面領域603で選択されたプログラムを表示するプログラム表示編集画面領域601と、プログラム表示編集画面領域601に表示したプログラムでの処理に対する警告のメッセージを表示する警告メッセージ画面領域602とにより構成されている。   The screen on which the programming tool 301 gives a warning to the operator is a program selection screen area 603 that shows the program configuration of the controller 101 and the controller 201 and allows selection of those programs, and a program that displays the program selected in the program selection screen area 603. A display editing screen area 601 and a warning message screen area 602 for displaying a warning message for processing in the program displayed in the program display editing screen area 601 are configured.

図7には、コントローラ201内のプログラムとして、照合プログラムが選択されてプログラム表示編集画面領域601に表示している例を示している。そして、プログラム表示編集画面領域601には、入力Xとして受信データの今回値が照合処理のためのFB1に入力され、入力Yとして自コントローラ内の前回値が照合処理のためのFB1に入力されて、照合の結果として出力Zを出力している様子が表示されている。また、警告メッセージ画面領域602には、警告メッセージの例として、「Xの入力は同期していません。」が表示されている。   FIG. 7 shows an example in which a collation program is selected as a program in the controller 201 and displayed in the program display edit screen area 601. In the program display edit screen area 601, the current value of the received data is input to the FB1 for collation processing as the input X, and the previous value in its own controller is input to the FB1 for collation processing as the input Y. As a result of the collation, the output Z is displayed. In the warning message screen area 602, “X input is not synchronized” is displayed as an example of the warning message.

101、201 コントローラ
102、202 中央処理装置(CPU)
103、203 通信プロセッサ(NCP)
104、204 転写メモリ
105、205 システムバス
106、206 信号入力装置
107、207 センサ
108、208 信号出力装置
109、209 アクチュエータ
301 プログラミングツール
302A 102用プログラム
302B 202用プログラム
303 エディタ
304 コンパイラ
305A 102用実行モジュール
305B 202用実行モジュール
401、504 カウンタプログラム
404、501 照合プログラム
901 ネットワーク
101, 201 Controller 102, 202 Central processing unit (CPU)
103, 203 Communication processor (NCP)
104, 204 Transfer memory 105, 205 System bus 106, 206 Signal input device 107, 207 Sensor 108, 208 Signal output device 109, 209 Actuator 301 Programming tool 302A 102 program 302B 202 program 303 Editor 304 Compiler 305A 102 execution module 305B 202 execution module 401, 504 Counter program 404, 501 Verification program 901 Network

Claims (5)

複数のコントローラ相互間でデータの送受信を行ってデータを共有してプロセスの制御を行うプロセス制御装置用のプログラムの作成支援を行う制御装置用プログラミングツールにおいて、
プログラムの作成支援を行う対象となるプロセス制御装置は、ネットワークを介して他のコントローラとの間で送受信するデータを保持する転写メモリと、他のコントローラから周期的に送信されてくるデータを受信して前記転写メモリの受信エリア上のデータを逐次更新し、前記転写メモリの送信エリア上の送信データを周期的に他の複数のコントローラへ送信する通信プロセッサと、他のコントローラへ送信する送信データを、前記転写メモリの送信エリアへ書き込むCPUとを備えたコントローラをネットワークを介して複数接続して構成されてプロセス制御を行うプロセス制御装置であり、
前記制御装置用プログラミングツールは、前記複数のコントローラのそれぞれがプロセスを制御するためのプログラムを編集するエディタと、編集された前記プログラムを各コントローラで実行可能な実行モジュールに変換するコンパイラと、前記コントローラが前記実行モジュールをダウンロードして実行した際、コントローラ相互間でデータの送受信を行う処理が発生し、送信側で転写メモリにデータを書き込む周期と受信側で転写メモリからデータを読み出す周期との相違により生じる非同期によりデータが正しく伝送されていないことを検出する手段と、データが正しく伝送されていなかった場合に、その旨を警告する手段とを備えることを特徴とする制御装置用プログラミングツール。
In a programming tool for a control device that supports creation of a program for a process control device that performs process control by transmitting and receiving data between a plurality of controllers and sharing data,
The process control device that supports program creation receives a transfer memory that holds data to be transmitted to and received from other controllers via the network, and data that is periodically transmitted from other controllers. A communication processor that sequentially updates the data on the receiving area of the transfer memory and periodically transmits the transmission data on the transmission area of the transfer memory to the other controllers, and the transmission data to be transmitted to the other controllers. A process control device configured to connect a plurality of controllers including a CPU for writing to the transmission area of the transfer memory via a network to perform process control,
The controller programming tool includes: an editor that edits a program for each of the plurality of controllers to control a process; a compiler that converts the edited program into an execution module executable by each controller; and the controller When the execution module is downloaded and executed, a process of transmitting / receiving data between controllers occurs, and the difference between the cycle of writing data to the transfer memory on the transmission side and the cycle of reading data from the transfer memory on the reception side A control device programming tool, comprising: means for detecting that data is not correctly transmitted due to asynchrony caused by the above; and means for warning that data has not been transmitted correctly.
前記送信側で転写メモリにデータを書き込む周期と受信側で転写メモリからデータを読み出す周期との相違により生じる非同期によりデータが正しく伝送されていないことを検出する手段は、一定の周期で送信データがサンプリングされて送信側の転写メモリの送信エリアに書き込まれ、前記サンプリング周期とは異なる周期で送信されて受信側の転写メモリの受信エリアに受信格納され、その受信データを、データが送信されてくる周期とは異なる周期で周期的に読み出し、今回の受信データと前回の受信データとを照合する照合手段により構成されることを特徴とする請求項1記載の制御装置用プログラミングツール。   The means for detecting that the data is not correctly transmitted due to the asynchronization caused by the difference between the cycle of writing data in the transfer memory on the transmission side and the cycle of reading data from the transfer memory on the reception side is the transmission data is transmitted at a constant cycle. It is sampled and written in the transmission area of the transfer memory on the transmission side, transmitted at a cycle different from the sampling cycle, received and stored in the reception area of the transfer memory on the reception side, and the received data is transmitted. 2. The control device programming tool according to claim 1, further comprising collating means for periodically reading out a period different from the period and collating the current received data with the previous received data. プログラムの作成支援を行う対象となるプロセス制御装置が、制御装置用プログラミングツール内にソフトウェア的に形成されていることを特徴とする請求項1記載の制御装置用プログラミングツール。   2. The control device programming tool according to claim 1, wherein the process control device to which the program creation support is performed is formed in software in the control device programming tool. プログラムの作成支援を行う対象となるプロセス制御装置が、実際のプロセス制御装置であり、制御装置用プログラミングツールは、前記実際のプロセス制御装置でのプログラム実行段階において、期待するデータの挙動をチェックする手段を備えることを特徴とする請求項1記載の制御装置用プログラミングツール。   The process control device for which the program creation support is performed is an actual process control device, and the programming tool for the control device checks the expected data behavior in the program execution stage in the actual process control device. The controller programming tool according to claim 1, further comprising means. 複数のコントローラ相互間でデータの送受信を行ってデータを共有してプロセスの制御を行うプロセス制御装置用のプログラムの作成支援を行う制御装置用プログラミングツールにおける制御装置用のプログラムの作成支援方法において、
プログラムの作成支援を行う対象となるプロセス制御装置は、ネットワークを介して他のコントローラとの間で送受信するデータを保持する転写メモリと、他のコントローラから周期的に送信されてくるデータを受信して前記転写メモリの受信エリア上のデータを逐次更新し、前記転写メモリの送信エリア上の送信データを周期的に他の複数のコントローラへ送信する通信プロセッサと、他のコントローラへ送信する送信データを、前記転写メモリの送信エリアへ書き込むCPUとを備えたコントローラをネットワークを介して複数接続して構成されてプロセス制御を行うプロセス制御装置であり、
前記制御装置用プログラミングツールは、前記複数のコントローラのそれぞれがプロセスを制御するためのプログラムを編集し、編集された前記プログラムを各コントローラで実行可能な実行モジュールに変換し、前記コントローラが前記実行モジュールをダウンロードして実行した際、コントローラ相互間でデータの送受信を行う処理が発生し、送信側で転写メモリにデータを書き込む周期と受信側で転写メモリからデータを読み出す周期との相違により生じる非同期によりデータが正しく伝送されていないことを検出し、データが正しく伝送されていなかった場合に、その旨を警告することを特徴とする制御装置用のプログラムの作成支援方法。
In a method for supporting creation of a program for a control device in a programming tool for a control device that supports creation of a program for a process control device that performs process control by transmitting and receiving data between a plurality of controllers and sharing data,
The process control device that supports program creation receives a transfer memory that holds data to be transmitted to and received from other controllers via the network, and data that is periodically transmitted from other controllers. A communication processor that sequentially updates the data on the receiving area of the transfer memory and periodically transmits the transmission data on the transmission area of the transfer memory to the other controllers, and the transmission data to be transmitted to the other controllers. A process control device configured to connect a plurality of controllers including a CPU for writing to the transmission area of the transfer memory via a network to perform process control,
The control device programming tool edits a program for each of the plurality of controllers to control a process, converts the edited program into an execution module executable by each controller, and the controller executes the execution module. When data is downloaded and executed, processing to send and receive data between controllers occurs. A method for supporting the creation of a program for a control device, characterized by detecting that data is not correctly transmitted and warning that the data is not correctly transmitted.
JP2010203371A 2010-09-10 2010-09-10 Control device programming tool and control device program creation support method Active JP5377448B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010203371A JP5377448B2 (en) 2010-09-10 2010-09-10 Control device programming tool and control device program creation support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010203371A JP5377448B2 (en) 2010-09-10 2010-09-10 Control device programming tool and control device program creation support method

Publications (2)

Publication Number Publication Date
JP2012059128A JP2012059128A (en) 2012-03-22
JP5377448B2 true JP5377448B2 (en) 2013-12-25

Family

ID=46056125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010203371A Active JP5377448B2 (en) 2010-09-10 2010-09-10 Control device programming tool and control device program creation support method

Country Status (1)

Country Link
JP (1) JP5377448B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2018122893A1 (en) * 2016-12-26 2019-10-31 株式会社日立製作所 Data access system and data access method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3029170B2 (en) * 1993-08-05 2000-04-04 株式会社日立製作所 Data transmission method and apparatus, and asynchronous control system
JP5544099B2 (en) * 2009-02-27 2014-07-09 株式会社日立製作所 Controller communication method and controller communication device

Also Published As

Publication number Publication date
JP2012059128A (en) 2012-03-22

Similar Documents

Publication Publication Date Title
EP2196880B1 (en) Plant control system and method
US20120296446A1 (en) Control system for controlling safety-critical and non-safety-critical processes
EP3376316A1 (en) Slave device, control method of slave device, information processing program and computer readable recording medium
EP3432096A1 (en) Relay device, control method for relay device, control program, and recording medium
US20140172403A1 (en) Simulation system, method for carrying out a simulation, control system, and computer program product
US10007633B2 (en) Field bus coupler for connecting input/output modules to a field bus, and method of operation for a field bus coupler
US20140172402A1 (en) Simulation system, method for carrying out a simulation, guidance system, and computer program product
US20080299525A1 (en) Operation training system and operation training method
US8375237B2 (en) Systems and methods for synchronization of an external control system with fieldbus devices
US8204608B2 (en) Monitoring and control apparatus
JP2010250435A (en) Plant monitoring control system
US11165745B2 (en) Control system, controller, and control method
US10890889B2 (en) Method of monitoring and assessing the operation of an industrial installation driven by a programmable controller and equipment implementing said method
JP5377448B2 (en) Control device programming tool and control device program creation support method
US20140222408A1 (en) Simulation system, method of carrying out a simulation, guidance system and computer program product
JP5146231B2 (en) Field communication test device and field communication test system using the same
CN108196527B (en) Test verification system of FPGA and DSP tightly coupled architecture capable of being reconfigured
CN112119358A (en) Simulation device and simulation program
US11092945B2 (en) Control device, control method, and non-transitory storage medium storing control program
JP6787161B2 (en) Network system management equipment, network system management methods, control programs, and recording media
US10810086B2 (en) System and method for emulation of enhanced application module redundancy (EAM-R)
WO2020246095A1 (en) Control system, programmable logic controller, and information processing method
JP6484015B2 (en) Programmable logic controller and control method thereof
CN101770004A (en) Automatic detection method for electric instrument
WO2023189136A1 (en) Development assistance device, development assistance program, and development assistance method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130924

R150 Certificate of patent or registration of utility model

Ref document number: 5377448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150