JP2006178818A - Motion controller, engineering tool, and c language execution system - Google Patents

Motion controller, engineering tool, and c language execution system Download PDF

Info

Publication number
JP2006178818A
JP2006178818A JP2004372761A JP2004372761A JP2006178818A JP 2006178818 A JP2006178818 A JP 2006178818A JP 2004372761 A JP2004372761 A JP 2004372761A JP 2004372761 A JP2004372761 A JP 2004372761A JP 2006178818 A JP2006178818 A JP 2006178818A
Authority
JP
Japan
Prior art keywords
project
task
language program
language
type
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
Application number
JP2004372761A
Other languages
Japanese (ja)
Inventor
Tomohiro Kamishio
具宏 上塩
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2004372761A priority Critical patent/JP2006178818A/en
Publication of JP2006178818A publication Critical patent/JP2006178818A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To synchronize a ladder language program and a C language program for motion control by transceiving data at high speed between the programs. <P>SOLUTION: When the C language programs 13, 16 loaded in accordance with the project setting files 14, 17 of an engineering tool 10 are of a task form project 12, they are operated as the task of a real time OS3, When they are a function form project 15, they are stored in a memory 7 in a callable state from another task as a function. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、工作機械や自動組み立て装置、自動搬送装置などの制御に用いる数値制御装置に関する発明であり、特にC言語で書かれたアプリケーションプログラムを用いるモーションコントローラに関する。   The present invention relates to a numerical controller used for control of a machine tool, an automatic assembly device, an automatic transfer device, and the like, and more particularly to a motion controller using an application program written in C language.

モーションコントローラ用のプログラム言語としてラダー言語やG言語、専用モーション言語などが使われるのが一般的であるが、最近はコンピュータ言語として汎用性のあるC言語が広く使われるようになっており、モーションコントローラに適用することの関心が高まっている。
ここで従来のモーションコントローラについて図を用いて説明する。図4は従来のモーションコントローラ1Bの構成を示すブロック図であり、ラダー言語アプリケーションプログラム実行用モジュール30とC言語アプリケーションプログラム実行用モジュール34の2つのモジュールを備えてBUS38で接続されている。それぞれのモジュール30、34にはマイクロプロセッサ31、35が実装されており、ラダー言語アプリケーションプログラム32とC言語アプリケーションプログラム36がそれぞれのマイクロプロセッサ31、35上で動作する。各モジュール30、34はそれぞれBUSインターフェース33、37を備えており、そのBUSインターフェース33、37を介してBUS38に接続されている(例えば特許文献1参照)。
このように、ラダー言語アプリケーションプログラム32とC言語アプリケーションプログラム36の両方が同一のマイクロプロセッサ上で動作する構成にはなっておらず、C言語アプリケーションプログラム36が動作するモジュール34は、ラダー言語アプリケーションプログラム32が動作するモジュール30から見て補助的なモジュールという位置付けになっていた。
特開平9−274511
Ladder language, G language, dedicated motion language, etc. are generally used as programming languages for motion controllers, but recently, general-purpose C language is widely used as a computer language, and motion There is a growing interest in applying to controllers.
Here, a conventional motion controller will be described with reference to the drawings. FIG. 4 is a block diagram showing a configuration of a conventional motion controller 1B, which includes two modules, a ladder language application program execution module 30 and a C language application program execution module 34, which are connected by a BUS 38. Microprocessors 31 and 35 are mounted on the respective modules 30 and 34, and a ladder language application program 32 and a C language application program 36 operate on the respective microprocessors 31 and 35. Each of the modules 30 and 34 includes BUS interfaces 33 and 37, and is connected to the BUS 38 via the BUS interfaces 33 and 37 (see, for example, Patent Document 1).
Thus, both the ladder language application program 32 and the C language application program 36 are not configured to operate on the same microprocessor, and the module 34 on which the C language application program 36 operates is a ladder language application program. The module is positioned as an auxiliary module when viewed from the module 30 on which 32 operates.
JP-A-9-274511

このように従来技術ではモジュール間がBUSで接続されているため、ラダー言語アプリケーションプログラムとC言語アプリケーションプログラム間で高速なデータの授受ができないという問題があった。また、ラダー言語アプリケーションプログラムとC言語アプリケーションプログラムが異なるマイクロプロセッサ上で動作するため、ラダー言語アプリケーションプログラムからC言語アプリケーションプログラムを関数としてコールすることができないという問題もあった。さらに、ラダー言語アプリケーションプログラム実行用モジュールがモーション制御に同期している場合は、ラダー言語アプリケーションプログラムの任意の実行タイミングでC言語アプリケーションプログラムをコールするような、C言語のアプリケーションプログラムを構築することができないという問題もあった。
そこで本発明は、上記の問題に鑑みてなされたものであり、ラダー言語アプリケーションプログラムとC言語アプリケーションプログラム間で高速なデータの授受ができ、ラダー言語アプリケーションプログラムからC言語アプリケーションプログラムを関数としてコールすることができ、ラダー言語アプリケーションプログラム実行用モジュールがモーション制御に同期している場合でも、ラダー言語アプリケーションプログラムの任意の実行タイミングでC言語アプリケーションプログラムをコールすることができるモーションコントローラを提供することを目的としている。
As described above, in the prior art, since modules are connected by BUS, there is a problem that high-speed data cannot be exchanged between a ladder language application program and a C language application program. Further, since the ladder language application program and the C language application program operate on different microprocessors, there is also a problem that the C language application program cannot be called as a function from the ladder language application program. Further, when the ladder language application program execution module is synchronized with the motion control, it is possible to construct a C language application program that calls the C language application program at an arbitrary execution timing of the ladder language application program. There was also a problem that it was not possible.
Therefore, the present invention has been made in view of the above problems, and can exchange data at high speed between a ladder language application program and a C language application program, and call the C language application program as a function from the ladder language application program. An object of the present invention is to provide a motion controller that can call a C language application program at an arbitrary execution timing of a ladder language application program even when the ladder language application program execution module is synchronized with motion control. It is said.

