JP6790541B2 - Logic update device and logic update method - Google Patents

Logic update device and logic update method Download PDF

Info

Publication number
JP6790541B2
JP6790541B2 JP2016142485A JP2016142485A JP6790541B2 JP 6790541 B2 JP6790541 B2 JP 6790541B2 JP 2016142485 A JP2016142485 A JP 2016142485A JP 2016142485 A JP2016142485 A JP 2016142485A JP 6790541 B2 JP6790541 B2 JP 6790541B2
Authority
JP
Japan
Prior art keywords
allocation information
signal
control logic
logic
control
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
JP2016142485A
Other languages
Japanese (ja)
Other versions
JP2018013917A (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.)
IHI Corp
Original Assignee
IHI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IHI Corp filed Critical IHI Corp
Priority to JP2016142485A priority Critical patent/JP6790541B2/en
Publication of JP2018013917A publication Critical patent/JP2018013917A/en
Application granted granted Critical
Publication of JP6790541B2 publication Critical patent/JP6790541B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロジック更新装置及びロジック更新方法に関する。 The present invention relates to a logic update device and a logic update method.

従来から、制御対象を制御する制御装置を連続運転させた状態で、制御装置の制御ロジックを更新する方法が知られている。例えば、特許文献1には、変更前及び変更後の制御ロジックの両方をメモリ上に置いて、制御ロジックを切り替える方法が記載されている。この方法では、変更後の制御ロジックを構成する変数のうち、変更前の制御ロジックを構成する変数から変更される変数及び新規追加の変数について初期化演算が行われた後、制御ロジックの変更が行われる。 Conventionally, there has been known a method of updating the control logic of a control device while the control device that controls the control target is continuously operated. For example, Patent Document 1 describes a method of switching the control logic by placing both the control logic before and after the change on the memory. In this method, among the variables that make up the control logic after the change, the variables that are changed from the variables that make up the control logic before the change and the newly added variables are initialized, and then the control logic is changed. Will be done.

特開2002−63045号公報JP-A-2002-63045

制御ロジックが更新される際、更新用の制御ロジックで使用される信号に対して、ユーザによって手動でメモリアドレスが割り当てられる代わりに、自動でメモリアドレスが割り当てられる場合がある。この場合、ユーザの負担を減らすことができるものの、メモリアドレスの割り当てが適切に行われない可能性があり、改善の余地があった。 When the control logic is updated, the memory address may be automatically assigned to the signal used in the control logic for update instead of being manually assigned by the user. In this case, although the burden on the user can be reduced, there is a possibility that the memory address is not assigned properly, and there is room for improvement.

本発明は上記を鑑みてなされたものであり、制御ロジックの更新に伴うメモリアドレスの割り当てを適切に行うことができるロジック更新装置及びロジック更新方法を提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide a logic update device and a logic update method capable of appropriately allocating a memory address when updating a control logic.

上記目的を達成するため、本発明の一形態に係るロジック更新装置は、制御対象を制御する制御装置において実行されている第1制御ロジックに代わり制御装置において実行される第2制御ロジックを生成するロジック更新装置であって、第1制御ロジックで使用される各信号に対する制御装置のメモリアドレスの割り当てを示す第1割り当て情報を記憶する記憶手段と、第2制御ロジック、及び第2制御ロジックで使用される各信号に対する制御装置のメモリアドレスの割り当てを示す第2割り当て情報を生成する生成手段と、第2制御ロジック及び第2割り当て情報を出力する出力手段と、を備え、生成手段は、第1割り当て情報を参照し、第2制御ロジックで使用される信号が第1割り当て情報に含まれている場合は、第1割り当て情報で当該信号に対して割り当てられている制御装置のメモリアドレスが当該信号に対して割り当てられるように、第2割り当て情報を生成する。 In order to achieve the above object, the logic update device according to one embodiment of the present invention generates a second control logic executed in the control device instead of the first control logic executed in the control device controlling the controlled object. A logic updater used in a storage means for storing first allocation information indicating allocation of a memory address of a control device for each signal used in the first control logic, a second control logic, and a second control logic. A generation means for generating a second allocation information indicating the allocation of the memory address of the control device for each signal to be performed, and an output means for outputting the second control logic and the second allocation information are provided, and the generation means is the first. When the signal used in the second control logic is included in the first allocation information by referring to the allocation information, the memory address of the control device assigned to the signal in the first allocation information is the signal. Generates second allocation information so that it can be allocated to.

本発明者らの知見によれば、制御ロジックの演算結果が前回までの演算結果の影響を受ける構成の場合、前回までの演算結果を保持するメモリアドレスの割り当てが変化すると、適切な演算結果が得られない可能性がある。そこで、本発明の一形態に係るロジック更新装置では、生成手段は、第1割り当て情報を参照し、第2制御ロジックで使用される信号が第1割り当て情報に含まれている場合は、第1割り当て情報で当該信号に対して割り当てられた制御装置のメモリアドレスが当該信号に対して割り当てられるように、第2割り当て情報を生成する。したがって、制御ロジックが変更されても、前回までの演算結果を保持するメモリアドレスの割り当てが維持される。これにより、制御ロジックの演算結果が前回までの演算結果の影響を受ける構成の場合でも適切な演算結果が得られるように、制御ロジックの更新に伴うメモリアドレスの割り当てを適切に行うことができる。 According to the findings of the present inventors, in the case where the operation result of the control logic is affected by the operation result up to the previous time, if the allocation of the memory address holding the operation result up to the previous time changes, an appropriate operation result is obtained. It may not be obtained. Therefore, in the logic update device according to one embodiment of the present invention, the generation means refers to the first allocation information, and when the signal used in the second control logic is included in the first allocation information, the first is The second allocation information is generated so that the memory address of the control device assigned to the signal in the allocation information is assigned to the signal. Therefore, even if the control logic is changed, the allocation of the memory address that holds the operation result up to the previous time is maintained. As a result, it is possible to appropriately allocate the memory address accompanying the update of the control logic so that an appropriate calculation result can be obtained even when the calculation result of the control logic is affected by the calculation result up to the previous time.

ここで、生成手段は、第1割り当て情報を参照し、第2制御ロジックで使用される信号が第1割り当て情報に含まれていない場合は、第1割り当て情報で他の信号に対して割り当てられている制御装置のメモリアドレスとは異なるメモリアドレスが当該信号に対して割り当てられるように、第2割り当て情報を生成する構成とすることができる。 Here, the generation means refers to the first allocation information, and if the signal used in the second control logic is not included in the first allocation information, the generation means is allocated to another signal in the first allocation information. The second allocation information can be generated so that a memory address different from the memory address of the control device is assigned to the signal.

上記の構成とすることで、第2制御ロジックで使用される信号のうち、第1制御ロジックで使用されていない信号に対しては、第1割り当て情報で他の信号に対して割り当てられていない制御装置のメモリアドレスが割り当てられる。このため、例えば、第2制御ロジックで新規追加された信号が、第1制御ロジックで使用されている信号に対して保持されている値により影響を受けることが抑制される。 With the above configuration, among the signals used in the second control logic, the signals not used in the first control logic are not assigned to other signals in the first allocation information. The memory address of the controller is assigned. Therefore, for example, it is suppressed that the signal newly added by the second control logic is affected by the value held with respect to the signal used by the first control logic.

本発明の一形態に係るロジック更新方法は、制御対象を制御する制御装置において実行されている第1制御ロジックに代わり制御装置において実行される第2制御ロジックを、1又は複数の装置によって構成されるロジック更新装置を用いて生成するロジック更新方法であって、第1制御ロジックで使用される各信号に対する制御装置のメモリアドレスの割り当てを示す第1割り当て情報を記憶する記憶ステップと、第2制御ロジック、及び第2制御ロジックで使用される各信号に対する制御装置のメモリアドレスの割り当てを示す第2割り当て情報を生成する生成ステップと、第2制御ロジック及び第2割り当て情報を出力する出力ステップと、を含み、生成ステップは、第1割り当て情報を参照し、第2制御ロジックで使用される信号が第1割り当て情報に含まれている場合は、第1割り当て情報で当該信号に対して割り当てられている制御装置のメモリアドレスが当該信号に対して割り当てられるように、第2割り当て情報を生成する。 In the logic update method according to one embodiment of the present invention, the second control logic executed in the control device instead of the first control logic executed in the control device controlling the controlled object is composed of one or more devices. This is a logic update method generated by using the logic update device, which is a storage step for storing the first allocation information indicating the allocation of the memory address of the control device for each signal used in the first control logic, and the second control. A generation step for generating the second allocation information indicating the allocation of the memory address of the control device for each signal used in the logic and the second control logic, and an output step for outputting the second control logic and the second allocation information. The generation step refers to the first allocation information, and if the signal used in the second control logic is included in the first allocation information, it is assigned to the signal in the first allocation information. The second allocation information is generated so that the memory address of the control device is assigned to the signal.

本発明の一形態に係るロジック更新方法によれば、上述したロジック更新装置と同様に、制御ロジックの演算結果が前回までの演算結果の影響を受ける構成の場合でも適切な演算結果が得られるように、制御ロジックの更新に伴うメモリアドレスの割り当てを適切に行うことができる。 According to the logic update method according to one embodiment of the present invention, an appropriate calculation result can be obtained even when the calculation result of the control logic is affected by the calculation results up to the previous time, as in the logic update device described above. In addition, the memory address can be appropriately assigned when the control logic is updated.

本発明によれば、制御ロジックの更新に伴うメモリアドレスの割り当てを適切に行うことができるロジック更新装置及びロジック更新方法が提供される。 According to the present invention, there is provided a logic update device and a logic update method capable of appropriately allocating a memory address when updating a control logic.

本発明の一実施形態に係る制御システムの概略構成図である。It is a schematic block diagram of the control system which concerns on one Embodiment of this invention. マクロの一例を示す図である。It is a figure which shows an example of a macro. 図2のマクロを使用した制御ロジックの一例を示す図である。It is a figure which shows an example of the control logic using the macro of FIG. 図3の制御ロジックに対応するメモリマップの一例を示す図である。It is a figure which shows an example of the memory map corresponding to the control logic of FIG. 本発明の一実施形態に係るロジック更新方法を示すフローチャートである。It is a flowchart which shows the logic update method which concerns on one Embodiment of this invention. 実行中の制御ロジック及び更新用の制御ロジックの一例を示す図である。It is a figure which shows an example of the control logic for execution and the control logic for update. 実行中のメモリマップ及び更新用のメモリマップの一例を示す図である。It is a figure which shows an example of the memory map during execution and the memory map for update. 比較例に係るロジック更新装置により生成された更新用のメモリマップを示す図である。It is a figure which shows the memory map for update generated by the logic update apparatus which concerns on a comparative example.

以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。 Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same elements are designated by the same reference numerals, and duplicate description will be omitted.

図1は、本発明の一実施形態に係る制御システムの概略構成図である。制御システム1は例えばプラント等において適用されるシステムであり、制御対象となる装置の状態を示すデータ等を収集し、当該データ及びその他の情報に基づいて制御対象となる装置の制御を行うシステムである。制御システム1は、ロジック更新装置10、制御装置20、及び制御対象装置30を備えている。 FIG. 1 is a schematic configuration diagram of a control system according to an embodiment of the present invention. The control system 1 is, for example, a system applied in a plant or the like, and is a system that collects data indicating the state of the device to be controlled and controls the device to be controlled based on the data and other information. is there. The control system 1 includes a logic update device 10, a control device 20, and a control target device 30.

ロジック更新装置10は、制御装置20において実行されている制御ロジック(第1制御ロジック)(以下、実行中の制御ロジックとも言う)に代わり制御装置20において実行される制御ロジック(第2制御ロジック)(以下、更新用の制御ロジックとも言う)を生成する装置である。制御ロジックとは、例えば、ファンクション・ブロック・ダイアグラム(FBD)言語等で作成されたロジックプログラムである。制御ロジックは、制御対象装置30に係る情報に基づいた演算を実行するための複数のロジックにより構成される。制御ロジックの更新は、例えば、制御対象装置30において監視対象とする変数の変更、又は一部ロジックの変更等の理由で行われる。 The logic update device 10 is a control logic (second control logic) executed in the control device 20 instead of the control logic (first control logic) (hereinafter, also referred to as an executing control logic) executed in the control device 20. It is a device that generates (hereinafter, also referred to as control logic for updating). The control logic is, for example, a logic program created in a function block diagram (FBD) language or the like. The control logic is composed of a plurality of logics for executing an operation based on the information related to the controlled device 30. The control logic is updated for, for example, a change in a variable to be monitored by the control target device 30, a change in a part of the logic, or the like.

ロジック更新装置10は、更に、更新用の制御ロジックに対応するメモリマップ(第2割り当て情報)(以下、更新用のメモリマップとも言う)を生成する。メモリマップは、制御ロジックで使用される各信号に対するアドレス(メモリアドレス)の割り当てを示す割り当て情報であり、制御ロジックごとに生成されるものである。メモリマップは、制御ロジックで使用される各信号と、各信号が記憶されるアドレスとの対応関係を規定する。ロジック更新装置10により生成された更新用の制御ロジック及び更新用のメモリマップは、制御装置20へ送られる。実行中の制御ロジック及び実行中のメモリマップは、ロジック更新装置10で生成されたものであってもよいし、外部装置で生成されたものであってもよい。 The logic update device 10 further generates a memory map (second allocation information) (hereinafter, also referred to as a memory map for update) corresponding to the control logic for update. The memory map is allocation information indicating the allocation of addresses (memory addresses) for each signal used in the control logic, and is generated for each control logic. The memory map defines the correspondence between each signal used in the control logic and the address where each signal is stored. The update control logic and the update memory map generated by the logic update device 10 are sent to the control device 20. The control logic being executed and the memory map being executed may be generated by the logic update device 10 or may be generated by an external device.

ロジック更新装置10は、CPU(Central Processing Unit)、主記憶装置であるRAM(Random Access Memory)及びROM(Read Only Memory)、制御装置20等の他の機器との間の通信を行う通信モジュール、並びにハードディスク等の補助記憶装置等のハードウェアを備えるコンピュータとして構成される。そして、これらの構成要素が動作することにより、ロジック更新装置10としての機能が発揮される。ロジック更新装置10の各機能部については後述する。 The logic update device 10 is a communication module that communicates with other devices such as a CPU (Central Processing Unit), a RAM (Random Access Memory) and a ROM (Read Only Memory) that are main storage devices, and a control device 20. It is also configured as a computer equipped with hardware such as an auxiliary storage device such as a hard disk. Then, by operating these components, the function as the logic update device 10 is exhibited. Each functional part of the logic update device 10 will be described later.

制御装置20は、制御対象装置30を制御する装置である。制御装置20は、制御対象装置30からのデータを取得すると共に、制御ロジックを実行することで制御対象装置30の制御に係る動作を行う。制御装置20は、実行エンジン21と、入出力部22と、メモリ23とを備える。 The control device 20 is a device that controls the control target device 30. The control device 20 acquires data from the control target device 30 and executes a control logic to perform an operation related to the control of the control target device 30. The control device 20 includes an execution engine 21, an input / output unit 22, and a memory 23.

実行エンジン21は、制御ロジックを解釈して実行する機能を有する。入出力部22は、制御対象装置30からのデータ等を受信すると共に、実行エンジン21により制御ロジックを実行した結果に基づいて、制御対象装置30に対して処理の実行等を指示する機能を有する。メモリ23は、実行中の制御ロジックで使用されている各信号を記憶する機能を有する。上述のように、各信号に対するアドレスの割り当ては、割り当て情報であるメモリマップにより規定される。メモリ23は、実行中の制御ロジックに対応するメモリマップ(第1割り当て情報)(以下、実行中のメモリマップとも言う)に従って、各信号を割り当てられたアドレスに記憶する。 The execution engine 21 has a function of interpreting and executing the control logic. The input / output unit 22 has a function of receiving data or the like from the controlled target device 30 and instructing the controlled target device 30 to execute a process or the like based on the result of executing the control logic by the execution engine 21. .. The memory 23 has a function of storing each signal used in the control logic being executed. As described above, the address assignment for each signal is defined by the memory map which is the allocation information. The memory 23 stores each signal at an assigned address according to a memory map (first allocation information) (hereinafter, also referred to as an execution memory map) corresponding to the control logic being executed.

制御対象装置30は、制御システム1において制御装置20による制御の対象となる装置である。制御対象装置30として、例えば、プラントにおける運転装置等が挙げられる。制御対象装置30は、制御装置20からの指示を受信すると、これに基づいて運転制御等を行う。また、制御対象装置30は、制御装置20からの指示に基づいて、自装置で取得された運転データ等を制御装置20に対して送信する。このように、制御対象装置30では、自装置の状態を示す情報を制御装置20に送信し、自装置の状態に対応した指示を制御装置20から受信することで、運転の制御が行われる。 The control target device 30 is a device to be controlled by the control device 20 in the control system 1. Examples of the controlled device 30 include an operating device in a plant. Upon receiving the instruction from the control device 20, the control target device 30 performs operation control and the like based on the instruction. Further, the control target device 30 transmits the operation data or the like acquired by the own device to the control device 20 based on the instruction from the control device 20. In this way, the control target device 30 controls the operation by transmitting information indicating the state of the own device to the control device 20 and receiving an instruction corresponding to the state of the own device from the control device 20.

ロジック更新装置10の各機能部について説明する。ロジック更新装置10は、記憶部11(記憶手段)と、ユーザインタフェース12に含まれる取得部13(取得手段)と、生成部14(生成手段)と、出力部(出力手段)15と、を含んで構成される。 Each functional part of the logic update device 10 will be described. The logic update device 10 includes a storage unit 11 (storage means), an acquisition unit 13 (acquisition means) included in the user interface 12, a generation unit 14 (generation means), and an output unit (output means) 15. Consists of.

記憶部11は、実行中の制御ロジック及び実行中のメモリマップを記憶する機能を有する。記憶部11の機能は、例えば、RAMやROMにより実現される。実行中のメモリマップは、実行中の制御ロジックで使用される各信号に対するアドレスの割り当てを示す。実行中の制御ロジック及び実行中のメモリマップがロジック更新装置10で生成されたものである場合は、記憶部11は、例えば実行中の制御ロジック及び実行中のメモリマップの生成時にこれらを記憶する。実行中の制御ロジック及び実行中のメモリマップが外部装置で生成されたものである場合は、記憶部11は、例えば外部装置から実行中の制御ロジック及び実行中のメモリマップを受け取った時にこれらを記憶する。 The storage unit 11 has a function of storing the control logic being executed and the memory map being executed. The function of the storage unit 11 is realized by, for example, a RAM or a ROM. The running memory map shows the address assignment for each signal used in the running control logic. When the control logic being executed and the memory map being executed are generated by the logic updater 10, the storage unit 11 stores them when, for example, the control logic being executed and the memory map being executed are generated. .. When the control logic being executed and the memory map being executed are generated by an external device, the storage unit 11 stores these when receiving, for example, the control logic being executed and the memory map being executed from the external device. Remember.

ユーザインタフェース12は、ユーザによるロジック更新装置10に対する入力と、ユーザからの入力に対するロジック更新装置10による処理の結果の出力と、を行う機能を有する。ユーザインタフェース12には、取得部13が含まれる。 The user interface 12 has a function of performing input to the logic update device 10 by the user and output of the result of processing by the logic update device 10 in response to the input from the user. The user interface 12 includes an acquisition unit 13.

取得部13は、実行中の制御ロジックの変更に係る情報である変更情報を取得する機能を有する。変更情報は、例えば、更新用の制御ロジックにおける実行中の制御ロジックからの変更点を示す情報である。変更情報は、ユーザインタフェース12をユーザが操作することによって作成される。このようにロジック更新装置10が、変更情報を作成する機能を備えるため、変更情報に修正が必要な場合、ロジック更新装置10により、容易に修正を行うことができる。更新用の制御ロジックの生成は、変更情報の作成を契機に開始される。取得部13により取得された変更情報は、生成部14に送られる。 The acquisition unit 13 has a function of acquiring change information which is information related to a change in the control logic during execution. The change information is, for example, information indicating a change from the running control logic in the update control logic. The change information is created by the user operating the user interface 12. Since the logic update device 10 has a function of creating change information in this way, when the change information needs to be corrected, the logic update device 10 can easily correct the change information. The generation of control logic for update is started when the change information is created. The change information acquired by the acquisition unit 13 is sent to the generation unit 14.

生成部14は、更新用の制御ロジック及び更新用のメモリマップを生成する機能を有する。生成部14の機能は、例えば、CPUにより実現される。生成部14は、取得部13から送られた変更情報に基づいて、更新用の制御ロジックを生成する。生成部14は、例えば、記憶部11から実行中の制御ロジックを読み出した後、変更情報に基づいて、実行中の制御ロジックを変更して更新用の制御ロジックを生成する。 The generation unit 14 has a function of generating a control logic for update and a memory map for update. The function of the generation unit 14 is realized by, for example, a CPU. The generation unit 14 generates the control logic for update based on the change information sent from the acquisition unit 13. For example, the generation unit 14 reads the control logic being executed from the storage unit 11 and then changes the control logic being executed based on the change information to generate the control logic for update.

制御ロジックで使用される信号には、制御装置20の外部入出力に使用される信号(以下、外部入出力用の信号とも言う)と、制御装置20の内部で行われる演算に使用される信号(以下、内部演算用の信号とも言う)とがある。本実施形態では、メモリ23において、外部入出力用の各信号を記憶させるためのアドレスは、ユーザにより明示的に割り当てられる。これに対し、内部演算用の各信号を記憶させるためのアドレスは、生成部14により自動的に割り当てられる。このように、生成部14がアドレスの自動割り当てを行うことにより、アドレスの割り当てに係るユーザの負担を減らすことができる。 The signals used in the control logic include signals used for external input / output of the control device 20 (hereinafter, also referred to as signals for external input / output) and signals used for calculations performed inside the control device 20. (Hereinafter, it is also called a signal for internal calculation). In the present embodiment, in the memory 23, an address for storing each signal for external input / output is explicitly assigned by the user. On the other hand, an address for storing each signal for internal calculation is automatically assigned by the generation unit 14. In this way, the generation unit 14 automatically assigns addresses, so that the burden on the user related to address allocation can be reduced.

同一の構造で各信号の値だけが異なるような制御ロジックに対して、マクロが定義される場合がある。このようなマクロの使用によって、制御ロジックの流用性が向上する。図2は、マクロの一例を示す図である。図2に示されるように、マクロAは、入力信号を積算した値を返す。図3は、図2のマクロを使用した制御ロジックの一例を示す図である。図4は、図3の制御ロジックに対応するメモリマップの一例を示す図である。図4に示されるように、メモリマップの前半は、外部入出力用の信号に対して割り当てられている。具体的には、アドレス1〜4が外部入出力用の信号に対して割り当てられている。外部入出力用の信号に対して割り当てられたアドレスの直後のアドレスは、内部演算用の信号に対して割り当てられている。具体的には、アドレス5〜8が外部入出力用の信号に対して割り当てられている。メモリマップの後半、具体的には、アドレス9,10は、制御ロジックで使用されている信号が何も割り当てられていない未使用アドレスである。 Macros may be defined for control logic that has the same structure but differs only in the value of each signal. The use of such macros improves the diversion of control logic. FIG. 2 is a diagram showing an example of a macro. As shown in FIG. 2, macro A returns a value obtained by integrating the input signals. FIG. 3 is a diagram showing an example of control logic using the macro of FIG. FIG. 4 is a diagram showing an example of a memory map corresponding to the control logic of FIG. As shown in FIG. 4, the first half of the memory map is allocated to signals for external input / output. Specifically, addresses 1 to 4 are assigned to signals for external input / output. The address immediately after the address assigned to the signal for external input / output is assigned to the signal for internal calculation. Specifically, addresses 5 to 8 are assigned to signals for external input / output. The latter half of the memory map, specifically, addresses 9 and 10 are unused addresses to which no signal used in the control logic is assigned.

図3の制御ロジックでは、マクロAがマクロA1及びマクロA2として2回使用されている。マクロA1及びマクロA2のロジック演算が相互に影響されないように、マクロA1及びマクロA2で使用される信号はそれぞれ別のアドレスに記憶される必要がある。例えば、信号「MACRO_ANALOG1」はマクロA1及びマクロA2上では同じ信号であるものの、割り当てられるアドレスは別にされる必要がある。このため、図4に示されるように、マクロA1で使用される信号「IN_ANALOG1」、「ANALOG_RESULT1」、「A1_MACRO_ANALOG1」及び「A1_MACRO_ANALOG2」には、それぞれ順にアドレス1,2,5,6が割り当てられ、マクロA2で使用される信号「IN_ANALOG2」、「ANALOG_RESULT2」、「A2_MACRO_ANALOG1」及び「A2_MACRO_ANALOG2」には、それぞれ順にアドレス3,4,7,8が割り当てられている。 In the control logic of FIG. 3, macro A is used twice as macro A1 and macro A2. The signals used in macro A1 and macro A2 need to be stored in different addresses so that the logic operations of macro A1 and macro A2 are not influenced by each other. For example, although the signal "MACRO_ANALOG1" is the same signal on macro A1 and macro A2, the assigned addresses need to be different. Therefore, as shown in FIG. 4, the signals "IN_ANALOG1", "ANALOG_RESULT1", "A1_MACRO_ANALOG1", and "A1_MACRO_ANALOG2" used in the macro A1 are assigned addresses 1, 2, 5, and 6, respectively. Addresses 3, 4, 7, and 8 are assigned to the signals "IN_ANALOG2", "ANALOG_RESULT2", "A2_MACRO_ANALOG1", and "A2_MACRO_ANALOG2" used in the macro A2, respectively.

生成部14は、記憶部11に記憶された実行中のメモリマップを参照し、更新用の制御ロジックで使用される信号が実行中のメモリマップに含まれている場合、実行中のメモリマップでこの信号に対して割り当てられているアドレスを、更新用のメモリマップでもこの信号に対して割り当てるように、更新用のメモリマップを生成する。生成部14によるアドレスの割り当てについての詳細は、後述する。本実施形態では、生成部14は、更新用の制御ロジックで使用される内部演算用の各信号に対するアドレスの割り当てを行う。生成部14は、内部演算用の各信号と、内部演算用の各信号に対して生成部14により割り当てられたアドレスとの関係、及び、外部入出力用の各信号と、外部入出力用の各信号に対してユーザにより明示的に割り当てられたアドレスとの関係を含む情報として、更新用のメモリマップを生成する。 The generation unit 14 refers to the memory map being executed stored in the storage unit 11, and when the signal used in the control logic for update is included in the memory map being executed, the memory map being executed is used. A memory map for update is generated so that the address assigned to this signal is also assigned to this signal in the memory map for update. Details of the address assignment by the generation unit 14 will be described later. In the present embodiment, the generation unit 14 assigns an address to each signal for internal calculation used in the control logic for update. The generation unit 14 has a relationship between each signal for internal calculation and an address assigned by the generation unit 14 for each signal for internal calculation, each signal for external input / output, and each signal for external input / output. A memory map for update is generated as information including the relationship with the address explicitly assigned by the user for each signal.

生成部14により生成された更新用の制御ロジック及び更新用のメモリマップは、出力部15に送られる。更新用の制御ロジック及び更新用のメモリマップは、記憶部11にも送られる。記憶部11では、生成部14から送られた更新用の制御ロジック及び更新用のメモリマップが、実行中の制御ロジック及び実行中のメモリマップとして記憶される。 The update control logic and the update memory map generated by the generation unit 14 are sent to the output unit 15. The update control logic and the update memory map are also sent to the storage unit 11. In the storage unit 11, the update control logic and the update memory map sent from the generation unit 14 are stored as the control logic being executed and the memory map being executed.

出力部15は、生成部14において生成された更新用の制御ロジック及び更新用のメモリマップを制御装置20に送信する機能を有する。出力部15の機能は、例えば、通信モジュールにより実現される。制御装置20では、出力部15から送信された更新用の制御ロジックが、実行中の制御ロジックに代わって実行される。制御装置20では、これに併せて、出力部15から送信された更新用のメモリマップに従って、アドレスの割り当てが行われる。 The output unit 15 has a function of transmitting the update control logic and the update memory map generated by the generation unit 14 to the control device 20. The function of the output unit 15 is realized by, for example, a communication module. In the control device 20, the update control logic transmitted from the output unit 15 is executed in place of the execution control logic. At the same time, the control device 20 assigns an address according to the update memory map transmitted from the output unit 15.

次に、ロジック更新装置10を用いたロジック更新方法について、図1及び図5〜図7を参照しながら説明する。図5は、本発明の一実施形態に係るロジック更新方法を示すフローチャートである。図5に示される処理に先立って、記憶部11が実行中の制御ロジック及び実行中のメモリマップを記憶する(記憶ステップ)。続いて、図5に示されるように、取得部13が変更情報を取得する(S11)。変更情報は、ユーザがユーザインタフェース12を操作することにより作成される。取得部13は、作成された変更情報を取得して生成部14に送る。 Next, a logic update method using the logic update device 10 will be described with reference to FIGS. 1 and 5 to 7. FIG. 5 is a flowchart showing a logic updating method according to an embodiment of the present invention. Prior to the process shown in FIG. 5, the storage unit 11 stores the control logic being executed and the memory map being executed (memory step). Subsequently, as shown in FIG. 5, the acquisition unit 13 acquires the change information (S11). The change information is created by the user operating the user interface 12. The acquisition unit 13 acquires the created change information and sends it to the generation unit 14.

図6は、実行中の制御ロジック及び更新用の制御ロジックの一例を示す図である。図6(a)に示される実行中の制御ロジックでは、入力信号を2倍して積算した値を返すマクロAが、マクロA1として1回使用されている。図6(b)に示される更新用の制御ロジックでは、入力信号を積算した値を返すマクロAが、マクロA1として1回使用されている。この例では、図6(a)に示される実行中の制御ロジックに対して、破線Lで囲ったロジックを削除する変更を行って、図6(b)に示される更新用のマクロA1が生成される。したがって、この例における変更情報は、図6(a)において破線Lで囲ったロジックを削除するという情報である。 FIG. 6 is a diagram showing an example of the control logic during execution and the control logic for update. In the running control logic shown in FIG. 6A, the macro A, which doubles the input signal and returns the integrated value, is used once as the macro A1. In the update control logic shown in FIG. 6B, the macro A that returns the integrated value of the input signals is used once as the macro A1. In this example, the execution control logic shown in FIG. 6 (a) is modified to delete the logic surrounded by the broken line L, and the update macro A1 shown in FIG. 6 (b) is generated. Will be done. Therefore, the change information in this example is the information that the logic surrounded by the broken line L in FIG. 6A is deleted.

次に、取得部13から送られた変更情報に基づいて、生成部14が更新用の制御ロジックを生成する(S12)。続いて、生成部14は、更新用のメモリマップを生成する(S13〜S15:生成ステップ)。生成部14は、まず、実行中のメモリマップを参照し、更新用の制御ロジックで使用される信号が実行中のメモリマップに含まれているか否かを判定する(S13)。本実施形態では、更新用の制御ロジックで使用される内部演算用の各信号を割り当て対象の信号として、これらの割り当て対象の信号に対してS13の判定処理が行われる。 Next, the generation unit 14 generates the control logic for update based on the change information sent from the acquisition unit 13 (S12). Subsequently, the generation unit 14 generates a memory map for update (S13 to S15: generation step). First, the generation unit 14 refers to the memory map being executed, and determines whether or not the signal used in the control logic for update is included in the memory map being executed (S13). In the present embodiment, each signal for internal calculation used in the control logic for update is used as an allocation target signal, and the determination process of S13 is performed on these allocation target signals.

割り当て対象の信号が実行中のメモリマップに含まれている場合(S13でYesの場合)、実行中のメモリマップで割り当て対象の信号に対して割り当てられているアドレスと同一アドレスを、更新用のメモリマップでも割り当て対象の信号に対して割り当てる(S14)。一方、割り当て対象の信号が実行中のメモリマップに含まれていない場合(S13でNoの場合)、実行中のメモリマップにおいて未使用アドレスであるアドレス(以下、実行中のメモリマップにおける未使用アドレスとも言う)を、更新用のメモリマップで割り当て対象の信号に対して割り当てる(S15)。実行中のメモリマップに含まれない信号として、例えば、更新用の制御ロジックで新規追加となった信号が考えられる。生成部14は、このような新規追加の割り当て対象の信号に対して、実行中のメモリマップで他の信号に対して割り当てられているアドレスとは異なるアドレスを割り当てると言える。生成部14は、実行中のメモリマップにおける未使用アドレスを、例えば前方から順に詰めて割り当てる。 When the signal to be allocated is included in the running memory map (Yes in S13), the same address as the address assigned to the signal to be allocated in the running memory map is updated. Also in the memory map, it is assigned to the signal to be allocated (S14). On the other hand, when the signal to be allocated is not included in the memory map being executed (No in S13), the address is an unused address in the memory map being executed (hereinafter, an unused address in the memory map being executed). (Also also referred to as) is assigned to the signal to be allocated in the memory map for update (S15). As a signal that is not included in the memory map being executed, for example, a signal newly added by the control logic for update can be considered. It can be said that the generation unit 14 assigns an address different from the address assigned to the other signals in the executing memory map to the newly added signal to be assigned. The generation unit 14 allocates unused addresses in the memory map being executed, for example, in order from the front.

