JP5726106B2 - Embedded system controller - Google Patents

Embedded system controller Download PDF

Info

Publication number
JP5726106B2
JP5726106B2 JP2012040949A JP2012040949A JP5726106B2 JP 5726106 B2 JP5726106 B2 JP 5726106B2 JP 2012040949 A JP2012040949 A JP 2012040949A JP 2012040949 A JP2012040949 A JP 2012040949A JP 5726106 B2 JP5726106 B2 JP 5726106B2
Authority
JP
Japan
Prior art keywords
program
middleware
execution
graphical
control device
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.)
Expired - Fee Related
Application number
JP2012040949A
Other languages
Japanese (ja)
Other versions
JP2013178606A (en
Inventor
浩 茂木
浩 茂木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Heavy Industries Ltd
Original Assignee
Sumitomo Heavy Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sumitomo Heavy Industries Ltd filed Critical Sumitomo Heavy Industries Ltd
Priority to JP2012040949A priority Critical patent/JP5726106B2/en
Publication of JP2013178606A publication Critical patent/JP2013178606A/en
Application granted granted Critical
Publication of JP5726106B2 publication Critical patent/JP5726106B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、組み込みシステムの制御装置に関する。   The present invention relates to an embedded system control device.

現在、多くの産業機器や民生機器に組み込みシステムが使用されている。組み込みシステムは特定の機能を実現するためのコンピュータシステムの総称であり、特に特定の機能を実現するための必要十分条件を満たす、選択および交換不可能なハードウエアとプログラムで構成されるコンピュータシステムであると言ってもよい。   Currently, embedded systems are used in many industrial and consumer devices. An embedded system is a generic term for computer systems that realize specific functions, and is a computer system that consists of hardware and programs that cannot be selected and replaced, and that satisfy the necessary and sufficient conditions for realizing specific functions. It can be said that there is.

組み込みシステムのソフトウエア開発の流れの一例は大まかには以下の通りである。(1)プログラム構成の作成(2)プログラムのモジュール化と詳細仕様の作成(3)モジュールごとの設計(4)試作機による各モジュールの検証(5)モジュールごとの変更・修正(6)試作機によるプログラム全体の検証(7)プログラム全体の最終的な変更・修正。   An example of the flow of software development for embedded systems is roughly as follows. (1) Creation of program configuration (2) Modularization of program and creation of detailed specifications (3) Design for each module (4) Verification of each module by prototype (5) Modification and correction for each module (6) Prototype (7) Final change / correction of entire program.

組み込みシステムのソフトウエアの開発は、通常、PC(Personal Computer)などを使用して行われ、開発されたソフトウエアはPCとは異なるターゲットハードウエアに導入され実行される。ソフトウエアの開発環境は一般に、C言語などの高級言語やアセンブリ言語によりソースプログラムを記述するためのエディタと、ソースプログラムをターゲットハードウエアのCPU(Central Processing Unit)に対応した機械語プログラムに変換するためのコンパイラと、を有する。   Development of software for an embedded system is usually performed using a PC (Personal Computer) or the like, and the developed software is introduced and executed on target hardware different from the PC. The software development environment is generally an editor for describing a source program in a high-level language such as C language or an assembly language, and the source program is converted into a machine language program corresponding to the CPU (Central Processing Unit) of the target hardware. And a compiler for.

本出願人は、プログラム開発効率の向上を目指して、特許文献1に記載される図的プログラム開発環境を提案している。この環境では、制御内容の図式化を伴う図的プログラミング言語が使用されている。   The present applicant has proposed a graphical program development environment described in Patent Document 1 with the aim of improving program development efficiency. In this environment, a graphical programming language with a graphical representation of control content is used.

特開2009−271768号公報JP 2009-271768 A

三菱汎用シーケンサ C言語コントローラユニット クイックスタートガイド、[online]、三菱電機株式会社、インターネット<URL:http://wwwf2.mitsubishielectric.co.jp/melfansweb/document/catalog/plc/l08206/l08206a.pdf>Mitsubishi general-purpose sequencer C language controller unit Quick Start Guide, [online], Mitsubishi Electric Corporation, Internet <URL: http://wwwf2.mitsubishielectric.co.jp/melfansweb/document/catalog/plc/l08206/l08206a.pdf>

このように組み込みシステムのソフトウエア開発では多くの種類のプログラミング言語が利用可能であり、それらが混在する状況も発生しうる。多数のプログラミング言語により記述された多数のプログラムから、ターゲットにダウンロードすべきプログラムを生成するためのひとつの手法は、リンケージエディタを使用してそれらのプログラムを静的にリンクさせることである。すなわち、多数のプログラムのそれぞれを対応するコンパイラまたはアセンブラにより処理し、得られるオブジェクトファイル(中間ファイル)全てをひとつのファイル(実行ファイル)に結合する。   As described above, many kinds of programming languages can be used in software development of embedded systems, and a situation in which they are mixed may occur. One technique for generating a program to be downloaded to a target from a number of programs written in a number of programming languages is to link them statically using a linkage editor. That is, each of a large number of programs is processed by a corresponding compiler or assembler, and all the obtained object files (intermediate files) are combined into one file (executable file).

例えば、C言語とアセンブリ言語とが混在する場合、汎用のエディタを使用して、C言語により記述されたCソースプログラムとアセンブリ言語により記述されたアセンブラソースプログラムとを作成する。CソースプログラムをC言語のコンパイラで処理することにより第1中間ファイルを生成する。また、アセンブラソースプログラムをアセンブラで処理することにより、第2中間ファイルを生成する。そしてリンケージエディタを使用して第1中間ファイルと第2中間ファイルとを結合し、ひとつの実行ファイルを生成する。   For example, when C language and assembly language are mixed, a general-purpose editor is used to create a C source program written in C language and an assembler source program written in assembly language. A first intermediate file is generated by processing the C source program with a C language compiler. Further, the second intermediate file is generated by processing the assembler source program by the assembler. Then, the first intermediate file and the second intermediate file are combined using the linkage editor to generate one executable file.

しかしながらこの場合、生成される実行ファイルは一括となり各モジュールの差し替えは難しい。したがって、オプション等のモジュール化は困難である。   However, in this case, the generated executable files are collectively and it is difficult to replace each module. Therefore, modularization of options and the like is difficult.

また例えば、特許文献1に記載されるような図的プログラミング言語を主として使用する開発環境において、C言語により開発された実績のあるプログラムを再利用しようとする場合、ユーザはそのプログラムを図的プログラミング言語により書き直す必要がある。しかしながら、このような書き直しは手間であり、また書き直す過程でミスが発生しうる。したがって、ユーザは、図的プログラミング言語以外のC言語等により記述されたプログラムを資産として保有していても、それを有効に活用しにくい。   Also, for example, in a development environment that mainly uses a graphical programming language as described in Patent Document 1, when trying to reuse a program that has been developed in C language, the user uses the graphical programming program. It is necessary to rewrite by language. However, such rewriting is troublesome, and mistakes can occur during the rewriting process. Therefore, even if the user holds a program written in C language or the like other than the graphical programming language as an asset, it is difficult to effectively use it.

このような課題に対して、例えば非特許文献1に記載されるように組み込みシステムに多数のCPUを設けること(マルチCPUシステム)で対応することも考えられる。しかしながらこの場合、各言語を実行するユニットは分離されており、それらを密に結合させる構成をとることは困難である。したがって、複数の言語間での高速な相互アクセスを実現しにくい。   For example, as described in Non-Patent Document 1, it is conceivable to provide a large number of CPUs in an embedded system (multi-CPU system). However, in this case, the units that execute each language are separated, and it is difficult to adopt a configuration in which they are closely coupled. Therefore, it is difficult to realize high-speed mutual access between a plurality of languages.

本発明はこうした課題に鑑みてなされたものであり、その目的は、組み込みシステムのソフトウエアの開発環境において図的プログラミング言語とC言語等のテキスト形式のプログラミング言語とを併用可能とする実行環境の提供にある。   The present invention has been made in view of these problems, and an object of the present invention is to provide an execution environment in which a graphical programming language and a text programming language such as C language can be used in an embedded system software development environment. On offer.

本発明のある態様は制御装置に関する。この制御装置は、組み込みシステムの制御装置であって、制御内容の図式化を伴うプログラミング言語を使用して生成され、本制御装置によって実行可能な第1プログラムが配置される第1領域と、テキスト形式のプログラミング言語を使用して生成され、本制御装置によって実行可能な第2プログラムが配置される第2領域と、第1プログラムのリソースに関する第1リソース情報および第2プログラムのリソースに関する第2リソース情報を保持するミドルウエアが配置される第3領域と、を含むメモリと、第1プログラムおよび第2プログラムによって共用される演算装置と、を備える。第1プログラムまたは第2プログラムのいずれか一方のプログラムは他方のプログラムのリソースを使用する。ミドルウエアは、一方のプログラムからの他方のプログラムのリソースへのアクセスを仲介する。   One embodiment of the present invention relates to a control device. This control device is a control device of an embedded system, which is generated using a programming language accompanied by a graphical representation of control contents, and has a first area in which a first program executable by the control device is arranged, and a text A second area in which a second program that is generated using a programming language in the form and is executable by the present control device is arranged; first resource information relating to resources of the first program; and second resources relating to resources of the second program And a memory including a third area in which middleware for holding information is arranged, and an arithmetic unit shared by the first program and the second program. Either the first program or the second program uses the resources of the other program. The middleware mediates access from one program to the other program's resources.

この態様によると、制御装置において第1プログラムと第2プログラムとを共存させることができる。   According to this aspect, the first program and the second program can coexist in the control device.

なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements, or those obtained by replacing the constituent elements and expressions of the present invention with each other between apparatuses, methods, systems, computer programs, recording media storing computer programs, and the like are also included in the present invention. It is effective as an embodiment of

本発明によれば、組み込みシステムのソフトウエアの開発環境において図的プログラミング言語とC言語等のテキスト形式のプログラミング言語とを併用可能とする実行環境を提供できる。   According to the present invention, it is possible to provide an execution environment in which a graphical programming language and a text programming language such as C language can be used together in a software development environment of an embedded system.

実施の形態に係る組み込みシステムの制御装置に導入されるプログラムの開発から実装までの流れを示す模式図である。It is a schematic diagram which shows the flow from the development of the program introduced into the control apparatus of the embedded system which concerns on embodiment to mounting. 本実施の形態に係る技術的思想が適用された無人搬送台車の制御部システム構成を示す模式図である。It is a schematic diagram which shows the control part system structure of the automatic guided vehicle to which the technical idea which concerns on this Embodiment was applied. 本実施の形態に係る技術的思想が適用されない無人搬送台車の制御部システム構成を示す模式図である。It is a schematic diagram which shows the control part system structure of the automatic guided vehicle to which the technical idea which concerns on this Embodiment is not applied. 本実施の形態に係る技術的思想が適用された射出成形機のソフトウエア構成を示す模式図である。It is a schematic diagram which shows the software structure of the injection molding machine to which the technical idea which concerns on this Embodiment was applied. 本実施の形態に係る技術的思想が適用されない射出成形機のソフトウエア構成を示す模式図である。It is a schematic diagram which shows the software structure of the injection molding machine to which the technical idea which concerns on this Embodiment is not applied. 製品運用時の実行形態を示す模式図である。It is a schematic diagram which shows the execution form at the time of product operation.

以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。   Hereinafter, the same or equivalent components, members, and processes shown in the drawings are denoted by the same reference numerals, and repeated description is appropriately omitted.

実施の形態に係る組み込みシステムの制御装置には、図的プログラミング言語を使用して生成される実行プログラムとC言語等のテキスト形式のプログラミング言語を使用して生成される実行プログラムとの間の相互のリソース(例えば、変数や関数など)アクセスを提供するミドルウエアが導入される。このミドルウエアは、各実行プログラムのメモリ配置を実施することにより、両方の実行プログラムのリソース情報を管理する。   The embedded system control apparatus according to the embodiment includes a mutual program between an execution program generated using a graphical programming language and an execution program generated using a text programming language such as C language. Middleware that provides access to other resources (for example, variables and functions) is introduced. This middleware manages the resource information of both execution programs by implementing the memory allocation of each execution program.

これにより、開発環境の側では、各プログラミング言語により記述されたソースプログラムを実行ファイルに変換し、そのまま制御装置にダウンロードすることが可能となる。その結果、C言語で記述されたソースプログラムを図的プログラミング言語で書き直す必要がなくなるので、ユーザは図的プログラミング言語を使用することによるプログラム開発の高効率化の恩恵を享受しつつ、既存のプログラム資産をより有効に活用できる。   As a result, on the development environment side, the source program described in each programming language can be converted into an executable file and downloaded to the control device as it is. As a result, there is no need to rewrite the source program written in the C language in the graphical programming language, so that the user can enjoy the benefits of improving the efficiency of program development by using the graphical programming language, and the existing program. Assets can be used more effectively.

図1は、実施の形態に係る組み込みシステムの制御装置100に導入されるプログラムの開発から実装までの流れを示す模式図である。この流れはホストPC上の開発環境2とターゲット上の実行環境4とにより実現される。   FIG. 1 is a schematic diagram showing a flow from development to implementation of a program installed in the control device 100 of the embedded system according to the embodiment. This flow is realized by the development environment 2 on the host PC and the execution environment 4 on the target.

開発環境2は、図的エディタ6と、図的コンパイラ10と、第1Cコンパイラ14と、Cエディタ18と、第2Cコンパイラ22と、を含む。
図的エディタ6は制御内容の図式化を伴う図的プログラミング言語を使用するエディタである。ユーザは、図的エディタ6を使用して、所望の制御内容が記述された図的ソースプログラム8を生成する。この際、ユーザは、図的ソースプログラム8に第2Cソースプログラム20のリソースへの参照を含めてもよい。図的コンパイラ10は図的ソースプログラム8をC言語で記述された第1Cソースプログラム12に変換する。図的エディタ6、図的ソースプログラム8、図的コンパイラ10に係る処理は、例えば特許文献1に記載される技術に基づき実現されてもよい。
The development environment 2 includes a graphical editor 6, a graphical compiler 10, a first C compiler 14, a C editor 18, and a second C compiler 22.
The graphical editor 6 is an editor that uses a graphical programming language with a graphical representation of control contents. The user uses the graphical editor 6 to generate a graphical source program 8 in which desired control contents are described. At this time, the user may include a reference to the resource of the second C source program 20 in the graphical source program 8. The graphical compiler 10 converts the graphical source program 8 into a first C source program 12 written in C language. The processing related to the graphical editor 6, the graphical source program 8, and the graphical compiler 10 may be realized based on, for example, the technique described in Patent Document 1.

第1Cコンパイラ14は公知のC言語コンパイラであり、第1Cソースプログラム12を、制御装置100で実行可能な形式のオブジェクトファイルである図的実行ファイル16に変換する。図的コンパイラ10および第1Cコンパイラ14は協働して、図的実行ファイル16のリソースに関する図的リソース情報を図的実行ファイル16に組み込む。   The first C compiler 14 is a known C language compiler, and converts the first C source program 12 into a graphical execution file 16 that is an object file in a format executable by the control device 100. The graphical compiler 10 and the first C compiler 14 cooperate to incorporate graphical resource information regarding the resources of the graphical executable file 16 into the graphical executable file 16.

Cエディタ18は公知のテキストエディタである。ユーザはCエディタ18を使用して所望の制御内容をC言語で記述した第2Cソースプログラム20を生成する。
第2Cコンパイラ22は公知のC言語コンパイラであり、第2Cソースプログラム20を、制御装置100で実行可能な形式のオブジェクトファイルであるC実行ファイル24に変換する。第2Cコンパイラ22は、C実行ファイル24のシンボルに関するシンボル情報(例えば、シンボルテーブル)をC実行ファイル24に組み込む。
The C editor 18 is a known text editor. The user uses the C editor 18 to generate the second C source program 20 in which desired control contents are described in C language.
The second C compiler 22 is a known C language compiler, and converts the second C source program 20 into a C execution file 24 that is an object file in a format executable by the control device 100. The second C compiler 22 incorporates symbol information (for example, a symbol table) regarding the symbols of the C execution file 24 into the C execution file 24.

実行環境4は実施の形態に係る組み込みシステムの制御装置100を含む。制御装置100は、メモリ102と、CPU104と、入出力インタフェース106と、それらを制御装置100内で互いに接続する制御装置バス108と、を備える。   The execution environment 4 includes the control device 100 of the embedded system according to the embodiment. The control device 100 includes a memory 102, a CPU 104, an input / output interface 106, and a control device bus 108 that connects them to each other within the control device 100.

メモリ102は、図的実行ファイル16に対応する図的実行プログラム110が配置される第1領域と、C実行ファイル24に対応するC実行プログラム114が配置される第2領域と、図的実行プログラム110の図的リソース情報およびC実行プログラム114のシンボル情報を保持するミドルウエア112が配置される第3領域と、を含む。   The memory 102 includes a first area in which the graphic execution program 110 corresponding to the graphic execution file 16 is arranged, a second area in which the C execution program 114 corresponding to the C execution file 24 is arranged, and the graphic execution program A third area in which middleware 112 holding 110 graphical resource information and C execution program 114 symbol information is arranged.

CPU104は図的実行プログラム110、C実行プログラム114およびミドルウエア112によって共用され、そのそれぞれに基づいて処理動作を行う。CPU104は、図的実行プログラム110、C実行プログラム114およびミドルウエア112のそれぞれに含まれる命令の流れにしたがって所定の処理を行う。
入出力インタフェース106は、制御装置100と制御装置100の外部の装置との間のデータの入出力を制御する。
The CPU 104 is shared by the graphical execution program 110, the C execution program 114, and the middleware 112, and performs a processing operation based on each of them. The CPU 104 performs predetermined processing according to the flow of instructions included in each of the graphical execution program 110, the C execution program 114, and the middleware 112.
The input / output interface 106 controls data input / output between the control device 100 and a device external to the control device 100.

以下、(1)図的実行プログラム110がC実行プログラム114のリソースを使用する場合、(2)C実行プログラム114が図的実行プログラム110のリソースを使用する場合、のそれぞれについてミドルウエア112の機能を説明する。   Hereinafter, the function of the middleware 112 for each of (1) when the graphical execution program 110 uses the resource of the C execution program 114 and (2) when the C execution program 114 uses the resource of the graphical execution program 110 Will be explained.

(1)図的実行プログラム110がC実行プログラム114のリソースを使用する場合、ミドルウエア112は図的実行プログラム110からのC実行プログラム114のリソースへのアクセスを仲介する。   (1) When the graphical execution program 110 uses the resource of the C execution program 114, the middleware 112 mediates access to the resource of the C execution program 114 from the graphical execution program 110.

C実行ファイル24が制御装置100にダウンロードされてくると、ミドルウエア112は、C実行ファイル24に対応するC実行プログラム114をメモリ102の第2領域に配置する。この際、ミドルウエア112は、C実行ファイル24に組み込まれているC実行ファイル24のシンボル情報を取得する。   When the C execution file 24 is downloaded to the control device 100, the middleware 112 places the C execution program 114 corresponding to the C execution file 24 in the second area of the memory 102. At this time, the middleware 112 acquires symbol information of the C execution file 24 incorporated in the C execution file 24.

図的実行ファイル16が制御装置100にダウンロードされてくると、ミドルウエア112は、図的実行ファイル16に対応する図的実行プログラム110をメモリ102の第1領域に配置する。この際、ミドルウエア112は、図的実行プログラム110におけるC実行プログラム114のリソースへのアクセスを、対応するシンボル情報で置き換える。すなわち、ミドルウエア112は、図的実行プログラム110にC実行プログラム114のリソースへのアクセスが含まれている場合、取得されたシンボル情報のなかからそのリソースに対応するシンボル情報を抽出する。ミドルウエア112は、図的実行プログラム110に含まれる、C実行プログラム114のリソースへのアクセスを抽出されたシンボル情報で置き換える。   When the graphical execution file 16 is downloaded to the control device 100, the middleware 112 places the graphical execution program 110 corresponding to the graphical execution file 16 in the first area of the memory 102. At this time, the middleware 112 replaces the access to the resource of the C execution program 114 in the graphical execution program 110 with the corresponding symbol information. That is, when the graphical execution program 110 includes access to the resource of the C execution program 114, the middleware 112 extracts symbol information corresponding to the resource from the acquired symbol information. The middleware 112 replaces the access to the resource of the C execution program 114 included in the graphical execution program 110 with the extracted symbol information.

このように、ミドルウエア112は図的実行ファイル16のダウンロードの段階で、図的実行プログラム110からのC実行プログラム114のリソースへのアクセスを仲介する。なお、制御装置100において図的実行プログラム110が実行される際は、図的実行プログラム110はミドルウエア112に依らずに直接C実行プログラム114のリソースにアクセスする。   Thus, the middleware 112 mediates access to the resources of the C execution program 114 from the graphic execution program 110 at the stage of downloading the graphic execution file 16. When the graphical execution program 110 is executed in the control device 100, the graphical execution program 110 directly accesses the resources of the C execution program 114 without depending on the middleware 112.

(2)C実行プログラム114が図的実行プログラム110のリソースを使用する場合、ミドルウエア112はC実行プログラム114からの図的実行プログラム110のリソースへのアクセスを仲介する。   (2) When the C execution program 114 uses the resource of the graphic execution program 110, the middleware 112 mediates access to the resource of the graphic execution program 110 from the C execution program 114.

図的実行ファイル16が制御装置100にダウンロードされてくると、ミドルウエア112は、図的実行ファイル16に対応する図的実行プログラム110をメモリ102の第1領域に配置する。この際、ミドルウエア112は、図的実行ファイル16に組み込まれている図的実行ファイル16の図的リソース情報を取得する。   When the graphical execution file 16 is downloaded to the control device 100, the middleware 112 places the graphical execution program 110 corresponding to the graphical execution file 16 in the first area of the memory 102. At this time, the middleware 112 acquires graphic resource information of the graphic execution file 16 incorporated in the graphic execution file 16.

ミドルウエア112は、取得された図的リソース情報に関連するアプリケーションプログラミングインタフェース(以下、APIと称す)を含む。APIは、取得された図的リソース情報に基づき、図的実行プログラム110以外のプログラムからの図的実行プログラム110のリソースへのアクセスを可能とする。   The middleware 112 includes an application programming interface (hereinafter referred to as API) related to the acquired graphical resource information. The API enables access to the resources of the graphic execution program 110 from programs other than the graphic execution program 110 based on the acquired graphic resource information.

C実行ファイル24が制御装置100にダウンロードされてくると、ミドルウエア112は、C実行ファイル24に対応するC実行プログラム114をメモリ102の第2領域に配置する。制御装置100においてC実行プログラム114が実行される際、C実行プログラム114は、APIを通して図的実行プログラム110のリソースにアクセスする。   When the C execution file 24 is downloaded to the control device 100, the middleware 112 places the C execution program 114 corresponding to the C execution file 24 in the second area of the memory 102. When the C execution program 114 is executed in the control device 100, the C execution program 114 accesses the resources of the graphical execution program 110 through the API.

本実施の形態に係る制御装置100によると、図的プログラミング言語により開発された図的実行プログラム110とC言語により開発されたC実行プログラム114とを同一の実行環境4で動作させることができる。また、それらの実行プログラム110、114の間で情報を共有させることができる。また、それらの実行プログラム110、114の間での、実行単位の呼び出しが可能となる。   According to the control device 100 according to the present embodiment, the graphic execution program 110 developed by the graphic programming language and the C execution program 114 developed by the C language can be operated in the same execution environment 4. Information can be shared between the execution programs 110 and 114. In addition, execution units can be called between the execution programs 110 and 114.

また、C言語をベースとした開発環境から図的プログラミング言語をベースとしたより高効率の開発環境へと移行する途中においては、開発環境に両言語が混在することが多い。そこで本実施の形態に係る制御装置100を使用すると、そのような開発環境でもスムーズにプログラムの開発を進めることができる。   Further, during the transition from a development environment based on the C language to a more efficient development environment based on a graphical programming language, both languages are often mixed in the development environment. Therefore, when the control device 100 according to the present embodiment is used, the program can be smoothly developed even in such a development environment.

また、本実施の形態に係る制御装置100では、図的実行プログラム110とC実行プログラム114とはCPU104を共用しており、密結合が実現されている。したがって、それぞれが別のCPUを使用するような粗結合の場合と比較して、一方のプログラムから他方のプログラムのリソースにアクセスする際にCPUやメモリを切り替えなくてもよいのでより高速な動作が可能となる。   Further, in the control device 100 according to the present embodiment, the graphic execution program 110 and the C execution program 114 share the CPU 104, thereby realizing tight coupling. Therefore, compared to the case of coarse coupling in which each uses a different CPU, it is not necessary to switch the CPU and memory when accessing the resource of the other program from one program, so that a higher speed operation is possible. It becomes possible.

(無人搬送台車への応用)
図2は、本実施の形態に係る技術的思想が適用された無人搬送台車の制御部システム構成を示す模式図である。第1コントローラ202および第2コントローラ204はシステムバス206に接続されている。第1コントローラ202には、C言語を使用して生成されたシーケンス制御プログラム208と、図的プログラミング言語を使用して生成された移載系サーボ制御プログラム210と、ミドルウエア214と、がインストールされている。
(Application to automated guided vehicle)
FIG. 2 is a schematic diagram showing a control unit system configuration of the automatic guided vehicle to which the technical idea according to the present embodiment is applied. The first controller 202 and the second controller 204 are connected to the system bus 206. The first controller 202 is installed with a sequence control program 208 generated using C language, a transfer servo control program 210 generated using a graphical programming language, and middleware 214. ing.

シーケンス制御プログラム208および移載系サーボ制御プログラム210は第1コントローラ202内の同じCPU(不図示)を使用する。ミドルウエア214は、シーケンス制御プログラム208と移載系サーボ制御プログラム210との間のリソースの相互アクセスを制御する。これにより、シーケンス制御プログラム208と移載系サーボ制御プログラム210とが同じ第1コントローラ202内に共存することが可能となっている。
第2コントローラ204には、図的プログラミング言語を使用して生成された走行系サーボ制御プログラム212がインストールされている。
The sequence control program 208 and the transfer system servo control program 210 use the same CPU (not shown) in the first controller 202. The middleware 214 controls mutual access of resources between the sequence control program 208 and the transfer servo control program 210. Thereby, the sequence control program 208 and the transfer servo control program 210 can coexist in the same first controller 202.
A traveling system servo control program 212 generated using a graphical programming language is installed in the second controller 204.

図3は、本実施の形態に係る技術的思想が適用されない無人搬送台車の制御部システム構成を示す模式図である。第1コントローラ302、第2コントローラ304および第3コントローラ306はシステムバス308に接続されている。第1コントローラ302には、図的プログラミング言語を使用して生成された移載系サーボ制御プログラム310がインストールされている。第2コントローラ304には、図的プログラミング言語を使用して生成された走行系サーボ制御プログラム314がインストールされている。第3コントローラ306には、C言語を使用して生成されたシーケンス制御プログラム312がインストールされている。   FIG. 3 is a schematic diagram showing a control unit system configuration of the automatic guided vehicle to which the technical idea according to the present embodiment is not applied. The first controller 302, the second controller 304, and the third controller 306 are connected to the system bus 308. A transfer servo control program 310 generated using a graphical programming language is installed in the first controller 302. A traveling system servo control program 314 generated using a graphical programming language is installed in the second controller 304. A sequence control program 312 generated using C language is installed in the third controller 306.

図3に示される構成では図2に示されるようなミドルウエアが存在しないので、移載系サーボ制御プログラム310とシーケンス制御プログラム312とを同じコントローラ上で動作させることはできず、それぞれ別個のコントローラにインストールすることとなる。あるいはまた、シーケンス制御プログラム312を図的プログラミング言語により書き直す必要がある。   Since the middleware as shown in FIG. 2 does not exist in the configuration shown in FIG. 3, the transfer servo control program 310 and the sequence control program 312 cannot be operated on the same controller, and separate controllers are used. Will be installed on. Alternatively, the sequence control program 312 needs to be rewritten using a graphical programming language.

このように、本実施の形態に係る技術的思想が適用された場合、言語の異なるプログラムを同じコントローラ上で動作させることができるので、必要なコントローラの数を低減できる。その結果、無人搬送台車の原価を低減できる。また、C言語を使用して生成された他の実績のあるプログラムを導入する場合に新たにコントローラを用意する必要はない。   As described above, when the technical idea according to the present embodiment is applied, programs having different languages can be operated on the same controller, so that the number of necessary controllers can be reduced. As a result, the cost of the automatic guided vehicle can be reduced. In addition, it is not necessary to prepare a new controller when introducing other proven programs generated using the C language.

(射出成形機への応用)
図4は、本実施の形態に係る技術的思想が適用された射出成形機のソフトウエア構成を示す模式図である。このソフトウエア構成は、OS(Operating System)402と、ミドルウエア404と、共通制御プログラム406と、オプションAプログラム408と、オプションBプログラム410と、オプションCプログラム412と、を有する。ミドルウエア404はOS402上で動作する。共通制御プログラム406、オプションAプログラム408、オプションBプログラム410、オプションCプログラム412はいずれもミドルウエア404上で動作する。共通制御プログラム406はC言語を使用して生成され、オプションAプログラム408、オプションBプログラム410、オプションCプログラム412はいずれも図的プログラミング言語を使用して生成される。
(Application to injection molding machines)
FIG. 4 is a schematic diagram showing a software configuration of an injection molding machine to which the technical idea according to the present embodiment is applied. This software configuration includes an OS (Operating System) 402, middleware 404, a common control program 406, an option A program 408, an option B program 410, and an option C program 412. The middleware 404 operates on the OS 402. The common control program 406, option A program 408, option B program 410, and option C program 412 all operate on the middleware 404. The common control program 406 is generated using the C language, and the option A program 408, the option B program 410, and the option C program 412 are all generated using the graphical programming language.

図4に示されるソフトウエア構成に対して、例えばオプションCプログラム412を交換する際には、オプションCプログラム412を削除し、図的プログラミング言語を使用して生成されたオプションC’プログラム414を新たにインストールすればよい。図4に示されるソフトウエア構成に対して、例えばオプションを追加する際には、図的プログラミング言語を使用して生成されたオプションDプログラム416を新たにインストールすればよい。   For example, when the option C program 412 is replaced with the software configuration shown in FIG. 4, the option C program 412 is deleted, and the option C ′ program 414 generated using the graphical programming language is newly added. Just install it. For example, when an option is added to the software configuration shown in FIG. 4, an option D program 416 generated using a graphical programming language may be newly installed.

図5は、本実施の形態に係る技術的思想が適用されない射出成形機のソフトウエア構成を示す模式図である。このソフトウエア構成は、OS502と、共通制御プログラム504と、オプションAプログラム506と、オプションBプログラム508と、オプションCプログラム510と、を有する。共通制御プログラム504はOS502上で動作する。オプションAプログラム506、オプションBプログラム508、オプションCプログラム510はいずれも共通制御プログラム504上で動作する。共通制御プログラム504、オプションAプログラム506、オプションBプログラム508、オプションCプログラム510はいずれもC言語を使用して生成される。図5に示されるソフトウエア構成に対して、図的プログラミング言語を使用して生成された新たなオプションプログラムを追加することは困難である。   FIG. 5 is a schematic diagram showing a software configuration of an injection molding machine to which the technical idea according to the present embodiment is not applied. This software configuration includes an OS 502, a common control program 504, an option A program 506, an option B program 508, and an option C program 510. The common control program 504 operates on the OS 502. The option A program 506, option B program 508, and option C program 510 all operate on the common control program 504. The common control program 504, option A program 506, option B program 508, and option C program 510 are all generated using the C language. It is difficult to add a new option program generated using a graphical programming language to the software configuration shown in FIG.

本実施の形態に係る技術的思想が適用された射出成形機のソフトウエア構成では、図的プログラミング言語とC言語との共存を可能とするミドルウエア404の存在により、オプション部分をプログラミングがより容易な図的プログラミング言語により作成することができる。これにより、例えば共通制御プログラムのアルゴリズムを隠蔽したままオプション部分を公開できる。また、海外などの前線のサービスパーソンによるオプション部分の追加や変更がより容易となる。これにより、より顧客に密着したサービスを提供することができる。   In the software configuration of the injection molding machine to which the technical idea according to the present embodiment is applied, the optional part can be programmed more easily due to the presence of the middleware 404 that allows the graphical programming language and the C language to coexist. It can be created with a simple graphical programming language. Thereby, for example, the optional part can be disclosed while hiding the algorithm of the common control program. In addition, it becomes easier to add or change optional parts by frontline service persons such as overseas. Thereby, it is possible to provide a service closer to the customer.

以上、実施の形態に係る組み込みシステムの制御装置100について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The control device 100 of the embedded system according to the embodiment has been described above. This embodiment is an exemplification, and it is understood by those skilled in the art that various modifications can be made to each component and combination of processes, and such modifications are within the scope of the present invention.

図的プログラミング言語は機械装置の制御プログラムに比較的適している。一方でコンピュータ間の通信ソフトウエアにはC言語などの従来言語の資産が多く存在する。したがって、実施の形態に係る技術的思想は、機械装置をネットワークに接続するようなアプリケーションにより好適に適用されうる。   Graphical programming languages are relatively suitable for machine control programs. On the other hand, communication software between computers has many assets of a conventional language such as C language. Therefore, the technical idea according to the embodiment can be preferably applied to an application that connects a mechanical device to a network.

実施の形態では、図1を参照してプログラム開発時の実行形態を説明したが、これに限られない。
図6は、製品運用時の実行形態を示す模式図である。制御装置100はさらに2次記憶装置120を備える。2次記憶装置120はハードディスクドライブやflashディスクなどのディスク装置であってもよい。2次記憶装置120は制御装置バス108と接続される。2次記憶装置120は図的実行ファイル16とC実行ファイル24とを含む。製品運用時にはホストPCは存在せず、図的実行プログラム110およびC実行プログラム114をそれぞれ、2次記憶装置120に記憶される図的実行ファイル16およびC実行ファイル24からメモリ102に配置する。なお、オブジェクトファイルの所在が変わるだけであり、処理の流れは実施の形態のものと同様である。
In the embodiment, the execution form at the time of program development has been described with reference to FIG. 1, but the present invention is not limited to this.
FIG. 6 is a schematic diagram showing an execution form during product operation. The control device 100 further includes a secondary storage device 120. The secondary storage device 120 may be a disk device such as a hard disk drive or a flash disk. The secondary storage device 120 is connected to the control device bus 108. The secondary storage device 120 includes a graphical execution file 16 and a C execution file 24. There is no host PC during product operation, and the graphic execution program 110 and the C execution program 114 are arranged in the memory 102 from the graphic execution file 16 and the C execution file 24 stored in the secondary storage device 120, respectively. Note that the location of the object file only changes, and the processing flow is the same as that of the embodiment.

2 開発環境、 4 実行環境、 6 図的エディタ、 8 図的ソースプログラム、 10 図的コンパイラ、 12 第1Cソースプログラム、 14 第1Cコンパイラ、 16 図的実行ファイル、 18 Cエディタ、 20 第2Cソースプログラム、 22 第2Cコンパイラ、 24 C実行ファイル、 100 制御装置、 102 メモリ、 104 CPU、 106 入出力インタフェース、 110 図的実行プログラム、 112 ミドルウエア、 114 C実行プログラム。   2 development environment, 4 execution environment, 6 graphical editor, 8 graphical source program, 10 graphical compiler, 12 1st C source program, 14 1st C compiler, 16 graphical execution file, 18 C editor, 20 2nd C source program , 22 2C compiler, 24 C execution file, 100 controller, 102 memory, 104 CPU, 106 I / O interface, 110 graphical execution program, 112 middleware, 114 C execution program.

Claims (6)

組み込みシステムの制御装置であって、
制御内容の図式化を伴うプログラミング言語を使用して生成され、本制御装置によって実行可能な第1プログラムが配置される第1領域と、
テキスト形式のプログラミング言語を使用して生成され、本制御装置によって実行可能な第2プログラムが配置される第2領域と、
第1プログラムのリソースに関する第1リソース情報および第2プログラムのリソースに関する第2リソース情報を保持するミドルウエアが配置される第3領域と、を含むメモリと、
第1プログラムおよび第2プログラムによって共用される演算装置と、を備え、
第1プログラムまたは第2プログラムのいずれか一方のプログラムは他方のプログラムのリソースを使用し、
ミドルウエアは、一方のプログラムからの他方のプログラムのリソースへのアクセスを仲介し、
第1プログラムは、複数のサーボ制御プログラムであり、第2プログラムは、シーケンス制御プログラムであることを特徴とする制御装置。
A controller for an embedded system,
A first region in which a first program that is generated using a programming language accompanied by a graphical representation of control content and that can be executed by the control device is arranged;
A second area in which a second program generated using a text programming language and executable by the controller is arranged;
A third area in which middleware that holds first resource information related to resources of the first program and second resource information related to resources of the second program is arranged;
An arithmetic unit shared by the first program and the second program,
Either the first program or the second program uses the resources of the other program,
The middleware mediates access from one program to the other program's resources ,
The first program is a plurality of servo control program, the second program control device, wherein a sequence control program der Rukoto.
第2リソース情報は、第2プログラムのシンボルに関するシンボル情報であり、
第1プログラムは第2プログラムのリソースを使用し、
ミドルウエアは、第1プログラムを第1領域に配置する際、第2プログラムのリソースへのアクセスを、対応するシンボル情報で置き換えることを特徴とする請求項1に記載の制御装置。
The second resource information is symbol information related to symbols of the second program,
The first program uses the resources of the second program,
2. The control device according to claim 1, wherein the middleware replaces access to the resource of the second program with corresponding symbol information when the first program is arranged in the first area.
ミドルウエアは、第2プログラムを第2領域に配置する際にシンボル情報を取得することを特徴とする請求項2に記載の制御装置。   The control apparatus according to claim 2, wherein the middleware acquires symbol information when the second program is arranged in the second area. 第1リソース情報は、第1プログラムが本制御装置によって実行可能な形式に変換される際に第1プログラムに組み込まれ、
第2プログラムは第1プログラムのリソースを使用し、
ミドルウエアは、第1リソース情報に関連するアプリケーションプログラミングインタフェースを含み、
第2プログラムは、アプリケーションプログラミングインタフェースを通して第1プログラムのリソースにアクセスすることを特徴とする請求項1から3のいずれかに記載の制御装置。
The first resource information is incorporated into the first program when the first program is converted into a format executable by the control device,
The second program uses the resources of the first program,
The middleware includes an application programming interface associated with the first resource information,
4. The control apparatus according to claim 1, wherein the second program accesses the resource of the first program through an application programming interface.
ミドルウエアは、第1プログラムを第1領域に配置する際に第1リソース情報を取得することを特徴とする請求項4に記載の制御装置。   The control apparatus according to claim 4, wherein the middleware acquires the first resource information when the first program is arranged in the first area. ミドルウェアは、第1プログラムおよび第2プログラムの本制御装置へのダウンロードの段階で、一方のプログラムからの他方のプログラムのリソースへのアクセスを仲介することを特徴とする請求項1から5のいずれかに記載の制御装置。The middleware mediates access from one program to the resource of the other program at the stage of downloading the first program and the second program to the control device. The control device described in 1.
JP2012040949A 2012-02-28 2012-02-28 Embedded system controller Expired - Fee Related JP5726106B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012040949A JP5726106B2 (en) 2012-02-28 2012-02-28 Embedded system controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012040949A JP5726106B2 (en) 2012-02-28 2012-02-28 Embedded system controller

Publications (2)

Publication Number Publication Date
JP2013178606A JP2013178606A (en) 2013-09-09
JP5726106B2 true JP5726106B2 (en) 2015-05-27

Family

ID=49270190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012040949A Expired - Fee Related JP5726106B2 (en) 2012-02-28 2012-02-28 Embedded system controller

Country Status (1)

Country Link
JP (1) JP5726106B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6975009B2 (en) 2017-10-10 2021-12-01 キヤノン株式会社 Image processing device, its control method, and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112736A (en) * 1998-10-01 2000-04-21 Seiko Epson Corp Program generating device
US6874148B1 (en) * 2000-06-14 2005-03-29 National Instruments Corporation System and method for exporting a graphical program to a shared library
JP2002229801A (en) * 2001-02-02 2002-08-16 Hitachi Ltd Linking method for function
JP2007226743A (en) * 2006-02-27 2007-09-06 Fujitsu Ltd Program, method and apparatus for supporting development of mediation program
US8234630B2 (en) * 2006-05-03 2012-07-31 The Mathworks, Inc. Calling an entity of a graphical model with a non-graphical entity and calling a non-graphical entity of a graphical model with a graphical entity
JP5206257B2 (en) * 2008-09-09 2013-06-12 株式会社リコー Information processing apparatus, program start method, start program

Also Published As

Publication number Publication date
JP2013178606A (en) 2013-09-09

Similar Documents

Publication Publication Date Title
EP1835397A1 (en) Application framework
CN104077118A (en) Resource customization method and resource customization device of application program
US20060230397A1 (en) Method for third-party registration of software components
WO2018047620A1 (en) Executable program creation device, executable program creation method, and executable program creation program
JP5119902B2 (en) Dynamic reconfiguration support program, dynamic reconfiguration support method, dynamic reconfiguration circuit, dynamic reconfiguration support device, and dynamic reconfiguration system
JP6954256B2 (en) Engineering equipment, control methods and programs for engineering equipment
JP2016177613A (en) Information processing system, information processing apparatus, and information processing method
JP5726106B2 (en) Embedded system controller
CN104133706A (en) Firmware modifying method and device
CN107608672B (en) UI module manager, UI module management method and system
US20170052765A1 (en) Method and system for creating app
JP2009169864A (en) Compile method and compile program
CN102289367A (en) Command line shell command generation based on schema
JP2008165342A (en) Source code creating method, device and program
JP2005078178A (en) Computer system and software management method
JP4735854B2 (en) PLC program development support device
US20210271458A1 (en) Managing an app method and system
JP6318261B2 (en) Web server system
JP6455096B2 (en) Control system, its support device, programmable control device
Nestor Ribeiro et al. An automated model based approach to mobile UI specification and development
JP6295914B2 (en) Programmable controller system, its support device, programmable controller
JP4877257B2 (en) Programmable controller, programmable controller support apparatus, and programmable controller system
JP2008003841A (en) Build processing method, device and program
JP2016051235A (en) Migration support system
JP6045986B2 (en) Software development support apparatus, software development support method, and software development support program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150309

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: 20150331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150331

R150 Certificate of patent or registration of utility model

Ref document number: 5726106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees