JP2005339029A - Program cooperation system - Google Patents

Program cooperation system Download PDF

Info

Publication number
JP2005339029A
JP2005339029A JP2004154867A JP2004154867A JP2005339029A JP 2005339029 A JP2005339029 A JP 2005339029A JP 2004154867 A JP2004154867 A JP 2004154867A JP 2004154867 A JP2004154867 A JP 2004154867A JP 2005339029 A JP2005339029 A JP 2005339029A
Authority
JP
Japan
Prior art keywords
interface
simulator
application software
simulation
module
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
JP2004154867A
Other languages
Japanese (ja)
Other versions
JP2005339029A5 (en
Inventor
Tatsuto Tachibana
達人 橘
Kaoru Sato
馨 佐藤
Mitsuhiro Ito
充浩 伊藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004154867A priority Critical patent/JP2005339029A/en
Publication of JP2005339029A publication Critical patent/JP2005339029A/en
Publication of JP2005339029A5 publication Critical patent/JP2005339029A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily rearrange the combination of application softwares to be used according to purposes, in a single system where a plurality of application softwares are combined. <P>SOLUTION: This process connection means to be operated as one system, by connecting a plurality of application softwares is provided with a core part 105 for managing cooperative operations between application software and an interface part 106 directly connected to each application software. A plurality of interface modules (106-1 to 106-3), prepared only for the number of applications to be connected are configured in the interface part, and the interface modules are connected to the core part 105 by the common interface specifications, and connected to the application software by interface specifications unique to the responsible application software. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、コンピュータシステム上で複数の独立プロセスとして存在するアプリケーションソフトを1つのシステムとして同期実行させるプログラム連携システムに関するものである。   The present invention relates to a program linkage system that executes application software that exists as a plurality of independent processes on a computer system as a single system.

従来、プログラム連携システムとして、下記の特許文献1に挙げるようなものがある。この特許文献1のシステムでは、独立プロセスとして動作する複数のアプリケーションソフトを中間インターフェース部を介して連携動作させる例が示されている。中間インターフェース部は同期処理部、接続部、外部インターフェース部から構成されており、外部インターフェース部がそれぞれのアプリケーションソフトとの直接の通信を担当する。本例のシステムでは、あらかじめシステム構成が決められており、前記外部インターフェース部は固定のシステム構成にのみ対応できるようになっている。   Conventionally, as a program linkage system, there is one as listed in Patent Document 1 below. In the system of Patent Document 1, an example is shown in which a plurality of application software that operates as independent processes are operated in cooperation via an intermediate interface unit. The intermediate interface unit includes a synchronization processing unit, a connection unit, and an external interface unit, and the external interface unit is in charge of direct communication with each application software. In the system of this example, the system configuration is determined in advance, and the external interface unit can cope only with a fixed system configuration.

特開平11−327956号公報Japanese Patent Laid-Open No. 11-327956

複数のアプリケーションプログラムを連携させて1つのシステムを構成する場合、システム構成に自由度を持たせることによって、システムの汎用性、利便性が高まる。
例えば、機器制御シミュレーションを行う場合、装置を制御する中央処理装置(CPU)のシミュレータ、機構モデルのシミュレータ、その他、各種装置構成のシミュレータやシミュレーションを支援するシステムを受け持つアプリケーションソフト(以下まとめて、シミュレータアプリケーションと呼ぶ)等によってシステムが構成される。そして、これらのシステム構成は、対象となる装置やシミュレーションの目的によって異なる。
When a single system is configured by linking a plurality of application programs, the versatility and convenience of the system are enhanced by providing the system configuration with a degree of freedom.
For example, when a device control simulation is performed, a central processing unit (CPU) simulator that controls the apparatus, a simulator of a mechanism model, and other application software that is responsible for simulators of various apparatus configurations and systems that support simulation (hereinafter collectively referred to as simulators) A system is configured by an application). These system configurations differ depending on the target device and the purpose of the simulation.

CPUを複数持つシステムであれば、複数のCPUシミュレータが必要になる。また、対象となるメカ構成によって、何種類かの機構モデルシミュレータを使い分ける必要があるかもしれない。更に、機構部品のシーケンシャルな動作を簡易的にテストするためのシミュレーションの場合には、機構モデルシミュレータにシーケンシャルな信号変化を簡易的に与えるシーケンサがシステム構成にあれば動作の重いCPUシミュレータは必要なくなる。また、システムを構成する各種アプリケーションソフトは、独自開発品、市販品等の様々なものが存在し、目的に応じてより適切なものをシステムに組み込めることが望ましい。   If the system has a plurality of CPUs, a plurality of CPU simulators are required. Depending on the target mechanical configuration, it may be necessary to use several types of mechanical model simulators. Further, in the case of a simulation for simply testing the sequential operation of the mechanism parts, if the system configuration includes a sequencer that simply gives sequential signal changes to the mechanism model simulator, a CPU simulator with heavy operation is not necessary. . In addition, there are various types of application software constituting the system, such as independently developed products and commercial products, and it is desirable that more appropriate software can be incorporated into the system according to the purpose.

しかしながら、前述の従来技術では、必要なシステム構成毎に中間インターフェース部を新たに作成する必要があり、ユーザによって臨機応変にシステム構成を組み替えることができないという問題点があった。   However, the above-described conventional technology has a problem that it is necessary to newly create an intermediate interface unit for each necessary system configuration, and the system configuration cannot be rearranged flexibly by the user.

本発明は前述の問題点を鑑みてなされたもので、複数アプリケーションソフトを組み合わせた1つのシステムにおいて、目的に応じて使用するアプリケーションソフトの組み合わせを容易に組み替えることを実現するプログラム連携システムを提供することを目的とする。   The present invention has been made in view of the above-described problems, and provides a program cooperation system that realizes easy recombination of combinations of application software to be used according to the purpose in one system combining a plurality of application software. For the purpose.

そこで、本発明のプログラム連携システムでは、コンピュータシステム上で独立のプロセスとして動作する複数のアプリケーションソフトと、前記複数のアプリケーションソフトを接続して1つのシステムとして動作させるプロセス接続手段とを含み構成されるプログラム連携システムにおいて、前記プロセス接続手段に、前記各アプリケーションソフト間の連携動作の管理を行うコア部と、前記各アプリケーションソフトに直接接続されるインターフェース部とを構成し、前記インターフェース部に、接続されるアプリケーションソフトの数だけ用意される複数のインターフェースモジュールを構成し、当該インターフェースモジュールを、前記コア部と共通のインターフェース仕様により接続し、前記アプリケーションソフトと担当するアプリケーションソフト固有のインターフェース仕様により接続するようにする。これにより、簡易にシステムに使用されるアプリケーションソフトの構成を変化させることが可能になる。   Therefore, the program cooperation system of the present invention includes a plurality of application software that operates as independent processes on a computer system, and a process connection unit that connects the plurality of application softwares to operate as a single system. In the program cooperation system, the process connection means includes a core unit that manages a cooperative operation between the application software and an interface unit that is directly connected to the application software, and is connected to the interface unit. A plurality of interface modules prepared as many as the number of application software to be configured are configured, and the interface modules are connected to the core unit according to a common interface specification, and are in charge of the application software. So as to connect the application software specific interface specification. This makes it possible to easily change the configuration of application software used in the system.

また、前記コア部に、システム構成を管理するシステム管理モジュールを構成し、前記システム管理モジュールがあらかじめ設定されたシステム構成情報に応じて必要なアプリケーションソフトと当該アプリケーションソフトに対応するインターフェースモジュールとを選択的に起動することにより、システム構成の組み換えがより容易になる。   Further, a system management module for managing a system configuration is configured in the core unit, and the system management module selects necessary application software and an interface module corresponding to the application software according to preset system configuration information By starting up automatically, recombination of the system configuration becomes easier.

本出願に係る第1の発明によれば、複数アプリケーションソフトを組み合わせた1つのシステムにおいて、目的に応じて使用するアプリケーションソフトの組み合わせを容易に組み替えることができる。   According to the first aspect of the present application, in one system in which a plurality of application software is combined, the combination of application software to be used can be easily rearranged according to the purpose.

また、本出願に係る第2の発明によれば、エンドユーザがシステム構成を意識することなく容易に必要なプログラムのみを起動できるようになるため、プログラム実行においてコンピュータシステムの資源を有効に活用することができる。また、本出願に係る第3の発明によれば、システム構成の変更を所定の書式によるデータの作成のみで簡易に行うことができる。   Further, according to the second invention of the present application, since the end user can easily start only the necessary program without being aware of the system configuration, the resources of the computer system can be effectively utilized in executing the program. be able to. Further, according to the third invention of the present application, the system configuration can be changed simply by creating data in a predetermined format.

また、本出願に係る第4の発明によれば、システム構成の変更をGUIによって簡易に行うことができる。また、本出願に係る第5の発明によれば、独自の仮想時間の概念を持つ様々なアプリケーションソフトを組み合わせた場合でも、システム全体を同一の仮想時間単位で動作させることが可能になるため、システム構成の汎用性を高めることができる。   Further, according to the fourth aspect of the present application, the system configuration can be easily changed using the GUI. Further, according to the fifth invention of the present application, even when various application software having a unique concept of virtual time is combined, the entire system can be operated in the same virtual time unit. The versatility of the system configuration can be improved.

また、本出願に係る第6の発明によれば、プロセス接続手段が、それぞれが独立プロセスであるシステムを構成する複数のアプリケーションに対して個別に並列に対応できるため、スムースなシステムの連携を実現することができる。また、本出願に係る第7の発明によれば、プロセス接続手段がシステム全体の起動を管理できるため、オペレータはシステム構成を意識せずにシステムを起動することができる。   Further, according to the sixth invention of the present application, the process connection means can individually cope with a plurality of applications constituting a system each of which is an independent process, thereby realizing smooth system cooperation. can do. According to the seventh invention of the present application, since the process connection means can manage the activation of the entire system, the operator can activate the system without being aware of the system configuration.

また、本出願に係る第8の発明によれば、プロセス接続手段をシステムの中心的なアプリケーションソフトのサブプロセスとして動作させることができ、システムの中心となるアプリケーションソフトとの連携を高速に行うことができる。また、本出願に係る第9の発明によれば、前記各アプリケーション毎のインターフェースモジュールを動的にシステムに取り込むことができるため、コンピュータシステムの資源を有効活用できる。   Further, according to the eighth invention of the present application, the process connection means can be operated as a sub-process of the central application software of the system, and the cooperation with the central application software of the system can be performed at high speed. Can do. Further, according to the ninth aspect of the present application, the interface module for each application can be dynamically loaded into the system, so that the resources of the computer system can be effectively utilized.

また、本出願に係る第10の発明によれば、機器制御シミュレーションシステムにおいて、シミュレーションの対象となる機器の構成、シミュレーションの目的に応じた最適なシステムを効率よく構築することができる。また、本出願に係る第11の発明によれば、機器制御シミュレーションシステムにおいて、シミュレーションの対象となる機器の構成、シミュレーションの目的に応じたシステムの構築をエンドユーザによって容易に行うことができる。   According to the tenth aspect of the present application, in the device control simulation system, it is possible to efficiently construct an optimum system according to the configuration of the device to be simulated and the purpose of the simulation. According to the eleventh aspect of the present application, in the device control simulation system, the end user can easily construct the system according to the configuration of the device to be simulated and the purpose of the simulation.