生成部14は、内部演算用の各信号と、内部演算用の各信号に対してこのように割り当てたアドレスとの関係、及び、外部入出力用の各信号と、外部入出力用の各信号に対してユーザにより明示的に割り当てられたアドレスとの関係を含む情報として、更新用のメモリマップを生成する。生成部14は、生成した更新用の制御ロジックとしての更新用のマクロA1及び更新用のメモリマップを記憶部11に記憶させると共に、出力部15に送る。 The generation unit 14 describes the relationship between each signal for internal calculation and the address thus assigned to each signal for internal calculation, each signal for external input / output, and each signal for external input / output. A memory map for update is generated as information including the relationship with the address explicitly assigned by the user. The generation unit 14 stores the generated macro A1 for update as the control logic for update and the memory map for update in the storage unit 11 and sends them to the output unit 15.

図7は、実行中のメモリマップ及び更新用のメモリマップの一例を示す図である。図7(a)に示される実行中のメモリマップでは、実行中の制御ロジックとしての実行中のマクロA1で使用される外部入出力用の各信号「IN_ANALOG1」及び「ANALOG_RESULT1」に対しては、アドレス1,2が割り当てられている。実行中のマクロA1で使用される内部演算用の各信号「A1_MACRO_ANALOG1」、「A1_MACRO_ANALOG2」及び「A1_MACRO_ANALOG3」に対しては、アドレス3〜5が割り当てられている。 FIG. 7 is a diagram showing an example of a memory map being executed and a memory map for updating. In the running memory map shown in FIG. 7A, for each signal "IN_ANALOG1" and "ANALOG_RESULT1" for external input / output used in the running macro A1 as the running control logic, Addresses 1 and 2 are assigned. Addresses 3 to 5 are assigned to each signal "A1_MACRO_ANALOG1", "A1_MACRO_ANALOG2", and "A1_MACRO_ANALOG3" for internal calculation used in the macro A1 being executed.

図7(b)に示される更新用のメモリマップでは、更新用のマクロA1で使用される外部入出力用の各信号「IN_ANALOG1」及び「ANALOG_RESULT1」に対しては、実行中のメモリマップと同様に、アドレス1,2がユーザによって予め割り当てられている。更新用のマクロA1で使用される内部演算用の信号「A1_MACRO_ANALOG2」及び「A1_MACRO_ANALOG3」は、いずれも実行中のメモリマップに含まれている(すなわち上記S13でYesの場合に相当)。このため、実行中のメモリマップでこれらの信号に対して割り当てられたアドレスが、生成部14によって更新用のメモリマップでもこれらの信号に対して割り当てられている。具体的には、信号「A1_MACRO_ANALOG2」に対して、実行中のメモリマップで割り当てられたアドレス4が割り当てられていると共に、信号「A1_MACRO_ANALOG3」に対して、実行中のメモリマップで割り当てられたアドレス5が割り当てられている。 In the update memory map shown in FIG. 7 (b), the external input / output signals "IN_ANALOG1" and "ANALOG_RESULT1" used in the update macro A1 are the same as the running memory map. Addresses 1 and 2 are pre-assigned by the user. The internal calculation signals "A1_MACRO_ANALOG2" and "A1_MACRO_ANALOG3" used in the update macro A1 are both included in the running memory map (that is, corresponding to the case of Yes in S13 above). Therefore, the addresses assigned to these signals in the running memory map are also assigned to these signals by the generation unit 14 in the memory map for update. Specifically, the signal "A1_MACRO_ANALOG2" is assigned the address 4 assigned in the running memory map, and the signal "A1_MACRO_ANALOG3" is assigned the address 5 assigned in the running memory map. Is assigned.

続いて、出力部15が、更新用のマクロA1及び更新用のメモリマップを出力する(S16:出力ステップ)。具体的には、出力部15が、更新用のマクロA1及び更新用のメモリマップを制御装置20に送信する。制御装置20では、更新用のマクロA1及び更新用のメモリマップが受信されると、制御装置20の運転中に実行中のマクロA1が更新用のマクロA1に切り替えられると共に、実行中のメモリマップが更新用のメモリマップに切り替えられる。これにより、制御対象装置30は更新用のマクロA1によって制御される。 Subsequently, the output unit 15 outputs the update macro A1 and the update memory map (S16: output step). Specifically, the output unit 15 transmits the update macro A1 and the update memory map to the control device 20. When the control device 20 receives the update macro A1 and the update memory map, the macro A1 being executed during the operation of the control device 20 is switched to the update macro A1 and the running memory map is switched. Is switched to the memory map for update. As a result, the controlled device 30 is controlled by the macro A1 for updating.

以上で説明した本実施形態に係るロジック更新装置10及びロジック更新方法によれば、制御ロジックの更新に伴うアドレスの割り当てを適切に行うことができる。この点について、比較例を参照して以下で説明する。 According to the logic update device 10 and the logic update method according to the present embodiment described above, address allocation associated with the update of the control logic can be appropriately performed. This point will be described below with reference to a comparative example.

図8は、比較例に係るロジック更新装置により生成された更新用のメモリマップを示す図である。上述のように、本実施形態に係るロジック更新装置10では、生成部14が、実行中のメモリマップを参照し、更新用のメモリマップを生成する。これに対し、比較例に係るロジック更新装置では、生成部が、実行中のメモリマップを参照せずに、外部入出力用の信号に対して割り当てられたアドレスの直後のアドレスを、内部演算用の信号に対して前方から順に詰めて割り当てる。このため、実行中のマクロA1と更新用のマクロA1とで、同一信号に対して異なるアドレスが割り当てられる。 FIG. 8 is a diagram showing a memory map for update generated by the logic update device according to the comparative example. As described above, in the logic update device 10 according to the present embodiment, the generation unit 14 refers to the memory map being executed and generates a memory map for update. On the other hand, in the logic update device according to the comparative example, the generation unit uses the address immediately after the address assigned to the signal for external input / output for internal calculation without referring to the memory map being executed. Allocate the signals in order from the front. Therefore, different addresses are assigned to the same signal between the executing macro A1 and the updating macro A1.

上述のように、実行中のマクロA1は、入力信号を積算した値を返すものであり、更新用のマクロA1は、入力信号を2倍して積算した値を返すものである。つまり、実行中のマクロA1及び更新用のマクロA1の演算結果は、いずれも過去量(前回までの演算結果)の影響を受ける。過去量は、いずれも信号「A1_MACRO_ANALOG3」の値として保持されている。実行中のメモリマップでは、図7(a)に示されるように、内部演算用の信号「A1_MACRO_ANALOG3」に対してアドレス5が割り当てられている。一方、更新用のメモリマップでは、図8に示されるように、同一信号に対してアドレス4が割り当てられる。したがって、制御装置20の運転中に制御装置20の制御ロジックを更新した場合、更新直後の演算において、過去量がアドレス5ではなくアドレス4から取得されるために適切な演算結果が得られないおそれがある。 As described above, the executing macro A1 returns the integrated value of the input signals, and the updating macro A1 returns the integrated value of the input signals doubled. That is, the calculation results of the macro A1 being executed and the macro A1 for updating are both affected by the past amount (calculation results up to the previous time). The past amount is held as the value of the signal "A1_MACRO_ANALOG3". In the running memory map, as shown in FIG. 7A, the address 5 is assigned to the signal "A1_MACRO_ANALOG3" for internal calculation. On the other hand, in the memory map for update, the address 4 is assigned to the same signal as shown in FIG. Therefore, if the control logic of the control device 20 is updated while the control device 20 is in operation, an appropriate calculation result may not be obtained because the past amount is acquired from the address 4 instead of the address 5 in the calculation immediately after the update. There is.

これに対して、本実施形態に係るロジック更新装置10及びロジック更新方法では、生成部14は、実行中のメモリマップを参照し、割り当て対象の信号が実行中のメモリマップに含まれている場合、実行中のメモリマップでこの信号に対して割り当てられているアドレスを、更新用のメモリマップでもこの信号に対して割り当てるように、更新用のメモリマップを生成する。したがって、実行中のメモリマップで信号「A1_MACRO_ANALOG3」に対してアドレス5が割り当てられていれば、更新用のメモリマップでも、信号「A1_MACRO_ANALOG3」に対してアドレス5が割り当てられる。このため、制御装置20の運転中に制御ロジックが実行中のマクロA1から更新用のマクロA1に切り替わっても、過去量が保持された信号「A1_MACRO_ANALOG3」のアドレスは同一であるため、適切な演算結果が得られる。このように、ロジック更新装置10及びロジック更新方法では、更新用のメモリマップのレイアウトが、実行中のメモリマップのレイアウトを極力維持して生成される。この結果、制御ロジックが更新されても、制御装置20は制御対象装置30を安定して制御することができる。 On the other hand, in the logic update device 10 and the logic update method according to the present embodiment, the generation unit 14 refers to the memory map being executed, and the signal to be allocated is included in the memory map being executed. , Generates an update memory map so that the address assigned to this signal in the running memory map is also assigned to this signal in the update memory map. Therefore, if the signal "A1_MACRO_ANALOG3" is assigned the address 5 in the running memory map, the address 5 is also assigned to the signal "A1_MACRO_ANALOG3" in the update memory map. Therefore, even if the macro A1 in which the control logic is being executed is switched to the macro A1 for update during the operation of the control device 20, the address of the signal "A1_MACRO_ANALOG3" in which the past amount is retained is the same, and therefore an appropriate calculation The result is obtained. As described above, in the logic update device 10 and the logic update method, the layout of the memory map for update is generated while maintaining the layout of the memory map being executed as much as possible. As a result, even if the control logic is updated, the control device 20 can stably control the control target device 30.

生成部14は、割り当て対象の信号が実行中のメモリマップに含まれていない場合は、実行中のメモリマップにおける未使用アドレスが割り当て対象の信号に対して割り当てられるように、更新用のメモリマップを生成する。つまり、更新用の制御ロジックで使用される信号のうち、実行中の制御ロジックで使用されていない信号に対しては、実行中のメモリマップにおける未使用アドレスが割り当てられる。このため、例えば、更新用の制御ロジックで新規追加された信号が、実行中の制御ロジックで使用されている信号に対して保持されている値により影響を受けることが抑制される。 If the signal to be allocated is not included in the memory map being executed, the generation unit 14 updates the memory map so that the unused address in the memory map being executed is allocated to the signal to be allocated. To generate. That is, among the signals used in the control logic for update, the unused addresses in the memory map being executed are assigned to the signals not used in the control logic being executed. Therefore, for example, it is suppressed that the signal newly added in the control logic for update is affected by the value held for the signal used in the control logic being executed.

以上で説明した実施形態は本発明の一例を示すものである。本発明に係るロジック更新装置及びロジック更新方法は、上記実施形態に限られるものではなく、各請求項に記載した要旨を変更しない範囲で変形し、又は他のものに適用したものであってもよい。 The embodiments described above show an example of the present invention. The logic updating device and the logic updating method according to the present invention are not limited to the above-described embodiment, and may be modified or applied to other objects without changing the gist described in each claim. Good.

例えば、ロジック更新装置10は、上記実施形態で説明したように1つの装置によって構成されていてもよいし、複数の装置の組み合わせによって構成されていてもよい。また、制御システム1を構成する制御装置20及び制御対象装置30の数はそれぞれ複数であってもよい。この場合、例えば、制御装置20が複数の制御対象装置30を制御する構成とすることもできる。 For example, the logic update device 10 may be configured by one device as described in the above embodiment, or may be configured by a combination of a plurality of devices. Further, the number of the control device 20 and the control target device 30 constituting the control system 1 may be plural. In this case, for example, the control device 20 may be configured to control a plurality of control target devices 30.

生成部14は、割り当て対象の信号が実行中のメモリマップに含まれていない場合は、実行中のメモリマップで他の信号に対して割り当てられているアドレスが割り当て対象の信号に対して割り当てられるように、更新用のメモリマップを生成してもよい。つまり、割り当て対象の信号に対して、更新用のメモリマップにおいて割り当てられているアドレスは、実行中のメモリマップにおける未使用アドレスに限られない。例えば、実行中のメモリマップで信号が割り当てられているアドレスであっても、更新用の制御ロジックでは使用されない信号が割り当てられているアドレスについては、更新用のメモリマップで割り当て対象の信号に対して割り当てられる構成とすることができる。生成部14は、割り当て対象の信号に対して、このようなアドレスを、例えば前方から順に詰めて割り当てることができる。これにより、割り当て後のメモリ23において連続した空き領域が確保され易くなる。 If the signal to be allocated is not included in the memory map being executed, the generation unit 14 allocates the address assigned to the other signal in the memory map being executed to the signal to be allocated. As such, a memory map for update may be generated. That is, the address assigned in the memory map for update with respect to the signal to be allocated is not limited to the unused address in the memory map being executed. For example, an address to which a signal is assigned in the running memory map but not used in the update control logic is assigned to the signal to be assigned in the update memory map. It can be configured to be assigned. The generation unit 14 can assign such addresses to the signals to be assigned, for example, in order from the front. As a result, a continuous free area can be easily secured in the memory 23 after allocation.

記憶部11は、実行中の制御ロジック及び実行中のメモリマップだけでなく、複数の過去の制御ロジック及び複数の過去のメモリマップを記憶して、過去のメモリマップを参照し、更新用のメモリマップを生成する構成としてもよい。過去の制御ロジックとは、制御装置20が前回リセットされた時点以降に制御装置20で実行された制御ロジックである。実行中の制御ロジックは、複数の過去の制御ロジックの1つであり、複数の過去の制御ロジックの中で最も新しい制御ロジックである。過去のメモリマップとは、過去の制御ロジックで使用される各信号に対するアドレスの割り当てを示すメモリマップである。実行中のメモリマップは、複数の過去のメモリマップの1つであり、複数の過去のメモリマップの中で最も新しいメモリマップである。 The storage unit 11 stores not only the control logic being executed and the memory map being executed, but also a plurality of past control logics and a plurality of past memory maps, refers to the past memory maps, and is a memory for updating. It may be configured to generate a map. The past control logic is the control logic executed by the control device 20 after the time when the control device 20 was last reset. The control logic being executed is one of a plurality of past control logics, and is the newest control logic among the plurality of past control logics. The past memory map is a memory map showing the address assignment for each signal used in the past control logic. The running memory map is one of a plurality of past memory maps, and is the newest memory map among the plurality of past memory maps.

この構成では、生成部14は、内部演算用の信号を割り当て対象の信号としてアドレスを割り当てる際、割り当て対象の信号が実行中のメモリマップに含まれていない場合、過去の他のメモリマップを新しい順に参照し、割り当て対象の信号がその中に含まれているかを更に判定する。含まれている場合、生成部14は、割り当て対象の信号に対して、過去のメモリマップで割り当てられたアドレスと同一アドレスを割り当てる。含まれていない場合、生成部14は、割り当て対象の信号に対して、複数の過去のメモリマップで他の信号に対して割り当てられたいずれのアドレスとも異なるという条件を満たす未使用アドレスを割り当てる。 In this configuration, when the generation unit 14 assigns an address as a signal to be allocated as a signal for internal calculation, if the signal to be allocated is not included in the running memory map, another memory map in the past is newly added. It is referred to in order, and it is further determined whether or not the signal to be assigned is included in the signal. If it is included, the generation unit 14 assigns the same address as the address assigned in the past memory map to the signal to be assigned. If not included, the generation unit 14 assigns the signal to be assigned an unused address that satisfies the condition that it is different from any of the addresses assigned to the other signals in the plurality of past memory maps.

例えば、実行中のマクロA1で使用されている内部演算用の信号「A1_MACRO_ANALOG1」は、更新用のマクロA1で使用されない。このため、実行中のメモリマップで当該信号に対して割り当てられていたアドレス3は、更新用のメモリマップでは使用されず、未使用アドレスとなる。しかしながら、このアドレス3は実行中のメモリマップに含まれ、上述の条件を満たさない。このため、割り当て対象の信号が更新用の制御ロジックで新規追加となった信号であったとしても、アドレス3は割り当てられない。生成部14は、過去の制御ロジックで使用された信号のうち更新用の制御ロジックで使用されない信号に対して、過去のメモリマップで割り当てられているアドレスの使用を制限して、更新用のメモリマップを生成すると言える。これにより、信号「A1_MACRO_ANALOG1」の値は上書きされずに保持される。このように信号の値が保持されることで、この信号が後に再使用される際に、保持された値を用いることができる。生成部14は、上述の条件を満たす未使用アドレスがある場合に限り、上述の条件を考慮する構成とすることができる。 For example, the signal "A1_MACRO_ANALOG1" for internal calculation used in the macro A1 being executed is not used in the macro A1 for update. Therefore, the address 3 assigned to the signal in the running memory map is not used in the update memory map and becomes an unused address. However, this address 3 is included in the running memory map and does not satisfy the above conditions. Therefore, even if the signal to be assigned is a signal newly added by the control logic for update, the address 3 is not assigned. The generation unit 14 limits the use of the address assigned in the past memory map to the signals used in the past control logic that are not used in the update control logic, and the memory for update. It can be said to generate a map. As a result, the value of the signal "A1_MACRO_ANALOG1" is retained without being overwritten. By holding the value of the signal in this way, the held value can be used when this signal is reused later. The generation unit 14 can be configured to consider the above conditions only when there is an unused address satisfying the above conditions.

また、ロジック更新装置10は、変更情報を作成する機能を備えなくてもよい。この場合、変更情報は、外部装置で作成された後、取得部13により取得される構成とすることができる。これにより、ロジック更新装置10の構成を簡単にできる。また、変更情報は、更新用の制御ロジックにおける実行中の制御ロジックからの変更点を示す情報に限られない。また、生成部14は、変更情報を用いずに(変更情報とは異なる情報に基づいて)更新用の制御ロジックを生成してもよい。また、生成部14では、生成後の制御ロジックが正しいものであるか(適切に動作するか)を確認するためのエラーチェックを併せて行う構成としてもよい。 Further, the logic update device 10 does not have to have a function of creating change information. In this case, the change information can be configured to be acquired by the acquisition unit 13 after being created by the external device. As a result, the configuration of the logic update device 10 can be simplified. Further, the change information is not limited to the information indicating the change from the control logic being executed in the control logic for update. Further, the generation unit 14 may generate the control logic for update without using the change information (based on information different from the change information). In addition, the generation unit 14 may also be configured to perform an error check for confirming whether the control logic after generation is correct (whether it operates properly).

1 制御システム
10 ロジック更新装置
11 記憶部
12 ユーザインタフェース
13 取得部
14 生成部
15 出力部
20 制御装置
21 実行エンジン
22 入出力部
23 メモリ
30 制御対象装置
1 Control system 10 Logic updater 11 Storage unit 12 User interface 13 Acquisition unit 14 Generation unit 15 Output unit 20 Control unit 21 Execution engine 22 Input / output unit 23 Memory 30 Control target device

Claims (6)

