JP5726106B2 - Embedded system controller - Google Patents
Embedded system controller Download PDFInfo
- 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
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.
このように組み込みシステムのソフトウエア開発では多くの種類のプログラミング言語が利用可能であり、それらが混在する状況も発生しうる。多数のプログラミング言語により記述された多数のプログラムから、ターゲットにダウンロードすべきプログラムを生成するためのひとつの手法は、リンケージエディタを使用してそれらのプログラムを静的にリンクさせることである。すなわち、多数のプログラムのそれぞれを対応するコンパイラまたはアセンブラにより処理し、得られるオブジェクトファイル(中間ファイル)全てをひとつのファイル(実行ファイル)に結合する。 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.
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。 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
開発環境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
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
第1Cコンパイラ14は公知のC言語コンパイラであり、第1Cソースプログラム12を、制御装置100で実行可能な形式のオブジェクトファイルである図的実行ファイル16に変換する。図的コンパイラ10および第1Cコンパイラ14は協働して、図的実行ファイル16のリソースに関する図的リソース情報を図的実行ファイル16に組み込む。
The
Cエディタ18は公知のテキストエディタである。ユーザはCエディタ18を使用して所望の制御内容をC言語で記述した第2Cソースプログラム20を生成する。
第2Cコンパイラ22は公知のC言語コンパイラであり、第2Cソースプログラム20を、制御装置100で実行可能な形式のオブジェクトファイルであるC実行ファイル24に変換する。第2Cコンパイラ22は、C実行ファイル24のシンボルに関するシンボル情報(例えば、シンボルテーブル)をC実行ファイル24に組み込む。
The
The
実行環境4は実施の形態に係る組み込みシステムの制御装置100を含む。制御装置100は、メモリ102と、CPU104と、入出力インタフェース106と、それらを制御装置100内で互いに接続する制御装置バス108と、を備える。
The execution environment 4 includes the
メモリ102は、図的実行ファイル16に対応する図的実行プログラム110が配置される第1領域と、C実行ファイル24に対応するC実行プログラム114が配置される第2領域と、図的実行プログラム110の図的リソース情報およびC実行プログラム114のシンボル情報を保持するミドルウエア112が配置される第3領域と、を含む。
The
CPU104は図的実行プログラム110、C実行プログラム114およびミドルウエア112によって共用され、そのそれぞれに基づいて処理動作を行う。CPU104は、図的実行プログラム110、C実行プログラム114およびミドルウエア112のそれぞれに含まれる命令の流れにしたがって所定の処理を行う。
入出力インタフェース106は、制御装置100と制御装置100の外部の装置との間のデータの入出力を制御する。
The
The input /
以下、(1)図的実行プログラム110がC実行プログラム114のリソースを使用する場合、(2)C実行プログラム114が図的実行プログラム110のリソースを使用する場合、のそれぞれについてミドルウエア112の機能を説明する。
Hereinafter, the function of the
(1)図的実行プログラム110がC実行プログラム114のリソースを使用する場合、ミドルウエア112は図的実行プログラム110からのC実行プログラム114のリソースへのアクセスを仲介する。
(1) When the
C実行ファイル24が制御装置100にダウンロードされてくると、ミドルウエア112は、C実行ファイル24に対応するC実行プログラム114をメモリ102の第2領域に配置する。この際、ミドルウエア112は、C実行ファイル24に組み込まれているC実行ファイル24のシンボル情報を取得する。
When the
図的実行ファイル16が制御装置100にダウンロードされてくると、ミドルウエア112は、図的実行ファイル16に対応する図的実行プログラム110をメモリ102の第1領域に配置する。この際、ミドルウエア112は、図的実行プログラム110におけるC実行プログラム114のリソースへのアクセスを、対応するシンボル情報で置き換える。すなわち、ミドルウエア112は、図的実行プログラム110にC実行プログラム114のリソースへのアクセスが含まれている場合、取得されたシンボル情報のなかからそのリソースに対応するシンボル情報を抽出する。ミドルウエア112は、図的実行プログラム110に含まれる、C実行プログラム114のリソースへのアクセスを抽出されたシンボル情報で置き換える。
When the
このように、ミドルウエア112は図的実行ファイル16のダウンロードの段階で、図的実行プログラム110からのC実行プログラム114のリソースへのアクセスを仲介する。なお、制御装置100において図的実行プログラム110が実行される際は、図的実行プログラム110はミドルウエア112に依らずに直接C実行プログラム114のリソースにアクセスする。
Thus, the
(2)C実行プログラム114が図的実行プログラム110のリソースを使用する場合、ミドルウエア112はC実行プログラム114からの図的実行プログラム110のリソースへのアクセスを仲介する。
(2) When the
図的実行ファイル16が制御装置100にダウンロードされてくると、ミドルウエア112は、図的実行ファイル16に対応する図的実行プログラム110をメモリ102の第1領域に配置する。この際、ミドルウエア112は、図的実行ファイル16に組み込まれている図的実行ファイル16の図的リソース情報を取得する。
When the
ミドルウエア112は、取得された図的リソース情報に関連するアプリケーションプログラミングインタフェース(以下、APIと称す)を含む。APIは、取得された図的リソース情報に基づき、図的実行プログラム110以外のプログラムからの図的実行プログラム110のリソースへのアクセスを可能とする。
The
C実行ファイル24が制御装置100にダウンロードされてくると、ミドルウエア112は、C実行ファイル24に対応するC実行プログラム114をメモリ102の第2領域に配置する。制御装置100においてC実行プログラム114が実行される際、C実行プログラム114は、APIを通して図的実行プログラム110のリソースにアクセスする。
When the
本実施の形態に係る制御装置100によると、図的プログラミング言語により開発された図的実行プログラム110とC言語により開発されたC実行プログラム114とを同一の実行環境4で動作させることができる。また、それらの実行プログラム110、114の間で情報を共有させることができる。また、それらの実行プログラム110、114の間での、実行単位の呼び出しが可能となる。
According to the
また、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
また、本実施の形態に係る制御装置100では、図的実行プログラム110とC実行プログラム114とはCPU104を共用しており、密結合が実現されている。したがって、それぞれが別のCPUを使用するような粗結合の場合と比較して、一方のプログラムから他方のプログラムのリソースにアクセスする際にCPUやメモリを切り替えなくてもよいのでより高速な動作が可能となる。
Further, in the
(無人搬送台車への応用)
図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
シーケンス制御プログラム208および移載系サーボ制御プログラム210は第1コントローラ202内の同じCPU(不図示)を使用する。ミドルウエア214は、シーケンス制御プログラム208と移載系サーボ制御プログラム210との間のリソースの相互アクセスを制御する。これにより、シーケンス制御プログラム208と移載系サーボ制御プログラム210とが同じ第1コントローラ202内に共存することが可能となっている。
第2コントローラ204には、図的プログラミング言語を使用して生成された走行系サーボ制御プログラム212がインストールされている。
The
A traveling system
図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
図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
このように、本実施の形態に係る技術的思想が適用された場合、言語の異なるプログラムを同じコントローラ上で動作させることができるので、必要なコントローラの数を低減できる。その結果、無人搬送台車の原価を低減できる。また、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,
図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 ′
図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
本実施の形態に係る技術的思想が適用された射出成形機のソフトウエア構成では、図的プログラミング言語と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
以上、実施の形態に係る組み込みシステムの制御装置100について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
The
図的プログラミング言語は機械装置の制御プログラムに比較的適している。一方でコンピュータ間の通信ソフトウエアには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
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.
第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プログラムは第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.
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)
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)
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 |
-
2012
- 2012-02-28 JP JP2012040949A patent/JP5726106B2/en not_active Expired - Fee Related
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 |