以下、添付図面を参照して本発明の好適な実施形態を詳細に説明する。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

(第1の実施形態)
本発明の第1の実施形態に係るプログラム連携システムの機器制御シミュレーションは、パーソナルコンピュータ、ワークステーション等(以下、まとめてコンピュータシステムと呼ぶ)で実行されるプログラムとして実現されるものである。
(First embodiment)
The device control simulation of the program linkage system according to the first embodiment of the present invention is realized as a program executed on a personal computer, a workstation, or the like (hereinafter collectively referred to as a computer system).

図2は、本発明の第1の実施形態に係るプログラム連携システムの概略構成図である。
コンピュータシステム201は、中央処理装置(以下、CPUと呼ぶ)、主記憶装置(以下、RAMと呼ぶ)、ハードディスク等を内蔵した本体部202と、本体部202からの指示により画面表示を行う表示装置203と、このコンピュータシステム201にユーザの指示や文字情報を入力するためのキーボード204と、表示装置203上の任意の位置を指定することによりその位置に表示されていたアイコン等に応じた指示を入力するマウス205とを備えている。
FIG. 2 is a schematic configuration diagram of the program cooperation system according to the first embodiment of the present invention.
A computer system 201 includes a central processing unit (hereinafter referred to as a CPU), a main storage device (hereinafter referred to as a RAM), a main body unit 202 including a hard disk and the like, and a display device that performs screen display according to instructions from the main body unit 202. 203, a keyboard 204 for inputting user instructions and character information to the computer system 201, and an instruction according to an icon or the like displayed at that position by designating an arbitrary position on the display device 203 A mouse 205 for inputting is provided.

ハードディスクには、機器制御シミュレーションにおける各機能を実現したプログラム、シミュレーションの対象となる機器の情報を含むシミュレーションのための各種データが格納される。シミュレーションに際しては、前記プログラム、各種データを前記RAMにロードし、前記コンピュータシステム201のCPUによってプログラムが実行される。
これらコンピュータシステム201の基本動作は、基本プログラムであるオペレーティングシステム(以下、OSと記す)を介して実行される。以下、本実施形態では、コンピュータシステム201のOSをMicrosoft社のWindows(登録商標) OSの例で説明する。しかし、本発明は。Windows(登録商標) OS上のシステムに限定されるものではない。
The hard disk stores a program that realizes each function in the device control simulation, and various data for simulation including information on the device to be simulated. In the simulation, the program and various data are loaded into the RAM, and the program is executed by the CPU of the computer system 201.
These basic operations of the computer system 201 are executed via an operating system (hereinafter referred to as OS) which is a basic program. Hereinafter, in this embodiment, the OS of the computer system 201 will be described using an example of a Windows (registered trademark) OS of Microsoft Corporation. However, the present invention. It is not limited to the system on the Windows (registered trademark) OS.

図1は、本発明の第1の実施形態に係るプログラム連携システムの機能構成図である。
図1に示すように、このプログラム連携システムは、CPUシミュレータA(101−A),B(101−B)と、機構モデルシミュレータ102と、シミュレータアプリケーション103と、シミュレータハブ(以下、HUBと記す)104を備え構成されている。
HUB104は、コア部105(105−1〜105−3)とインターフェース部106(106−1A〜106−3)を備え構成されている。
FIG. 1 is a functional configuration diagram of the program cooperation system according to the first embodiment of the present invention.
As shown in FIG. 1, this program linkage system includes CPU simulators A (101-A) and B (101-B), a mechanism model simulator 102, a simulator application 103, and a simulator hub (hereinafter referred to as HUB). 104 is comprised.
The HUB 104 includes a core unit 105 (105-1 to 105-3) and an interface unit 106 (106-1A to 106-3).

コア部105は、システム管理モジュール105−1、同期モジュール105−2、配線モジュール105−3、ログモジュールから構成され、インターフェース部106は、CPUシミュレータインターフェースモジュール(以下、CIFモジュールと呼ぶ)106−1A,106−1B、機構モデルシミュレータインターフェース(以下、MIFモジュールと呼ぶ)106−2、シミュレータアプリケーションインターフェース(以下、AIFモジュールと呼ぶ)106−3を備え構成されている。   The core unit 105 includes a system management module 105-1, a synchronization module 105-2, a wiring module 105-3, and a log module. The interface unit 106 is a CPU simulator interface module (hereinafter referred to as a CIF module) 106-1A. , 106-1B, a mechanism model simulator interface (hereinafter referred to as MIF module) 106-2, and a simulator application interface (hereinafter referred to as AIF module) 106-3.

CPUシミュレータ101、機構モデルシミュレータ102、シミュレータアプリケーション103は、それぞれがWindows(登録商標) OS上で個別に動作するアプリケーションソフトであり、それぞれが独立したプロセスとして存在する。更に、シミュレータアプリケーション103は機能によって複数の独立プロセスで構成される場合がある。   The CPU simulator 101, the mechanism model simulator 102, and the simulator application 103 are application software that individually operates on a Windows (registered trademark) OS, and exist as independent processes. Furthermore, the simulator application 103 may be composed of a plurality of independent processes depending on functions.

本実施形態において、CPUシミュレータ101は、ダイナミックリンクライブラリ(以下、DLLと記す)で提供される外部モジュールとの間で共有メモリ、及び、関数の直接呼出し方式による外部インターフェースを有している。また、機構モデルシミュレータ102、シミュレータアプリケーション103は、ソケットインターフェースによるプロセス間通信方式による外部インターフェースを有している。   In this embodiment, the CPU simulator 101 has a shared memory with an external module provided by a dynamic link library (hereinafter referred to as DLL), and an external interface based on a direct function call method. The mechanism model simulator 102 and the simulator application 103 have an external interface based on an interprocess communication method using a socket interface.

HUB104は、前記CPUシミュレータ101の直接呼出し方式の外部インターフェースを利用するためにDLLとして提供され、CPUシミュレータ101から起動されるサブプロセスとして動作する。CPUシミュレータ101は、各種イベント発生時に、あらかじめ指定されたHUB104のコールバック関数を呼び出す。   The HUB 104 is provided as a DLL in order to use the external interface of the CPU simulator 101 that is a direct call method, and operates as a sub process activated from the CPU simulator 101. The CPU simulator 101 calls a callback function of the HUB 104 designated in advance when various events occur.

前記HUB104を構成するシステム管理モジュール105−1、同期モジュール105−2、配線モジュール105−3、ログモジュール、CIFモジュール106−1、MIFモジュール106−2、AIFモジュール105−3の各モジュールはそれぞれ独立したスレッドとして動作し、CPUシミュレータ101の起動時に呼び出されるコールバック関数から各スレッドが起動される。 The system management module 105-1, synchronization module 105-2, wiring module 105-3, log module, CIF module 106-1, MIF module 106-2, and AIF module 105-3 constituting the HUB 104 are independent of each other. Each thread is activated from a callback function that is called when the CPU simulator 101 is activated.

機構モデルシミュレータ102、シミュレータアプリケーション103は、HUB104の提供するアプリケーションプログラムインターフェース(API)を使用してHUB104との接続を行う。   The mechanism model simulator 102 and the simulator application 103 connect to the HUB 104 using an application program interface (API) provided by the HUB 104.

次に、各構成要素の機能について説明する。
CPUシミュレータ101は、シミュレーション対象となるCPU(以下、ターゲットCPUと呼ぶ)の動作をコンピュータシステム201上で実現する機能である。ここで、ターゲットCPUとは、コンピュータシステム201に搭載されているCPUではなく、シミュレーションの対象となる装置(本例ではプリンタ装置)に搭載され、該装置を制御するためのCPUのことである。
Next, the function of each component will be described.
The CPU simulator 101 is a function that realizes the operation of a CPU to be simulated (hereinafter referred to as a target CPU) on the computer system 201. Here, the target CPU is not a CPU mounted on the computer system 201 but a CPU that is mounted on an apparatus to be simulated (a printer apparatus in this example) and controls the apparatus.

CPUシミュレータ101は、ターゲットCPUの制御プログラム(以下、ターゲットファームウエアと呼ぶ)に従って、ターゲットCPUの端子に対応して定義された仮想入力端子の情報を読み込み、仮想出力端子を制御する。また、CPUシミュレータ101は、ターゲットCPUのアドレス空間に対応した仮想アドレス空間を用意している。   The CPU simulator 101 reads information on the virtual input terminals defined corresponding to the terminals of the target CPU and controls the virtual output terminals in accordance with the control program for the target CPU (hereinafter referred to as target firmware). The CPU simulator 101 prepares a virtual address space corresponding to the address space of the target CPU.

ここで、仮想アドレス空間とは、ターゲットCPUの管理するアドレス空間上の個々の領域と1対1で対応する領域をコンピュータシステム201のRAM上に定義したものである。仮想アドレス空間のコンピュータシステム201上の実アドレス値は、ターゲットCPUの扱うアドレス値と異なる。そして、CPUシミュレータ101は、ターゲットファームウエアによるターゲットCPUアドレス空間上のアドレス値へのアクセス命令に従って、仮想アドレス空間上の対応する領域にアクセスする。   Here, the virtual address space is defined on the RAM of the computer system 201 as an area corresponding to each area on the address space managed by the target CPU on a one-to-one basis. The real address value on the computer system 201 in the virtual address space is different from the address value handled by the target CPU. Then, the CPU simulator 101 accesses a corresponding area on the virtual address space in accordance with an access instruction for an address value on the target CPU address space by the target firmware.

また、ターゲットCPUのレジスタ類も、前記仮想アドレス空間上に対応する領域が設定され、レジスタ類へのアクセスも仮想アドレス空間へのアクセスによってシミュレーションされる。   In the registers of the target CPU, corresponding areas are set on the virtual address space, and access to the registers is simulated by accessing the virtual address space.

CPUシミュレータ101は、外部インターフェースとしてターゲットCPUのI/Oメモリ、レジスタアクセスのためのメソッドを用意している。外部モジュールは、これらのメソッドにより前記仮想アドレス空間へのアクセスを行う。   The CPU simulator 101 provides a target CPU I / O memory and a method for register access as an external interface. The external module accesses the virtual address space using these methods.

コンピュータシステム201上でのターゲットファームウエアの処理のシミュレーション方法としては、ターゲットファームウエアのソースプログラムをコンピュータシステム201のネイティブ言語に変換して実行する方式と、ターゲットCPUの実行命令を1語ずつ解釈し、コンピュータシステム201のCPUに対応した実行命令に翻訳しながら実行する方式がある。本発明は何れのCPUシミュレーション方式にも対応する。   As a simulation method of target firmware processing on the computer system 201, the target firmware source program is converted into the native language of the computer system 201 and executed, and the execution instruction of the target CPU is interpreted word by word. There is a method of executing while translating into an execution instruction corresponding to the CPU of the computer system 201. The present invention is compatible with any CPU simulation method.

前記のように、CPUシミュレータ101のイベント毎に、HUB104のコールバック関数が呼び出される。CPUシミュレータ101が前記コールバック関数を呼び出すイベントの例としては、CPUシミュレータ101の状態に関するもの(起動、初期化終了等)や、ターゲットCPUの動作シミュレーション上のイベント(メモリアクセス、割り込み発生等)がある。   As described above, the callback function of the HUB 104 is called for each event of the CPU simulator 101. Examples of events for the CPU simulator 101 to call the callback function include events related to the state of the CPU simulator 101 (startup, initialization end, etc.) and events on the operation simulation of the target CPU (memory access, interrupt occurrence, etc.). is there.

機構モデルシミュレータ102は、アクチュエータ、センサを含む複数の部品からなる機構モデルを前記コンピュータ上で擬似的に動作させる機能である。機構モデルの各要素(以下、機構部品と呼ぶ)は、ユーザにより形状、種類、動作、機構部品間の干渉と連携条件等が定義される。更に、センサ、アクチュエータについては外部信号定義が行われる。これら機構部品の定義はCAD図面からの自動設定、専用の機構モデル作成ソフトウエアをユーザが操作して設定、その両方の組み合わせで設定するなどして行われる。   The mechanism model simulator 102 is a function for operating a mechanism model composed of a plurality of parts including an actuator and a sensor on the computer in a pseudo manner. Each element of the mechanism model (hereinafter referred to as a mechanism part) is defined by the user in terms of shape, type, operation, interference between mechanism parts, linkage conditions, and the like. Further, external signals are defined for sensors and actuators. These mechanical parts are defined by automatic setting from a CAD drawing, setting by operating a dedicated mechanism model creation software by a user, or a combination of both.

前記のように定義される機構部品の種類としては単なる物体と定義される物と機能定義がなされるもの(モータ、ソレノイド、クラッチ、センサ、歯車、カム、ローラ等)がある。また、機構部品には、対象となる装置の構成物ではないもので装置の動作シミュレーションに必要なもの(プリンタ装置における用紙等)も含まれる。また、前記のように構築された機構モデルは、コンピュータシステム201の表示装置203上に2次元、又は3次元のグラフィックとして表示される。   As the types of mechanical parts defined as described above, there are those defined as simple objects and those defined as functions (motors, solenoids, clutches, sensors, gears, cams, rollers, etc.). In addition, the mechanical parts include those that are not components of the target device and that are necessary for the operation simulation of the device (such as paper in a printer device). The mechanism model constructed as described above is displayed as a two-dimensional or three-dimensional graphic on the display device 203 of the computer system 201.

機構モデルシミュレータ102は、CPUシミュレータ101からHUB104を介して送られてきたアクチュエータ動作信号に対応して、該当するアクチュエータの機構モデルを定義された動きで動作させる。更に機構定義に基づきアクチュエータに連結された機構部品をアクチュエータの動作に関連付けて定義された動きで動作させる。また、オペレータの操作により動作する機構については、前記キーボード204、マウス205によってオペレータによる機構部品への操作を擬似的に再現し、擬似操作に応じて対象となる機構部品を定義された動きで動作させる。更に、機構部品間の干渉、連携定義に従い、関連する全ての機構部品の動作が再現される。   In response to the actuator operation signal sent from the CPU simulator 101 via the HUB 104, the mechanism model simulator 102 operates the mechanism model of the corresponding actuator in a defined motion. Furthermore, based on the mechanism definition, the mechanical component connected to the actuator is operated in a motion defined in association with the operation of the actuator. In addition, for a mechanism that is operated by an operator's operation, the operation of the mechanical part by the operator is simulated by the keyboard 204 and the mouse 205, and the target mechanical part is operated in a defined motion according to the simulated operation. Let Furthermore, the operation of all related mechanical components is reproduced according to the interference between the mechanical components and the linkage definition.

これら機構部品の動作は、前記表示装置203に表示されたグラフィックとして再現されるとともに、機構モデルの動作の結果、センサとして定義された機構モデルにあらかじめ定義された作用が発生すると、作用に応じたセンサ信号を発生させ、そのセンサ信号は、CPUシミュレータ101にHUB104を介して送信される。   The operation of these mechanical components is reproduced as a graphic displayed on the display device 203, and when a predefined action occurs in the mechanical model defined as a sensor as a result of the movement of the mechanical model, the operation according to the action is performed. A sensor signal is generated, and the sensor signal is transmitted to the CPU simulator 101 via the HUB 104.

シミュレータアプリケーション103は、機器制御シミュレーションシステムによる各種試験のための支援プログラムであり、仮想装置に対する各種外的作用を設定したりシミュレーションの結果を解析、表示、保存する機能をもつ。   The simulator application 103 is a support program for various tests by the device control simulation system, and has a function of setting various external actions on the virtual device and analyzing, displaying, and saving the simulation result.

シミュレーションの対象となる実際の装置は、その装置を使用するオペレータやその装置に接続されたコンピュータシステム等により外部から様々な作用を受けて動作する。シミュレータアプリケーション103は、これら外的作用のうち、機構モデルシミュレータ102で設定されるメカニカルな外的作用以外のものを擬似的に設定する手段を提供する。本実施形態における対象装置であるプリンタ装置の例では、メカニカルな外的作用としては給紙カセットの操作や消耗部品の取り外し、取り付け等が挙げられる。一方、それ以外の外的作用としては、ホストPCからの各種命令の受信、オペレータによるオペレーションパネルの操作、環境温度の変化等が挙げられる。   An actual device to be simulated is operated under various actions from the outside by an operator who uses the device or a computer system connected to the device. The simulator application 103 provides means for artificially setting one of these external actions other than the mechanical external action set by the mechanism model simulator 102. In the example of the printer device that is the target device in the present embodiment, mechanical external operations include operation of a paper feed cassette, removal and attachment of consumable parts, and the like. On the other hand, other external actions include receiving various commands from the host PC, operating the operation panel by the operator, changing the environmental temperature, and the like.

シミュレータアプリケーション103は、これらを設定するための専用のユーザインターフェース(以下、UIと記す)を提供する。また、シミュレータアプリケーション103は、当該UIによる設定に従ってHUB104を介してCPUシミュレータ101や機構モデルシミュレータ102に所定の外的作用を与える。また、シミュレータアプリケーション103は、コンピュータシステム201のハードディスクに格納された、連続した外的作用の設定手順を記述したマクロ命令ファイルや一連の外的作用データを記述したファイルを、必要に応じて読み出しHUB104を介してCPUシミュレータ101や機構モデルシミュレータ102に対して一連の外的作用を与える。   The simulator application 103 provides a dedicated user interface (hereinafter referred to as UI) for setting them. Also, the simulator application 103 gives a predetermined external action to the CPU simulator 101 and the mechanism model simulator 102 via the HUB 104 according to the setting by the UI. Further, the simulator application 103 reads a macro instruction file describing a procedure for setting continuous external actions and a file describing a series of external action data stored in the hard disk of the computer system 201 as needed. A series of external actions are given to the CPU simulator 101 and the mechanism model simulator 102 via

前記のような外的作用の設定機能のほかに、シミュレータアプリケーション103は、シミュレーションの結果として出力される各種データを解析、評価し、試験目的に応じた各種情報を表示装置203に表示したりハードディスクに保存する機能を有している。
具体的には、各種信号の変化をタイミングチャートとして表示したり、一連の動作をあらかじめ想定された動作と比較してその正当性を評価する、また、不正な事象を可視的に表示する等の機能を有している。
In addition to the external action setting function as described above, the simulator application 103 analyzes and evaluates various data output as a result of the simulation, and displays various information according to the test purpose on the display device 203 or a hard disk. It has a function to save.
Specifically, various signal changes can be displayed as a timing chart, a series of operations can be compared with previously assumed operations to evaluate their legitimacy, and illegal events can be displayed visually. It has a function.

前記のようにHUB104は、コア部105とインターフェース部106とから構成され、更に、コア部105はシステム管理モジュール105−1、同期モジュール105−2、配線モジュール105−3、ログモジュールから、インターフェース部106はCIFモジュール106−1、MIFモジュール106−2、AIFモジュール106−3から構成される。   As described above, the HUB 104 includes the core unit 105 and the interface unit 106, and the core unit 105 includes the system management module 105-1, the synchronization module 105-2, the wiring module 105-3, and the log module, and the interface unit. 106 includes a CIF module 106-1, an MIF module 106-2, and an AIF module 106-3.

コア部105は、システム構成に合わせたHUBモジュールの設定、CPUシミュレータ101、機構モデルシミュレータ102、シミュレータアプリケーション103(以下、まとめて周辺シミュレーションツールと記す)間のデータ伝送管理、同期処理、データ伝送履歴(以下、ログと記す)取得を行う。インターフェース部106は、コア部105と各周辺シミュレーションツールとの接続を仲介し、HUB104の外部インターフェースを各周辺シミュレーションツールのインターフェース仕様に対応させる。   The core unit 105 sets the HUB module according to the system configuration, data transmission management between the CPU simulator 101, the mechanism model simulator 102, and the simulator application 103 (hereinafter collectively referred to as the peripheral simulation tool), synchronization processing, data transmission history (Hereinafter referred to as a log). The interface unit 106 mediates the connection between the core unit 105 and each peripheral simulation tool, and associates the external interface of the HUB 104 with the interface specification of each peripheral simulation tool.

システム管理モジュール105−1は、あらかじめ設定されたシステム構成定義情報に応じてインターフェースモジュールの構成を管理する。同期モジュール105−2は、各インターフェースモジュールから渡されるインターバル通知をもとに、全周辺シミュレーションツールの動作をシミュレーション上の1単位時間間隔で同期させる。   The system management module 105-1 manages the configuration of the interface module in accordance with preset system configuration definition information. The synchronization module 105-2 synchronizes the operations of all peripheral simulation tools at one unit time intervals on the simulation based on the interval notifications passed from each interface module.

機器制御シミュレーションでは複数の独立プロセスである周辺シミュレーションツールを組み合わせて動作させるため、それぞれの持つ仮想時間を同期させる必要がある。この方法として、同期モジュール105−2は、各インターフェースモジュールを介してそれぞれの周辺シミュレーションツールにあらかじめ定義した1同期間隔の実行を指示する。   In the device control simulation, since the peripheral simulation tools that are a plurality of independent processes are operated in combination, it is necessary to synchronize their virtual times. As this method, the synchronization module 105-2 instructs each peripheral simulation tool to execute one synchronization interval through each interface module.

そして、各インターフェースモジュールを介してそれぞれの周辺シミュレーションツールから1同期間隔の動作終了の通知を受ける。全周辺シミュレーションツールから1同期間隔の動作終了通知を受けた時点で、次の1同期の実行処理に移る。以上の処理の繰り返しにより機器制御シミュレーションシステムを構成する全システムを同じ仮想時間の中で動作させることができる。   Then, the notification of the end of the operation at one synchronization interval is received from each peripheral simulation tool via each interface module. When a notification of operation completion at one synchronization interval is received from all peripheral simulation tools, the process proceeds to the next one synchronization execution process. By repeating the above processing, all the systems constituting the device control simulation system can be operated in the same virtual time.

配線モジュール105−3は、あらかじめ設定された配線定義情報をもとに、周辺シミュレーションツール間を接続する。また、配線モジュール105−3は、各インターフェースモジュールに対してデータ送受信のメソッドを提供する。 The wiring module 105-3 connects the peripheral simulation tools based on the wiring definition information set in advance. Further, the wiring module 105-3 provides a data transmission / reception method to each interface module.

ログモジュールは、配線モジュール105−3と各インターフェースモジュール間でやり取りされる送受信データを、シミュレーション時間情報とともに所定の書式でファイルに記録する。このとき、シミュレータアプリケーション103によるタイミングチャートの作成、試験結果の解析、評価は、ログモジュールによって取得したログ情報を使用する。 The log module records transmission / reception data exchanged between the wiring module 105-3 and each interface module in a file in a predetermined format together with simulation time information. At this time, the log information acquired by the log module is used for creation of a timing chart, analysis of test results, and evaluation by the simulator application 103.

CIFモジュール106−1、MIFモジュール106−2、AIFモジュール106−3の基本機能は、以下のとおりである。
まず、あらかじめ設定された端子定義情報に基づき各周辺シミュレーションツールと配線モジュール105−3との接続を行う。そして、周辺シミュレーションツールからのデータ出力に応じて配線モジュール105−3のデータ送受信メソッドを呼び出してデータを配線モジュール105−3に渡し、配線モジュール105−3からのデータ設定要求に応じて周辺シミュレーションツールにデータを送る。また、同期モジュール105−2の同期実行要求に応じて周辺シミュレーションツールに所定の同期間隔での動作を指示し、1同期間隔処理終了を同期モジュール105−2に報知する。
The basic functions of the CIF module 106-1, the MIF module 106-2, and the AIF module 106-3 are as follows.
First, each peripheral simulation tool and the wiring module 105-3 are connected based on terminal definition information set in advance. Then, the data transmission / reception method of the wiring module 105-3 is called according to the data output from the peripheral simulation tool, the data is passed to the wiring module 105-3, and the peripheral simulation tool is responded to the data setting request from the wiring module 105-3. Send data to. Further, in response to a synchronization execution request from the synchronization module 105-2, the peripheral simulation tool is instructed to operate at a predetermined synchronization interval, and the synchronization module 105-2 is notified of the end of one synchronization interval process.

ここで、シミュレーションの対象となる装置毎に使用しているCPUが異なり、各CPUに対応したCPUシミュレータが異なる外部インターフェースを持つ場合には、それぞれに対応したインターフェースモジュールが必要になる。   Here, when the CPU used for each apparatus to be simulated is different and the CPU simulator corresponding to each CPU has a different external interface, an interface module corresponding to each CPU is required.

本発明のプログラム連携システムでは、インターフェースモジュールを、対象となる周辺シミュレーションツール毎にそのインターフェース仕様に合わせて用意し、システム構成に合わせてインターフェースモジュールを選択的に使い分けることにより、様々な周辺シミュレーションツールをシステム構成として組み込み可能としている。ここで、2つの異なる外部インターフェースを持つCPUシミュレータを例に、インターフェースモジュールの制御を説明する。   In the program linkage system of the present invention, interface modules are prepared according to the interface specifications for each target peripheral simulation tool, and various peripheral simulation tools can be used by selectively using the interface modules according to the system configuration. It can be incorporated as a system configuration. Here, control of the interface module will be described by taking a CPU simulator having two different external interfaces as an example.

前記のとおり、CPUシミュレータ101は、イベント毎にHUB104のコールバック関数を呼び出す。このコールバックの方式が異なる外部インターフェースを持つ2つのCPUシミュレータを想定する。   As described above, the CPU simulator 101 calls the callback function of the HUB 104 for each event. Assume two CPU simulators having external interfaces with different callback methods.

−CPUシミュレータA−
初期設定でイベント毎に対応するコールバック関数の登録を受け、イベント発生時に対応するコールバック関数を呼び出す。
-CPU simulator A-
In the initial setting, the callback function corresponding to each event is registered, and the corresponding callback function is called when the event occurs.

−CPUシミュレータB−
初期設定で指定された1つのコールバック関数を、イベント毎に呼び出す。呼び出し時に発生イベント情報をパラメータとして渡す。
-CPU simulator B-
One callback function specified by default is called for each event. Pass event information as a parameter when calling.

HUB104は、前記のようにCPUシミュレータ101とは、CIFモジュール106−1を介して接続されている。以下、上記CPUシミュレータ101−Aのインターフェースに対応したCIFモジュールをCIFモジュール106−1A、CPUシミュレータ101−Bのインターフェースに対応したCIFモジュールをCIFモジュール106−1Bと呼ぶ。   As described above, the HUB 104 is connected to the CPU simulator 101 via the CIF module 106-1. Hereinafter, the CIF module corresponding to the interface of the CPU simulator 101-A is referred to as CIF module 106-1A, and the CIF module corresponding to the interface of the CPU simulator 101-B is referred to as CIF module 106-1B.

CIFモジュール106−1Aは、図3のようにCPUシミュレータ101−Aの初期化時に呼び出される初期化コールバック関数と、各種イベントに対応したコールバック関数の集合であるコールバック関数群を持っている。初期化コールバック関数はmCPUシミュレータ101−Aから立ち上げ時に呼び出される関数としてあらかじめ指定されている関数である。CIFモジュール106−1Aは、初期化コールバック関数の中で、各種イベント毎に呼び出されるコールバック関数をCPUシミュレータ101−Aに登録する。具体的には、CPUシミュレータ101−Aの外部I/Fとして提供されるコールバック関数登録のための関数により、以下のようなコーリングシーケンスにより登録する。   As shown in FIG. 3, the CIF module 106-1A has an initialization callback function that is called when the CPU simulator 101-A is initialized, and a callback function group that is a set of callback functions corresponding to various events. . The initialization callback function is a function designated in advance as a function to be called when the mCPU simulator 101-A starts up. The CIF module 106-1A registers in the CPU simulator 101-A a callback function that is called for each event in the initialization callback function. Specifically, registration is performed by the following calling sequence by a function for callback function registration provided as an external I / F of the CPU simulator 101-A.

func_entry ( EVENT_ID, FUNC_PTR, DATA_PTR);
func_entry … コールバック関数登録関数名
EVENT_ID … 登録するコールバック関数呼び出しイベントのID(あらかじめ各イベント毎に指定された番号)
FUNC_PTR … コールバック関数へのポインタ
DATA_PTR … コールバック関数に渡されるデータ領域へのポインタ
func_entry (EVENT_ID, FUNC_PTR, DATA_PTR);
func_entry ... Callback function registration function name
EVENT_ID ... ID of the callback function call event to be registered (a number specified in advance for each event)
FUNC_PTR ... Pointer to callback function
DATA_PTR ... Pointer to the data area passed to the callback function

CPUシミュレータ101−Aは、上記のように登録されたコールバック関数を指定されたイベント発生時に呼び出す。CIFモジュール106−1Aは、各コールバック関数により各種イベントに対する処理を実現する。例として、CPUシミュレータ101のリードイベントに対する処理を説明する。リードイベントは、CPUシミュレータ101によるターゲットCPUの実行命令シミュレーションにおいて、データ読み出し命令の直前に発生するイベントである。   The CPU simulator 101-A calls the callback function registered as described above when a specified event occurs. The CIF module 106-1A implements processing for various events by each callback function. As an example, processing for a lead event of the CPU simulator 101 will be described. The read event is an event that occurs immediately before the data read command in the target CPU execution command simulation by the CPU simulator 101.

図4は、リードイベントに対するCIFモジュール106−1の処理のフローチャートである。
まず、ステップS401では、リードイベントの対象となったリード動作のアクセスアドレスをCPUシミュレータより取得する。本例のCPUシミュレータAでは、コールバック時にパラメータとしてアクセスアドレスが渡される。
FIG. 4 is a flowchart of processing of the CIF module 106-1 for a read event.
First, in step S401, the access address of the read operation that is the target of the read event is acquired from the CPU simulator. In the CPU simulator A of this example, an access address is passed as a parameter at the time of callback.

続いて、ステップS402では、当該アドレスがターゲットCPUの仮想アドレス上の外部アクセス領域かどうかを判別する。外部アクセス領域でない場合には、リード処理に対するシミュレーションは、CPUシミュレータ101内で完結するため、終了する。外部アクセス領域である場合には、続いて、ステップS403で外部アクセス領域に対応する外部データを配線モジュールより取得する。これは、機構モデルシミュレータ102、シミュレータアプリケーション103から与えられるデータである。   Subsequently, in step S402, it is determined whether or not the address is an external access area on the virtual address of the target CPU. If it is not the external access area, the simulation for the read process is completed in the CPU simulator 101, and is terminated. If it is an external access area, then in step S403, external data corresponding to the external access area is acquired from the wiring module. This is data given from the mechanism model simulator 102 and the simulator application 103.

続いて、ステップS404では、CPUシミュレータに前記データを当該外部アドレス領域に設定するよう指示する。この指示は、CPUシミュレータ101から提供されるあらかじめ指定されているメソッドによって行う。   In step S404, the CPU simulator is instructed to set the data in the external address area. This instruction is performed by a method designated in advance provided from the CPU simulator 101.

CIFモジュール106−1Bは、図5のようにCPUシミュレータ101−Bのから呼び出されるコールバック関数と、各種イベントに対応した関数の集合である関数群を持っている。コールバック関数は、CPUシミュレータ101−Bから各種イベント発生時に呼び出される関数としてあらかじめ指定されている関数である。   As shown in FIG. 5, the CIF module 106-1B has a callback function called from the CPU simulator 101-B and a function group that is a set of functions corresponding to various events. The callback function is a function designated in advance as a function that is called from the CPU simulator 101-B when various events occur.

CPUシミュレータ101−Bは、イベント発生時に発生したイベントのID(あらかじめ各イベント毎に指定された番号)を引数として、CIFモジュール1−Bのコールバック関数を呼び出す。CIFモジュール106−1Bは、図6に示すようなイベント−関数テーブルを持ち、コールバック関数の中で前記テーブルを参照することによってIDで指定されたイベントに対応する関数を呼び出す。   The CPU simulator 101-B calls the callback function of the CIF module 1-B using as an argument the ID of the event that occurred when the event occurred (a number specified in advance for each event). The CIF module 106-1B has an event-function table as shown in FIG. 6, and calls the function corresponding to the event specified by the ID by referring to the table in the callback function.

CIFモジュール106−1Bは、各関数により各種イベントに対する処理を実現する。CPUシミュレータ101のリードイベントに対する処理を例にとると、処理の流れは、CIFモジュール106−1Aのリードイベントに対するコールバック関数(図4)と同じになる。ただし、CPUシミュレータ101Bからのリードアドレスの取得、CPUシミュレータ101へのデータ設定はCPUシミュレータ101Bから提供されるメソッドによって行う。   The CIF module 106-1B realizes processing for various events by each function. Taking the process for the read event of the CPU simulator 101 as an example, the process flow is the same as the callback function (FIG. 4) for the read event of the CIF module 106-1A. However, the acquisition of the read address from the CPU simulator 101B and the data setting to the CPU simulator 101 are performed by a method provided from the CPU simulator 101B.

システム構築に際して、以上のようにして用意されたインターフェースモジュールを使用するCPUシミュレータに合わせてよって入れ替えるだけでことにより外部インターフェース仕様の違いに対応できる。   When the system is constructed, it is possible to cope with the difference in the external interface specifications by simply replacing the interface module prepared as described above according to the CPU simulator.

(第2の実施形態)
本発明の第1の実施形態では、周辺シミュレーションツールの外部インターフェース接続方式の違いに対するインターフェース部の対応を例に説明をしたが、本発明の第2の実施形態では、周辺シミュレーションツールへの指示方式の違いに対するインターフェース部の対応を説明する。
(Second Embodiment)
In the first embodiment of the present invention, the correspondence of the interface unit to the difference in the external interface connection method of the peripheral simulation tool has been described as an example. However, in the second embodiment of the present invention, the instruction method to the peripheral simulation tool is described. The correspondence of the interface unit to the difference will be described.

図7は、本発明の第2の実施形態に係るプログラム連携システムの機能構成図である。
図7に示すように、プログラム連携システムは、CPUシミュレータ701と、機構モデルシミュレータ702−Aと、機構モデルシミュレータ702−Bと、シミュレータアプリケーション703と、HUB704とを備え構成されている。
FIG. 7 is a functional configuration diagram of the program cooperation system according to the second embodiment of the present invention.
As shown in FIG. 7, the program linkage system includes a CPU simulator 701, a mechanism model simulator 702-A, a mechanism model simulator 702-B, a simulator application 703, and a HUB 704.

本実施形態においては、CPUシミュレータ701は、他の周辺シミュレーションツールと同様にソケットインターフェースによるプロセス間通信方式の外部インターフェースを有しており、HUB704は、独立プロセスとして存在し、メインプロセスのシステム管理モジュール705−1から同期、配線、インターフェースの各モジュールが起動される形態を例に説明する。しかし、以下のシステム構成の変化への対応手段は、第1の実施形態のようなHUBの形態の場合にも適用できる。   In the present embodiment, the CPU simulator 701 has an external interface of an inter-process communication system using a socket interface as in other peripheral simulation tools, and the HUB 704 exists as an independent process, and is a system management module for the main process. An example in which the synchronization, wiring, and interface modules are activated from 705-1 will be described as an example. However, the following means for dealing with changes in the system configuration can also be applied to the case of the HUB form as in the first embodiment.

ここで、システムに機構モデルシミュレータを1つだけ組み込む場合と、機構モデルシミュレータを2つ組み込む場合の2つの構成を切り換える例について説明する。   Here, an example will be described in which two configurations are switched between a case where only one mechanism model simulator is incorporated into the system and a case where two mechanism model simulators are incorporated.

このようなケースとしては、例えば、機構モデルシミュレータとして装置全体の機構をより簡潔にシミュレーションするもの(以下、機構モデルシミュレータAとする)と、機構部品の一部の動作をより詳細にシミュレーションするもの(以下、機構モデルシミュレータBとする)が存在し、通常の全体的なシーケンス確認には機構モデルシミュレータAのみ、全体のシーケンスの中で機構部品の一部のより詳細な動作解析には機構モデルシミュレータAとBの両方をシステムに組み込むというような場合が想定される。   Such cases include, for example, a mechanism model simulator that simulates the mechanism of the entire apparatus more simply (hereinafter referred to as mechanism model simulator A) and a part of the operation of the mechanism parts that is simulated in more detail. (Hereinafter referred to as mechanism model simulator B) exists, and only the mechanism model simulator A is used for normal overall sequence confirmation, and a mechanism model is used for more detailed motion analysis of some of the mechanical components in the entire sequence. A case is assumed in which both simulators A and B are incorporated into the system.

本実施形態では、前記2つの機構モデルシミュレータに関してモータモデル定義が異なる場合を例に、本発明に関る機能を説明する。   In the present embodiment, functions related to the present invention will be described by taking as an example a case where the motor model definition differs between the two mechanism model simulators.

実機におけるステッピングモータは、ステッピングモータの各相に与えられる駆動パルスがCPUの出力信号によって制御され動作する。具体的には、CPUはステッピングモータの各相に与える駆動パルス間隔を変化させることにより回転速度を制御し、駆動パルスの変化順により回転方向を制御する。これらはステッピングモータドライバーICを介して行われ、ステッピングモータドライバーICの種類により、CPUによる制御方式も異なる。本実施形態では、CPUからステッピングモータドライバーICへステッピングモータへの通電のオン、オフの指定信号と全相の駆動パルス信号を出力する方式を例にとる。また、本例でシミュレーションするステッピングモータの1パルスあたりの回転角度は7.5°とする。   The stepping motor in the actual machine operates by controlling the drive pulse given to each phase of the stepping motor by the output signal of the CPU. Specifically, the CPU controls the rotation speed by changing the drive pulse interval applied to each phase of the stepping motor, and controls the rotation direction according to the change order of the drive pulses. These are performed via a stepping motor driver IC, and the control method by the CPU differs depending on the type of the stepping motor driver IC. In the present embodiment, an example is a method in which the stepping motor driver IC outputs an on / off designation signal for energization of the stepping motor and a driving pulse signal for all phases to the stepping motor driver IC. The rotation angle per pulse of the stepping motor simulated in this example is 7.5 °.

前記のような方式からCPUシミュレータ701とHUB704の接続定義情報としては、ステッピングモータの各相の駆動パルス信号と通電のオン、オフ信号が定義される。機構モデルシミュレータ102の接続定義については以下に述べる。   As the connection definition information between the CPU simulator 701 and the HUB 704, the driving pulse signal of each phase of the stepping motor and the on / off signal of energization are defined. The connection definition of the mechanism model simulator 102 will be described below.

機構モデルシミュレータ102のモータモデルの駆動指示方式として、以下のような2つ方式を想定する。   The following two methods are assumed as drive instruction methods for the motor model of the mechanism model simulator 102.

−機構モデルシミュレータA−
モータモデルに対して、回転速度[rpm]、回転方向を指定し、回転を指示する。
-Mechanical model simulator A-
For the motor model, specify the rotation speed [rpm], the rotation direction, and instruct the rotation.

−機構モデルシミュレータB−
モータモデルに対して、1パルスあたりの回転角[°]、回転方向を指定し、パルス信号情報を与える。
-Mechanical model simulator B-
For the motor model, a rotation angle [°] per pulse and a rotation direction are designated, and pulse signal information is given.

MIFモジュール706−2は、他のHUBモジュールとは独立のスレッドで、システム管理モジュール105−1からシステム立ち上げ時に起動された後、コア部705と機構モデルシミュレータ702−A、Bとの接続を常時管理しており、ステッピングモータ接続に関しては、コア部705の配線モジュール705−3を介してCPUシミュレータ701から送られるステッピングモータの各相の駆動パルス信号と通電のオン、オフ信号に応じて、機構モデルシミュレータ702−A、Bのモータモデルに対して回転動作実行を外部インターフェース仕様に即した方法で指示する。   The MIF module 706-2 is a thread independent of other HUB modules, and is activated when the system is started up from the system management module 105-1, and then connects the core unit 705 to the mechanism model simulators 702-A and B. As for the stepping motor connection, the stepping motor connection is based on the drive pulse signal of each phase of the stepping motor sent from the CPU simulator 701 via the wiring module 705-3 of the core unit 705 and the ON / OFF signal of energization The rotation model execution is instructed to the motor models of the mechanism model simulators 702-A and B by a method according to the external interface specifications.

図8は、ステッピングモータ制御シミュレーションに関するMIFモジュール706−Aのステッピングモータ接続機能の制御フローチャートである。   FIG. 8 is a control flowchart of the stepping motor connection function of the MIF module 706-A relating to the stepping motor control simulation.

ステップS801では、パルスカウンターをクリアする。パルスカウンターは配線モジュール705−3から送られてくるステッピングモータの励磁パルスからステッピングモータの動作量をカウントするためのものである。カウント方法は後述する。   In step S801, the pulse counter is cleared. The pulse counter is for counting the operation amount of the stepping motor from the excitation pulse of the stepping motor sent from the wiring module 705-3. The counting method will be described later.

続いて、ステップS802では、ステッピングモータ通電信号がオンになるのを待つ。ステッピングモータ通電オンになると、続いて、ステップS803では、ステッピングモータ駆動パルス信号として定義された各信号の変化を待つ。ここで、いずれかの駆動パルス信号に変化があった場合、続いて、ステップS804では、パルス変化を解析しステッピングモータの動作を決定する。   Subsequently, in step S802, the process waits for the stepping motor energization signal to turn on. When the stepping motor energization is turned on, subsequently, in step S803, a change in each signal defined as the stepping motor drive pulse signal is awaited. Here, if any of the driving pulse signals has changed, then in step S804, the pulse change is analyzed to determine the operation of the stepping motor.

ステッピングモータの回転方向は各駆動パルスの変化パターンによって一義的に決まる。この決定方法については公知であるため詳述は避けるが、以下に簡単に説明する。   The rotation direction of the stepping motor is uniquely determined by the change pattern of each drive pulse. Since this determination method is well known, it will not be described in detail, but will be briefly described below.

ステッピングモータの駆動方法としては、1相励磁、2相励磁、1-2相励磁がある。図10のように何れの方法においても励磁相が0(OFF)から1(ON)に切り替わる順番で回転方向が決まる。ステップS804では、駆動パルス信号の入力がある毎にパルス信号の状態を確認し、パルス信号変化の順番により回転の有無と回転がある場合の回転方向を解析する。ステップS804でのパルス解析の後、ステップS805でパルスカウンターのカウント処理を行う。ここで、ステップS804でのパルス変化解析の結果、パルス信号が正回転方向に変化している場合にはカウンターを1カウントアップし、逆回転方向に変化している場合にはカウンターを1カウントダウンする。   Stepping motor driving methods include one-phase excitation, two-phase excitation, and 1-2 phase excitation. As shown in FIG. 10, in any method, the rotation direction is determined in the order in which the excitation phase is switched from 0 (OFF) to 1 (ON). In step S804, the state of the pulse signal is confirmed every time a drive pulse signal is input, and the presence / absence of rotation and the rotation direction when there is rotation are analyzed according to the order of pulse signal change. After the pulse analysis in step S804, the pulse counter is counted in step S805. Here, as a result of the pulse change analysis in step S804, if the pulse signal is changing in the forward rotation direction, the counter is incremented by one, and if the pulse signal is changing in the reverse rotation direction, the counter is counted down by one. .

パルス信号に変化がない場合、及び、パルス信号の変化が正しくモータを回転させることができないパターンの場合にはパルスカウンター値を変化させない。ステップS805でのパルスカウンターのカウント処理の後、ステップS806で同期信号のチェックを行う。同期信号は、同期モジュール705−2による同期制御のために、MIFモジュール706−2Aが機構モデルシミュレータ702−Aに対して出した1同期間隔の実行指示に対して、機構モデルシミュレータ702−Aが1同期間隔の動作終了を通知する信号である。   The pulse counter value is not changed when there is no change in the pulse signal or when the change in the pulse signal is a pattern in which the motor cannot be rotated correctly. After the counting process of the pulse counter in step S805, the synchronization signal is checked in step S806. For the synchronization control by the synchronization module 705-2, the synchronization signal is output by the mechanism model simulator 702-A in response to an execution instruction of one synchronization interval issued to the mechanism model simulator 702-A by the MIF module 706-2A. This signal notifies the end of operation at one synchronization interval.

