JP7115195B2 - Control system, support equipment, support program - Google Patents
Control system, support equipment, support program Download PDFInfo
- Publication number
- JP7115195B2 JP7115195B2 JP2018185437A JP2018185437A JP7115195B2 JP 7115195 B2 JP7115195 B2 JP 7115195B2 JP 2018185437 A JP2018185437 A JP 2018185437A JP 2018185437 A JP2018185437 A JP 2018185437A JP 7115195 B2 JP7115195 B2 JP 7115195B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- safety
- controller
- drive device
- data
- 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
-
- 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
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (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.
本発明は、上述したような課題を解決することを一つの目的とし、セーフティ機能の動作に関する情報に容易にアクセス可能な制御システムを提供することを目的とする。 SUMMARY OF THE INVENTION It is an object of the present invention to solve the above-described problems, and to provide a control system that allows easy access to information relating to the operation of safety functions.
本発明の一実施形態に従う制御システムは、第1のコントローラと、第1のコントローラからの第1の指令に従ってモータを駆動するドライブ装置とを含む。ドライブ装置はモータの駆動に関するセーフティ機能を有している。制御システムは、ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、第1のコントローラ、ドライブ装置および第2のコントローラの間で、データを互いに共有するためのネットワークとを含む。第2の指令は、第2のコントローラとドライブ装置との間にネットワークを利用して形成されるコネクションを介して送信される。ドライブ装置は、第2の指令に従ってセーフティ機能の状態を管理する状態管理部と、状態管理部が保持する情報のうち予め設定された情報を、ネットワークを介して公開するデータ公開部とを含む。 A control system according to one embodiment of the present invention includes a first controller and a drive device that drives a motor according to a first command from the first controller. The drive device has a safety function for driving the motor. The control system shares data among the second controller, which transmits a second command relating to the operation of the safety function to the drive device, and the first controller, the drive device, and the second controller. including a network of The second command is sent through a connection formed using a network between the second controller and the drive device. The drive device includes a state management unit that manages the state of the safety function according to the second command, and a data disclosure unit that discloses preset information among the information held by the state management unit via the network.
本実施形態によれば、第2のコントローラとドライブ装置との間にネットワークを利用して形成されるコネクションを介して送信される第2の指令に係る情報を、第1のコントローラからも容易にアクセスできる。これによって、第1のコントローラは、第2の指令に依存するセーフティ機能の動作に応じた制御を実現できる。 According to this embodiment, the information related to the second command transmitted via the connection formed using the network between the second controller and the drive device can be easily transmitted from the first controller. have access. This allows the first controller to implement control according to the operation of the safety function that depends on the second command.
好ましくは、制御システムは、データ公開部により公開される情報の指定を受付けるとともに、当該指定された情報を特定する公開設定をドライブ装置へ転送するサポート装置をさらに含む。 Preferably, the control system further includes a support device that receives specification of information to be disclosed by the data disclosure unit and transfers disclosure settings specifying the specified information to the drive device.
本実施形態によれば、サポート装置で設定することで、必要な情報を公開することができる。 According to this embodiment, necessary information can be made public by setting it in the support device.
好ましくは、サポート装置は、公開設定を参照して、状態管理部により管理される情報のうち公開対象の情報を特定するとともに、データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付ける。 Preferably, the support device refers to the disclosure settings to identify information to be disclosed among the information managed by the state management unit, and sets the reference information for referencing the information disclosed by the data disclosure unit. Associate the meaning of the identified information.
本実施形態によれば、データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付けることで、サポート装置において、各参照情報がどのような意味をもつ情報であるのかを一見して把握できる。 According to the present embodiment, by associating the meaning of the specified information with the reference information for referring to the information disclosed by the data disclosure unit, the information having the meaning of each reference information can be used in the support device. You can tell at a glance if there is one.
好ましくは、サポート装置において、データ公開部により公開される情報を変数として参照可能になっている。サポート装置は、変数の名前として特定した情報の意味を反映する。 Preferably, the information disclosed by the data disclosure unit can be referenced as a variable in the support device. The support device reflects the meaning of the information specified as the name of the variable.
本実施形態によれば、変数の名前が各情報がもつ意味を示すので、変数の名前だけで、当該変数がどのような意味をもつ情報であるのかを一見して把握できる。 According to this embodiment, the name of the variable indicates the meaning of each piece of information, so that the meaning of the information can be grasped at a glance from the name of the variable alone.
好ましくは、サポート装置において、データ公開部により公開される情報を変数として参照可能になっている。サポート装置は、変数に付与される付加情報として特定した情報の意味を反映する。 Preferably, the information disclosed by the data disclosure unit can be referenced as a variable in the support device. The support device reflects the meaning of the information specified as the additional information assigned to the variable.
本実施形態によれば、変数に付与される付加情報が各情報がもつ意味を示すので、変数の名前だけで、当該変数がどのような意味をもつ情報であるのかを一見して把握できる。 According to this embodiment, the additional information assigned to the variables indicates the meaning of each piece of information, so that the meaning of the information can be grasped at a glance from the name of the variable alone.
好ましくは、サポート装置は、データ公開部により公開される情報を参照するための参照情報に、当該データ公開部を含んでいるドライブ装置を特定する情報を反映する。 Preferably, the support device reflects the information specifying the drive device containing the data disclosure part in the reference information for referring to the information disclosed by the data disclosure part.
本実施形態によれば、複数のドライブ装置が存在する場合であっても、いずれのドライブ装置から提供される情報であるのかを一見して把握できる。 According to this embodiment, even if there are a plurality of drive devices, it is possible to grasp at a glance which drive device provides the information.
好ましくは、サポート装置は、第1のコントローラで実行される制御プログラムを開発する環境を提供する。制御プログラムを開発する環境において、特定した情報の意味が関連付けられた参照情報を用いて、制御プログラムを作成可能になっている。 Preferably, the support device provides an environment for developing control programs to be executed by the first controller. In an environment for developing a control program, it is possible to create a control program using the reference information associated with the meaning of the specified information.
本実施形態によれば、特定した情報の意味が関連付けられた参照情報を用いて制御プログラムを作成できるので、制御プログラムの作成効率を高めることができる。 According to this embodiment, the control program can be created using the reference information associated with the meaning of the specified information, so the efficiency of creating the control program can be improved.
好ましくは、制御システムは、ドライブ装置を複数有している。サポート装置は、ユーザ操作に応答して、すべてのドライブ装置のデータ公開部に対して、ネットワークを介した公開を一括して有効化または無効化する。 Preferably, the control system has a plurality of drives. The support device collectively enables or disables disclosure via the network for the data disclosure units of all drive devices in response to user operations.
本実施形態によれば、情報の公開を一括して無効化することで、デバッグなどを効率的に行える。 According to this embodiment, debugging and the like can be efficiently performed by collectively disabling disclosure of information.
本発明の別の実施形態に従えば、制御システムに接続されるサポート装置が提供される。制御システムは、第1のコントローラと、第1のコントローラからの第1の指令に従ってモータを駆動するドライブ装置とを含む。ドライブ装置はモータの駆動に関するセーフティ機能を有している。制御システムは、ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、第1のコントローラ、ドライブ装置および第2のコントローラの間で、データを互いに共有するためのネットワークとを含む。第2の指令は、第2のコントローラとドライブ装置との間にネットワークを利用して形成されるコネクションを介して送信される。ドライブ装置は、第2の指令に従ってセーフティ機能の状態を管理する状態管理部と、状態管理部が保持する情報のうち予め設定された情報を、ネットワークを介して公開するデータ公開部とを含む。サポート装置は、データ公開部により公開される情報の指定を受付けるとともに、当該指定された情報を特定する公開設定をドライブ装置へ転送する手段と、公開設定を参照して、状態管理部により管理される情報のうち公開対象の情報を特定するとともに、データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付ける手段とを含む。 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 and a drive device that drives the motor according to a first command from the first controller. The drive device has a safety function for driving the motor. The control system shares data among the second controller, which transmits a second command relating to the operation of the safety function to the drive device, and the first controller, the drive device, and the second controller. including a network of The second command is sent through a connection formed using a network between the second controller and the drive device. The drive device includes a state management unit that manages the state of the safety function according to the second command, and a data disclosure unit that discloses preset information among the information held by the state management unit via the network. The support device receives designation of information to be disclosed by the data disclosure unit, transfers disclosure settings specifying the specified information to the drive device, and refers to the disclosure settings to manage by the state management unit. means for identifying information to be disclosed among the information disclosed by the data disclosure unit, and for associating the meaning of the identified information with reference information for referring to the information disclosed by the data disclosure unit.
本実施形態によれば、第2のコントローラとドライブ装置との間にネットワークを利用して形成されるコネクションを介して送信される第2の指令に係る情報を、第1のコントローラからも容易にアクセスできる。これによって、第1のコントローラは、第2の指令に依存するセーフティ機能の動作に応じた制御を実現できる。 According to this embodiment, the information related to the second command transmitted via the connection formed using the network between the second controller and the drive device can be easily transmitted from the first controller. have access. This allows the first controller to implement control according to the operation of the safety function that depends on the second command.
本発明のさらに別の実施形態に従えば、制御システムに接続されるコンピュータで実行されるサポートプログラムが提供される。制御システムは、第1のコントローラと、第1のコントローラからの第1の指令に従ってモータを駆動するドライブ装置とを含む。ドライブ装置はモータの駆動に関するセーフティ機能を有している。制御システムは、ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、第1のコントローラ、ドライブ装置および第2のコントローラの間で、データを互いに共有するためのネットワークとを含む。第2の指令は、第2のコントローラとドライブ装置との間にネットワークを利用して形成されるコネクションを介して送信される。ドライブ装置は、第2の指令に従ってセーフティ機能の状態を管理する状態管理部と、状態管理部が保持する情報のうち予め設定された情報を、ネットワークを介して公開するデータ公開部とを含む。サポートプログラムは、コンピュータに、データ公開部により公開される情報の指定を受付けるとともに、当該指定された情報を特定する公開設定をドライブ装置へ転送するステップと、公開設定を参照して、状態管理部により管理される情報のうち公開対象の情報を特定するとともに、データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付けるステップとを実行させる。 According to yet another embodiment of the invention, there is provided a support program running on a computer coupled to the control system. The control system includes a first controller and a drive device that drives the motor according to a first command from the first controller. The drive device has a safety function for driving the motor. The control system shares data among the second controller, which transmits a second command relating to the operation of the safety function to the drive device, and the first controller, the drive device, and the second controller. including a network of The second command is sent through a connection formed using a network between the second controller and the drive device. The drive device includes a state management unit that manages the state of the safety function according to the second command, and a data disclosure unit that discloses preset information among the information held by the state management unit via the network. The support program receives specification of information to be disclosed by the data disclosure unit in the computer, transfers disclosure settings specifying the specified information to the drive device; specifying information to be disclosed among the information managed by the data disclosure unit, and associating the meaning of the specified information with reference information for referring to the information disclosed by the data disclosure unit.
本実施形態によれば、第2のコントローラとドライブ装置との間にネットワークを利用して形成されるコネクションを介して送信される第2の指令に係る情報を、第1のコントローラからも容易にアクセスできる。これによって、第1のコントローラは、第2の指令に依存するセーフティ機能の動作に応じた制御を実現できる。 According to this embodiment, the information related to the second command transmitted via the connection formed using the network between the second controller and the drive device can be easily transmitted from the first controller. have access. This allows the first controller to implement control according to the operation of the safety function that depends on the second command.
本発明によれば、セーフティ機能の動作に関する情報に容易にアクセス可能な制御システムを提供できる。 According to the present invention, it is possible to provide a control system in which information regarding the operation of safety functions can be easily accessed.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are denoted by 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 determined by control calculations and the like with 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の各々においては、サーボモータ400の駆動を担当するサーボ制御350が実装されている。サーボ制御350には、標準コントローラ100から指令(第1の指令)が与えられる。
FIG. 2 is a schematic diagram showing functions of the
セーフティドライバ300の各々においては、モーションセーフティ機能360がさらに実装されている。モーションセーフティ機能360には、セーフティコントローラ200からセーフティ指令(第2の指令)が与えられる。このセーフティ指令は、セーフティコントローラ200とセーフティドライバ300との間にフィールドネットワーク2を利用して形成される論理コネクション4を介して送信される。
A
セーフティドライバ300のモーションセーフティ機能360は、セーフティ指令に従ってセーフティ機能の状態を管理するモーションセーフティ機能状態管理エンジン378(状態管理部に相当する)を有している。
The
ここで、フィールドネットワーク2は、標準コントローラ100、1または複数のセーフティドライバ300、および、セーフティコントローラ200の間で、データを互いに共有するために用いられる。制御システム1においては、フィールドネットワーク2を利用して、デバイス間でデータを共有するためのデータ公開アーキテクチャ6が用意されている。
Here, the
セーフティドライバ300の各々は、モーションセーフティ機能状態管理エンジン378が保持する情報のうち予め設定された情報を、フィールドネットワーク2を介して公開するデータミラーエンジン380(詳細については、後述する。データ公開部に相当する。)を有している。すなわち、データミラーエンジン380は、モーションセーフティ機能状態管理エンジン378が保持する情報のうち予め設定された情報を、データ公開アーキテクチャ6を利用して、他のデバイスがアクセス可能な状態に複製する。
Each of the
このような構成を採用することで、論理コネクション4を介して遣り取りされるセーフティ指令に応じて変更されるモーションセーフティ機能360の状態情報に対して、標準コントローラ100および他のデバイスからアクセスできるようになる。これにより、標準コントローラ100および他のデバイスは、セーフティドライバ300におけるセーフティ機能の動作状態に応じた制御動作を実現できる。
By adopting such a configuration, the state information of the
<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 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
プロセスデータ通信に用いられるデータ領域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
(g1:セーフティコントローラ200からのデータ公開)
まず、セーフティコントローラ200からのプロセスデータ通信によるデータ公開を用いる方法について説明する。
(g1: data disclosure from safety controller 200)
First, a method using data disclosure by process data communication from the
図14は、本実施の形態に係る制御システム1の標準コントローラ100がモーションセーフティ機能の情報を参照する一方法を説明するための図である。図14を参照して、セーフティコントローラ200においては、セーフティ機能状態管理エンジン278がモーションセーフティ機能の情報を管理している。そのため、まず、セーフティ機能状態管理エンジン278が管理しているモーションセーフティ機能の情報を取得するための命令および/または設定がセーフティプログラム2104などに追加される((1)情報取得)。そして、取得されたモーションセーフティ機能の情報を他のデバイスへ公開するための命令および/または設定がセーフティプログラム2104などに追加される((2)情報公開)。このような命令および/または設定の追加により、セーフティコントローラ200から他のデバイスに対して、モーションセーフティ機能の情報が公開される。
FIG. 14 is a diagram for explaining one method by which the
より具体的な設定手順例としては、セーフティ機能状態管理エンジン278は、モーションセーフティ機能毎に情報を管理しており、これらの情報のうち標準コントローラ100で参照すべき情報を、任意の内部変数に割り付けるための設定がなされる。また、他のデバイスに公開するための公開変数が規定される。その上で、標準コントローラ100で参照される情報を示す内部変数の値を公開変数に複製するための命令がセーフティプログラム2104に追加される。この公開変数は、他のデバイスから参照可能なグローバル変数として規定されてもよい。
As a more specific setting procedure example, the safety function
一方、標準コントローラ100においては、セーフティコントローラ200により公開されるモーションセーフティ機能の情報を取得するための命令および/または設定が標準制御プログラム1104などに追加される((3)情報取得)。そして、取得されたモーションセーフティ機能の情報を用いたセーフティドライバ300を制御するためのプログラムが標準制御プログラム1104に追加される((4)指令出力プログラム追加)。このような命令および/または設定の追加により、標準コントローラ100において、モーションセーフティ機能の情報を参照して、セーフティドライバ300を制御するための指令を出力できる。
On the other hand, in the
より具体的な設定手順例としては、セーフティコントローラ200により公開された情報を、標準コントローラ100の任意の内部変数に割り付けるための設定がなされる。そして、割り付けられた内部変数を用いて、セーフティドライバ300を制御するためのプログラムが作成される。
As a more specific setting procedure example, settings are made to assign information disclosed by the
以上のように、セーフティコントローラ200によるデータ公開により実装する場合には、標準コントローラ100およびセーフティコントローラ200のそれぞれに対して、プログラム変更および/または設定変更などが必要となる。
As described above, when the
(g2:セーフティドライバ300の公開機能)
次に、セーフティドライバ300からのプロセスデータ通信によるデータ公開を用いる方法について説明する。
(g2: public function of safety driver 300)
Next, a method of using data disclosure by process data communication from the
図15は、本実施の形態に係る制御システム1の標準コントローラ100がモーションセーフティ機能の情報を参照する別の一方法を説明するための図である。図15に示す構成においては、セーフティドライバ300がデータミラーエンジン380をさらに含む。
FIG. 15 is a diagram for explaining another method by which 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
図16は、本実施の形態に係る制御システム1のセーフティドライバ300が公開するモーションセーフティ制御用オブジェクトの設定例を説明するための図である。
FIG. 16 is a diagram for explaining a setting example of motion safety control objects disclosed by the
図16に示す例において、モーションセーフティ制御用オブジェクト382は、モーションセーフティ毎の指令(有効化/無効化)の発行状態を示すコントロールオブジェクト3821と、モーションセーフティ毎の状態値を示すステータスオブジェクト3822とを含む。なお、図16に示すような2つのオブジェクトに限らず、単一のオブジェクトのみを用意してもよいし、より多くのオブジェクトを用意してもよい。
In the example shown in FIG. 16, 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
図16に示す構成例において、データミラーエンジン380は、サーボ制御350を実行する演算処理部であるプロセッサ312によって実現され、モーションセーフティ機能状態管理エンジン378は、モーションセーフティ機能360を提供する演算処理部であるプロセッサ314によって実現される。
In the configuration example shown in FIG. 16, 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における設定処理>
上述したようなモーションセーフティ制御用オブジェクト382を生成するためのミラーオブジェクト設定384は、サポート装置500において設定される。より具体的には、サポート装置500において、セーフティドライバ設定情報5116(図6参照)の一部に含まれるミラーオブジェクト設定テーブル560が規定され、ミラーオブジェクト設定テーブル560がセーフティドライバ300へ転送されることで、セーフティドライバ300においてミラーオブジェクト設定384として格納される。
<H. Setting Processing in
A mirror object setting 384 for generating the motion
本実施の形態においては、サポート装置500が保持するミラーオブジェクト設定テーブル560、および、セーフティドライバ300が保持するミラーオブジェクト設定384は、いずれも、データ公開される情報を特定するための公開設定に相当する。以下、ミラーオブジェクト設定384に関するサポート装置500における設定処理について説明する。
In this embodiment, both the mirror object setting table 560 held by the
図17は、本実施の形態に係る制御システム1のサポート装置500での設定処理を説明するための図である。図17を参照して、サポート装置500は、制御システム1に含まれる標準コントローラ100およびセーフティドライバ300に係る設定を受付ける。図17には、設定の一例として、標準コントローラ変数設定テーブル550(図6の標準コントローラ設定情報5110に含まれる)およびミラーオブジェクト設定テーブル560(図6のセーフティドライバ設定情報5116に含まれる)を示す。
FIG. 17 is a diagram for explaining setting processing in
ミラーオブジェクト設定テーブル560は、対象のセーフティドライバ300が公開するモーションセーフティ制御用オブジェクト382に含まれる情報を規定するテーブルである。ユーザは、サポート装置500上で、ミラーオブジェクト設定テーブル560を編集して、対象となるセーフティドライバ300が公開するモーションセーフティ制御用オブジェクト382に含めるべき情報を設定する((1)設定)。
The mirror 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 mirror 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
図17には、ミラーオブジェクト設定テーブル560における設定に基づいて、標準コントローラ変数設定テーブル550において、モーションセーフティ制御用オブジェクト382に含まれる各属性に対して変数が自動的に設定される例を示す。
FIG. 17 shows an example in which variables are automatically set for each attribute included in the motion
図17に示すように、ユーザがミラーオブジェクト設定テーブル560を設定した後、標準コントローラ変数設定テーブル550への反映操作を行うと、各属性に対応する変数名556が自動的に設定される。このように、サポート装置500は、ミラーオブジェクト設定テーブル560(公開設定)を参照して、セーフティドライバ300のモーションセーフティ機能状態管理エンジン378により管理される情報のうち公開対象の情報を特定するとともに、データミラーエンジン380により公開される情報を参照するための変数名556(参照情報に相当する。)に当該特定した情報の意味を関連付ける。
As shown in FIG. 17, when the user sets the mirror object setting table 560 and then performs a reflection operation to the standard controller variable setting table 550, the
標準制御プログラム1104においては、標準コントローラ変数設定テーブル550において設定された変数名556を参照することができる。
The
図18は、本実施の形態に係る制御システム1のサポート装置500が提供するユーザインターフェイス画面の一例を示す模式図である。図18(A)を参照して、モーションセーフティ制御用オブジェクト382に係る設定画面570は、対象情報表示欄572と、ミラーオブジェクト表示欄574と、属性設定欄576と、データ型設定欄578とを含む。
FIG. 18 is a schematic diagram showing an example of a user interface screen provided by
ミラーオブジェクト表示欄574は、モーションセーフティ制御用オブジェクト382に含まれる各要素(ビット)を表示する。対象情報表示欄572には、モーションセーフティ制御用オブジェクト382に割り当てる情報が設定される。属性設定欄576には、割り当てられる情報の属性(読取専用/編集可能の別)が設定される。データ型設定欄578には、割り当てられる情報のデータ型(BOOL型や実数型など)が設定される。
A mirror
ユーザは、図18(A)に示す設定画面570に対する操作により、モーションセーフティ制御用オブジェクト382に含めるべき情報を設定する。その後、ユーザが反映操作を行うことで、図18(B)に示すように、標準コントローラ100で参照可能な変数名が自動的に設定される。
The user sets information to be included in the motion
図18(B)に示すように、設定画面570は、変数名設定欄580をさらに有している。変数名設定欄580には、標準コントローラ100で各情報を参照するための変数名が設定される。なお、変数名設定欄580に設定される変数名は、対象情報表示欄572に設定される変数名と同一であってもよい。
As shown in FIG. 18(B), the
上述したように、図17および図18には、変数名を参照情報として用いて任意のプロセス値を参照する構成例を示す。すなわち、サポート装置500において、セーフティドライバ300のデータミラーエンジン380により公開される情報を変数として参照可能になっている。このような変数に対して各情報の意味を反映する場合には、変数の名前(変数名)として反映してもよいし、変数を参照する際に表示される、変数名とは別に付与されるコメントやラベルなどの付加情報として反映してもよい。
As described above, FIGS. 17 and 18 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.
また、図18(B)に示すように、他のセーフティドライバ300が公開するモーションセーフティ制御用オブジェクト382に含まれる情報と競合しないように、さらなる情報を付加してもよい。図18(B)に示す設定画面570においては、公開元のセーフティドライバ300を特定する情報(図18に示す例では、「E003」)を付加した変数名が採用されている。
Further, as shown in FIG. 18B, 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
図19は、本実施の形態に係る制御システム1におけるモーションセーフティ制御用オブジェクト382を参照した標準制御プログラム1104の一例を示す図である。図19(A)および図19(B)には、いずれも、モーションセーフティ機能としてSOS(Safe Operating Stop)が有効化された場合の、セーフティドライバ300およびサーボモータ400を制御するための命令(コード1105)を記述した部分を示す。
FIG. 19 is a diagram showing an example of the
図19(A)には、モーションセーフティ制御用オブジェクト382をそのまま参照する場合の標準制御プログラム1104の一例を示し、図19(B)には、モーションセーフティ制御用オブジェクト382に対応付けられた変数を参照する場合の標準制御プログラム1104の一例を示す。
FIG. 19A shows an example of the
図19(A)に示す標準制御プログラム1104においては、モーションセーフティ制御用オブジェクト382の5ビット目を参照するための「E003_Mirror_Safety_statusword[3]」との参照命令582を用いたIF文が記述されている。
In the
これに対して、図19(B)に示す標準制御プログラム1104においては、モーションセーフティ制御用オブジェクト382の5ビット目の情報に割り当てられた「E003_SOS_command1_active」との変数名584を用いたIF文が記述されている。このように、図19(B)に示すような変数名584を用いることで、当該変数目がいずれの情報を参照しているのかを一見して把握することができる。
On the other hand, in the
このように、サポート装置500は、標準コントローラ100で実行される標準制御プログラム1104を開発する環境を提供する。この標準制御プログラム1104を開発する環境において、上述したような特定した情報の意味が関連付けられた参照情報(典型的には、各変数)を用いて、標準制御プログラム1104を作成可能になっている。
Thus, the
図20は、本実施の形態に係る制御システム1を構成するサポート装置500における設定処理手順の一例を示すフローチャートである。図20に示す各ステップは、典型的には、サポート装置500のプロセッサ502がサポートプログラム5104を実行することで実現される。
FIG. 20 is a flow chart showing an example of a setting processing procedure in the
図20を参照して、サポート装置500は、ユーザ操作に応答して、制御システム1に対するプログラム作成および各種設定を行うための開発画面をユーザに提供する(ステップS100)。
Referring to FIG. 20,
まず、サポート装置500は、セーフティドライバ300のモーションセーフティ機能に関する設定をユーザから受付ける(ステップS102)。併せて、サポート装置500は、モーションセーフティ制御用オブジェクトに含まれる情報のうち公開する情報の選択をユーザから受付ける(ステップS104)。すなわち、ミラーオブジェクトに含ませるべき情報が選択される。サポート装置500は、ユーザによる設定完了の操作を受けると、受付けた設定をセーフティドライバ設定情報5116(図6)として格納する。
First, the
続いて、サポート装置500は、ユーザ操作に応答して、標準コントローラ100において利用可能な変数の設定をユーザから受付ける(ステップS106)。そして、サポート装置500は、ユーザからセーフティドライバ300から公開される情報を反映するとの指示を受けると、セーフティドライバ設定情報5116を参照して、セーフティドライバ300からの公開変数群(ミラーオブジェクト)に対応するモーションセーフティ制御用オブジェクトの情報を特定する(ステップS108)。そして、サポート装置500は、特定したモーションセーフティ制御用オブジェクトの情報に基づいて、セーフティドライバ300からの公開変数の各々に対応する変数名を決定する(ステップS110)。
Subsequently, the
具体的には、サポート装置500は、セーフティドライバ300のモーションセーフティ機能に関する設定を解析して、ミラーオブジェクトをビット単位に分解するとともに、各ビットの変数名を生成および決定する。
Specifically, the
最終的に、サポート装置500は、決定した各変数名を対応するビットに割り当て、割り当てた結果を標準コントローラ設定情報5110(図6)として格納する(ステップS112)。以上の設定操作により、標準制御プログラムの作成時において、セーフティドライバ300における割り当て設定を反映した名称が付与された変数を利用できる。
Finally, the
<I.サポート装置500からの一括設定/一括無効化/一括有効化>
上述の公開設定の手順においては、サポート装置500でセーフティドライバ300毎に公開すべきモーションセーフティ制御用オブジェクトの情報を選択および設定することになる。
<I. Batch Setting/Batch Invalidation/Batch Validation from
In the above-described disclosure setting procedure, the
現実の運用を想定すると、制御システム1は複数のセーフティドライバ300を含むことが多く、このような場合、セーフティドライバ300毎に設定を行うことは操作が煩雑になる。
Assuming actual operation, the
また、例えば、セーフティドライバ300に係るプログラムをデバッグする場合、セーフティドライバ300のモーションセーフティ機能を無効化した状態で、標準制御に係る部分だけをデバッグしたい場合がある。このとき、セーフティドライバ300からのモーションセーフティ制御用オブジェクトの情報(ミラーオブジェクト)の公開を無効化しておくことが好ましい。このような場合において、セーフティドライバ300毎に公開設定を削除もしくは無効化することは操作が煩雑になる。
Further, for example, when debugging a program related to the
図21は、本実施の形態に係る制御システム1を構成するサポート装置500における一括公開設定の処理を説明するための図である。図21を参照して、複数のセーフティドライバ300の各々に対して、ミラーオブジェクト設定テーブル560が用意されているとする。
FIG. 21 is a diagram for explaining batch disclosure setting processing in
サポート装置500は、共通設定テンプレート590を有している。共通設定テンプレート590は、ミラーオブジェクト設定テーブル560に対する割り当て設定などが規定されている。サポート装置500において、ユーザが所定の操作を行うことで、ミラーオブジェクト設定テーブル560の各々に対して、共通設定テンプレート590の内容が反映される。
このような操作によって、複数のミラーオブジェクト設定テーブル560に対して、同一の設定を反映することができる。 Through such an operation, the same setting can be reflected in a plurality of mirror object setting tables 560. FIG.
あるいは、共通設定テンプレート590を用いなくとも、サポート装置500において、ユーザが所定の操作を行うことで、ミラーオブジェクト設定テーブル560の各々に対して、予め設定された内容が反映されている状態と、何らの設定もなされていない状態とを一括して切り替えるようにしてもよい。すなわち、制御システム1が複数のセーフティドライバ300を有している場合において、サポート装置500は、ユーザ操作に応答して、すべてのセーフティドライバ300のデータミラーエンジン380(データ公開部)に対して、フィールドネットワーク2を介した公開を一括して有効化または無効化するようにしてもよい。
Alternatively, even if the
このような一括設定の機能、一括無効化の機能、および、一括有効化の機能の一部または全部をサポート装置500に実装することで、上述したようなデバッグ時の操作を効率化できる。
By implementing part or all of the batch setting function, batch invalidation function, and batch validation function in the
<J.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
第1のコントローラ(100)と、
前記第1のコントローラからの第1の指令に従ってモータを駆動するドライブ装置(300)とを備え、前記ドライブ装置はモータ(400)の駆動に関するセーフティ機能(360)を有しており、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラ(200)と、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間で、データを互いに共有するためのネットワーク(2)とを備え、
前記第2の指令は、前記第2のコントローラと前記ドライブ装置との間に前記ネットワークを利用して形成されるコネクション(4)を介して送信され、
前記ドライブ装置は、
前記第2の指令に従って前記セーフティ機能の状態を管理する状態管理部(378)と、
前記状態管理部が保持する情報のうち予め設定された情報を、前記ネットワークを介して公開するデータ公開部(380)とを含む、制御システム。
[構成2]
前記データ公開部により公開される情報の指定を受付けるとともに、当該指定された情報を特定する公開設定(384;560)を前記ドライブ装置へ転送するサポート装置(500)をさらに備える、構成1に記載の制御システム。
[構成3]
前記サポート装置は、前記公開設定を参照して、前記状態管理部により管理される情報のうち公開対象の情報を特定するとともに、前記データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付ける、構成2に記載の制御システム。
[構成4]
前記サポート装置において、前記データ公開部により公開される情報を変数として参照可能になっており、
前記サポート装置は、前記変数の名前として前記特定した情報の意味を反映する、構成3に記載の制御システム。
[構成5]
前記サポート装置において、前記データ公開部により公開される情報を変数として参照可能になっており、
前記サポート装置は、前記変数に付与される付加情報として前記特定した情報の意味を反映する、構成3に記載の制御システム。
[構成6]
前記サポート装置は、前記データ公開部により公開される情報を参照するための参照情報に、当該データ公開部を含んでいるドライブ装置を特定する情報を反映する、構成3~5のいずれか1項に記載の制御システム。
[構成7]
前記サポート装置は、前記第1のコントローラで実行される制御プログラムを開発する環境を提供し、
前記制御プログラムを開発する環境において、前記特定した情報の意味が関連付けられた参照情報を用いて、前記制御プログラムを作成可能になっている、構成3~6のいずれか1項に記載の制御システム。
[構成8]
前記制御システムは、前記ドライブ装置を複数備えており、
前記サポート装置は、ユーザ操作に応答して、すべてのドライブ装置のデータ公開部に対して、前記ネットワークを介した公開を一括して有効化または無効化する、構成3~7のいずれか1項に記載の制御システム。
[構成9]
制御システムに接続されるサポート装置(500)であって、
前記制御システム(1)は、
第1のコントローラ(100)と、
前記第1のコントローラからの第1の指令に従ってモータを駆動するドライブ装置(300)とを備え、前記ドライブ装置はモータの駆動に関するセーフティ機能(360)を有しており、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラ(200)と、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間で、データを互いに共有するためのネットワーク(2)とを備え、
前記第2の指令は、前記第2のコントローラと前記ドライブ装置との間に前記ネットワークを利用して形成されるコネクション(4)を介して送信され、
前記ドライブ装置は、
前記第2の指令に従って前記セーフティ機能の状態を管理する状態管理部(378)と、
前記状態管理部が保持する情報のうち予め設定された情報を、前記ネットワークを介して公開するデータ公開部(380)とを含み、
前記サポート装置は、
前記データ公開部により公開される情報の指定を受付けるとともに、当該指定された情報を特定する公開設定を前記ドライブ装置へ転送する手段(S104)と、
前記公開設定を参照して、前記状態管理部により管理される情報のうち公開対象の情報を特定するとともに、前記データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付ける手段(S106~S112)とを備える、サポート装置。
[構成10]
制御システム(1)に接続されるコンピュータ(500)で実行されるサポートプログラム(5104)であって、
前記制御システムは、
第1のコントローラ(100)と、
前記第1のコントローラからの第1の指令に従ってモータ(400)を駆動するドライブ装置(300)とを備え、前記ドライブ装置はモータの駆動に関するセーフティ機能(360)を有しており、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラ(200)と、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間で、データを互いに共有するためのネットワーク(2)とを備え、
前記第2の指令は、前記第2のコントローラと前記ドライブ装置との間に前記ネットワークを利用して形成されるコネクション(4)を介して送信され、
前記ドライブ装置は、
前記第2の指令に従って前記セーフティ機能の状態を管理する状態管理部(378)と、
前記状態管理部が保持する情報のうち予め設定された情報を、前記ネットワークを介して公開するデータ公開部(380)とを含み、
前記サポートプログラムは、前記コンピュータに
前記データ公開部により公開される情報の指定を受付けるとともに、当該指定された情報を特定する公開設定を前記ドライブ装置へ転送するステップ(S104)と、
前記公開設定を参照して、前記状態管理部により管理される情報のうち公開対象の情報を特定するとともに、前記データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付けるステップ(S106~S112)とを実行させる、サポートプログラム。
<J. Note>
The present embodiment as described above includes the following technical ideas.
[Configuration 1]
a first controller (100);
a drive device (300) for driving the motor according to a first command from the first controller, the drive device having a safety function (360) relating to driving the motor (400),
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 second command is transmitted through a connection (4) formed between the second controller and the drive device using the network;
The drive device
a state management unit (378) that manages the state of the safety function according to the second command;
A control system, comprising: a data disclosure unit (380) that discloses preset information among the information held by the state management unit through the network.
[Configuration 2]
[Configuration 3]
The support device refers to the disclosure setting to identify information to be disclosed among the information managed by the state management unit, and sets reference information for referencing the information disclosed by the data disclosure unit. 3. The control system of
[Configuration 4]
In the support device, the information disclosed by the data disclosure unit can be referenced as a variable,
4. The control system of configuration 3, wherein the support device reflects the meaning of the identified information as the name of the variable.
[Configuration 5]
In the support device, the information disclosed by the data disclosure unit can be referenced as a variable,
The control system according to configuration 3, wherein the support device reflects the meaning of the specified information as additional information assigned to the variable.
[Configuration 6]
6. Any one item of configurations 3 to 5, wherein the support device reflects information specifying a drive device containing the data disclosure unit in reference information for referring to the information disclosed by the data disclosure unit. The control system described in .
[Configuration 7]
The support device provides an environment for developing a control program executed by the first controller,
The control system according to any one of configurations 3 to 6, wherein the control program can be created using reference information associated with the meaning of the specified information in an environment for developing the control program. .
[Configuration 8]
The control system includes a plurality of the drive devices,
8. Any one of configurations 3 to 7, wherein the support device collectively enables or disables disclosure via the network for data disclosure units of all drive devices in response to a user operation. The control system described in .
[Configuration 9]
A support device (500) connected to a control system, comprising:
Said control system (1) comprises:
a first controller (100);
a drive device (300) for driving the motor according to a first command from the first controller, the drive device having a safety function (360) relating to the driving of the motor,
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 second command is transmitted through a connection (4) formed between the second controller and the drive device using the network;
The drive device
a state management unit (378) that manages the state of the safety function according to the second command;
a data publishing unit (380) that publishes, via the network, preset information among the information held by the state management unit;
The support device is
means (S104) for receiving specification of information to be disclosed by the data disclosure unit and for transferring disclosure settings specifying the specified information to the drive device;
By referring to the disclosure settings, information to be disclosed among the information managed by the state management unit is specified, and the specified information is added to the reference information for referring to the information disclosed by the data disclosure unit. means for associating meaning (S106-S112).
[Configuration 10]
A support program (5104) running on a computer (500) connected to a control system (1),
The control system is
a first controller (100);
a drive device (300) for driving the motor (400) in accordance with a first command from the first controller, the drive device having a safety function (360) relating to the driving of the motor,
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 second command is transmitted through a connection (4) formed between the second controller and the drive device using the network;
The drive device
a state management unit (378) that manages the state of the safety function according to the second command;
a data publishing unit (380) that publishes, via the network, preset information among the information held by the state management unit;
a step of receiving, in the computer, the specification of information to be disclosed by the data disclosure unit, and transferring disclosure settings specifying the specified information to the drive device (S104);
By referring to the disclosure settings, information to be disclosed among the information managed by the state management unit is specified, and the specified information is added to the reference information for referring to the information disclosed by the data disclosure unit. A support program that causes the steps of associating meaning (S106 to S112) to be executed.
<K.利点>
本実施の形態に係る制御システム1によれば、セーフティコントローラ200とセーフティドライバ300との間に形成される論理コネクションを介して遣り取りされるセーフティ指令および/またはセーフティ指令に応じて更新されるモーションセーフティ機能の状態情報を、論理コネクションとは独立して、標準コントローラ100から容易にアクセスできる。
<K. Advantage>
According to the
また、本実施の形態に係る制御システム1によれば、サポート装置500において、セーフティドライバ300から公開される情報の意味を反映した変数を用いて標準制御プログラム1104を作成できるため、標準制御プログラム1104の作成効率を高めることができる。
Further, 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 論理コネクション、6 データ公開アーキテクチャ、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 記録媒体、550 標準コントローラ変数設定テーブル、552,562 設定欄、556,566,584 変数名、560 ミラーオブジェクト設定テーブル、570 設定画面、572 対象情報表示欄、574 ミラーオブジェクト表示欄、576 属性設定欄、578 データ型設定欄、580 変数名設定欄、582 参照命令、590 共通設定テンプレート、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, 6 data public architecture, 100 standard controller, 102, 202, 312, 314, 502 processor, 104, 204, 316, 504 main memory, 106 upper 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 logic 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 550 Standard controller variable setting table 552, 562 Setting column 556, 566, 584 Variable name 560 Mirror object setting table 570 Setting screen 572 Object information display column 574 Mirror Object display column 576 Attribute setting column 578 Data type setting column 580 Variable name setting column 582 Reference instruction 590 Common setting template 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 control object 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 configuration information.
Claims (10)
前記第1のコントローラからの第1の指令に従ってモータを駆動するドライブ装置とを備え、前記ドライブ装置はモータの駆動に関するセーフティ機能を有しており、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間を通信フレームがサイクリックに一巡することで、データを互いに共有するためのネットワークとを備え、
前記第2のコントローラおよび前記ドライブ装置は、前記ネットワークを利用して、論理コネクションを形成し、
前記第2の指令は、前記第2のコントローラと前記ドライブ装置との間の前記論理コネクションを介して送信され、
前記ドライブ装置は、
前記第2の指令に従って前記セーフティ機能の状態を管理する状態管理部と、
前記状態管理部が保持する情報のうち予め設定された情報を、前記論理コネクションを利用せず、前記ネットワークを介して公開するデータ公開部とを含む、制御システム。 a first controller;
a drive device for driving the motor according to a first command from the first controller, the drive device having a safety function related to driving the motor;
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 second controller and the drive device form a logical connection using the network;
the second command is sent over the logical connection between the second controller and the drive device;
The drive device
a state management unit that manages the state of the safety function according to the second command;
A control system, comprising: a data publishing unit that publishes preset information among the information held by the state management unit through the network without using the logical connection .
前記サポート装置は、前記変数の名前として前記特定した情報の意味を反映する、請求項3に記載の制御システム。 In the support device, the information disclosed by the data disclosure unit can be referenced as a variable,
4. The control system of claim 3, wherein the support device reflects the meaning of the identified information as the name of the variable.
前記サポート装置は、前記変数に付与される付加情報として前記特定した情報の意味を反映する、請求項3に記載の制御システム。 In the support device, the information disclosed by the data disclosure unit can be referenced as a variable,
4. The control system according to claim 3, wherein said support device reflects the meaning of said specified information as additional information assigned to said variable.
前記制御プログラムを開発する環境において、前記特定した情報の意味が関連付けられた参照情報を用いて、前記制御プログラムを作成可能になっている、請求項3~6のいずれか1項に記載の制御システム。 The support device provides an environment for developing a control program to be executed by the first controller,
The control according to any one of claims 3 to 6, wherein in an environment for developing the control program, the control program can be created using reference information associated with the meaning of the specified information. system.
前記サポート装置は、ユーザ操作に応答して、すべてのドライブ装置のデータ公開部に対して、前記ネットワークを介した公開を一括して有効化または無効化する、請求項3~7のいずれか1項に記載の制御システム。 The control system includes a plurality of the drive devices,
8. The support device according to any one of claims 3 to 7, in response to a user operation, collectively enables or disables disclosure via the network for data disclosure units of all drive devices. A control system as described in paragraph.
前記制御システムは、
第1のコントローラと、
前記第1のコントローラからの第1の指令に従ってモータを駆動するドライブ装置とを備え、前記ドライブ装置はモータの駆動に関するセーフティ機能を有しており、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間を通信フレームがサイクリックに一巡することで、データを互いに共有するためのネットワークとを備え、
前記第2のコントローラおよび前記ドライブ装置は、前記ネットワークを利用して、論理コネクションを形成し、
前記第2の指令は、前記第2のコントローラと前記ドライブ装置との間の前記論理コネクションを介して送信され、
前記ドライブ装置は、
前記第2の指令に従って前記セーフティ機能の状態を管理する状態管理部と、
前記状態管理部が保持する情報のうち予め設定された情報を、前記論理コネクションを利用せず、前記ネットワークを介して公開するデータ公開部とを含み、
前記サポート装置は、
前記データ公開部により公開される情報の指定を受付けるとともに、当該指定された情報を特定する公開設定を前記ドライブ装置へ転送する手段と、
前記公開設定を参照して、前記状態管理部により管理される情報のうち公開対象の情報を特定するとともに、前記データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付ける手段とを備える、サポート装置。 A support device connected to a control system, comprising:
The control system is
a first controller;
a drive device for driving the motor according to a first command from the first controller, the drive device having a safety function related to driving the motor;
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 second controller and the drive device form a logical connection using the network;
the second command is sent over the logical connection between the second controller and the drive device;
The drive device
a state management unit that manages the state of the safety function according to the second command;
a data publishing unit that publishes preset information among the information held by the state management unit through the network without using the logical connection ;
The support device is
means for receiving specification of information to be disclosed by the data disclosure unit and transferring disclosure settings specifying the specified information to the drive device;
By referring to the disclosure setting, information to be disclosed among the information managed by the state management unit is specified, and the specified information is added to the reference information for referring to the information disclosed by the data disclosure unit. means for associating meaning.
前記制御システムは、
第1のコントローラと、
前記第1のコントローラからの第1の指令に従ってモータを駆動するドライブ装置とを備え、前記ドライブ装置はモータの駆動に関するセーフティ機能を有しており、
前記ドライブ装置に対してセーフティ機能の動作に係る第2の指令を送信する第2のコントローラと、
前記第1のコントローラ、前記ドライブ装置および前記第2のコントローラの間を通信フレームがサイクリックに一巡することで、データを互いに共有するためのネットワークとを備え、
前記第2のコントローラおよび前記ドライブ装置は、前記ネットワークを利用して、論理コネクションを形成し、
前記第2の指令は、前記第2のコントローラと前記ドライブ装置との間の前記論理コネクションを介して送信され、
前記ドライブ装置は、
前記第2の指令に従って前記セーフティ機能の状態を管理する状態管理部と、
前記状態管理部が保持する情報のうち予め設定された情報を、前記論理コネクションを利用せず、前記ネットワークを介して公開するデータ公開部とを含み、
前記サポートプログラムは、前記コンピュータに
前記データ公開部により公開される情報の指定を受付けるとともに、当該指定された情報を特定する公開設定を前記ドライブ装置へ転送するステップと、
前記公開設定を参照して、前記状態管理部により管理される情報のうち公開対象の情報を特定するとともに、前記データ公開部により公開される情報を参照するための参照情報に当該特定した情報の意味を関連付けるステップとを実行させる、サポートプログラム。 A support program running on a computer connected to the control system, comprising:
The control system is
a first controller;
a drive device for driving the motor according to a first command from the first controller, the drive device having a safety function related to driving the motor;
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 second controller and the drive device form a logical connection using the network;
the second command is sent over the logical connection between the second controller and the drive device;
The drive device
a state management unit that manages the state of the safety function according to the second command;
a data publishing unit that publishes preset information among the information held by the state management unit through the network without using the logical connection ;
a step in which the support program receives specification of information to be disclosed by the data disclosure unit in the computer and transfers disclosure settings specifying the specified information to the drive device;
By referring to the disclosure setting, information to be disclosed among the information managed by the state management unit is specified, and the specified information is added to the reference information for referring to the information disclosed by the data disclosure unit. A support program that performs the steps of associating meaning.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018185437A JP7115195B2 (en) | 2018-09-28 | 2018-09-28 | Control system, support equipment, support program |
PCT/JP2019/037212 WO2020066985A1 (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 |
---|---|---|---|
JP2018185437A JP7115195B2 (en) | 2018-09-28 | 2018-09-28 | Control system, support equipment, support program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020057064A JP2020057064A (en) | 2020-04-09 |
JP7115195B2 true JP7115195B2 (en) | 2022-08-09 |
Family
ID=69950809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018185437A Active JP7115195B2 (en) | 2018-09-28 | 2018-09-28 | Control system, support equipment, support program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7115195B2 (en) |
WO (1) | WO2020066985A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2013161106A (en) | 2012-02-01 | 2013-08-19 | Omron Corp | Support device and support program |
JP2016045712A (en) | 2014-08-22 | 2016-04-04 | 株式会社日立産機システム | Programmable logic controller |
-
2018
- 2018-09-28 JP JP2018185437A patent/JP7115195B2/en active Active
-
2019
- 2019-09-24 WO PCT/JP2019/037212 patent/WO2020066985A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2013161106A (en) | 2012-02-01 | 2013-08-19 | Omron Corp | Support device and support program |
JP2016045712A (en) | 2014-08-22 | 2016-04-04 | 株式会社日立産機システム | Programmable logic controller |
Also Published As
Publication number | Publication date |
---|---|
JP2020057064A (en) | 2020-04-09 |
WO2020066985A1 (en) | 2020-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2012124143A1 (en) | Computation unit, assistance device, output control method, display control method, and program | |
JP6299064B2 (en) | Control device, control method, and program | |
WO2015166953A1 (en) | Design assistance device, design assistance method, and program | |
JP2017187993A (en) | Control device, control method, and program | |
WO2013145940A1 (en) | Information processing device, information processing method, and program | |
WO2021065032A1 (en) | Control system, support device, and support program | |
JP7024677B2 (en) | Control system, support device, support program | |
JP7115195B2 (en) | Control system, support equipment, support program | |
JP7087951B2 (en) | Control system, control method, drive device | |
JP7200580B2 (en) | Control system, support equipment, support program | |
JP7087952B2 (en) | Control system, support device, support program | |
US11340561B2 (en) | Control system, support device, and storage medium | |
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 | |
WO2022249713A1 (en) | Control system, system program, and debugging method | |
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 |
|
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: 20220628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7115195 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |