JP2017079069A - Plc命令語コンパイルの最適化方法 - Google Patents
Plc命令語コンパイルの最適化方法 Download PDFInfo
- Publication number
- JP2017079069A JP2017079069A JP2016206507A JP2016206507A JP2017079069A JP 2017079069 A JP2017079069 A JP 2017079069A JP 2016206507 A JP2016206507 A JP 2016206507A JP 2016206507 A JP2016206507 A JP 2016206507A JP 2017079069 A JP2017079069 A JP 2017079069A
- Authority
- JP
- Japan
- Prior art keywords
- instruction word
- compilation
- plc
- processing
- processing method
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13004—Programming the plc
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13119—Compiler
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
Description
9 命令語マップテーブル
10 バイナリファイル
16 第1の選択ボックス
17 第2の選択ボックス
Claims (8)
- PLCで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、を含む、PLC命令語コンパイルの最適化方法。 - 前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記速度である場合、所定基準の簡単な命令語処理であるかを判断するステップと、
前記簡単な命令語処理であるかを判断するステップで判断した結果、
簡単な命令語処理である場合には、直接コンパイル処理方式によりアセンブラ言語で命令語コンパイルを行うステップと、
簡単な命令語処理ではない場合には、前記速度に最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項1に記載のPLC命令語コンパイルの最適化方法。 - 前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記サイズである場合、前記サイズに最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップを含む、請求項1に記載のPLC命令語コンパイルの最適化方法。 - 前記命令語コンパイルを行うステップは、
前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式がデフォルトである場合、所定基準の簡単な命令語処理であるかを判断するステップと、
前記簡単な命令語処理であるかを判断するステップで判断した結果、
簡単な命令語処理である場合には、直接コンパイル処理方式により命令語コンパイルを行うステップと、
簡単な命令語処理ではない場合には、前記デフォルトと設定された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記PLCの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項1に記載のPLC命令語コンパイルの最適化方法。 - 前記一つのコンパイル処理方式を判断するステップは、
前記速度に相応する第1の選択ボックス、及び前記サイズに相応する第2の選択ボックスを提供するステップと、
前記第1の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第2の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第1の選択ボックス及び前記第2の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含む、請求項1に記載のPLC命令語コンパイルの最適化方法。 - プログラムサイズまたは前記PLC内の残余データ格納容量に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップをさらに含む、請求項1に記載のPLC命令語コンパイルの最適化方法。
- 前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定する、請求項6に記載のPLC命令語コンパイルの最適化方法。 - 前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
正常状況では前記速度をコンパイル処理方式として選択し、前記PLC内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定する、請求項6に記載のPLC命令語コンパイルの最適化方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150146850A KR102063966B1 (ko) | 2015-10-21 | 2015-10-21 | Plc 명령어 컴파일 최적화 방법 |
KR10-2015-0146850 | 2015-10-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017079069A true JP2017079069A (ja) | 2017-04-27 |
Family
ID=57113187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016206507A Pending JP2017079069A (ja) | 2015-10-21 | 2016-10-21 | Plc命令語コンパイルの最適化方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10445074B2 (ja) |
EP (1) | EP3159792B1 (ja) |
JP (1) | JP2017079069A (ja) |
KR (1) | KR102063966B1 (ja) |
CN (1) | CN107024900B (ja) |
ES (1) | ES2772675T3 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874470B (zh) * | 2017-05-11 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及服务器、计算机存储介质 |
CN108932125B (zh) * | 2018-07-19 | 2021-06-22 | 闫伟 | 可编程逻辑控制器的控制方法 |
CN111026402B (zh) * | 2019-12-09 | 2023-05-12 | 贵阳永青仪电科技有限公司 | 一种编译型plc代码执行效率优选方法 |
KR20210101770A (ko) * | 2020-02-11 | 2021-08-19 | 엘에스일렉트릭(주) | 복수 프로그래밍 언어 지원을 위한 plc 제어방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02133825A (ja) * | 1988-11-15 | 1990-05-23 | Nec Corp | コンパイル方式 |
JPH1195813A (ja) * | 1997-09-19 | 1999-04-09 | Fuji Electric Co Ltd | プログラマブルコントローラ |
JP2003131889A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | オブジェクトプログラム生成方法 |
JP2009223590A (ja) * | 2008-03-15 | 2009-10-01 | Omron Corp | プログラム開発支援装置の動作仕様管理方法 |
JP2009282934A (ja) * | 2008-05-26 | 2009-12-03 | Mitsubishi Electric Corp | プログラマブルコントローラシステム |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287548A (en) * | 1988-02-29 | 1994-02-15 | Allen-Bradley Company, Inc. | Programmable controller having a stored program with both machine language instructions and source code data |
DE4013960A1 (de) * | 1989-05-01 | 1990-11-08 | Honda Motor Co Ltd | Verfahren und vorrichtung zum generieren eines steuerprogramms |
US5285376A (en) * | 1991-10-24 | 1994-02-08 | Allen-Bradley Company, Inc. | Fuzzy logic ladder diagram program for a machine or process controller |
JP3171363B2 (ja) * | 1994-06-14 | 2001-05-28 | 富士電機株式会社 | プログラミング装置 |
DE19712946A1 (de) * | 1996-05-30 | 1997-12-04 | Ibm | Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells |
US5940622A (en) * | 1996-12-11 | 1999-08-17 | Ncr Corporation | Systems and methods for code replicating for optimized execution time |
JP4027482B2 (ja) * | 1997-12-24 | 2007-12-26 | 富士通株式会社 | 暗号復元を行う翻訳装置およびその方法 |
JP3284956B2 (ja) * | 1998-01-26 | 2002-05-27 | 日本電気株式会社 | プログラム変換方法、プログラム変換装置及びプログラム変換プログラムを記憶した記憶媒体 |
KR19990080902A (ko) | 1998-04-23 | 1999-11-15 | 박준일 | 피엘시용 제어코드 프로그래밍 시스템 |
US6922829B2 (en) * | 1999-10-12 | 2005-07-26 | Texas Instruments Incorporated | Method of generating profile-optimized code |
US20020004804A1 (en) * | 2000-03-24 | 2002-01-10 | Georg Muenzel | Industrial automation system graphical programming language storage and transmission |
US7412369B1 (en) * | 2000-06-09 | 2008-08-12 | Stmicroelectronics, Inc. | System and method for designing and optimizing the memory of an embedded processing system |
US6986130B1 (en) * | 2000-07-28 | 2006-01-10 | Sun Microsystems, Inc. | Methods and apparatus for compiling computer programs using partial function inlining |
JP3801545B2 (ja) * | 2002-08-02 | 2006-07-26 | 松下電器産業株式会社 | コンパイラ用プログラム、コンパイラ装置及びコンパイル方法 |
JP4934267B2 (ja) * | 2003-10-17 | 2012-05-16 | パナソニック株式会社 | コンパイラ装置 |
JP4366575B2 (ja) | 2003-11-05 | 2009-11-18 | オムロン株式会社 | ツール |
US7710988B1 (en) * | 2005-03-11 | 2010-05-04 | Xambala Corporation | Method and system for non-deterministic finite automaton filtering |
US20060236310A1 (en) * | 2005-04-19 | 2006-10-19 | Domeika Max J | Methods and apparatus to iteratively compile software to meet user-defined criteria |
JP4528284B2 (ja) | 2006-06-13 | 2010-08-18 | 株式会社日立産機システム | プログラマブルコントローラ |
US20080005473A1 (en) * | 2006-06-30 | 2008-01-03 | Tong Chen | Compiler assisted re-configurable software implemented cache |
US8087012B2 (en) * | 2007-08-21 | 2011-12-27 | International Business Machines Corporation | Eliminating maximum/minimum operations in loop bounds |
US20100125838A1 (en) * | 2008-11-19 | 2010-05-20 | Nokia Corporation | Method and Apparatus for Optimizing a Program |
WO2011120123A1 (en) * | 2010-03-31 | 2011-10-06 | Irdeto Canada Corporation | A system and method for encapsulating and enabling protection through diverse variations in software libraries |
US8762964B2 (en) * | 2010-12-17 | 2014-06-24 | Cisco Technology, Inc. | Optimizing symbol manipulation language-based executable applications for distributed execution |
CN102566483A (zh) * | 2010-12-21 | 2012-07-11 | 鸿富锦精密工业(深圳)有限公司 | 可编程逻辑控制系统 |
US8504176B2 (en) * | 2011-03-15 | 2013-08-06 | Omron Corporation | CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC |
EP2541348B1 (de) * | 2011-06-28 | 2017-03-22 | Siemens Aktiengesellschaft | Verfahren und Programmiersystem zur Programmierung einer Automatisierungskomponente |
CN102393670A (zh) * | 2011-10-24 | 2012-03-28 | 杭州电子科技大学 | 一种梯形图内嵌高级语言进行混合编程的实现方法 |
US9134980B1 (en) * | 2012-05-01 | 2015-09-15 | Amazon Technologies, Inc. | Compiler optimization in a computing environment |
KR20130132340A (ko) | 2012-05-25 | 2013-12-04 | 김민규 | 마이콤용 프로그래밍 장치 |
CN102750177B (zh) * | 2012-06-19 | 2014-12-31 | 武汉凌控自动化技术有限公司 | 一种使用编译器的脚本实现方法 |
KR101398718B1 (ko) * | 2012-06-29 | 2014-05-27 | 엘에스산전 주식회사 | 명령어 처리 장치 및 방법 |
TWI489232B (zh) * | 2012-11-14 | 2015-06-21 | Inst Information Industry | 遠端監控系統及方法及其記錄媒體 |
CN103914018A (zh) | 2012-12-31 | 2014-07-09 | 施耐德电器工业公司 | 可编程控制器的编程辅助系统及方法 |
JP2015125713A (ja) | 2013-12-27 | 2015-07-06 | 富士電機株式会社 | プログラマブルコントローラ・システム、その支援装置、プログラマブルコントローラ、プログラム |
US9286089B2 (en) * | 2014-01-24 | 2016-03-15 | International Business Machines Corporation | Just-in time expensive compilation hints |
JP2015194881A (ja) * | 2014-03-31 | 2015-11-05 | 富士通株式会社 | コンパイル装置、コンパイラプログラム、コンパイル方法 |
JP6572610B2 (ja) * | 2015-04-28 | 2019-09-11 | 富士通株式会社 | 情報処理装置、コンパイル方法およびコンパイルプログラム |
US9626155B2 (en) * | 2015-04-28 | 2017-04-18 | Qualcomm Incorporated | Determining recommended optimization strategies for software development |
US10409570B2 (en) * | 2016-10-19 | 2019-09-10 | Nxp Usa, Inc. | Feedback directed program stack optimization |
-
2015
- 2015-10-21 KR KR1020150146850A patent/KR102063966B1/ko active IP Right Grant
-
2016
- 2016-10-07 EP EP16192816.3A patent/EP3159792B1/en active Active
- 2016-10-07 ES ES16192816T patent/ES2772675T3/es active Active
- 2016-10-20 CN CN201610916790.7A patent/CN107024900B/zh not_active Expired - Fee Related
- 2016-10-21 US US15/331,523 patent/US10445074B2/en not_active Expired - Fee Related
- 2016-10-21 JP JP2016206507A patent/JP2017079069A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02133825A (ja) * | 1988-11-15 | 1990-05-23 | Nec Corp | コンパイル方式 |
JPH1195813A (ja) * | 1997-09-19 | 1999-04-09 | Fuji Electric Co Ltd | プログラマブルコントローラ |
JP2003131889A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | オブジェクトプログラム生成方法 |
JP2009223590A (ja) * | 2008-03-15 | 2009-10-01 | Omron Corp | プログラム開発支援装置の動作仕様管理方法 |
JP2009282934A (ja) * | 2008-05-26 | 2009-12-03 | Mitsubishi Electric Corp | プログラマブルコントローラシステム |
Non-Patent Citations (1)
Title |
---|
矢沢久雄: "Visual Basicの向こうに見えるWindows:第12回(最終回)VBプログラムはなぜ遅いの", 日経ソフトウェア, vol. 第2巻,第6号(通巻12号), JPN6017043673, 24 May 1999 (1999-05-24), JP, pages p.129 * |
Also Published As
Publication number | Publication date |
---|---|
CN107024900A (zh) | 2017-08-08 |
US20170115972A1 (en) | 2017-04-27 |
KR102063966B1 (ko) | 2020-01-09 |
CN107024900B (zh) | 2020-06-19 |
US10445074B2 (en) | 2019-10-15 |
KR20170046864A (ko) | 2017-05-04 |
ES2772675T3 (es) | 2020-07-08 |
EP3159792B1 (en) | 2019-11-27 |
EP3159792A1 (en) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017079069A (ja) | Plc命令語コンパイルの最適化方法 | |
JP5039428B2 (ja) | プログラマブルコントローラ及びplcシステム | |
CN109799971B (zh) | 一种文件生成装置和方法 | |
US10295985B2 (en) | Program processing apparatus and program | |
US20190196798A1 (en) | Executable program creation device, executable program creation method, and executable program creation program | |
JP2019016037A (ja) | プログラム作成装置 | |
KR102091134B1 (ko) | Plc의 브랜치 명령어 처리 방법 | |
JP2009157533A (ja) | プログラマブルコントローラシステム | |
JP5849592B2 (ja) | プログラマブルコントローラシステム、そのプログラミング装置、プログラマブルコントローラ、プログラム、デバッグ方法 | |
JP5619331B1 (ja) | プログラミング装置及び実行コード生成方法 | |
JP6541902B1 (ja) | プログラム管理システム、プログラミング支援装置、プログラム管理方法、およびプログラミング支援プログラム | |
JP2008276381A (ja) | プログラマブルコントローラのダイアグラムのデバッグシステム、そのプログラミング装置及びそのプログラム | |
KR101398718B1 (ko) | 명령어 처리 장치 및 방법 | |
JP2008198143A (ja) | プログラマブルコントローラ用プログラム作成支援装置およびプログラム作成支援方法 | |
JP2009223590A (ja) | プログラム開発支援装置の動作仕様管理方法 | |
JP2011110687A (ja) | ロボットコントロール・システム、ロボットコントロール方法 | |
JP2019159478A (ja) | 制御装置、データ作成装置、制御方法及び制御プログラム | |
JP4877257B2 (ja) | プログラマブルコントローラ、プログラマブルコントローラ支援装置、及びプログラマブルコントローラシステム | |
JP6295914B2 (ja) | プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ | |
JP2009176178A (ja) | Plcのグローバル変数定義方式 | |
JP5832368B2 (ja) | エンジニアリング装置 | |
JP2009064207A (ja) | コンパイル装置 | |
JP7208441B1 (ja) | Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム | |
US20160209835A1 (en) | Control system having function for optimizing control software of numerical controller in accordance with machining program | |
JP2009098963A (ja) | モジュール自動生成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161021 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20161104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180220 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180710 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181112 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20181119 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20181211 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190115 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20190125 |