ステップS806において、同期信号を受けていない場合には、ステップS802〜ステップS805を繰り返す。ステップS806において、同期信号を受けている場合には、ステップS807に進み、機構モデルシミュレータ702−Aのモータモデルに対してモータの回転方向と回転速度を指示する。モータの回転方向と回転速度はパルスカウンターの値から以下のように求める。   If it is determined in step S806 that no synchronization signal has been received, steps S802 to S805 are repeated. In step S806, if a synchronization signal is received, the process proceeds to step S807, and the motor model of the mechanism model simulator 702-A is instructed about the rotation direction and rotation speed of the motor. The rotation direction and rotation speed of the motor are obtained from the pulse counter value as follows.

まず、回転方向については、パルスカウンター値の正負によって決める。すなわち、パルスカウンター値が正の場合には正回転、負の場合には逆回転となる。次に、回転速度に関してはパルスカウンターの絶対値によって決める。ステップS807の時点でのパルスカウンターの絶対値は1同期間隔内でのステッピングモータ駆動パルスの累積値である。従って、パルスカウンターの絶対値から1同期時間のモータ回転量が求まり、モータ回転速度が求まる。   First, the rotation direction is determined by the sign of the pulse counter value. That is, when the pulse counter value is positive, the rotation is forward, and when it is negative, the rotation is reverse. Next, the rotational speed is determined by the absolute value of the pulse counter. The absolute value of the pulse counter at the time of step S807 is the cumulative value of the stepping motor drive pulse within one synchronization interval. Therefore, the motor rotation amount for one synchronization time is obtained from the absolute value of the pulse counter, and the motor rotation speed is obtained.

例えば、本実施形態のシステムで1同期間隔の時間は仮想時間上の1msecとし、ある1同期間隔でのパルスカウンター値が2であった場合、前記のとおり本実施形態でシミュレーション対象としているステッピングモータの1パルスあたりの回転角度が7.5°であることから回転速度は、(7.5×2)/360/(0.001/60)=2500[rpm]となる。   For example, in the system of the present embodiment, when the time of one synchronization interval is 1 msec on the virtual time, and the pulse counter value at a certain synchronization interval is 2, the stepping motor to be simulated in the present embodiment as described above Since the rotation angle per pulse is 7.5 °, the rotation speed is (7.5 × 2) / 360 / (0.001 / 60) = 2500 [rpm].

前記のように機構モデルシミュレータ702−Aは、モータモデルの駆動指示方式として、回転速度、回転方向を指定し、回転を指示する方式を持っているため、ステップS807で前記のように求められたモータの回転方向、回転速度を指定し、機構モデルシミュレータ702−Aにモータ回転を指示することによって、機構モデルシミュレータ702−Aの対象となるモータモデルがここで指定された回転方向、回転速度で次の1同期期間で動作させることができる。   As described above, since the mechanism model simulator 702-A has a method for designating the rotation speed and direction as the motor model drive instruction method, and instructing the rotation, the mechanism model simulator 702-A is obtained as described above in step S807. By designating the rotation direction and rotation speed of the motor and instructing the motor rotation to the mechanism model simulator 702-A, the motor model to be the target of the mechanism model simulator 702-A is set at the rotation direction and rotation speed specified here. It can be operated in the next one synchronization period.

MIFモジュール706−2Bについても、MIFモジュール706-2Aと同様に1同期間隔でのステップカウントを行うことにより、機構モデルシミュレータ102−Bのモータモデルに対応する。   Similarly to the MIF module 706-2A, the MIF module 706-2B corresponds to the motor model of the mechanism model simulator 102-B by performing step counting at one synchronization interval.

図9は、ステッピングモータ制御シミュレーションに関するMIFモジュール706-2Bのステッピングモータ接続機能の制御フローチャートである。
図9に示すように、ステップS901〜ステップS906は、MIFモジュール706−2AにおけるステップS801〜ステップS806と全く同じである。すなわち、この処理により1同期間隔内のステップカウントを行うことにより、1同期間隔でのモータの回転方向、回転量を求める。そして、ステップS907で機構モデルシミュレータ102−Bのモータモデル駆動指示方式に合わせて、回転方向と回転角度を求める。
FIG. 9 is a control flowchart of the stepping motor connection function of the MIF module 706-2B relating to the stepping motor control simulation.
As shown in FIG. 9, steps S901 to S906 are exactly the same as steps S801 to S806 in the MIF module 706-2A. That is, by performing step counting within one synchronization interval by this process, the rotation direction and the rotation amount of the motor in one synchronization interval are obtained. In step S907, the rotation direction and the rotation angle are obtained in accordance with the motor model drive instruction method of the mechanism model simulator 102-B.

回転方向については、MIFモジュール706−2Aと同様にパルスカウンター値の正負によって求まる。回転角度についてはパルスカウンターの絶対値と対象となるモータモデルの1パルスあたりの回転角度から求まる。   The rotation direction is determined by the positive / negative of the pulse counter value as in the MIF module 706-2A. The rotation angle is obtained from the absolute value of the pulse counter and the rotation angle per pulse of the target motor model.

例えば、ある1同期間隔でのパルスカウンター値が3であったとすると、のとおり本実施形態でシミュレーション対象としているステッピングモータの1パルスあたりの回転角度が7.5°であることから回転角度は、7.5×3=22.5[°]となる。   For example, if the pulse counter value at a certain synchronization interval is 3, the rotation angle per pulse of the stepping motor to be simulated in this embodiment is 7.5 °, so the rotation angle is 7.5 × 3 = 22.5 [°].

前記のように機構モデルシミュレータ702−Bは、モータモデルの駆動指示方式として、回転速度、回転角度を指定し、回転を指示する方式を持っているため、ステップS907で前記のように求められたモータの回転方向、回転角度を指定し、機構モデルシミュレータ702−Bにモータ回転を指示することによって、機構モデルシミュレータ702−Bの対象となるモータモデルがここで指定された回転方向、回転角度で次の1同期期間で動作させることができる。   As described above, since the mechanism model simulator 702-B has a method of designating the rotation speed and the rotation angle and instructing the rotation as the motor model drive instruction method, it is obtained as described above in step S907. By designating the rotation direction and rotation angle of the motor and instructing the mechanism model simulator 702-B to rotate the motor, the motor model to be the target of the mechanism model simulator 702-B is set with the rotation direction and rotation angle specified here. It can be operated in the next one synchronization period.

以上のように機構モデルシミュレータ702−A、702-Bそれぞれに対して用意されたMIFモジュール706-2A、706-2Bは、DLLとして提供される。システム管理モジュール705−1は、図11のようなグラフィカルユーザインターフェース(以下、GUIと呼ぶ)を持っている。   As described above, the MIF modules 706-2A and 706-2B prepared for the mechanism model simulators 702-A and 702-B are provided as DLLs. The system management module 705-1 has a graphical user interface (hereinafter referred to as GUI) as shown in FIG.

シミュレータコントロールバーは、シミュレーションシステムの動作、設定を行う各種ボタンから構成される。シミュレーションシステムの構成は、プロジェクトとして設定されファイルの保存される。プロジェクトの新規作成、プロジェクトの開閉、プロジェクトの設定等は、メニューボタンをマウス205でポイントしクリックする(以下、略してマウスクリックと記述する)と、プルダウンメニューが現れ各作業を選択できる。プロジェクトの新規作成メニューをマウスクリック、或いは、既存のプロジェクトを開いた状態でプロジェクトの設定メニューをマウスクリックすると、プロジェクト設定ウインドウが開き、システムを構成するアプリケーションソフトの追加、削除ができる。   The simulator control bar is composed of various buttons for operating and setting the simulation system. The configuration of the simulation system is set as a project and saved as a file. For creating a new project, opening / closing a project, setting a project, etc., when a menu button is pointed and clicked with the mouse 205 (hereinafter referred to as mouse click for short), a pull-down menu appears and each operation can be selected. If you click the new project menu or click the project setting menu with an existing project open, the project setting window opens and you can add or delete the application software that makes up the system.

アプリケーションソフトをシステムに追加するときには、使用可能アプリケーション一覧から使用するアプリケーションをマウスクリックで選択し、追加ボタンをマウスクリックする。また、アプリケーションソフトをシステムから削除するときには、使用アプリケーション一覧から削除するアプリケーションをマウスクリックで選択し、削除ボタンをマウスクリックする。   When adding application software to the system, an application to be used is selected from the list of available applications with a mouse click, and the add button is clicked with the mouse. When deleting application software from the system, an application to be deleted is selected from the list of applications to be used with a mouse click, and a delete button is clicked with the mouse.

以上の作業で、システム構成を決定後、適用ボタン、または、OKボタンをマウスクリックすることにより、設定がプロジェクトに反映される。設定をプロジェクトに反映させない場合には、キャンセルボタンをマウスクリックする。OK、または、キャンセルボタンをマウスクリックすることによりプロジェクトの設定ウインドウが閉じる。   After the system configuration is determined by the above operations, the settings are reflected in the project by clicking the apply button or the OK button with the mouse. If you do not want to apply the settings to the project, click the Cancel button with the mouse. The project setting window is closed by clicking the OK or cancel button with the mouse.

プロジェクトを開いた状態で、起動ボタンをマウスクリックすると、プロジェクト構成に設定されたアプリケーションソフトと、当該アプリケーションソフトに対応したインターフェースモジュールが起動される。システム起動後、実行ボタンをマウスクリックすると、シミュレーションの実行が開始される。シミュレーション実行中に停止ボタンをマウスクリックすると、シミュレーションが停止する。   When the start button is clicked with the mouse while the project is open, the application software set in the project configuration and the interface module corresponding to the application software are started. When the execution button is clicked with the mouse after the system is started, simulation execution is started. If you click the stop button with the mouse during simulation, the simulation stops.

また、シミュレーション実行中にポーズボタンをマウスクリックすると、シミュレーションが一時停止し、一時停止中にポーズボタンをマウスクリックすると、一時停止の状態からシミュレーションが再開される。システム起動時に終了ボタンをマウスクリックすると、システムを構成する各アプリケーションソフト、及び、HUBを構成する同期、配線、インターフェースの各モジュールを終了する。   When the pause button is clicked with the mouse during the simulation, the simulation is paused. When the pause button is clicked with the mouse during the pause, the simulation is resumed from the paused state. When the end button is clicked with the mouse when the system is started, the application software constituting the system and the synchronization, wiring, and interface modules constituting the HUB are terminated.

以上のようなGUIにより、ユーザから指定されたシステム構成に従って、アプリケーションソフト、及び、対応するインターフェースモジュールの起動、シミュレーションの実効が行われる。   With the above-described GUI, the application software and the corresponding interface module are activated and the simulation is executed according to the system configuration specified by the user.

本発明の第1の実施形態に係るプログラム連携システムの機能構成図である。It is a functional block diagram of the program cooperation system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るプログラム連携システムの概略構成図である。It is a schematic block diagram of the program cooperation system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るCPUシミュレータのコールバック方式を説明する図である。It is a figure explaining the callback system of the CPU simulator which concerns on the 1st Embodiment of this invention. リードイベントに対するCIFモジュールの処理のフローチャートである。It is a flowchart of the process of the CIF module with respect to a read event. CPUシミュレータのコールバック方式を説明する図である。It is a figure explaining the callback system of CPU simulator. CIFモジュールのイベント−関数対応テーブルの模式図である。It is a schematic diagram of the event-function correspondence table of a CIF module. 本発明の第2の実施形態に係るプログラム連携システムの機能構成図である。It is a functional block diagram of the program cooperation system which concerns on the 2nd Embodiment of this invention. ステッピングモータ制御シミュレーションに関するMIFモジュールのステッピングモータ接続機能の制御フローチャートである。It is a control flowchart of the stepping motor connection function of the MIF module regarding the stepping motor control simulation. ステッピングモータ制御シミュレーションに関するMIFモジュールのステッピングモータ接続機能の制御フローチャートである。It is a control flowchart of the stepping motor connection function of the MIF module regarding the stepping motor control simulation. ステッピングモータ励磁パターンと回転方向、回転速度の関係を説明する図である。It is a figure explaining the relationship between a stepping motor excitation pattern, a rotation direction, and a rotation speed. システム管理モジュールのGUIの模式図である。It is a schematic diagram of GUI of a system management module.

符号の説明Explanation of symbols

101 CPUシミュレータ
102 機構モデルシミュレータ
103 シミュレータアプリケーション
104 シミュレータハブ
105 シミュレータハブのコア部
105−1 システム管理モジュール
105−2 同期モジュール
105−3 配線モジュール
106 シミュレータハブのインターフェース部
106−1 CPUシミュレータインターフェースモジュール
106−2 機構モデルシミュレータインターフェースモジュール
106−3 シミュレータアプリケーションインターフェースモジュール
101 CPU simulator 102 Mechanical model simulator 103 Simulator application 104 Simulator hub 105 Simulator hub core 105-1 System management module 105-2 Synchronization module 105-3 Wiring module 106 Simulator hub interface 106-1 CPU simulator interface module 106- 2 Mechanism model simulator interface module 106-3 Simulator application interface module

Claims (11)

コンピュータシステム上で独立のプロセスとして動作する複数のアプリケーションソフトと、前記複数のアプリケーションソフトを接続して1つのシステムとして動作させるプロセス接続手段とを含み構成されるプログラム連携システムにおいて、
前記プロセス接続手段は、前記各アプリケーションソフト間の連携動作の管理を行うコア部と、前記各アプリケーションソフトに直接接続されるインターフェース部とを有して構成され、
前記インターフェース部は、接続されるアプリケーションソフトの数だけ用意される複数のインターフェースモジュールを備えて構成され、
前記インターフェースモジュールは、前記コア部とは共通のインターフェース仕様により接続され、前記アプリケーションソフトとは担当するアプリケーションソフト固有のインターフェース仕様により接続されていることを特徴とするプログラム連携システム。
In a program cooperation system configured to include a plurality of application software that operates as independent processes on a computer system, and a process connection unit that connects the plurality of application softwares to operate as one system,
The process connection means includes a core unit that manages a cooperative operation between the application softwares, and an interface unit that is directly connected to the application softwares.
The interface unit includes a plurality of interface modules prepared for the number of application software to be connected,
The interface module is connected to the core unit according to a common interface specification, and is connected to the application software according to an interface specification specific to the application software in charge.
前記コア部は、システム構成を管理するシステム管理モジュールと、前記各アプリケーションソフト間の情報伝達経路の確立を行う配線モジュールと、前記各アプリケーションソフト間の同期の処理を行う同期モジュールとを備えて構成されており、
前記システム管理モジュールは、あらかじめ設定されたシステム構成情報に応じて必要なアプリケーションソフトと当該アプリケーションソフトに対応するインターフェースモジュールとを選択的に起動することを特徴とする請求項1に記載のプログラム連携システム。
The core unit includes a system management module that manages a system configuration, a wiring module that establishes an information transmission path between the application software, and a synchronization module that performs synchronization processing between the application software. Has been
2. The program cooperation system according to claim 1, wherein the system management module selectively activates necessary application software and an interface module corresponding to the application software in accordance with preset system configuration information. .
前記システム管理モジュールは、システム起動時にあらかじめ決められた書式に従って記述されたシステム構成データファイルを読み込み、当該システム構成データファイルに応じて必要なアプリケーションソフトと当該アプリケーションソフトに対応するインターフェースモジュールとを選択的に起動することを特徴とする請求項2に記載のプログラム連携システム。   The system management module reads a system configuration data file described according to a predetermined format at the time of system startup, and selectively selects necessary application software and an interface module corresponding to the application software according to the system configuration data file. The program cooperation system according to claim 2, wherein the program cooperation system is activated. 前記システム管理モジュールは、システム構成を設定するためのグラフィックユーザインターフェースを有し、当該グラフィックユーザインターフェースを介してユーザが設定するシステム構成情報に応じて必要なアプリケーションソフトと当該アプリケーションソフトに対応するインターフェースモジュールとを選択的に起動することを特徴とする請求項2に記載のプログラム連携システム。   The system management module has a graphic user interface for setting a system configuration, application software required according to system configuration information set by the user via the graphic user interface, and an interface module corresponding to the application software The program linkage system according to claim 2, wherein the program linkage system is selectively activated. 前記各アプリケーションは、それぞれが固有の仮想時間の概念により当該仮想時間の経過に対応した各種処理を行うアプリケーションソフトであり、
前記プロセス接続手段の前記コア部は、前記各アプリケーションソフトが有する前記固有の仮想時間をシステム全体の仮想時間に同期させることを特徴とする請求項1又は2に記載のプログラム連携システム。
Each of the applications is application software that performs various processes corresponding to the passage of the virtual time based on the concept of the unique virtual time,
The program cooperation system according to claim 1, wherein the core unit of the process connection unit synchronizes the unique virtual time of each application software with the virtual time of the entire system.
前記プロセス接続手段の前記コア部及び前記インターフェース部を構成する各モジュールは、同一プロセス内の独立したスレッドであることを特徴とする請求項1又は2に記載のプログラム連携システム。   3. The program cooperation system according to claim 1, wherein each module constituting the core unit and the interface unit of the process connection unit is an independent thread in the same process. 前記プロセス接続手段は、他のアプリケーションソフトとは独立したプロセスであり、
前記プロセス接続手段の起動後に前記システム管理モジュールが起動され、前記プロセス接続手段を構成する他のモジュール、及びシステムに必要なアプリケーションソフトは前記システム管理モジュールから起動されることを特徴とする請求項2に記載のプログラム連携システム。
The process connection means is a process independent of other application software,
3. The system management module is started after the process connection means is started, and other modules constituting the process connection means and application software necessary for the system are started from the system management module. The program linkage system described in 1.
前記プロセス接続手段は、他のアプリケーションソフトの内の何れかのサブプロセスであり、
前記システム管理モジュールは、前記アプリケーションソフトの起動時に起動され、他のモジュール、及びシステムを構成するアプリケーションソフトは、前記システム管理モジュールから起動されることを特徴とする請求項2に記載のプログラム連携システム。
The process connection means is any sub-process in other application software,
3. The program cooperation system according to claim 2, wherein the system management module is activated when the application software is activated, and other modules and application software constituting the system are activated from the system management module. .
前記プロセス接続手段の前記インターフェース部は、ダイナミックリンクライブラリとして提供されることを特徴とする請求項1又は2に記載のプログラム連携システム。   3. The program cooperation system according to claim 1, wherein the interface unit of the process connection unit is provided as a dynamic link library. 機械装置の動作をコンピュータシステム上でシミュレーションし、当該シミュレーションの対象となる装置に搭載されるCPUの制御プログラムに従って、前記対象装置のCPUの端子に対応して定義された仮想入力端子の情報を読み込み、当該仮想出力端子を制御することにより前記対象装置のCPUの動作をシミュレーションする1乃至複数のCPUシミュレータと、
アクチュエータ、センサを含む複数の部品からなる機械装置の機構モデル、当該機構モデル間の干渉、連携、及び前記アクチュエータ、前記センサに接続される信号をコンピュータシステム上で定義し、外部から入力されたアクチュエータ動作信号として定義された情報に対応したアクチュエータの動作、及び機構部品間の干渉、連携定義に従って、関連する全ての機構部品の動作をコンピュータシステムの表示装置上に画像として再現するとともに、前記機構モデルの動作の結果、前記センサとして定義された機構モデルに対するあらかじめ定義された作用に応じてセンサ信号として定義された情報を外部に出力する1乃至複数の機構モデルシミュレータと、
前記シミュレーションの対象装置の構成物で前記CPUシミュレータ、前記機構モデルシミュレータで対応していない構成物の動作、及び前記対象装置に対する外的作用を擬似的に再現する機能、シミュレーションの結果の解析、表示、保存機能、シミュレーションのためのユーザインターフェース機能を備えた1乃至複数のシミュレータアプリケーションと、
前記シミュレーションにおけるシミュレーションソフトを接続して1つの機器制御シミュレーションシステムとして動作させるプロセス接続手段とを含み構成されるプログラム連携システムにおいて、
前記プロセス接続手段は、各種シミュレーションソフト間の連携動作を管理するコア部と、前記各種シミュレーションソフトに直接接続されるインターフェース部とを有して構成され、
前記インターフェース部は、接続される前記各種シミュレーションソフトのインターフェース仕様の数だけ用意される複数のインターフェースモジュールを備えて構成され、
前記インターフェースモジュールは、前記コア部とは共通のインターフェース仕様により接続され、前記各種シミュレーションソフトとは担当するシミュレーションソフト固有のインターフェース仕様により接続されていることを特徴とするプログラム連携システム。
The operation of the machine device is simulated on the computer system, and the information of the virtual input terminal defined corresponding to the CPU terminal of the target device is read according to the CPU control program installed in the target device of the simulation. One or more CPU simulators that simulate the operation of the CPU of the target device by controlling the virtual output terminal;
Actuator input from the outside by defining on the computer system a mechanism model of a mechanical device composed of a plurality of parts including an actuator and a sensor, interference and linkage between the mechanism models, and signals connected to the actuator and the sensor. The operation of the actuator corresponding to the information defined as the operation signal, the interference between the mechanism components, and the linkage definition, reproduce the operation of all related mechanism components as an image on the display device of the computer system, and the mechanism model As a result of the operation, one or a plurality of mechanism model simulators that output information defined as sensor signals to the outside in accordance with a predefined action on the mechanism model defined as the sensor;
Functions of the simulation target device that are not supported by the CPU simulator and the mechanism model simulator, and a function that simulates an external action on the target device, analysis and display of simulation results One or more simulator applications with a user interface function for storage, simulation, and
In a program linkage system comprising process connection means for connecting simulation software in the simulation and operating as one device control simulation system,
The process connection means includes a core unit that manages a cooperative operation between various simulation softwares, and an interface unit that is directly connected to the various simulation softwares.
The interface unit includes a plurality of interface modules prepared for the number of interface specifications of the various simulation software to be connected.
The interface module is connected to the core unit according to a common interface specification, and is connected to the various simulation software according to an interface specification specific to the simulation software in charge.
前記プロセス接続手段は、
前記シミュレーションの対象機器の構成に応じてシステム構成を管理するシステム管理モジュールと、
前記CPUシミュレータの入出力信号、前記機構モデルシミュレータのアクチュエータモデル、センサモデルの接続信号、前記シミュレータアプリケーションの入出力信号の情報伝達経路の確立を行う配線モジュールと、
前記CPUシミュレータの仮想動作クロック、前記機構モデルシミュレータ、前記シミュレータアプリケーションの仮想時間を全てシミュレーションシステムの仮想時間に同期させる処理を行う同期モジュールとを備えて構成され、
前記システム管理モジュールは、指定されたシステム構成に応じて必要なシミュレーションソフトと当該シミュレーションソフトに対応したインターフェースモジュールとを選択的に起動することを特徴とする請求項10に記載のプログラム連携システム。
The process connection means includes
A system management module for managing a system configuration according to the configuration of the target device of the simulation;
An input / output signal of the CPU simulator, an actuator model of the mechanism model simulator, a connection signal of a sensor model, a wiring module for establishing an information transmission path of the input / output signal of the simulator application;
A virtual operation clock of the CPU simulator, the mechanism model simulator, and a synchronization module that performs a process of synchronizing the virtual time of the simulator application with the virtual time of the simulation system.
11. The program cooperation system according to claim 10, wherein the system management module selectively activates necessary simulation software and an interface module corresponding to the simulation software according to a specified system configuration.
JP2004154867A 2004-05-25 2004-05-25 Program cooperation system Pending JP2005339029A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004154867A JP2005339029A (en) 2004-05-25 2004-05-25 Program cooperation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004154867A JP2005339029A (en) 2004-05-25 2004-05-25 Program cooperation system

