JP2008090635A - Programmable controller - Google Patents
Programmable controller Download PDFInfo
- Publication number
- JP2008090635A JP2008090635A JP2006271381A JP2006271381A JP2008090635A JP 2008090635 A JP2008090635 A JP 2008090635A JP 2006271381 A JP2006271381 A JP 2006271381A JP 2006271381 A JP2006271381 A JP 2006271381A JP 2008090635 A JP2008090635 A JP 2008090635A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- configuration
- global variable
- configuration level
- level
- 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
- 230000001105 regulatory effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
本発明は、JISB3503(IEC61131−3)に規定されているプログラム言語に準拠したプログラマブルコントローラに関わり、特に、アプリケーションソフトウェアが扱うリソース間グローバル変数の定義/配置方式に関わるものである。 The present invention relates to a programmable controller that complies with a programming language defined in JISB3503 (IEC61131-3), and particularly relates to a definition / arrangement method of inter-resource global variables handled by application software.
現在、各社からIEC61131−3準拠のプログラマブルコントローラ(PLC)が発売されている。IEC61131−3ではアプリケーションプログラムが扱う変数として、ローカル変数とグローバル変数を定義している。ローカル変数は1つのプログラム構成単位(POU:Program Organization Unit)内だけで使用する変数である。グローバル変数はいくつかのPOU間で相互に使用できる変数である。 Currently, IEC61131-3 compliant programmable controllers (PLCs) are being sold by various companies. In IEC61131-3, local variables and global variables are defined as variables handled by the application program. A local variable is a variable used only within one program configuration unit (POU: Program Organization Unit). Global variables are variables that can be used between several POUs.
更に、グローバル変数を定義するレベルによって、リソースレベル・グローバル変数(リソース内グローバル変数)とコンフィグレーションレベル・グローバル変数(リソース間グローバル変数)に分類される。リソースレベル・グローバル変数はリソース内にあるPOU間で有効な変数である。コンフィグレーションレベル・グローバル変数はコンフクレーション内に存在するすべてのリソースにあるPOU間で有効な変数である。すなわち、コンフィグレーションレベル・グローバル変数はその有効範囲が広くなっている。 Furthermore, it is classified into a resource level / global variable (intra-resource global variable) and a configuration level / global variable (inter-resource global variable) according to the level defining the global variable. Resource level global variables are valid between POUs in a resource. Configuration level global variables are valid between POUs in all resources that exist in the configuration. In other words, the effective range of the configuration level global variable is wide.
図3はローカル変数とグローバル変数の関係図を示し、ローカル変数はリソース1,2を使用する各POU1A,1B,2A,2B内だけを有効範囲とし、リソースレベル・グローバル変数は同じリソース1,2を使用するPOU1Aと1B,2Aと2B間だけを有効範囲とし、コンフィグレーションレベル・グローバル変数はコンフィグレーション3内の全てを有効範囲とする。
FIG. 3 shows a relationship diagram between local variables and global variables. The local variables are valid only in the
現在、各社から発売されているIEC61131−3準拠のPLCにおいて、グローバル変数の扱いには、リソースレベル・グローバル変数とコンフィグレーションレベル・グローバル変数を明確に分類しているものは少ない。 At present, in the PLCs conforming to IEC61131-3 released from various companies, there are few that clearly classify resource level / global variable and configuration level / global variable in handling global variables.
A社方式ではリソースレベル・グローバル変数のみ使用できるようになっている。図4に示すB社方式では両方使用できる。B社の方式はリソース内に共有メモリを持ち、他のリソースからその共有メモリをアクセスすることでコンフィグレーションレベル・グローバル変数を実現している(例えば、特許文献1参照)。
前記のB社方式のコンフィグレーションレベル・グローバル変数は各リソース内にあるため、リソースの種類により、そのリソース内に確保できるコンフィグレーションレベル・グローバル変数の大きさが決まる。また、図3と図4の違いで明らかなように、コンフィグレーションレベル・グローバル変数がリソース内にあるため、コンフィグレーションレベル・グローバル変数は各リソースで定義することになる。このことで、コンフィグレーションレベルでユニークでなければならないコンフィグレーションレベル・グローバル変数の名称が重複する可能性があり、コンパイラ等で、変数名の重複チェックを行わなければならないことになる。このことはユーザの負担増加となる。 Since the B company configuration level global variable is in each resource, the type of the resource determines the size of the configuration level global variable that can be secured in the resource. Further, as apparent from the difference between FIG. 3 and FIG. 4, since the configuration level global variable is in the resource, the configuration level global variable is defined in each resource. As a result, there is a possibility that the names of the configuration level and global variables that must be unique at the configuration level may be duplicated, and it is necessary to check the duplication of the variable names by a compiler or the like. This increases the burden on the user.
本発明の目的は、IEC61131−3が規定するグローバル変数の仕様を完全に満たしながら、コンフィグレーションレベル・グローバル変数の取り扱いを容易にしたプログラマブルコントローラを提供することにある。 An object of the present invention is to provide a programmable controller that facilitates the handling of configuration level global variables while completely satisfying the global variable specifications defined by IEC61131-3.
前記の課題を解決するため、本発明は、以下の構成とする。 In order to solve the above-described problems, the present invention has the following configuration.
(1)コンフィグレーションレベル・グローバル変数を扱うプログラマブルコントローラであって、
リソース間システムバス上に、各リソースで共有できるコンフィグレーションレベル・グローバル変数用メモリを設け、
前記コンフィグレーションレベル・グローバル変数用メモリにはコンフィグレーションでユニークな変数名を付け、
各リソースで扱う前記コンフィグレーションレベル・グローバル変数用共有メモリのサイズを変えた構成を特徴とする。
(1) A programmable controller that handles configuration level global variables,
A configuration level global variable memory that can be shared by each resource is provided on the system bus between resources.
The configuration level global variable memory is given a unique variable name in the configuration,
The configuration is characterized in that the size of the shared memory for the configuration level / global variable handled by each resource is changed.
(2)コンフィグレーションレベル・グローバル変数を扱うプログラマブルコントローラであって、
各リソースは、コンフィグレーションレベル・グローバル変数用リソース内メモリをもち、
各リソースの中に全リソース共通の1つのコンフィグレーションレベル・グローバル変数用仮想空間を置き、
各リソースは、前記コンフィグレーションレベル・グローバル変数用仮想空間と前記リソース内メモリとの間で、リソース間一斉同報通信によってコンフィグレーションレベル・グローバル変数を交換する構成を特徴とする。
(2) A programmable controller that handles configuration level global variables,
Each resource has a memory in the resource for configuration level global variables,
In each resource, place one configuration-level global variable virtual space common to all resources,
Each resource is characterized in that a configuration level global variable is exchanged between the configuration level global variable virtual space and the in-resource memory by simultaneous broadcast communication between resources.
以上のとおり、本発明によれば、IEC61131−3が規定するグローバル変数の仕様を完全に満たしながら、コンフィグレーションレベル・グローバル変数の取り扱いが容易になる。 As described above, according to the present invention, it is easy to handle the configuration level global variable while completely satisfying the global variable specification defined by IEC61131-3.
(実施形態1)
図1は、本実施形態を示す要部構成図であり、図3,図4と同等の部分は同一符号で示す。
(Embodiment 1)
FIG. 1 is a main part configuration diagram showing this embodiment, and parts equivalent to those in FIG. 3 and FIG.
図1に示すように、コンフィグレーションレベル・グローバル変数が各リソース1,2で共有できるように、コンフィグレーションレベル・グローバル変数をリソース1,2の外に置き、すべてのリソースから参照できるようにする。
As shown in FIG. 1, the configuration level global variable is placed outside the
具体的には、リソース間を接続するシステムバス4上に、コンフィグレーションレベル・グローバル変数用メモリ3Aを置き、そのメモリ3Aを各リソース1,2がアクセスできるようにする。
More specifically, a configuration level /
本実施形態の特徴的事項を以下に説明する。 The characteristic items of this embodiment will be described below.
(a)図4の方式では、リソース内にコンフィグレーションレベル・グローバル変数を置くため、リソースによって、リソースに置けるコンフィグレーションレベル・グローバル変数の大きさを統一させることができない。 (A) In the method of FIG. 4, since the configuration level global variable is placed in the resource, the size of the configuration level global variable placed in the resource cannot be unified.
本実施形態では、リソース1,2の外にコンフィグレーションレベル・グローバル変数用メモリ3Aを置くため、リソースの種類によらず、どのリソースからも同じ大きさのコンフィグレーションレベル・グローバル変数を参照できる。
In the present embodiment, since the configuration level /
(b)図4の方式では、各リソースにコンフィグレーションレベル・グローバル変数用共有メモリがあるため、各リソースで定義したコンフィグレーションレベル・グローバル変数の変数名に重複があるかどうかを、コンパイラなどでチェックする必要があった。 (B) In the method shown in FIG. 4, each resource has a shared memory for configuration level and global variables. There was a need to check.
本実施形態では、コンフィグレーションレベル・グローバル変数用メモリは1つになるため、コンフィグレーションレベル・グローバル変数には常にユニークな名前を付けられる。そのため、変数名の重複チェックは必要ない。 In this embodiment, since there is only one configuration level global variable memory, a unique name is always given to the configuration level global variable. Therefore, it is not necessary to check for duplicate variable names.
(c)本実施形態では、各リソースで扱うコンフィグレーションレベル・グローバル変数用共有メモリのサイズを変えることで、システム規模に対応したリソースにコンフィグレーションレベル・グローバル変数用ハードウェアの品揃えができる。 (C) In this embodiment, by changing the size of the shared memory for the configuration level and global variables handled by each resource, it is possible to assort the hardware for configuration level and global variables in resources corresponding to the system scale.
(実施形態2)
図2は、本実施形態を示す要部構成図であり、図3,図4と同等の部分は同一符号で示す。
(Embodiment 2)
FIG. 2 is a main part configuration diagram showing the present embodiment, and parts equivalent to those in FIG. 3 and FIG.
図2に示すように、コンフィグレーションレベル・グローバル変数用の仮想空間を各リソース1,2内に用意して、その仮想空間とコンフィグレーションレベル・グローバル変数用リソース内メモリ1C,2Cの交換処理によって、コンフィグレーションレベル・グローバル変数を実現する。
As shown in FIG. 2, a virtual space for configuration level / global variables is prepared in each
リソース間システムバス4によって、リソース間一斉同報通信を行うことで、コンフィグレーションレベル・グローバル変数用仮想空間を実現する。
The
本実施形態において、コンフィグレーションレベル・グローバル変数用の仮想空間は全リソースで同じ仕様としておき、共通の変数名を使用できるようにする。 In this embodiment, the virtual space for the configuration level global variable is set to the same specification for all resources so that a common variable name can be used.
また、コンフィグレーションレベル・グローバル変数用リソース内メモリ1C,2Cは、リソースの種類により、大きさは変更できるようにしておき、コンフィグレーションレベル・グローバル変数用仮想空間の中で、そのリソースが使用する部分のみをコンフィグレーションレベル・グローバル変数用リソース内メモリにマッピングする。
Further, the size of the configuration level global variable
また、コンフィグレーションレベル・グローバル変数用の仮想空間は物理的なメモリを有するのではなく、システムバス4上のアドレス空間として存在する。システムバス上に、仮想空間アドレスとデータを一斉同報で送信することで、その仮想アドレスを使用するリソースがそれを取り込み、仮想アドレスと対応するマッピングをとっている自分のリソース内の物理的なメモリに格納することになる。また、自分のコンフィグレーションレベル・グローバル変数用リソース内メモリの内容は仮想空間アドレスに変換されて、システムバス上に一斉同報送信することになる。
The virtual space for the configuration level global variable does not have a physical memory, but exists as an address space on the
また、各リソース1,2では仮想空間のアドレスと自リソースの内部メモリのアドレス対応関係を定義するだけで良い。仮想空間上でコンフィグレーションレベル・グローバル変数の変数名称を定義すれば、すべてのリソースで同じ変数名を使用できる。
For each
本実施形態の特徴的事項を以下に説明する。 The characteristic items of this embodiment will be described below.
(a)図4の方式では、リソース内にコンフィグレーションレベル・グローバル変数を置くため、リソースによって、リソースに置けるコンフィグレーションレベル・グローバル変数の大きさを統一させることができない。 (A) In the method of FIG. 4, since the configuration level global variable is placed in the resource, the size of the configuration level global variable placed in the resource cannot be unified.
本実施形態では、リソース1、2の中に全リソース共通のコンフィグレーションレベル・グローバル変数用仮想空間を置くため、リソースの種類によらず、どのリソースからも同じ大きさのコンフィグレーションレベル・グローバル変数を参照できる。
In this embodiment, since the virtual space for the configuration level global variable common to all resources is placed in the
(b)図4の方式では、各リソースにコンフィグレーションレベル・グローバル変数用共有メモリがあるため、各リソースで定義したコンフィグレーションレベル・グローバル変数の変数名に重複があるかどうかを、コンパイラなどでチェックする必要があった。 (B) In the method shown in FIG. 4, each resource has a shared memory for configuration level and global variables. There was a need to check.
本実施形態では、コンフィグレーションレベル・グローバル変数用仮想空間アドレスに対して変数名を付けるため、その変数名は1つになり、コンフィグレーションレベル・グローバル変数には常にユニークな名前を付けられる。そのため、変数名の重複チェックは必要ない。 In this embodiment, since the variable name is assigned to the virtual space address for the configuration level / global variable, the variable name is one, and the configuration level / global variable is always assigned a unique name. Therefore, it is not necessary to check for duplicate variable names.
(c)コンフィグレーションレベル・グローバル変数用仮想空間とリソース内のコンフィグレーションレベル・グローバル変数用メモリ1C、2Cとをマッピングする方式とするため、リソース種別により、自由にコンフィグレーションレベル・グローバル変数を選択使用することができる。
(C) Since the configuration level global variable virtual space and the configuration level global
(d)コンフィグレーションレベル・グローバル変数用仮想空間の大きさに制限はないため、かなり大きな空間まで対応することができる。このことは将来的に色々なリソースハードウェアに対しても有効であることになる。 (D) Since there is no limitation on the size of the virtual space for the configuration level / global variable, it is possible to cope with a considerably large space. This will be effective for various resource hardware in the future.
1、2 リソース
1A、1B、2A、2B POU(プログラム構成単位)
1C、2C コンフィグレーションレベル・グローバル変数用リソース内メモリ
3 コンフィグレーション
3A コンフィグレーションレベル・グローバル変数用メモリ
4 リソース間システムバス
1, 2
1C, 2C Configuration level global variable
Claims (2)
リソース間システムバス上に、各リソースで共有できるコンフィグレーションレベル・グローバル変数用メモリを設け、
前記コンフィグレーションレベル・グローバル変数用メモリにはコンフィグレーションでユニークな変数名を付け、
各リソースで扱う前記コンフィグレーションレベル・グローバル変数用共有メモリのサイズを変えた構成を特徴とするプログラマブルコントローラ。 A programmable controller that handles configuration level global variables,
A configuration level global variable memory that can be shared by each resource is provided on the system bus between resources.
The configuration level global variable memory is given a unique variable name in the configuration,
A programmable controller characterized by changing the size of the shared memory for the configuration level and global variable handled by each resource.
各リソースは、コンフィグレーションレベル・グローバル変数用リソース内メモリをもち、
各リソースの中に全リソース共通の1つのコンフィグレーションレベル・グローバル変数用仮想空間を置き、
各リソースは、前記コンフィグレーションレベル・グローバル変数用仮想空間と前記リソース内メモリとの間で、リソース間一斉同報通信によってコンフィグレーションレベル・グローバル変数を交換する構成を特徴とするプログラマブルコントローラ。 A programmable controller that handles configuration level global variables,
Each resource has a memory in the resource for configuration level global variables,
In each resource, place one configuration-level global variable virtual space common to all resources,
A programmable controller characterized in that each resource exchanges a configuration level / global variable between the configuration level / global variable virtual space and the in-resource memory by simultaneous broadcast communication between resources.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006271381A JP2008090635A (en) | 2006-10-03 | 2006-10-03 | Programmable controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006271381A JP2008090635A (en) | 2006-10-03 | 2006-10-03 | Programmable controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008090635A true JP2008090635A (en) | 2008-04-17 |
Family
ID=39374702
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006271381A Pending JP2008090635A (en) | 2006-10-03 | 2006-10-03 | Programmable controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008090635A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011233113A (en) * | 2010-04-30 | 2011-11-17 | Toshiba Corp | Plant control system and program relocation method |
| CN104461706A (en) * | 2014-11-24 | 2015-03-25 | 上海华为技术有限公司 | Method and multiprocessing unit for sharing shared global variables |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001022401A (en) * | 1999-07-09 | 2001-01-26 | Toshiba Corp | Integrated controller and control system and transmission device |
-
2006
- 2006-10-03 JP JP2006271381A patent/JP2008090635A/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001022401A (en) * | 1999-07-09 | 2001-01-26 | Toshiba Corp | Integrated controller and control system and transmission device |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011233113A (en) * | 2010-04-30 | 2011-11-17 | Toshiba Corp | Plant control system and program relocation method |
| CN104461706A (en) * | 2014-11-24 | 2015-03-25 | 上海华为技术有限公司 | Method and multiprocessing unit for sharing shared global variables |
| CN104461706B (en) * | 2014-11-24 | 2019-03-26 | 上海华为技术有限公司 | A kind of method and multiprocessing device that shared global variable is shared |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9239573B2 (en) | Mapping between hierarchies in an industrial automation system | |
| TWI428721B (en) | Industrial control system, method of communication in industrial control environment, and computer readable medium for carrying out such method | |
| EP2927759B1 (en) | Programmable logic controller and programming tool for programmable logic controller | |
| JPH05282260A (en) | Computer network and its operation method | |
| KR20150132432A (en) | Memory sharing over a network | |
| JP2009032264A (en) | Mask usable for snoop request | |
| JP2007200313A (en) | Network equipment system | |
| EP3489776B1 (en) | Control device, control method, and program | |
| JP6857153B2 (en) | Control device | |
| WO2015036462A1 (en) | Integration method and system | |
| JP2008090635A (en) | Programmable controller | |
| EP2859417B1 (en) | Optimized communications with hart instruments | |
| WO2020075351A1 (en) | Control device | |
| US20170344504A1 (en) | Method for accessing a number of slave devices with registers by a master device over a network | |
| JP4013250B2 (en) | OPC communication station | |
| US8910069B2 (en) | Register configurator and register configuration method | |
| JP6497392B2 (en) | Access control method, bus system, and semiconductor device | |
| CN102347897B (en) | For carrying out method and the submodule of exchanges data to peripheral data | |
| JP2003271209A (en) | Control device, expansion device and programming tool | |
| US12321147B2 (en) | Queue blocks for flexible automation engineering programs | |
| JP6099844B2 (en) | Data management system, computer, data management method and program | |
| JP2007241570A (en) | Setting method of shared memory for communication between programmable controllers | |
| JP2017163368A (en) | Communication protocol converter | |
| JP2021022242A (en) | Control device | |
| US20140148920A1 (en) | Automation device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Effective date: 20090904 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110316 |
|
| A131 | Notification of reasons for refusal |
Effective date: 20110322 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110809 |