JP2007241434A - シーケンス処理実行装置 - Google Patents
シーケンス処理実行装置 Download PDFInfo
- Publication number
- JP2007241434A JP2007241434A JP2006059789A JP2006059789A JP2007241434A JP 2007241434 A JP2007241434 A JP 2007241434A JP 2006059789 A JP2006059789 A JP 2006059789A JP 2006059789 A JP2006059789 A JP 2006059789A JP 2007241434 A JP2007241434 A JP 2007241434A
- Authority
- JP
- Japan
- Prior art keywords
- transition
- arithmetic
- processing
- allocation
- processing time
- 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
Abstract
【解決手段】活性ステップ組合せ情報142として、シーケンス処理実行装置内の演算装置上で、SFC言語で記述されたプログラムを実際に実行した場合の複数のステップの組合せの情報を保持する。ステップ対演算装置割当部304において、活性ステップ組合せ情報142に基づいて、各ステップを任意の演算装置に割り振った場合を評価し、その結果に基づいて複数の演算装置110,120で実行するステップの割当を決定する。
【選択図】図1
Description
図1は、この発明の実施の形態1によるシーケンス処理実行装置を示す構成図である。
図2は、この発明の実施の形態1によるシーケンス処理実行装置における演算装置が保有する手段を示す説明図である。
図3は、この発明の実施の形態1によるシーケンス処理実行装置における共有メモリが保有する手段を示す説明図である。
プログラミング装置300は、シーケンス処理実行部100とは別装置として設けられ、SFCプログラムを作成すると共に、作成したSFCプログラムを、演算装置110,120で実行可能なコードに変換してシーケンス処理実行部100に供給する装置であり、入力部301、プログラムコード変換部302、データ取得部303、ステップ対演算装置割当部304、データ送信部305、トランジション対演算装置割当部306を備えている。入力部301は、SFCプログラムの入力機能を構成し、プログラムコード変換部302は、演算装置110,120上のCPU111,121でプログラムを実行させるために必要となるプログラムコードの変換機能を構成している。データ取得部303は、シーケンス処理実行部100の共有メモリ140に保持された活性ステップ組合せ情報142と、ステップ処理時間情報143を、シーケンス処理実行部100から取り込むための機能を構成している。
最初に、利用者がプログラミング装置300上で、SFCプログラムを作成する。作成したSFCはプログラミング装置300上のプログラムコード変換部302で、演算装置110,120上のCPU111,121で実行可能な実行可能コードに変換される。また、複数の演算装置110,120では、各々を識別するためのID番号が付加されている。更に、複数の演算装置110,120においては、いわゆる主(マスタ)となる演算装置が一つ規定されている。本実施の形態では、その主となる演算装置を演算装置110とする。その主となる演算装置110は、並列に実行可能なステップが存在しない場合、即ち一つしか実行可能なステップが存在しない場合に処理が実行される演算装置である。
STEP2−[TR2]→STEP5−[TR5]→STEP8
STEP3−[TR3]→STEP6−[TR6]→STEP9
STEP4−[TR4]→STEP7−[TR7]→STEP10
の三つのシーケンスが並列に実行されるが、実際に発生したステップの組合せは、単純にステップの組合せで計算される27種類(=3×3×3)ではなく、図5に記載するように6種類だったとする。
STEP4の実行によりTR4が成立しSTEP7に遷移
STEP7の実行によりTR2が成立しSTEP5に遷移
STEP5の実行によりTR3が成立しSTEP6に遷移
STEP6の実行によりTR5およびTR6が成立しSTEP8、STEP9に遷移
STEP8の実行によりTR7が成立しSTEP10に遷移
STEP8,STEP9,STEP10の実行によりTR8が成立しSTEP11に遷移
という制御的な依存性が存在し、その挙動として、この6種類のステップの組合せが発生した場合を示すものである。
ステップ対演算装置割当部304は、最初に、発生したステップの組合せの中に存在するステップを全て認識する。図5から、ステップとして
{STEP2,STEP3,STEP4,STEP5,STEP6,STEP7,STEP8,STEP9,STEP10}
の9個のステップが存在することが認識される(ステップST1)。次に、任意のステップに対し任意の演算装置への割り振りを一つ設定する(ステップST2)。本実施の形態では演算装置110と演算装置120という二つの演算装置が存在するので、設定として、例えば、図8に示すようなステップと演算装置の組合せを考える。この場合、発生したステップの組合せにおける各演算装置110,120での処理時間の総和は図9のようになる。
MAX(MAX(演算装置1),MAX(演算装置2))
であり、結果として、「105μs」が、この演算装置へのステップの割り振りでの時間となる(ステップST4)。そして、試した割り振りは最初の1回目であるため、この値がこれまでの最小値として保持すると共に、上記のステップの各演算装置110,120への割り振りを保持しておく(ステップST6)。次のステップST7において、ステップの演算装置への割り振りが全てテストされていないため、ステップST2に戻り、次の組合せとして例えば図10に記載された組合せを考える。このケースでは、図11のように、ステップの組合せにおける各演算装置での各処理時間が計算される(ステップST3)。
MAX(MAX(演算装置1), MAX(演算装置2))は、
60μs
として計算される(ステップST4)。これは、前回求めた105μsよりも小さいため(ステップST5)、この値を最小値として設定し、この場合のステップの演算装置への割り振りを保存しておく(ステップST6)。そして、全ての演算装置110,120への割り振りを完了するまで、割り振りのテストを進める(ステップST7)。図6に示した処理時間となる例では、図10および図11に対応する、60μsを下回る割り振りの組合せは存在しないため、この割り振り結果が、ステップの演算装置110および演算装置120への割り振りの中で最適な結果となり、従って、図10で示す割り振りを確定する。
この様に確定したステップおよびトランジションの演算装置への割り振りに対し、恒常的に固定化した割り振りで処理を継続的に実施させる事も可能であるが、もしステップやトランジションに関連する処理の実行時間が、割り振りを確定した時の入力とした処理時間から大きく変動した場合、その割り振りが最適でなくなる状況が発生する。そのため、動的にステップおよびトランジションの割り振りを変えたい場合も存在する。
実施の形態1では、シーケンス処理実行部100に対する、ステップおよびトランジションに関連する処理の各演算装置への割り振りを実行する機能(ステップ対演算装置割当部304およびトランジション対演算装置割当部306)が、シーケンス処理実行部100上ではなく、外部のプログラミング装置300上で、必要な情報を通信しながら実施する形態として説明を行ったが、各演算装置110,120への割り振りを実行する機能(ステップ対演算装置割当部304の機能およびトランジション対演算装置割当部306の機能)がシーケンス処理実行部100上に存在する形態の実現も可能である。即ち、シーケンス処理実行部100において、ステップ割当手段とトランジション割当手段とを備えてもよい。これにより、実際にシーケンス処理実行部100が使用されている、工業プラント、工場のライン等で、プログラミング装置300を使用せずに、シーケンス処理実行部100のみで、処理の割り振りの最適化を行うことが可能になる。
Claims (12)
- シーケンシャル・ファンクション・チャートで記述されたプログラムを実行し、シーケンス処理を行う複数の演算装置と、
前記複数の演算装置で、実際に前記プログラムを動作させた際に、同時に実行されるシーケンシャル・ファンクション・チャート記述上の複数のステップの組合せの情報を保持する組合せ情報取得手段と、
前記組合せの情報に基づいて、前記複数の演算装置で実行するステップの割当を行うステップ割当手段と
を備えたシーケンス処理実行装置。 - プログラムを動作させた際に、実行したシーケンシャル・ファンクション・チャート記述上のステップの処理時間の情報を取得するステップ処理時間取得手段を備えたことを特徴とする請求項1記載のシーケンス処理実行装置。
- ステップ割当手段は、組合せ情報取得手段で保持した組合せの情報と、ステップ処理時間取得手段で取得した処理時間の情報とに基づいて、複数の演算装置で実行するステップの割当を行うことを特徴とする請求項2記載のシーケンス処理実行装置。
- ステップ割当手段は、複数の演算装置とは別装置として設けられ、通信路を介して接続されていることを特徴とする請求項3記載のシーケンス処理実行装置。
- ステップ割当手段は、複数の演算装置と同一装置内に設けられていることを特徴とする請求項3記載のシーケンス処理実行装置。
- ステップ割当手段は、各ステップをどの演算装置に割り当てるかの判定を、各ステップを任意の演算装置に割り振った場合を評価し、組合せ情報に対応する各演算装置でのステップ実行時間を導出し、導出した全てのステップの組合せにおける各演算装置でのステップ実行時間の最大値が、全てのステップを任意の演算装置への割り振った場合の中で最も小さくなるようにステップの割当を決定することを特徴とする請求項3から請求項5のうちのいずれか1項記載のシーケンス処理実行装置。
- ステップ処理時間の閾値を示すステップ閾値データを設け、
ステップ割当手段は、ステップ処理時間取得手段で取得された処理時間が、当該ステップ閾値データを超えた場合にステップ割当処理を実行することを特徴とする請求項6記載のシーケンス処理実行装置。 - シーケンシャル・ファンクション・チャートで記述されたプログラムを実行し、シーケンス処理を行う複数の演算装置と、
前記複数の演算装置で、実際に前記プログラムを動作させた際に、実行したシーケンシャル・ファンクション・チャート記述上のトランジションの処理時間の情報を取得するトランジション処理時間取得手段と、
前記トランジション処理時間取得手段の処理時間の情報に基づいて、前記複数の演算装置で実行するトランジションの割当を行うトランジション割当手段と
を備えたシーケンス処理実行装置。 - トランジション割当手段は、複数の演算装置とは別装置として設けられ、通信路を介して接続されていることを特徴とする請求項8記載のシーケンス処理実行装置。
- トランジション割当手段は、複数の演算装置と同一装置内に設けられていることを特徴とする請求項8記載のシーケンス処理実行装置。
- トランジション割当手段は、各トランジションをどの演算装置に割り当てるかの判定を、各トランジションを任意の演算装置に割り振った場合を評価し、各演算装置でのトランジション実行時間を導出し、導出した全てのトランジションを任意の演算装置への割り振った場合の中でトランジション実行時間が最も小さくなるようにトランジションの割当を決定することを特徴とする請求項8から請求項10のうちのいずれか1項記載のシーケンス処理実行装置。
- トランジション処理時間の閾値を示すトランジション閾値データを設け、
トランジション割当手段は、トランジション処理時間取得手段で取得された処理時間が、当該トランジション閾値データを超えた場合にトランジション割当処理を実行することを特徴とする請求項11記載のシーケンス処理実行装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006059789A JP2007241434A (ja) | 2006-03-06 | 2006-03-06 | シーケンス処理実行装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006059789A JP2007241434A (ja) | 2006-03-06 | 2006-03-06 | シーケンス処理実行装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007241434A true JP2007241434A (ja) | 2007-09-20 |
Family
ID=38586950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006059789A Pending JP2007241434A (ja) | 2006-03-06 | 2006-03-06 | シーケンス処理実行装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007241434A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0651818A (ja) * | 1992-08-04 | 1994-02-25 | Omron Corp | プログラマブルコントローラ |
JPH0728390A (ja) * | 1993-06-25 | 1995-01-31 | Okuma Mach Works Ltd | プログラマブルコントローラ |
JP2002351509A (ja) * | 2001-05-25 | 2002-12-06 | Mitsubishi Electric Corp | プログラミングツール及びプログラミング方法 |
JP2006039821A (ja) * | 2004-07-26 | 2006-02-09 | Canon Inc | マルチプロセッサ搭載システムlsiの制御方法 |
-
2006
- 2006-03-06 JP JP2006059789A patent/JP2007241434A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0651818A (ja) * | 1992-08-04 | 1994-02-25 | Omron Corp | プログラマブルコントローラ |
JPH0728390A (ja) * | 1993-06-25 | 1995-01-31 | Okuma Mach Works Ltd | プログラマブルコントローラ |
JP2002351509A (ja) * | 2001-05-25 | 2002-12-06 | Mitsubishi Electric Corp | プログラミングツール及びプログラミング方法 |
JP2006039821A (ja) * | 2004-07-26 | 2006-02-09 | Canon Inc | マルチプロセッサ搭載システムlsiの制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8346378B2 (en) | Programmable controller | |
US9778630B2 (en) | Control device and system program for maintaining global variable and reference data consistency during parallel processing of multiple tasks | |
CN102667648B (zh) | 并行程控 | |
JP5747584B2 (ja) | 制御装置およびシステムプログラム | |
US10365624B2 (en) | Slave device, method for controlling slave device, and non-transitory computer-readable recording medium | |
US10025281B2 (en) | Control device and system program, and recording medium | |
KR102258542B1 (ko) | 프로그래머블 컨트롤러, 관리 장치 및 제어 시스템 | |
CN111095138B (zh) | 控制装置、控制装置的控制方法、信息处理程序及记录介质 | |
JP4993208B2 (ja) | 産業用コントローラ用機器 | |
JP5849592B2 (ja) | プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法 | |
JP7298210B2 (ja) | 設定情報生成装置、設定情報生成方法、及び制御プログラム | |
JP2007241434A (ja) | シーケンス処理実行装置 | |
US20180074470A1 (en) | Apparatus and method for generating program | |
KR101957400B1 (ko) | 프로그래머블 논리 제어 시스템 | |
JP7067869B2 (ja) | 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム | |
JP5774941B2 (ja) | コンフィグレーション装置及びコンフィグレーション方法 | |
CN111143051A (zh) | 通过异构资源执行人工神经网络来执行任务的系统和方法 | |
CN111726186A (zh) | 嵌入式芯片和外部设备的同步的配置方法及嵌入式芯片 | |
JP4547469B2 (ja) | 複数の演算装置によるシーケンス処理実行装置 | |
JP2009289269A (ja) | バッファメモリにおけるメモリの割り当て方法 | |
JP6289197B2 (ja) | プラント制御装置エンジニアリングツール | |
JP2009289269A6 (ja) | バッファメモリにおけるメモリの割り当て方法 | |
WO2015136686A1 (ja) | 情報処理装置及び方法 | |
JP5088566B2 (ja) | 割込機能を備えたplc | |
WO2017208365A1 (ja) | 制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20071017 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
RD04 | Notification of resignation of power of attorney |
Effective date: 20071022 Free format text: JAPANESE INTERMEDIATE CODE: A7424 |
|
RD04 | Notification of resignation of power of attorney |
Effective date: 20080627 Free format text: JAPANESE INTERMEDIATE CODE: A7424 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100330 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
A521 | Written amendment |
Effective date: 20100616 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100921 |