Publications (2)

Publication Number Publication Date
JP2005339029A true JP2005339029A (en) 2005-12-08
JP2005339029A5 JP2005339029A5 (en) 2007-05-10

Family

ID=35492553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004154867A Pending JP2005339029A (en) 2004-05-25 2004-05-25 Program cooperation system

Country Status (1)

Country Link
JP (1) JP2005339029A (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008070368A (en) * 2006-09-11 2008-03-27 Dspace Digital Signal Processing & Control Engineering Gmbh How to test electronic control system
JP2008077415A (en) * 2006-09-21 2008-04-03 Toshiba Information Systems (Japan) Corp Model base development assisting block, simulation system and automatic code generation method
DE102008015980A1 (en) 2007-03-30 2008-10-02 Fujitsu Electronics Inc. Cooperative simulation system, has database storage server, which stores data, and multiple simulation tools of cooperative simulation system contains cooperative module for writing and reading data from database storage server
JP2008287308A (en) * 2007-05-15 2008-11-27 Toshiba Corp Bridge program, bridge method and simulator
JP2008310449A (en) * 2007-06-12 2008-12-25 Canon Inc Simulation synchronizer and control method thereof
JP2010033192A (en) * 2008-07-25 2010-02-12 Canon Inc Information processor, method of controlling the same, computer program, and storage medium
JP2010033435A (en) * 2008-07-30 2010-02-12 Autonetworks Technologies Ltd Control apparatus, control method, and computer program
JP2010146530A (en) * 2008-12-22 2010-07-01 Canon Inc Simulation method and information processing device providing same
JP2010231809A (en) * 2010-06-16 2010-10-14 Autonetworks Technologies Ltd Controller and computer program
JP2011064915A (en) * 2009-09-16 2011-03-31 Canon Inc Simulation device, control method for the same, and program
JP2011123676A (en) * 2009-12-10 2011-06-23 Canon Inc Information processing apparatus and method of controlling the same
JP2011154522A (en) * 2010-01-27 2011-08-11 Hitachi Ltd System and method for supporting simulation
JP2012146148A (en) * 2011-01-12 2012-08-02 Canon Inc Information processor and program
KR101414797B1 (en) 2013-12-13 2014-07-03 (주)인스웨이브시스템즈 Instant Web App composition system applied web app composition meta model
KR101414795B1 (en) * 2013-12-13 2014-07-03 (주)인스웨이브시스템즈 Instant Web App composing device and method
JP2014153825A (en) * 2013-02-06 2014-08-25 Ricoh Co Ltd Server, simulator management program, and simulator management system
KR20150114278A (en) * 2014-04-01 2015-10-12 주식회사 오비고 Method, server and computer-readable recording media for assisting application binding
WO2015155839A1 (en) * 2014-04-08 2015-10-15 株式会社 日立製作所 Simulation system, simulation method and program
CN109582450A (en) * 2018-11-02 2019-04-05 平安科技(深圳)有限公司 Application management method, device, medium and electronic equipment

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036629A (en) * 1989-06-02 1991-01-14 Fuji Xerox Co Ltd Simulator for recorder and its configuration system
JPH03125233A (en) * 1989-10-11 1991-05-28 Fuji Xerox Co Ltd Recording device simulator and its simulation engine
JPH06103040A (en) * 1992-09-24 1994-04-15 Nec Corp Information processor
JPH06209596A (en) * 1993-01-08 1994-07-26 Nec Corp Stepping motor control simulator
JPH10312314A (en) * 1997-05-14 1998-11-24 Ricoh Co Ltd Simulation device and information recording medium
JPH11327956A (en) * 1998-05-20 1999-11-30 Oki Electric Ind Co Ltd Software debugging device
JP2001158139A (en) * 1999-12-02 2001-06-12 Canon Inc Image forming apparatus having device for detecting step-out of stepping motor
JP2001222572A (en) * 2000-02-14 2001-08-17 Fujitsu Ltd Support system and computer readable recording medium with integration supporting program recorded thereon
JP2001331346A (en) * 2000-03-13 2001-11-30 Toshiba Corp Simulator and its method
JP2003324933A (en) * 2002-04-26 2003-11-14 Canon Inc Stepping motor

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036629A (en) * 1989-06-02 1991-01-14 Fuji Xerox Co Ltd Simulator for recorder and its configuration system
JPH03125233A (en) * 1989-10-11 1991-05-28 Fuji Xerox Co Ltd Recording device simulator and its simulation engine
JPH06103040A (en) * 1992-09-24 1994-04-15 Nec Corp Information processor
JPH06209596A (en) * 1993-01-08 1994-07-26 Nec Corp Stepping motor control simulator
JPH10312314A (en) * 1997-05-14 1998-11-24 Ricoh Co Ltd Simulation device and information recording medium
JPH11327956A (en) * 1998-05-20 1999-11-30 Oki Electric Ind Co Ltd Software debugging device
JP2001158139A (en) * 1999-12-02 2001-06-12 Canon Inc Image forming apparatus having device for detecting step-out of stepping motor
JP2001222572A (en) * 2000-02-14 2001-08-17 Fujitsu Ltd Support system and computer readable recording medium with integration supporting program recorded thereon
JP2001331346A (en) * 2000-03-13 2001-11-30 Toshiba Corp Simulator and its method
JP2003324933A (en) * 2002-04-26 2003-11-14 Canon Inc Stepping motor

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008070368A (en) * 2006-09-11 2008-03-27 Dspace Digital Signal Processing & Control Engineering Gmbh How to test electronic control system
JP2008077415A (en) * 2006-09-21 2008-04-03 Toshiba Information Systems (Japan) Corp Model base development assisting block, simulation system and automatic code generation method
DE102008015980A1 (en) 2007-03-30 2008-10-02 Fujitsu Electronics Inc. Cooperative simulation system, has database storage server, which stores data, and multiple simulation tools of cooperative simulation system contains cooperative module for writing and reading data from database storage server
JP2008287308A (en) * 2007-05-15 2008-11-27 Toshiba Corp Bridge program, bridge method and simulator
JP2008310449A (en) * 2007-06-12 2008-12-25 Canon Inc Simulation synchronizer and control method thereof
JP2010033192A (en) * 2008-07-25 2010-02-12 Canon Inc Information processor, method of controlling the same, computer program, and storage medium
JP2010033435A (en) * 2008-07-30 2010-02-12 Autonetworks Technologies Ltd Control apparatus, control method, and computer program
US8752067B2 (en) 2008-07-30 2014-06-10 Autonetworks Technologies, Ltd. Control apparatus, control method and storage medium
JP2010146530A (en) * 2008-12-22 2010-07-01 Canon Inc Simulation method and information processing device providing same
JP2011064915A (en) * 2009-09-16 2011-03-31 Canon Inc Simulation device, control method for the same, and program
JP2011123676A (en) * 2009-12-10 2011-06-23 Canon Inc Information processing apparatus and method of controlling the same
JP2011154522A (en) * 2010-01-27 2011-08-11 Hitachi Ltd System and method for supporting simulation
JP2010231809A (en) * 2010-06-16 2010-10-14 Autonetworks Technologies Ltd Controller and computer program
JP2012146148A (en) * 2011-01-12 2012-08-02 Canon Inc Information processor and program
JP2014153825A (en) * 2013-02-06 2014-08-25 Ricoh Co Ltd Server, simulator management program, and simulator management system
KR101414797B1 (en) 2013-12-13 2014-07-03 (주)인스웨이브시스템즈 Instant Web App composition system applied web app composition meta model
KR101414795B1 (en) * 2013-12-13 2014-07-03 (주)인스웨이브시스템즈 Instant Web App composing device and method
KR20150114278A (en) * 2014-04-01 2015-10-12 주식회사 오비고 Method, server and computer-readable recording media for assisting application binding
KR101598777B1 (en) 2014-04-01 2016-03-02 주식회사 오비고 Method, server and computer-readable recording media for assisting application binding
WO2015155839A1 (en) * 2014-04-08 2015-10-15 株式会社 日立製作所 Simulation system, simulation method and program
CN109582450A (en) * 2018-11-02 2019-04-05 平安科技(深圳)有限公司 Application management method, device, medium and electronic equipment
CN109582450B (en) * 2018-11-02 2024-05-03 平安科技(深圳)有限公司 Application program management method, device, medium and electronic equipment

Similar Documents

Publication Publication Date Title
JP2005339029A (en) Program cooperation system
EP1004072B1 (en) Embedded graphical programming system
US6175206B1 (en) Robot information processor
JP4388427B2 (en) Numerical control device that can call programs written in script language
US20060161410A1 (en) Three-dimensional cad system
EP1461692B1 (en) Graphically configuring program invocation relationships
US20090013092A1 (en) Method for virtual COM port modbus gateway ethernet I/O
US20090193396A1 (en) Debugging a Statechart for a Real Time Target
EP2833256A1 (en) Image creation system for a network comprising a programmable logic controller
JPH08328795A (en) Method for setting tool button and editing device
JP6318500B2 (en) Simulation apparatus and simulation program
JP6984565B2 (en) Information processing equipment and programs
CN106462139B (en) Programable display and drawing practice
JP5314959B2 (en) Information processing apparatus, control method therefor, computer program, and storage medium
KR20030015230A (en) Improvements relating to computer systems
WO2020071435A1 (en) Development support program, development support device, and development support method
US20130253672A1 (en) Development system and method for creating a control unit program
JP2006172128A (en) Processing method and information processing device for program cooperation system
JP2010176241A (en) Programmable indicator, apparatus monitoring system, and control program
JP2009163423A (en) Program cooperation system and simulation control method therefor
JPH11194960A (en) Software testing device
JP2003501743A (en) Protocol response between similar systems
JP2023546533A (en) Human-machine execution system applied to manufacturing
JP6939662B2 (en) Programming support device, programming support method and program
JP2023547855A (en) Systems and equipment for authoring and developing automation interfaces and processes without writing code

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070319

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109