そこで第1の本発明は、リアルタイムOSと、メモリと、ラダー言語プログラムをモーション制御周期に同期させて実行する実行手段と、前記ラダー言語プログラムとC言語プログラムの両方が動作するマイクロプロセッサとを備えたモーションコントローラにおいて、エンジニアリングツールのプロジェクト設定ファイルに従ってロードされた前記C言語プログラムがタスク型プロジェクトであれば前記リアルタイムOSのタスクとして動作させ、前記C言語プログラムが関数型プロジェクトであれば他のタスクから関数としてコール可能な状態で前記メモリに格納することを特徴としている。
また第2の本発明は、C言語プログラムをプロジェクトという単位で管理し、前記C言語プログラムをモーションコントローラのリアルタイムOS上で独立して動作可能なタスク型プロジェクトとしてロードするか、あるいは他のタスクからコールされることによって動作可能な関数型プロジェクトとしてロードするかのいずれかを選択する選択手段を備え、その選択手段がいずれを選んだかという情報を含むプロジェクトの属性情報をプロジェクト設定ファイルとして保存し、前記C言語プログラムと前記プロジェクト設定ファイルを前記モーションコントローラへロードすることを特徴としている。
また第3の本発明は、リアルタイムOSと、メモリと、ラダー言語プログラムをモーション制御周期に同期させて実行する実行手段と、前記ラダー言語プログラムとC言語プログラムの両方が動作するマイクロプロセッサとを備えたモーションコントローラと、前記C言語プログラムをプロジェクトという単位で管理し、前記C言語プログラムを前記リアルタイムOS上で独立して動作可能なタスク型プロジェクトとしてロードするか、あるいは他のタスクからコールされることによって動作可能な関数型プロジェクトとしてロードするかのいずれかを選択する選択手段を備え、その選択手段がいずれを選んだかという情報を含むプロジェクトの属性情報をプロジェクト設定ファイルとして保存し、前記C言語プログラムと前記プロジェクト設定ファイルを前記モーションコントローラへロードするエンジニアリングツールと、を備え、前記プロジェクト設定ファイルに従ってロードされたC言語プログラムがタスク型プロジェクトであれば前記リアルタイムOSのタスクとして動作させ、ロードされたC言語プログラムが関数型プロジェクトであれば他のタスクから関数としてコール可能な状態で前記モーションコントローラの前記メモリに格納されることを特徴としている。
また第4の本発明は、前記関数型プロジェクトとしてロードされた前記C言語プログラムのプロジェクト名称と開始アドレスを関連付けした情報として持つ関数型プロジェクト管理テーブルと、前記関数型プロジェクトのプロジェクト名称を引数として入力して前記関数型プロジェクト管理テーブルを検索し、前記関数型プロジェクトのプロジェクト名称から前記関数型プロジェクトの開始アドレスを求めてその開始アドレスをコールするラダー言語のファンクションブロックとを備え、ラダー言語プログラムから前記ファンクションブロックをコールして間接的に前記関数型プロジェクトとしてロードされた前記C言語プログラムをコールすることを特徴としている。
また第5の本発明は、前記関数型プロジェクトとしてロードされた前記C言語プログラムのプロジェクト名称と開始アドレスを関連付けした情報として持つ関数型プロジェクト管理テーブルと、前記関数型プロジェクトのプロジェクト名称を引数として入力して前記関数型プロジェクト管理テーブルを検索し、前記関数型プロジェクトのプロジェクト名称から前記関数型プロジェクトの開始アドレスを求めてその開始アドレスをコールするアプリケーションインターフェースを備え、前記タスク型プロジェクトとしてロードされた前記C言語プログラムから前記アプリケーションインターフェースをコールすることによって間接的に前記関数型プロジェクトとしてロードされた前記C言語プログラムをコールすることを特徴としている。
また第6の本発明は、前記タスク型プロジェクトとしてロードされた前記C言語プログラムのプロジェクト名称を前記リアルタイムOSのタスク名称としてタスクを登録し、前記タスク型プロジェクトのプロジェクト名称とタスク起床やタスクの中断などのタスク操作の種別を引数として入力し、プロジェクト名称をタスク名称として扱いタスク操作の種別に対応した前記リアルタイムOSが提供する機能をコールするラダー言語のファンクションブロックを持ち、前記ラダー言語プログラムから前記ファンクションブロックをコールすることによって間接的に他の前記タスク型プロジェクトのタスクを操作することを特徴としている。
また第7の本発明は、前記タスク型プロジェクトとしてロードされた前記C言語プログラムのプロジェクト名称を前記リアルタイムOSのタスク名称としてタスクを登録し、前記タスク型プロジェクトのプロジェクト名称とタスク起床やタスクの中断などのタスク操作の種別を引数として入力し、前記プロジェクト名称をタスク名称として扱いタスク操作の種別に対応した前記リアルタイムOSが提供する機能をコールするアプリケーションインターフェースを備え、前記タスク型プロジェクトとしてロードされた前記C言語プログラムから前記アプリケーションインターフェースをコールすることによって間接的に他の前記タスク型プロジェクトのタスクを操作することを特徴としている。
Therefore, the first aspect of the present invention includes a real-time OS, a memory, execution means for executing a ladder language program in synchronization with a motion control cycle, and a microprocessor for operating both the ladder language program and the C language program. If the C language program loaded in accordance with the engineering tool project setting file is a task-type project, it is operated as a task of the real-time OS, and if the C language program is a function-type project, it is started from another task. It is characterized in that it is stored in the memory in a state where it can be called as a function.
In the second aspect of the present invention, a C language program is managed in units of a project, and the C language program is loaded as a task-type project that can operate independently on a real-time OS of a motion controller, or from another task. It has a selection means to select one of the functional projects that can be operated by being called, and saves the project attribute information including information as to which selection means has been selected as a project setting file. The C language program and the project setting file are loaded into the motion controller.
The third aspect of the present invention includes a real-time OS, a memory, execution means for executing a ladder language program in synchronization with a motion control cycle, and a microprocessor for operating both the ladder language program and the C language program. The motion controller and the C language program are managed in units of projects, and the C language program is loaded as a task-type project that can operate independently on the real-time OS, or is called from another task And a selection unit that selects one of the functional projects that can be loaded by the computer, and stores project attribute information including information as to which selection unit has been selected as a project setting file. And the project If the C language program loaded in accordance with the project setting file is a task-type project, it is operated as a task of the real-time OS. If it is a functional project, it is stored in the memory of the motion controller in a state where it can be called as a function from another task.
According to a fourth aspect of the present invention, there is provided a functional project management table having information associating a project name of the C language program loaded as the functional project with a start address, and the project name of the functional project as an argument. The function type project management table is searched, and a ladder language function block that obtains the start address of the function type project from the project name of the function type project and calls the start address is provided from the ladder language program. The C language program loaded as the functional project is indirectly called by calling a function block.
According to a fifth aspect of the present invention, a function type project management table having information associating a project name and a start address of the C language program loaded as the function type project, and the project name of the function type project are input as arguments. The function type project management table is searched, and an application interface that obtains the start address of the function type project from the project name of the function type project and calls the start address is loaded, and the task type project is loaded. The C language program loaded indirectly as the functional project is called by calling the application interface from a C language program.
According to a sixth aspect of the present invention, a task is registered with the project name of the C language program loaded as the task type project as the task name of the real-time OS, and the project name of the task type project, task wakeup and task interruption The task operation type is input as an argument, the project name is handled as a task name, and a ladder language function block that calls a function provided by the real-time OS corresponding to the task operation type is included. It is characterized in that a task of another task type project is indirectly operated by calling a function block.
The seventh aspect of the present invention registers a task with the project name of the C language program loaded as the task type project as the task name of the real-time OS, and the project name of the task type project, task wakeup and task interruption. The task operation type is input as an argument, the project name is treated as a task name, and an application interface that calls a function provided by the real-time OS corresponding to the task operation type is provided and loaded as the task type project. The task of another task type project is indirectly operated by calling the application interface from the C language program.

第1の本発明によると、エンジニアリングツールのプロジェクト設定ファイルに従ってロードされたC言語プログラムがタスク型プロジェクトであればリアルタイムOSのタスクとして動作させ、C言語プログラムが関数型プロジェクトであれば他のタスクから関数としてコール可能な状態でメモリに格納するので、用途に適したプロジェクトタイプを選択することが可能であるという効果がある。また、ラダー言語プログラムとC言語プログラムの両方が同一のマイクロプロセッサ上で動作するため、ラダー言語プログラムとC言語プログラム間のデータの授受が高速におこなうことができるという効果がある。
また第2の本発明によると、C言語プログラムをプロジェクトという単位で管理し、C言語プログラムをモーションコントローラのリアルタイムOS上で独立して動作可能なタスク型プロジェクトとしてロードするか、あるいは他のタスクからコールされることによって動作可能な関数型プロジェクトとしてロードするかのいずれかを選択する選択手段を備えて、いずれを選んだかという情報を含むプロジェクトの属性情報をプロジェクト設定ファイルとして保存し、C言語プログラムとプロジェクト設定ファイルをモーションコントローラへロードするので、用途に適したプロジェクトタイプを選択することが可能であるという効果がある。また、タスク型プロジェクトは、リアルタイムOS上のタスクとして独立して動作させることが可能であるため、ラダー言語プログラムなしでもC言語プログラムのみでアプリケーションプログラムを構築することも可能であるという効果がある。また、ラダー言語プログラムと共存しながら必要な部分だけC言語プログラムでアプリケーションプログラムを構築することが可能であるため、信号処理に強いラダー言語と複雑な数値演算に強いC言語を用途に応じて使い分けることが可能であるという効果がある。
また第3の本発明によると、リアルタイムOSと、メモリと、ラダー言語プログラムをモーション制御周期に同期させて実行する実行手段と、ラダー言語プログラムとC言語プログラムの両方が動作するマイクロプロセッサとを備えたモーションコントローラと、C言語プログラムをプロジェクトという単位で管理し、C言語プログラムをリアルタイムOS上で独立して動作可能なタスク型プロジェクトとしてロードするか、あるいは他のタスクからコールされることによって動作可能な関数型プロジェクトとしてロードするかのいずれかを選択する選択手段を備え、その選択手段がいずれを選んだかという情報を含むプロジェクトの属性情報をプロジェクト設定ファイルとして保存し、C言語プログラムとプロジェクト設定ファイルをモーションコントローラへロードするエンジニアリングツールと、を備え、プロジェクト設定ファイルに従ってロードされたC言語プログラムがタスク型プロジェクトであればリアルタイムOSのタスクとして動作させ、ロードされたC言語プログラムが関数型プロジェクトであれば他のタスクから関数としてコール可能な状態でモーションコントローラのメモリに格納されるので、関数型プロジェクトとしてロードされたC言語プログラムがモーション制御に同期しているラダー言語プログラムからコールされた場合は、C言語プログラムでモーション制御のアプリケーションプログラムを構築することが可能であるという効果がある。また、タスク型プロジェクトとしてロードされたC言語プログラムは、リアルタイムOS上のタスクとして独立して動作させることが可能であり、リアルタイムOS上でのタスクの優先度を選択することが可能であるため、優先度の選択によりモーション制御に同期した動作をおこなう用途、高度な数値演算のように処理に時間がかかるような用途や、逐次実行動作のように処理時間を気にすることなく継続的にアプリケーションプログラムの動作をおこなう必要がある用途にも適用することができるという効果がある。
また第4の本発明によると、関数型プロジェクトとしてロードされたC言語プログラムのプロジェクト名称と開始アドレスを関連付けした情報として持つ関数型プロジェクト管理テーブルと、関数型プロジェクトのプロジェクト名称を引数として入力して関数型プロジェクト管理テーブルを検索し、関数型プロジェクトのプロジェクト名称から関数型プロジェクトの開始アドレスを求めてその開始アドレスをコールするラダー言語のファンクションブロックとを備え、ラダー言語プログラムからファンクションブロックをコールして間接的に関数型プロジェクトとしてロードされたC言語プログラムをコールするので、ラダー言語プログラムの一部分だけをC言語プログラムで記述したいといった要求にも応えることが可能であるという効果がある。また、ラダー言語プログラムからコールされたタイミングでC言語プログラムの実行がおこなわれるため、リアルタイムOSやタスクの概念を意識することなしにC言語プログラムでを構築することが可能でというある効果がある。
また第5の本発明によると、関数型プロジェクトとしてロードされたC言語プログラムのプロジェクト名称と開始アドレスを関連付けした情報として持つ関数型プロジェクト管理テーブルと、関数型プロジェクトのプロジェクト名称を引数として入力して関数型プロジェクト管理テーブルを検索し、関数型プロジェクトのプロジェクト名称から関数型プロジェクトの開始アドレスを求めてその開始アドレスをコールするアプリケーションインターフェースを備え、タスク型プロジェクトとしてロードされたC言語プログラムからアプリケーションインターフェースをコールすることによって間接的に関数型プロジェクトとしてロードされたC言語プログラムをコールするので、タスク型プロジェクトとしてロードされた複数のC言語プログラムから共通にコール可能な関数として使用することが可能であるという効果がある。
また第6の本発明によると、タスク型プロジェクトとしてロードされたC言語プログラムのプロジェクト名称をリアルタイムOSのタスク名称としてタスクを登録し、タスク型プロジェクトのプロジェクト名称とタスク起床やタスクの中断などのタスク操作の種別を引数として入力し、プロジェクト名称をタスク名称として扱いタスク操作の種別に対応したリアルタイムOSが提供する機能をコールするラダー言語のファンクションブロックを持ち、ラダー言語プログラムからファンクションブロックをコールすることによって間接的に他のタスク型プロジェクトのタスクを操作するので、ラダー言語プログラムの実行タイミングで、タスク型プロジェクトとしてロードされたC言語プログラムの実行制御が可能であるという効果がある。
また第7の本発明によると、タスク型プロジェクトとしてロードされたC言語プログラムのプロジェクト名称をリアルタイムOSのタスク名称としてタスクを登録し、タスク型プロジェクトのプロジェクト名称とタスク起床やタスクの中断などのタスク操作の種別を引数として入力し、プロジェクト名称をタスク名称として扱いタスク操作の種別に対応したリアルタイムOSが提供する機能をコールするアプリケーションインターフェースを備え、タスク型プロジェクトとしてロードされたC言語プログラムからアプリケーションインターフェースをコールすることによって間接的に他のタスク型プロジェクトのタスクを操作するので、ラダー言語プログラムの実行タイミングとは独立して、C言語プログラムからタスク型プロジェクトとしてロードされた他のC言語プログラムの実行制御が可能であるという効果がある。
According to the first aspect of the present invention, if the C language program loaded in accordance with the project setting file of the engineering tool is a task type project, it is operated as a task of the real-time OS. Since it is stored in the memory in a state where it can be called as a function, it is possible to select a project type suitable for the application. In addition, since both the ladder language program and the C language program operate on the same microprocessor, there is an effect that data can be exchanged between the ladder language program and the C language program at high speed.
According to the second aspect of the present invention, a C language program is managed in units of a project, and the C language program is loaded as a task type project that can operate independently on the real-time OS of the motion controller, or from another task. A C language program is provided that includes selection means for selecting one of the functional projects that can be operated by being called, and that stores project attribute information including information indicating which one is selected as a project setting file. Since the project setting file is loaded to the motion controller, it is possible to select a project type suitable for the application. Further, since the task type project can be operated independently as a task on the real-time OS, there is an effect that it is possible to construct an application program with only a C language program without a ladder language program. In addition, since it is possible to construct an application program using only a necessary portion of a C language program while coexisting with a ladder language program, a ladder language that is strong in signal processing and a C language that is strong in complex numerical operations are used depending on the application. There is an effect that it is possible.
According to a third aspect of the present invention, there is provided a real-time OS, a memory, execution means for executing a ladder language program in synchronization with a motion control cycle, and a microprocessor for operating both the ladder language program and the C language program. The C motion program and C language program are managed in units of projects, and the C language program can be loaded as a task-type project that can operate independently on the real-time OS, or can be operated by being called from other tasks Selection means for selecting one of the functions to be loaded as a functional project, and storing project attribute information including information as to which selection means has been selected as a project setting file. Mo If the C language program loaded according to the project setting file is a task-type project, it is operated as a task of the real-time OS, and the loaded C language program is a functional project. If the C language program loaded as a functional project is called from a ladder language program synchronized with motion control, it can be called as a function from another task. There is an effect that it is possible to construct an application program for motion control with a C language program. In addition, the C language program loaded as a task type project can be operated independently as a task on the real-time OS, and the priority of the task on the real-time OS can be selected. Applications that perform operations synchronized with motion control by selecting priority, applications that require processing time such as advanced numerical calculations, and applications that do not worry about processing time such as sequential execution operations There is an effect that the present invention can be applied to uses that require program operations.
According to the fourth aspect of the present invention, a function type project management table having information associating a project name and a start address of a C language program loaded as a function type project, and the project name of the function type project are input as arguments. Search the functional project management table, find the functional project start address from the project name of the functional project, and call the start address of the functional project, and call the function block from the ladder language program Since the C language program loaded as a functional project is called indirectly, it is possible to meet the demand for describing only a part of the ladder language program in the C language program. A. In addition, since the C language program is executed at the timing when it is called from the ladder language program, there is an effect that it is possible to construct the C language program without being aware of the concept of the real-time OS and tasks.
According to the fifth aspect of the present invention, a function type project management table having information associating a project name of a C language program loaded as a function type project with a start address and a project name of the function type project are input as arguments. A function type project management table is searched, an application interface for obtaining the start address of the function type project from the project name of the function type project and calling the start address is provided, and the application interface is obtained from the C language program loaded as the task type project. Since a C language program loaded as a functional project is called indirectly by calling, a plurality of C language programs loaded as task type projects are called. There is an effect that it is possible to use as callable functions commonly from.
According to the sixth aspect of the present invention, a task is registered with the project name of the C language program loaded as the task type project as the task name of the real-time OS, and the project name of the task type project and the task such as task wakeup or task interruption. Enter the operation type as an argument, handle the project name as a task name, have a ladder language function block that calls the function provided by the real-time OS corresponding to the task operation type, and call the function block from the ladder language program Since the task of another task type project is indirectly operated by the above, there is an effect that the execution control of the C language program loaded as the task type project is possible at the execution timing of the ladder language program.
According to the seventh aspect of the present invention, a task is registered using the project name of the C language program loaded as the task type project as the task name of the real-time OS, and the project name of the task type project and the task such as task wakeup or task interruption are registered. An application interface is provided that inputs the operation type as an argument, handles the project name as a task name, and calls a function provided by the real-time OS corresponding to the type of task operation. From the C language program loaded as a task type project Since the task of another task type project is operated indirectly by calling, the task type project is changed from the C language program independently of the execution timing of the ladder language program. There is an effect that it is possible to perform control other C language program that is loaded.

以下、本発明の実施例を図に基づいて説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の第1の実施例を説明するブロック図である。図中、1は本発明のモーションコントローラであり、2はモーションコントローラ1に実装されたマイクロプロセッサ、3はモーションコントローラ1上で動作するリアルタイムOS、4はリアルタイムOS3上で動作し、モーション制御と同期したラダー言語プログラムのダラー言語タスク、5と6はリアルタイムOS3上で動作するC言語プログラムのタスク、7はC言語プログラムの関数が格納されたメモリ、8と9はC言語プログラムのC言語関数である。10はモーションコントローラ用のエンジニアリングツールであり、11はハードディスク等の記憶装置、12はタスク型プロジェクト、13はタスク型プロジェクトとして作成されたC言語プログラム、14はタスク型プロジェクトの属性情報が格納されたプロジェクト設定ファイル、15は関数型プロジェクト、16は関数型プロジェクトとして作成されたC言語プログラム、17は関数型プロジェクトの属性情報が格納されたプロジェクト設定ファイルである。
C言語プログラムはプロジェクトという単位で作成されており、プロジェクトの属性情報に基づいてプロジェクト設定ファイル14、17が作成されている。エンジニアリングツール10がプログラムをダウンロードする時は、C言語プログラム13、16とそのプロジェクト設定ファイル14、17の両方をダウンロードする。モーションコントローラ1はプロジェクト設定ファイル14、17に従ってロードされたC言語プログラム13、16がタスク型プロジェクト12であればリアルタイムOS3のタスクとして動作させ、ロードされたC言語プログラム13、16が関数型プロジェクト15であれば他のタスクから関数としてコール可能な状態でモーションコントローラ1のメモリ7に格納する。
FIG. 1 is a block diagram for explaining a first embodiment of the present invention. In the figure, 1 is a motion controller of the present invention, 2 is a microprocessor mounted on the motion controller 1, 3 is a real-time OS operating on the motion controller 1, 4 is operating on the real-time OS 3, and is synchronized with the motion control. The ladder language task of the ladder language program, 5 and 6 are the tasks of the C language program operating on the real-time OS 3, 7 is the memory storing the functions of the C language program, and 8 and 9 are the C language functions of the C language program. is there. 10 is an engineering tool for a motion controller, 11 is a storage device such as a hard disk, 12 is a task type project, 13 is a C language program created as a task type project, and 14 is attribute information of the task type project. A project setting file, 15 is a function type project, 16 is a C language program created as a function type project, and 17 is a project setting file in which attribute information of the function type project is stored.
The C language program is created in units of projects, and project setting files 14 and 17 are created based on project attribute information. When the engineering tool 10 downloads the program, both the C language programs 13 and 16 and the project setting files 14 and 17 are downloaded. The motion controller 1 operates as a task of the real-time OS 3 if the C language programs 13 and 16 loaded according to the project setting files 14 and 17 are the task type project 12, and the loaded C language programs 13 and 16 are the functional type project 15. If so, it is stored in the memory 7 of the motion controller 1 in a state where it can be called as a function from another task.

図2は第2の実施例を説明するブロック図である。図中、1は本発明のモーションコントローラであり、3はモーションコントローラ上で動作するリアルタイムOS、4はリアルタイムOS3上で動作し、モーション制御と同期したラダー言語プログラムのラダー言語タスク、18はラダー言語プログラムで記述されたC言語関数呼び出し用ファンクションブロック、5はリアルタイムOS3上で動作するC言語プログラムのC言語タスク、20はC言語プログラムからコールすることができるC言語関数呼び出し用API、7はC言語プログラムの関数が格納されるメモリ、8と9はC言語プログラムのC言語関数、19は関数型プロジェクトとしてロードされたC言語プログラムのプロジェクト名称と開始アドレスを関連付けした情報として持つ関数型プロジェクト管理テーブルである。
ラダー言語タスク4は、関数型プロジェクトのプロジェクト名称を引数として入力してC言語関数呼び出し用ファンクションブロック18を実行する。C言語関数呼び出し用ファンクションブロック18は与えられたプロジェクト名称で関数型プロジェクト管理テーブル19を検索して関数型プロジェクトの開始アドレスを求め、そのアドレスをコールしてロードされたC言語プログラムを間接的な関数型プロジェクトとして実現している。
C言語タスク5は、関数型プロジェクトのプロジェクト名称を引数として入力してC言語関数呼び出し用API19をコールする。C言語関数呼び出し用API19は与えられたプロジェクト名称で関数型プロジェクト管理テーブル19を検索して関数型プロジェクトの開始アドレスを求め、そのアドレスをコールしてロードされたC言語プログラムを間接的な関数型プロジェクトとして実現している。
なお、図示していないが、コールしたC言語関数からさらにC言語関数呼び出し用API20をコールし、他のC言語関数をコールすることも可能である。
FIG. 2 is a block diagram for explaining the second embodiment. In the figure, 1 is a motion controller of the present invention, 3 is a real-time OS operating on the motion controller, 4 is a ladder language task of a ladder language program operating on the real-time OS 3 and synchronized with the motion control, and 18 is a ladder language. Function blocks for calling C language functions described in the program, 5 is a C language task of a C language program operating on the real-time OS 3, 20 is a C language function calling API that can be called from the C language program, and 7 is C Memory for storing language program functions, 8 and 9 are C language functions of a C language program, 19 is a functional project management having information associating the project name and start address of a C language program loaded as a functional project It is a table.
The ladder language task 4 inputs the project name of the functional project as an argument and executes the C language function calling function block 18. The function block 18 for calling a C language function searches the functional project management table 19 with a given project name to obtain the start address of the functional project, and indirectly calls the loaded C language program by calling that address. Realized as a functional project.
The C language task 5 inputs the project name of the functional project as an argument and calls the C language function calling API 19. The C language function calling API 19 searches the functional project management table 19 with the given project name to obtain the start address of the functional project, and calls the address to call the loaded C language program as an indirect function type. Realized as a project.
Although not shown, it is also possible to call the C language function calling API 20 from the called C language function to call another C language function.

