JP7200580B2 - Control system, support equipment, support program - Google Patents
Control system, support equipment, support program Download PDFInfo
- Publication number
- JP7200580B2 JP7200580B2 JP2018185438A JP2018185438A JP7200580B2 JP 7200580 B2 JP7200580 B2 JP 7200580B2 JP 2018185438 A JP2018185438 A JP 2018185438A JP 2018185438 A JP2018185438 A JP 2018185438A JP 7200580 B2 JP7200580 B2 JP 7200580B2
- Authority
- JP
- Japan
- Prior art keywords
- safety
- controller
- data
- setting
- drive device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Safety Devices In Control Systems (AREA)
Description
本発明は、制御システム、ならびに、制御システムに用いられるサポート装置およびサポートプログラムに関する。 The present invention relates to a control system and a support device and support program used for the control system.
多くの製造現場において、設備や機械を安全に使用するために、セーフティシステムの導入が進みつつある。セーフティシステムは、国際規格に従うセーフティ機能を提供するためのものであり、セーフティコントローラ、セーフティセンサ、セーフティスイッチ、およびセーフティリレーといったセーフティコンポーネントで構成される。 In many manufacturing sites, the introduction of safety systems is progressing in order to use facilities and machines safely. Safety systems are designed to provide safety functions that comply with international standards, and consist of safety components such as safety controllers, safety sensors, safety switches, and safety relays.
セーフティシステムは、設備や機械を駆動するサーボモータなどのドライブ装置に対してもセーフティ機能を提供することが要求される。例えば、非特許文献1は、可変速電動ドライブシステムに対して提供すべきセーフティ機能を規定する。
Safety systems are required to provide safety functions to drive devices such as servo motors that drive facilities and machines. For example, Non-Patent
より具体的には、非特許文献1は、STO(Safe Torque Off)、SS1(Safe Stop 1)、SS2(Safe Stop 2)、SOS(Safe Operating Stop)、SBC(Safe Brake Control)などの、ドライブ装置に関連するいくつかのセーフティ機能を規定する。
More specifically,
上述したようなドライブ装置に関連するセーフティ機能を実装する場合には、ドライブ装置を制御する機能とは独立して、セーフティ機能を実現する機能が設けられる。それぞれの機能は互いに独立して設けられており、通信経路なども互いに独立して形成されていることも多い。一方で、ドライブ装置を制御する場合には、セーフティ機能の状態なども考慮する必要がある。 When implementing a safety function related to the drive device as described above, a function for realizing the safety function is provided independently of the function for controlling the drive device. Each function is provided independently of each other, and communication paths are often formed independently of each other. On the other hand, when controlling the drive device, it is necessary to consider the state of the safety function.
そのため、セーフティ機能を実現する機能が設けられたドライブ装置から必要な情報を共有する必要がある。 Therefore, it is necessary to share the necessary information from the drive device provided with the function to realize the safety function.
制御システムの装置設計段階などにおいて、デバッグなどの目的で、このようなセーフティ機能に関するデータの共有設定を一時的に無効化したい場合がある。また、ドライブ装置の機種などによって、共有設定が無効化された状態がデフォルトの場合もある。最終的には、すべてのドライブ装置についてセーフティ制御を実現したいが、ドライブ装置毎に一つずつ有効/無効状態を確認して、無効化されたものを有効化するといった手間が生じるという課題がある。 At the device design stage of a control system, for the purpose of debugging, there are cases where it is desired to temporarily disable the data sharing settings related to such safety functions. Also, depending on the model of the drive device, etc., the state in which the sharing setting is disabled may be the default. Ultimately, we would like to implement safety control for all drive devices, but there is the problem of having to check the enabled/disabled state of each drive device one by one and enable the disabled ones. .
また、一時的なデバッグのために、セーフティ機能に関するデータの共有設定を一斉に無効化したいという場合もある。 Also, for temporary debugging, there are cases where you want to disable the data sharing settings related to the safety function all at once.
本発明は、上述したような課題を解決することを目的とする。 An object of the present invention is to solve the problems described above.
本発明の一実施形態に従う制御システムは、第1のコントローラと、セーフティ機能を有するとともに、第1のコントローラからの第1の指令に従ってモータを駆動する1または複数のドライブ装置と、ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、第1のコントローラ、ドライブ装置および第2のコントローラの間で、データを互いに共有するためのネットワークと、サポート装置とを含む。サポート装置は、ユーザ操作に従って、ネットワークに接続されている各ドライブ装置に対して、ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成する設定生成手段を含む。制御システムは、ネットワークに接続されている各ドライブ装置に対して対応する設定を反映する設定反映手段を含む。 A control system according to an embodiment of the present invention includes a first controller, one or more drive devices having a safety function and driving a motor according to a first command from the first controller, and a second controller for transmitting a second command related to the operation of the safety function, a network for mutually sharing data among the first controller, the drive device and the second controller, and a support device. include. The support device includes setting generation means for generating settings of data to be shared via the network for each drive device connected to the network in accordance with a user's operation. The control system includes setting reflecting means for reflecting settings corresponding to each drive device connected to the network.
この実施形態によれば、ドライブ装置がコントローラなどとの間でデータを互いに共有するための設定を一括で行うことができるので、複数のドライブ装置を含む場合であっても、制御システムの立ち上げなどを効率化できる。 According to this embodiment, settings for sharing data between a drive device and a controller or the like can be collectively performed. etc. can be made more efficient.
好ましくは、設定生成手段は、ドライブ装置の機種毎に予め定められた設定内容に従って、各ドライブ装置に対するネットワークを介して共有するべきデータの設定を生成する。 Preferably, the setting generation means generates settings of data to be shared via the network for each drive device according to setting contents predetermined for each model of the drive device.
この実施形態によれば、ドライブ装置毎に保持する情報などが異なる場合であっても、適切な情報の遣り取りを設定できる。 According to this embodiment, even if the information held by each drive device is different, it is possible to set an appropriate exchange of information.
好ましくは、設定生成手段は、別のユーザ操作に従って、各ドライブ装置に対するネットワークを介して共有するべきデータの設定を削除する。 Preferably, the setting generating means deletes the setting of data to be shared via the network for each drive according to another user's operation.
この実施形態によれば、デバッグ時などに、ドライブ装置に対するデータの共有設定を一時的に無効化したいようなニーズがあり、このようなニーズを満たすことができる。 According to this embodiment, there is a need for temporarily disabling the data sharing setting for the drive device during debugging, etc., and such a need can be met.
好ましくは、設定生成手段は、ドライブ装置から第1のコントローラへ、ドライブ装置が保持するデータを公開するように設定する。 Preferably, the setting generating means sets the data held by the drive device to be disclosed from the drive device to the first controller.
この実施形態によれば、ドライブ装置が保持しているデータを第1のコントローラと共有できる。 According to this embodiment, the data held by the drive device can be shared with the first controller.
好ましくは、ドライブ装置は、第2の指令に従ってセーフティ機能の状態を管理する状態管理部を含む。ドライブ装置から公開されるデータは、第2のコントローラからの第2の指令を反映する。 Preferably, the drive device includes a state manager that manages the state of the safety function according to the second command. Data published from the drive device reflects the second command from the second controller.
この実施形態によれば、第2のコントローラからの指令などに応じたドライブ装置が有しているセーフティ機能の状態を外部から参照でき、これによって、ドライブ装置におけるセーフティ機能の状態に応じた制御を実現できる。 According to this embodiment, it is possible to externally refer to the state of the safety function of the drive device in accordance with a command from the second controller or the like, thereby enabling control according to the state of the safety function in the drive device. realizable.
好ましくは、サポート装置は、ドライブ装置に対するネットワークを介して共有するべきデータの設定を参照して、状態管理部により管理される情報のうち公開対象の情報を特定するとともに、当該公開対象の情報を参照するための参照情報に当該特定した情報の意味を関連付ける。 Preferably, the support device refers to settings of data to be shared via a network for the drive device, identifies information to be disclosed among the information managed by the state management unit, and specifies the information to be disclosed. The meaning of the specified information is associated with the reference information for referencing.
この実施形態によれば、サポート装置において、参照情報を利用して任意のプログラムを作成する場合などに、プログラムの開発効率を高めることができる。 According to this embodiment, it is possible to improve the efficiency of program development when creating an arbitrary program using the reference information in the support device.
好ましくは、設定生成手段は、さらに別のユーザ操作に従って、特定の1つのドライブ装置に対するネットワークを介して共有するべきデータの設定を生成する。 Preferably, the setting generating means generates settings of data to be shared via a network for one specific drive device according to another user operation.
この実施形態によれば、ドライブ装置に対して個別に設定を行いたいというニーズを満たすことができる。 According to this embodiment, it is possible to satisfy the need to individually set the drive devices.
好ましくは、サポート装置は、ネットワークに接続されているドライブ装置を取得する取得手段をさらに含む。 Preferably, the support device further includes acquisition means for acquiring drive devices connected to the network.
この実施形態によれば、ネットワークに接続されているすべてのドライブ装置を設定対象とすることができる。 According to this embodiment, all drive devices connected to the network can be set.
好ましくは、設定生成手段は、各ドライブ装置に対して生成されたネットワークを介して共有するべきデータの設定の内容をユーザに提示する。 Preferably, the setting generating means presents to the user the setting contents of the data to be shared via the network generated for each drive device.
この実施形態によれば、ユーザは、各ドライブ装置に対してどのような設定がなされるのかを確認した上で、各設定を反映できる。 According to this embodiment, the user can reflect each setting after confirming what settings are made for each drive device.
本発明の別の一実施形態に従えば、制御システムに接続されるサポート装置が提供される。制御システムは、第1のコントローラと、セーフティ機能を有するとともに、第1のコントローラからの第1の指令に従ってモータを駆動する1または複数のドライブ装置と、ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、第1のコントローラ、ドライブ装置および第2のコントローラの間で、データを互いに共有するためのネットワークとを含む。サポート装置は、ユーザ操作に従って、ネットワークに接続されている各ドライブ装置に対して、ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成する設定生成手段を含む。第1のコントローラは、ネットワークに接続されている各ドライブ装置に対して対応する設定を反映する設定反映手段を含む。 According to another embodiment of the invention, a support device is provided that is connected to the control system. The control system includes a first controller, one or more drive devices having a safety function and driving the motor according to a first command from the first controller, and the safety function for the drive device. A second controller for sending a second command and a network for sharing data between the first controller, the drives and the second controller. The support device includes setting generation means for generating settings of data to be shared via the network for each drive device connected to the network in accordance with a user's operation. The first controller includes setting reflecting means for reflecting settings corresponding to each drive device connected to the network.
この実施形態によれば、ドライブ装置がコントローラなどとの間でデータを互いに共有するための設定を一括で行うことができるので、複数のドライブ装置を含む場合であっても、制御システムの立ち上げなどを効率化できる。 According to this embodiment, settings for sharing data between a drive device and a controller or the like can be collectively performed. etc. can be made more efficient.
本発明のさらに別の一実施形態に従えば、制御システムに接続されるコンピュータで実行されるサポートプログラムが提供され。制御システムは、第1のコントローラと、セーフティ機能を有するとともに、第1のコントローラからの第1の指令に従ってモータを駆動する1または複数のドライブ装置と、ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、第1のコントローラ、ドライブ装置および第2のコントローラの間で、データを互いに共有するためのネットワークとを含む。サポートプログラムは、コンピュータに、ユーザ操作に従って、ネットワークに接続されている各ドライブ装置に対して、ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成するステップと、ネットワークに接続されている各ドライブ装置に対して対応する設定を反映するステップとを実行させる。 According to yet another embodiment of the invention, there is provided a support program running on a computer connected to the control system. The control system includes a first controller, one or more drive devices having a safety function and driving the motor according to a first command from the first controller, and the safety function for the drive device. A second controller for sending a second command and a network for sharing data between the first controller, the drives and the second controller. The support program causes the computer to generate settings for data to be shared via the network for each drive device connected to the network according to the user's operation; and a step of reflecting the corresponding settings for each drive device that is connected.
この実施形態によれば、ドライブ装置がコントローラなどとの間でデータを互いに共有するための設定を一括で行うことができるので、複数のドライブ装置を含む場合であっても、制御システムの立ち上げなどを効率化できる。 According to this embodiment, settings for sharing data between a drive device and a controller or the like can be collectively performed. etc. can be made more efficient.
本発明によれば、複数のドライブ装置が存在する場合であっても、情報を容易に共有できる制御システムを提供できる。 According to the present invention, it is possible to provide a control system that can easily share information even when a plurality of drive devices exist.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are given the same reference numerals, and the description thereof will not be repeated.
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
<A. Application example>
First, an example of a scene to which the present invention is applied will be described.
図1は、本実施の形態に係る制御システム1の構成例を示す模式図である。本実施の形態に係る制御システム1は、例えば、IEC 61508などに規定されたセーフティ機能に加えて、上述の非特許文献1に規定されたドライブ装置に対するセーフティ機能を提供する。
FIG. 1 is a schematic diagram showing a configuration example of a
図1を参照して、制御システム1は、主として、標準コントローラ100、ならびに、標準コントローラ100とフィールドネットワーク2を介して接続されるセーフティコントローラ200および1または複数のセーフティドライバ300を含む。セーフティドライバ300の各々は、セーフティ機能を有するドライブ装置の一例であり、電気的に接続されたサーボモータ400を駆動する。なお、サーボモータ400に限らず、任意の種類のアクチュエータ(例えば、三相交流モータ、直流モータ、単相交流モータ、多相交流モータ、リニアサーボなど)を採用できる。また、セーフティドライバ300の実体は、サーボドライバであってもよいし、汎用的なインバータ装置であってもよい。以下の説明においては、セーフティドライバ300をドライブ装置の一例として説明する。
Referring to FIG. 1 ,
標準コントローラ100は、第1のコントローラに相当し、予め作成された標準制御プログラムに従って、サーボモータ400を含む制御対象に対する標準制御を実行する。典型的には、標準コントローラ100は、1または複数のセンサ(図示していない)などからの入力信号に応じた制御演算をサイクリック実行することで、サーボモータ400などのアクチュエータに対する指令を周期的に算出する。
The
セーフティコントローラ200は、セーフティドライバ300に対してセーフティ機能の動作に係るセーフティ指令(第2の指令)を送信する。より具体的には、セーフティコントローラ200は、標準コントローラ100とは独立して、制御対象に対するセーフティ機能を実現するための監視および制御演算をサイクリック実行する。セーフティコントローラ200は、任意のセーフティデバイス240からの入力信号の受付、および/または、任意のセーフティデバイス240への指令の出力が可能になっている。
The
セーフティドライバ300は、標準コントローラ100からの指令(第1の指令)に従って、サーボモータ400に電力を供給することで、サーボモータ400を駆動する。セーフティドライバ300は、サーボモータ400からのフィードバック信号などに基づいて、サーボモータ400の回転位置、回転速度、回転加速度および発生するトルクなどを周期的に算出する。
The
さらに、セーフティドライバ300は、サーボモータ400の駆動に関するセーフティ機能を有している。より具体的には、セーフティドライバ300は、セーフティ機能に必要な状態情報をセーフティコントローラ200へ提供するとともに、要求されるセーフティ機能に応じて、サーボモータ400に供給する電力を調整または遮断する。
Furthermore, the
サーボモータ400は、セーフティドライバ300からの電力を受けて回転するモータを有するとともに、モータの回転軸に結合されたエンコーダからの検出信号をフィードバック信号としてセーフティドライバ300へ出力する。
The
本明細書において、「デバイス」は、フィールドネットワーク2などの任意のネットワークを介して、他の装置とデータ通信可能な装置の総称である。本実施の形態に係る制御システム1において、「デバイス」は、標準コントローラ100、セーフティコントローラ200およびセーフティドライバ300を包含する。
In this specification, "device" is a general term for devices capable of data communication with other devices via any network such as the
本明細書において、「標準制御」および「セーフティ制御」の用語を対比的に用いる。「標準制御」は、予め定められた要求仕様に沿って、制御対象を制御するための処理の総称である。一方、「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。「セーフティ制御」は、IEC 61508などに規定されたセーフティ機能を実現するための要件を満たすように設計される。 In this specification, the terms "standard control" and "safety control" are used in contrast. "Standard control" is a generic term for processes for controlling controlled objects in accordance with predetermined required specifications. On the other hand, "safety control" is a general term for processes for preventing human safety from being threatened by facilities, machines, and the like. "Safety control" is designed to meet the requirements for realizing safety functions specified in IEC 61508 and the like.
本明細書においては、ドライブ装置に特有のセーフティ機能を「モーションセーフティ機能」と総称する。典型的には、「機能」は、上述の非特許文献1に規定されるドライブ装置に関連するセーフティ機能を包含する。例えば、制御軸の位置や速度を監視して安全を確保するための制御を含む。
In this specification, the safety functions unique to the drive device are collectively referred to as "motion safety functions". Typically, "function" encompasses safety functions associated with the drive defined in
本明細書において、「プロセスデータ」は、標準制御またはセーフティ制御の少なくともいずれかで用いられるデータの総称である。具体的には、「プロセスデータ」は、制御対象から取得される入力情報、制御対象へ出力される出力情報、各デバイスでの制御演算に使用される内部情報などを包含する。 As used herein, "process data" is a generic term for data used in at least one of standard control and safety control. Specifically, "process data" includes input information acquired from the controlled object, output information output to the controlled object, internal information used for control calculations in each device, and the like.
入力情報は、光電センサなどにより検出されるON/OFF信号(デジタル入力)、温度センサなどにより検出される物理信号(アナログ入力)、ならびに、パルスエンコーダなどが発生するパルス信号(パルス入力)などを包含する。出力情報は、リレーなどを駆動するためのON/OFF(デジタル出力)、サーボモータの回転速度などを指示する速度指令(アナログ出力)、ならびに、ステッピングモータの移動量などを指示する変位指令(パルス出力)などを包含する。内部情報は、任意のプロセスデータを入力とする制御演算などによって決定される状態情報などを含む。 Input information includes ON/OFF signals (digital input) detected by photoelectric sensors, physical signals (analog inputs) detected by temperature sensors, and pulse signals generated by pulse encoders (pulse inputs). contain. Output information includes ON/OFF (digital output) for driving relays, etc., speed command (analog output) for indicating the rotation speed of a servomotor, and displacement command (pulse output) for indicating the amount of movement of a stepping motor. output), etc. The internal information includes state information and the like that are determined by control calculation and the like using arbitrary process data as input.
基本的には、「プロセスデータ」の値は、制御周期または通信周期毎に更新される。ここで、更新とは、最新の値を反映することを意味し、更新の前後において値が変化しない場合も含み得る。 Basically, the value of "process data" is updated every control cycle or communication cycle. Here, updating means reflecting the latest value, and may include the case where the value does not change before and after updating.
図2は、本実施の形態に係る制御システム1が有する機能を示す模式図である。図2を参照して、セーフティドライバ300の各々は、セーフティ機能を有するとともに、標準コントローラ100からの指令(第1の指令)に従って、サーボモータ400を駆動する。また、セーフティドライバ300の各々には、セーフティコントローラ200からセーフティ機能の動作に係るセーフティ指令(第2の指令)が与えられる。このセーフティ指令は、セーフティコントローラ200とセーフティドライバ300との間にフィールドネットワーク2を利用して形成される論理コネクション4を介して送信される。
FIG. 2 is a schematic diagram showing functions of the
フィールドネットワーク2は、標準コントローラ100、1または複数のセーフティドライバ300、および、セーフティコントローラ200の間で、データを互いに共有するために用いられる。典型的には、フィールドネットワーク2を通信フレームがサイクリックに伝送されることで、プロセスデータ通信が実現される。このプロセスデータ通信を用いることで、データが共有される。
セーフティドライバ300の各々は、予め格納される設定情報3206に従って、他のデバイスに公開する情報の更新、および、他のデバイスから送信された情報の受信などのデータ共有処理を実行する。
Each of the
サポート装置500は、典型的には、標準コントローラ100を介して、制御システム1に接続される。サポート装置500は、制御システム1に含まれる各デバイスに対する設定およびプログラムの開発などが可能である。
本実施の形態においては、サポート装置500は、設定生成モジュール10を有している。設定生成モジュール10は、典型的には、サポート装置500のプロセッサがサポートプログラムを実行することで実現されてもよい(詳細については、後述する)。
In this embodiment, the
設定生成モジュール10は、ユーザ操作に従って、フィールドネットワーク2に接続されている各セーフティドライバ300に対して、フィールドネットワーク2を介して共有するべきデータの設定を各セーフティドライバ300に応じて生成する。このデータの設定は、設定情報3206に含まれることになる。設定生成モジュール10は、セーフティドライバ300を含むフィールドネットワーク2のネットワーク構成および各デバイスの設定を含む。
The
フィールドネットワーク2によるプロセスデータ通信は、標準コントローラ100が通信マスタとして機能することで実現される。通信マスタとして機能する標準コントローラ100は、設定反映モジュール20を有している。サポート装置500の設定生成モジュール10により生成された設定は、標準コントローラ100へ転送される。標準コントローラ100の設定反映モジュール20は、フィールドネットワーク2がネットワークの状態遷移中に、各デバイスに対して設定を反映する。すなわち、設定反映モジュール20は、フィールドネットワーク2に接続されている各セーフティドライバ300に対して対応する設定を反映する。
Process data communication by the
なお、設定反映モジュール20をサポート装置500に配置してもよい。この場合には、サポート装置500の設定反映モジュール20がセーフティドライバ300に対して設定を書き込むことになる。
Note that the setting
このような構成を採用することで、フィールドネットワーク2に複数のセーフティドライバ300が接続されている場合であっても、フィールドネットワーク2を介したデータ共有の設定を一括して行うことができる。そのため、設定の作業効率を向上させることができる。
By adopting such a configuration, even when a plurality of
<B.制御システム1に含まれるデバイスの構成例>
次に制御システム1に含まれるデバイスの構成例について説明する。
<B. Configuration Example of Devices Included in
Next, a configuration example of devices included in the
(b1:標準コントローラ100)
図3は、本実施の形態に係る制御システム1を構成する標準コントローラ100のハードウェア構成例を示す模式図である。図3を参照して、標準コントローラ100は、プロセッサ102と、メインメモリ104と、ストレージ110と、上位ネットワークコントローラ106と、フィールドネットワークコントローラ108と、USB(Universal Serial Bus)コントローラ120と、メモリカードインターフェイス112と、ローカルバスコントローラ116とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
(b1: standard controller 100)
FIG. 3 is a schematic diagram showing a hardware configuration example of the
プロセッサ102は、主として、標準制御に係る制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラム(一例として、システムプログラム1102および標準制御プログラム1104)を読出して、メインメモリ104に展開して実行することで、制御対象に応じた制御演算、および、後述するような各種処理を実現する。
The
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
The
ストレージ110には、基本的な機能を実現するためのシステムプログラム1102に加えて、制御対象に応じて作成された標準制御プログラム1104が格納される。さらに、ストレージ110には、後述するような変数などを設定するための設定情報1106が格納される。
The
上位ネットワークコントローラ106は、上位ネットワークを介して、任意の報処理装置との間でデータを遣り取りする。
The
フィールドネットワークコントローラ108は、フィールドネットワーク2を介して、セーフティコントローラ200およびセーフティドライバ300を含む任意のデバイスとの間でデータを遣り取りする。図3に示す制御システム1においては、標準コントローラ100のフィールドネットワークコントローラ108は、フィールドネットワーク2の通信マスタとして機能する。
USBコントローラ120は、USB接続を介して、サポート装置500などとの間でデータを遣り取りする。
The
メモリカードインターフェイス112は、着脱可能な記録媒体の一例であるメモリカード114を受け付ける。メモリカードインターフェイス112は、メモリカード114に対してデータを書き込み、メモリカード114から各種データ(ログやトレースデータなど)を読み出すことが可能になっている。
ローカルバスコントローラ116は、ローカルバスを介して、標準コントローラ100に接続される任意のユニットとの間でデータを遣り取りする。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、標準コントローラ100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。さらに、標準コントローラ100に表示装置やサポート装置などの機能を統合した構成を採用してもよい。
FIG. 3 shows a configuration example in which necessary functions are provided by the
(b2:セーフティコントローラ200)
図4は、本実施の形態に係る制御システム1を構成するセーフティコントローラ200のハードウェア構成例を示す模式図である。図4を参照して、セーフティコントローラ200は、プロセッサ202と、メインメモリ204と、ストレージ210と、フィールドネットワークコントローラ208と、USBコントローラ220と、セーフティローカルバスコントローラ216とを含む。これらのコンポーネントは、プロセッサバス218を介して接続されている。
(b2: safety controller 200)
FIG. 4 is a schematic diagram showing a hardware configuration example of the
プロセッサ202は、主として、セーフティ制御に係る制御演算を実行する演算処理部に相当し、CPUやGPUなどで構成される。具体的には、プロセッサ202は、ストレージ210に格納されたプログラム(一例として、システムプログラム2102およびセーフティプログラム2104)を読出して、メインメモリ204に展開して実行することで、必要なセーフティ機能を提供するための制御演算、および、後述するような各種処理を実現する。
The
メインメモリ204は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ210は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。
The
ストレージ210には、基本的な機能を実現するためのシステムプログラム2102に加えて、要求されるセーフティ機能に応じた作成されたセーフティプログラム2104が格納される。さらに、ストレージ210には、後述するような変数などを設定するための設定情報2106が格納される。
The
フィールドネットワークコントローラ208は、フィールドネットワーク2を介して、標準コントローラ100およびセーフティドライバ300を含む任意のデバイスとの間でデータを遣り取りする。図3に示す制御システム1においては、セーフティコントローラ200のフィールドネットワークコントローラ208は、フィールドネットワーク2の通信スレーブとして機能する。
USBコントローラ220は、USB接続を介して、サポート装置500などの情報処理装置との間でデータを遣り取りする。
The
セーフティローカルバスコントローラ216は、セーフティローカルバスを介して、セーフティコントローラ200に接続される任意のセーフティユニットとの間でデータを遣り取りする。図4には、セーフティユニットの一例として、セーフティIOユニット230を示す。
The safety
セーフティIOユニット230は、任意のセーフティデバイス240との間で入出力信号を遣り取りする。より具体的には、セーフティIOユニット230は、セーフティセンサやセーフティスイッチなどのセーフティデバイス240からの入力信号を受け付ける。あるいは、セーフティIOユニット230は、セーフティリレーなどのセーフティデバイス240へ指令を出力する。
The safety IO unit 230 exchanges input/output signals with an
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、セーフティコントローラ200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。
FIG. 4 shows a configuration example in which necessary functions are provided by the
(b3:セーフティドライバ300およびサーボモータ400)
図5は、本実施の形態に係る制御システム1を構成するセーフティドライバ300およびサーボモータ400のハードウェア構成例を示す模式図である。図5を参照して、セーフティドライバ300は、フィールドネットワークコントローラ302と、制御部310と、ドライブ回路330と、フィードバック受信回路332とを含む。
(b3:
FIG. 5 is a schematic diagram showing a hardware configuration example of the
フィールドネットワークコントローラ302は、フィールドネットワーク2を介して、標準コントローラ100およびセーフティコントローラ200を含む任意のデバイスとの間でデータを遣り取りする。図5に示す制御システム1においては、セーフティドライバ300のフィールドネットワークコントローラ302は、フィールドネットワーク2の通信スレーブとして機能する。
制御部310は、セーフティドライバ300を動作させるために必要な演算処理を実行する。一例として、制御部310は、プロセッサ312,314と、メインメモリ316と、ストレージ320とを含む。
The
プロセッサ312は、サーボモータ400を駆動するための制御演算を主として実行する演算処理部に相当する。プロセッサ314は、サーボモータ400に係るセーフティ機能を提供するための制御演算を主として実行する演算処理部に相当する。プロセッサ312,314は、いずれもCPUなどで構成される。
The
メインメモリ316は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ320は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。
The
ストレージ320には、サーボ制御350を実現するためのサーボ制御プログラム3202と、モーションセーフティ機能360を実現するためのモーションセーフティプログラム3204と、他のデバイスに公開される変数などを設定するための設定情報3206とが格納される。
The
図5には、2つのプロセッサ312,314がそれぞれ異なる目的の制御演算を実行することで信頼性を高める構成を例示するが、これに限らず、要求されるセーフティ機能を実現できればどのような構成を採用してもよい。例えば、単一のプロセッサに複数のコアが含まれるような場合には、プロセッサ312,314にそれぞれ対応する制御演算を実行するようにしてもよい。また、図5には、プロセッサ312,314がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
FIG. 5 exemplifies a configuration in which the two
ドライブ回路330は、コンバータ回路およびインバータ回路などを含み、制御部310からの指令に従って、指定された電圧・電流・位相の電力を生成して、サーボモータ400へ供給する。
フィードバック受信回路332は、サーボモータ400からのフィードバック信号を受信して、その受信結果を制御部310へ出力する。
サーボモータ400は、典型的には、三相交流モータ402および三相交流モータ402の回転軸に取り付けられたエンコーダ404を含む。
三相交流モータ402は、セーフティドライバ300から供給される電力を受けて回転力を発生するアクチュエータである。図5には、一例として、三相交流モータを例示するが、これに限らず、直流モータであってもよいし、単相交流モータあるいは多相交流モータであってもよい。さらに、リニアサーボのような直線に沿って駆動力を発生するアクチュエータを採用してもよい。
The three-
エンコーダ404は、三相交流モータ402の回転数に応じたフィードバック信号(典型的には、回転数に応じた数のパルス信号)を出力する。
(b4:サポート装置500)
図6は、本実施の形態に係る制御システム1を構成するサポート装置500のハードウェア構成例を示す模式図である。サポート装置500は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
(b4: support device 500)
FIG. 6 is a schematic diagram showing a hardware configuration example of the
図6を参照して、サポート装置500は、プロセッサ502と、メインメモリ504と、入力部506と、出力部508と、ストレージ510と、光学ドライブ512と、USBコントローラ520とを含む。これらのコンポーネントは、プロセッサバス518を介して接続されている。
Referring to FIG. 6 ,
プロセッサ502は、CPUやGPUなどで構成され、ストレージ510に格納されたプログラム(一例として、OS5102およびサポートプログラム5104)を読出して、メインメモリ504に展開して実行することで、後述するような各種処理を実現する。
The
メインメモリ504は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ510は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
The
ストレージ510には、基本的な機能を実現するためのOS5102に加えて、サポート装置500としての機能を提供するためのサポートプログラム5104が格納される。すなわち、サポートプログラム5104は、制御システム1に接続されるコンピュータにより実行されることで、本実施の形態に係るサポート装置500を実現する。
The
さらに、ストレージ510には、サポートプログラム5104が実行されることで提供される開発環境においてユーザにより作成されるプロジェクトデータ5106が格納される。
Furthermore, the
本実施の形態において、サポート装置500は、制御システム1に含まれる各デバイスに対する設定および各デバイスで実行されるプログラムの作成が統合的に可能な開発環境を提供する。プロジェクトデータ5106は、このような統合的な開発環境によって生成されるデータを含む。典型的には、プロジェクトデータ5106は、標準制御ソースプログラム5108と、標準コントローラ設定情報5110と、セーフティソースプログラム5112と、セーフティコントローラ設定情報5114と、セーフティドライバ設定情報5116とを含む。
In the present embodiment, the
標準制御ソースプログラム5108は、オブジェクトコードに変換された上で、標準コントローラ100へ送信され、標準制御プログラム1104(図3参照)として格納される。同様に、標準コントローラ設定情報5110についても標準コントローラ100へ送信され、設定情報1106(図3参照)として格納される。
The standard
セーフティソースプログラム5112は、オブジェクトコードに変換された上で、セーフティコントローラ200へ送信され、セーフティプログラム2104(図3参照)として格納される。同様に、セーフティコントローラ設定情報5114についてもセーフティコントローラ200へ送信され、設定情報2106(図4参照)として格納される。
The
セーフティドライバ設定情報5116は、セーフティドライバ300へ送信され、設定情報3206(図5参照)として格納される。
The safety
入力部506は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部508は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ502からの処理結果などを出力する。
An
USBコントローラ520は、USB接続を介して、標準コントローラ100などとの間のデータを遣り取りする。
サポート装置500は、光学ドライブ512を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体514(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られてストレージ510などにインストールされる。
The
サポート装置500で実行されるサポートプログラム5104などは、コンピュータ読取可能な記録媒体514を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置500が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
The
図6には、プロセッサ502がプログラムを実行することで、サポート装置500として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
FIG. 6 shows a configuration example in which the functions necessary for the
なお、制御システム1が稼動中において、サポート装置500は、標準コントローラ100から取り外されていてもよい。
Note that the
<C.制御システム1の機能分担>
次に、制御システム1における機能分担の一例について説明する。図7は、本実施の形態に係る制御システム1の機能分担の一例を示す模式図である。
<C. Function sharing of
Next, an example of division of functions in the
図7を参照して、標準コントローラ100が実行する標準制御150に関して、セーフティドライバ300はサーボ制御350を実行する。標準制御150は、制御対象に予め設定されたユーザプログラムに従って、サーボモータ400を駆動するための指令を周期的に算出する処理を含む。また、サーボ制御350は、標準制御150により周期的に算出される指令に従ってサーボモータ400を駆動するための制御、および、サーボモータ400の動作状態を示す状態値を取得して出力する処理を含む。サーボ制御350は、セーフティドライバ300のプロセッサ312(図5参照)が担当する。
Referring to FIG. 7,
一方、セーフティコントローラ200が提供するセーフティ機能250に対応して、セーフティドライバ300はモーションセーフティ機能360を提供する。モーションセーフティ機能360は、セーフティドライバ300のプロセッサ314(図5参照)が担当する。
On the other hand, the
セーフティ機能250は、標準コントローラ100が実行する標準制御150が保持する状態値、セーフティデバイス240からの信号によって示される状態値、および、セーフティドライバ300が保持する状態値などに基づいて、予め定められた条件が成立すると、予め指定されているセーフティ機能を有効化する。
The
予め指定されているセーフティ機能を有効化する処理は、例えば、セーフティドライバ300に対するセーフティ指令の出力、あるいは、セーフティデバイス240に対してセーフティ指令の出力(例えば、特定の装置への電力供給に係るセーフティリレーを遮断する)などを含む。
The process of activating a safety function designated in advance is, for example, the output of a safety command to the
セーフティドライバ300は、セーフティコントローラ200からのセーフティ指令に応答して、指定されたモーションセーフティ機能360を提供する。指定されたモーションセーフティ機能360の種類に応じて、サーボ制御350によるサーボモータ400の制御に介入して、サーボモータ400への電力供給を遮断する処理、あるいは、サーボ制御350によるサーボモータ400の制御の状態値が予め定められた制限範囲内に収まっているか否かを監視する処理などが実行される。
図8は、本実施の形態に係る制御システム1のセーフティドライバ300によるセーフティ機能に係る処理手順の一例を示すシーケンス図である。図8を参照して、標準コントローラ100の標準制御150により周期的に指令が算出されて、セーフティドライバ300(サーボ制御350)に出力される(シーケンスSQ2)。セーフティドライバ300のサーボ制御350は、標準制御150からの指令に従って、サーボモータ400を駆動する(シーケンスSQ4)。
FIG. 8 is a sequence diagram showing an example of a processing procedure related to the safety function by the
あるタイミングにおいて、セーフティデバイス240(例えば、セーフティセンサ)からのセーフティイベントが発生すると(シーケンスSQ6)、セーフティコントローラ200は、セーフティドライバ300(モーションセーフティ機能360)にセーフティ指令を出力する(シーケンスSQ8)。このセーフティ指令に応答して、セーフティドライバ300のモーションセーフティ機能360は、指定されたセーフティ機能を有効化する(シーケンスSQ10)。
At a certain timing, when a safety event occurs from the safety device 240 (for example, a safety sensor) (sequence SQ6), the
セーフティ機能の有効化に応答して、標準コントローラ100の標準制御150からは、当該有効化されたセーフティ機能に応じた指令が算出および出力されるようになる(シーケンスSQ12)。一方、セーフティドライバ300(モーションセーフティ機能360)は、サーボモータ400の動作状態が予め定められた制限範囲内に収まっているか否かを監視する。サーボモータ400の動作状態が予め定められた制限範囲内に収まっていないと判断されると、あるいは、予め定められた停止時間が到来すると、セーフティドライバ300(モーションセーフティ機能360)は、サーボモータ400への電力供給を遮断する(シーケンスSQ14)。
In response to the activation of the safety function,
このように、セーフティドライバ300は、標準コントローラ100(標準制御150)からの指令に従ってサーボモータ400を駆動できるとともに、セーフティ機能を有効化するための指令に応じて、セーフティコントローラ200(セーフティ機能250)に対するモーションセーフティ機能を実現することができる。
In this way, the
<D.制御システム1のモーションセーフティ機能>
次に、制御システム1が提供するモーションセーフティ機能の一例について説明する。
<D. Motion Safety Function of
Next, an example of the motion safety function provided by the
図9は、本実施の形態に係る制御システム1が提供するモーションセーフティ機能の一例を示す図である。図9(A)には、STO(Safe Torque Off)に対応するサーボモータ400の挙動の一例を示し、図9(B)には、SS1(Safe Stop 1)に対応するサーボモータ400の挙動の一例を示す。
FIG. 9 is a diagram showing an example of the motion safety function provided by the
図9(A)を参照して、サーボモータ400がある回転速度で運転している状態において、時刻t1でセーフティ指令(STO)が与えられると、セーフティドライバ300は、サーボモータ400への電力供給を遮断して、サーボモータ400で発生するトルクをゼロにする。この結果、サーボモータ400は惰性で回転した後に停止する。なお、サーボモータ400にブレーキが装着されている場合には、サーボモータ400は即座に停止することもできる。
Referring to FIG. 9A, when a safety command (STO) is given at time t1 while
図9(B)を参照して、サーボモータ400がある回転速度で運転している状態において、時刻t1でセーフティ指令(SS1)が与えられると、セーフティドライバ300は、予め定められた加速度で回転速度を低減する。このとき、セーフティドライバ300は、サーボモータ400からの電力回収(すなわち、回生)などを実行してもよい。そして、時刻t2においてサーボモータ400の回転速度がゼロになると、セーフティドライバ300は、サーボモータ400への電力供給を遮断して、サーボモータ400で発生するトルクをゼロにする。時刻t2以降においては、図9(A)に示すSTOと同様の状態になる。
Referring to FIG. 9B, when
図9(A)に示されるSTOおよび図9(B)に示されるSS1のうち、サーボモータ400と機械的に連結されている設備の特性などに応じて、より安全に停止できるセーフティ機能が適宜選択される。 Of the STO shown in FIG. 9A and SS1 shown in FIG. selected.
上述し非特許文献1は、図9(A)および図9(B)に示すモーションセーフティ機能だけではなく、複数のモーションセーフティ機能を規定する。各モーションセーフティ機能を実現するためには、サーボモータ400の挙動を規定するための設定が必要となる。
図10は、本実施の形態に係る制御システム1のセーフティドライバ300に格納されるモーションセーフティ機能を実現するためのパラメータセット390の一例を示す図である。図10を参照して、パラメータセット390は、セーフティドライバ300が提供するモーションセーフティ機能の各々に対応する1または複数の設定値(パラメータ)を含む。
FIG. 10 is a diagram showing an example of the parameter set 390 for realizing the motion safety function stored in the
例えば、モーションセーフティ機能に対応する設定値としては、速度範囲、加速度範囲、停止時間などが含まれ得る。 For example, settings corresponding to motion safety features may include velocity range, acceleration range, stop time, and the like.
典型的には、ユーザがサポート装置500を操作してセーフティドライバ300におけるモーショセーフティ機能における挙動を決定し、その決定された挙動に対応するパラメータセット390がセーフティドライバ300へ転送される。セーフティドライバ300は、サポート装置500からのパラメータセット390を予め格納している。
Typically, the user operates the
<E.制御システム1のデータ通信>
次に、制御システム1におけるデータ通信の一例について説明する。
<E. Data communication of
Next, an example of data communication in the
図11は、本実施の形態に係る制御システム1における通信フレームの伝送形態を説明するための図である。図11を参照して、制御システム1のフィールドネットワーク2においては、プロセスデータ通信が行われており、標準コントローラ100を通信マスタとして、通信フレーム600がサイクリック(例えば、数~10数msec)にデバイス間を一巡する。通信フレーム600が伝送する周期をプロセスデータ通信周期とも称する。
FIG. 11 is a diagram for explaining the form of transmission of communication frames in the
本実施の形態においては、このような通信フレーム600をサイクリックに伝送するフィールドネットワーク2のプロトコルの一例として、EtherCAT(登録商標)を採用する。
In this embodiment, EtherCAT (registered trademark) is adopted as an example of the protocol of the
通信フレーム600には、デバイス毎にデータ領域が割り当てられている。各デバイスは、周期的に伝送される通信フレーム600を受信すると、当該受信した通信フレーム600内の自デバイスに割り当てられたデータ領域に予め設定されたデータの現在値を書き込む。そして、現在値の書き込み後の通信フレーム600を次段のデバイスに送出する。各デバイスにより書き込まれたデータの現在値は他のデバイスから参照可能になっている。
A data area is assigned to each device in the
各デバイスが通信フレーム600に予め設定されたデータの現在値を書き込むことで、フィールドネットワーク2を一巡して通信マスタ(標準コントローラ100)に戻る通信フレーム600には、各デバイスにより収集された最新の値が含まれることになる。
Each device writes the current value of the preset data in the
本実施の形態においては、このようなプロセスデータ通信を利用して、セーフティコントローラ200とセーフティドライバ300の各々との間で論理コネクション4が形成される(図11参照)。この論理コネクション4は、セーフティ機能を実現するためのデータの遣り取りに用いられる。
In the present embodiment, using such process data communication, the
上述したように、フィールドネットワーク2のプロトコルとしてEtherCATを採用する場合には、FSoE(FailSafe over EtherCAT)と称されるプロトコルを用いて論理コネクション4を形成できる。
As described above, when EtherCAT is adopted as the protocol of the
より具体的には、論理コネクション4を形成するために遣り取りされるコマンドを格納するための専用のデータ領域が通信フレーム600に割り当てられる。当該専用のデータ領域を用いて、デバイス間でコマンドを遣り取りすることで、論理コネクション4を形成する。
More specifically, a dedicated data area for storing commands exchanged to form the
図12は、本実施の形態に係る制御システム1におけるデータ伝送を説明するための図である。図12を参照して、通信フレーム600には、プロセスデータ通信に用いられるデータ領域610に加えて、論理コネクション4に用いられるデータ領域620が規定されている。
FIG. 12 is a diagram for explaining data transmission in the
データ領域610は、標準コントローラ100に割り当てられたデータ領域611と、セーフティドライバ300に割り当てられたデータ領域612,613,614と、セーフティコントローラ200に割り当てられたデータ領域615とを含む。
データ領域612,613,614,615は、各デバイスから他のデバイスへデータを公開するためのINデータ領域6121,6131,6141,6151と、各デバイスでの指令を受け付けるためのOUTデータ領域6122,6132,6142,6152とを含む。
INデータ領域6121,6131,6141,6151は、各デバイスが管理するプロセスデータのうち、他のデバイスへ公開するデータが書き込まれるデータ領域である。各デバイスが通信フレーム600内の自デバイスに割り当てられたINデータ領域に必要なデータを書き込むことで、他のデバイスは当該書き込まれたデータを参照できるようになる。通常、標準コントローラ100は、通信周期毎に、各デバイスにより書き込まれたデータを参照して標準制御に係る制御演算を実行することで、各デバイスに対する指令を算出する。
The
OUTデータ領域6122,6132,6142,6152には、各デバイスに与えられる指令が書き込まれる。各デバイスは、通信フレーム600内の自デバイスに割り当てられたOUTデータ領域に格納されているデータを参照することで、制御対象への出力信号を生成し、あるいは、内部の制御状態を更新する。基本的には、各デバイスのOUTデータ領域には、標準コントローラ100によってデータが書き込まれる。
In the
プロセスデータ通信に用いられるデータ領域610に対する、各デバイスのデータの書き込みおよび読出し動作は、各デバイスに割り当てられるデータ領域に応じて、予め設定されている。このようなデータの書き込みおよび読出しの設定操作は、サポート装置500上でユーザによって行われる。そして、サポート装置500から各デバイスに設定情報が送信される。
The data write and read operations of each device with respect to the
一方、論理コネクション4に用いられるデータ領域620は、セーフティドライバ300に割り当てられたデータ領域621,622,623と、セーフティコントローラ200に割り当てられたデータ領域624とを含む。各デバイスは、データ領域621,622,623,624に対して、論理コネクション4に係る通信フレーム(以下、「セーフティ通信フレーム630」とも称す。)の書き込みおよび読出しを行う。通信マスタである標準コントローラ100は、データ領域621,622,623,624の間で、格納されているセーフティ通信フレーム630を入れ替える。このような通信マスタによる折り返し処理によって、セーフティ通信フレーム630は、一種のピアツーピアの通信が可能となる。
On the other hand, the
図12には、一例として、セーフティコントローラ200から1番目のセーフティドライバ300へセーフティ通信フレーム630を送信する場合の処理を示す。図12に示すようなセーフティ通信フレーム630は、セーフティコントローラ200が特定のセーフティドライバ300に対して特定のモーションセーフティ機能を有効化する場合などに送信される。
FIG. 12 shows, as an example, processing when the
まず、セーフティコントローラ200は、送信先のセーフティドライバ300へ送信すべきセーフティ通信フレーム630を生成して、通信フレーム600のデータ領域624に書き込む。その後、セーフティ通信フレーム630が書き込まれた通信フレーム600が通信マスタである標準コントローラ100へ到着すると、標準コントローラ100は、データ領域624に格納されているセーフティ通信フレーム630をデータ領域621に複製する。データ領域621にセーフティ通信フレーム630が複製された通信フレーム600が送信先のセーフティドライバ300に到着すると、送信先のセーフティドライバ300は、データ領域621を参照して、セーフティ通信フレーム630を受信する。
First, the
また、セーフティドライバ300からセーフティコントローラ200へのセーフティ通信フレーム630は、上述とは反対の通信経路で送信される。
Also, the
このように、本実施の形態に係る制御システム1においては、通信フレーム600内のデータ領域620を用いて、論理コネクション4が形成される。
Thus, in the
<F.標準制御およびセーフティ制御の実装例>
上述したように、本実施の形態に係る制御システム1においては、プロセスデータ通信および論理コネクション4によるセーフティ通信が可能になっている。次に、それぞれの通信を利用した標準制御およびセーフティ制御の実装例について説明する。
<F. Implementation example of standard control and safety control>
As described above, in the
図13は、本実施の形態に係る制御システム1における標準制御およびセーフティ制御の実装例を示す模式図である。説明の便宜上、図13には、標準コントローラ100およびセーフティコントローラ200に加えて、1つのセーフティドライバ300からなる制御システム1の例を示す。
FIG. 13 is a schematic diagram showing an implementation example of standard control and safety control in
図13を参照して、標準コントローラ100は、主たる機能構成として、プロセスデータ通信レイヤ170およびIO管理モジュール172を有している。セーフティコントローラ200は、主たる機能構成として、プロセスデータ通信レイヤ270と、IO管理モジュール272と、論理コネクションレイヤ276と、セーフティ機能状態管理エンジン278とを含む。セーフティドライバ300は、主たる機能構成として、プロセスデータ通信レイヤ370と、論理コネクションレイヤ376と、モーションセーフティ機能状態管理エンジン378と、サーボ制御実行エンジン352と、モーションセーフティ機能実行エンジン362とを含む。
Referring to FIG. 13,
プロセスデータ通信レイヤ170、プロセスデータ通信レイヤ270およびプロセスデータ通信レイヤ370は、フィールドネットワーク2上の通信フレーム600の転送を担当する。プロセスデータ通信レイヤ170、プロセスデータ通信レイヤ270およびプロセスデータ通信レイヤ370の各々は、到着した通信フレーム600に含まれるデータに基づいて、各デバイスのプロセスデータ174,274,374を更新する。また、プロセスデータ通信レイヤ170、プロセスデータ通信レイヤ270およびプロセスデータ通信レイヤ370の各々は、予め指定されたプロセスデータを予め割り当てられているデータ領域に書き込んだ上で、通信フレーム600を再生成して次段のデバイスに送出する。プロセスデータ通信によりプロセスデータの少なくとも一部は共有されることになる。
Process
セーフティコントローラ200の論理コネクションレイヤ276およびセーフティドライバ300の論理コネクションレイヤ376は、セーフティ通信フレーム630の遣り取りを担当する。すなわち、論理コネクションレイヤ276および論理コネクションレイヤ376は、論理コネクションを形成するためのプロトコル(本実施の形態においては、FSoE)に従って、通信フレーム600に含まれるセーフティ通信フレーム630を用いて、コマンドおよびデータを遣り取りする。
The
標準コントローラ100において、IO管理モジュール172は、制御対象との間で信号を遣り取りすることで、プロセスデータ174を更新する。標準コントローラ100において実行される標準制御プログラム1104は、プロセスデータ174を参照して制御演算を実行するとともに、制御演算の実行結果でプロセスデータ174を更新する。
In the
セーフティコントローラ200において、IO管理モジュール272は、セーフティデバイス240との間で信号を遣り取りすることで、プロセスデータ274を更新する。図13においては、プロセスデータ274とまとめて表現しているが、プロセスデータ通信により更新されるプロセスデータ(標準制御用)と、セーフティデバイス240との遣り取りにより更新されるプロセスデータ(セーフティ制御用)とを異なるレベルで管理するようにしてもよい。
In the
セーフティコントローラ200において実行されるセーフティプログラム2104は、プロセスデータ274およびセーフティ機能状態管理エンジン278を参照して制御演算を実行するとともに、制御演算の実行結果に基づいて、プロセスデータ274を更新し、あるいは、セーフティ機能状態管理エンジン278に対して内部的な指令を出力する。
The
セーフティ機能状態管理エンジン278は、セーフティプログラム2104による制御演算の実行結果に応じて、特定のセーフティドライバ300に対して特定のモーションセーフティ機能を有効化するための指令を生成する。論理コネクションレイヤ276は、セーフティ機能状態管理エンジン278からの指令に応答して、対象のセーフティドライバ300の論理コネクションレイヤ376との間で、セーフティ通信フレーム630を用いて必要なコマンドおよび情報を遣り取りする。
The safety function
セーフティドライバ300において、サーボ制御実行エンジン352は、プロセスデータ374およびフィードバック受信回路332を介して取得されるフィードバック信号の情報を参照してサーボ制御に係る制御演算を実行する。サーボ制御実行エンジン352は、制御演算の実行結果に基づいて、プロセスデータ374を更新するとともに、ドライブ回路330に内部的な指令を出力する。ドライブ回路330は、サーボ制御実行エンジン352からの指令に従って、サーボモータ400を駆動する。
In the
モーションセーフティ機能状態管理エンジン378は、セーフティコントローラ200からのセーフティ指令に従ってモーションセーフティ機能の状態を管理する状態管理部に相当する。モーションセーフティ機能状態管理エンジン378は、セーフティコントローラ200からの指令に応答して、モーションセーフティ機能実行エンジン362に対して内部的な指令を出力する。
The motion safety function
モーションセーフティ機能実行エンジン362は、指定されたモーションセーフティ機能を実行する。
Motion safety
論理コネクションレイヤ376は、モーションセーフティ機能状態管理エンジン378からの指令に応答して、セーフティコントローラ200の論理コネクションレイヤ276との間で、セーフティ通信フレーム630を用いて必要なコマンドおよび情報を遣り取りする。
The
<G.セーフティ状態情報の公開>
上述したように、本実施の形態に係る制御システム1においては、セーフティコントローラ200とセーフティドライバ300との間の論理コネクション4を介して、モーションセーフティ機能の有効化が指示される。標準コントローラ100は、セーフティコントローラ200とセーフティドライバ300との間の遣り取りを直接参照できない。そのため、通信フレーム600のプロセスデータ通信に用いられるデータ領域610を用いて関係するデータが公開されない限り、標準コントローラ100は、モーションセーフティ機能の有効化の有無、および、モーションセーフティ機能が有効化されたタイミングなどを検出できない。以下では、標準コントローラ100がモーションセーフティ機能の情報を参照する方法について説明する。
<G. Disclosure of safety status information>
As described above, in the
具体的には、セーフティドライバ300からのプロセスデータ通信によるデータ公開を用いる方法について説明する。
Specifically, a method of using data disclosure by process data communication from the
図14は、本実施の形態に係る制御システム1の標準コントローラ100がモーションセーフティ機能の情報を参照する方法を説明するための図である。図14に示す構成においては、セーフティドライバ300がデータミラーエンジン380をさらに含む。
FIG. 14 is a diagram for explaining how the
データミラーエンジン380は、モーションセーフティ機能状態管理エンジン378が保持する情報のうち予め設定された情報を、フィールドネットワーク2を介して公開するデータ公開部に相当する。具体的には、データミラーエンジン380は、モーションセーフティ機能状態管理エンジン378が管理しているモーションセーフティ機能の情報のうち予め選択された情報を、データ公開するためにプロセスデータ374に複製する((1)複製)。
The
一方、標準コントローラ100においては、セーフティドライバ300により公開されるモーションセーフティ機能の情報を取得するための命令および/または設定が標準制御プログラム1104などに追加される((2)情報取得)。そして、取得されたモーションセーフティ機能の情報を用いたセーフティドライバ300を制御するためのプログラムが標準制御プログラム1104に追加される((3)指令出力プログラム追加)。このような命令および/または設定の追加により、標準コントローラ100において、モーションセーフティ機能の情報を参照して、セーフティドライバ300を制御するための指令を出力できる。
On the other hand, in the
より具体的な設定手順例としては、セーフティドライバ300のモーションセーフティ機能状態管理エンジン378は、モーションセーフティ機能毎に情報を管理しており、これらの情報のうち標準コントローラ100で参照すべき情報を、他のデバイスに公開するための変数に割り付けるための設定がなされる。本実施の形態においては、セーフティドライバ300により公開される情報はオブジェクト形式の変数に割り付けられ、以下では、このようなオブジェクト形式の変数を「モーションセーフティ制御用オブジェクト」とも称す。公開される情報の各々(情報の種類および値からなる組)は、モーションセーフティ制御用オブジェクトのプロパティとして割り付けられることになる。モーションセーフティ制御用オブジェクトは、フィールドネットワーク2を介してアクセス可能な通信オブジェクトに相当する。
As a more specific setting procedure example, the motion safety function
また、標準コントローラ100においては、セーフティドライバ300により公開される、モーションセーフティ制御用オブジェクトに含まれる情報(プロパティ)のうち、必要な情報を用いて、セーフティドライバ300を制御するためのプログラムが作成される。
In the
以上のように、セーフティドライバ300によるデータ公開により実装する場合には、セーフティドライバ300に対して、公開すべき情報を選択さえすれば、比較的容易に、標準コントローラ100で実行される標準制御プログラム1104を作成できる。
As described above, when implementing data disclosure by the
次に、セーフティドライバ300により公開されるモーションセーフティ制御用オブジェクトの一例について説明する。
Next, an example of the motion safety control object disclosed by the
図15は、本実施の形態に係る制御システム1のセーフティドライバ300が公開するモーションセーフティ制御用オブジェクトの設定例を説明するための図である。
FIG. 15 is a diagram for explaining a setting example of motion safety control objects disclosed by the
図15に示す例において、モーションセーフティ制御用オブジェクト382は、モーションセーフティ毎の指令(有効化/無効化)の発行状態を示すコントロールオブジェクト3821と、モーションセーフティ毎の状態値を示すステータスオブジェクト3822とを含む。なお、図15に示すような2つのオブジェクトに限らず、単一のオブジェクトのみを用意してもよいし、より多くのオブジェクトを用意してもよい。
In the example shown in FIG. 15, the motion
セーフティドライバ300のモーションセーフティ機能状態管理エンジン378は、モーションセーフティ機能毎に制御用オブジェクト3781,3782,3783,3784,3785,・・・を有している。制御用オブジェクト3781,3782,3783,3784,3785,・・・は、モーションセーフティ機能状態管理エンジン378が論理的に保持するデータ構造体である。
The motion safety function
より具体的には、制御用オブジェクト3781,3782,3783,3784,3785,・・・は、各モーションセーフティの指令(有効化/無効化)の発行状態を示す情報3781A,3782A,3783A,3784A,3785A,・・・と、各モーションセーフティの制御状態を示す情報3781B,3782B,3783B,3784B,3785B,・・・とを含む。
More specifically, the control objects 3781, 3782, 3783, 3784, 3785, . 3785A, . . . and
モーションセーフティ制御用オブジェクト382には、制御用オブジェクト3781,3782,3783,3784,3785,・・・に含まれる情報のうち、予め選択された情報が複製される。このように、モーションセーフティ制御用オブジェクト382には、モーションセーフティ機能状態管理エンジン378が管理する情報が複製されるので、モーションセーフティ制御用オブジェクト382を「ミラーオブジェクト」と称することもできる。
Information selected in advance from the information included in the control objects 3781, 3782, 3783, 3784, 3785, . In this way, the motion
ミラーオブジェクトは、モーションセーフティ制御用オブジェクト382に含まれる情報をそのまま反映したものであるとともに、標準コントローラ100を含むフィールドネットワーク2に接続された各デバイスに対して公開される変数群でもある。
The mirror object reflects the information contained in the motion
モーションセーフティ制御用オブジェクト382に割り付けられる情報は、ミラーオブジェクト設定384(設定情報3206(図5参照)の一部に含まれる。)により規定される。ミラーオブジェクト設定384は、モーションセーフティ機能状態管理エンジン378が管理する情報のうち、モーションセーフティ制御用オブジェクト382に含まれる情報(プロパティ)として複製すべき情報を規定するものである。
Information allocated to the motion
このように、サポート装置500は、モーションセーフティ機能状態管理エンジン378が保持する情報のうち予め設定された情報を、フィールドネットワーク2を介して標準コントローラ100へ公開するように、ミラーオブジェクト設定384(設定情報3206(図5参照)の一部に含まれる。)を生成する。すなわち、セーフティドライバ300から標準コントローラ100へ公開されるデータは、セーフティコントローラ200からのセーフティ指令が反映されることになる。
In this way, the
図14に示す構成例において、データミラーエンジン380は、サーボ制御350を実行する演算処理部であるプロセッサ312によって実現され、モーションセーフティ機能状態管理エンジン378は、モーションセーフティ機能360を提供する演算処理部であるプロセッサ314によって実現される。
In the configuration example shown in FIG. 14, the
このような構成を採用した場合には、プロセッサ312とプロセッサ314との間でメッセージ通信などによってイベントを通知するようにしてもよい。具体的には、モーションセーフティ機能状態管理エンジン378(プロセッサ314)は、論理コネクション4を介して何らかの指令を受けると、対応する制御用オブジェクトの情報を更新するとともに、データミラーエンジン380(プロセッサ312)に情報の更新を通知する。この更新の通知を受けて、データミラーエンジン380(プロセッサ312)は、モーションセーフティ制御用オブジェクト382の内容を更新する。
When such a configuration is adopted, the event may be notified between the
<H.サポート装置500における公開データの参照設定>
サポート装置500において、セーフティドライバ設定情報5116(図6参照)の一部に含まれるコントロールオブジェクト・ステータスオブジェクト設定テーブル560が規定される。コントロールオブジェクト・ステータスオブジェクト設定テーブル560に規定されるオブジェクトに必要なセーフティ機能のオブジェクトが割り付けられた上で、セーフティコントローラ200のユーザプログラムでセーフティ機能のON/OFFが制御される。
<H. Reference Setting of Public Data in
In the
本実施の形態においては、サポート装置500が保持するコントロールオブジェクト・ステータスオブジェクト設定テーブル560、および、セーフティドライバ300が保持するミラーオブジェクト設定384は、いずれも、データ公開される情報を特定するための公開設定に相当する。以下、ミラーオブジェクト設定384に関するサポート装置500における設定処理について説明する。
In the present embodiment, both the control object/status object setting table 560 held by the
図16は、本実施の形態に係る制御システム1のサポート装置500での設定処理を説明するための図である。図16を参照して、サポート装置500は、制御システム1に含まれる標準コントローラ100およびセーフティドライバ300に係る設定を受け付ける。図16には、設定の一例として、標準コントローラ変数設定テーブル550(図6の標準コントローラ設定情報5110に含まれる)およびコントロールオブジェクト・ステータスオブジェクト設定テーブル560(図6のセーフティドライバ設定情報5116に含まれる)を示す。
FIG. 16 is a diagram for explaining setting processing in
コントロールオブジェクト・ステータスオブジェクト設定テーブル560は、対象のセーフティドライバ300が公開するモーションセーフティ制御用オブジェクト382に含まれる情報を規定するテーブルである。ユーザは、サポート装置500上で、コントロールオブジェクト・ステータスオブジェクト設定テーブル560を編集して、対象となるセーフティドライバ300が公開するモーションセーフティ制御用オブジェクト382に含めるべき情報を設定する((1)設定)。
The control object/status object setting table 560 is a table that defines information included in the motion
より具体的には、コントロールオブジェクト・ステータスオブジェクト設定テーブル560は、モーションセーフティ制御用オブジェクト382に含まれるコントロールオブジェクト3821およびステータスオブジェクト3822にそれぞれ対応する設定欄562および564を含む。ユーザは、設定欄562および564の各エントリに、対象とする情報の制御オブジェクト566を設定する。
More specifically, the control object/status object setting table 560 includes setting
各エントリに設定される情報は、モーションセーフティ機能状態管理エンジン378が保持するモーションセーフティ機能毎の制御用オブジェクト3781,3782,3783,3784,3785,・・・(図16参照)から任意に選択される。
Information set in each entry is arbitrarily selected from
このように、サポート装置500は、データミラーエンジン380により公開される情報の指定を受け付けるとともに、当該指定された情報を特定する公開設定(コントロールオブジェクト・ステータスオブジェクト設定テーブル560)をセーフティドライバ300へ転送する。
In this way, the
標準コントローラ変数設定テーブル550は、標準コントローラ100で参照可能な変数を規定するテーブルである。標準コントローラ変数設定テーブル550は、セーフティドライバ300により公開されるモーションセーフティ制御用オブジェクト382を参照するための設定を含む。
The standard controller variable setting table 550 is a table that defines variables that can be referenced by the
より具体的には、標準コントローラ変数設定テーブル550は、モーションセーフティ制御用オブジェクト382に含まれるコントロールオブジェクト3821およびステータスオブジェクト3822にそれぞれ対応する設定欄552および554を含む。
More specifically, the standard controller variable setting table 550 includes setting
本実施の形態に係る制御システム1の標準コントローラ100においては、モーションセーフティ制御用オブジェクト382をそのまま参照することもできるが、標準制御プログラム1104の作成を容易化するために、モーションセーフティ制御用オブジェクト382に含まれる各属性に対して変数を設定することも可能である。
In the
図16には、コントロールオブジェクト・ステータスオブジェクト設定テーブル560における設定に基づいて、標準コントローラ変数設定テーブル550において、モーションセーフティ制御用オブジェクト382に含まれる各属性に対して変数が自動的に設定される例を示す。
FIG. 16 shows an example in which variables are automatically set for each attribute included in the motion
図16に示すように、ユーザがコントロールオブジェクト・ステータスオブジェクト設定テーブル560を設定した後、標準コントローラ変数設定テーブル550への反映操作を行うと、各属性に対応する変数556は、設定欄562および564の内容に応じて自動的に設定されてもよい。あるいは、ユーザが手動で設定してもよい。このように、サポート装置500は、セーフティドライバ300に対する設定である、コントロールオブジェクト・ステータスオブジェクト設定テーブル560(公開設定)を参照して、セーフティドライバ300のモーションセーフティ機能状態管理エンジン378により管理される情報のうち公開対象の情報を特定するとともに、データミラーエンジン380により公開される情報を参照するための変数556(参照情報に相当する。)に当該特定した情報の意味を関連付ける。
As shown in FIG. 16, when the user sets the control object/status object setting table 560 and then performs the reflection operation to the standard controller variable setting table 550, the variable 556 corresponding to each attribute is set in the setting
標準制御プログラム1104においては、標準コントローラ変数設定テーブル550において設定された変数556を参照することができる。
The
図17は、本実施の形態に係る制御システム1のサポート装置500が提供するユーザインターフェイス画面の一例を示す模式図である。図17(A)を参照して、モーションセーフティ制御用オブジェクト382に係る設定画面570は、対象情報表示欄572と、ミラーオブジェクト表示欄574と、属性設定欄576と、データ型設定欄578とを含む。
FIG. 17 is a schematic diagram showing an example of a user interface screen provided by
ミラーオブジェクト表示欄574は、モーションセーフティ制御用オブジェクト382に含まれる各要素(ビット)を表示する。対象情報表示欄572には、モーションセーフティ制御用オブジェクト382に割り当てる情報が設定される。属性設定欄576には、割り当てられる情報の属性(読取専用/編集可能の別)が設定される。データ型設定欄578には、割り当てられる情報のデータ型(BOOL型や実数型など)が設定される。
A mirror
ユーザは、図17(A)に示す設定画面570に対する操作により、モーションセーフティ制御用オブジェクト382に含めるべき情報を設定する。その後、ユーザが反映操作を行うことで、図17(B)に示すように、標準コントローラ100で参照可能な変数名が自動的に設定される。
The user sets information to be included in the motion
図17(B)に示すように、設定画面570は、変数名設定欄580をさらに有している。変数名設定欄580には、標準コントローラ100で各情報を参照するための変数名が設定される。なお、変数名設定欄580に設定される変数名は、対象情報表示欄572に設定される変数名と同一であってもよい。
As shown in FIG. 17(B), the
上述したように、図16および図17には、変数名を参照情報として用いて任意のプロセス値を参照する構成例を示す。すなわち、サポート装置500において、セーフティドライバ300のデータミラーエンジン380により公開される情報を変数として参照可能になっている。このような変数に対して各情報の意味を反映する場合には、変数の名前(変数名)として反映してもよいし、変数を参照する際に表示される、変数名とは別に付与されるコメントやラベルなどの付加情報として反映してもよい。
As described above, FIGS. 16 and 17 show configuration examples in which arbitrary process values are referenced using variable names as reference information. That is, in the
すなわち、サポート装置500は、変数名として特定した情報の意味を反映するようにしてもよいし、変数に付与される付加情報として特定した情報の意味を反映するようにしてもよい。
That is, the
但し、参照情報としては、変数名でなくてもよい。例えば、各プロセス値が格納される記憶領域の物理アドレスあるいは論理アドレスを指定するようにしてもよい。さらにあるいは、物理アドレスあるいは論理アドレスを示す識別情報を参照情報として用いてもよい。このような場合においても、参照情報を特定する識別情報として特定した情報の意味を反映するようにしてもよいし、参照情報に付与される付加情報として特定した情報の意味を反映するようにしてもよい。 However, the reference information does not have to be a variable name. For example, the physical address or logical address of the storage area in which each process value is stored may be specified. Alternatively, identification information indicating physical addresses or logical addresses may be used as reference information. Even in such a case, the meaning of the information specified as the identification information for specifying the reference information may be reflected, or the meaning of the information specified as the additional information added to the reference information may be reflected. good too.
また、図17(B)に示すように、他のセーフティドライバ300が公開するモーションセーフティ制御用オブジェクト382に含まれる情報と競合しないように、さらなる情報を付加してもよい。図17(B)に示す設定画面570においては、公開元のセーフティドライバ300を特定する情報(図17に示す例では、「E003」)を付加した変数名が採用されている。
Further, as shown in FIG. 17B, additional information may be added so as not to conflict with information included in motion safety control objects 382 published by
以上のように、サポート装置500は、セーフティドライバ300のデータミラーエンジン380により公開される情報を参照するための参照情報(典型的には、変数)に、当該データミラーエンジン380を含んでいるセーフティドライバ300を特定する情報を反映するようにしてもよい。
As described above, the
また、ユーザは、サポート装置500上で、標準コントローラ100に関する設定において、公開されたモーションセーフティ制御用オブジェクトの各ビットに対して、対応する名称を含む変数名を割り当てる。このような変数名を採用することで、標準制御プログラム1104を作成する際に、モーションセーフティ制御用オブジェクト382に含まれる情報の参照を容易化でき、プログラム作成を効率化できる。すなわち、モーションセーフティ制御用オブジェクトの各ビットの意味を明示または暗示する変数名を用いて、標準制御プログラムを作成できる。
Also, the user assigns a variable name including a corresponding name to each bit of the disclosed motion safety control object in the setting of the
図18は、本実施の形態に係る制御システム1におけるモーションセーフティ制御用オブジェクト382を参照した標準制御プログラム1104の一例を示す図である。図18(A)および図18(B)には、いずれも、モーションセーフティ機能としてSOS(Safe Operating Stop)が有効化された場合の、セーフティドライバ300およびサーボモータ400を制御するための命令(コード1105)を記述した部分を示す。
FIG. 18 is a diagram showing an example of the
図18(A)には、モーションセーフティ制御用オブジェクト382をそのまま参照する場合の標準制御プログラム1104の一例を示し、図18(B)には、モーションセーフティ制御用オブジェクト382に対応付けられた変数を参照する場合の標準制御プログラム1104の一例を示す。
FIG. 18A shows an example of the
図18(A)に示す標準制御プログラム1104においては、モーションセーフティ制御用オブジェクト382の5ビット目を参照するための「E003_Mirror_Safety_statusword[3]」との参照命令582を用いたIF文が記述されている。
In the
これに対して、図18(B)に示す標準制御プログラム1104においては、モーションセーフティ制御用オブジェクト382の5ビット目の情報に割り当てられた「E003_SOS_command1_active」との変数584を用いたIF文が記述されている。このように、図18(B)に示すような変数584を用いることで、当該変数目がいずれの情報を参照しているのかを一見して把握することができる。
On the other hand, in the
このように、サポート装置500は、標準コントローラ100で実行される標準制御プログラム1104を開発する環境を提供する。この標準制御プログラム1104を開発する環境において、上述したような特定した情報の意味が関連付けられた参照情報(典型的には、各変数)を用いて、標準制御プログラム1104を作成可能になっている。
Thus, the
<I.サポート装置500におけるプロセスデータ通信の設定>
次に、セーフティドライバ300に対するプロセスデータ通信をサポート装置500で設定する場合の処理について説明する。本実施の形態においては、サポート装置500でセーフティドライバ300毎に公開すべきモーションセーフティ制御用オブジェクトの情報を選択および設定することになる。また、セーフティドライバ300毎にプロセスデータ通信により伝送されるデータのうち使用するものを設定することになる。
<I. Setting of Process Data Communication in
Next, the processing when the process data communication for the
現実の運用を想定すると、制御システム1は複数のセーフティドライバ300を含むことが多く、このような場合、セーフティドライバ300毎に設定を行うことは操作が煩雑になる。
Assuming actual operation, the
また、例えば、セーフティドライバ300に係るプログラムをデバッグする場合、セーフティドライバ300のモーションセーフティ機能を無効化した状態で、標準制御に係る部分だけをデバッグしたい場合がある。このとき、セーフティドライバ300からのモーションセーフティ制御用オブジェクトの情報(ミラーオブジェクト)の公開を無効化しておくことが好ましい。このような場合において、セーフティドライバ300毎に公開設定を削除もしくは無効化することは操作が煩雑になる。
Further, for example, when debugging a program related to the
図19は、本実施の形態に係る制御システム1を構成するサポート装置500における一括設定の処理を説明するための図である。図19を参照して、複数のセーフティドライバ300の各々に対して、コントロールオブジェクト・ステータスオブジェクト設定テーブル560が用意されているとする。
FIG. 19 is a diagram for explaining batch setting processing in the
本実施の形態では、サポート装置500において、ユーザが所定の操作を行うことで、コントロールオブジェクト・ステータスオブジェクト設定テーブル560の各々に対して、予め設定された内容が反映されている状態と、何らの設定もなされていない状態とを一括して切り替えることができる。すなわち、制御システム1が複数のセーフティドライバ300を有している場合において、サポート装置500は、ユーザ操作に応答して、すべてのセーフティドライバ300のデータミラーエンジン380(データ公開部)に対して、フィールドネットワーク2を介した公開を一括して有効化または無効化することができる。
In the present embodiment, by the user performing a predetermined operation in the
また、サポート装置500においては、複数のコントロールオブジェクト・ステータスオブジェクト設定テーブル560に対して、同一の設定を反映することができるようにしてもよい。
Further, in the
具体的には、サポート装置500は、共通設定テンプレート590を有している。共通設定テンプレート590は、セーフティ機能を利用する場合に、プロセスデータ通信を行うオブジェクト(より具体的には、ミラーオブジェクト、コントロールオブジェクト、およびステータスオブジェクト)の設定を含む。サポート装置500において、ユーザが所定の操作を行うことで、コントロールオブジェクト・ステータスオブジェクト設定テーブル560の各々に対して、共通設定テンプレート590の内容が反映される。
Specifically, the
このような一括無効化の機能、一括有効化の機能、および、一括設定の機能の一部または全部をサポート装置500に実装することで、上述したようなデバッグ時の操作を効率化できる。以下、より具体的な処理例について説明する。
By implementing a part or all of the batch invalidation function, the batch validation function, and the batch setting function in the
なお、説明の便宜上、主としてデータの公開設定に着目して説明しているが、本実施の形態において提供される一括無効化の機能、一括有効化の機能、および、一括設定の機能は、セーフティドライバ300のプロセスデータ通信の設定全般に関する。すなわち、設定対象は、セーフティドライバ300から他のデバイスに向けたデータの公開設定、および、他のデバイスから公開されたデータのうちセーフティドライバ300が利用するデータの参照設定の両方を含み得る。さらに、設定対象のデータは、モーションセーフティ機能に関するものに限らず、セーフティドライバ300が提供する機能に関するアプリケーションに関するものを含み得る。
For convenience of explanation, the explanation is focused mainly on the data disclosure setting. It relates to the overall process data communication settings of the
図20は、本実施の形態に係るサポート装置500におけるプロセスデータ通信の設定操作の一例を説明するための図である。図20には、複数のセーフティドライバ300に対して、セーフティ機能に必要なプロセスデータ通信の設定を行う場合の操作例を示す。
FIG. 20 is a diagram for explaining an example of setting operation for process data communication in
図20(A)に示すような、セーフティドライバ300のリストを示すリスト画面530において、対象となるセーフティドライバ300を選択532する。そして、図20(B)に示すような設定画面540において、ユーザは、セーフティドライバ300が有している状態情報のうち公開するものを選択する。
On a
図20(B)に示す設定画面540は、標準コントローラ100またはセーフティコントローラ200からの指令(出力)として受け付けるデータを選択するためのラジオボタン542,544と、標準コントローラ100またはセーフティコントローラ200へ公開するデータを選択するためのラジオボタン546,548とを含む。
A
ラジオボタン542,544,546,548の各々は、予め設定されたパラメータセットに対応付けられている。いずれかのラジオボタンが選択されると、当該選択中のラジオボタンに対応付けられているパラメータセットの内容を示す設定表示541が設定画面540内に提供される。
Each of
なお、いずれのパラメータセットも対応付けられていないラジオボタンも用意されており、このラジオボタンが選択されることで、プロセスデータ通信が無効化される。 A radio button that is not associated with any parameter set is also prepared, and process data communication is disabled by selecting this radio button.
ユーザは、リスト画面530において、セーフティドライバ300の各々を選択した上で、対象のパラメータセットを順次設定することになる。
The user selects each of the
より具体的には、ユーザは、フィールドネットワーク2の構成情報を示すリスト画面530において、対象のセーフティドライバ300を選択し、設定画面540において、モーションセーフティ機能のプロセスデータ通信を有効化/無効化を選択する。有効化の場合には、ユーザは、いずれのパラメータセットであるかを選択する。ユーザは、以上のような選択および設定操作をセーフティドライバ300の台数分だけ繰り返す。
More specifically, the user selects the
このように、図20に示す設定画面において、ユーザは、セーフティドライバ300のプロセスデータ通信の設定画面上で、セーフティドライバ300毎に論理コネクション4を介して遣り取りされる情報をプロセスデータ通信の対象として追加または削除する。
In this way, on the setting screen shown in FIG. 20, the user can set the information exchanged via the
なお、セーフティドライバ300のデバイスプロファイル(ESI)がモジュールデバイスプロファイル(MDP:Module Device Profile)に対応している場合には、設定画面540において、セーフティ機能モジュールの有効化/無効化を選択するようにしてもよい。
If the device profile (ESI) of the
この場合には、ユーザは、フィールドネットワーク2の構成情報を示すリスト画面530において、対象のセーフティドライバ300を選択し、設定画面540において、セーフティドライバ300のモジュール構成を編集する。ユーザは、以上のような選択および設定操作をセーフティドライバ300の台数分だけ繰り返す。
In this case, the user selects the
図20に示すような設定手順において、セーフティドライバ300の機種毎に設定すべき項目あるいはパラメータセットが異なっており、ユーザは、機種に応じた設定を行わなければならない。また、フィールドネットワーク2に接続されているセーフティドライバ300の台数が多い場合には、設定に手間がかかる。このような場合には、以下のような設定機能を提供するようにしてもよい。
In the setting procedure as shown in FIG. 20, items or parameter sets to be set are different for each model of the
図21は、本実施の形態に係るサポート装置500におけるプロセスデータ通信の設定操作の別の一例を説明するための図である。図21には、複数のセーフティドライバ300に対して、セーフティ機能に必要なプロセスデータ通信の設定を行う場合の操作例を示す。
FIG. 21 is a diagram for explaining another example of the process data communication setting operation in
図21(A)に示すような、セーフティドライバ300のリストを示すリスト画面530において、ユーザがメニュー画面の一項目として含まれる一括設定機能534を選択すると、フィールドネットワーク2に接続されているセーフティドライバ300の各々に対して、必要なプロセスデータ通信の一括削除(一括無効化)または一括設定(一括有効化)が行われる。
On a
より具体的には、一括設定機能534の選択に応答して表示される設定ウィンドウ536は、一括設定(一括有効化)を示す「Add」および一括削除(一括無効化)を示す「Remove」を含む。ユーザが「Add」を選択することで一括設定が実行され、「Remove」を選択することで一括削除が実行される。
More specifically, the setting
一括設定においては、図21(B)の設定画面538に示されるように、セーフティドライバ300の機種が特定されるとともに、各機種に応じた設定がなされる。そして、各セーフティドライバ300に対して生成された設定の内容をユーザが提示される。この各機種に応じた設定は、共通設定テンプレート590(図19)を参照することで実現される。
In batch setting, as shown in the
このように、ユーザは、フィールドネットワーク2の構成情報を示すリスト画面530において、一括設定機能534を選択する。そして、設定ウィンドウ536上で、必要なプロセスデータ通信の一括設定(一括有効化)または一括削除(一括無効化)を選択する。最終的に、ユーザは、設定画面538で実行結果を確認する。
Thus, the user selects the
以上のような処理により、ユーザから見れば、セーフティドライバ300のプロセスデータ通信の設定を一括で設定または削除できる。
From the user's point of view, the process data communication settings of the
続いて、図21に示すような一括設定を実現するための共通設定テンプレート590の詳細について説明する。
Next, the details of the
図22は、本実施の形態に係るサポート装置500が保持する共通設定テンプレート590のデータ構造の一例を示す模式図である。図22を参照して、共通設定テンプレート590は、機種情報592に関連付けられた設定内容594を含む。機種情報592は、予め知られているセーフティドライバ300の機種のリストを含む。設定内容594には、各機種に応じた設定が割り当てられる。
FIG. 22 is a schematic diagram showing an example of the data structure of
このような共通設定テンプレート590を参照することで、セーフティドライバ300の機種毎に適切な設定が行われることになる。
By referring to such a
なお、共通設定テンプレート590は、サポート装置500が保持していてもよいし、サポート装置500以外の任意のサーバ装置が保持していてもよい。さらに、フィールドネットワーク2に接続されるセーフティドライバ300に格納されている情報などを収集して、サポート装置500または他の情報処理装置が動的に生成するようにしてもよい。
Note that the
次に、プロセスデータ通信に関する一括設定を実現するための処理手順について説明する。 Next, a description will be given of a processing procedure for implementing batch settings relating to process data communication.
図23は、本実施の形態に係る制御システム1を構成するサポート装置500における一括設定を実現するための処理手順の一例を示すフローチャートである。図23に示す各ステップは、典型的には、サポート装置500のプロセッサ502がサポートプログラム5104を実行することで実現される。
FIG. 23 is a flow chart showing an example of a processing procedure for realizing collective setting in the
図23を参照して、サポート装置500は、ユーザ操作に応答して、フィールドネットワーク2に接続されているセーフティドライバ300を探索して、対象となるセーフティドライバ300の一覧を取得する(ステップS100)。すなわち、サポート装置500は、フィールドネットワーク2に接続されているセーフティドライバ300を取得する取得機能を有している。
Referring to FIG. 23,
この取得されたセーフティドライバ300の一覧は、リスト画面530(図20(A)参照)に反映される。
The obtained list of
続いて、サポート装置500は、特定のセーフティドライバ300が選択されたか否かを判断する(ステップS102)。特定のセーフティドライバ300が選択されると(ステップS102においてYES)、サポート装置500は、選択されているセーフティドライバ300に対する設定可能なパラメータセットのリストを表示するとともに(ステップS104)、パラメータセットの選択を受け付ける(ステップS106)(図20(B)参照)。さらに、サポート装置500は、選択されたパラメータセットを選択中のセーフティドライバ300に反映する(ステップS108)。そして、処理はステップS130へ進む。
Subsequently, the
このように、サポート装置500は、個別設定のユーザ操作に従って、特定の1つのセーフティドライバ300に対する設定を生成することもできる。
In this way, the
一方、サポート装置500は、特定のセーフティドライバ300が選択されなければ(ステップS102においてNO)、サポート装置500は、一括設定機能が選択されたか否かを判断する(ステップS112)(図21(A)参照)。一括設定機能が選択されると(ステップS112においてYES)、サポート装置500は、一括設定および一括削除のいずれが選択されたかを判断する(ステップS114)。
On the other hand, if a
一括設定が選択されると(ステップS114において「一括設定」)、サポート装置500は、一覧に含まれるセーフティドライバ300のうち1つを選択し(ステップS116)、共通設定テンプレート590を参照して、当該選択されているセーフティドライバ300に対応する設定内容を取得する(ステップS118)。そして、選択されているセーフティドライバ300に取得した設定内容を反映する(ステップS120)。このように、サポート装置500は、ユーザ操作に従って、フィールドネットワーク2に接続されている各セーフティドライバ300に対して、フィールドネットワーク2を介して共有するべきデータの設定を各セーフティドライバ300に応じて生成する。このとき、サポート装置500は、共通設定テンプレート590を参照することで、セーフティドライバ300の機種毎に予め定められた設定内容に従って、各セーフティドライバ300に対する設定を生成する。
When batch setting is selected ("batch setting" in step S114), the
一覧に含まれるセーフティドライバ300のすべてに対して設定内容が反映されていなければ(ステップS122においてNO)、ステップS116以下の処理が繰り返される。一覧に含まれるセーフティドライバ300のすべてに対して設定内容が反映されていれば(ステップS122においてYES)、処理はステップS130へ進む。
If the settings have not been reflected for all of the
一括削除が選択されると(ステップS114において「一括削除」)、サポート装置500は、一覧に含まれるセーフティドライバ300のうち1つを選択し(ステップS124)、選択されているセーフティドライバ300の設定内容をクリアする(ステップS126)。一覧に含まれるセーフティドライバ300のすべてに対して設定内容が反映されていなければ(ステップS128においてNO)、ステップS124以下の処理が繰り返される。一覧に含まれるセーフティドライバ300のすべてに対して設定内容がクリアされていれば(ステップS128においてYES)、処理はステップS130へ進む。
When collective deletion is selected ("collective deletion" in step S114), the
このように、サポート装置500は、一括削除のユーザ操作に従って、各セーフティドライバ300に対する設定を削除する。
In this way, the
これに対して、一括設定機能が選択されなければ(ステップS112においてNO)、ステップS102以下の処理が繰り返される。 On the other hand, if the collective setting function is not selected (NO in step S112), the processing from step S102 onward is repeated.
ステップS130において、サポート装置500は、セーフティドライバ300への設定反映が指示されたか否かを判断する(ステップS130)。セーフティドライバ300への設定反映が指示されると(ステップS130においてYES)、サポート装置500は、設定された内容を対象のセーフティドライバ300へ転送する(ステップS132)。すなわち、サポート装置500は、フィールドネットワーク2に接続されている各セーフティドライバ300に対して対応する設定を反映する。そして、処理は終了する。
In step S130, the
一方、セーフティドライバ300への設定反映が指示されなければ(ステップS130においてNO)、ステップS102以下の処理が繰り返される。 On the other hand, if there is no instruction to reflect the settings in safety driver 300 (NO in step S130), the processes from step S102 onward are repeated.
<J.変形例>
上述の実施の形態においては、セーフティドライバ300のモーションセーフティ機能に関する情報を、プロセスデータ通信を利用して送受信する例について説明したが、これに限らず、任意の情報をプロセスデータ通信を利用して送受信する場合にも適用可能である。
<J. Variation>
In the above-described embodiment, an example of transmitting and receiving information about the motion safety function of the
すなわち、モーションセーフティ機能に限らず、セーフティドライバ300と任意のデバイスとの間で実行される任意のアプリケーションで利用されるデータを、セーフティドライバ300から公開、あるいは、任意のデバイスから受信するための設定を一括で設定あるいは削除できるようにしてもよい。例えば、セーフティドライバ300で実行されるサーボモータ400に対する位置制御、速度制御、トルク制御などに必要な情報の遣り取りを実現するための設定に利用してもよい。
In other words, the setting for publishing data used by any application executed between the
さらに、セーフティドライバ300に限らず、他の任意のデバイスがプロセスデータ通信を利用する場合に、必要な情報を一括で設定し、あるいは、一括で削除するような処理に適用することもできる。
Furthermore, when not only the
<K.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御システム(1)であって、
第1のコントローラ(100)と、
セーフティ機能を有するとともに、前記第1のコントローラからの第1の指令に従ってモータ(400)を駆動する1または複数のドライブ装置(300)と、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラ(200)と、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間で、データを互いに共有するためのネットワーク(2)と、
サポート装置(500)とを備え、前記サポート装置は、ユーザ操作に従って、前記ネットワークに接続されている各ドライブ装置に対して、前記ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成する設定生成手段(10)を含み、
前記ネットワークに接続されている各ドライブ装置に対して対応する設定を反映する設定反映手段(20)を備える、制御システム。
[構成2]
前記設定生成手段(10)は、ドライブ装置の機種毎に予め定められた設定内容に従って、各ドライブ装置に対する前記ネットワークを介して共有するべきデータの設定を生成する(S118)、構成1に記載の制御システム。
[構成3]
前記設定生成手段は、別のユーザ操作に従って、各ドライブ装置に対する前記ネットワークを介して共有するべきデータの設定を削除する(S124,S126,S128)、構成1または2に記載の制御システム。
[構成4]
前記設定生成手段は、前記ドライブ装置から前記第1のコントローラへ、前記ドライブ装置が保持するデータを公開するように設定する、構成1~3のいずれか1項に記載の制御システム。
[構成5]
前記ドライブ装置は、前記第2の指令に従って前記セーフティ機能の状態を管理する状態管理部(378)を含み、
前記ドライブ装置から公開されるデータは、前記第2のコントローラからの前記第2の指令を反映する、構成4に記載の制御システム。
[構成6]
前記サポート装置は、前記ドライブ装置に対する前記ネットワークを介して共有するべきデータの設定(560)を参照して、前記状態管理部により管理される情報のうち公開対象の情報を特定するとともに、当該公開対象の情報を参照するための参照情報(556)に当該特定した情報の意味を関連付ける、構成5に記載の制御システム。
[構成7]
前記設定生成手段は、さらに別のユーザ操作に従って、特定の1つのドライブ装置に対する前記ネットワークを介して共有するべきデータの設定を生成する(S104,S106,S108)、構成1~6のいずれか1項に記載の制御システム。
[構成8]
前記サポート装置は、前記ネットワークに接続されているドライブ装置を取得する取得手段(S100)をさらに含む、構成1~7のいずれか1項に記載の制御システム。
[構成9]
前記設定生成手段は、各ドライブ装置に対して生成された前記ネットワークを介して共有するべきデータの設定の内容をユーザに提示する(538)、構成1~8のいずれか1項に記載の制御システム。
[構成10]
制御システム(1)に接続されるサポート装置(500)であって、
前記制御システムは、
第1のコントローラ(100)と、
セーフティ機能を有するとともに、前記第1のコントローラからの第1の指令に従ってモータ(400)を駆動する1または複数のドライブ装置(300)と、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラ(200)と、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間で、データを互いに共有するためのネットワーク(2)とを備え、
前記サポート装置は、ユーザ操作に従って、前記ネットワークに接続されている各ドライブ装置に対して、前記ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成する設定生成手段(10)を含み、
前記第1のコントローラは、前記ネットワークに接続されている各ドライブ装置に対して対応する設定を反映する設定反映手段(20)を含む、サポート装置。
[構成11]
制御システム(1)に接続されるコンピュータ(500)で実行されるサポートプログラム(5104)であって、
前記制御システムは、
第1のコントローラ(100)と、
セーフティ機能を有するとともに、前記第1のコントローラからの第1の指令に従ってモータ(400)を駆動する1または複数のドライブ装置(300)と、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラ(200)と、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間で、データを互いに共有するためのネットワーク(2)とを備え、
前記サポートプログラムは、前記コンピュータに
ユーザ操作に従って、前記ネットワークに接続されている各ドライブ装置に対して、前記ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成するステップ(S116,S118,S120,S122)と、
前記ネットワークに接続されている各ドライブ装置に対して対応する設定を反映するステップ(S130,S132)とを実行させる、サポートプログラム。
<K. Note>
The present embodiment as described above includes the following technical ideas.
[Configuration 1]
A control system (1),
a first controller (100);
one or more drive devices (300) having a safety function and driving a motor (400) according to a first command from the first controller;
a second controller (200) that transmits a second command relating to the operation of the safety function to the drive device;
a network (2) for mutually sharing data between the first controller, the drive device and the second controller;
and a support device (500), wherein the support device configures settings of data to be shared via the network for each drive device connected to the network in accordance with a user's operation. including setting generation means (10) for generating,
A control system comprising setting reflection means (20) for reflecting settings corresponding to each drive device connected to the network.
[Configuration 2]
The setting generating means (10) according to the setting contents predetermined for each model of the drive device, generates the setting of the data to be shared via the network for each drive device (S118), according to the
[Configuration 3]
3. The control system according to
[Configuration 4]
4. The control system according to any one of
[Configuration 5]
The drive device includes a state management unit (378) that manages the state of the safety function according to the second command,
5. The control system of
[Configuration 6]
The support device refers to the setting (560) of the data to be shared via the network for the drive device, identifies information to be disclosed among the information managed by the state management unit, and specifies the information to be disclosed. 6. Control system according to
[Configuration 7]
The setting generation means generates settings of data to be shared via the network for one specific drive device according to another user operation (S104, S106, S108), any one of
[Configuration 8]
The control system according to any one of
[Configuration 9]
The control according to any one of
[Configuration 10]
A support device (500) connected to a control system (1), comprising:
The control system is
a first controller (100);
one or more drive devices (300) having a safety function and driving a motor (400) according to a first command from the first controller;
a second controller (200) that transmits a second command relating to the operation of the safety function to the drive device;
a network (2) for sharing data between the first controller, the drive device and the second controller;
The support device includes setting generation means (10) for generating settings of data to be shared via the network for each drive device connected to the network in accordance with a user's operation. including
A support device, wherein the first controller includes setting reflection means (20) for reflecting settings corresponding to each drive device connected to the network.
[Configuration 11]
A support program (5104) running on a computer (500) connected to a control system (1),
The control system is
a first controller (100);
one or more drive devices (300) having a safety function and driving a motor (400) according to a first command from the first controller;
a second controller (200) that transmits a second command relating to the operation of the safety function to the drive device;
a network (2) for sharing data between the first controller, the drive device and the second controller;
The support program causes the computer to generate settings for data to be shared via the network for each drive device connected to the network according to user operations (S116, S118, S120, S122) and
A support program for executing steps (S130, S132) of reflecting corresponding settings to each drive device connected to the network.
<L.利点>
本実施の形態に係る制御システム1によれば、セーフティドライバ300が他のユニットとの間でデータを共有するための設定を一括で行うことができるので、複数のセーフティドライバ300を含む場合であっても、制御システム1の立ち上げを効率化できる。
<L. Advantage>
According to the
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 It should be considered that the embodiments disclosed this time are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the scope of the claims rather than the above description, and is intended to include all modifications within the scope and meaning equivalent to the scope of the claims.
1 制御システム、2 フィールドネットワーク、4 論理コネクション、10 設定生成モジュール、20 設定反映モジュール、100 標準コントローラ、102,202,312,314,502 プロセッサ、104,204,316,504 メインメモリ、106 上位ネットワークコントローラ、108,208,302 フィールドネットワークコントローラ、110,210,320,510 ストレージ、112 メモリカードインターフェイス、114 メモリカード、116 ローカルバスコントローラ、118,218,518 プロセッサバス、120,220,520 USBコントローラ、150 標準制御、170,270,370 プロセスデータ通信レイヤ、172,272 管理モジュール、174,274,374 プロセスデータ、200 セーフティコントローラ、216 セーフティローカルバスコントローラ、230 セーフティIOユニット、240 セーフティデバイス、250 セーフティ機能、276,376 論理コネクションレイヤ、278 セーフティ機能状態管理エンジン、300 セーフティドライバ、310 制御部、330 ドライブ回路、332 フィードバック受信回路、350 サーボ制御、352 サーボ制御実行エンジン、360 モーションセーフティ機能、362 モーションセーフティ機能実行エンジン、378 モーションセーフティ機能状態管理エンジン、380 データミラーエンジン、382 モーションセーフティ制御用オブジェクト、384 ミラーオブジェクト設定、390 パラメータセット、400 サーボモータ、402 三相交流モータ、404 エンコーダ、500 サポート装置、506 入力部、508 出力部、512 光学ドライブ、514 記録媒体、530 リスト画面、532 選択、534 一括設定機能、536 設定ウィンドウ、538,540,570 設定画面、541 設定表示、542,544,546,548 ラジオボタン、550 標準コントローラ変数設定テーブル、552,562 設定欄、556,584 変数、560 コントロールオブジェクト・ステータスオブジェクト設定テーブル、566 制御オブジェクト、572 対象情報表示欄、574 ミラーオブジェクト表示欄、576 属性設定欄、578 データ型設定欄、580 変数名設定欄、582 参照命令、590 共通設定テンプレート、592 機種情報、594 設定内容、600 通信フレーム、610,611,612,613,614,615,620,621,622,623,624,6121,6122,6131,6132,6141,6142,6151,6152 データ領域、630 セーフティ通信フレーム、1102,2102 システムプログラム、1104 標準制御プログラム、1105 コード、1106,2106,3206 設定情報、2104 セーフティプログラム、3202 サーボ制御プログラム、3204 モーションセーフティプログラム、3781,3782,3783,3784,3785 制御用オブジェクト、3781A,3781B,3782A,3782B,3783A,3783B,3784A,3784B,3785A,3785B 情報、3821 コントロールオブジェクト、3822 ステータスオブジェクト、5102 OS、5104 サポートプログラム、5106 プロジェクトデータ、5108 標準制御ソースプログラム、5110 標準コントローラ設定情報、5112 セーフティソースプログラム、5114 セーフティコントローラ設定情報、5116 セーフティドライバ設定情報。 1 control system, 2 field network, 4 logical connection, 10 setting generation module, 20 setting reflection module, 100 standard controller, 102, 202, 312, 314, 502 processor, 104, 204, 316, 504 main memory, 106 host network controller, 108, 208, 302 field network controller, 110, 210, 320, 510 storage, 112 memory card interface, 114 memory card, 116 local bus controller, 118, 218, 518 processor bus, 120, 220, 520 USB controller, 150 standard control, 170,270,370 process data communication layer, 172,272 management module, 174,274,374 process data, 200 safety controller, 216 safety local bus controller, 230 safety IO unit, 240 safety device, 250 safety function , 276, 376 logical connection layer, 278 safety function state management engine, 300 safety driver, 310 control unit, 330 drive circuit, 332 feedback receiving circuit, 350 servo control, 352 servo control execution engine, 360 motion safety function, 362 motion safety function execution engine, 378 motion safety function state management engine, 380 data mirror engine, 382 motion safety control object, 384 mirror object setting, 390 parameter set, 400 servo motor, 402 three-phase AC motor, 404 encoder, 500 support device, 506 input unit, 508 output unit, 512 optical drive, 514 recording medium, 530 list screen, 532 selection, 534 collective setting function, 536 setting window, 538, 540, 570 setting screen, 541 setting display, 542, 544, 546, 548 radio button, 550 standard controller variable setting table, 552, 562 setting column, 556, 584 variable, 560 control object/status object setting table, 566 control object 572 Target information display column 574 Mirror object display column 576 Attribute setting column 578 Data type setting column 580 Variable name setting column 582 Reference command 590 Common setting template 592 Model information 594 Setting content 600 Communication frame , 610, 611, 612, 613, 614, 615, 620, 621, 622, 623, 624, 6121, 6122, 6131, 6132, 6141, 6142, 6151, 6152 data area, 630 safety communication frame, 1102, 2102 system Program 1104 Standard control program 1105 Code 1106, 2106, 3206 Setting information 2104 Safety program 3202 Servo control program 3204 Motion safety program 3781, 3782, 3783, 3784, 3785 Object for control 3781A, 3781B, 3782A , 3782B, 3783A, 3783B, 3784A, 3784B, 3785A, 3785B information, 3821 control object, 3822 status object, 5102 OS, 5104 support program, 5106 project data, 5108 standard control source program, 5110 standard controller setting information, 5112 safety source Program, 5114 safety controller setting information, 5116 safety driver setting information.
Claims (11)
第1のコントローラと、
セーフティ機能を有するとともに、前記第1のコントローラからの第1の指令に従ってモータを駆動する1または複数のドライブ装置と、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間を通信フレームがサイクリックに一巡することで、データを互いに共有するためのネットワークと、
サポート装置とを備え、前記サポート装置は、ユーザ操作に従って、前記ネットワークに接続されている各ドライブ装置に対して、前記ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成する設定生成手段を含み、
前記ネットワークに接続されている各ドライブ装置に対して対応する設定を反映する設定反映手段を備え、
各ドライブ装置は、前記反映された設定に従って、前記通信フレームを介して送信するデータの更新、および、前記通信フレームを介して送信されたデータの受信を含む、データを共有するための処理を実行する、制御システム。 A control system,
a first controller;
one or more drive devices having a safety function and driving a motor according to a first command from the first controller;
a second controller that transmits a second command related to the operation of the safety function to the drive device;
a network for sharing data with each other by cyclically circulating communication frames among the first controller, the drive device, and the second controller;
a support device, wherein the support device generates settings for data to be shared via the network for each drive device connected to the network according to a user's operation. including generating means;
setting reflection means for reflecting settings corresponding to each drive device connected to the network ;
Each drive device executes processing for sharing data, including updating data to be transmitted via the communication frame and receiving data transmitted via the communication frame, according to the reflected settings. control system.
前記ドライブ装置から公開されるデータは、前記第2のコントローラからの前記第2の指令を反映する、請求項4に記載の制御システム。 the drive device includes a state management unit that manages the state of the safety function according to the second command;
5. The control system of claim 4, wherein data published from said drive device reflects said second command from said second controller.
前記制御システムは、
第1のコントローラと、
セーフティ機能を有するとともに、前記第1のコントローラからの第1の指令に従ってモータを駆動する1または複数のドライブ装置と、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間を通信フレームがサイクリックに一巡することで、データを互いに共有するためのネットワークとを備え、
前記サポート装置は、ユーザ操作に従って、前記ネットワークに接続されている各ドライブ装置に対して、前記ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成する設定生成手段を含み、
前記第1のコントローラは、前記ネットワークに接続されている各ドライブ装置に対して対応する設定を反映する設定反映手段を含み、
各ドライブ装置は、前記反映された設定に従って、前記通信フレームを介して送信するデータの更新、および、前記通信フレームを介して送信されたデータの受信を含む、データを共有するための処理を実行する、サポート装置。 A support device connected to a control system, comprising:
The control system is
a first controller;
one or more drive devices having a safety function and driving a motor according to a first command from the first controller;
a second controller that transmits a second command related to the operation of the safety function to the drive device;
a network for sharing data with each other by cyclically circulating communication frames among the first controller, the drive device, and the second controller;
The support device includes setting generation means for generating settings of data to be shared via the network for each drive device connected to the network in accordance with a user's operation,
the first controller includes setting reflection means for reflecting settings corresponding to each drive device connected to the network;
Each drive device executes processing for sharing data, including updating data to be transmitted via the communication frame and receiving data transmitted via the communication frame, according to the reflected settings. support device.
前記制御システムは、
第1のコントローラと、
セーフティ機能を有するとともに、前記第1のコントローラからの第1の指令に従ってモータを駆動する1または複数のドライブ装置と、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間を通信フレームがサイクリックに一巡することで、データを互いに共有するためのネットワークとを備え、
前記サポートプログラムは、前記コンピュータに
ユーザ操作に従って、前記ネットワークに接続されている各ドライブ装置に対して、前記ネットワークを介して共有するべきデータの設定を各ドライブ装置に応じて生成するステップと、
前記ネットワークに接続されている各ドライブ装置に対して対応する設定を反映するステップとを実行させ、
各ドライブ装置は、前記反映された設定に従って、前記通信フレームを介して送信するデータの更新、および、前記通信フレームを介して送信されたデータの受信を含む、データを共有するための処理を実行する、サポートプログラム。 A support program running on a computer connected to the control system, comprising:
The control system is
a first controller;
one or more drive devices having a safety function and driving a motor according to a first command from the first controller;
a second controller that transmits a second command related to the operation of the safety function to the drive device;
a network for sharing data with each other by cyclically circulating communication frames among the first controller, the drive device, and the second controller;
the support program causing the computer to generate settings for data to be shared via the network for each drive device connected to the network according to a user's operation;
a step of reflecting the corresponding settings for each drive device connected to the network ;
Each drive device executes processing for sharing data, including updating data to be transmitted via the communication frame and receiving data transmitted via the communication frame, according to the reflected settings. support program.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018185438A JP7200580B2 (en) | 2018-09-28 | 2018-09-28 | Control system, support equipment, support program |
PCT/JP2019/037213 WO2020066986A1 (en) | 2018-09-28 | 2019-09-24 | Control system, support device, and support program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018185438A JP7200580B2 (en) | 2018-09-28 | 2018-09-28 | Control system, support equipment, support program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020057065A JP2020057065A (en) | 2020-04-09 |
JP7200580B2 true JP7200580B2 (en) | 2023-01-10 |
Family
ID=69952441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018185438A Active JP7200580B2 (en) | 2018-09-28 | 2018-09-28 | Control system, support equipment, support program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7200580B2 (en) |
WO (1) | WO2020066986A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001092502A (en) | 1999-09-17 | 2001-04-06 | Ckd Corp | Parameter setting system, parameter setting device and driver |
JP2006164143A (en) | 2004-12-10 | 2006-06-22 | Yokogawa Electric Corp | Plant control system |
JP2007193843A (en) | 2001-05-31 | 2007-08-02 | Omron Corp | Safety controller and controller system, connection method of controller and control method of the controller system |
JP2012194954A (en) | 2011-05-24 | 2012-10-11 | Omron Corp | Cpu unit of plc, system program for plc, and recording medium storing system program for plc |
JP2016045712A (en) | 2014-08-22 | 2016-04-04 | 株式会社日立産機システム | Programmable logic controller |
JP2017163759A (en) | 2016-03-10 | 2017-09-14 | オムロン株式会社 | Motor control device, control method, information processing program, and recording medium |
WO2018155426A1 (en) | 2017-02-21 | 2018-08-30 | オムロン株式会社 | Servo system |
JP2018147258A (en) | 2017-03-06 | 2018-09-20 | オムロン株式会社 | Controller and control method |
-
2018
- 2018-09-28 JP JP2018185438A patent/JP7200580B2/en active Active
-
2019
- 2019-09-24 WO PCT/JP2019/037213 patent/WO2020066986A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001092502A (en) | 1999-09-17 | 2001-04-06 | Ckd Corp | Parameter setting system, parameter setting device and driver |
JP2007193843A (en) | 2001-05-31 | 2007-08-02 | Omron Corp | Safety controller and controller system, connection method of controller and control method of the controller system |
JP2006164143A (en) | 2004-12-10 | 2006-06-22 | Yokogawa Electric Corp | Plant control system |
JP2012194954A (en) | 2011-05-24 | 2012-10-11 | Omron Corp | Cpu unit of plc, system program for plc, and recording medium storing system program for plc |
JP2016045712A (en) | 2014-08-22 | 2016-04-04 | 株式会社日立産機システム | Programmable logic controller |
JP2017163759A (en) | 2016-03-10 | 2017-09-14 | オムロン株式会社 | Motor control device, control method, information processing program, and recording medium |
WO2018155426A1 (en) | 2017-02-21 | 2018-08-30 | オムロン株式会社 | Servo system |
JP2018147258A (en) | 2017-03-06 | 2018-09-20 | オムロン株式会社 | Controller and control method |
Also Published As
Publication number | Publication date |
---|---|
WO2020066986A1 (en) | 2020-04-02 |
JP2020057065A (en) | 2020-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6299064B2 (en) | Control device, control method, and program | |
JP2017187993A (en) | Control device, control method, and program | |
JP7392370B2 (en) | Control systems, support equipment and support programs | |
JP7024677B2 (en) | Control system, support device, support program | |
JP7200580B2 (en) | Control system, support equipment, support program | |
JP7327225B2 (en) | Robot control system and control method | |
JP7115195B2 (en) | Control system, support equipment, support program | |
JP7087951B2 (en) | Control system, control method, drive device | |
WO2020067287A1 (en) | Control system, support device, and support program | |
JP7087952B2 (en) | Control system, support device, support program | |
JP7040389B2 (en) | Control systems, support devices, and support programs | |
JP7063222B2 (en) | Control systems, support devices and programs | |
JP7172397B2 (en) | Control systems, support equipment and programs | |
JP7240282B2 (en) | Industrial control device and activation method | |
JP2022139149A (en) | Control system and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220817 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7200580 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |