JP2022053180A - Sequence program editing device, sequence program editing method, and computer readable storage medium - Google Patents
Sequence program editing device, sequence program editing method, and computer readable storage medium Download PDFInfo
- Publication number
- JP2022053180A JP2022053180A JP2020159849A JP2020159849A JP2022053180A JP 2022053180 A JP2022053180 A JP 2022053180A JP 2020159849 A JP2020159849 A JP 2020159849A JP 2020159849 A JP2020159849 A JP 2020159849A JP 2022053180 A JP2022053180 A JP 2022053180A
- Authority
- JP
- Japan
- Prior art keywords
- sequence program
- program
- data address
- sequence
- validity
- 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.)
- Pending
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
本発明は、シーケンスプログラム編集装置、シーケンスプログラム編集方法、コンピュータが読み取り可能な記憶媒体に関する。 The present invention relates to a sequence program editing device, a sequence program editing method, and a computer-readable storage medium.
シーケンス制御は、制御方法の1つであり、同じ動作を繰り返し実行する工場のラインなどで広く用いられている。PLC(Programmable Logic Controller)は、シーケンス制御専用のコントローラであり、プログラマブルコントローラ(PC)、シーケンサまたはシーケンスコントローラともよばれる。 Sequence control is one of the control methods and is widely used in factories and the like where the same operation is repeatedly executed. A PLC (Programmable Logic Controller) is a controller dedicated to sequence control, and is also called a programmable controller (PC), a sequencer, or a sequence controller.
PLCのメモリエリアには、システムメモリ、プログラムメモリ、データメモリなどがある。システムメモリにはPLCの基本ソフトウェアが書き込まれており、プログラムメモリにはプログラマが作成したシーケンスプログラムが格納されている。PLCをRUNすると、基本ソフトウェアは、入力ユニットからの情報を処理し、プログラムメモリに記憶されているシーケンスプログラムに従ってシーケンス動作を演算し、その結果を出力ユニットに出力してシーケンス制御を実行する。 The PLC memory area includes a system memory, a program memory, a data memory, and the like. The basic PLC software is written in the system memory, and the sequence program created by the programmer is stored in the program memory. When the PLC is RUN, the basic software processes the information from the input unit, calculates the sequence operation according to the sequence program stored in the program memory, outputs the result to the output unit, and executes the sequence control.
シーケンスプログラムを作成するには、パーソナルコンピュータ(PC)に専用のソフトウェアをインストールするか、プログラミングコンソールなどのプログラム専用機器が用いられる。シーケンスプログラム編集装置では、入出力デバイスとの通信割付の設定、産業用ネットワークとの通信の設定等、PLCに関わる様々な設定や編集ができる。 To create a sequence program, install dedicated software on a personal computer (PC) or use a program-dedicated device such as a programming console. The sequence program editing device can perform various settings and editing related to PLC, such as setting of communication allocation with input / output devices and setting of communication with industrial networks.
シーケンスプログラムの言語には、ラダー言語、ST(Strutured Text)言語、ニーモックなどがある。 The language of the sequence program includes a ladder language, an ST (Strutured Text) language, a knee mock, and the like.
ラダー言語とは、接点やコイルなどの回路要素を示す図記号を使ってシーケンス回路図を図式化した言語である。ラダープログラミングは、画面上で視覚的に作成することができる。例えば、特許文献1では、図記号を一覧表示し、画面上に回路を配置することで、ラダープログラムを作成する。
ST言語とは、テキスト形式のプログラム言語であり、構文による条件判断や反復などの制御が記述できる。ST言語では計算式などを一般の数式に近い形式で記述でき、数式や演算式を簡潔に記述できる。
ラダー言語とST言語とは、必ずしも独立した言語ではなく、「ラダーとST言語を組み合わせて記述する形」があり、これを「インラインST」と呼ぶ。
The ladder language is a language in which a sequence circuit diagram is schematized using graphic symbols indicating circuit elements such as contacts and coils. Ladder programming can be created visually on the screen. For example, in
The ST language is a text-format programming language, and can describe control such as conditional judgment and repetition by syntax. In the ST language, calculation formulas and the like can be described in a format similar to general formulas, and formulas and calculation formulas can be described concisely.
The ladder language and the ST language are not necessarily independent languages, but there is a "form in which the ladder and the ST language are described in combination", and this is called "inline ST".
ラダープログラムもSTプログラムも、ニーモニックに変換してPLCに転送される。ニーモニックは、PLCが実行可能な機械語のプログラムである。ニーモニックのプログラムも、ラダー言語やST言語と同様にプログラマが作成・編集することができる。 Both the ladder program and the ST program are converted into mnemonics and transferred to the PLC. A mnemonic is a machine language program that a PLC can execute. The mnemonic program can be created and edited by the programmer in the same way as the ladder language and ST language.
PLCを使ってシーケンス制御を行うときにはまず、I/O割付を行う。I/O割付とは、機械や操作パネルの信号をPLCのどの入出力番号に接続するかを割り振ることである。 When performing sequence control using PLC, first, I / O allocation is performed. The I / O allocation is to allocate the input / output number of the PLC to which the signal of the machine or the operation panel is connected.
I/O割付では、入出力デバイスのアドレス、占有するアドレスのサイズ、入出力デバイスが取り付けられたスロット番号、コメントなどを含むメモリマップを作成し、シーケンス制御を行うときの、機械や操作パネルの信号をPLCのどの入出力番号に接続するかを設定する。
また、I/O割付では、内部アドレスを割り付ける。内部アドレスに割り付けられたアドレスは、シーケンスプログラムで仮想リレーとして使用できる。内部アドレスを使って産業用ネットワークの通信用のアドレスを割り付けることもできる。
In I / O allocation, a memory map including the I / O device address, the size of the occupied address, the slot number where the I / O device is installed, the comment, etc. is created, and the sequence control is performed on the machine or operation panel. Set which input / output number of the PLC the signal is connected to.
In the I / O allocation, an internal address is assigned. The address assigned to the internal address can be used as a virtual relay in the sequence program. You can also use the internal address to assign an address for communication on an industrial network.
PLCは工場のラインを制御するため、制御対象となるデバイスと通信できるようになっている。PLCとデバイスとの接続関係はI/O割付で設定する。しかしながら、PLCが通信するデバイスの種類や数は、システムが構築される現場の状況やシステムの目的に応じて変化する。例えば、PLCに接続される操作盤が2台のシステムもあれば、3台の操作盤が接続される場合もある。構築するシステムの構成が異なる場合、PLCとデバイスとを関連づけるI/O割付も異なる。それぞれのシステムに適合するよう、I/O割付の設定を変更し、シーケンスプログラムを作成することは煩雑である。 Since the PLC controls the factory line, it can communicate with the device to be controlled. The connection relationship between the PLC and the device is set by I / O allocation. However, the type and number of devices with which the PLC communicates vary depending on the situation at the site where the system is constructed and the purpose of the system. For example, some systems have two operation panels connected to the PLC, and some systems have three operation panels connected to the PLC. If the configuration of the system to be constructed is different, the I / O allocation that associates the PLC with the device is also different. It is complicated to change the I / O allocation settings and create a sequence program to suit each system.
また、運用の途中でシステムの構成が変化する可能性があり、新たなデバイスを追加したり、不要なデバイスを制御対象から外したり、制御対処から外したデバイスの使用を再開することもある。システムの構成を変更するごとに、I/O割付の設定を変更し、シーケンスプログラムを作成することも煩雑である。 In addition, the system configuration may change during operation, and new devices may be added, unnecessary devices may be excluded from control targets, and devices removed from control measures may be resumed. It is also complicated to change the I / O allocation setting and create a sequence program every time the system configuration is changed.
シーケンスプログラムの作成において、プログラム編集を簡便にする技術が望まれている。 In creating a sequence program, a technique for simplifying program editing is desired.
本開示の一態様によるシーケンスプログラム編集装置は、シーケンスプログラムを編集するするシーケンスプログラム編集装置であって、データアドレスの割付を受け付けるI/O割付設定部と、シーケンスプログラムの編集を受け付けるシーケンスプログラム編集部と、データアドレスの有効性の設定を受け付ける有効性設定部と、シーケンスプログラムを記憶するシーケンスプログラム記憶部と、有効性設定部に設定されたデータアドレスの有効性に基づき、シーケンスプログラム記憶部に記憶するシーケンスプログラムのうち、無効に切り替えても影響を与えない要素を削除した等価なシーケンスプログラムに変換するシーケンスプログラム変換部と、を有する。
本開示の一態様によるシーケンスプログラム編集方法は、シーケンスプログラムを編集するシーケンスプログラム編集方法であって、I/O割付されたデータアドレスの有効性の設定を受け付け、データアドレスの有効性に従い、既に作成されたシーケンスプログラムのうち、無効に切り替えても影響を与えない要素を削除した等価なシーケンスプログラムに変換する。
本開示の一態様による記録媒体は、1つ又は複数のプロセッサが実行することにより、I/O割付されたデータアドレスの有効性の設定を受け付け、データアドレスの有効性に従い、既に作成されたシーケンスプログラムのうち、無効に切り替えても影響を与えない要素を削除した等価なシーケンスプログラムに変換する。
The sequence program editing device according to one aspect of the present disclosure is a sequence program editing device that edits a sequence program, and is an I / O allocation setting unit that accepts data address allocation and a sequence program editing unit that accepts sequence program editing. The validity setting unit that accepts the setting of the validity of the data address, the sequence program storage unit that stores the sequence program, and the sequence program storage unit that stores the sequence program based on the validity of the data address set in the validity setting unit. It has a sequence program conversion unit that converts into an equivalent sequence program in which elements that do not affect even if it is switched to invalid are deleted.
The sequence program editing method according to one aspect of the present disclosure is a sequence program editing method for editing a sequence program, which accepts the setting of the validity of the data address assigned to the I / O and has already been created according to the validity of the data address. Converts to an equivalent sequence program in which the elements that do not affect even if it is switched to invalid are deleted from the sequence programs that have been executed.
The recording medium according to one aspect of the present disclosure accepts the setting of the validity of the data address assigned to the I / O by being executed by one or more processors, and is a sequence already created according to the validity of the data address. Convert to an equivalent sequence program in which the elements that do not affect the program even if it is switched to invalid are deleted.
本発明の一態様により、シーケンスプログラムの作成において、プログラム編集を簡便にすることができる。 According to one aspect of the present invention, program editing can be simplified in the creation of a sequence program.
[第1の開示]
以下、図面を参照して本開示の概要を説明する。
図1には、パーソナルコンピュータ(PC)1とPLC2が存在する。PC1には、シーケンスプログラム編集用ソフトウェアがインストールされている。プログラマはPC1でシーケンスプログラムを作成し、PLC2に転送する。
[First disclosure]
Hereinafter, the outline of the present disclosure will be described with reference to the drawings.
In FIG. 1, a personal computer (PC) 1 and a
PC1は、図2のようなハードウェア構成を有する。PC1が備えるCPU111は、PC1を全体的に制御するプロセッサである。CPU111は、バス122を介してROM112に格納されたシステム・プログラムを読み出し、該システム・プログラムに従ってPC1全体を制御する。RAM113には一時的な計算データや表示データ、及び外部から入力された各種データ等が一時的に格納される。
PC1 has a hardware configuration as shown in FIG. The
不揮発性メモリ114は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、PC1の電源がオフされても記憶状態が保持される。不揮発性メモリ114には、インタフェース115を介して外部機器125から読み込まれたデータ、入力部124を介して入力されたデータ、ネットワークを介してPLC2から取得されたデータ等が記憶される。不揮発性メモリ114に記憶されたデータは、実行時/利用時にはRAM113に展開されてもよい。また、ROM112には、公知の解析プログラムなどの各種システム・プログラムが予め書き込まれている。
The non-volatile memory 114 is composed of, for example, a memory backed up by a battery (not shown), an SSD (Solid State Drive), or the like, and the storage state is maintained even when the power of the
インタフェース115は、PC1のCPU111とPLC2とを接続するためのインタフェースである。インタフェース115を介してPC1が作成したシーケンスプログラムをPLC2に転送する。なお、可搬性のメモリを用いてシーケンスプログラムをPLC2に転送してもよい。
The
インタフェース120は、PC1のCPU111と有線乃至無線のネットワークとを接続するためのインタフェースである。ネットワークには、産業機械やフォグコンピュータ、クラウドサーバ等が接続され、PC1との間で相互にデータのやり取りを行っている。
The
表示部123には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等がインタフェース117を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力部124は、プログラマの入力をインタフェース118を介してCPU111に渡す。
On the
図3は、PC1のブロック図である。PC1は、プログラマによるI/O割付の設定を受け付けるI/O割付設定部11と、プログラマによるシーケンスプログラムの編集を受け付けるシーケンスプログラム編集部12と、デバイスの有効性を設定する有効性設定部13と、データアドレスの属性情報を記憶するアドレス属性情報保持部14と、シーケンスプログラムを記憶するシーケンスプログラム記憶部15と、デバイスの有効性を基にシーケンスプログラムを変換するシーケンスプログラム変換部16と、を備える。
FIG. 3 is a block diagram of PC1. The
I/O割付設定部11は、I/O割付画面20を表示し、プログラマからのI/O割付設定を受け付ける。図4は、I/O割付画面20の一例である。図4のI/O割付画面20では、入出力デバイスのデータアドレス、データアドレスのサイズ、入出力デバイスを装着したスロット番号、データアドレスの有効性が設定できる。なお、図4は、I/O割付画面20の一例であり、これに限定されない。
The I / O
シーケンスプログラム編集部12は、シーケンスプログラム編集画面(第1の開示では、ラダー編集画面30)を表示し、シーケンスプログラム(第1の開示では、ラダープログラム)の編集を受け付ける。
ラダー編集画面30には、ラダープログラムを編集するラダー編集エリアが表示されている。プログラマは、ラダー編集画面30を操作してラダープログラムを編集する。
The sequence
On the
有効性設定部13は、デバイスに割り付けられたデータアドレスの有効性の設定を受け付ける。有効性の設定方法は、少なくとも2種類ある。
1つ目の方法は、プログラマが手動で設定する方法である。有効性設定部13は、有効性設定画面(本開示ではI/O割付画面20の一部)を表示する。有効性設定画面では、各データアドレスの有効・無効を設定できる。この例では、外部デバイスに割り付けられたデータアドレスの有効性を設定するが、内部デバイスの有効性の設定も可能である。内部データアドレスには、産業用ネットワークの通信設定に用いるものがある。本開示は、通信設定用の内部データアドレスの有効性を設定して、接続するデバイスを変換することができる。
2つ目の方法では、有効性設定部13が自動的に有効性を設定する。有効性設定部13は、PLC2のスロットにデバイスが取り付けられているか否かを検知する。有効性設定部13は、PLC2のスロットへのデバイスの装着を検知すると、そのデバイスを有効と設定し、PLC2のスロットからデバイスが外されると、そのデバイスの有効性を無効と設定する。
The
The first method is to set it manually by the programmer. The
In the second method, the
アドレス属性情報保持部14は、データアドレスの属性情報を記憶する。PLC2のデータアドレスには様々な種類がある。具体的には、出力データアドレス、入力データアドレス、内部データアドレス、メッセージ表示用データアドレスなどがある。通常、データアドレスの先頭のアルファベットは、データアドレスの種類を示している。アルファベットとデータアドレスの種類との関係は、PLC2のメーカや仕様によって異なる。
The address attribute
シーケンスプログラム記憶部15は、マスタプログラムを記憶する。マスタプログラムとは、他のプログラムのベースとなる基本のプログラムである。マスタプログラムは、例えば、想定される全てのデバイスがPLC2に接続された状態のラダープログラムである。
その他、使用頻度の高いシステム構成や慣習的に用いられているシステム構成、デフォルトのシステム構成におけるラダープログラムをマスタプログラムとしてもよい。
The sequence
In addition, a ladder program in a frequently used system configuration, a customarily used system configuration, or a default system configuration may be used as a master program.
シーケンスプログラム変換部16は、有効性設定部13において無効に設定されたデータアドレスの回路要素(接点やコイル)への入力を無効にし、無効に切り替えてもラダープログラムに影響を与えない要素を削除し、影響を与える要素を残したラダープログラム(等価プログラム)に変換する。
具体的に説明すると、シーケンスプログラム変換部16は、無効に切り替えられたデータアドレスが、(1)直列接続のa接点である場合、(2)並列接続のa接点である場合、(3)直列接続のb接点である場合、(4)並列接続のb接点である場合、(5)機能ブロックの入力である場合、(6)出力データアドレスであり他の入力にならない場合、(7)出力データアドレスであり他の入力になる場合、の7つの場合に対してラダープログラムを変換する。
The sequence
Specifically, in the sequence
図5~図7を参照して、シーケンスプログラム変換部16の処理を説明する。図5では、I/O割付画面20とラダー編集画面30が表示されている。この例では、データアドレス「X0000」と「Y0000」を有効から無効に切り替えたものとする。
The processing of the sequence
(1)無効に切り替えられたデータアドレスが直列接続のa接点である場合(AND命令)、シーケンスプログラム変換部16は、直列接続を、常にOFFの信号を出力する接点に変換する。
例えば、図6のラダープログラムの1行目では、無効になったデータアドレス「X0000.0」が直列接続のa接点となっている。直列接続の場合、直列に接続された接点のうち少なくとも1つの信号がOFFであれば条件不成立となる。図6の場合、「X0001.0」の値に関係なく、直列接続は条件不成立となる。そのため、直列接続のブロックを、常にOFFの信号を出力する接点に変換する。
(1) When the data address switched to invalid is the a contact of the series connection (AND instruction), the sequence
For example, in the first line of the ladder program of FIG. 6, the invalid data address “X0000.0” is the a contact of the series connection. In the case of series connection, if at least one signal of the contacts connected in series is OFF, the condition is not satisfied. In the case of FIG. 6, the condition is not satisfied for the series connection regardless of the value of "X0001.0". Therefore, the block connected in series is converted into a contact that always outputs an OFF signal.
(2)無効に切り替えられたデータアドレスが並列接続のa接点である場合(OR命令)、シーケンスプログラム変換部16は、無効に切り替えられたデバイスアドレスのa接点を削除する。
例えば、図6のラダープログラムの2行目及び3行目では、「X0000.1」が並列接続のa接点となっている。並列接続の場合、少なくとも1つの信号がONであれば条件成立となる。「X0000.1」の信号はOFFであるため、残りの接点の状態によって結果が変化する。「X0000.1」のa接点は並列接続の出力に影響を与えないので、削除する。
但し、データアドレスを無効にすることにより並列接続の全ての接点がOFFに切り替わった場合には、並列接続を常にOFFの信号を出力する接点に変換する。
(2) When the invalidated data address is the a-contact of the parallel connection (OR instruction), the sequence
For example, in the second and third lines of the ladder program of FIG. 6, "X0000.1" is a contact for parallel connection. In the case of parallel connection, the condition is satisfied if at least one signal is ON. Since the signal of "X0000.1" is OFF, the result changes depending on the state of the remaining contacts. Since the a contact of "X0000.1" does not affect the output of parallel connection, it is deleted.
However, when all the contacts of the parallel connection are switched to OFF by disabling the data address, the parallel connection is always converted into a contact that outputs an OFF signal.
(3)無効に切り替えられたデータアドレスが直列接続のb接点である場合(ANI命令)、シーケンスプログラム変換部16は、無効に切り替えられたデータアドレスのb接点を直列接続から削除する。
例えば、図6のラダープログラムの4行目では、「X0000.3」が直列接続のb接点となっている。直列接続の場合、少なくとも1つの信号がOFFであれば条件不成立となる。「X0000.3」のb接点は常にONであるため、条件の成立に影響を与えない。「X0000.3」は直列接続の出力に影響を与えないので削除する。
但し、データアドレスを無効にすることにより直列接続の全ての接点がONに切り替わった場合には、直列接続を常にONの信号を出力する接点に変換する。
(3) When the invalidly switched data address is the b-contact of the serial connection (ANI instruction), the sequence
For example, in the fourth line of the ladder program of FIG. 6, "X0000.3" is the b contact of the series connection. In the case of series connection, if at least one signal is OFF, the condition is not satisfied. Since the b contact of "X0000.3" is always ON, it does not affect the establishment of the condition. Since "X0000.3" does not affect the output of the series connection, it is deleted.
However, when all the contacts of the series connection are switched to ON by disabling the data address, the series connection is converted into a contact that always outputs an ON signal.
(4)無効に切り替えられたデータアドレスが並列接続のb接点である場合(ORI命令)、シーケンスプログラム変換部16は、無効に切り替えられたデバイスアドレスのb接点を含む並列接続を、常にONの信号を出力する接点に変換する。
例えば、図6のラダープログラムの5行目と6行目では、「X0000.4」が並列接続のb接点となっている。並列接続の場合、少なくとも1つの接点がONであれば条件成立となる。「X0000.4」のb接点は常にONであるため、並列接続を、常にONの信号を出力する接点に変換する。
(4) When the invalidly switched data address is the b-contact of the parallel connection (ORI instruction), the sequence
For example, in the 5th and 6th lines of the ladder program of FIG. 6, "X0000.4" is the b contact of the parallel connection. In the case of parallel connection, the condition is satisfied if at least one contact is ON. Since the b contact of "X0000.4" is always ON, the parallel connection is converted into a contact that always outputs an ON signal.
(5)無効に切り替えられたデータアドレスが機能ブロックの入力である場合、シーケンスプログラム変換部16は、常に、OFFの出力をする接点に変換する。しかしながら、機能ブロックの繋がった回路は、単純に置き換えができない。機能ブロックの種類によっては、プログラマが確認した上で機能ブロックを削除する。
(5) When the data address switched to invalid is the input of the functional block, the sequence
このように、ラダープログラムの変換することにより、ラダープログラムが簡略化される。ラダープログラムを簡略化することにより、システムへの負担が軽減される。また、有効性の設定を変更するだけでラダープログラムが変換されるため、プログラマの負担が軽減される。 By converting the ladder program in this way, the ladder program is simplified. By simplifying the ladder program, the burden on the system is reduced. Moreover, since the ladder program is converted only by changing the validity setting, the burden on the programmer is reduced.
次いで、図7を参照して、出力データアドレスについて説明する。
出力データアドレスが無効になった場合、シーケンスプログラム変換部16は、(6)出力データアドレスの値が他の入力として使用されているか、(7)他の入力として使用されていないかを判定する。
(6)無効に切り替えられたデータアドレスの値が他の入力として使用されていない場合、シーケンスプログラム変換部16は、無効に切り替えられたデータアドレスの出力コイルを含む行をラダープログラムから削除する。
例えば、図7のラダープログラムの1行目は、「Y0000.0」が出力コイルである。図7のラダープログラムにおいて、「Y0000.0」は他の入力として使われていない。そのため、シーケンスプログラム変換部16は、ラダープログラムの1行目を削除する。
Next, the output data address will be described with reference to FIG. 7.
When the output data address becomes invalid, the sequence
(6) When the value of the invalidated data address is not used as another input, the sequence
For example, in the first line of the ladder program of FIG. 7, "Y0000.0" is the output coil. In the ladder program of FIG. 7, "Y0000.0" is not used as another input. Therefore, the sequence
(7)無効に切り替えられたデータアドレスの値が他の入力として使用されている場合、シーケンスプログラム変換部16は、無効に切り替えられたデータアドレスの出力コイルや接点をそのままラダープログラムに残す。
図7のラダープログラムの2行目は、「Y0000.1」が出力コイルである。図7のラダープログラムにおいて、「Y0000.1」は7行目の回路の入力として使われている。そのため、「Y0000.1」の出力コイルとa接点はラダープログラムにそのまま残される。
(7) When the value of the data address that has been invalidated is used as another input, the sequence
In the second line of the ladder program of FIG. 7, "Y0000.1" is the output coil. In the ladder program of FIG. 7, "Y0000.1" is used as the input of the circuit on the 7th line. Therefore, the output coil of "Y0000.1" and the a contact are left as they are in the ladder program.
図7において、変換前のラダープログラムと変換後のラダープログラムとを比較すると、変換後のラダープログラムでは、行数が少なくなっている。変換後のラダープログラムは変換前のラダープログラムよりも簡略であり、システムへの負担が軽減される。また、有効性の設定を変更するだけでラダープログラムが変換されるので、プログラマの負担が軽減される。 In FIG. 7, when the ladder program before conversion and the ladder program after conversion are compared, the number of lines is smaller in the ladder program after conversion. The ladder program after conversion is simpler than the ladder program before conversion, and the burden on the system is reduced. Moreover, since the ladder program is converted only by changing the validity setting, the burden on the programmer is reduced.
なお、データアドレスの無効から有効への切替も可能である。無効なデータアドレスを有効にする場合には、マスタプログラムや無効化前のラダープログラムを読み出し、これまで無効であったデータアドレスに関連する接点やコイルをラダープログラムに再配置する必要がある。 It is also possible to switch the data address from invalid to valid. To enable an invalid data address, it is necessary to read the master program and the ladder program before invalidation, and relocate the contacts and coils related to the previously invalid data address to the ladder program.
[第2の開示]
第2の開示について説明する。なお、第2の開示において、第1の開示と同じ構成は説明を省略する。
第2の開示のPC1は、STプログラムの変換を行う。第2の開示のシーケンスプログラム編集部12は、シーケンスプログラム編集画面(第2の開示では、ST編集画面40)を表示し、シーケンスプログラム(第2の開示では、STプログラム)の編集を受け付ける。
ST編集画面40には、STプログラムを編集するST編集エリアが表示されている。プログラマは、ST編集エリアを操作してSTプログラムを編集する。
[Second disclosure]
The second disclosure will be described. In the second disclosure, the same configuration as that of the first disclosure will be omitted.
The PC1 of the second disclosure performs the conversion of the ST program. The sequence
On the
シーケンスプログラム記憶部15は、マスタプログラムを記憶する。マスタプログラムとは他のプログラムのベースとなる基本のプログラムである。マスタプログラムは、例えば、PLC2に全てのデバイスが接続された状態のSTプログラムである。
そのほか、使用頻度の高いシステム構成や慣習的に用いられているシステム構成、デフォルトのシステム構成におけるSTプログラムをマスタプログラムとしてもよい。
The sequence
In addition, an ST program in a frequently used system configuration, a customarily used system configuration, or a default system configuration may be used as a master program.
シーケンスプログラム変換部16は、有効性設定部13において無効に設定されたデータアドレスに対応する変数に「FALSE」を代入し、無効に切り替えてもSTプログラムに影響を与えない変数(要素)を削除し、影響のある変数(要素)を残したSTプログラム(等価プログラム)に変換する。
The sequence
具体的に説明すると、シーケンスプログラム変換部16は、上述した(1)から(7)の場合に対してSTプログラムを変換する。シーケンスプログラム変換部16は、無効に切り替えられたデータアドレスの変数に「FALSE」を代入し、プログラムの条件式から無効に切り替えられたデータアドレスの変数を削除したり、プログラムの条件式をコメントアウトしたりする。
Specifically, the sequence
図8及び図9を参照して一例を説明する。図8には、I/O割付画面20とST編集画面40が表示されている。この例では、I/O割付画面20において、「X0000」と「Y0000」が有効から無効に切り替えられている。図9の左側は変換前のSTプログラムであり、図9の右側は変換後のSTプログラムである。ST編集画面40は、上下2段に分かれており、上部の変数宣言エリアで変数の宣言を行い、下部のプログラム編集エリアで計算式を作成する。
図8の宣言エリアでは、1バイトの入力データアドレス「X0000」の配列「inX0」、1バイトの出力データアドレス「Y0000」の配列「outY0」、2バイトの入力データアドレス「X0010」の配列「inX10」などが宣言されている。
An example will be described with reference to FIGS. 8 and 9. In FIG. 8, the I /
In the declaration area of FIG. 8, the array "inX0" of the 1-byte input data address "X0000", the array "outY0" of the 1-byte output data address "Y0000", and the array "inX10" of the 2-byte input data address "X0010". "And so on are declared.
図8のプログラム編集エリアには、STプログラムが記述されている。1行目から5行目はIF文である。IF文の条件式「inX(0)[0] AND inX10[0]」はラダープログラムの直列接続に相当する。1行目から5行目までのIF文は「inX0[0]」と「inX10[0]」の論理和が成立すれば、変数「var1」に「TRUE」を代入し、そうでない場合は、変数「var1」に「FALSE」を代入することを意味する。
7行目の条件式「var2 OR var3」はラダープログラムの並列接続に相当する。7行目から9行目のIF文は、変数「var2」と変数「var3」の論理積が成立すれば、「outY0[0]」にvar4を代入することを意味する。
An ST program is described in the program editing area of FIG. The first to fifth lines are IF statements. The conditional expression "inX (0) [0] AND inX10 [0]" of the IF statement corresponds to the serial connection of the ladder program. For the IF statements from the 1st line to the 5th line, if the logical sum of "inX0 [0]" and "inX10 [0]" is established, "TRUE" is assigned to the variable "var1", otherwise "TRUE" is assigned. It means that "FALSE" is assigned to the variable "var1".
The conditional expression "var2 OR var3" on the 7th line corresponds to the parallel connection of the ladder program. The IF statement on the 7th to 9th lines means that if the logical product of the variable "var2" and the variable "var3" is established, var4 is assigned to "outY0 [0]".
「X0000」が無効に切り替えられたとすると、無効に切り替えられたデータアドレスに対応する配列「inX0」には「FALSE」が代入される。 Assuming that "X0000" is invalidated, "FALSE" is assigned to the array "inX0" corresponding to the invalidated data address.
1行目の条件式はラダープログラムの直列接続に相当する。直列接続の場合、直列に接続された接点のうち少なくとも1つの変数が「FALSE」であれば条件不成立となる。IF文の条件式に無効に切り替えられたデータアドレスに対応する変数があれば、IF文をコメントアウトし、出力を「FALSE」にする。この処理は、第1の開示の(1)に相当する。 The conditional expression on the first line corresponds to the serial connection of the ladder program. In the case of series connection, if at least one variable of the contacts connected in series is "FALSE", the condition is not satisfied. If there is a variable corresponding to the data address that has been disabled in the conditional expression of the IF statement, comment out the IF statement and set the output to "FALSE". This process corresponds to (1) of the first disclosure.
上述したように、STプログラムの条件式はラダープログラムの直列接続や並列接続と同じ意味を持つ。第2の開示のシーケンスプログラム変換部16は、IF文をコメントアウトしたり、条件式の要素を削除したりして、STプログラムを変換する。
As described above, the conditional expression of the ST program has the same meaning as the serial connection and parallel connection of the ladder program. The sequence
図9において、変換前のSTプログラムと変換後のSTプログラムとを比較すると、変換後のSTプログラムは変換前のSTプログラムよりも簡略である。プログラムを簡略化することにより、システムへの負担が軽減される。また、有効性の設定を変更するだけでSTプログラムが変換されるため、プログラマの負担が軽減される。 In FIG. 9, when the ST program before conversion and the ST program after conversion are compared, the ST program after conversion is simpler than the ST program before conversion. By simplifying the program, the burden on the system is reduced. Moreover, since the ST program is converted only by changing the validity setting, the burden on the programmer is reduced.
PLC2は、工場システムなどのシーケンス制御を行う。PLC2に接続されるデバイスは、制御対象となるシステム構成によって変化する。また、システム構成は、運用中に変化することもある。
本開示では、使用しないデバイスのデータアドレスを無効に設定することができる。そして、無効に設定されたデバイスのデータアドレスへの入力を無効にし、無効にしても影響を与えない要素をシーケンスプログラムから削除し、影響を与える要素を残した等価プログラムに変換する。これにより、システム構成の変化に柔軟に対応することができる。
The PLC2 controls the sequence of a factory system or the like. The device connected to the
In this disclosure, the data address of a device that is not used can be disabled. Then, the input to the data address of the disabled device is invalidated, the element that does not affect even if disabled is deleted from the sequence program, and the equivalent program that leaves the affected element is converted. This makes it possible to flexibly respond to changes in the system configuration.
なお、本開示では、シーケンスプログラム編集ソフトウェアをインストールしたPC1をシーケンスプログラム編集装置としたが、有効性設定部13、シーケンスプログラム記憶部15、シーケンスプログラム変換部16などを備えたPLC2をシーケンスプログラム編集装置としてもよい。また、プログラミングコンソールなどのプログラム専用機器に有効性設定部13、シーケンスプログラム記憶部15、シーケンスプログラム変換部16などを備えてもよい。
In the present disclosure, the PC1 in which the sequence program editing software is installed is used as the sequence program editing device, but the PLC2 provided with the
1 パーソナルコンピュータ(PC)
2 PLC
11 I/O割付設定部
12 シーケンスプログラム編集部
13 有効性設定部
14 アドレス属性情報保持部
15 シーケンスプログラム記憶部
16 シーケンスプログラム変換部
30 ラダー編集画面
40 ST編集画面
111 CPU
112 ROM
113 RAM
114 不揮発性メモリ
1 Personal computer (PC)
2 PLC
11 I / O
112 ROM
113 RAM
114 Non-volatile memory
Claims (10)
データアドレスの割付を受け付けるI/O割付設定部と、
シーケンスプログラムの編集を受け付けるシーケンスプログラム編集部と、
前記データアドレスの有効性の設定を受け付ける有効性設定部と、
シーケンスプログラムを記憶するシーケンスプログラム記憶部と、
前記有効性設定部に設定された前記データアドレスの有効性に基づき、前記シーケンスプログラム記憶部に記憶するシーケンスプログラムのうち、無効に切り替えても影響を与えない要素を削除した等価なシーケンスプログラムに変換するシーケンスプログラム変換部と、
を有するシーケンスプログラム編集装置。 A sequence program editing device that edits a sequence program.
I / O allocation setting unit that accepts data address allocation,
The sequence program editorial department that accepts the edit of the sequence program,
The validity setting unit that accepts the validity setting of the data address,
A sequence program storage unit that stores the sequence program,
Based on the validity of the data address set in the validity setting unit, the sequence program stored in the sequence program storage unit is converted into an equivalent sequence program in which elements that are not affected even if switched to invalid are deleted. Sequence program conversion unit and
Sequence program editing device with.
I/O割付されたデータアドレスの有効性の設定を受け付け、
前記データアドレスの有効性に従い、既に作成されたシーケンスプログラムのうち、無効に切り替えても影響を与えない要素を削除した等価なシーケンスプログラムに変換する、
シーケンスプログラム編集方法。 Editing a sequence program This is a sequence program editing method.
Accepts the setting of the validity of the data address assigned to I / O,
According to the validity of the data address, the sequence program already created is converted into an equivalent sequence program in which the element that does not affect even if it is switched to invalid is deleted.
How to edit a sequence program.
I/O割付されたデータアドレスの有効性の設定を受け付け、
前記データアドレスの有効性に従い、既に作成されたシーケンスプログラムのうち、無効に切り替えても影響を与えない要素を削除した等価なシーケンスプログラムに変換する、コンピュータが読み取り可能な命令を記憶する記憶媒体。 By being executed by one or more processors
Accepts the setting of the validity of the data address assigned to I / O,
A storage medium for storing computer-readable instructions, which is converted into an equivalent sequence program in which elements that are not affected by switching to invalid are deleted from the sequence programs already created according to the validity of the data address.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020159849A JP2022053180A (en) | 2020-09-24 | 2020-09-24 | Sequence program editing device, sequence program editing method, and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020159849A JP2022053180A (en) | 2020-09-24 | 2020-09-24 | Sequence program editing device, sequence program editing method, and computer readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022053180A true JP2022053180A (en) | 2022-04-05 |
Family
ID=80963147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020159849A Pending JP2022053180A (en) | 2020-09-24 | 2020-09-24 | Sequence program editing device, sequence program editing method, and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022053180A (en) |
-
2020
- 2020-09-24 JP JP2020159849A patent/JP2022053180A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101669077B (en) | Debug system for diagram of orogrammable controller, its programming device and its debugging method | |
JP6550269B2 (en) | PROGRAM CREATION SUPPORT DEVICE, CONTROL METHOD, AND PROGRAM | |
JP3819639B2 (en) | Programming device | |
CN114514484B (en) | Control system, support device, and computer program product | |
CN112558541B (en) | PLC programming extension system and method and electronic equipment | |
US11165745B2 (en) | Control system, controller, and control method | |
US10656611B2 (en) | Programmable controller | |
JP2022053180A (en) | Sequence program editing device, sequence program editing method, and computer readable storage medium | |
JP4842541B2 (en) | Display device for control, screen data generation device, and program and recording medium thereof | |
CN113939780B (en) | Support device and recording medium | |
WO2022244425A1 (en) | Development assistance device, control method for development assistance device, information processing program, and recording medium | |
JP2014199485A (en) | Information processor and information processing program | |
JP2008165324A (en) | Program creation support device | |
JPH11272310A (en) | Emulation device for programmable controller | |
JP5212508B2 (en) | Debug device | |
JP2022053177A (en) | Sequence program editing device, sequence program editing method, and computer readable storage medium | |
JP6484015B2 (en) | Programmable logic controller and control method thereof | |
JP6396084B2 (en) | Engineering apparatus, engineering system, and download processing method | |
JP5079166B1 (en) | Symbol table generation method, communication method with peripheral device, and programmable logic controller | |
JP3464417B2 (en) | Test display method of screen data for control device | |
CN113632016A (en) | Memory mapping method for mixed use of programming language and manufacturer defined language | |
JP2005115969A (en) | Programmable controller | |
JP3497423B2 (en) | Display device for control, control system, and recording medium on which program is recorded | |
JP5832368B2 (en) | Engineering equipment | |
JP3512685B2 (en) | SCREEN DATA CREATION METHOD, SCREEN DATA CREATION DEVICE, AND RECORDING MEDIUM CONTAINING THE PROGRAM |