図3は、第3の実施例を説明するブロック図である。図中、1は本発明のモーションコントローラであり、3はモーションコントローラ1上で動作するリアルタイムOS、4はリアルタイムOS3上で動作しモーション制御と同期したラダー言語プログラムのラダー言語タスク、21はラダー言語プログラムで記述されたタスク操作用ファンクションブロック、5と6はリアルタイムOS3上で動作するC言語プログラムのC言語タスク、23はC言語プログラムからコールすることができるタスク操作用API、22はモーションコントローラ用のエンジニアリングツール10と通信するエンジニアリングツールインターフェースである。
ラダー言語タスク4は、タスク型プロジェクトのプロジェクト名称とタスクの起床や中断など操作の種別を引数として入力してタスク操作用ファンクションブロック21を実行する。タスク操作用ファンクションブロック21は、プロジェクト名称をタスク名称として扱い、タスク操作の種別に対応したリアルタイムOS3が提供する機能をコールすることによって他のタスク型プロジェクトのタスク操作を間接的に実現している。
C言語タスク5、6は、タスク型プロジェクトのプロジェクト名称とタスクの起床や中断など操作の種別を引数として入力してタスク操作用API23をコールする。タスク操作用API23は、プロジェクト名称をタスク名称として扱いタスク操作の種別に対応したリアルタイムOS3が提供する機能をコールして他のタスク型プロジェクトのタスク操作を間接的に実現している。
エンジニアリングツール10からもタスク型プロジェクトのプロジェクト名称とタスクの起床や中断など操作の種別を含むタスク操作の指令を通信線を介してモーションコントローラ1に伝達する。タスク走査の指令を受け取ったエンジニアリングツールインターフェース22はプロジェクト名称をタスク名称として扱いタスク操作の種別に対応したリアルタイムOS3が提供する機能をコールして指定したタスク型プロジェクトのタスク操作を間接的に実現している。
FIG. 3 is a block diagram for explaining the third embodiment. In the figure, 1 is a motion controller of the present invention, 3 is a real-time OS that operates on the motion controller 1, 4 is a ladder language task of a ladder language program that operates on the real-time OS 3 and is synchronized with motion control, and 21 is a ladder language Function blocks for task operation described in the program, 5 and 6 are C language tasks of a C language program operating on the real-time OS 3, 23 is a task operation API that can be called from the C language program, and 22 is for a motion controller The engineering tool interface communicates with the engineering tool 10 of FIG.
The ladder language task 4 executes the task operation function block 21 by inputting the project name of the task type project and the type of operation such as wakeup or interruption of the task as arguments. The task operation function block 21 treats the project name as a task name, and indirectly implements the task operation of another task type project by calling a function provided by the real-time OS 3 corresponding to the type of task operation. .
The C language tasks 5 and 6 call the task operation API 23 by inputting, as arguments, the project name of the task type project and the type of operation such as wakeup or interruption of the task. The task operation API 23 treats a project name as a task name, calls a function provided by the real-time OS 3 corresponding to the type of task operation, and indirectly implements a task operation of another task type project.
The engineering tool 10 also transmits a task operation command including the project name of the task type project and the type of operation such as wakeup or interruption of the task to the motion controller 1 via the communication line. The engineering tool interface 22 that has received the task scan command indirectly handles the project name as a task name, and indirectly implements the task operation of the specified task type project by calling the function provided by the real-time OS 3 corresponding to the type of task operation. ing.

本発明は、工作機械、自動組み立て装置および自動搬送装置などの制御に用いられる数
値制御装置に適用が可能である。
The present invention can be applied to a numerical control device used for control of a machine tool, an automatic assembly device, an automatic conveyance device, and the like.

本発明のモーションコントローラのブロック図Block diagram of the motion controller of the present invention 第2実施例のモーションコントローラのブロック図Block diagram of the motion controller of the second embodiment 第3実施例のモーションコントローラのブロック図Block diagram of the motion controller of the third embodiment 従来のモーションコントローラのブロック図Block diagram of a conventional motion controller

符号の説明Explanation of symbols

1、1B モーションコントローラ、 2、31、35 マイクロプロセッサ、
3 リアルタイムOS、 4 ラダー言語タスク、
5、6 C言語タスク、 7 メモリ、
8、9 C言語関数、 10 エンジニアリングツール、
11 記憶装置、 12 タスク型プロジェクト、
13、16 C言語プログラム、 14、17 プロジェクト設定ファイル、
15 関数型プロジェクト、
18 C言語関数呼び出し用ファンクションブロック、
19 関数型プロジェクト管理テーブル、
20 C言語関数呼び出し用API、 21 タスク操作用ファンクションブロック、
22 エンジニアリングツールインターフェース、
23 タスク操作用API、
30 ラダー言語アプリケーションプログラム実行用モジュール、
32 ラダー言語アプリケーションプログラム、
33、37 BUSインターフェース、
34 C言語アプリケーションプログラム実行用モジュール、
36 C言語アプリケーションプログラム、
38 BUS
1, 1B motion controller, 2, 31, 35 microprocessor,
3 real-time OS, 4 ladder language tasks,
5, 6 C language task, 7 memory,
8, 9 C language function, 10 Engineering tool,
11 storage devices, 12 task-type projects,
13, 16 C language program, 14, 17 Project setting file,
15 Functional project,
18 C function call function block,
19 Functional project management table,
20 API for calling C language function, 21 Function block for task operation,
22 Engineering tool interface,
23 API for task operation,
30 Ladder language application program execution module,
32 Ladder language application program,
33, 37 BUS interface,
34 C language application program execution module,
36 C language application program,
38 BUS

Claims (7)

リアルタイムOSと、メモリと、ラダー言語プログラムをモーション制御周期に同期させて実行する実行手段と、前記ラダー言語プログラムとC言語プログラムの両方が動作するマイクロプロセッサと
を備えたモーションコントローラにおいて、
エンジニアリングツールのプロジェクト設定ファイルに従ってロードされた前記C言語プログラムがタスク型プロジェクトであれば前記リアルタイムOSのタスクとして動作させ、前記C言語プログラムが関数型プロジェクトであれば他のタスクから関数としてコール可能な状態で前記メモリに格納することを特徴とするモーションコントローラ。
A motion controller comprising: a real-time OS; a memory; an execution unit that executes a ladder language program in synchronization with a motion control cycle; and a microprocessor that operates both the ladder language program and the C language program.
If the C language program loaded according to the project setting file of the engineering tool is a task type project, it can be operated as a task of the real-time OS, and if the C language program is a function type project, it can be called as a function from another task. A motion controller that is stored in the memory in a state.
C言語プログラムをプロジェクトという単位で管理し、前記C言語プログラムをモーションコントローラのリアルタイムOS上で独立して動作可能なタスク型プロジェクトとしてロードするか、あるいは他のタスクからコールされることによって動作可能な関数型プロジェクトとしてロードするかのいずれかを選択する選択手段を備え、
その選択手段がいずれを選んだかという情報を含むプロジェクトの属性情報をプロジェクト設定ファイルとして保存し、前記C言語プログラムと前記プロジェクト設定ファイルを前記モーションコントローラへロードすることを特徴とするエンジニアリングツール。
The C language program is managed in units of projects, and the C language program can be loaded as a task-type project that can operate independently on the real-time OS of the motion controller, or can be operated by being called from another task. It has a selection means to select either to load as a functional project,
An engineering tool characterized by storing project attribute information including information on which selection means has been selected as a project setting file, and loading the C language program and the project setting file into the motion controller.
リアルタイムOSと、メモリと、ラダー言語プログラムをモーション制御周期に同期させて実行する実行手段と、前記ラダー言語プログラムとC言語プログラムの両方が動作するマイクロプロセッサとを備えたモーションコントローラと、
前記C言語プログラムをプロジェクトという単位で管理し、前記C言語プログラムを前記リアルタイムOS上で独立して動作可能なタスク型プロジェクトとしてロードするか、あるいは他のタスクからコールされることによって動作可能な関数型プロジェクトとしてロードするかのいずれかを選択する選択手段を備え、その選択手段がいずれを選んだかという情報を含むプロジェクトの属性情報をプロジェクト設定ファイルとして保存し、前記C言語プログラムと前記プロジェクト設定ファイルを前記モーションコントローラへロードするエンジニアリングツールとを備え、
前記プロジェクト設定ファイルに従ってロードされたC言語プログラムがタスク型プロジェクトであれば前記リアルタイムOSのタスクとして動作させ、ロードされたC言語プログラムが関数型プロジェクトであれば他のタスクから関数としてコール可能な状態で前記モーションコントローラの前記メモリに格納されることを特徴とするC言語実行システム。
A motion controller comprising a real-time OS, a memory, execution means for executing a ladder language program in synchronization with a motion control cycle, and a microprocessor for operating both the ladder language program and the C language program;
Functions that can be operated by managing the C language program in units of projects and loading the C language program as a task-type project that can operate independently on the real-time OS, or by being called from another task A selection means for selecting one of the two types of project to be loaded, and storing project attribute information including information as to which selection means has been selected as a project setting file, and the C language program and the project setting file And an engineering tool for loading to the motion controller,
If the C language program loaded in accordance with the project setting file is a task type project, it is operated as a task of the real-time OS, and if the loaded C language program is a function type project, it can be called as a function from another task. The C language execution system is stored in the memory of the motion controller.
前記関数型プロジェクトとしてロードされた前記C言語プログラムのプロジェクト名称と開始アドレスを関連付けした情報として持つ関数型プロジェクト管理テーブルと、
前記関数型プロジェクトのプロジェクト名称を引数として入力して前記関数型プロジェクト管理テーブルを検索し、前記関数型プロジェクトのプロジェクト名称から前記関数型プロジェクトの開始アドレスを求めてその開始アドレスをコールするラダー言語のファンクションブロックとを備え、
ラダー言語プログラムから前記ファンクションブロックをコールして間接的に前記関数型プロジェクトとしてロードされた前記C言語プログラムをコールすることを特徴とする請求項1に記載のモーションコントローラ。
A functional project management table having information associating the project name and start address of the C language program loaded as the functional project;
Search the functional project management table by inputting the project name of the functional project as an argument, obtain the start address of the functional project from the project name of the functional project, and call the start address of the ladder language With function blocks,
2. The motion controller according to claim 1, wherein the function block is called from a ladder language program to indirectly call the C language program loaded as the functional project.
前記関数型プロジェクトとしてロードされた前記C言語プログラムのプロジェクト名称と開始アドレスを関連付けした情報として持つ関数型プロジェクト管理テーブルと、
前記関数型プロジェクトのプロジェクト名称を引数として入力して前記関数型プロジェクト管理テーブルを検索し、前記関数型プロジェクトのプロジェクト名称から前記関数型プロジェクトの開始アドレスを求めてその開始アドレスをコールするアプリケーションインターフェースを備え、
前記タスク型プロジェクトとしてロードされた前記C言語プログラムから前記アプリケーションインターフェースをコールすることによって間接的に前記関数型プロジェクトとしてロードされた前記C言語プログラムをコールすることを特徴とする請求項1に記載のモーションコントローラ。
A functional project management table having information associating the project name and start address of the C language program loaded as the functional project;
An application interface for searching the functional project management table by inputting the project name of the functional project as an argument, obtaining a start address of the functional project from the project name of the functional project, and calling the start address Prepared,
2. The C language program loaded as the functional project is indirectly called by calling the application interface from the C language program loaded as the task type project. Motion controller.
前記タスク型プロジェクトとしてロードされた前記C言語プログラムのプロジェクト名称を前記リアルタイムOSのタスク名称としてタスクを登録し、前記タスク型プロジェクトのプロジェクト名称とタスク起床やタスクの中断などのタスク操作の種別を引数として入力し、プロジェクト名称をタスク名称として扱いタスク操作の種別に対応した前記リアルタイムOSが提供する機能をコールするラダー言語のファンクションブロックを持ち、前記ラダー言語プログラムから前記ファンクションブロックをコールすることによって間接的に他の前記タスク型プロジェクトのタスクを操作することを特徴とする請求項1に記載のモーションコントローラ。   A task is registered with the project name of the C language program loaded as the task type project as the task name of the real-time OS, and the project name of the task type project and the type of task operation such as task wakeup or task interruption are arguments. As a task name, having a ladder language function block that calls a function provided by the real-time OS corresponding to the type of task operation, and indirectly by calling the function block from the ladder language program The motion controller according to claim 1, wherein a task of another task-type project is operated. 前記タスク型プロジェクトとしてロードされた前記C言語プログラムのプロジェクト名称を前記リアルタイムOSのタスク名称としてタスクを登録し、前記タスク型プロジェクトのプロジェクト名称とタスク起床やタスクの中断などのタスク操作の種別を引数として入力し、前記プロジェクト名称をタスク名称として扱いタスク操作の種別に対応した前記リアルタイムOSが提供する機能をコールするアプリケーションインターフェースを備え、前記タスク型プロジェクトとしてロードされた前記C言語プログラムから前記アプリケーションインターフェースをコールすることによって間接的に他の前記タスク型プロジェクトのタスクを操作することを特徴とする請求項1に記載のモーションコントローラ。   A task is registered with the project name of the C language program loaded as the task type project as the task name of the real-time OS, and the project name of the task type project and the type of task operation such as task wakeup or task interruption are arguments. And the application name from the C language program loaded as the task type project, and the application interface that calls the function provided by the real-time OS corresponding to the type of task operation. The motion controller according to claim 1, wherein the task of the other task type project is indirectly operated by calling.
JP2004372761A 2004-12-24 2004-12-24 Motion controller, engineering tool, and c language execution system Pending JP2006178818A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004372761A JP2006178818A (en) 2004-12-24 2004-12-24 Motion controller, engineering tool, and c language execution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004372761A JP2006178818A (en) 2004-12-24 2004-12-24 Motion controller, engineering tool, and c language execution system

