JP7124556B2 - Programming support device, programming support method, and program - Google Patents
Programming support device, programming support method, and program Download PDFInfo
- Publication number
- JP7124556B2 JP7124556B2 JP2018155598A JP2018155598A JP7124556B2 JP 7124556 B2 JP7124556 B2 JP 7124556B2 JP 2018155598 A JP2018155598 A JP 2018155598A JP 2018155598 A JP2018155598 A JP 2018155598A JP 7124556 B2 JP7124556 B2 JP 7124556B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- setting value
- port
- column
- programming
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Description
この発明は、プログラム言語によるプログラム作成を支援するプログラミング支援装置およびプログラミング支援方法に関する。また、この発明は、そのようなプログラミング支援方法をコンピュータに実行させるためのプログラムに関する。 The present invention relates to a programming support device and a programming support method that support program creation in a programming language. The present invention also relates to a program for causing a computer to execute such a programming support method.
従来、この種のプログラミング支援装置としては、プログラム作成者がコンピュータ上で或るプログラム言語を用いてプログラムを作成する段階で、そのコンピュータの表示画面上に、例えば特許文献1(特開2000-132210号公報)に開示されているようなマップ情報テーブルを表示するものがある。同文献のマップ情報テーブルは、そのプログラムが参照する参照名(シンボル,タグ名)と、その参照名に対応する実際の物理メモリ、物理I/Oポート、並びにネットワーク共有メモリ上のアドレス(チャネル番号)とを関連付けて表示している。 Conventionally, as this type of programming support device, when a program creator creates a program using a certain programming language on a computer, on the display screen of the computer, for example, Patent Document 1 (Japanese Unexamined Patent Application Publication No. 2000-132210 No. 2003-100002), which displays a map information table. The map information table of the document contains reference names (symbols, tag names) referenced by the program, actual physical memory corresponding to the reference names, physical I/O ports, and addresses (channel numbers) on the network shared memory. ) are associated with each other.
プログラム作成者は、表示画面上にこのマップ情報テーブルを表示した状態で、例えば或るシンボル名に対応する物理I/Oポートについての設定値を書き込む。すると、それ以降、その物理I/Oポートへの設定値の上書きは禁止され、その物理I/Oポートへの誤書き込みを防止するようになっている(ただし、上書き禁止を解除する特別の操作が行われた場合は、再び設定値の書き込みが可能となる。)。プログラム作成者は、このようにして設定値の書き込みがなされたマップ情報テーブルを適宜参照しながら、プログラムを作成する。 A program creator writes a setting value for a physical I/O port corresponding to a certain symbol name, for example, with this map information table displayed on the display screen. Then, after that, overwriting of the setting value to that physical I/O port is prohibited, and erroneous writing to that physical I/O port is prevented (however, a special operation to release the overwrite prohibition is performed, the setting value can be written again.) A program creator creates a program while appropriately referring to the map information table in which the setting values are written in this way.
しかしながら、従来のプログラミング支援装置では、物理I/Oポートへの設定値の上書き禁止の機能は、そのプログラム言語によるプログラム作成にしか及ばない、という問題がある。 However, in conventional programming support devices, there is a problem that the function of prohibiting overwriting of set values to physical I/O ports extends only to program creation in the programming language.
例えば、近年、シーケンス制御プログラムを実行するプログラマブルロジックコントローラ(PLC)エンジンと、ロボット制御プログラムを実行してロボットを制御するモーションコントローラ(MC)エンジンとを統合してなるシステムが開発されている。このシステムは、複数の物理I/Oポートを含み、それらの物理I/Oポートに設定された設定値は、それぞれセンサ、モータ、ロボットなどを駆動するプログラムによって参照される。 For example, in recent years, a system has been developed that integrates a programmable logic controller (PLC) engine that executes a sequence control program and a motion controller (MC) engine that executes a robot control program and controls the robot. This system includes a plurality of physical I/O ports, and the setting values set in these physical I/O ports are referenced by programs that drive sensors, motors, robots, and the like.
伝統的に、シーケンス制御プログラムの作成には、ラダー言語が用いられることが多い。一方、ロボット制御プログラムの作成には、C言語、C++、または各社独自のプログラム言語が用いられることが多い。そして、プログラム言語が異なれば、習熟度・作業効率の観点から、それぞれのプログラムの作成を互いに別のプログラム作成者が担当することが一般的に行われている。 Traditionally, a ladder language is often used to create sequence control programs. On the other hand, C language, C++, or a program language unique to each company is often used to create a robot control program. If the programming languages are different, different program creators are generally in charge of creating the respective programs from the viewpoint of proficiency and work efficiency.
このため、上記シーケンス制御プログラムの作成段階、上記ロボット制御プログラムの作成段階で、各プログラム作成者が区々に同じ物理I/Oポートへ設定値を誤って書き込んでしまう可能性がある(先に書き込まれた設定値が、後に書き込まれた設定値によって上書きされてしまう。)。その場合、その物理I/Oポートの設定値は、先に設定値を書き込んだプログラム作成者の意図しない状態になる。 Therefore, there is a possibility that each program creator may mistakenly write setting values to the same physical I/O port at the stage of creating the sequence control program and the stage of creating the robot control program. The written setting value will be overwritten by the setting value written later.) In that case, the setting value of the physical I/O port will be in a state not intended by the program creator who previously wrote the setting value.
そこで、この発明の課題は、デバイスポートへの設定値の上書き禁止の機能を、互いに異なる複数のプログラム言語によるプログラム作成へ及ぼすことができるプログラミング支援装置およびプログラミング支援方法を提供することにある。また、この発明の課題は、そのようなプログラミング支援方法をコンピュータに実行させるためのプログラムを提供することにある。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide a programming support apparatus and a programming support method that can apply the function of prohibiting overwriting of setting values to device ports to program creation in a plurality of different programming languages. Another object of the present invention is to provide a program for causing a computer to execute such a programming support method.
上記課題を解決するため、この開示のプログラミング支援装置は、
複数のデバイスポートを含み、動作時に各デバイスポートが複数のプログラム言語によって参照されるようになっているシステムのための、上記複数のプログラム言語によるプログラム作成を支援するプログラミング支援装置であって、
上記複数のプログラム言語によるプログラムが作成される際に、表示画面上に、上記複数のデバイスポートをそれぞれ表す参照名欄と、上記各デバイスポートが上記システムの動作時に書き込み用のポートであるか又は読み取り用のポートであるかを示す読み出し/書き込み欄と、上記各デバイスポートのための設定値欄とを対応付けて、マップ情報テーブルとして一覧表示する表示処理部を備え、
上記設定値欄は、第1のプログラムのための第1の設定値欄と、第2のプログラムのための第2の設定値欄とに区分されており、
第1のプログラム言語による上記第1のプログラムに関して、上記各デバイスポートについて上記第1の設定値欄への設定値の書き込みがなされたか否かを判断する書き込み判断部と、
上記第1のプログラム言語による上記第1のプログラムに関して、上記第1の設定値欄への設定値の書き込みがなされたと判断されたデバイスポートについて、上記読み出し/書き込み欄を参照して、上記デバイスポートが上記システムの動作時に書き込み用のポートであるとき、上記第1のプログラム言語とは異なる第2のプログラム言語による第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを禁止する一方、上記デバイスポートが上記システムの動作時に読み出し用のポートであるとき、上記第2のプログラム言語による上記第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを許容する上書き禁止部と
を備えたことを特徴とする。
In order to solve the above problems, the programming support device of this disclosure includes:
A programming support device for supporting program creation in a plurality of programming languages for a system including a plurality of device ports, each device port being referenced by a plurality of programming languages during operation , comprising :
When the program is created in the plurality of programming languages, on the display screen, a reference name field representing each of the plurality of device ports and whether each device port is a port for writing during operation of the system, or a display processing unit that associates a read/write column indicating whether the port is for reading and a setting value column for each device port and displays a list as a map information table;
The setting value column is divided into a first setting value column for the first program and a second setting value column for the second program,
a write determination unit that determines whether or not a setting value has been written to the first setting value column for each of the device ports with respect to the first program in the first programming language;
With respect to the first program in the first programming language, with respect to the device port for which it is determined that the setting value has been written to the first setting value column, the device port is referred to the read/write column. is a port for writing during the operation of the system, prohibiting the writing of the setting value to the second setting value field with respect to the second program in the second programming language different from the first programming language On the other hand, when the device port is a port for reading during the operation of the system, writing of the setting value to the second setting value field is permitted with respect to the second program in the second program language. and an overwrite prohibition section.
本明細書で、「デバイスポート」とは、物理I/O(入出力インタフェース)ポートなどの、プログラムの実行中に参照されるべき設定値が書き込まれる又は書き込まれたポートを広く指す。 As used herein, the term "device port" broadly refers to a port, such as a physical I/O (input/output interface) port, to which setting values to be referenced during program execution are written or written.
また、上記設定値欄への設定値の書き込みは、キーボード、マウスなどの操作部を介した入力によって行われ得る。 Also, the setting value can be written in the setting value column by inputting via an operation unit such as a keyboard or a mouse.
この開示のプログラミング支援装置によって作成されたプログラムを用いるシステムでは、システムの動作時に、上記システムに含まれた各デバイスポートが複数のプログラム言語によって参照されることが予定されている。この開示のプログラミング支援装置では、上記複数のプログラム言語によるプログラムが作成される際に、表示処理部は、表示画面上に、上記複数のデバイスポートをそれぞれ表す参照名欄と、上記各デバイスポートが上記システムの動作時に書き込み用のポートであるか又は読み取り用のポートであるかを示す読み出し/書き込み欄と、上記各デバイスポートのための設定値欄とを対応付けて、マップ情報テーブルとして一覧表示する。上記設定値欄は、第1のプログラムのための第1の設定値欄と、第2のプログラムのための第2の設定値欄とに区分されている。書き込み判断部は、第1のプログラム言語による上記第1のプログラムに関して、上記各デバイスポートについて上記第1の設定値欄への設定値の書き込みがなされたか否かを判断する。上書き禁止部は、上記第1のプログラム言語による上記第1のプログラムに関して、上記第1の設定値欄への設定値の書き込みがなされたと判断されたデバイスポートについて、上記読み出し/書き込み欄を参照して、上記デバイスポートが上記システムの動作時に書き込み用のポートであるとき、上記第1のプログラム言語とは異なる第2のプログラム言語による第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを禁止する一方、上記デバイスポートが上記システムの動作時に読み出し用のポートであるとき、上記第2のプログラム言語による上記第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを許容する。したがって、上記第1のプログラム言語による第1のプログラムに関して、上記第1の設定値欄への設定値の書き込みがなされたと判断されたデバイスポートについて、プログラム作成者が、上記第2のプログラム言語による第2のプログラムに関して、上記第1の設定値欄への設定値の書き込み(上書き)を誤って行うことが無い。つまり、このプログラミング支援装置によれば、デバイスポートへの設定値の上書き禁止の機能を、互いに異なる複数のプログラム言語によるプログラム作成へ及ぼすことができる。したがって、それぞれのプログラムを作成するプログラム作成者は、このようにして適切に設定値の書き込みがなされたマップ情報テーブルを適宜参照しながら、プログラムを作成することができる。これにより、上記複数のデバイスポートについての設定値は、各プログラム作成者が意図した状態になる。この結果、上記システムの動作時に、上記第1のプログラム言語による第1のプログラムと上記第2のプログラム言語による第2のプログラムとの両方によって、各デバイスポートを参照して、有効利用できる。 In a system using a program created by the programming support device of this disclosure, each device port included in the system is expected to be referenced by a plurality of programming languages during system operation. In the programming support device disclosed in this disclosure, when a program is created in the plurality of programming languages, the display processing unit displays on the display screen a reference name column representing each of the plurality of device ports, and the name of each device port. A read/write column indicating whether the port is for writing or reading during the operation of the system is associated with the setting value column for each device port, and displayed as a map information table. do. The set value column is divided into a first set value column for the first program and a second set value column for the second program. The write determination unit determines whether or not a setting value has been written to the first setting value field for each device port with respect to the first program in the first programming language. The overwrite prohibition unit refers to the read/write column for the device port for which the setting value is determined to be written in the first setting value column with respect to the first program in the first programming language. Then, when the device port is a port for writing during the operation of the system, the setting in the second set value field with respect to the second program in the second program language different from the first program language is performed. While prohibiting the writing of values, when the device port is a port for reading during the operation of the system, a set value in the second set value column with respect to the second program in the second program language writes are allowed . Therefore, regarding the first program written in the first programming language, the program creator writes the Regarding the second program, there is no possibility of mistakenly writing (overwriting) the setting values in the first setting value column. In other words, according to this programming support device, the function of prohibiting overwriting of setting values for device ports can be applied to program creation in a plurality of different programming languages. Therefore, the program creator who creates each program can create the program while appropriately referring to the map information table in which the setting values are appropriately written in this way. As a result, the setting values for the plurality of device ports are in the state intended by each program creator. As a result, during operation of the system, both the first program in the first programming language and the second program in the second programming language can refer to and effectively use each device port.
また、このプログラミング支援装置では、第1のプログラム言語による第1のプログラムに関して、そのプログラムを作成するプログラム作成者は上記第1の設定値欄へ設定値の書き込みを行う。一方、第2のプログラム言語による第2のプログラムに関して、そのプログラムを作成するプログラム作成者は、許容されていれば(上記上書き禁止部によって禁止されていなければ)、上記第2の設定値欄へ設定値の書き込みを行う。したがって、上記第1、第2のプログラムの作成を互いに別のプログラム作成者が担当する場合であっても、各プログラム作成者が設定値の書き込みを行うべき欄を迷うことが無い。 Further, in this programming support device, the program creator who creates the first program written in the first programming language writes the setting values in the first setting value column. On the other hand, regarding the second program in the second programming language, if the program creator who creates the program is allowed (if not prohibited by the overwrite prohibition section), the second setting value column Write the setting value. Therefore, even if different program creators are in charge of creating the first and second programs, each program creator does not hesitate about which field to write the setting values into.
一実施形態のプログラミング支援装置では、上記表示処理部は、上記設定値の書き込みが禁止された上記第2の設定値欄に、書き込み不能であることを表す書き込み不能表示を行うことを特徴とする。 In one embodiment, the programming support device is characterized in that the display processing unit displays a write-disabled display indicating that writing is disabled in the second setting value column in which writing of the setting value is prohibited. .
この一実施形態のプログラミング支援装置では、上記表示処理部は、上記設定値の書き込みが禁止されたデバイスポートの上記第2の設定値欄に、書き込み不能であることを表す書き込み不能表示を行う。したがって、その書き込み不能表示を見たプログラム作成者は、上記設定値の書き込みが禁止された上記第2の設定値欄へ、設定値の書き込みを無駄に試みることが無い。 In the programming support device of this embodiment, the display processing unit displays a write-disabled display indicating that writing is disabled in the second setting value column of the device port for which writing of the setting value is prohibited. Therefore, the program creator who sees the display indicating that writing of the setting value is prohibited does not wastefully attempt to write the setting value to the second setting value column, in which writing of the setting value is prohibited.
一実施形態のプログラミング支援装置では、上記マップ情報テーブルは、さらに、上記各デバイスポートについて書き込まれるべき設定値のデータ型を示すデータ型欄を含むことを特徴とする。 In one embodiment of the programming support device, the map information table further includes a data type column indicating the data type of the setting value to be written for each device port.
この一実施形態のプログラミング支援装置では、上記マップ情報テーブルのデータ型欄に、上記各デバイスポートに書き込まれるべき設定値のデータ型が示される。したがって、各プログラム作成者が書き込むべき設定値のデータ型を間違うことが無い。 In the programming support device of this embodiment, the data type column of the map information table indicates the data type of the set value to be written to each device port. Therefore, the data type of the setting value to be written by each program creator is not mistaken.
一実施形態のプログラミング支援装置では、
上記各デバイスポートについて上記データ型欄に示されたデータ型が、上記各プログラムに関して上記設定値の書き込みに使用可能であるか否かを判断するデータ型判断部を備え、
上記表示処理部は、上記各デバイスポートについての、上記データ型が上記設定値の書き込みに使用不可であると判断されたプログラムのための設定値欄に、書き込み不能であることを表す書き込み不能表示を行うことを特徴とするプログラミング支援装置。
In one embodiment of the programming support device,
a data type determination unit that determines whether the data type indicated in the data type column for each device port can be used for writing the setting value for each program;
The display processing unit displays, for each device port, a write-disabled display indicating that writing is disabled in the setting value column for the program for which the data type is determined to be unusable for writing the setting value. A programming support device characterized by performing
この一実施形態のプログラミング支援装置では、データ型判断部は、上記各デバイスポートについて上記データ型欄に示されたデータ型が、上記各プログラムに関して上記設定値の書き込みに使用可能であるか否かを判断する。上記表示処理部は、上記各デバイスポートについての、上記データ型が上記設定値の書き込みに使用不可であると判断されたプログラムのための設定値欄に、書き込み不能であることを表す書き込み不能表示を行う。したがって、その書き込み不能表示を見たプログラム作成者は、上記データ型が上記設定値の書き込みに使用不可であると判断されたプログラムのための設定値欄に、設定値の書き込みを無駄に試みることが無い。 In the programming support device of this embodiment, the data type determination unit determines whether the data type shown in the data type column for each device port can be used for writing the setting value for each program. to judge. The display processing unit displays, for each device port, a write-disabled display indicating that writing is disabled in the setting value column for the program for which the data type is determined to be unusable for writing the setting value. I do. Therefore, the program creator who sees the write impossibility display will wastefully attempt to write the setting value to the setting value field for the program for which the data type is determined to be unusable for writing the setting value. There is no
別の局面では、この開示のプログラミング支援方法は、
複数のデバイスポートを含み、動作時に各デバイスポートが複数のプログラム言語によって参照されるようになっているシステムのための、上記複数のプログラム言語によるプログラム作成を支援するプログラミング支援装方法であって、
上記複数のプログラム言語によるプログラムが作成される際に、表示画面上に、上記複数のデバイスポートをそれぞれ表す参照名欄と、上記各デバイスポートが上記システムの動作時に書き込み用のポートであるか又は読み取り用のポートであるかを示す読み出し/書き込み欄と、上記各デバイスポートのための設定値欄とを対応付けて、マップ情報テーブルとして一覧表示するステップを有し、
上記設定値欄は、第1のプログラムのための第1の設定値欄と、第2のプログラムのための第2の設定値欄とに区分されており、
第1のプログラム言語による上記第1のプログラムに関して、上記各デバイスポートについて上記第1の設定値欄への設定値の書き込みがなされたか否かを判断するステップと、
上記第1のプログラム言語による上記第1のプログラムに関して、上記第1の設定値欄への設定値の書き込みがなされたと判断されたデバイスポートについて、上記読み出し/書き込み欄を参照して、上記デバイスポートが上記システムの動作時に書き込み用のポートであると判断したとき、上記第1のプログラム言語とは異なる第2のプログラム言語による第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを禁止する一方、上記デバイスポートが上記システムの動作時に読み出し用のポートであると判断したとき、上記第2のプログラム言語による上記第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを許容するステップと
を有することを特徴とする。
In another aspect, the programming assistance method of this disclosure comprises:
A programming support method for supporting programming in multiple programming languages for a system including multiple device ports, wherein each device port is referenced by multiple programming languages during operation, the method comprising: ,
When the program is created in the plurality of programming languages, on the display screen, a reference name field representing each of the plurality of device ports and whether each device port is a port for writing during operation of the system, or a step of displaying a list as a map information table in association with a read/write column indicating whether it is a read port and a setting value column for each of the device ports;
The setting value column is divided into a first setting value column for the first program and a second setting value column for the second program,
determining whether or not a setting value has been written to the first setting value column for each of the device ports with respect to the first program in the first programming language;
With respect to the first program in the first programming language, with respect to the device port for which it is determined that the setting value has been written to the first setting value column, the device port is referred to the read/write column. is a port for writing during the operation of the system, the setting value in the second setting value column for the second program in the second programming language different from the first programming language While prohibiting writing, when it is determined that the device port is a port for reading during the operation of the system, the second program in the second program language is set in the second set value field. Steps that allow writing values and
characterized by having
この開示のプログラミング支援方法によれば、デバイスポートへの設定値の上書き禁止の機能を、互いに異なる複数のプログラム言語によるプログラム作成へ及ぼすことができる。したがって、それぞれのプログラムを作成するプログラム作成者は、このようにして適切に設定値の書き込みがなされたマップ情報テーブルを適宜参照しながら、プログラムを作成することができる。これにより、上記複数のデバイスポートについての設定値は、各プログラム作成者が意図した状態になる。この結果、上記システムの動作時に、上記第1のプログラム言語による第1のプログラムと上記第2のプログラム言語による第2のプログラムとの両方によって、各デバイスポートを参照して、有効利用できる。 According to the programming support method disclosed in this disclosure, the function of prohibiting overwriting of setting values for device ports can be applied to program creation in a plurality of mutually different programming languages. Therefore, the program creator who creates each program can create the program while appropriately referring to the map information table in which the setting values are appropriately written in this way. As a result, the setting values for the plurality of device ports are in the state intended by each program creator. As a result, during operation of the system, both the first program in the first programming language and the second program in the second programming language can refer to and effectively use each device port.
さらに別の局面では、この開示のプログラムは、上記プログラミング支援方法をコンピュータに実行させるためのプログラムである。 In still another aspect, a program disclosed herein is a program for causing a computer to execute the programming support method.
この開示のプログラムをコンピュータに実行させることによって、上記プログラミング支援方法を実施することができる。 The programming support method can be implemented by causing a computer to execute the program of this disclosure.
以上より明らかなように、この開示のプログラミング支援装置およびプログラミング支援方法によれば、デバイスポートへの設定値の上書き禁止の機能を、互いに異なる複数のプログラム言語によるプログラム作成へ及ぼすことができる。また、この開示のプログラムによれば、そのようなプログラミング支援方法をコンピュータに実行させることができる。 As is clear from the above, according to the programming support device and programming support method of the present disclosure, the function of prohibiting overwriting of setting values to device ports can be applied to program creation in a plurality of mutually different programming languages. Also, according to the program disclosed in this disclosure, it is possible to cause a computer to execute such a programming support method.
以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、この発明の一実施形態のプログラミング支援装置が適用されたシステム400の概略的なブロック構成を示している。このシステム400は、大別して、プログラミング支援装置をなすパーソナルコンピュータ(PC)10と、このPC10に通信ケーブル19を介して通信可能に接続されたプログラマブルロジックコントローラ(PLC)100と、このPLC100に通信ケーブル119を介して通信(この例では、EtherCAT(登録商標)通信)可能に接続されたデバイス群200とを含んでいる。
FIG. 1 shows a schematic block configuration of a
デバイス群200は、この例では、第1ノード201(参照名「Node1」、型番「GX-aaaa」)と、第2ノード202(参照名「Node2」、型番「GX-bbbb」)と、第3ノード203(参照名「Node3」、型番「NX-cccc」)と、この第3ノード203に通信(この例では、EtherCAT(登録商標)通信)可能に接続された第1ユニット204(参照名「Unit1」、型番「NX-dddd」)および第2ユニット205(参照名「Unit2」、型番「NX-eeee」)を含んでいる。これらのデバイス201~205は、それぞれデバイスポートとしての物理I/Oポート(以下、単に「I/Oポート」という。)を複数含んでいる。それらのI/Oポートに設定された設定値は、それぞれ図示しないセンサ、モータ、ロボットなどを駆動するプログラムによって参照される。
In this example, the
例えば、第2ユニット205(型番「NX-eeee」)は、図3に示すように、I/Oポート群206として6個のI/Oポート211~216を含んでいる。これらのI/Oポート211~216には、それぞれ参照名「Output Bit 00」、「Output Bit 00 Time Stamp」、「Output Bit 00 Output Status」、「Output Bit 01」、「Output Bit 01 Time Stamp」、「Output Bit 01 Output Status」が付されている。この例では、これらのI/Oポート211~216に設定された設定値は、図示しないロボットを駆動するプログラムによって参照される。
For example, the second unit 205 (model number “NX-eeee”) includes six I/
図1中に示すPLC100は、制御部101と、マップ情報記憶部102と、シーケンス制御プログラム記憶部103と、ロボット制御プログラム記憶部104とを含んでいる。
マップ情報記憶部102は、システム400に含まれた複数のI/Oポートに対応する参照名と、各I/Oポートのための設定値などとを対応付けて、それらのI/Oポート間の階層構造を含めて、マップ情報テーブルとして記憶する(後に図7~図9を参照して詳述する。)。これにより、マップ情報テーブルは、複数のI/Oポート間の階層構造を、EtherCAT(登録商標)ネットワークの構成一覧として含むものとなっている。
The map
図1中に示すシーケンス制御プログラム記憶部103は、第1のプログラム言語(この例では、ラダー言語LD)による第1のプログラム(この例では、シーケンス制御プログラム)を記憶する。
The sequence control
ロボット制御プログラム記憶部104は、第2のプログラム言語(この例では、本出願人の独自開発による言語)による第2のプログラム(この例では、ロボット制御プログラム)を記憶する。
The robot control
制御部101は、動作時に、シーケンス制御プログラム記憶部103に記憶された「シーケンス制御プログラム」に従って、マップ情報記憶部102に記憶されたマップ情報テーブルを参照しながら、例えば、このPLC100自体に接続されたセンサ、モータなどを制御する。それと並行して、制御部101は、ロボット制御プログラム記憶部104に記憶された「ロボット制御プログラム」に従って、マップ情報記憶部102に記憶されたマップ情報テーブル300を参照しながら、例えば、上述の第2ユニット205のI/Oポート211~216を介してロボットの動作(モーション)を制御する。このように、このPLC100は、シーケンス制御プログラムによるシーケンス制御と、ロボット制御プログラムによるロボット制御とを、統合した制御動作を行う。
During operation, the
図1中に示すPC10は、この例では、主にプログラミング支援装置として、シーケンス制御プログラム記憶部103に記憶される「シーケンス制御プログラム」、および、ロボット制御プログラム記憶部104に記憶される「ロボット制御プログラム」の作成支援のために設けられている。
In this example, the
この例では、PC10は、図2に示すように、CPU(Central Processing Unit;中央演算処理ユニット)11と、表示器12と、操作部13と、記憶部14と、通信部16とを備えている。
In this example, the
CPU11は、ソフトウェア(コンピュータプログラム)によって動作し、後述のプログラミング支援方法に従う処理や、その他の各種処理を実行する。
The
表示器12は、この例では、LCD(液晶表示素子)からなり、CPU11からの制御信号に従って、表示画面に画像表示を行う。この例では、表示器12は、マップ情報テーブル300を表示するために用いられる。
In this example, the
操作部13は、この例では、キーボードとマウスからなり、ユーザ(操作者)からの指示およびデータなどを入力するために用いられる。
The
記憶部14は、この例では、非一時的にデータを記憶し得るEEPROM(電気的に書き換え可能な不揮発性メモリ)、および、一時的にデータを記憶し得るRAM(ランダム・アクセス・メモリ)を含んでいる。この記憶部14には、CPU11を制御するためのソフトウェア(コンピュータプログラム)が格納されている。また、この例では、記憶部14には、上述のマップ情報テーブルの内容が記憶される。この記憶内容については、後に詳述する。
In this example, the
通信部16は、CPU11によって制御されて所定の情報を外部の装置に送信したり、また、外部の装置からの情報を受信してCPU11に受け渡したりする。この例では、通信部16は、通信ケーブル19を介して、PLC100との通信を行うために働く。
The
図4~図6は、上述の「シーケンス制御プログラム」および「ロボット制御プログラム」の作成を支援するために、PC10のCPU11が実行するプログラミング支援方法の処理フローを示している。
4 to 6 show the processing flow of the programming support method executed by the
(初期表示処理)
図4に示す初期表示処理では、まずステップS1に示すように、CPU11は表示処理部として働いて、表示器12の表示画面に、図7に例示するようなマップ情報テーブル300(の表頭を含む外枠)を表示するとともに、ステップS2に示すように、PLC100のマップ情報記憶部102からマップ情報テーブルの内容(構成一覧)を読み出して、マップ情報テーブル300において複数のI/Oポート間の階層構造を展開して表示する。
(Initial display processing)
In the initial display process shown in FIG. 4, first, as shown in step S1, the
図7に示すように、マップ情報テーブル300は、左から順に、システム400における各デバイスの位置を示す「Position」欄301と、それぞれの参照名を示す参照名欄としての「Port」欄302と、各参照名に対応する説明を示す「Description」欄303と、各ポートの設定値がPLC100の動作時に書き込み用「W」であるか又は読み取り用「R」であるかを示す読み出し/書き込み欄としての「R/W」欄304と、各ポートについて書き込まれるべき設定値のデータ型を示すデータ型欄としての「Data Type」欄305と、シーケンス制御プログラムに関してデバイス変数が書き込まれるべき第1の設定値欄としての「Variable」欄306と、そのデバイス変数の型が書き込まれるべき「Variable Type」欄307と、ロボット制御プログラムに関してデジタルI/O設定値が書き込まれるべき第2の設定値欄としての「Digital I/O」欄308とを含んでいる。
As shown in FIG. 7, the map information table 300 includes, from left to right, a "Position"
上述の「Position」欄301と「Port」欄302によって、システム400に含まれたデバイス群の、EtherCAT(登録商標)ネットワークにおける階層構造が表されている。この例では、「Port」欄302の最上段セル310に、EtherCAT(登録商標)ネットワークの構成であることを示す「EtherCAT Network Configuration」と表示されている。その下方で、「Position」欄301のセル311,312,313に上から下へ向かって順に、それぞれ第1ノード201の参照名「Node1」、第2ノード202の参照名「Node2」、第3ノード203の参照名「Node3」が表示されている。それらのセル311,312,313に対応して、「Port」欄302には、それぞれのノードの型番「GX-aaaa」、「GX-bbbb」、「NX-cccc」が表示されている。さらに、その下方で、「Position」欄301のセル314,315に上から下へ向かって順に、それぞれ第1ユニット204の参照名「Unit1」、第2ユニット205の参照名「Unit2」が表示されている。それらのセル314,315に対応して、「Port」欄302には、それぞれのユニットの型番「NX-dddd」、「NX-eeee」が表示されている。
The "Position"
さらに、その下方で、「Port」欄302のセル321,322,323,324,325,326に上から下へ向かって順に、それぞれ第2ユニット205(型番「NX-eeee」)に含まれたI/Oポート211,212,213,214,215,216の参照名「Output Bit 00」、「Output Bit 00 Time Stamp」、「Output Bit 00 Output Status」、「Output Bit 01」、「Output Bit 01 Time Stamp」、「Output Bit 01 Output Status」が表示されている。図7中に破線390で囲んで示すように、この例では、第2ユニット205(型番「NX-eeee」)に含まれたI/Oポート211~216に注目している。
Furthermore, below that,
この例では、「R/W」欄304に示すように、I/Oポート211(参照名「Output Bit 00」)、I/Oポート212(参照名「Output Bit 00 Time Stamp」)、I/Oポート214(参照名「Output Bit 01」)、および、I/Oポート215(参照名「Output Bit 01 Time Stamp」)の設定値は、それぞれ書き込み用「W」になっている。一方、I/Oポート213(参照名「Output Bit 00 Output Status」)、および、I/Oポート216(参照名「Output Bit 01 Output Status」)の設定値は、それぞれ読み取り用「R」になっている。
In this example, as shown in the "R/W"
また、この例では、「Data Type」欄305に示すように、I/Oポート211(参照名「Output Bit 00」)、I/Oポート213(参照名「Output Bit 00 Output Status」)、I/Oポート214(参照名「Output Bit 01」)、および、I/Oポート216(参照名「Output Bit 01 Output Status」)のデータ型は、それぞれBOOL型になっている。一方、I/Oポート212(参照名「Output Bit 00 Time Stamp」)、および、I/Oポート215(参照名「Output Bit 01 Time Stamp」)のデータ型は、それぞれULINT型になっている。ここで、BOOL型とは、真理値の「真=true」と「偽=false」という2値をとるデータ型を指す。BOOL型であれば、シーケンス制御プログラムとロボット制御プログラムとの両方に使用可能である。ULINT型とは、符号なしの、64ビットの整数値をとるデータ型を指す。ULINT型であれば、シーケンス制御プログラムには使用可能であるが、ロボット制御プログラムには使用不可である。このように、このマップ情報テーブル300では、「Data Type」欄305に、各I/Oポート211~216に書き込まれるべき設定値のデータ型が示される。したがって、各プログラム作成者が書き込むべき設定値のデータ型を間違うことが無い。
In this example, as shown in the "Data Type"
次に、図4のステップS3に進んで、CPU11はデータ型判断部として働いて、この例では第2ユニット205(型番「NX-eeee」)の各I/Oポート211~216のデータ型がBOOL型であるか否かを判断する。つまり、実質的に、各I/Oポート211~216のデータ型が各プログラムに関して設定値の書き込みに使用可能であるか否かを判断する。
Next, proceeding to step S3 in FIG. 4, the
ここで、上述のようにI/Oポート211(参照名「Output Bit 00」)、I/Oポート213(参照名「Output Bit 00 Output Status」)、I/Oポート214(参照名「Output Bit 01」)、および、I/Oポート216(参照名「Output Bit 01 Output Status」)のデータ型はそれぞれBOOL型であることから(ステップS3でYES)、CPU11は、「Variable」欄306へのデバイス変数の書き込みと、「Digital I/O」欄308へのデジタルI/O設定値の書き込みとの両方に使用可能であると判断する。そして、図4のステップS4で、CPU11は表示処理部として働いて、それらのI/Oポート211,213,214,216について、図7中の「Variable」欄306の対応するセル331,333,334,336と、「Variable Type」欄307の対応するセル341,343,344,346と、「Digital I/O」欄308の対応するセル351,353,354,356とに、それぞれ書き込みに使用可能であることを表す書き込み可能表示を行う。この例では、書き込み可能表示は、図7中に示すように、それらのセル331,333,334,336;341,343,344,346;351,353,354,356を白色(または明色)にすることに相当する。
Here, as described above, I/O port 211 (reference name “
一方、I/Oポート212(参照名「Output Bit 00 Time Stamp」)、および、I/Oポート215(参照名「Output Bit 01 Time Stamp」)のデータ型はそれぞれULINT型であることから(ステップS3でNO)、CPU11は、「Variable」欄306へのデバイス変数の書き込みには使用可能であるが、「Digital I/O」欄308へのデジタルI/O設定値の書き込みには使用不可と判断する。そして、図4のステップS5で、CPU11は表示処理部として働いて、それらのI/Oポート212,215について、図7中の「Variable」欄306の対応するセル332,335と、「Variable Type」欄307の対応するセル342,345とに、それぞれ書き込みに使用可能であることを表す書き込み可能表示を行う一方、「Digital I/O」欄308の対応するセル352,355に書き込み不能であることを表す書き込み不能表示を行う。この例では、この書き込み不能表示は、図7中に示すように、それらのセル352,355を暗色(上記白色または明色よりも暗い色を意味する。)にすることに相当する。なお、書き込み不能表示は、この態様の表示に限られるものではなく、例えば、各セルに斜めの罫線を付すなどの、他の態様の表示であってもよい(以下同様。)。つまり、書き込み不能表示は、ユーザがそれを見たとき、直感的に書き込み不能であることを認識できれば良い。
On the other hand, since the data type of the I/O port 212 (reference name “
CPU11は、このようにして初期表示処理(図4)を完了する。この例では、初期表示処理によって作成されたマップ情報テーブル300は、PC10の記憶部14に保存されるとともに、PLC100のマップ情報記憶部102に保存される。このマップ情報テーブル300は、次に述べる「Variable」欄306へのデバイス変数の書き込み処理(図5)、および/または、「Digital I/O」欄308へのデジタルI/O設定値の書き込み処理(図6)の際に参照される。
The
ここで、図7に示したマップ情報テーブル300では、「Variable」欄306、「Variable Type」欄307、「Digital I/O」欄308の各セルに、書き込み可能表示または書き込み不能表示が行われている。したがって、プログラム作成者は、「Variable」欄306、「Digital I/O」欄308の各セルに設定値を書き込み可能であるか否かを、視覚を通して直感的に知ることができる。したがって、書き込み不能表示を見たプログラム作成者は、上記データ型が上記設定値の書き込みに使用不可であると判断されたプログラムのための設定値欄(上の例では、ロボット制御プログラムのためのセル352,355)に、設定値の書き込みを無駄に試みることが無い。
Here, in the map information table 300 shown in FIG. 7, each cell of the "Variable"
また、上述のマップ情報テーブル300では、設定値欄は、シーケンス制御プログラムのための「Variable」欄306と、ロボット制御プログラムのための「Digital I/O」欄308とに区分されている。したがって、ラダー言語LDによるシーケンス制御プログラムに関して、そのプログラムを作成するプログラム作成者は「Variable」欄306へデバイス変数の書き込みを行うことを促される。一方、独自の言語によるロボット制御プログラムに関して、そのプログラムを作成するプログラム作成者は、許容されていれば、「Digital I/O」欄308へデジタルI/O設定値の書き込みを行うことを促される。したがって、シーケンス制御プログラムとロボット制御プログラムの作成を互いに別のプログラム作成者が担当する場合であっても、各プログラム作成者が設定値の書き込みを行うべき欄を迷うことが無い。
In the map information table 300 described above, the set value column is divided into a "Variable"
(デバイス変数の書き込み処理)
図5に示すデバイス変数の書き込み処理では、まずステップS11に示すように、CPU11は表示処理部として働いて、この例では記憶部14から図8に例示するようなマップ情報テーブル300(この例では、図7に示したものと同じ)を読み出して、表示器12の表示画面に表示する。なお、PLC100のマップ情報記憶部102からマップ情報テーブルの内容(構成一覧)を読み出して、それが更新されていれば、マップ情報テーブル300を更新して表示してもよい。
(Device variable write processing)
In the device variable writing process shown in FIG. 5, first, as shown in step S11, the
次に、ユーザが、操作部13を介して、シーケンス制御プログラムに関して、例えばI/Oポート211(参照名「Output Bit 00」)について、「Variable」欄306の対応するセル331にデバイス変数「N2_Output_Bit_00」を入力し、また、これに伴って「Variable Type」欄307の対応するセル341にそのデバイス変数の型「Global Variables」を入力したものとする。すると、図5のステップS12で、CPU11は書き込み判断部として働いて、図9中に示すように、I/Oポート211について設定値の書き込みがなされたと判断して、「Variable」欄306のセル331に、デバイス変数「N2_Output_Bit_00」を書き込んで表示する。これとともに、CPU11は、「Variable Type」欄307のセル341に、デバイス変数の型「Global Variables」を書き込んで表示する。
Next, the user enters the device variable "N2_Output_Bit_00" into the
次に、図5のステップS13で、CPU11は、図9中に示す「R/W」欄304を参照して、そのI/Oポート211が書き込み用のポートであるか否かを判断する。この例では、I/Oポート211は書き込み用「W」のポートであることから(ステップS13でYES)、図5のステップS14で、CPU11は上書き禁止部として働いて、そのI/Oポート211について、この例では「Digital I/O」欄308の対応するセル351への設定値の書き込みを禁止する。これとともに、CPU11は表示処理部として働いて、その「Digital I/O」欄308のセル351に、デジタルI/O設定値の書き込みが不可であることを表す書き込み不能表示を行う。この例では、この書き込み不能表示は、図9中に破線391で囲んで示すように、そのセル351を暗色にすることに相当する(図8中に破線391で囲んで示す元の白色または明色と比較されたい。)。
Next, at step S13 in FIG. 5, the
したがって、その書き込み不能表示を見たプログラム作成者は、上記設定値の書き込みが禁止された設定値欄(上の例では、「Digital I/O」欄308のセル351)へ、設定値の書き込みを無駄に試みることが無い。
Therefore, the program creator who sees the write impossibility display writes the setting value to the setting value column (in the above example, the
なお、図5のステップS12で、設定値の書き込みがなされたセルが例えばI/Oポート213(参照名「Output Bit 00 Output Status」)に対応するセル333,343であれば、そのI/Oポート213は読み取り用「R」のポートであることから(ステップS13でNO)、図9中に示すように、CPU11は、そのI/Oポート213について、「Digital I/O」欄308の対応するセル353への設定値の書き込みを許容する。したがって、そのセル353に、ロボット制御プログラムのための設定値の書き込みが可能になる。この例では、図9中に示すように、セル353に、4010という値が書き込まれている。
In step S12 of FIG. 5, if the cells to which the set values are written are the
(デジタルI/O設定値の書き込み処理)
図6に示すデジタルI/O設定値の書き込み処理では、まずステップS21に示すように、CPU11は表示処理部として働いて、この例では記憶部14から図8に例示するようなマップ情報テーブル300(この例では、図7に示したものと同じ)を読み出して、表示器12の表示画面に表示する。なお、図5中のステップS11に関して述べたのと同様に、PLC100のマップ情報記憶部102からマップ情報テーブルの内容(構成一覧)を読み出して、それが更新されていれば、マップ情報テーブル300を更新して表示してもよい。
(Write processing of digital I/O setting values)
In the process of writing the digital I/O setting values shown in FIG. 6, first, as shown in step S21, the
次に、ユーザが、操作部13を介して、ロボット制御プログラムに関して、例えばI/Oポート214(参照名「Output Bit 01」)について、「Digital I/O」欄308のセル354にデジタルI/O設定値(この例では、4009という値)を入力したものとする。すると、図5のステップS22で、CPU11は書き込み判断部として働いて、図9中に示すように、「Digital I/O」欄308のセル354に、デジタルI/O設定値(この例では、4009という値)を書き込んで表示する。
Next, the user inputs a digital I/O to the
次に、図6のステップS23で、CPU11は、図9中に示す「R/W」欄304を参照して、そのI/Oポート214が書き込み用のポートであるか否かを判断する。この例では、I/Oポート214は書き込み用「W」のポートであることから(ステップS23でYES)、図6のステップS24で、CPU11は上書き禁止部として働いて、そのI/Oポート214について、この例では「Variable」欄306の対応するセル334、および、「Variable Type」欄307の対応するセル344への設定値の書き込みを禁止する。これとともに、CPU11は表示処理部として働いて、その「Variable」欄306のセル334、および、「Variable Type」欄307のセル344に、書き込みが不可であることを表す書き込み不能表示を行う。この例では、それらの書き込み不能表示は、図9中に破線392で囲んで示すように、それらのセル334,344を暗色にすることに相当する(図8中に破線392で囲んで示す元の白色または明色と比較されたい。)。
Next, at step S23 in FIG. 6, the
したがって、その書き込み不能表示を見たプログラム作成者は、上記設定値の書き込みが禁止された設定値欄(上の例では、「Variable」欄306のセル334,344)へ、設定値の書き込みを無駄に試みることが無い。
Therefore, the program creator who sees the write-impossible indication writes the set value to the set value column (the
なお、図6のステップS22で、設定値の書き込みがなされたセルが例えばI/Oポート213(参照名「Output Bit 00 Output Status」)に対応するセル353であれば、そのI/Oポート213は読み取り用「R」のポートであることから(ステップS23でNO)、図9中に示すように、CPU11は、そのI/Oポート213について、「Variable」欄306の対応するセル334、および、「Variable Type」欄307の対応するセル344への設定値の書き込みを許容する。したがって、それらのセル334,344に、シーケンス制御プログラムのための設定値の書き込みが可能になる。この例では、図9中に示すように、セル333にデバイス変数「N2_Output_Bit_00」が書き込まれている。また、それに伴って、セル333に、デバイス変数の型「Global Variables」が書き込まれている。
In addition, in step S22 of FIG. 6, if the cell to which the setting value is written is, for example, the
このように、このプログラミング支援方法によれば、デバイスポートへの設定値の上書き禁止の機能を、互いに異なる複数のプログラム言語によるプログラム作成へ及ぼすことができる。したがって、それぞれのプログラムを作成するプログラム作成者は、このようにして適切に設定値の書き込みがなされたマップ情報テーブル300を適宜参照しながら、プログラムを作成することができる。これにより、複数のデバイスポートについての設定値は、各プログラム作成者が意図した状態になる。 In this manner, according to this programming support method, the function of prohibiting overwriting of set values for device ports can be applied to program creation in a plurality of different programming languages. Therefore, the program creator who creates each program can create the program while appropriately referring to the map information table 300 in which the setting values are appropriately written in this way. As a result, the setting values for the plurality of device ports are in the state intended by each program creator.
なお、CPU11は、図5のステップS14で設定値の書き込みが禁止された設定値欄(図9中に示す「Digital I/O」欄308のセル351)、図6のステップS24で設定値の書き込みが禁止された設定値欄(図9中に示す「Variable」欄306のセル334、および、「Variable Type」欄307のセル344)について、操作部13を介したユーザの指示(書き込み禁止を解除する指示)があれば、上記設定値の書き込み禁止を解除し、書き込み不能表示を解消してもよい。これにより、プログラム作成の状況に応じて、ユーザの便宜を図ることができる。
5 (the
上述の実施形態では、第1のプログラム言語はラダー言語LDであり、第2のプログラム言語は本出願人の独自開発による言語であるものとしたが、これに限られるものではない。この発明は、互いに異なる複数のプログラム言語に広く適用することができる。 In the above-described embodiment, the first programming language is the ladder language LD and the second programming language is the language independently developed by the applicant, but the invention is not limited to this. The present invention can be widely applied to a plurality of different programming languages.
上述のプログラミング支援方法を、ソフトウェア(コンピュータプログラム)として、CD(コンパクトディスク)、DVD(デジタル万能ディスク)、不揮発性メモリなどの非一時的(non-transitory)にデータを記憶可能な記録媒体に記録してもよい。このような記録媒体に記録されたソフトウェアを、パーソナルコンピュータ、PDA(パーソナル・デジタル・アシスタンツ)などの実質的なコンピュータ装置にインストールすることによって、それらのコンピュータ装置に、上述のプログラミング支援方法を実行させることができる。 The above-described programming support method is recorded as software (computer program) in a recording medium capable of non-transitory data storage such as CD (Compact Disc), DVD (Digital Versatile Disc), non-volatile memory, etc. You may By installing the software recorded in such a recording medium in substantial computer devices such as personal computers and PDAs (Personal Digital Assistants), these computer devices are caused to execute the above-described programming support method. be able to.
以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。上述した複数の実施の形態は、それぞれ単独で成立し得るものであるが、実施の形態同士の組みあわせも可能である。また、異なる実施の形態の中の種々の特徴も、それぞれ単独で成立し得るものであるが、異なる実施の形態の中の特徴同士の組みあわせも可能である。 The above embodiments are examples, and various modifications are possible without departing from the scope of the present invention. Although each of the above-described multiple embodiments can be established independently, combinations of the embodiments are also possible. Also, various features in different embodiments can be established independently, but combinations of features in different embodiments are also possible.
10 PC
11 CPU
100 PLC
200 デバイス群
211~216 I/Oポート
10 PCs
11 CPUs
100PLC
200 devices 211-216 I/O ports
Claims (6)
上記複数のプログラム言語によるプログラムが作成される際に、表示画面上に、上記複数のデバイスポートをそれぞれ表す参照名欄と、上記各デバイスポートが上記システムの動作時に書き込み用のポートであるか又は読み取り用のポートであるかを示す読み出し/書き込み欄と、上記各デバイスポートのための設定値欄とを対応付けて、マップ情報テーブルとして一覧表示する表示処理部を備え、
上記設定値欄は、第1のプログラムのための第1の設定値欄と、第2のプログラムのための第2の設定値欄とに区分されており、
第1のプログラム言語による上記第1のプログラムに関して、上記各デバイスポートについて上記第1の設定値欄への設定値の書き込みがなされたか否かを判断する書き込み判断部と、
上記第1のプログラム言語による上記第1のプログラムに関して、上記第1の設定値欄への設定値の書き込みがなされたと判断されたデバイスポートについて、上記読み出し/書き込み欄を参照して、上記デバイスポートが上記システムの動作時に書き込み用のポートであるとき、上記第1のプログラム言語とは異なる第2のプログラム言語による第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを禁止する一方、上記デバイスポートが上記システムの動作時に読み出し用のポートであるとき、上記第2のプログラム言語による上記第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを許容する上書き禁止部と
を備えたことを特徴とするプログラミング支援装置。 A programming support device for supporting program creation in a plurality of programming languages for a system including a plurality of device ports, each device port being referenced by a plurality of programming languages during operation , comprising :
When the program is created in the plurality of programming languages, on the display screen, a reference name field representing each of the plurality of device ports and whether each device port is a port for writing during operation of the system, or a display processing unit that associates a read/write column indicating whether the port is for reading and a setting value column for each device port and displays a list as a map information table;
The setting value column is divided into a first setting value column for the first program and a second setting value column for the second program,
a write determination unit that determines whether or not a setting value has been written to the first setting value column for each of the device ports with respect to the first program in the first programming language;
With respect to the first program in the first programming language, with respect to the device port for which it is determined that the setting value has been written to the first setting value column, the device port is referred to the read/write column. is a port for writing during the operation of the system, prohibiting the writing of the setting value to the second setting value field with respect to the second program in the second programming language different from the first programming language On the other hand, when the device port is a port for reading during the operation of the system, writing of the setting value to the second setting value field is permitted with respect to the second program in the second program language. A programming support device, comprising: an overwrite prohibition section.
上記表示処理部は、上記設定値の書き込みが禁止された上記第2の設定値欄に、書き込み不能であることを表す書き込み不能表示を行うことを特徴とするプログラミング支援装置。 In the programming support device according to claim 1 ,
The programming support device, wherein the display processing unit displays a write-disabled display indicating that writing is disabled in the second set-value column in which writing of the set-value is prohibited.
上記マップ情報テーブルは、さらに、上記各デバイスポートについて書き込まれるべき設定値のデータ型を示すデータ型欄を含むことを特徴とするプログラミング支援装置。 The programming support device according to claim 1 or 2 ,
The programming support device, wherein the map information table further includes a data type column indicating a data type of the set value to be written for each device port.
上記各デバイスポートについて上記データ型欄に示されたデータ型が、上記各プログラムに関して上記設定値の書き込みに使用可能であるか否かを判断するデータ型判断部を備え、
上記表示処理部は、上記各デバイスポートについての、上記データ型が上記設定値の書き込みに使用不可であると判断されたプログラムのための設定値欄に、書き込み不能であることを表す書き込み不能表示を行うことを特徴とするプログラミング支援装置。 In the programming support device according to claim 3 ,
a data type determination unit that determines whether the data type indicated in the data type column for each device port can be used for writing the setting value for each program;
The display processing unit displays, for each device port, a write-disabled display indicating that writing is disabled in the setting value column for the program for which the data type is determined to be unusable for writing the setting value. A programming support device characterized by performing
上記複数のプログラム言語によるプログラムが作成される際に、表示画面上に、上記複数のデバイスポートをそれぞれ表す参照名欄と、上記各デバイスポートが上記システムの動作時に書き込み用のポートであるか又は読み取り用のポートであるかを示す読み出し/書き込み欄と、上記各デバイスポートのための設定値欄とを対応付けて、マップ情報テーブルとして一覧表示するステップを有し、
上記設定値欄は、第1のプログラムのための第1の設定値欄と、第2のプログラムのための第2の設定値欄とに区分されており、
第1のプログラム言語による上記第1のプログラムに関して、上記各デバイスポートについて上記第1の設定値欄への設定値の書き込みがなされたか否かを判断するステップと、
上記第1のプログラム言語による上記第1のプログラムに関して、上記第1の設定値欄への設定値の書き込みがなされたと判断されたデバイスポートについて、上記読み出し/書き込み欄を参照して、上記デバイスポートが上記システムの動作時に書き込み用のポートであると判断したとき、上記第1のプログラム言語とは異なる第2のプログラム言語による第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを禁止する一方、上記デバイスポートが上記システムの動作時に読み出し用のポートであると判断したとき、上記第2のプログラム言語による上記第2のプログラムに関して、上記第2の設定値欄への設定値の書き込みを許容するステップと
を有することを特徴とするプログラミング支援方法。 A programming support method for supporting programming in multiple programming languages for a system including multiple device ports, wherein each device port is referenced by multiple programming languages during operation, the method comprising: ,
When the program is created in the plurality of programming languages, on the display screen, a reference name field representing each of the plurality of device ports and whether each device port is a port for writing during operation of the system, or a step of displaying a list as a map information table in association with a read/write column indicating whether it is a read port and a setting value column for each of the device ports;
The setting value column is divided into a first setting value column for the first program and a second setting value column for the second program,
determining whether or not a setting value has been written to the first setting value column for each of the device ports with respect to the first program in the first programming language;
With respect to the first program in the first programming language, with respect to the device port for which it is determined that the setting value has been written to the first setting value column, the device port is referred to the read/write column. is a port for writing during the operation of the system, the setting value in the second setting value column for the second program in the second programming language different from the first programming language While prohibiting writing, when it is determined that the device port is a port for reading during the operation of the system, the second program in the second program language is set in the second set value field. Steps that allow writing values and
A programming support method comprising:
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018155598A JP7124556B2 (en) | 2018-08-22 | 2018-08-22 | Programming support device, programming support method, and program |
| EP19851042.2A EP3842879B1 (en) | 2018-08-22 | 2019-07-19 | Programming assistance device, programming assistance method, and program |
| PCT/JP2019/028520 WO2020039810A1 (en) | 2018-08-22 | 2019-07-19 | Programming assistance device, programming assistance method, and program |
| US17/171,454 US11307829B2 (en) | 2018-08-22 | 2021-02-09 | Programming assistance device, programming assistance method, and computer-readable recording medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018155598A JP7124556B2 (en) | 2018-08-22 | 2018-08-22 | Programming support device, programming support method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020030595A JP2020030595A (en) | 2020-02-27 |
| JP7124556B2 true JP7124556B2 (en) | 2022-08-24 |
Family
ID=69593051
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018155598A Active JP7124556B2 (en) | 2018-08-22 | 2018-08-22 | Programming support device, programming support method, and program |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11307829B2 (en) |
| EP (1) | EP3842879B1 (en) |
| JP (1) | JP7124556B2 (en) |
| WO (1) | WO2020039810A1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000132210A (en) | 1998-10-23 | 2000-05-12 | Omron Corp | Controller and cooperation controlling method |
| WO2001061503A1 (en) | 2000-02-16 | 2001-08-23 | Fujitsu Limited | Nonvolatile memory |
| JP2017016312A (en) | 2015-06-30 | 2017-01-19 | 富士通フロンテック株式会社 | Exclusive control program of composite system, composite system, and client-server system |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003006395A (en) * | 2001-06-18 | 2003-01-10 | Hitachi Ltd | Business support information extraction program and business support information extraction system using the same |
| US7290048B1 (en) * | 2002-03-29 | 2007-10-30 | Hyperformix, Inc. | Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications |
| US20040128307A1 (en) * | 2002-12-30 | 2004-07-01 | Creativyst, Inc. | Method of storing and retrieving database records that stores multiple field values within directory entries of an underlying operating system |
| US7756882B2 (en) * | 2004-10-01 | 2010-07-13 | Microsoft Corporation | Method and apparatus for elegant mapping between data models |
| US7949848B2 (en) * | 2007-03-08 | 2011-05-24 | Arm Limited | Data processing apparatus, method and computer program product for reducing memory usage of an object oriented program |
| JP5757098B2 (en) * | 2011-02-08 | 2015-07-29 | 富士電機株式会社 | Program creation support apparatus and program creation support method |
| JP2012213144A (en) * | 2011-03-18 | 2012-11-01 | Ricoh Co Ltd | Information processor, information processing system, device cooperation method and program |
| US9742127B2 (en) * | 2011-08-31 | 2017-08-22 | Kimball P. Magee, Jr. | Power strips |
| US8914420B2 (en) * | 2012-04-30 | 2014-12-16 | Gainspan Corporation | Populating data structures of software applications with input data provided according to extensible markup language (XML) |
| US10073764B1 (en) * | 2015-03-05 | 2018-09-11 | National Technology & Engineering Solutions Of Sandia, Llc | Method for instruction sequence execution analysis and visualization |
| US10642896B2 (en) * | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
| US11594307B2 (en) * | 2017-12-31 | 2023-02-28 | Laboratory Corporation Of America Holdings | Automatic self-documentation in a mobile-native clinical trial operations system and service suite |
| US11615142B2 (en) * | 2018-08-20 | 2023-03-28 | Salesforce, Inc. | Mapping and query service between object oriented programming objects and deep key-value data stores |
| EP3654215B1 (en) * | 2018-11-15 | 2021-06-30 | Sternum Ltd. | Applying control flow integrity verification in intermediate code files |
-
2018
- 2018-08-22 JP JP2018155598A patent/JP7124556B2/en active Active
-
2019
- 2019-07-19 EP EP19851042.2A patent/EP3842879B1/en active Active
- 2019-07-19 WO PCT/JP2019/028520 patent/WO2020039810A1/en not_active Ceased
-
2021
- 2021-02-09 US US17/171,454 patent/US11307829B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000132210A (en) | 1998-10-23 | 2000-05-12 | Omron Corp | Controller and cooperation controlling method |
| WO2001061503A1 (en) | 2000-02-16 | 2001-08-23 | Fujitsu Limited | Nonvolatile memory |
| JP2017016312A (en) | 2015-06-30 | 2017-01-19 | 富士通フロンテック株式会社 | Exclusive control program of composite system, composite system, and client-server system |
Also Published As
| Publication number | Publication date |
|---|---|
| US11307829B2 (en) | 2022-04-19 |
| EP3842879B1 (en) | 2024-04-10 |
| JP2020030595A (en) | 2020-02-27 |
| WO2020039810A1 (en) | 2020-02-27 |
| EP3842879A1 (en) | 2021-06-30 |
| EP3842879A4 (en) | 2022-05-18 |
| US20210165637A1 (en) | 2021-06-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5459682A (en) | Microcomputer with plural registers and function for selecting them | |
| JP6538771B2 (en) | Numerical control device and control method of numerical control device | |
| JP6388736B1 (en) | Programmable logic controller system and engineering tool program | |
| US8225274B2 (en) | Code highlight and intelligent location descriptor for programming shells | |
| JP6150953B2 (en) | Debugging device, debugging method, and debugging program | |
| JP7124556B2 (en) | Programming support device, programming support method, and program | |
| US7127675B1 (en) | Method and system for automatically revising software help documentation | |
| WO2018158909A1 (en) | Information processing device and access management program | |
| US5657301A (en) | Automatic changer system capable of rewriting a control program for controlling the system | |
| KR20190125303A (en) | Monitor Support Devices, Monitor Support Methods, and Monitor Support Programs | |
| JP4534796B2 (en) | Control system | |
| US12288076B2 (en) | Reversible virtual factory reset | |
| JP2001060196A (en) | Image processing device | |
| EP3816744B1 (en) | Control device for industrial machine, setting system for control device for industrial machine, method of setting control device for industrial machine, and program | |
| KR100225726B1 (en) | Memory control system and storage control system | |
| JP3129889B2 (en) | Numerical control unit | |
| JP2005172843A (en) | Display device, display method, and computer program | |
| JP3890746B2 (en) | Command generation processing automatic generation method and sequence program automatic generation apparatus for common processing routine | |
| JPH08278935A (en) | Programmable controller | |
| CN118426820A (en) | Control device and operation method thereof | |
| JPH08339209A (en) | Programmable controller display device and display information writing method thereof | |
| JP2010079676A (en) | Processing method and storage system | |
| JPH11175114A (en) | Programmable controller | |
| JPH0667714A (en) | Memory management system | |
| JP2000056818A (en) | Programmable logic controller and its control method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201214 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220208 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220322 |
|
| 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: 20220712 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220725 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7124556 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |