JP5655448B2 - Plcシステム、その開発支援装置 - Google Patents
Plcシステム、その開発支援装置 Download PDFInfo
- Publication number
- JP5655448B2 JP5655448B2 JP2010202481A JP2010202481A JP5655448B2 JP 5655448 B2 JP5655448 B2 JP 5655448B2 JP 2010202481 A JP2010202481 A JP 2010202481A JP 2010202481 A JP2010202481 A JP 2010202481A JP 5655448 B2 JP5655448 B2 JP 5655448B2
- Authority
- JP
- Japan
- Prior art keywords
- object code
- size
- pou
- execution object
- program
- 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
- 238000011161 development Methods 0.000 title claims description 39
- 238000012545 processing Methods 0.000 claims description 75
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 description 83
- 238000000034 method Methods 0.000 description 50
- 230000018109 developmental process Effects 0.000 description 32
- 238000005315 distribution function Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000033772 system development Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004836 empirical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Description
図1(a),(b)は、本例のPLC(プログラマブルコントローラ)システムのシステム構成例(その1)、(その2)である。
図1(a)のPLCシステムでは、開発支援装置10(10A)と複数のPLCモジュール2(演算モジュール)がネットワーク1に接続しており、ネットワーク1を介して相互に通信可能となっている。各PLCモジュール2がそれぞれ1つのCPU2a、CPU2bを有することで、複数の演算処理部(CPU)がある構成となっている。
図1(a)、(b)の開発支援装置10(10A、10B)は、ユーザ等に任意のアプリケーションプログラムを作成させ、これをコンパイルして実行オブジェクトコードを生成した後、ネットワーク1を介して実行オブジェクトコードをPLCモジュール2又は4に転送する。この転送処理は、予め登録されるシステム定義に従って行われるが、これについては特に説明しない。
コンパイラ11とリンカ12は、従来の開発支援装置でも備えられている一般的な機能であり、ここでは特に説明しない。また、特に図示・説明しないが、従来の開発支援装置でも備えられている一般的な機能として、更に、ユーザに任意のアプリケーションを作成させる機能を有するものであってもよい。本例の開発支援装置10は、更に上記POUサイズ算出機能部13、呼出情報生成機能部14、最適負荷配分機能部15を有することを特徴としている。
ここで、本例では、IEC61131-3のような機能単位の構造化設計を例にする。上述してあるように、構造化設計の場合、同一の機能単位、関数等が別々のプログラムから呼び出されることが多い。
尚、図3(b)には、図3(a)に示す各プログラムPG1〜PG5のうち一例としてプログラムPG1についてのみ「POUの呼び出し情報」のデータ格納例を示す。
上記の例では、例えば、ファンクションFCT1は全部で5回呼び出されることになり、呼び出される毎にファンクションFCT1が実行されるので、ファンクションFCT1の実行時間を仮にt1とするならば、プログラムPG1に係わるファンクションFCT1の全実行時間は「5×t1」となることになる。
ここで、図2に、開発支援装置10の処理フローチャート図を示す。
まず、ステップS12では、各プログラム(PG)毎に、そのPGの総実行オブジェクトコードサイズ(実行オブジェクトコードサイズ総数)を、以下の(1)式によって求める。
=<PG1>×1+<FB1>×1+<FB2>×1+<FB3>×1+<FB4>×1+<FCT1>×5+<FCT2>×3
=10×1+6×1+7×1+8×1+3×5+1×3+6×1
=55
他の各プログラムPG2、PG3、PG4、PG5についても、同様にして、図3(a)に示す「POUの呼び出し情報」と、図4(a)に示す各POUの実行オブジェクトコードのサイズとを用いて、上記(1)式によって総実行オブジェクトコードサイズを算出すると、その結果は図4(b)に示す通りとなる。
(1)負荷(サイズ)が大きいプログラム(PG)から順に各CPUへ順次割り当てていく方法。
この様にして、例えば図5に示すように、CPU1の処理負荷とCPU2の処理負荷が殆ど同じ(略均等)となるように、アプリケーションプログラムを構成する各プログラム(PG)を、複数のCPUに割り当てることが出来る。
これは、例えば、まず、各CPUへ割り当てる負荷総量の平均値を算出する。これは、上記全てのプログラムPG1〜PG5の総実行オブジェクトコードサイズの総和を求める。図4(b)の例では、総和=55+25+18+16+7=121となる。
この最適化手法自体は、既存の一般的な手法であり、ここでは特に説明しないが、この方法によれば、負荷の大きさにバラツキがあった場合や負荷の数が膨大になるような複雑な場合においても、最適な負荷配分を求めることができる。
図7は、開発支援装置のハードウェア構成の具体例を示す図であり、これはパソコン等の汎用のコンピュータの構成であると考えてよい。
メモリ32は、任意の処理実行の際に、記憶部35(あるいは可搬型記録媒体39)に記憶されているプログラムあるいはデータを一時的に格納するRAM等のメモリである。CPU31は、メモリ32に読み出したプログラム/データを用いて、上述した各種処理を実行する。
ネットワーク接続部37は、例えば上記ネットワーク1等に接続して、他の情報処理装置(CPUモジュール2,4等)との通信(コマンド/データ送受信等)を行う為の通信モジュールである。
また、上記図3(b)や図4(a),(b)に示す各種情報は、記憶部35やメモリ32等に記憶されるものである。
上記特許文献1に記載の従来技術は、システムの稼動時に行う動的な負荷配分方式であるため、初期の負荷配分が不適切であった場合には、システム始動時には、CPUの負荷が偏り、PLCシステムで要求される定時性を損う可能性がある。その点、静的な負荷配分方式である本手法では、システム始動時から信頼性の高い運用を行うことが出来る。
2 PLCモジュール
2a、2b CPU
3 I/Oモジュール
4 PLCモジュール
4a,4b CPU
10 開発支援装置
11 コンパイラ
12 リンカ
13 POUサイズ算出機能部
14 呼出情報生成機能部
15 最適負荷配分機能部
30 コンピュータ
31 CPU
32 メモリ
33 入力部
34 出力部
35 記憶部
36 記録媒体駆動部
37 ネットワーク接続部
38 バス
39 可搬型記録媒体
39a FD(フレキシブル・ディスク)
39b CD−ROM
Claims (3)
- 開発支援装置と複数の演算処理部を有し、複数のプログラムと該プログラムから呼び出される各種POUより構成される任意のアプリケーションの実行に係わる負荷を該複数の演算処理部に分散させ実行するPLCシステムであって、
前記開発支援装置は、
前記アプリケーションをコンパイルすることで実行オブジェクトコードを生成するコンパイル手段と、
前記POUそれぞれの前記実行オブジェクトコードのサイズを求めるPOUサイズ算出手段と、
前記コンパイル時に前記POUの呼び出し情報を求める呼出情報生成手段と、
前記POUそれぞれの前記実行オブジェクトコードのサイズと、前記POUの呼び出し情報とに基づいて、前記アプリケーションを構成するプログラム毎に、そのプログラムに係わる各POUの前記実行オブジェクトコードのサイズと実行回数に応じた実行オブジェクトコードサイズ総数を算出する総実行オブジェクトコードサイズ算出手段と、
前記各プログラムを前記複数の演算処理部に配分する手段であって、前記総実行オブジェクトコードサイズ算出手段によって算出される前記プログラムそれぞれの実行オブジェクトコードサイズ総数に基づいて、前記複数の演算処理部の負荷が略均等となるように前記各プログラムを前記各演算処理部に配分する負荷配分手段と、
を有することを特徴とするPLCシステム。 - 前記実行オブジェクトコードのサイズは、実行オブジェクトコードのステップ数であることを特徴とする請求項1記載の開発支援装置。
- 開発支援装置と複数の演算処理部を有し、複数のプログラムと該プログラムから呼び出される各種POUより構成される任意のアプリケーションの実行に係わる負荷を該複数の演算処理部に分散させるPLCシステムにおける前記開発支援装置であって、
前記アプリケーションをコンパイルすることで実行オブジェクトコードを生成するコンパイル手段と、
前記POUそれぞれの前記実行オブジェクトコードのサイズを求めるPOUサイズ算出手段と、
前記コンパイル時に前記POUの呼び出し情報を求める呼出情報生成手段と、
前記POUそれぞれの前記実行オブジェクトコードのサイズと、前記POUの呼び出し情報とに基づいて、前記アプリケーションを構成するプログラム毎に、そのプログラムに係わる各POUの前記実行オブジェクトコードサイズと実行回数に応じた実行オブジェクトコードサイズ総数を算出する総実行オブジェクトコードサイズ算出手段と、
前記各プログラムを前記複数の演算処理部に配分する手段であって、前記総実行オブジェクトコードサイズ算出手段によって算出される前記プログラムそれぞれの実行オブジェクトコードサイズ総数に基づいて、前記複数の演算処理部の負荷が略均等となるように前記各プログラムを前記各演算処理部に配分する負荷配分手段と、
を有することを特徴とするPLCシステムにおける開発支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010202481A JP5655448B2 (ja) | 2010-09-09 | 2010-09-09 | Plcシステム、その開発支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010202481A JP5655448B2 (ja) | 2010-09-09 | 2010-09-09 | Plcシステム、その開発支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012059078A JP2012059078A (ja) | 2012-03-22 |
JP5655448B2 true JP5655448B2 (ja) | 2015-01-21 |
Family
ID=46056083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010202481A Active JP5655448B2 (ja) | 2010-09-09 | 2010-09-09 | Plcシステム、その開発支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5655448B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10990073B2 (en) | 2016-08-30 | 2021-04-27 | Mitsubishi Electric Corporation | Program editing device, program editing method, and computer readable medium |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6563187B2 (ja) * | 2014-11-12 | 2019-08-21 | 株式会社東芝 | 分散制御システム、制御装置及び制御方法 |
WO2017141332A1 (ja) * | 2016-02-15 | 2017-08-24 | 三菱電機株式会社 | 負荷分散装置 |
JP2018041373A (ja) * | 2016-09-09 | 2018-03-15 | オムロン株式会社 | 実行可能プログラム作成装置、実行可能プログラム作成方法、および、実行可能プログラム作成プログラム |
JP2022099958A (ja) * | 2020-12-23 | 2022-07-05 | オムロン株式会社 | 制御装置、制御方法および制御プログラム |
CN114326560B (zh) * | 2021-11-18 | 2024-02-09 | 北京华能新锐控制技术有限公司 | 降低风电机组国产化plc的cpu负荷的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2553055B2 (ja) * | 1986-11-17 | 1996-11-13 | 株式会社東芝 | プログラマブルコントロ−ラ |
JPH0695713A (ja) * | 1992-09-14 | 1994-04-08 | Hitachi Ltd | プログラマブルコントローラとそのプログラミング方法 |
-
2010
- 2010-09-09 JP JP2010202481A patent/JP5655448B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10990073B2 (en) | 2016-08-30 | 2021-04-27 | Mitsubishi Electric Corporation | Program editing device, program editing method, and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
JP2012059078A (ja) | 2012-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012118715A (ja) | Plcシステム、その開発支援装置、プログラム | |
JP6939132B2 (ja) | アプリケーション・プロファイリング・ジョブ管理システム、プログラム、及び方法 | |
CN102576314B (zh) | 具有横跨多个处理器的数据并行线程之映射处理逻辑 | |
JP5655448B2 (ja) | Plcシステム、その開発支援装置 | |
US20130298112A1 (en) | Control Flow Graph Application Configuration | |
US8677334B2 (en) | Parallelization method, system and program | |
CN105242962B (zh) | 基于异构众核的轻量级线程快速触发方法 | |
CN103218245A (zh) | 选择要在计算系统中执行的优化代码的方法和系统 | |
KR20140054948A (ko) | 임베디드 시스템을 위한 오픈씨엘 응용 소프트웨어 개발 지원 도구 구성 및 방법 | |
JP2015509249A5 (ja) | ||
JP2019049843A (ja) | 実行ノード選定プログラム、実行ノード選定方法及び情報処理装置 | |
JP2004220583A (ja) | アセンブラにおいて大域的プロセッサ資源割当てを実行するための方法およびシステム | |
EP1993038A1 (en) | Data processing system and data processing method | |
US20160147559A1 (en) | Modification of context saving functions | |
JP6953768B2 (ja) | 支援装置、プログラム | |
US11573777B2 (en) | Method and apparatus for enabling autonomous acceleration of dataflow AI applications | |
JP5360506B2 (ja) | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム | |
Peccerillo et al. | Task-dag support in single-source PHAST library: Enabling flexible assignment of tasks to cpus and gpus in heterogeneous architectures | |
US20120137300A1 (en) | Information Processor and Information Processing Method | |
JP6295914B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ | |
KR102512704B1 (ko) | 매트릭스 연산 방법 및 그 장치 | |
US20090187895A1 (en) | Device, method, program, and recording medium for converting program | |
Tulika et al. | Using choreography of actors and rewriting rules to adapt legacy Fortran programs to cloud computing | |
JP5845788B2 (ja) | 実行制御プログラム、実行制御装置および実行制御方法 | |
KR102213046B1 (ko) | 설계 지원 장치, 설계 지원 방법 및 기록 매체에 저장된 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140520 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140718 |
|
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: 20141028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5655448 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |