JP2008234394A - プログラマブルコントローラの高速化方法 - Google Patents
プログラマブルコントローラの高速化方法 Download PDFInfo
- Publication number
- JP2008234394A JP2008234394A JP2007074175A JP2007074175A JP2008234394A JP 2008234394 A JP2008234394 A JP 2008234394A JP 2007074175 A JP2007074175 A JP 2007074175A JP 2007074175 A JP2007074175 A JP 2007074175A JP 2008234394 A JP2008234394 A JP 2008234394A
- Authority
- JP
- Japan
- Prior art keywords
- programmable controller
- processing
- sequence program
- processing speed
- personal computer
- 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
- 238000000034 method Methods 0.000 title claims description 14
- 238000004088 simulation Methods 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 16
- 230000001343 mnemonic effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
【課題】プログラマブルコントローラに対してそれに内蔵のCPUの処理能力を超えた速度でシーケンスプログラムの実行を可能とすることである。
【解決手段】パーソナルコンピュータ1によりシーケンスプログラムの構成単位であるプログラム処理単位を1つまたは複数ごとにその実行時間をシュミレートし、上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類し、上記分類した処理単位に処理速度情報を付加し、処理単位に処理速度情報を付加してあるシーケンスプログラムをパーソナルコンピュータからプログラマブルコントローラに転送する。そしてプログラマブルコントローラで処理速度情報を参照して処理速度の遅い処理単位を予め他のCPUに転送し、プログラマブルコントローラはシーケンスプログラムの実行に際しては他のCPUに処理速度が遅い処理単位の実行を依頼することによりシーケンスプログラムの実行を分散化しその高速化を可能としている。
【選択図】図2
【解決手段】パーソナルコンピュータ1によりシーケンスプログラムの構成単位であるプログラム処理単位を1つまたは複数ごとにその実行時間をシュミレートし、上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類し、上記分類した処理単位に処理速度情報を付加し、処理単位に処理速度情報を付加してあるシーケンスプログラムをパーソナルコンピュータからプログラマブルコントローラに転送する。そしてプログラマブルコントローラで処理速度情報を参照して処理速度の遅い処理単位を予め他のCPUに転送し、プログラマブルコントローラはシーケンスプログラムの実行に際しては他のCPUに処理速度が遅い処理単位の実行を依頼することによりシーケンスプログラムの実行を分散化しその高速化を可能としている。
【選択図】図2
Description
本発明は、プログラマブルコントローラの高速化方法にかかり、より詳しくは、プログラマブルコントローラ(PLC)の動作を高速化することができるプログラマブルコントローラの高速化方法に関するものである。
生産工場等に設置されるファクトリーオートメーション(FA)の制御装置として、プログラマブルコントローラが用いられている。このプログラマブルコントローラは、複数のユニットから構成される。この複数のユニットとしては、電源ユニット、CPUユニット、入力ユニット、出力ユニット、通信ユニット等がある。CPUユニットは、内部にCPU、I/Oメモリ、プログラムメモリ等を有し、このCPUは、入力ユニットで入力した信号をI/Oメモリに取り込むINリフレッシュ処理を行い、プログラムメモリ内のシーケンスプログラムに基づき演算実行し、その演算実行結果をI/Oメモリに書き込んで出力ユニットに送り出すOUTリフレッシュ処理を行い、その後、通信ユニットを介して通信ネットワーク上の他のPLCとデータ送受信を行ったり、CPUユニットに備えられた通信ポートを介して外部のPC等とデータ送受信などを行ったりする周辺処理を行う一連の処理をサイクリックに繰り返す(例えば特許文献1参照)。入力ユニットにはセンサ等が、出力ユニットにはアクチュエータ等が接続される。センサ等は制御装置の状態をセンシングしその情報を入力ユニットに入力し、アクチュエータ等は出力ユニットからの出力に応答して制御装置を駆動する。
シーケンスプログラムには各種あり、例えばラダー図方式、ステージ方式、SFC方式等によるシーケンスプログラムがある。そしてこれらシーケンスプログラムのうち、例えば、ラダープログラムは、ラダー図を用いて作成されるプログラムであり、たとえば、パーソナルコンピュータを用いて作成される。パーソナルコンピュータにおいて作成されたラダープログラムは、パーソナルコンピュータ内でニ−モニックコードに変換され、ニ−モニックプログラムが生成される。
そして、パーソナルコンピュータをプログラマブルコントローラに接続し、ニ−モニックプログラムをパーソナルコンピュータからプログラマブルコントローラに送ると、そのニ−モニックプログラムがプログラマブルコントローラ内でマシンコードに変換され、プログラマブルコントローラ内のプログラムメモリに記憶される。これにより、プログラマブルコントローラは、プログラムメモリ内に記憶されているマシンコードに変換されたプログラムに基づいて制御装置の動作を制御することが可能になる。
以上のプログラマブルコントローラにおいては、その高速化の要求が高まっているが、既存のプログラマブルコントローラでは内蔵CPUの処理能力に依存しているために、このCPUの処理能力が低い場合では、プログラマブルコントローラの高速化に限界があった。
特開2005−259079号公報
本発明により解決すべき課題は、プログラマブルコントローラに対してそれに内蔵のCPUの処理能力を超えた速度でシーケンスプログラムの実行を可能とすることである。
本発明によるプログラマブルコントローラの高速化方法は、パーソナルコンピュータによりシーケンスプログラムの実行時間をシュミレートするシュミレートステップと、上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類する分類ステップと、上記処理速度で分類した処理単位に処理速度情報を付加する処理速度情報付加ステップと、処理単位に処理速度情報を付加したシーケンスプログラムをパーソナルコンピュータからプログラマブルコントローラに転送する転送ステップとを実行し、プログラマブルコントローラにより、上記転送されたシーケンスプログラムの処理単位に付加されている上記処理速度情報を参照して処理速度の遅い処理単位を予め他のCPUに実行依頼してシーケンスプログラムの実行を分散化するステップを実行することを特徴とするものである。
上記処理単位には関数を含むことができる。
上記他のCPUには上記パーソナルコンピュータ内のCPUや他のプログラマブルコントローラ内のCPU等を含む。
本発明によると、シーケンスプログラムの処理単位に対して処理速度情報を付けるので、プログラマブルコントローラではパーソナルコンピュータからシーケンスプログラムをダウンロードしそれをメモリに格納する一方で、上記処理速度情報を参照して処理速度が遅い処理単位に対しては予め他のCPUに転送しているので、シーケンスプログラムの実行に際してはその処理速度の遅い処理単位の実行を依頼することができ、これにより、シーケンスプログラムを分散実行することができるようになる結果、プログラマブルコントローラの高速化を図ることができる。
なお、処理速度情報の付加には例えばシーケンスプログラムをパーソナルコンピュータでコンパイルし、このコンパイル後の中間コードやマシンコードに高速化フラグを付加することができる。
上記実行時間の測定方法は特に限定しない。
本発明によれば、プログラマブルコントローラの高速化を容易に可能とすることができる。
以下、添付した図面を参照して、本発明の実施の形態に係るプログラマブルコントローラの高速化方法を説明する。図1は、パーソナルコンピュータ1とプログラマブルコントローラ2とのブロック回路を示す。パーソナルコンピュータ1は、CPU3、各種のメモリ4、表示部5、入力部6、通信インターフェース7等を有する。プログラマブルコントローラ2は、通信インターフェース8、CPU9、各種のメモリ10、入出力インターフェース11を備える。プログラマブルコントローラ2は、ユニット別にすると、例えば基本ユニット、入力ユニット、出力ユニット、通信ユニット等とし、基本ユニットをCPU、システムプログラム格納ROM、ユーザプログラムであるシーケンスプログラム格納RAM、等で構成し、このCPUではシーケンスプログラムにより入力ユニットから必要な信号を取り込み、所要の演算を行い、結果を出力ユニットに出力する一方、通信ユニットでパーソナルコンピュータ1やその他と通信する構成としてもよい。
パーソナルコンピュータ1において各種メモリ4はシステムメモリや、シーケンスプログラムの格納メモリや外部メモリ、等を含む。表示部5はCRTや、液晶表示装置等の表示部であり、入力部6はキーボードやマウス等である。パーソナルコンピュータ1の詳細な構成は周知であるからその説明は略する。パーソナルコンピュータ1はユーザが作成したユーザプログラムであるシーケンスプログラムを通信インターフェース7を介してプログラマブルコントローラ2に転送するようになっている。
プログラマブルコントローラ2において各種メモリ10はシステムメモリやシーケンスプログラムメモリや入出力メモリ等を含む。通信インターフェース8は、USB、IEEE1394、LAN、無線LAN等の高速で通信が可能なインターフェースである。プログラマブルコントローラ2は、パーソナルコンピュータ1から転送されるシーケンスプログラムを通信インターフェース8を介してメモリ10に格納することができるようになっている。プログラマブルコントローラ2はシーケンスプログラムの実行に基づいて入出力インターフェース11から制御機器を制御する。
以上のパーソナルコンピュータ1やプログラマブルコントローラ2のハードウェア構成は周知であり、詳細な説明は略する。
実施の形態では以下に図2を参照して説明するプログラマブルコントローラ2の高速化方法に特徴を有する。
まず、パーソナルコンピュータ1のCPU3はユーザにより作成されたシーケンスプログラムをメモリ4に格納する(シーケンスプログラム格納ステップ)。
次いで、パーソナルコンピュータ1のCPU3はシーケンスプログラムを構成する処理単位ごとに実行時間をシュミレートする(実行時間シュミレートステップ)。この処理単位には関数を含ませることができる。関数は多くの場合、プログラムを構成する要素になっている。実行時間は、例えばプログラムコントローラー2において、使用されるCPUによって実行時間が異なってくるので、パーソナルコンピュータ1上にプログラムコントローラーで既に計測された命令コードの処理時間のデータベースを参照して、その命令コード毎の処理時間を使用してプログラム処理単位毎の処理時間を計算して求める事ができる。もしくは、パーソナルコンピュータ1の上でソフトウエアにエミュレートされたプログラムコントローラー2のCPUで実プログラムをシュミレートし、タイマー等のソフトウエアで計測する事ができる。
パーソナルコンピュータ1のCPU3は上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類する(処理速度分類ステップ)。例えばシーケンスプログラムを高速と低速の2段階の処理単位に分類してもよい。
パーソナルコンピュータ1のCPU3は上記処理速度で分類した処理単位に処理速度情報として高速化フラグを付加する(処理速度情報付加ステップ)。
パーソナルコンピュータ1のCPU3は上記高速化フラグを付加してあるシーケンスプログラムを通信インターフェース7を介してプログラマブルコントローラ2に転送する(シーケンスプログラム転送ステップ)。
プログラマブルコントローラ2は高速化フラグを参照して自身のメモリ10に、転送されてきたシーケンスプログラムを書き込むと共にそのシーケンスプログラムにおける処理速度の遅い処理単位を通信インターフェース8を介して予め他のCPUに転送する(処理単位転送ステップ)。当該他のCPUとしてはパーソナルコンピュータ1内のCPU3や図示略の他のプログラマブルコントローラ内のCPU等がある。
上記プログラマブルコントローラ2のCPU9では上記メモリ10に書き込んであるシーケンスプログラムの実行に際しては他のCPUに処理速度が遅い処理単位の実行を依頼することによりシーケンスプログラムの実行を分散化する(シーケンスプログラム実行ステップ)。
以上からシーケンスプログラムにおける処理がプログラマブルコントローラ2のCPU9と他のCPUとに分散されて実行されるので、シーケンスプログラムを高速で処理することができ、プログラマブルコントローラ2の高速化が可能となる。
1 パーソナルコンピュータ
3 CPU
4 メモリ
7 通信インターフェース
2 プログラマブルコントローラ
8 通信インターフェース
9 CPU
10 メモリ
11 入出力インターフェース
3 CPU
4 メモリ
7 通信インターフェース
2 プログラマブルコントローラ
8 通信インターフェース
9 CPU
10 メモリ
11 入出力インターフェース
Claims (1)
- パーソナルコンピュータによりシーケンスプログラムの実行時間をシュミレートするシュミレートステップと、上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類する分類ステップと、上記処理速度で分類した処理単位に処理速度情報を付加する処理速度情報付加ステップと、処理単位に処理速度情報を付加したシーケンスプログラムをパーソナルコンピュータからプログラマブルコントローラに転送する転送ステップとを実行し、
プログラマブルコントローラにより、上記転送されたシーケンスプログラムの処理単位に付加されている上記処理速度情報を参照して処理速度の遅い処理単位を予め他のCPUに実行依頼してシーケンスプログラムの実行を分散化するステップを実行する、ことを特徴とするプログラマブルコントローラの高速化方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007074175A JP2008234394A (ja) | 2007-03-22 | 2007-03-22 | プログラマブルコントローラの高速化方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007074175A JP2008234394A (ja) | 2007-03-22 | 2007-03-22 | プログラマブルコントローラの高速化方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008234394A true JP2008234394A (ja) | 2008-10-02 |
Family
ID=39907083
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007074175A Pending JP2008234394A (ja) | 2007-03-22 | 2007-03-22 | プログラマブルコントローラの高速化方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008234394A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012524355A (ja) * | 2009-04-20 | 2012-10-11 | ピルツ ゲーエムベーハー アンド コー.カーゲー | 安全コントローラおよび自動化設備を制御する方法 |
| WO2016017004A1 (ja) * | 2014-07-31 | 2016-02-04 | 三菱電機株式会社 | 実行時間推定プログラムおよび実行時間推定装置 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08110804A (ja) * | 1994-10-11 | 1996-04-30 | Omron Corp | データ処理装置 |
| JP2002149402A (ja) * | 2000-11-14 | 2002-05-24 | Pacific Design Kk | データ処理装置およびその制御方法 |
| JP2002358104A (ja) * | 2001-03-30 | 2002-12-13 | Omron Corp | プログラマブルコントローラ及びその制御方法 |
-
2007
- 2007-03-22 JP JP2007074175A patent/JP2008234394A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08110804A (ja) * | 1994-10-11 | 1996-04-30 | Omron Corp | データ処理装置 |
| JP2002149402A (ja) * | 2000-11-14 | 2002-05-24 | Pacific Design Kk | データ処理装置およびその制御方法 |
| JP2002358104A (ja) * | 2001-03-30 | 2002-12-13 | Omron Corp | プログラマブルコントローラ及びその制御方法 |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012524355A (ja) * | 2009-04-20 | 2012-10-11 | ピルツ ゲーエムベーハー アンド コー.カーゲー | 安全コントローラおよび自動化設備を制御する方法 |
| US9128480B2 (en) | 2009-04-20 | 2015-09-08 | Pilz Gmbh & Co. Kg | Safety controller and method for controlling an automated installation |
| WO2016017004A1 (ja) * | 2014-07-31 | 2016-02-04 | 三菱電機株式会社 | 実行時間推定プログラムおよび実行時間推定装置 |
| JPWO2016017004A1 (ja) * | 2014-07-31 | 2017-04-27 | 三菱電機株式会社 | 実行時間推定プログラムおよび実行時間推定装置 |
| CN106662852A (zh) * | 2014-07-31 | 2017-05-10 | 三菱电机株式会社 | 执行时间推定程序以及执行时间推定装置 |
| CN106662852B (zh) * | 2014-07-31 | 2018-09-11 | 三菱电机株式会社 | 执行时间推定方法以及执行时间推定装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20220156433A1 (en) | Industrial network communication emulation | |
| US9971914B2 (en) | Industrial simulation using redirected I/O module configurations | |
| JP7216190B2 (ja) | プログラマブルロジックコントローラベースの人工知能用モジュール式アクセラレーションモジュール | |
| CN109848985B (zh) | 一种机器人的图形编程方法、装置及智能终端 | |
| US11941375B2 (en) | Application program for extension and deployment of integrated and exportable cross platform digital twin model | |
| CN108628595A (zh) | 增强现实环境下的控制应用程序的开发 | |
| US10814486B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
| CN104985939B (zh) | 一种激光打标机控制方法和激光打标机 | |
| CN105278402A (zh) | 信息处理装置、信息处理方法以及程序 | |
| EP2898436A1 (en) | Multiple programmable logic controller simulator | |
| CN113703407A (zh) | 基于数字孪生的机器人生产线操作系统构建方法、系统及设备 | |
| JP6576884B2 (ja) | 制御アプリケーション生成支援装置、及び制御アプリケーション生成支援方法 | |
| CN111210012B (zh) | 数据处理方法、装置及相关产品 | |
| CN105467857A (zh) | 电站仿真方法 | |
| Kazala et al. | The most important open technologies for design of cost efficient automation systems | |
| JP2008234394A (ja) | プログラマブルコントローラの高速化方法 | |
| EP1993038A1 (en) | Data processing system and data processing method | |
| EP3663908A1 (en) | Information processing device, information processing method, information processing system, program manufacturing method, and program | |
| JP7151161B2 (ja) | 制御システム、サポート装置、サポートプログラム | |
| CN116434040B (zh) | 一种面向risc-v体系架构的实时目标检测方法及系统 | |
| JP7444407B2 (ja) | プログラム実行システム、制御装置及び制御プログラム | |
| CN116893842A (zh) | 用于从技术安装设施中的工程程序中根除程序错误的方法和系统 | |
| JP2010244376A (ja) | ソフトウェア開発装置、及び、ソフトウェア開発装置を用いたデバッグ方法 | |
| JP7624026B2 (ja) | コントローラデバイスからデジタル化プラットフォームへのランタイムシステムのシームレスな移行のための方法およびシステム | |
| JP2009244952A (ja) | モーションコントローラ、シミュレーション方法及びシミュレーションプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Effective date: 20100319 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110303 |
|
| A131 | Notification of reasons for refusal |
Effective date: 20110315 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
| A02 | Decision of refusal |
Effective date: 20110816 Free format text: JAPANESE INTERMEDIATE CODE: A02 |