Publications (1)

Publication Number Publication Date
JP2006178818A true JP2006178818A (en) 2006-07-06

Family

ID=36732874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004372761A Pending JP2006178818A (en) 2004-12-24 2004-12-24 Motion controller, engineering tool, and c language execution system

Country Status (1)

Country Link
JP (1) JP2006178818A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009444A (en) * 2007-06-29 2009-01-15 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support apparatus, and programmable controller system
JP2009237947A (en) * 2008-03-27 2009-10-15 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support device, and programmable controller system
JP2016110220A (en) * 2014-12-02 2016-06-20 株式会社キーエンス Programmable logic controller and control method therefor
JP2018084994A (en) * 2016-11-24 2018-05-31 株式会社日立産機システム Control system and control method
WO2019097800A1 (en) 2017-11-16 2019-05-23 株式会社日立産機システム Control device
WO2019187965A1 (en) 2018-03-29 2019-10-03 株式会社日立産機システム Control device
WO2020071435A1 (en) * 2018-10-05 2020-04-09 オムロン株式会社 Development support program, development support device, and development support method
WO2020075351A1 (en) 2018-10-12 2020-04-16 株式会社日立産機システム Control device
US11487258B2 (en) 2016-09-09 2022-11-01 Hitachi Industrial Equipment Systems Co., Ltd. Controller and control management system

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009444A (en) * 2007-06-29 2009-01-15 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support apparatus, and programmable controller system
JP2009237947A (en) * 2008-03-27 2009-10-15 Fuji Electric Systems Co Ltd Programmable controller, programmable controller support device, and programmable controller system
JP2016110220A (en) * 2014-12-02 2016-06-20 株式会社キーエンス Programmable logic controller and control method therefor
US11487258B2 (en) 2016-09-09 2022-11-01 Hitachi Industrial Equipment Systems Co., Ltd. Controller and control management system
JP2018084994A (en) * 2016-11-24 2018-05-31 株式会社日立産機システム Control system and control method
WO2018096717A1 (en) * 2016-11-24 2018-05-31 株式会社日立産機システム Control system and control method
JP7085305B2 (en) 2016-11-24 2022-06-16 株式会社日立産機システム Control system and control method
JP7048638B2 (en) 2017-11-16 2022-04-05 株式会社日立産機システム Control device
JPWO2019097800A1 (en) * 2017-11-16 2020-06-25 株式会社日立産機システム Control device
US11194739B2 (en) 2017-11-16 2021-12-07 Hitachi Industrial Equipment Systems Co., Ltd. Control apparatus
KR20200012930A (en) 2017-11-16 2020-02-05 가부시키가이샤 히다치 산키시스템 Control unit
WO2019097800A1 (en) 2017-11-16 2019-05-23 株式会社日立産機システム Control device
WO2019187965A1 (en) 2018-03-29 2019-10-03 株式会社日立産機システム Control device
US11402815B2 (en) 2018-03-29 2022-08-02 Hitachi Industrial Equipment Systems Co., Ltd. Control apparatus
WO2020071435A1 (en) * 2018-10-05 2020-04-09 オムロン株式会社 Development support program, development support device, and development support method
JP2020060855A (en) * 2018-10-05 2020-04-16 オムロン株式会社 Development support program, development support device, and development support method
JP7024679B2 (en) 2018-10-05 2022-02-24 オムロン株式会社 Development support programs, development support devices, and development support methods
US11321052B2 (en) 2018-10-05 2022-05-03 Omron Corporation Development support device, development support method, and non-transitory computer readable medium
WO2020075351A1 (en) 2018-10-12 2020-04-16 株式会社日立産機システム Control device
KR20210016617A (en) 2018-10-12 2021-02-16 가부시키가이샤 히다치 산키시스템 Control device

Similar Documents

Publication Publication Date Title
US6807461B2 (en) Coordinated robot control from multiple remote instruction sources
US10365626B2 (en) Extending the functionality of a programmable logic controller (PLC) with apps without changing the PLC programming
US20180011466A1 (en) Programmable logic controller, method for controlling programmable logic controller, and control program
CN102087594A (en) Management method and device for extension point and plugins
JP2006178818A (en) Motion controller, engineering tool, and c language execution system
CN102141915B (en) Equipment real-time control method based on RTLinux
CN109937404B (en) Method and system for real-time data exchange between program modules
KR101951908B1 (en) Apparatus and method for sharing devices for robot software components
JP5382624B2 (en) Multiprocessor control device, method and program thereof
JP2004280299A (en) Controller, developing device and system
JP2009009444A (en) Programmable controller, programmable controller support apparatus, and programmable controller system
CN109857380A (en) A kind of workflow file compiling method and device
KR20100048843A (en) Robot used software component apparatus and thread processing method using by it
JP4877257B2 (en) Programmable controller, programmable controller support apparatus, and programmable controller system
CN110764759A (en) Data conversion method, storage medium and system
JP2007140611A (en) Data cooperation system
JP2008108123A (en) Module execution device, and modularization program
JP2008299763A (en) Distributed object development tool
JPH04156615A (en) System rising system
CN110520842B (en) Address space splitting system and method for traditional application compatibility
JP2005141699A (en) Apparatus for programmable controller
JP2009009314A (en) Editor device, editor program, and record medium recorded the same editor program
JP2007172263A (en) Data storage device
JPS6020206A (en) Sequence controlling system
KR100538282B1 (en) Method for debugging realtime parallel program using check point