制御対象を制御する制御装置において実行されている第1制御ロジックに代わり前記制御装置において実行される第2制御ロジックを生成するロジック更新装置であって、
前記第1制御ロジックで使用される各信号に対する前記制御装置のメモリアドレスの割り当てを示す第1割り当て情報を記憶する記憶手段と、
前記第2制御ロジック、及び前記第2制御ロジックで使用される各信号に対する前記制御装置のメモリアドレスの割り当てを示す第2割り当て情報を生成する生成手段と、
前記第2制御ロジック及び前記第2割り当て情報を出力する出力手段と、を備え、
前記生成手段は、前記第1割り当て情報を参照し、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれている場合は、前記第1割り当て情報で当該信号に対して割り当てられている前記制御装置のメモリアドレスが当該信号に対して割り当てられるように、前記第2割り当て情報を生成し、
前記生成手段は、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれていない場合は、当該信号に対して、前記第2制御ロジックで使用されない信号に対して前記第1割り当て情報で割り当てられている前記制御装置のメモリアドレスが割り当てられるように、前記第2割り当て情報を生成する、ロジック更新装置。
A logic updater that generates a second control logic executed in the control device instead of the first control logic executed in the control device that controls the controlled object.
A storage means for storing the first allocation information indicating the allocation of the memory address of the control device to each signal used in the first control logic, and
The second control logic, and a generation means for generating second allocation information indicating the allocation of the memory address of the control device to each signal used in the second control logic.
The second control logic and the output means for outputting the second allocation information are provided.
The generation means refers to the first allocation information, and when the signal used in the second control logic is included in the first allocation information, the first allocation information allocates the signal to the signal. The second allocation information is generated so that the assigned memory address of the control device is assigned to the signal .
When the signal used in the second control logic is not included in the first allocation information, the generation means refers to the signal and the signal not used in the second control logic. A logic update device that generates the second allocation information so that the memory address of the control device allocated by the allocation information is allocated .
制御対象を制御する制御装置において実行されている第1制御ロジックに代わり前記制御装置において実行される第2制御ロジックを生成するロジック更新装置であって、
前記第1制御ロジックで使用される各信号に対する前記制御装置のメモリアドレスの割り当てを示す第1割り当て情報を記憶する記憶手段と、
前記第2制御ロジック、及び前記第2制御ロジックで使用される各信号に対する前記制御装置のメモリアドレスの割り当てを示す第2割り当て情報を生成する生成手段と、
前記第2制御ロジック及び前記第2割り当て情報を出力する出力手段と、を備え、
前記生成手段は、前記第1割り当て情報を参照し、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれている場合は、前記第1割り当て情報で当該信号に対して割り当てられている前記制御装置のメモリアドレスが当該信号に対して割り当てられるように、前記第2割り当て情報を生成し、
前記記憶手段は、前記制御装置において前記第1制御ロジックより前に実行された第3制御ロジックで使用された各信号に対する前記制御装置のメモリアドレスの割り当てを示す第3割り当て情報を記憶し、
前記生成手段は、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれていない場合は、前記第3割り当て情報を参照し、当該信号が前記第3割り当て情報に含まれているときは、前記第3割り当て情報で当該信号に対して割り当てられている前記制御装置のメモリアドレスが当該信号に対して割り当てられるように、前記第2割り当て情報を生成する、ロジック更新装置。
A logic updater that generates a second control logic executed in the control device instead of the first control logic executed in the control device that controls the controlled object.
A storage means for storing the first allocation information indicating the allocation of the memory address of the control device to each signal used in the first control logic, and
The second control logic, and a generation means for generating second allocation information indicating the allocation of the memory address of the control device to each signal used in the second control logic.
The second control logic and the output means for outputting the second allocation information are provided.
The generation means refers to the first allocation information, and when the signal used in the second control logic is included in the first allocation information, the first allocation information allocates the signal to the signal. The second allocation information is generated so that the assigned memory address of the control device is assigned to the signal .
The storage means stores third allocation information indicating the allocation of the memory address of the control device to each signal used in the third control logic executed before the first control logic in the control device.
When the signal used in the second control logic is not included in the first allocation information, the generation means refers to the third allocation information, and the signal is included in the third allocation information. When , a logic update device that generates the second allocation information so that the memory address of the control device assigned to the signal in the third allocation information is assigned to the signal .
前記生成手段は、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれていない場合であって、当該信号が前記第3割り当て情報に含まれていないときは、前記第1割り当て情報及び前記第3割り当て情報で他の信号に対して割り当てられている前記制御装置のメモリアドレスとは異なるメモリアドレスが当該信号に対して割り当てられるように、前記第2割り当て情報を生成する、請求項に記載のロジック更新装置。 It said generating means is a case where a signal that is used in the previous SL second control logic is not included in the first allocation information, when said signal is not included in the third allocation information, the first The second allocation information is generated so that a memory address different from the memory address of the control device assigned to the other signal in the first allocation information and the third allocation information is assigned to the signal. , The logic update device according to claim 2 . 前記記憶手段は、複数の前記第3制御ロジックで使用された各信号に対する前記制御装置のメモリアドレスの割り当てを示す複数の前記第3割り当て情報を記憶し、The storage means stores a plurality of the third allocation information indicating the allocation of the memory address of the control device for each signal used in the plurality of the third control logics.
前記生成手段は、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれていない場合は、複数の前記第3割り当て情報を新しい順に参照する、請求項2又は3に記載のロジック更新装置。The generation means according to claim 2 or 3, wherein when the signal used in the second control logic is not included in the first allocation information, the generation means refers to a plurality of the third allocation information in chronological order. Logic updater.
制御対象を制御する制御装置において実行されている第1制御ロジックに代わり前記制御装置において実行される第2制御ロジックを、1又は複数の装置によって構成されるロジック更新装置を用いて生成するロジック更新方法であって、
前記第1制御ロジックで使用される各信号に対する前記制御装置のメモリアドレスの割り当てを示す第1割り当て情報を記憶する記憶ステップと、
前記第2制御ロジック、及び前記第2制御ロジックで使用される各信号に対する前記制御装置のメモリアドレスの割り当てを示す第2割り当て情報を生成する生成ステップと、 前記第2制御ロジック及び前記第2割り当て情報を出力する出力ステップと、を含み、 前記生成ステップは、前記第1割り当て情報を参照し、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれている場合は、前記第1割り当て情報で当該信号に対して割り当てられている前記制御装置のメモリアドレスが当該信号に対して割り当てられるように、前記第2割り当て情報を生成し、
前記生成ステップは、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれていない場合は、当該信号に対して、前記第2制御ロジックで使用されない信号に対して前記第1割り当て情報で割り当てられている前記制御装置のメモリアドレスが割り当てられるように、前記第2割り当て情報を生成する、ロジック更新方法。
Logic update that generates the second control logic executed in the control device instead of the first control logic executed in the control device that controls the control target by using a logic update device composed of one or more devices. It's a method
A storage step for storing the first allocation information indicating the allocation of the memory address of the control device to each signal used in the first control logic, and
A generation step for generating the second control logic and a second allocation information indicating the allocation of the memory address of the control device for each signal used in the second control logic, the second control logic, and the second allocation. The generation step includes an output step for outputting information, and the generation step refers to the first allocation information, and if the signal used in the second control logic is included in the first allocation information, the first allocation information is included. The second allocation information is generated so that the memory address of the control device assigned to the signal in the first allocation information is assigned to the signal .
In the generation step, when the signal used in the second control logic is not included in the first allocation information, the first is described for the signal and for the signal not used in the second control logic. A logic update method for generating the second allocation information so that the memory address of the control device allocated in the allocation information is allocated .
制御対象を制御する制御装置において実行されている第1制御ロジックに代わり前記制御装置において実行される第2制御ロジックを、1又は複数の装置によって構成されるロジック更新装置を用いて生成するロジック更新方法であって、
前記第1制御ロジックで使用される各信号に対する前記制御装置のメモリアドレスの割り当てを示す第1割り当て情報を記憶する記憶ステップと、
前記第2制御ロジック、及び前記第2制御ロジックで使用される各信号に対する前記制御装置のメモリアドレスの割り当てを示す第2割り当て情報を生成する生成ステップと、 前記第2制御ロジック及び前記第2割り当て情報を出力する出力ステップと、を含み、 前記生成ステップは、前記第1割り当て情報を参照し、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれている場合は、前記第1割り当て情報で当該信号に対して割り当てられている前記制御装置のメモリアドレスが当該信号に対して割り当てられるように、前記第2割り当て情報を生成し、
前記記憶ステップは、前記制御装置において前記第1制御ロジックより前に実行された第3制御ロジックで使用された各信号に対する前記制御装置のメモリアドレスの割り当てを示す第3割り当て情報を記憶し、
前記生成ステップは、前記第2制御ロジックで使用される信号が前記第1割り当て情報に含まれていない場合は、前記第3割り当て情報を参照し、当該信号が前記第3割り当て情報に含まれているときは、前記第3割り当て情報で当該信号に対して割り当てられている前記制御装置のメモリアドレスが当該信号に対して割り当てられるように、前記第2割り当て情報を生成する、ロジック更新方法。
Logic update that generates the second control logic executed in the control device instead of the first control logic executed in the control device that controls the control target by using a logic update device composed of one or more devices. It's a method
A storage step for storing the first allocation information indicating the allocation of the memory address of the control device to each signal used in the first control logic, and
A generation step for generating the second control logic and a second allocation information indicating the allocation of the memory address of the control device for each signal used in the second control logic, the second control logic, and the second allocation. The generation step includes an output step for outputting information, and the generation step refers to the first allocation information, and if the signal used in the second control logic is included in the first allocation information, the first allocation information is included. The second allocation information is generated so that the memory address of the control device assigned to the signal in the first allocation information is assigned to the signal .
The storage step stores third allocation information indicating the allocation of the memory address of the control device to each signal used in the third control logic executed before the first control logic in the control device.
When the signal used in the second control logic is not included in the first allocation information, the generation step refers to the third allocation information, and the signal is included in the third allocation information. When , a logic update method for generating the second allocation information so that the memory address of the control device assigned to the signal in the third allocation information is assigned to the signal .
JP2016142485A 2016-07-20 2016-07-20 Logic update device and logic update method Active JP6790541B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016142485A JP6790541B2 (en) 2016-07-20 2016-07-20 Logic update device and logic update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016142485A JP6790541B2 (en) 2016-07-20 2016-07-20 Logic update device and logic update method

Publications (2)

Publication Number Publication Date
JP2018013917A JP2018013917A (en) 2018-01-25
JP6790541B2 true JP6790541B2 (en) 2020-11-25

Family

ID=61019504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016142485A Active JP6790541B2 (en) 2016-07-20 2016-07-20 Logic update device and logic update method

Country Status (1)

Country Link
JP (1) JP6790541B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4243039B2 (en) * 1999-08-03 2009-03-25 ヴィジョンアーツ株式会社 Image file processing apparatus, image file processing program, and medium storing the program
JP4725747B2 (en) * 2007-04-27 2011-07-13 オムロン株式会社 PLC control program development support device
JP5790128B2 (en) * 2011-04-28 2015-10-07 富士電機株式会社 Programmable controller system and its support device
JP5957936B2 (en) * 2012-02-15 2016-07-27 富士電機株式会社 Programmable controller system, its support device, program
JP6071782B2 (en) * 2013-07-04 2017-02-01 株式会社東芝 PLANT CONTROL DEVICE, PLANT CONTROL METHOD, AND PLANT CONTROL PROGRAM

Also Published As

Publication number Publication date
JP2018013917A (en) 2018-01-25

Similar Documents

Publication Publication Date Title
US8484435B2 (en) Method for updating data in memories using a memory management unit
JP2007034359A (en) Distributed control system
US9785410B2 (en) Method for operating a control unit and a control unit having a model calculation unit
KR102258542B1 (en) Programmable controllers, management units and control systems
US11561786B2 (en) Update management device, update management system, and update management method
JP2011095952A (en) Method for updating firmware and electronic equipment
JP5680466B2 (en) Parallel processing system and method of operating parallel processing system
JP6292096B2 (en) Programmable controller system and its support device
JP6790541B2 (en) Logic update device and logic update method
US20130152058A1 (en) Method for Translating a Control Program in an Automation Language into an Intermediate Language
US20190232891A1 (en) Vehicle Control Device
CN116991758A (en) Spatial layout updating method, device, equipment and medium
WO2020075351A1 (en) Control device
JP2014029679A (en) Electronic apparatus
JP6843823B2 (en) PLC program processing device
JPWO2019116984A1 (en) FPGA system, partial reconfiguration execution method, storage medium and data structure
WO2016189834A1 (en) Parameter determination device, parameter determination method, and program
JP4760607B2 (en) Programmable controller
JP6582438B2 (en) Information processing apparatus, system setting method, and computer program
JP2007034514A (en) Information processor
JP6726088B2 (en) Data processing device and access control method
JP2020024579A (en) On-vehicle device
JP4479558B2 (en) Programmable controller and programming tool thereof
JP2018018248A (en) Programmable controller
JP6855886B2 (en) Logic generator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190530

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201019

R151 Written notification of patent or utility model registration

Ref document number: 6790541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151