JP6923038B2 - Communication systems, communication methods, and programs - Google Patents

Communication systems, communication methods, and programs Download PDF

Info

Publication number
JP6923038B2
JP6923038B2 JP2020073728A JP2020073728A JP6923038B2 JP 6923038 B2 JP6923038 B2 JP 6923038B2 JP 2020073728 A JP2020073728 A JP 2020073728A JP 2020073728 A JP2020073728 A JP 2020073728A JP 6923038 B2 JP6923038 B2 JP 6923038B2
Authority
JP
Japan
Prior art keywords
command data
communication
slave device
data
encrypted
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
Application number
JP2020073728A
Other languages
Japanese (ja)
Other versions
JP2020184751A (en
Inventor
泰史 吉浦
泰史 吉浦
宏隆 新見
宏隆 新見
古賀 稔
稔 古賀
俊信 吉良
俊信 吉良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2019085142A external-priority patent/JP6903093B2/en
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2020073728A priority Critical patent/JP6923038B2/en
Publication of JP2020184751A publication Critical patent/JP2020184751A/en
Application granted granted Critical
Publication of JP6923038B2 publication Critical patent/JP6923038B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信システム、通信方法、及びプログラムに関する。 The present invention relates to communication systems, communication methods, and programs.

特許文献1には、通信マスタと、当該通信マスタからの指令に応じて動作する通信スレーブと、を有する通信システムにおいて、通信マスタから通信スレーブに指令が送信され、通信スレーブから通信マスタに動作結果が送信されることが記載されている。 In Patent Document 1, in a communication system having a communication master and a communication slave that operates in response to a command from the communication master, a command is transmitted from the communication master to the communication slave, and the operation result from the communication slave to the communication master. Is stated to be sent.

国際公開第2017/046916号公報International Publication No. 2017/046916

本発明が解決しようとする課題は、例えば、同期通信可能な複数の産業機器を含む通信システムにおけるセキュリティを高めることである。 An object to be solved by the present invention is, for example, to enhance security in a communication system including a plurality of industrial devices capable of synchronous communication.

本発明の一側面に係る通信システムは、同期通信可能な複数の産業機器を含む通信システムであって、通信を行う複数の産業機器は、送信データを暗号化する暗号化部と、他の産業機器に前記送信データを送信する送信部と、前記他の産業機器から、暗号化された受信データを受信する受信部と、前記受信データを復号化する復号化部と、を有する。 The communication system according to one aspect of the present invention is a communication system including a plurality of industrial devices capable of synchronous communication, and the plurality of industrial devices that perform communication include an encryption unit that encrypts transmitted data and other industries. It has a transmission unit that transmits the transmission data to the device, a reception unit that receives encrypted reception data from the other industrial equipment, and a decoding unit that decodes the reception data.

本発明の一側面に係る通信方法は、同期通信可能な複数の産業機器の通信方法であって、送信データを暗号化し、前記複数の産業機器の間で前記送信データを送信し、前記複数の産業機器の間で暗号化された受信データを受信し、前記受信データを復号化する。 The communication method according to one aspect of the present invention is a communication method of a plurality of industrial devices capable of synchronous communication, in which transmission data is encrypted, the transmission data is transmitted between the plurality of industrial devices, and the plurality of transmission data are transmitted. Receives encrypted received data between industrial devices and decrypts the received data.

本発明の一側面に係るプログラムは、他の産業機器と同期通信可能な産業機器を、送信データを暗号化する暗号化部、前記他の産業機器に前記送信データを送信する送信部、前記他の産業機器から、暗号化された受信データを受信する受信部、前記受信データを復号化する復号化部、として機能させる。 The program according to one aspect of the present invention includes an encryption unit that encrypts transmission data of an industrial device capable of synchronous communication with another industrial device, a transmission unit that transmits the transmission data to the other industrial device, and the other. It functions as a receiving unit that receives encrypted received data and a decoding unit that decrypts the received data.

本発明の一側面によれば、前記通信システムは、通信を行う産業機器の組み合わせごとに、暗号化通信に関する設定を行う設定部、を有する。 According to one aspect of the present invention, the communication system has a setting unit for setting encrypted communication for each combination of industrial devices for communication.

本発明の一側面によれば、前記設定部は、通信を行う産業機器の組み合わせごとに、当該組み合わせに含まれる産業機器の機種に基づいて、暗号化通信に関する設定を行う。 According to one aspect of the present invention, the setting unit makes settings related to encrypted communication for each combination of industrial devices to be communicated based on the model of the industrial device included in the combination.

本発明の一側面によれば、前記暗号化部は、前記送信データの種類に基づいて、前記送信データを暗号化し、前記復号化部は、前記受信データの種類に基づいて、前記受信データを復号化する。 According to one aspect of the present invention, the encryption unit encrypts the transmission data based on the type of the transmission data, and the decryption unit encrypts the reception data based on the type of the reception data. Decrypt.

本発明の一側面によれば、前記暗号化部は、同期通信を利用するか否かに基づいて、前記送信データを暗号化し、前記復号化部は、同期通信を利用するか否かに基づいて、前記受信データを復号化する。 According to one aspect of the present invention, the encryption unit encrypts the transmitted data based on whether or not synchronous communication is used, and the decryption unit is based on whether or not synchronous communication is used. The received data is decrypted.

本発明の一側面によれば、前記通信システムでは、同期通信可能な3つ以上の産業機器が含まれており、暗号化通信を利用する産業機器の組み合わせと、暗号化通信を利用しない産業機器の組み合わせと、が混在可能である。 According to one aspect of the present invention, the communication system includes three or more industrial devices capable of synchronous communication, a combination of industrial devices that use encrypted communication, and an industrial device that does not use encrypted communication. Can be mixed with the combination of.

本発明の一側面によれば、前記通信システムでは、同期通信可能な3つ以上の産業機器が含まれており、第1の暗号方式で暗号化通信する産業機器の組み合わせと、第2の暗号方式で暗号化通信する産業機器の組み合わせと、が混在可能である。 According to one aspect of the present invention, the communication system includes three or more industrial devices capable of synchronous communication, and a combination of industrial devices for encrypted communication by the first encryption method and a second encryption. It is possible to mix with a combination of industrial equipment that performs encrypted communication by the method.

本発明の一側面によれば、通信を行う複数の産業機器は、自身に接続された機器を制御するための第1の制御回路とは別に、暗号化通信をするための第2の制御回路を有し、少なくとも前記暗号化部及び前記復号化部は、前記第2の制御回路により実現される。 According to one aspect of the present invention, the plurality of industrial devices that perform communication have a second control circuit for performing encrypted communication, in addition to the first control circuit for controlling the device connected to itself. At least the encryption unit and the decryption unit are realized by the second control circuit.

本発明の一側面によれば、前記通信システムは、前記通信システムのネットワーク構成が変更されたか否かを判定する判定部と、前記ネットワーク構成が変更されたと判定された場合に、暗号化通信に関する設定を行う設定部と、を有する。 According to one aspect of the present invention, the communication system relates to a determination unit for determining whether or not the network configuration of the communication system has been changed, and for encrypted communication when it is determined that the network configuration has been changed. It has a setting unit for setting.

本発明の一側面によれば、通信を行う複数の産業機器は、少なくとも1つの暗号方式を利用可能であり、前記通信システムは、通信を行う複数の産業機器に共通する暗号方式に基づいて、暗号化通信で利用する暗号方式を決定する決定部、を有する。 According to one aspect of the present invention, a plurality of industrial devices that perform communication can use at least one encryption method, and the communication system is based on a encryption method that is common to the plurality of industrial devices that perform communication. It has a determination unit that determines the encryption method used in encrypted communication.

本発明の一側面によれば、前記決定部は、通信を行う複数の産業機器に共通する暗号方式が複数存在した場合、当該複数の暗号方式の各々に定められた優先度に基づいて、暗号化通信で利用する暗号方式を決定する。 According to one aspect of the present invention, when there are a plurality of encryption methods common to a plurality of industrial devices that perform communication, the determination unit encrypts the encryption based on the priority determined for each of the plurality of encryption methods. Determine the encryption method to be used in the communication.

本発明の一側面によれば、通信を行う複数の産業機器は、デバッグが行われる場合には、暗号化通信を行わない。 According to one aspect of the present invention, a plurality of industrial devices that communicate do not perform encrypted communication when debugging is performed.

本発明の一側面によれば、通信を行う複数の産業機器には、マスタ機器と、前記マスタ機器からの指令に基づいて動作するスレーブ機器と、が含まれており、前記マスタ機器及び前記スレーブ機器は、前記暗号化部、前記送信部、前記受信部、及び前記復号化部を有する。 According to one aspect of the present invention, the plurality of industrial devices that perform communication include a master device and a slave device that operates based on a command from the master device, and the master device and the slave. The device has the encryption unit, the transmission unit, the reception unit, and the decryption unit.

上記発明によれば、例えば、同期通信可能な複数の産業機器を含む通信システムにおけるセキュリティを高めることができる。 According to the above invention, for example, security in a communication system including a plurality of industrial devices capable of synchronous communication can be enhanced.

実施形態に係る通信システムの全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the communication system which concerns on embodiment. 通信システムで実現される機能を示す機能ブロック図である。It is a functional block diagram which shows the function realized by the communication system. 機種データのデータ格納例を示す図である。It is a figure which shows the data storage example of model data. 設定データのデータ格納例を示す図である。It is a figure which shows the data storage example of the setting data. コンフィグレーション処理を示すフロー図である。It is a flow chart which shows the configuration process. モータ制御処理を示すフロー図である。It is a flow chart which shows the motor control processing. 種類データのデータ格納例を示す図である。It is a figure which shows the data storage example of the type data. 変形例(1)の機能ブロック図である。It is a functional block diagram of the modification (1). 優先度データのデータ格納例を示す図である。It is a figure which shows the data storage example of priority data.

[1.実施形態1]
本発明の発明者の見地によれば、同期通信可能な複数の産業機器を含む通信システムにおいて、悪意のある第三者がネットワーク上のデータを書き換えたり盗み見たりすることがある。しかしながら、従来の通信システムでは、通信システム内のデータが全て平文でやり取りされるので、セキュリティを十分に担保することができなかった。そこで本発明の発明者は、同期通信可能な複数の産業機器を含む通信システムにおけるセキュリティを高めるために鋭意研究開発を行った結果、新規かつ独創的な通信システム等に想到した。以降、本実施形態に係る通信システム等を詳細に説明する。
[1. Embodiment 1]
From the point of view of the inventor of the present invention, in a communication system including a plurality of industrial devices capable of synchronous communication, a malicious third party may rewrite or snoop data on the network. However, in the conventional communication system, all the data in the communication system is exchanged in plain text, so that the security cannot be sufficiently ensured. Therefore, the inventor of the present invention has devised a new and original communication system as a result of diligent research and development in order to enhance security in a communication system including a plurality of industrial devices capable of synchronous communication. Hereinafter, the communication system and the like according to the present embodiment will be described in detail.

[1−1.通信システムの全体構成]
図1は、実施形態に係る通信システムの全体構成の一例を示す図である。図1に示すように、通信システム1は、コントローラ10、モータ制御装置20A〜20D、モータ30A〜30D、センサ40A〜40D、及びエンコーダ50A〜50Dを含む。以降、モータ制御装置20A〜20D、モータ30A〜30D、センサ40A〜40D、及びエンコーダ50A〜50Dの各々を特に区別する必要のないときは、単にモータ制御装置20、モータ30、センサ40、及びエンコーダ50と記載する。
[1-1. Overall configuration of communication system]
FIG. 1 is a diagram showing an example of the overall configuration of the communication system according to the embodiment. As shown in FIG. 1, the communication system 1 includes a controller 10, motor control devices 20A to 20D, motors 30A to 30D, sensors 40A to 40D, and encoders 50A to 50D. Hereinafter, when it is not necessary to distinguish each of the motor control devices 20A to 20D, the motors 30A to 30D, the sensors 40A to 40D, and the encoders 50A to 50D, the motor control device 20, the motor 30, the sensor 40, and the encoder are simply used. It is described as 50.

コントローラ10は、モータ制御装置20を制御する装置である。本実施形態では、コントローラ10が4台のモータ制御装置20を制御する場合を説明するが、コントローラ10が制御するモータ制御装置20の台数は、任意の数であってよく、例えば、1台、2台、3台、又は5台以上であってもよい。また例えば、コントローラ10には、モータ制御装置20だけでなく、センサ類又は入出力機器などが接続されていてもよい。また例えば、通信システム1には、複数台のコントローラ10が含まれていてもよい。 The controller 10 is a device that controls the motor control device 20. In the present embodiment, the case where the controller 10 controls four motor control devices 20 will be described, but the number of motor control devices 20 controlled by the controller 10 may be any number, for example, one. There may be two, three, or five or more. Further, for example, not only the motor control device 20 but also sensors or input / output devices may be connected to the controller 10. Further, for example, the communication system 1 may include a plurality of controllers 10.

例えば、コントローラ10は、CPU11、記憶部12、及び通信部13を含む。CPU11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM、EEPROM、及びハードディスクを含み、各種プログラムやデータを記憶する。CPU11は、これらプログラムやデータに基づいて各種処理を実行する。通信部13は、ネットワークカードや各種通信コネクタ等の通信インタフェースを含み、他の装置との通信を行う。 For example, the controller 10 includes a CPU 11, a storage unit 12, and a communication unit 13. The CPU 11 includes at least one processor. The storage unit 12 includes a RAM, an EEPROM, and a hard disk, and stores various programs and data. The CPU 11 executes various processes based on these programs and data. The communication unit 13 includes a communication interface such as a network card and various communication connectors, and communicates with other devices.

モータ制御装置20は、モータ30を制御する装置である。モータ制御装置20は、サーボアンプ又はサーボパック(登録商標)と呼ばれることもある。本実施形態では、モータ制御装置20が1台のモータ30を制御する場合を説明するが、モータ制御装置20は、複数台のモータ30を制御してもよい。更に、モータ制御装置20には、モータ30、センサ40、及びエンコーダ50だけでなく、入出力機器などが接続されていてもよい。モータ制御装置20は、コントローラ10から受信した指令に基づいて、電力線で接続されたモータ30に対する電圧を制御する。モータ30は、回転式であってもよいしリニア式であってもよい。 The motor control device 20 is a device that controls the motor 30. The motor control device 20 is sometimes called a servo amplifier or a servo pack (registered trademark). In the present embodiment, the case where the motor control device 20 controls one motor 30 will be described, but the motor control device 20 may control a plurality of motors 30. Further, not only the motor 30, the sensor 40, and the encoder 50 but also input / output devices and the like may be connected to the motor control device 20. The motor control device 20 controls the voltage with respect to the motor 30 connected by the power line based on the command received from the controller 10. The motor 30 may be of a rotary type or a linear type.

例えば、モータ制御装置20Aは、CPU21A、記憶部22A、通信部23A、及びSOC(System On Chip)24Aを含む。CPU21A、記憶部22A、及び通信部23Aの各々の物理的構成は、CPU11、記憶部12、及び通信部13と同様である。 For example, the motor control device 20A includes a CPU 21A, a storage unit 22A, a communication unit 23A, and an SOC (System On Chip) 24A. The physical configurations of the CPU 21A, the storage unit 22A, and the communication unit 23A are the same as those of the CPU 11, the storage unit 12, and the communication unit 13.

SOC24Aは、チップ上に特定の目的の機能を集約させた回路である。本実施形態では、SOC24Aは、暗号化通信に特化した回路であり、例えば、CPU240A及び暗号チップ241Bを含む。CPU240Aの物理的構成は、CPU11と同様であり、例えば、暗号化通信用のファームウェアが展開される。暗号チップ241Bは、例えば、鍵を記憶するメモリと、特定の暗号方式に特化した演算を実行する演算回路と、を含む。暗号チップ241Bは、CPU240Aの指示により、メモリに記憶された鍵に基づいて、暗号化及び復号化の演算を実行する。 The SOC24A is a circuit in which functions of a specific purpose are integrated on a chip. In the present embodiment, the SOC24A is a circuit specialized for encrypted communication, and includes, for example, a CPU 240A and an encryption chip 241B. The physical configuration of the CPU 240A is the same as that of the CPU 11, and for example, firmware for encrypted communication is deployed. The encryption chip 241B includes, for example, a memory for storing a key and an arithmetic circuit for executing an arithmetic specialized for a specific encryption method. The encryption chip 241B executes the encryption and decryption operations based on the key stored in the memory according to the instruction of the CPU 240A.

なお、SOC24Aは、モータ制御装置20Aの製造時点で内蔵されていてもよいし、モータ制御装置20Aの購入後にユーザがSOC24Aを取り付けてもよい。また例えば、SOC24Aは、モータ制御装置20Aの筐体に内蔵されるのではなく、USB端子等の入出力部を利用して外付けされてもよい。また、SOC24Aの物理的構成は、上記説明した例に限られず、暗号化及び復号化の演算が可能な構成を有していればよい。例えば、SOC24Aは、暗号チップ241Aの代わりに、サブのCPUを有していてもよく、当該CPUにより、暗号化及び復号化の演算が実行されてもよい。また例えば、特に暗号チップ241Aを用意せずに、CPU240Aが暗号化及び復号化の演算を実行してもよい。 The SOC 24A may be built in at the time of manufacturing the motor control device 20A, or the user may install the SOC 24A after purchasing the motor control device 20A. Further, for example, the SOC 24A may not be built in the housing of the motor control device 20A, but may be externally attached by using an input / output unit such as a USB terminal. Further, the physical configuration of the SOC24A is not limited to the example described above, and may have a configuration capable of performing encryption and decryption operations. For example, the SOC 24A may have a sub CPU instead of the encryption chip 241A, and the CPU may execute encryption and decryption operations. Further, for example, the CPU 240A may execute the encryption and decryption operations without preparing the encryption chip 241A.

モータ制御装置20B及び20Dの物理的構成は、モータ制御装置20Aと同様である。即ち、CPU21B,21D、記憶部22B,22D、通信部23B,23D、及びSOC24B,24Dの各々の物理的構成は、CPU21A、記憶部22A、通信部23A、及びSOC24Aと同様である。モータ制御装置20Cは、CPU21C、記憶部22C、及び通信部23Cを含む。これらの各々の物理的構成は、CPU21A、記憶部22A、及び通信部23Aと同様である。ただし、モータ制御装置20Cは、暗号化通信に対応しておらず、SOCを有しない。なお、以降の説明では、モータ制御装置20に含まれる個々の構成を区別しないときは、CPU21、記憶部22、通信部23、及びSOC24といったように、末尾のアルファベットの符号を省略する。 The physical configuration of the motor control devices 20B and 20D is the same as that of the motor control device 20A. That is, the physical configurations of the CPU 21B, 21D, the storage units 22B, 22D, the communication units 23B, 23D, and the SOC 24B, 24D are the same as those of the CPU 21A, the storage unit 22A, the communication unit 23A, and the SOC 24A. The motor control device 20C includes a CPU 21C, a storage unit 22C, and a communication unit 23C. The physical configuration of each of these is the same as that of the CPU 21A, the storage unit 22A, and the communication unit 23A. However, the motor control device 20C does not support encrypted communication and does not have an SOC. In the following description, when the individual configurations included in the motor control device 20 are not distinguished, the alphabetic symbols at the end are omitted, such as the CPU 21, the storage unit 22, the communication unit 23, and the SOC 24.

なお、モータ制御装置20のCPU21は、自身に接続された機器を制御するための第1の制御回路の一例であり、SOC24は、暗号化通信をするための第2の制御回路の一例である。制御回路は、任意の計算を行うために作成された回路基板であり、CPU21のように汎用的な処理を実行可能であってもよいし、SOC24のように特定目的の処理に特化したものであってもよい。一般的に、モータ制御装置20は、コストを抑えるために必要最低限の性能のCPU21を搭載することが多い。この場合、暗号化通信の計算処理に耐えられない(処理に遅延が発生する)ことがあるので、本実施形態では、モータ制御装置20にSOC24を搭載することにしているが、CPU21が十分な性能を有する場合には、SOC24を搭載せずに、CPU21が暗号化通信の計算処理を実行してもよい。 The CPU 21 of the motor control device 20 is an example of a first control circuit for controlling a device connected to itself, and the SOC 24 is an example of a second control circuit for performing encrypted communication. .. The control circuit is a circuit board created for performing arbitrary calculations, and may be capable of executing general-purpose processing such as CPU21, or is specialized for processing for a specific purpose such as SOC24. It may be. In general, the motor control device 20 is often equipped with a CPU 21 having the minimum necessary performance in order to reduce costs. In this case, the calculation processing of the encrypted communication may not be tolerated (a delay occurs in the processing). Therefore, in the present embodiment, the SOC 24 is mounted on the motor control device 20, but the CPU 21 is sufficient. If it has the performance, the CPU 21 may execute the calculation process of the encrypted communication without mounting the SOC 24.

センサ40は、モータ制御装置20又はモータ30の動作状況を検出する。センサ40は、物理量を検出可能なセンサであればよく、例えば、トルクセンサ、温度センサ、力センサ、又はモーションセンサなどである。エンコーダ50は、モータ30の位置又は速度を検出する機器であり、例えば、光学式又は磁気式のモータエンコーダである。エンコーダ50もセンサの一種である。モータ制御装置20は、センサ40により検出された物理量やエンコーダ50により検出されたフィードバック速度を、任意のタイミングでコントローラ10に送信する。 The sensor 40 detects the operating status of the motor control device 20 or the motor 30. The sensor 40 may be a sensor capable of detecting a physical quantity, and may be, for example, a torque sensor, a temperature sensor, a force sensor, a motion sensor, or the like. The encoder 50 is a device that detects the position or speed of the motor 30, and is, for example, an optical or magnetic motor encoder. The encoder 50 is also a type of sensor. The motor control device 20 transmits the physical quantity detected by the sensor 40 and the feedback speed detected by the encoder 50 to the controller 10 at an arbitrary timing.

なお、コントローラ10及びモータ制御装置20の各々に記憶されるものとして説明するプログラム及びデータは、ネットワークNやインターネットなどを介して供給されるようにしてもよい。また、コントローラ10及びモータ制御装置20の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力部(例えば、USB端子)が含まれていてもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して供給されるようにしてもよい。また例えば、コントローラ10及びモータ制御装置20の各々は、モータ制御などの特定用途向けの集積回路(ASIC)を有していてもよい。例えば、SOC24についても、SOCとしての構成、CPUとASICなどの構成など回路のハードウェア構成は適宜設定可能である。 The programs and data described as being stored in each of the controller 10 and the motor control device 20 may be supplied via the network N, the Internet, or the like. Further, the hardware configurations of the controller 10 and the motor control device 20 are not limited to the above examples, and various hardware can be applied. For example, a reading unit (for example, an optical disk drive or a memory card slot) for reading a computer-readable information storage medium or an input / output unit (for example, a USB terminal) for directly connecting to an external device may be included. .. In this case, the program or data stored in the information storage medium may be supplied via the reading unit or the input / output unit. Further, for example, each of the controller 10 and the motor control device 20 may have an integrated circuit (ASIC) for a specific application such as motor control. For example, with respect to the SOC 24, the hardware configuration of the circuit such as the configuration as the SOC and the configuration of the CPU and the ASIC can be appropriately set.

[1−2.通信システムの概要]
通信システム1では、コントローラ10とモータ制御装置20とが通信する。コントローラ10及びモータ制御装置20の各々は、産業機器の一例である。このため、本実施形態でコントローラ10又はモータ制御装置20と記載した箇所は、産業機器と読み替えることができる。
[1-2. Overview of communication system]
In the communication system 1, the controller 10 and the motor control device 20 communicate with each other. Each of the controller 10 and the motor control device 20 is an example of industrial equipment. Therefore, the portion described as the controller 10 or the motor control device 20 in the present embodiment can be read as an industrial device.

産業機器は、人間が行う作業の補助又は代行をする機器及びその周辺機器の総称である。例えば、コントローラ10及びモータ制御装置20以外にも、ロボットコントローラ、産業用ロボット、インバータ、コンバータ、工作機械、又はPLC等は、産業機器に相当する。 Industrial equipment is a general term for equipment that assists or acts on behalf of human work and its peripheral equipment. For example, in addition to the controller 10 and the motor control device 20, a robot controller, an industrial robot, an inverter, a converter, a machine tool, a PLC, or the like correspond to industrial equipment.

本実施形態では、通信を行う複数の産業機器には、マスタ機器と、マスタ機器からの指令に基づいて動作するスレーブ機器と、が含まれている場合を説明するが、特にマスタとスレーブの関係がなくてもよい。別の言い方をすれば、産業機器の間には、主従関係又は上下関係が存在しなくてもよい。 In the present embodiment, a case where a plurality of industrial devices that perform communication include a master device and a slave device that operates based on a command from the master device will be described. In particular, the relationship between the master and the slave will be described. It is not necessary to have. In other words, there does not have to be a master-slave relationship or a hierarchical relationship between industrial equipment.

マスタ機器とは、スレーブ機器を制御する機器であり、スレーブ機器に対して指令を送信する機器である。別の言い方をすれば、マスタ機器は、スレーブ機器から動作状態を取得する機器である。スレーブ機器とは、マスタ機器からの指令に基づいて動作する機器であり、マスタ機器により制御される機器である。別の言い方をすれば、スレーブ機器は、マスタ機器に対して自身の動作状態を送信する機器である。本実施形態では、コントローラ10がマスタ機器に相当し、モータ制御装置20がスレーブ機器に相当する。 A master device is a device that controls a slave device and transmits a command to the slave device. In other words, the master device is a device that acquires the operating state from the slave device. A slave device is a device that operates based on a command from a master device, and is a device controlled by the master device. In other words, a slave device is a device that transmits its own operating state to the master device. In this embodiment, the controller 10 corresponds to the master device, and the motor control device 20 corresponds to the slave device.

コントローラ10は、モータ制御装置20に対して指令を送信し、モータ制御装置20は、指令に基づいてモータ30を動作させる。コントローラ10とモータ制御装置20とは、いわゆるフィールドネットワークであるネットワークNによって接続され、任意の通信プロトコルを利用して通信が行われる。本実施形態の通信システム1では、コントローラ10及びモータ制御装置20(複数の産業機器の一例)の各々は、同期通信可能である。 The controller 10 transmits a command to the motor control device 20, and the motor control device 20 operates the motor 30 based on the command. The controller 10 and the motor control device 20 are connected by a network N, which is a so-called field network, and communication is performed using an arbitrary communication protocol. In the communication system 1 of the present embodiment, each of the controller 10 and the motor control device 20 (an example of a plurality of industrial devices) can perform synchronous communication.

同期通信とは、送信側の機器がデータを送信するタイミングと、受信側の機器がデータを受信するタイミングと、を合わせる通信方式である。同期通信では、データ通信のリクエストが送信されてからレスポンスを受信するまでの間は、原則として他の処理は実行されない。このため、送信側の機器は、受信側の機器にデータを送信した後は、レスポンスを受信するのを待機する。受信側の機器は、送信側の機器からデータを受信すると、すぐに処理を実行し、送信側の機器にレスポンスとして処理結果を返す。送信側の機器は、処理結果を受信すると、次の処理に移行する。同期通信が行われない場合には、非同期通信を利用して通信が行われる。 Synchronous communication is a communication method that matches the timing at which the transmitting device transmits data and the timing at which the receiving device receives data. In synchronous communication, in principle, no other processing is executed from the time when the data communication request is transmitted until the time when the response is received. Therefore, the transmitting device waits for receiving the response after transmitting the data to the receiving device. When the receiving device receives data from the transmitting device, it immediately executes the process and returns the processing result as a response to the transmitting device. When the device on the transmitting side receives the processing result, it shifts to the next processing. When synchronous communication is not performed, communication is performed using asynchronous communication.

非同期通信とは、送信側の機器がデータを送信するタイミングと、受信側の機器がデータを受信するタイミングと、を合わせずに通信を行う通信方式である。非同期通信では、データ通信のリクエストが送信されてからレスポンスを受信するまでの間に、他の処理を実行可能である。このため、非同期通信では、送信側の機器は、受信側の機器にデータを送信してからレスポンスを受信するまでの間に、他の処理を実行可能である。また、非同期通信では、受信側の機器は、送信側の機器からデータを受信しても、すぐに処理を実行するとは限らない。受信側の機器は、所定の条件が充足されるまで処理の実行を待機したり、同期通信の処理を優先して実行したりする。 Asynchronous communication is a communication method in which communication is performed without matching the timing at which the transmitting device transmits data and the timing at which the receiving device receives data. In asynchronous communication, other processing can be executed between the time when a data communication request is transmitted and the time when a response is received. Therefore, in asynchronous communication, the transmitting device can execute other processing between the time when the data is transmitted to the receiving device and the time when the response is received. Further, in asynchronous communication, the receiving device does not always execute the process immediately even if the data is received from the transmitting device. The device on the receiving side waits for the execution of the process until a predetermined condition is satisfied, or preferentially executes the synchronous communication process.

同期通信可能とは、同期通信を利用できるネットワーク環境及び通信プロトコルが整っていることである。コントローラ10とモータ制御装置20は、必ずしも全ての通信で同期通信をする必要はなく、同期通信と非同期通信を併用してもよいし、同期通信以外の通信方式を利用してもよい。別の言い方をすれば、コントローラ10とモータ制御装置20は、ネットワーク環境及び通信プロトコルとしては同期通信を利用できるけれども、あえて同期通信を利用せずに他の通信方式を利用してもよい。 Synchronous communication is possible when the network environment and communication protocol that can use synchronous communication are in place. The controller 10 and the motor control device 20 do not necessarily have to perform synchronous communication in all communication, and synchronous communication and asynchronous communication may be used in combination, or a communication method other than synchronous communication may be used. In other words, although the controller 10 and the motor control device 20 can use synchronous communication as the network environment and communication protocol, they may dare to use other communication methods without using synchronous communication.

本実施形態では、コントローラ10及びモータ制御装置20の各々は、暗号化通信可能である。暗号化通信は、データが暗号化される通信方式である。暗号方式自体は、種々の暗号方式を利用可能であり、例えば、DESやFEALなどの共通鍵暗号方式であってもよいし、RSAやDSAなどの公開鍵暗号方式であってもよい。 In the present embodiment, each of the controller 10 and the motor control device 20 is capable of encrypted communication. Encrypted communication is a communication method in which data is encrypted. As the encryption method itself, various encryption methods can be used. For example, a common key cryptosystem such as DES or FEAL may be used, or a public key cryptosystem such as RSA or DSA may be used.

暗号化通信可能とは、暗号化通信を利用できるネットワーク環境及び通信プロトコルが整っていることである。コントローラ10とモータ制御装置20は、必ずしも全ての通信で暗号化通信をする必要はなく、暗号化通信と非暗号化通信を併用してもよい。非暗号化通信とは、暗号化通信を利用しない方式であり、暗号化せずに平文で通信する方式である。別の言い方をすれば、コントローラ10とモータ制御装置20は、ネットワーク環境及び通信プロトコルとしては暗号化通信を利用できるけれども、あえて非暗号化通信を利用してもよい。 Encrypted communication is possible when the network environment and communication protocol that can use encrypted communication are in place. The controller 10 and the motor control device 20 do not necessarily have to perform encrypted communication in all communications, and encrypted communication and unencrypted communication may be used in combination. The non-encrypted communication is a method that does not use encrypted communication, and is a method of communicating in plain text without encryption. In other words, the controller 10 and the motor control device 20 can use encrypted communication as the network environment and communication protocol, but may dare to use unencrypted communication.

本実施形態では、コントローラ10は、暗号化通信に対応しているが、モータ制御装置20は、暗号化通信に対応している機種と、暗号化通信に対応していない機種と、が存在する場合について説明する。即ち、通信システム1には、暗号化通信に対応している機種だけが含まれていてもよいが、本実施形態では、暗号化通信に対応している機種と、暗号化通信に対応していない機種と、が通信システム1内に混在している場合を説明する。 In the present embodiment, the controller 10 supports encrypted communication, but the motor control device 20 includes a model that supports encrypted communication and a model that does not support encrypted communication. The case will be described. That is, the communication system 1 may include only a model that supports encrypted communication, but in the present embodiment, a model that supports encrypted communication and a model that supports encrypted communication are supported. A case where a model that does not exist and a model that does not exist are mixed in the communication system 1 will be described.

例えば、モータ制御装置20A,20B,20Dは、暗号化通信に対応した機種であり、SOC24を有しているが、モータ制御装置20Cは、暗号化通信に対応していない機種であり、SOC24を有していない。このため、コントローラ10とモータ制御装置20A,20B,20Dとの通信は、暗号化通信を利用可能であるが、コントローラ10とモータ制御装置20Cとの通信は、暗号化通信を利用可能ではないので、全て平文で行われる。 For example, the motor control devices 20A, 20B, and 20D are models that support encrypted communication and have an SOC 24, but the motor control device 20C is a model that does not support encrypted communication, and the SOC 24 is used. I don't have it. Therefore, encrypted communication can be used for communication between the controller 10 and the motor control devices 20A, 20B, and 20D, but encrypted communication cannot be used for communication between the controller 10 and the motor control device 20C. , All done in plain text.

また例えば、モータ制御装置20A,20B,20Dの暗号方式が互いに同じであり、単一の暗号方式だけが用いられてもよいが、本実施形態では、複数の暗号方式が混在する場合を説明する。例えば、モータ制御装置20A,20Bは、DESを利用してコントローラ10と暗号化通信を行い、モータ制御装置20Dは、RSAを利用してコントローラ10と暗号化通信を行う。コントローラ10は、これら複数の暗号方式に対応可能であるものとする。更に、同じ暗号方式であったとしても、異なるビット数(暗号強度)の方式が混在してもよい。例えば、64ビットのDESと、128ビットのDESと、が混在していてもよい。 Further, for example, the encryption methods of the motor control devices 20A, 20B, and 20D are the same as each other, and only a single encryption method may be used. However, in the present embodiment, a case where a plurality of encryption methods are mixed will be described. .. For example, the motor control devices 20A and 20B use DES to perform encrypted communication with the controller 10, and the motor control device 20D uses RSA to perform encrypted communication with the controller 10. It is assumed that the controller 10 can support these a plurality of encryption methods. Further, even if the same encryption method is used, methods having different numbers of bits (encryption strength) may be mixed. For example, 64-bit DES and 128-bit DES may be mixed.

以上のように、本実施形態では、コントローラ10とモータ制御装置20との間で暗号化通信を実現することにより、同期通信可能なコントローラ10とモータ制御装置20を含む通信システム1におけるセキュリティを高めるようになっている。以降、通信システム1の詳細を説明する。 As described above, in the present embodiment, by realizing encrypted communication between the controller 10 and the motor control device 20, the security in the communication system 1 including the controller 10 capable of synchronous communication and the motor control device 20 is enhanced. It has become like. Hereinafter, the details of the communication system 1 will be described.

[1−3.通信システムで実現される機能]
図2は、通信システム1で実現される機能を示す機能ブロック図である。ここでは、コントローラ10及びモータ制御装置20の各々において実現される機能について説明する。なお、モータ制御装置20A,20B,20Dは、同様の機能が実現されるので、図2では1つにまとめて示している。
[1-3. Functions realized by communication systems]
FIG. 2 is a functional block diagram showing the functions realized by the communication system 1. Here, the functions realized in each of the controller 10 and the motor control device 20 will be described. Since the motor control devices 20A, 20B, and 20D have the same functions, they are shown together in FIG. 2.

[1−3−1.コントローラにおいて実現される機能]
図2に示すように、コントローラ10では、データ記憶部100、判定部101、設定部102、暗号化部103、送信部104、受信部105、及び復号化部106が実現される。データ記憶部100は、記憶部12を主として実現され、判定部101、設定部102、暗号化部103、送信部104、受信部105、及び復号化部106は、CPU11を主として実現される。
[1-3-1. Functions realized in the controller]
As shown in FIG. 2, in the controller 10, a data storage unit 100, a determination unit 101, a setting unit 102, an encryption unit 103, a transmission unit 104, a reception unit 105, and a decryption unit 106 are realized. The data storage unit 100 is mainly realized by the storage unit 12, and the determination unit 101, the setting unit 102, the encryption unit 103, the transmission unit 104, the reception unit 105, and the decryption unit 106 are mainly realized by the CPU 11.

[データ記憶部]
データ記憶部100は、通信を行うために必要なデータを記憶する。例えば、データ記憶部100は、モータ制御装置20の機種ごとに暗号化通信の対応状況が示された機種データDT1と、モータ制御装置20ごとに暗号化通信の設定内容が示された設定データDT2と、を記憶する。
[Data storage]
The data storage unit 100 stores data necessary for communication. For example, the data storage unit 100 includes model data DT1 in which the correspondence status of encrypted communication is shown for each model of the motor control device 20, and setting data DT2 in which the setting contents of encrypted communication are shown for each model of the motor control device 20. And remember.

図3は、機種データDT1のデータ格納例を示す図である。図3に示すように、機種データDT1には、モータ制御装置20の機種、暗号化通信の可否、及び暗号方式が示されている。機種は、モータ制御装置20の種類であり、型式又は型番と呼ばれることもある。機種は、モータ制御装置20のメーカが指定した記号列によって示されてもよいし、モータ制御装置20に付与された名前によって示されてもよい。 FIG. 3 is a diagram showing a data storage example of the model data DT1. As shown in FIG. 3, the model data DT1 shows the model of the motor control device 20, whether or not encrypted communication is possible, and the encryption method. The model is a type of motor control device 20, and is sometimes called a model or model number. The model may be indicated by a symbol string specified by the manufacturer of the motor control device 20, or may be indicated by a name given to the motor control device 20.

暗号化通信の可否は、暗号化通信が可能か否かである。本実施形態では、暗号化通信が可能な機種については、対応している暗号方式の種類が示されるものとするが、全機種で同一形式の暗号を用いる場合には、暗号化通信の可否のみが示されてもよい。機種データDT1は、メーカが用意したものがダウンロードされてもよいし、ユーザが作成してもよい。なお、機種データDT1には、暗号化通信の可否が特に示されなくてもよく、暗号化通信に対応している機種のリストのみが示されてもよい。これとは逆に、機種データDT1には、暗号化通信に対応していない機種のリストが示されてもよい。 Whether or not encrypted communication is possible depends on whether or not encrypted communication is possible. In this embodiment, it is assumed that the types of encryption methods supported are shown for the models capable of encrypted communication, but when the same type of encryption is used for all models, only the availability of encrypted communication is indicated. May be shown. The model data DT1 may be downloaded by the manufacturer or created by the user. Note that the model data DT1 does not have to particularly indicate whether or not encrypted communication is possible, and may only show a list of models that support encrypted communication. On the contrary, the model data DT1 may show a list of models that do not support encrypted communication.

図3のデータ格納例であれば、「X1」という機種は、DESに対応しており、「X2」という機種は、RSAとDESに対応している。「X3」という機種は、RSAに対応しており、「X4」という機種は、暗号化通信に対応していない。例えば、モータ制御装置20A,20Bは、機種「X1」であり、DESに対応している。また例えば、モータ制御装置20Cは、機種「X4」であり、暗号化通信に対応していない。また例えば、モータ制御装置20Dは、機種「X3」であり、RSAに対応している。 In the data storage example of FIG. 3, the model "X1" corresponds to DES, and the model "X2" corresponds to RSA and DES. The model "X3" supports RSA, and the model "X4" does not support encrypted communication. For example, the motor control devices 20A and 20B are model "X1" and correspond to DES. Further, for example, the motor control device 20C is a model "X4" and does not support encrypted communication. Further, for example, the motor control device 20D is a model "X3" and is compatible with RSA.

なお、図3では、暗号方式だけが機種データDT1に示されているが、例えば、利用可能なビット数も機種データDT1に示されていてもよい。また例えば、機種データDT1には、単一のメーカの機種だけが示されてもよいし、複数のメーカの機種が示されてもよい。また例えば、ある特定のメーカだけでなく、複数のメーカが暗号化通信に対応可能であってもよく、この場合、メーカごとに、別々の機種データDT1を用意してもよい。 In FIG. 3, only the encryption method is shown in the model data DT1, but for example, the number of available bits may also be shown in the model data DT1. Further, for example, the model data DT1 may show only the models of a single manufacturer, or may indicate the models of a plurality of manufacturers. Further, for example, not only a specific manufacturer but also a plurality of manufacturers may be able to support encrypted communication. In this case, different model data DT1 may be prepared for each manufacturer.

図4は、設定データDT2のデータ格納例を示す図である。図4に示すように、設定データDT2には、コントローラ10の通信相手(即ち、モータ制御装置20)ごとに、暗号通信の利用有無、利用する暗号方式、及び利用する鍵が示される。鍵は、暗号化と復号化の少なくとも一方で用いられる情報であり、例えば、共通鍵暗号方式であれば、暗号化と復号化の両方で利用される共通鍵であり、公開鍵暗号方式であれば、暗号化で利用される公開鍵と復号化で利用される秘密鍵である。鍵は、所定の鍵生成アルゴリズムで生成されてもよいし、ユーザが入力した任意の記号列であってもよい。 FIG. 4 is a diagram showing a data storage example of the setting data DT2. As shown in FIG. 4, the setting data DT2 shows whether or not encrypted communication is used, the encryption method to be used, and the key to be used for each communication partner (that is, the motor control device 20) of the controller 10. A key is information used in at least one of encryption and decryption. For example, in the case of a common key encryption method, it is a common key used in both encryption and decryption, and it may be a public key encryption method. For example, it is a public key used for encryption and a private key used for decryption. The key may be generated by a predetermined key generation algorithm, or may be an arbitrary symbol string input by the user.

図4のデータ格納例であれば、コントローラ10とモータ制御装置20A,20Bとの間で、鍵「Y1」を利用してDESの暗号化通信が行われることが示されている。なお、モータ制御装置20Aが利用する鍵と、モータ制御装置20Bが利用する鍵と、は同じであってもよいし異なっていてもよい。また例えば、コントローラ10とモータ制御装置20Cとの間では、暗号化通信が行われないことが示されている。また例えば、コントローラ10とモータ制御装置20Dとの間では、鍵「Y2」(公開鍵と秘密鍵のセット)を利用してRSAの暗号化通信が行われることが示されている。 In the data storage example of FIG. 4, it is shown that DES encrypted communication is performed between the controller 10 and the motor control devices 20A and 20B by using the key "Y1". The key used by the motor control device 20A and the key used by the motor control device 20B may be the same or different. Further, for example, it is shown that encrypted communication is not performed between the controller 10 and the motor control device 20C. Further, for example, it is shown that RSA encrypted communication is performed between the controller 10 and the motor control device 20D by using the key "Y2" (a set of a public key and a private key).

本実施形態では、暗号化通信で利用される鍵がデータ記憶部100に予め記憶されている場合を説明するが、乱数等を利用してその場で鍵が生成され、コントローラ10とモータ制御装置20との間で交換されてもよい。データ記憶部100は、少なくとも1つの暗号方式の鍵を記憶すればよく、例えば、ある1つの暗号方式の鍵だけを記憶してもよいし、複数の暗号方式の各々の鍵を記憶してもよい。また、データ記憶部100は、ある暗号方式に対し、少なくとも1つの鍵を記憶すればよく、例えば、複数の通信相手で共通の1つの鍵だけを記憶してもよいし、通信相手によって使い分けるために複数の鍵を記憶してもよい。 In the present embodiment, the case where the key used in the encrypted communication is stored in the data storage unit 100 in advance will be described. However, the key is generated on the spot by using a random number or the like, and the controller 10 and the motor control device are used. It may be exchanged with 20. The data storage unit 100 may store at least one encryption method key, for example, may store only one encryption method key, or may store each key of a plurality of encryption methods. good. Further, the data storage unit 100 may store at least one key for a certain encryption method. For example, only one key common to a plurality of communication partners may be stored, and the data storage unit 100 may be used properly depending on the communication partner. You may store multiple keys in.

なお、データ記憶部100が記憶するデータは、上記の例に限られない。例えば、データ記憶部100は、暗号化通信で利用される暗号アルゴリズムを記憶する。本実施形態では、暗号アルゴリズムは、暗号化の計算式と復号化の計算式とを含むものとするが、暗号化の計算式と復号化の計算式とは、データとして別々であってもよい。他にも例えば、データ記憶部100は、後述する機器情報を記憶してもよいし、モータ制御装置20のIPアドレスを記憶してもよい。また例えば、データ記憶部200は、モータ制御装置20に対する指令が時系列的に示されたプログラム又はパラメータを記憶してもよいし、モータ制御装置20から受信した応答データやトレースデータなどを記憶してもよい。 The data stored by the data storage unit 100 is not limited to the above example. For example, the data storage unit 100 stores a cryptographic algorithm used in encrypted communication. In the present embodiment, the encryption algorithm includes an encryption calculation formula and a decryption calculation formula, but the encryption calculation formula and the decryption calculation formula may be separate as data. In addition, for example, the data storage unit 100 may store device information described later, or may store the IP address of the motor control device 20. Further, for example, the data storage unit 200 may store a program or parameter in which commands to the motor control device 20 are shown in time series, or store response data, trace data, and the like received from the motor control device 20. You may.

[判定部]
判定部101は、通信システム1のネットワーク構成が変更されたか否かを判定する。ネットワーク構成とは、ネットワークNに接続された産業機器の構成(通信システム1に含まれる産業機器の構成)であり、例えば、産業機器そのものを意味してもよいし、産業機器のハードウェア構成(部品構成)であってもよい。ネットワークNに何の産業機器が接続されているかは、ネットワーク構成の一例である。また、ネットワークNに接続された産業機器がどのようなハードウェア構成(例えば、通信インタフェースの性能やSOC24の有無など)を有しているかは、ネットワーク構成の一例である。
[Judgment unit]
The determination unit 101 determines whether or not the network configuration of the communication system 1 has been changed. The network configuration is a configuration of industrial equipment connected to network N (configuration of industrial equipment included in communication system 1), and may mean, for example, the industrial equipment itself or a hardware configuration of industrial equipment (configuration of industrial equipment). (Part configuration) may be used. What industrial equipment is connected to the network N is an example of a network configuration. Further, what kind of hardware configuration (for example, communication interface performance, presence / absence of SOC24, etc.) the industrial equipment connected to the network N has is an example of the network configuration.

例えば、判定部101は、産業機器が追加、除外、又は交換された場合に、ネットワーク構成が変更されたと判定する。また例えば、判定部101は、産業機器自体は追加、除外、又は交換されていないが、産業機器のハードウェア構成が追加、除外、又は交換された場合(例えば、通信インタフェースが交換されたりSOC24が追加されたりした場合)に、ネットワーク構成が変更されたと判定する。 For example, the determination unit 101 determines that the network configuration has been changed when the industrial equipment is added, excluded, or replaced. Further, for example, the determination unit 101 does not add, exclude, or replace the industrial equipment itself, but when the hardware configuration of the industrial equipment is added, excluded, or replaced (for example, the communication interface is replaced or the SOC24 is replaced). When it is added), it is determined that the network configuration has been changed.

本実施形態では、ネットワーク構成が変更された場合に、ユーザが所定の変更操作を行うものとする。このため、判定部101は、変更操作が行われたか否かを判定することによって、ネットワーク構成が変更されたか否かを判定する。変更操作は、ネットワーク構成を変更した場合にユーザが行う所定の操作であればよい。例えば、ユーザは、エンジニアリングツールがインストールされたパーソナルコンピュータ等をコントローラ10に接続し、変更操作を行う。 In the present embodiment, when the network configuration is changed, the user performs a predetermined change operation. Therefore, the determination unit 101 determines whether or not the network configuration has been changed by determining whether or not the change operation has been performed. The change operation may be a predetermined operation performed by the user when the network configuration is changed. For example, the user connects a personal computer or the like in which an engineering tool is installed to the controller 10 and performs a change operation.

ユーザが変更操作を行うと、コントローラ10のデータ記憶部100には、フラグ等の情報を利用して、変更操作が行われた旨が記録される。当該情報は、変更操作が行われたか否かを示し、変更操作が行われた場合に第1の値となり、変更操作が行われない場合に第2の値となる。判定部101は、当該情報を参照することによって判定処理を実行する。判定部101は、変更操作が行われていない場合には、ネットワーク構成が変更されたと判定せず、変更操作が行われた場合に、ネットワーク構成が変更されたと判定する。 When the user performs the change operation, the data storage unit 100 of the controller 10 records that the change operation has been performed by using information such as a flag. The information indicates whether or not the change operation has been performed, and becomes the first value when the change operation is performed, and becomes the second value when the change operation is not performed. The determination unit 101 executes the determination process by referring to the information. The determination unit 101 does not determine that the network configuration has been changed when the change operation has not been performed, and determines that the network configuration has been changed when the change operation has been performed.

なお、判定部101の判定方法は、上記の例に限られない。ユーザがネットワーク構成の変更を手動で指示するのではなく、判定部101は、ネットワークNに接続されたモータ制御装置20から受信した情報を利用して判定処理を実行してもよい。例えば、判定部101は、コンフィグレーション時や電源投入時などにおいて取得される機器情報に基づいて、判定処理を実行する。 The determination method of the determination unit 101 is not limited to the above example. Instead of manually instructing the user to change the network configuration, the determination unit 101 may execute the determination process using the information received from the motor control device 20 connected to the network N. For example, the determination unit 101 executes the determination process based on the device information acquired at the time of configuration or power-on.

機器情報は、ネットワークNに接続されている機器を示す情報であり、例えば、機器名、機種、シリアル番号、又はIPアドレスなどである。機器情報は、ネットワークNに接続された機器に記憶される。なお、機器情報には、当該機器のハードウェア構成が示されてもよく、例えば、CPU21の種類や性能、又は、SOC24の有無が示されてもよい。コントローラ10は、過去に取得された機器情報をデータ記憶部100に記録しておき、判定部101は、最新の機器情報と過去の機器情報とが一致していれば、ネットワーク構成が変更されたと判定せず、これらが一致していなければネットワーク構成が変更されたと判定する。 The device information is information indicating a device connected to the network N, and is, for example, a device name, a model, a serial number, an IP address, or the like. The device information is stored in the device connected to the network N. The device information may indicate the hardware configuration of the device, for example, the type and performance of the CPU 21, or the presence or absence of the SOC 24. The controller 10 records the device information acquired in the past in the data storage unit 100, and the determination unit 101 says that the network configuration has been changed if the latest device information and the past device information match. If they do not match, it is determined that the network configuration has been changed.

他にも例えば、ネットワークNに新たに追加されたモータ制御装置20やハードウェア構成が変更されたモータ制御装置20が、コントローラ10に、自発的に所定の通知を送信してもよい。この場合、判定部101は、当該所定の通知を受信したか否かを判定することによって、ネットワーク構成が変更されたか否かを判定する。 Alternatively, for example, the motor control device 20 newly added to the network N or the motor control device 20 whose hardware configuration has been changed may voluntarily send a predetermined notification to the controller 10. In this case, the determination unit 101 determines whether or not the network configuration has been changed by determining whether or not the predetermined notification has been received.

[設定部]
設定部102は、通信を行う産業機器の組み合わせごとに、暗号化通信に関する設定を行う。暗号化通信に関する設定は、機種に関係なく行われてもよいが、本実施形態では、設定部102は、通信を行う産業機器の組み合わせごとに、当該組み合わせに含まれる産業機器の機種に基づいて、暗号化通信に関する設定を行う。
[Settings]
The setting unit 102 makes settings related to encrypted communication for each combination of industrial devices that perform communication. The setting related to the encrypted communication may be performed regardless of the model, but in the present embodiment, the setting unit 102 is based on the model of the industrial device included in the combination for each combination of the industrial devices to be communicated. , Make settings related to encrypted communication.

通信を行う産業機器の組み合わせとは、データを送受信する複数の産業機器のグループであり、本実施形態のように、コントローラ10とモータ制御装置20との間で通信するのであれば、産業機器のペアである。別の言い方をすれば、通信を行う産業機器の組み合わせは、データの送信側の機器と受信側の機器の組み合わせである。本実施形態では、マスタ機器であるコントローラ10と、スレーブ機器であるモータ制御装置20と、が通信するので、通信を行う産業機器の組み合わせは、マスタ機器とスレーブ機器の組み合わせとなる。また、本実施形態では、コントローラ10において設定部102が実現されるので、設定部102は、コントローラ10の通信相手となるモータ制御装置20ごとに、暗号化に関する設定を行う。なお、設定部102は、ネットワークN内の全てのモータ制御装置20の設定をするのではなく、一部のモータ制御装置20についてのみ設定をしてもよい。 The combination of industrial equipment that performs communication is a group of a plurality of industrial equipment that transmits and receives data, and if communication is performed between the controller 10 and the motor control device 20 as in the present embodiment, the industrial equipment It is a pair. In other words, the combination of industrial equipment that performs communication is the combination of the equipment on the data transmitting side and the equipment on the receiving side. In the present embodiment, since the controller 10 which is a master device and the motor control device 20 which is a slave device communicate with each other, the combination of the industrial devices that perform communication is the combination of the master device and the slave device. Further, in the present embodiment, since the setting unit 102 is realized in the controller 10, the setting unit 102 sets the encryption for each of the motor control devices 20 that are the communication partners of the controller 10. The setting unit 102 may not set all the motor control devices 20 in the network N, but may set only some of the motor control devices 20.

暗号化通信に関する設定とは、暗号化通信を利用するか否かの設定、利用する暗号方式の設定、及び利用する鍵の設定の少なくとも1つを意味する。利用する暗号方式の設定とは、利用する暗号方式の種類を意味してもよいし、利用する暗号方式のビット数を意味してもよい。本実施形態では、設定部102は、暗号化通信を利用するか否かの決定結果、利用する暗号方式、及び利用する鍵の各々を設定データDT2に記録することによって設定を行う場合を説明するが、設定内容は他のデータに保持されてもよい。 The setting related to the encrypted communication means at least one of the setting of whether or not to use the encrypted communication, the setting of the encryption method to be used, and the setting of the key to be used. The setting of the encryption method to be used may mean the type of the encryption method to be used, or may mean the number of bits of the encryption method to be used. In the present embodiment, the setting unit 102 describes a case where the setting unit 102 sets by recording each of the determination result of whether or not to use the encrypted communication, the encryption method to be used, and the key to be used in the setting data DT2. However, the setting contents may be retained in other data.

本実施形態では、コントローラ10がモータ制御装置20から受信する機器情報に機種が示されており、設定部102は、機器情報を参照して機種を特定し、暗号化通信に関する設定を行う場合を説明するが、機種は、任意の方法で取得されてよい。例えば、ユーザがパーソナルコンピュータ等を利用して入力してモータ制御装置20の機種を入力してもよく、この場合、設定部102は、ユーザが入力した機種を参照して機種を特定する。他にも例えば、コントローラ10は、モータ制御装置20に対し、機器情報とは別に機種情報だけを要求してもよい。 In the present embodiment, the model is indicated in the device information received by the controller 10 from the motor control device 20, and the setting unit 102 identifies the model by referring to the device information and sets the encrypted communication. As will be described, the model may be acquired by any method. For example, the user may input using a personal computer or the like to input the model of the motor control device 20, and in this case, the setting unit 102 specifies the model with reference to the model input by the user. In addition, for example, the controller 10 may request the motor control device 20 only for model information in addition to device information.

機種と設定内容との関係は、データ記憶部100に記憶されており、本実施形態では、この関係が機種データDT1に示されている。この関係は、機種データDT1以外に定義されていてもよく、例えば、プログラムコード(アルゴリズム)の一部として示されていてもよいし、数式やテーブルなどの形式で示されてもよい。設定部102は、上記関係を参照し、モータ制御装置20の機種に関連付けられた設定内容に基づいて、暗号化通信に関する設定を行う。例えば、設定部102は、機種データDT1を参照し、モータ制御装置20の機種に関連付けられた設定内容を特定する。設定部102は、当該モータ制御装置20に対し、当該特定した設定内容を関連付けて設定データDT2に格納することによって、設定を行う。 The relationship between the model and the set contents is stored in the data storage unit 100, and in the present embodiment, this relationship is shown in the model data DT1. This relationship may be defined in addition to the model data DT1, and may be shown as part of a program code (algorithm), or may be shown in a format such as a mathematical formula or a table. The setting unit 102 makes settings related to encrypted communication based on the setting contents associated with the model of the motor control device 20 with reference to the above relationship. For example, the setting unit 102 refers to the model data DT1 and specifies the setting contents associated with the model of the motor control device 20. The setting unit 102 sets the motor control device 20 by associating the specified setting contents and storing the specified setting contents in the setting data DT2.

本実施形態では、設定部102は、ネットワーク構成が変更されたと判定された場合に、複数のモータ制御装置20の暗号化通信に関する設定を行う。別の言い方をすれば、設定部102は、ネットワーク構成が変更されたと判定されることを条件として、暗号化通信に関する設定をする。設定部102は、ネットワーク構成が変更されたと判定されない場合には、暗号化通信に関する設定をせず、ネットワーク構成が変更されたと判定された場合に、暗号化通信に関する設定を行う。 In the present embodiment, the setting unit 102 sets the encrypted communication of the plurality of motor control devices 20 when it is determined that the network configuration has been changed. In other words, the setting unit 102 makes settings related to encrypted communication on condition that it is determined that the network configuration has been changed. The setting unit 102 does not make settings related to encrypted communication when it is not determined that the network configuration has been changed, and makes settings related to encrypted communication when it is determined that the network configuration has been changed.

なお、設定部102は、ネットワーク構成が変更された場合ではなく、他のタイミングで暗号化通信に関する設定をしてもよい。例えば、設定部102は、電源投入時に設定をしてもよいし、コンフィグレーション時に設定をしてもよい。また例えば、設定部102は、ユーザがパーソナルコンピュータ等から所定の操作をした場合に設定をしてもよいし、所定の時刻が訪れた場合などに定期的に設定をしてもよい。 Note that the setting unit 102 may make settings related to encrypted communication at other timings, not when the network configuration is changed. For example, the setting unit 102 may be set at the time of power-on or at the time of configuration. Further, for example, the setting unit 102 may be set when the user performs a predetermined operation from a personal computer or the like, or may be set periodically when a predetermined time arrives.

また、設定部102は、モータ制御装置20の機種以外の情報に基づいて、暗号化通信に関する設定をしてもよい。例えば、設定部102は、モータ制御装置20の役割、性能、又はシリアル番号に基づいて、暗号化通信に関する設定をしてもよい。また例えば、設定部102は、モータ制御装置20の物理的構成(例えば、SOC24の有無)に基づいて、暗号化通信に関する設定をしてもよい。他にも例えば、設定部102は、モータ制御装置20の機種に関係なく、全てのモータ制御装置20について共通の設定をして、同じ暗号方式の同じ鍵が用いられるようにもよい。 Further, the setting unit 102 may make settings related to encrypted communication based on information other than the model of the motor control device 20. For example, the setting unit 102 may make settings related to encrypted communication based on the role, performance, or serial number of the motor control device 20. Further, for example, the setting unit 102 may make settings related to encrypted communication based on the physical configuration of the motor control device 20 (for example, the presence / absence of the SOC 24). Alternatively, for example, the setting unit 102 may make common settings for all the motor control devices 20 regardless of the model of the motor control device 20, so that the same key of the same encryption method can be used.

[暗号化部]
暗号化部103は、送信データを暗号化する。送信データは、送信側の機器から見て送信対象となるデータである。コントローラ10の場合、送信データは、モータ制御装置20に対する指令(コマンド)を示す指令データである。指令データには、指令の内容やモータ30に対する出力などのパラメータが含まれる。暗号化部103は、データ記憶部100に記憶された鍵と暗号アルゴリズムに基づいて、送信データを暗号化する。暗号化の方法自体は、公知の方法を利用すればよい。
[Encryption section]
The encryption unit 103 encrypts the transmitted data. The transmission data is data to be transmitted from the viewpoint of the device on the transmitting side. In the case of the controller 10, the transmission data is command data indicating a command to the motor control device 20. The command data includes parameters such as the content of the command and the output to the motor 30. The encryption unit 103 encrypts the transmitted data based on the key and the encryption algorithm stored in the data storage unit 100. As the encryption method itself, a known method may be used.

本実施形態の通信システム1には、同期通信可能な3つ以上の産業機器が含まれており、暗号化通信を利用する産業機器の組み合わせ(例えば、コントローラ10とモータ制御装置20A,20B,20D)と、暗号化通信を利用しない産業機器の組み合わせ(例えば、コントローラ10とモータ制御装置20C)と、が混在可能である。ここでの混在可能とは、暗号化通信をするグループと、非暗号化通信をするグループと、が含まれ得る状態を意味し、必ずしも両方とも含まれていなければならないわけではない。例えば、暗号化部103は、暗号化通信を利用するモータ制御装置20と通信する場合に送信データを暗号化し、暗号化通信を利用しないモータ制御装置20と通信する場合には送信データを暗号化しない。 The communication system 1 of the present embodiment includes three or more industrial devices capable of synchronous communication, and is a combination of industrial devices that utilize encrypted communication (for example, a controller 10 and motor control devices 20A, 20B, 20D). ) And a combination of industrial equipment that does not use encrypted communication (for example, the controller 10 and the motor control device 20C) can be mixed. The term "mixable" here means a state in which an encrypted communication group and an unencrypted communication group can be included, and both of them do not necessarily have to be included. For example, the encryption unit 103 encrypts the transmission data when communicating with the motor control device 20 that uses encrypted communication, and encrypts the transmission data when communicating with the motor control device 20 that does not use encrypted communication. do not.

本実施形態では、どのモータ制御装置20が暗号化通信を利用するかについては、設定部102により設定されるので、暗号化部103は、設定部102の設定結果に基づいて、暗号化通信を利用するモータ制御装置20と、暗号化通信を利用しないモータ制御装置20と、を特定する。例えば、暗号化部103は、設定データDT2を参照し、送信先のモータ制御装置20の暗号化通信の有無を特定し、送信データを暗号化するか否かを判定する。 In the present embodiment, which motor control device 20 uses the encrypted communication is set by the setting unit 102. Therefore, the encryption unit 103 performs the encrypted communication based on the setting result of the setting unit 102. The motor control device 20 to be used and the motor control device 20 not to use encrypted communication are specified. For example, the encryption unit 103 refers to the setting data DT2, identifies the presence / absence of encrypted communication of the transmission destination motor control device 20, and determines whether or not to encrypt the transmission data.

また、本実施形態の通信システム1には、同期通信可能な3つ以上の産業機器が含まれており、第1の暗号方式で暗号化通信する産業機器の組み合わせ(例えば、コントローラ10とモータ制御装置20A,20B)と、第2の暗号方式で暗号化通信する産業機器の組み合わせ(例えば、コントローラ10とモータ制御装置20D)と、が混在可能である。ここでの混在可能とは、第1の暗号方式を利用するグループと、第2の暗号方式を利用するグループと、が含まれ得る状態を意味し、必ずしも両方とも含まれていなければならないわけではない。第1の暗号方式と第2の暗号方式は、互いに異なっていればよく、例えば、DESとRSAのように暗号方式のロジック自体が異なっていてもよいし、暗号方式のロジック自体は同じであるが利用するビット数が異なっていてもよい。例えば、暗号化部103は、送信データの送信先のモータ制御装置20に設定された暗号方式に基づいて、送信データを暗号化する。 Further, the communication system 1 of the present embodiment includes three or more industrial devices capable of synchronous communication, and is a combination of industrial devices that perform encrypted communication by the first encryption method (for example, controller 10 and motor control). The devices 20A and 20B) and a combination of industrial devices (for example, the controller 10 and the motor control device 20D) that perform encrypted communication by the second encryption method can be mixed. The term "mixable" here means a state in which a group using the first encryption method and a group using the second encryption method can be included, and both of them do not necessarily have to be included. No. The first encryption method and the second encryption method may be different from each other. For example, the encryption method logic itself may be different such as DES and RSA, and the encryption method logic itself is the same. The number of bits used by may be different. For example, the encryption unit 103 encrypts the transmission data based on the encryption method set in the motor control device 20 to which the transmission data is transmitted.

どのモータ制御装置20がどの暗号方式及び鍵を利用するかについては、設定部102により設定されるので、暗号化部103は、設定部102の設定結果に基づいて、利用する暗号方式及び鍵を特定する。例えば、暗号化部103は、設定データDT2を参照し、送信先のモータ制御装置20の暗号方式及び鍵を特定し、当該特定した暗号方式及び鍵に基づいて、送信データを暗号化する。 Since which motor control device 20 uses which encryption method and key is set by the setting unit 102, the encryption unit 103 determines the encryption method and key to be used based on the setting result of the setting unit 102. Identify. For example, the encryption unit 103 refers to the setting data DT2, specifies the encryption method and key of the transmission destination motor control device 20, and encrypts the transmission data based on the specified encryption method and key.

[送信部]
送信部104は、他の産業機器に送信データを送信する。ここでの他の産業機器とは、通信相手の産業機器(送信データの送信先の産業機器)であり、本実施形態では、指令を送るモータ制御装置20である。送信部104は、暗号化通信を利用するモータ制御装置20に対し、暗号化された送信データを送信し、暗号化通信を利用しないモータ制御装置20に対し、暗号化されていない平文の送信データを送信する。
[Transmitter]
The transmission unit 104 transmits transmission data to other industrial equipment. The other industrial equipment here is the industrial equipment of the communication partner (industrial equipment to which the transmission data is transmitted), and in the present embodiment, the motor control device 20 that sends a command. The transmission unit 104 transmits encrypted transmission data to the motor control device 20 that uses encrypted communication, and unencrypted plaintext transmission data to the motor control device 20 that does not use encrypted communication. To send.

[受信部]
受信部105は、他の産業機器から、暗号化された受信データを受信する。ここでの他の産業機器とは、通信相手の産業機器(受信データの送信元の産業機器)であり、本実施形態では、指令を送ったモータ制御装置20である。受信データは、受信側の機器から見て受信対象となるデータである。コントローラ10の場合、受信データは、モータ制御装置20からのレスポンスを示す応答データである。例えば、応答データには、指令に対するモータ制御装置20の動作結果が示される。受信部105は、暗号化通信を利用するモータ制御装置20から、暗号化された受信データを受信し、暗号化通信を利用しないモータ制御装置20から、平文の受信データを送信する。
[Receiver]
The receiving unit 105 receives the encrypted received data from other industrial equipment. The other industrial equipment here is the industrial equipment of the communication partner (industrial equipment of the source of the received data), and in the present embodiment, the motor control device 20 that has sent a command. The received data is data to be received from the viewpoint of the device on the receiving side. In the case of the controller 10, the received data is response data indicating a response from the motor control device 20. For example, the response data shows the operation result of the motor control device 20 in response to the command. The receiving unit 105 receives encrypted reception data from the motor control device 20 that uses encrypted communication, and transmits plain text reception data from the motor control device 20 that does not use encrypted communication.

[復号化部]
復号化部106は、受信データを復号化する。復号化部106は、データ記憶部100に記憶された鍵と暗号アルゴリズムに基づいて、受信データを復号化する。復号化の方法自体は、公知の方法を利用すればよい。
[Decoding section]
The decoding unit 106 decodes the received data. The decryption unit 106 decrypts the received data based on the key and the encryption algorithm stored in the data storage unit 100. As the decoding method itself, a known method may be used.

復号化部106は、暗号化通信を利用するモータ制御装置20と通信する場合に受信データを復号化し、暗号化通信を利用しないモータ制御装置20と通信する場合には受信データは平文なので復号化しない。どのモータ制御装置20が暗号化通信を利用するかについては、設定部102により設定されるので、暗号化部103は、設定部102の設定結果に基づいて、暗号化通信を利用するモータ制御装置20と、暗号化通信を利用しないモータ制御装置20と、を特定する。例えば、復号化部106は、設定データDT2を参照し、送信元のモータ制御装置20の暗号化通信の有無を特定し、受信データを復号化するか否かを判定する。 The decoding unit 106 decodes the received data when communicating with the motor control device 20 that uses encrypted communication, and decodes the received data because the received data is plaintext when communicating with the motor control device 20 that does not use encrypted communication. do not. Since which motor control device 20 uses encrypted communication is set by the setting unit 102, the encryption unit 103 is a motor control device that uses encrypted communication based on the setting result of the setting unit 102. 20 and a motor control device 20 that does not use encrypted communication are specified. For example, the decoding unit 106 refers to the setting data DT2, identifies the presence / absence of encrypted communication of the motor control device 20 of the transmission source, and determines whether or not to decrypt the received data.

また、本実施形態では、複数の暗号方式が混在可能なので、復号化部106は、受信データの送信元のモータ制御装置20に設定された暗号方式及び鍵に基づいて、受信データを復号化する。どのモータ制御装置20がどの暗号方式及び鍵を利用するかについては、設定部102により設定されるので、復号化部106は、設定部102の設定結果に基づいて、利用する暗号方式及び鍵を特定する。例えば、復号化部106は、設定データDT2を参照し、送信元のモータ制御装置20の暗号方式及び鍵を特定し、当該特定した暗号方式及び鍵に基づいて、受信データを復号化する。 Further, in the present embodiment, since a plurality of encryption methods can be mixed, the decoding unit 106 decrypts the received data based on the encryption method and the key set in the motor control device 20 that is the source of the received data. .. Since which motor control device 20 uses which encryption method and key is set by the setting unit 102, the decoding unit 106 determines the encryption method and key to be used based on the setting result of the setting unit 102. Identify. For example, the decoding unit 106 refers to the setting data DT2, specifies the encryption method and key of the motor control device 20 of the transmission source, and decodes the received data based on the specified encryption method and key.

[1−3−2.モータ制御装置において実現される機能]
図2に示すように、モータ制御装置20A,20B,20Dでは、データ記憶部200、暗号化部201、送信部202、受信部203、及び復号化部204が実現される。一方、モータ制御装置20Cは、暗号化通信を利用しないので、暗号化部201と復号化部204は実現されず、データ記憶部200、送信部202及び受信部203が実現される。
[1-3-2. Functions realized in motor control devices]
As shown in FIG. 2, in the motor control devices 20A, 20B, 20D, the data storage unit 200, the encryption unit 201, the transmission unit 202, the reception unit 203, and the decryption unit 204 are realized. On the other hand, since the motor control device 20C does not use encrypted communication, the encryption unit 201 and the decryption unit 204 are not realized, and the data storage unit 200, the transmission unit 202, and the reception unit 203 are realized.

データ記憶部200は、記憶部22及びSOC24内のメモリを主として実現される。暗号化部201及び復号化部204は、CPU21を主として実現されてもよいが、本実施形態では、SOC24を主として実現される。送信部202及び受信部203は、SOC24を主として実現されてもよいが、本実施形態では、CPU21を主として実現される。少なくとも暗号化部201及び復号化部204が、第2の制御回路の一例であるSOC24によって実現されるようにすればよく、他の構成がSOC24によって実現されてもよい。 The data storage unit 200 is mainly realized by the memory in the storage unit 22 and the SOC 24. The encryption unit 201 and the decryption unit 204 may be realized mainly by the CPU 21, but in the present embodiment, the SOC 24 is mainly realized. The transmitting unit 202 and the receiving unit 203 may mainly realize the SOC 24, but in the present embodiment, the CPU 21 is mainly realized. At least the encryption unit 201 and the decryption unit 204 may be realized by the SOC 24 which is an example of the second control circuit, and other configurations may be realized by the SOC 24.

[データ記憶部]
データ記憶部200は、通信を行うために必要なデータを記憶する。例えば、データ記憶部200は、暗号化通信で利用する鍵と、暗号アルゴリズムと、を記憶する。データ記憶部200は、ある1つの暗号方式に対して複数の鍵を記憶してもよい。複数の暗号方式に対応する場合には、データ記憶部200は、暗号方式ごとに鍵を記憶してもよいし、複数の暗号方式に共通の鍵を記憶してもよい。また、複数の暗号方式に対応する場合には、データ記憶部200は、暗号方式ごとに暗号アルゴリズムを記憶する。鍵は、予めデータ記憶部200に記憶されていてもよいし、コントローラ10によって配信されてもよい。
[Data storage]
The data storage unit 200 stores data necessary for communication. For example, the data storage unit 200 stores a key used in encrypted communication and an encryption algorithm. The data storage unit 200 may store a plurality of keys for a certain encryption method. When corresponding to a plurality of encryption methods, the data storage unit 200 may store the key for each encryption method or may store the key common to the plurality of encryption methods. Further, when corresponding to a plurality of encryption methods, the data storage unit 200 stores the encryption algorithm for each encryption method. The key may be stored in the data storage unit 200 in advance, or may be distributed by the controller 10.

なお、データ記憶部200が記憶するデータは、上記の例に限られない。例えば、データ記憶部200は、モータ制御装置20が対応する暗号方式を示す情報を記憶してもよいし、機器情報を記憶してもよい。また例えば、データ記憶部200は、機器情報とは別にシリアル番号及び機種情報を記憶してもよいし、コントローラ10のIPアドレスを記憶してもよい。また例えば、データ記憶部200は、モータ30を制御するためのプログラム又はパラメータを記憶してもよい。 The data stored by the data storage unit 200 is not limited to the above example. For example, the data storage unit 200 may store information indicating the encryption method corresponding to the motor control device 20, or may store device information. Further, for example, the data storage unit 200 may store the serial number and the model information separately from the device information, or may store the IP address of the controller 10. Further, for example, the data storage unit 200 may store a program or parameters for controlling the motor 30.

[暗号化部]
暗号化部201は、送信データを暗号化する。ここでの送信データは、コントローラ10から見ると受信データである。モータ制御装置20の場合、送信データは、モータ制御装置20に対するレスポンスである。送信データには、センサ40A及びエンコーダ50Aの検出信号に基づく物理量などが格納されたり、時系列的に動作状況が格納されたトレースデータなどが格納されたりする。暗号化部201は、データ記憶部200に記憶された鍵と暗号アルゴリズムに基づいて、送信データを暗号化する。暗号化の方法自体は、公知の方法を利用すればよい。
[Encryption section]
The encryption unit 201 encrypts the transmitted data. The transmitted data here is received data when viewed from the controller 10. In the case of the motor control device 20, the transmission data is a response to the motor control device 20. In the transmission data, physical quantities based on the detection signals of the sensor 40A and the encoder 50A are stored, and trace data or the like in which the operation status is stored in time series is stored. The encryption unit 201 encrypts the transmitted data based on the key and the encryption algorithm stored in the data storage unit 200. As the encryption method itself, a known method may be used.

[送信部]
送信部202は、他の産業機器に送信データを送信する。ここでの他の産業機器とは、通信相手の産業機器(送信データの送信先の産業機器)であり、本実施形態では、レスポンスを送るコントローラ10である。モータ制御装置20A,20B,20Dの送信部202は、コントローラ10に暗号化された送信データを送信し、モータ制御装置20Cの送信部202は、コントローラ10に平文の送信データを送信する。
[Transmitter]
The transmission unit 202 transmits transmission data to other industrial equipment. The other industrial equipment here is the industrial equipment of the communication partner (industrial equipment to which the transmission data is transmitted), and in the present embodiment, the controller 10 that sends a response. The transmission unit 202 of the motor control devices 20A, 20B, and 20D transmits encrypted transmission data to the controller 10, and the transmission unit 202 of the motor control device 20C transmits plain text transmission data to the controller 10.

[受信部]
受信部203は、他の産業機器から、受信データを受信する。ここでの他の産業機器とは、通信相手の産業機器(受信データの送信元の産業機器)であり、本実施形態では、指令を送るコントローラ10である。また、ここでの受信データは、コントローラ10から見ると送信データである。モータ制御装置20A,20B,20Dの受信部203は、コントローラ10から、暗号化された受信データを受信し、モータ制御装置20Cの受信部203は、コントローラ10から、平文の受信データを送信する。
[Receiver]
The receiving unit 203 receives received data from other industrial equipment. The other industrial equipment here is an industrial equipment of a communication partner (an industrial equipment of a source of received data), and in the present embodiment, is a controller 10 that sends a command. Further, the received data here is transmission data when viewed from the controller 10. The receiving unit 203 of the motor control devices 20A, 20B, and 20D receives the encrypted reception data from the controller 10, and the receiving unit 203 of the motor control device 20C transmits the plaintext reception data from the controller 10.

[復号化部]
復号化部204は、受信データを復号化する。復号化部204は、データ記憶部200に記憶された鍵と暗号アルゴリズムに基づいて、受信データを復号化する。復号化の方法自体は、公知の方法を利用すればよい。
[Decoding section]
The decoding unit 204 decodes the received data. The decryption unit 204 decodes the received data based on the key and the encryption algorithm stored in the data storage unit 200. As the decoding method itself, a known method may be used.

[1−4.通信システムで実行される処理]
次に、通信システム1で実行される処理について説明する。ここでは、通信システム1で実行される処理の一例として、暗号化通信に関する設定をするためのコンフィグレーション処理と、モータ30を制御するためのモータ制御処理と、について説明する。以降説明する処理は、図2に示す機能ブロックにより実行される処理の一例である。
[1-4. Processing executed by the communication system]
Next, the processing executed by the communication system 1 will be described. Here, as an example of the processing executed in the communication system 1, the configuration processing for setting the encrypted communication and the motor control processing for controlling the motor 30 will be described. The process described below is an example of the process executed by the functional block shown in FIG.

[コンフィグレーション処理]
図5は、コンフィグレーション処理を示すフロー図である。コンフィグレーション処理は、CPU11,21がそれぞれ記憶部12,22に記憶されたプログラムに従って動作することによって実行される。なお、コンフィグレーション処理における通信は、同期通信であってもよいし、非同期通信であってもよい。
[Configuration processing]
FIG. 5 is a flow chart showing the configuration process. The configuration process is executed by the CPUs 11 and 21 operating according to the programs stored in the storage units 12 and 22, respectively. The communication in the configuration process may be synchronous communication or asynchronous communication.

図5に示すように、まず、コントローラ10において、CPU11は、ネットワーク構成が変更されたか否かを判定する(S100)。ネットワーク構成の変更有無の判定方法は、先述した通りであり、例えば、CPU11は、ユーザがネットワーク構成を変更した時に行う変更操作が行われたか否かを判定する。S100においては、コンフィグレーションの実行要否が判定されるということもできる。 As shown in FIG. 5, first, in the controller 10, the CPU 11 determines whether or not the network configuration has been changed (S100). The method for determining whether or not the network configuration has been changed is as described above. For example, the CPU 11 determines whether or not the change operation performed when the user changes the network configuration has been performed. In S100, it can be said that the necessity of executing the configuration is determined.

ネットワーク構成が変更されたと判定されない場合(S100;N)、本処理は終了する。この場合、設定データDT2を変更する必要がないので、既存の設定データDT2に基づいて、コントローラ10とモータ制御装置20との間の通信が行われる。なお、設定データDT2が記憶部12に存在しない場合には、S100の処理が省略され、S101〜S105の処理が実行されてもよい。 If it is not determined that the network configuration has been changed (S100; N), this process ends. In this case, since it is not necessary to change the setting data DT2, communication between the controller 10 and the motor control device 20 is performed based on the existing setting data DT2. If the setting data DT2 does not exist in the storage unit 12, the processing of S100 may be omitted and the processing of S101 to S105 may be executed.

一方、ネットワーク構成が変更されたと判定された場合(S100;Y)、CPU11は、ネットワークN全体に対し、機器情報を要求する(S101)。S101においては、CPU11は、ブロードキャストアドレス宛てに、機器情報を送信する旨の指令を送信する。ネットワークNに接続された全ての機器は、当該指令に応じて自身の機器情報を送信し、コントローラ10は、ネットワークNに何の機器が接続されているかを知ることができる。 On the other hand, when it is determined that the network configuration has been changed (S100; Y), the CPU 11 requests device information from the entire network N (S101). In S101, the CPU 11 transmits a command to transmit the device information to the broadcast address. All the devices connected to the network N transmit their own device information in response to the command, and the controller 10 can know what device is connected to the network N.

モータ制御装置20においては、機器情報の要求を受信し(S102)、CPU21は、コントローラ10に、自身の機器情報を送信する(S103)。機器情報は、予め記憶部22に記憶されており、S103においては、CPU21は、記憶部22に記憶された機器情報を読み出して送信する。 The motor control device 20 receives the request for device information (S102), and the CPU 21 transmits its own device information to the controller 10 (S103). The device information is stored in the storage unit 22 in advance, and in S103, the CPU 21 reads and transmits the device information stored in the storage unit 22.

コントローラ10においては、各モータ制御装置20から機器情報を受信し(S104)、CPU11は、当該機器情報と機種データDT1とに基づいて、各モータ制御装置20の暗号化通信に関する設定を行い(S105)、本処理は終了する。S105においては、CPU11は、機器情報を参照して機器名と機種を特定し、当該機器名に対し、当該特定した機種に関連付けられた設定内容を関連付けて設定データDT2に格納することによって、暗号化通信に関する設定を行う。S105の処理が実行されることにより、モータ制御装置20ごとに、暗号化通信の利用有無、利用する暗号方式、及び利用する鍵が設定される。 The controller 10 receives device information from each motor control device 20 (S104), and the CPU 11 sets the encrypted communication of each motor control device 20 based on the device information and the model data DT1 (S105). ), This process ends. In S105, the CPU 11 identifies the device name and the model with reference to the device information, associates the device name with the setting contents associated with the specified model, and stores the encryption in the setting data DT2. Make settings related to communication. By executing the process of S105, the presence / absence of use of encrypted communication, the encryption method to be used, and the key to be used are set for each motor control device 20.

[モータ制御処理]
図6は、モータ制御処理を示すフロー図である。モータ制御処理は、CPU11,21がそれぞれ記憶部12,22に記憶されたプログラムに従って動作し、SOC24が自身に記憶されたファームウェアに従って動作することによって実行される。なお、モータ制御処理における通信は、同期通信であってもよいし、非同期通信であってもよい。
[Motor control processing]
FIG. 6 is a flow chart showing the motor control process. The motor control process is executed by the CPUs 11 and 21 operating according to the programs stored in the storage units 12 and 22, respectively, and the SOC 24 operating according to the firmware stored in itself. The communication in the motor control process may be synchronous communication or asynchronous communication.

図6に示すように、まず、コントローラ10において、CPU11は、記憶部12に記憶されたプログラム及びパラメータに基づいて、モータ制御装置20に対する指令データを生成する(S200)。S200において生成される指令データは、コントローラ10から見れば送信データであり、モータ制御装置20から見れば受信データである。 As shown in FIG. 6, first, in the controller 10, the CPU 11 generates command data for the motor control device 20 based on the programs and parameters stored in the storage unit 12 (S200). The command data generated in S200 is transmission data when viewed from the controller 10, and reception data when viewed from the motor control device 20.

CPU11は、コンフィグレーション処理により設定された設定データDT2に基づいて、指令データの送信先のモータ制御装置20の暗号化通信に関する設定を特定する(S201)。S201においては、CPU11は、設定データDT2を参照し、送信先のモータ制御装置20に関連付けられた設定内容を取得する。本実施形態では、コントローラ10とモータ制御装置20A,20B,20Dとの間では、暗号化通信が行われるので、後述するS202〜S211の処理が実行され、コントローラ10とモータ制御装置20Cとの間では、非暗号化通信が行われるので、後述するS212〜S217の処理が実行される。 The CPU 11 specifies the setting related to the encrypted communication of the motor control device 20 to which the command data is transmitted, based on the setting data DT2 set by the configuration process (S201). In S201, the CPU 11 refers to the setting data DT2 and acquires the setting contents associated with the transmission destination motor control device 20. In the present embodiment, since encrypted communication is performed between the controller 10 and the motor control devices 20A, 20B, and 20D, the processes S202 to S211 described later are executed, and the process between the controller 10 and the motor control device 20C is executed. Then, since the unencrypted communication is performed, the processes S212 to S217 described later are executed.

送信先のモータ制御装置20が暗号化通信を利用する場合(S201;暗号化通信)、即ち、送信先がモータ制御装置20A,20B,20Dである場合、CPU11は、設定データDT2に基づいて、指令データを暗号化する(S202)。S202においては、CPU11は、設定データDT2が示す暗号方式及び鍵に基づいて、指令データを暗号化する。CPU11は、送信先のモータ制御装置20に、S202で暗号化された指令データを送信する(S203)。 When the destination motor control device 20 uses encrypted communication (S201; encrypted communication), that is, when the destination is the motor control devices 20A, 20B, 20D, the CPU 11 is based on the setting data DT2. The command data is encrypted (S202). In S202, the CPU 11 encrypts the command data based on the encryption method and the key indicated by the setting data DT2. The CPU 11 transmits the command data encrypted in S202 to the transmission destination motor control device 20 (S203).

モータ制御装置20A,20B,20Dにおいては、暗号化された指令データを受信し(S204)、SOC24は、指令データを復号化する(S205)。S205においては、SOC24のCPU240は、暗号チップ241に指令データを復号化させ、復号化された指令データを取得してCPU21に送る。 The motor control devices 20A, 20B, and 20D receive the encrypted command data (S204), and the SOC 24 decodes the command data (S205). In S205, the CPU 240 of the SOC 24 causes the encryption chip 241 to decode the command data, acquires the decoded command data, and sends it to the CPU 21.

CPU21は、復号化された指令データに基づいて、モータ30の動作を制御する(S206)。S206においては、CPU21は、指令データに基づいて、モータ30への出力電圧を制御する。CPU21は、指令データに対するレスポンスである応答データを生成する(S207)。S207においては、CPU21は、センサ40及びエンコーダ50の各々の検出信号に基づいて、応答データを生成し、SOC24に送る。 The CPU 21 controls the operation of the motor 30 based on the decoded command data (S206). In S206, the CPU 21 controls the output voltage to the motor 30 based on the command data. The CPU 21 generates response data, which is a response to the command data (S207). In S207, the CPU 21 generates response data based on the detection signals of the sensor 40 and the encoder 50, and sends the response data to the SOC 24.

SOC24は、S207で生成した応答データを暗号化する(S208)。S208においては、SOC24の暗号チップ241Bは、自身に記憶された鍵に基づいて、応答データを暗号化する。SOC24は、コントローラ10に、S208で暗号化した応答データを送信する(S209)。 The SOC 24 encrypts the response data generated in S207 (S208). In S208, the encryption chip 241B of the SOC 24 encrypts the response data based on the key stored in itself. The SOC 24 transmits the response data encrypted in S208 to the controller 10 (S209).

コントローラ10においては、暗号化された応答データを受信し(S210)、CPU11は、応答データを復号化する(S211)。S211においては、CPU11は、記憶部12に記憶された鍵に基づいて、暗号化された応答データを取得し、記憶部12に記録する。 The controller 10 receives the encrypted response data (S210), and the CPU 11 decodes the response data (S211). In S211 the CPU 11 acquires the encrypted response data based on the key stored in the storage unit 12 and records it in the storage unit 12.

一方、送信先のモータ制御装置20が暗号化通信を利用しない場合(S201;非暗号化通信)、即ち、送信先がモータ制御装置20Cである場合、CPU11は、通信相手のモータ制御装置20に、指令データを暗号化せずに平文で送信する(S212)。 On the other hand, when the transmission destination motor control device 20 does not use encrypted communication (S201; unencrypted communication), that is, when the transmission destination is the motor control device 20C, the CPU 11 informs the communication partner motor control device 20. , The command data is transmitted in plain text without being encrypted (S212).

モータ制御装置20Cにおいては、平文の指令データを受信し(S213)、CPU21は、指令データに基づいて、モータ30の動作を制御する(S214)。S214の処理は、S206の処理と同様である。続くS215の処理とS216の処理は、S207の処理とS209の処理と同様である。S215で生成された応答データは、暗号化されずに、S216において平文で送信される。コントローラ10においては、平文の応答データを受信する(S217)。受信した応答データは、記憶部12に記録される。 The motor control device 20C receives the plaintext command data (S213), and the CPU 21 controls the operation of the motor 30 based on the command data (S214). The process of S214 is the same as the process of S206. Subsequent processing of S215 and S216 are the same as the processing of S207 and the processing of S209. The response data generated in S215 is transmitted in plain text in S216 without being encrypted. The controller 10 receives the plaintext response data (S217). The received response data is recorded in the storage unit 12.

実施形態1の通信システム1によれば、同期通信可能な複数の産業機器を含む通信システム1において、通信を行う複数の産業機器が、送信データを暗号化して送信し、受信データを復号化することにより、送信データ及び受信データの改ざんを防止し、セキュリティを高めることができる。例えば、モータ30を制御するモータ制御装置20が産業機器に相当する場合、モータ30の動作指令や動作波形が改ざんされると、モータ制御に異常をきたす可能性があるが、データの改ざんを防止することで、モータ制御に異常をきたすことを防止することができる。 According to the communication system 1 of the first embodiment, in the communication system 1 including a plurality of industrial devices capable of synchronous communication, a plurality of industrial devices communicating with each other encrypt and transmit the transmitted data and decode the received data. This makes it possible to prevent falsification of transmitted data and received data and enhance security. For example, when the motor control device 20 that controls the motor 30 corresponds to an industrial device, if the operation command or operation waveform of the motor 30 is falsified, the motor control may be abnormal, but data falsification is prevented. By doing so, it is possible to prevent the motor control from becoming abnormal.

また、通信を行う産業機器の組み合わせごとに、暗号化通信に関する設定が行われることにより、通信を行う産業機器の組み合わせに応じた柔軟な通信が可能になる。例えば、通信を行う産業機器の組み合わせに、暗号化通信に対応していない産業機器が含まれている場合、暗号化通信をしないようにして、暗号化通信に対応していない産業機器が復号化できず動作に支障をきたすことを防止することができる。また例えば、通信を行う産業機器の組み合わせに含まれる産業機器の性能に応じて、暗号化通信の強度(暗号化及び復号化の計算量)を変えるようにした場合、性能に応じたセキュリティ向上、処理負荷軽減、及び処理速度向上を実現できる。また例えば、通信を行う産業機器の組み合わせに含まれる産業機器が利用可能な暗号方式で暗号化通信するようにした場合、確実に暗号化と復号化をすることができ、産業機器の動作に支障をきたすことを防止することができる。 Further, by setting the encrypted communication for each combination of industrial devices for communication, flexible communication according to the combination of industrial devices for communication becomes possible. For example, if the combination of industrial devices that perform communication includes industrial devices that do not support encrypted communication, the industrial devices that do not support encrypted communication are decrypted by preventing encrypted communication. It is possible to prevent the operation from being hindered. Further, for example, when the strength of encrypted communication (calculation amount of encryption and decryption) is changed according to the performance of the industrial equipment included in the combination of the industrial equipment for communication, the security is improved according to the performance. It is possible to reduce the processing load and improve the processing speed. Further, for example, when the industrial equipment included in the combination of the industrial equipments to communicate is encrypted and communicated by the available encryption method, the encryption and the decryption can be surely performed, which hinders the operation of the industrial equipments. Can be prevented.

また、通信を行う産業機器の組み合わせごとに、当該組み合わせに含まれる産業機器の機種に基づいて暗号化通信に関する設定が行われることにより、機種に応じた柔軟な通信が可能になる。例えば、通信を行う産業機器の組み合わせに、暗号化通信に対応していない機種の産業機器が含まれている場合、暗号化通信をしないようにして、暗号化通信に対応していない機種の産業機器が復号化できず動作に支障をきたすことを防止することができる。また例えば、通信を行う産業機器の組み合わせに含まれる産業機器の機種の性能に応じて、暗号化通信の強度(暗号化及び復号化の計算量)を変えるようにした場合、機種の性能に応じたセキュリティ向上、処理負荷軽減、及び処理速度向上を実現できる。また例えば、通信を行う産業機器の組み合わせに含まれる産業機器の機種が利用可能な暗号方式で暗号化通信するようにした場合、確実に暗号化と復号化をすることができ、特定の機種の産業機器の動作に支障をきたすことを防止することができる。 Further, for each combination of industrial devices to be communicated, settings related to encrypted communication are made based on the model of the industrial device included in the combination, so that flexible communication according to the model becomes possible. For example, if the combination of industrial devices that perform communication includes industrial devices of a model that does not support encrypted communication, the industry of the model that does not support encrypted communication should be prevented from performing encrypted communication. It is possible to prevent the device from being unable to be decrypted and interfering with its operation. Further, for example, when the strength of encrypted communication (calculation amount of encryption and decryption) is changed according to the performance of the model of the industrial device included in the combination of the industrial devices for communication, the performance of the model is changed. It is possible to improve security, reduce processing load, and improve processing speed. Further, for example, when encrypted communication is performed by an encryption method that can be used by the models of industrial devices included in the combination of industrial devices that perform communication, encryption and decryption can be reliably performed, and a specific model can be used. It is possible to prevent the operation of industrial equipment from being hindered.

また、通信システム1において、暗号化通信を利用する産業機器の組み合わせと、暗号化通信を利用しない産業機器の組み合わせと、を混在可能とすることで、より柔軟な通信が可能になる。例えば、暗号化通信に対応可能な産業機器と、暗号化通信に対応していない産業機器と、が混在していた場合に、全ての産業機器で暗号化通信をしようとすると、暗号化通信に対応していない産業機器は、データを復号化することができず、動作に支障をきたす可能性がある。この点、通信システム1によれば、暗号化通信に対応していない産業機器については、暗号化通信を利用しないことで、動作に支障をきたすことを防止することができる。更に、暗号化通信に対応可能な産業機器については、暗号化通信をすることで、セキュリティを担保することができる。 Further, in the communication system 1, more flexible communication becomes possible by making it possible to mix a combination of industrial devices that use encrypted communication and a combination of industrial devices that do not use encrypted communication. For example, when an industrial device that supports encrypted communication and an industrial device that does not support encrypted communication are mixed, if all the industrial devices try to perform encrypted communication, the encrypted communication will be performed. Industrial equipment that does not support the data cannot be decrypted, which may interfere with the operation. In this regard, according to the communication system 1, it is possible to prevent the operation of an industrial device that does not support encrypted communication from being hindered by not using the encrypted communication. Further, for industrial devices that can support encrypted communication, security can be ensured by performing encrypted communication.

また、通信システム1において、第1の暗号方式で暗号化通信する産業機器の組み合わせと、第2の暗号方式で暗号化通信する産業機器の組み合わせと、を混在可能とすることで、より柔軟な通信が可能になる。例えば、性能の異なる産業機器が混在していた場合に、全ての産業機器で高い強度の暗号化通信をしようとすると、低性能の産業機器は、処理負荷が高くなり、動作に支障をきたす可能性がある。この点、通信システム1によれば、高性能の産業機器については、計算量の多い高い強度の暗号方式を利用し、低性能の産業機器については、計算量の少ない低い強度の暗号方式を利用することができ、セキュリティを高めつつ、産業機器の処理負荷を軽減することができる。 Further, in the communication system 1, it is possible to mix a combination of industrial devices that perform encrypted communication by the first encryption method and a combination of industrial devices that perform encrypted communication by the second encryption method, which is more flexible. Communication becomes possible. For example, when industrial devices with different performances are mixed and all industrial devices try to perform high-strength encrypted communication, the low-performance industrial devices have a high processing load and may interfere with operation. There is sex. In this regard, according to the communication system 1, high-performance industrial equipment uses a high-strength encryption method with a large amount of calculation, and low-performance industrial equipment uses a low-strength encryption method with a small amount of calculation. It is possible to reduce the processing load of industrial equipment while increasing security.

また、少なくとも暗号化部及び復号化部が、自身に接続された機器を制御するための第1の制御回路(例えば、CPU21)とは別に設けられた、暗号化通信をするための第2の制御回路(例えば、SOC24)により実現されることで、暗号化及び復号化のために第1の制御回路を使用しないようにすることができ、処理負荷を低減することができる。例えば、産業機器に外付けで第2の制御回路を接続する場合には、産業機器内部に第2の制御回路を組み込まなくても、暗号化通信に対応させることができる。 Further, at least the encryption unit and the decryption unit are provided separately from the first control circuit (for example, CPU 21) for controlling the device connected to the encryption unit, and the second encryption communication is performed. By being realized by a control circuit (for example, SOC24), it is possible to avoid using the first control circuit for encryption and decryption, and it is possible to reduce the processing load. For example, when a second control circuit is externally connected to an industrial device, encrypted communication can be supported without incorporating the second control circuit inside the industrial device.

また、通信システム1のネットワーク構成が変更されたと判定された場合に、複数の産業機器の暗号化通信に関する設定を行うことにより、最新のネットワーク構成に応じた暗号化通信を提供し、セキュリティを効果的に高めることができる。 In addition, when it is determined that the network configuration of the communication system 1 has been changed, by making settings related to encrypted communication of a plurality of industrial devices, encrypted communication according to the latest network configuration is provided, and security is effective. Can be enhanced.

また、マスタ機器とスレーブ機器が通信する場合のセキュリティを向上させることができる。 In addition, security can be improved when the master device and the slave device communicate with each other.

[2.実施形態2]
実施形態1では、モータ制御装置20の機種に応じて、暗号化通信の有無や暗号方式が決定される場合を説明したが、通信システム1では、暗号化通信が必要なデータもあれば、暗号化通信が不要なデータもある。このため、データの種類に応じて、暗号化通信の有無が決定されたり暗号方式が決定されたりしてもよい。以降、通信システム1の別実施形態である実施形態2について説明する。なお、実施形態2では、実施形態1と同様の構成については説明を省略する。
[2. Embodiment 2]
In the first embodiment, the case where the presence / absence of encrypted communication and the encryption method are determined according to the model of the motor control device 20 has been described. However, in the communication system 1, if there is data that requires encrypted communication, it is encrypted. Some data does not require cryptographic communication. Therefore, the presence or absence of encrypted communication or the encryption method may be determined according to the type of data. Hereinafter, the second embodiment, which is another embodiment of the communication system 1, will be described. In the second embodiment, the description of the same configuration as that of the first embodiment will be omitted.

実施形態2では、コントローラ10のデータ記憶部100は、データの種類ごとに暗号化通信の要否が示された種類データDT3を記憶する。図7は、種類データDT3のデータ格納例を示す図である。図7に示すように、種類データDT3は、データの種類と、暗号化通信の要否と、が示されている。なお、これらの関係は、種類データDT3以外に定義されていてもよく、例えば、プログラムコード(アルゴリズム)の一部として示されていてもよいし、数式やテーブルなどの形式で示されてもよい。種類データDT3には、データの種類ごとに暗号方式及び鍵が示されていてもよい。 In the second embodiment, the data storage unit 100 of the controller 10 stores the type data DT3 indicating the necessity of encrypted communication for each type of data. FIG. 7 is a diagram showing a data storage example of the type data DT3. As shown in FIG. 7, the type data DT3 indicates the type of data and the necessity of encrypted communication. Note that these relationships may be defined in addition to the type data DT3, and may be shown as part of a program code (algorithm), or may be shown in a format such as a mathematical formula or a table. .. The type data DT3 may indicate an encryption method and a key for each type of data.

図7のデータ格納例であれば、動作波形、動作指令、及びパラメータは、盗み見られたり改ざんされたりすると、ユーザのノウハウが流出したりモータ制御装置20の動作に支障をきたしたりするため、暗号化通信が必要とされている。一方、機器情報は、盗み見られたり改ざんされたりしてもあまり影響はないとして、暗号化通信は不要とされている。なお、モータ制御装置20のデータ記憶部200も同様の種類データDT3を記憶しているものとする。 In the data storage example of FIG. 7, if the operation waveform, operation command, and parameter are stolen or tampered with, the user's know-how may be leaked or the operation of the motor control device 20 may be hindered. Communication is needed. On the other hand, it is said that encrypted communication is not required because the device information has little effect even if it is stolen or falsified. It is assumed that the data storage unit 200 of the motor control device 20 also stores the same type data DT3.

コントローラ10の暗号化部103は、送信データの種類に基づいて、送信データを暗号化する。本実施形態では、暗号化部103は、種類データDT3と送信データの種類に基づいて、送信データを暗号化する。例えば、暗号化部103は、送信データの種類に基づいて、送信データを暗号化するか否かを決定する。また例えば、暗号化部103は、送信データの種類に基づいて、送信データの暗号方式を決定する。また例えば、暗号化部103は、送信データの種類に基づいて、送信データの暗号化で使用する鍵を決定する。モータ制御装置20の暗号化部201についても、暗号化部103と同様に、送信データの種類に基づいて、送信データを暗号化する。 The encryption unit 103 of the controller 10 encrypts the transmission data based on the type of transmission data. In the present embodiment, the encryption unit 103 encrypts the transmission data based on the type data DT3 and the type of transmission data. For example, the encryption unit 103 determines whether or not to encrypt the transmission data based on the type of transmission data. Further, for example, the encryption unit 103 determines the encryption method of the transmission data based on the type of the transmission data. Further, for example, the encryption unit 103 determines the key used for encrypting the transmission data based on the type of the transmission data. Similarly to the encryption unit 103, the encryption unit 201 of the motor control device 20 also encrypts the transmission data based on the type of transmission data.

コントローラ10の復号化部106は、受信データの種類に基づいて、受信データを復号化する。本実施形態では、復号化部106は、種類データDT3と受信データの種類に基づいて、受信データを復号化する。例えば、復号化部106は、受信データの種類に基づいて、受信データを復号化するか否かを決定する。また例えば、復号化部106は、受信データの種類に基づいて、受信データの暗号方式を決定する。また例えば、復号化部106は、受信データの種類に基づいて、受信データの復号化で使用する鍵を決定する。モータ制御装置20の復号化部204についても、復号化部106と同様に、受信データの種類に基づいて、受信データを復号化する。 The decoding unit 106 of the controller 10 decodes the received data based on the type of the received data. In the present embodiment, the decoding unit 106 decodes the received data based on the type data DT3 and the type of the received data. For example, the decoding unit 106 determines whether or not to decode the received data based on the type of the received data. Further, for example, the decryption unit 106 determines the encryption method of the received data based on the type of the received data. Further, for example, the decoding unit 106 determines a key to be used for decoding the received data based on the type of the received data. Similarly to the decoding unit 106, the decoding unit 204 of the motor control device 20 also decodes the received data based on the type of the received data.

実施形態2では、図6と同様のフローでモータ制御処理が実行されるが、S200において指令データが生成された場合に、CPU11は、指令データの種類に基づいて、暗号化するデータであるか否かを判定する。暗号化するデータであると判定された場合、S201の処理に移行し、指令データが暗号化されて送信される。一方、暗号化するデータであると判定されない場合、S212の処理に移行し、平文で指令データが送信される。 In the second embodiment, the motor control process is executed in the same flow as in FIG. 6, but when the command data is generated in S200, is the CPU 11 the data to be encrypted based on the type of the command data? Judge whether or not. If it is determined that the data is to be encrypted, the process proceeds to S201, and the command data is encrypted and transmitted. On the other hand, if it is not determined that the data is to be encrypted, the process proceeds to S212, and the command data is transmitted in plain text.

また、S207又はS215において応答データが生成された場合に、CPU21は、応答データの種類に基づいて、暗号化するデータであるか否かを判定する。暗号化するデータであると判定された場合、S208又はS216の処理が実行され、応答データが暗号化されて送信される。一方、暗号化するデータであると判定されない場合に、S208又はS216の処理は実行されず、平文で応答データが送信される。 Further, when the response data is generated in S207 or S215, the CPU 21 determines whether or not the data is encrypted based on the type of the response data. If it is determined that the data is to be encrypted, the process of S208 or S216 is executed, and the response data is encrypted and transmitted. On the other hand, if it is not determined that the data is to be encrypted, the processing of S208 or S216 is not executed, and the response data is transmitted in plain text.

実施形態2の通信システム1によれば、送信データの種類に基づいて送信データを暗号化し、受信データの種類に基づいて受信データを復号化することにより、データの種類に応じた暗号化と復号化をすることができ、機種に応じた柔軟な通信が可能になる。例えば、データの種類によってその重要度は異なる。重要なデータについては、暗号化する必要があり、あまり重要ではないデータについては、そもそも暗号化する必要がないこともある。この点、重要なデータに絞って暗号化することにより、あまり重要ではないデータを暗号化及び復号化する必要がなくなり、産業機器の処理負荷を軽減することができる。また例えば、全てのデータを暗号化する場合であったとしても、重要なデータについては、強度の高い暗号方式で暗号化し、あまり重要ではないデータについては、強度の低い暗号方式で暗号化することで、全てのデータについて複雑な計算を要する強度の高い暗号方式が利用されるわけではなくなるので、産業機器の処理負荷を軽減し、処理速度を向上することができる。 According to the communication system 1 of the second embodiment, the transmitted data is encrypted based on the type of transmitted data, and the received data is decrypted based on the type of received data, thereby encrypting and decrypting according to the type of data. It enables flexible communication according to the model. For example, the importance varies depending on the type of data. Important data needs to be encrypted, and less important data may not need to be encrypted in the first place. In this respect, by encrypting only important data, it is not necessary to encrypt and decrypt less important data, and the processing load of industrial equipment can be reduced. Also, for example, even if all data is encrypted, important data should be encrypted with a high-strength encryption method, and less important data should be encrypted with a low-strength encryption method. Therefore, since a high-strength encryption method that requires complicated calculations is not used for all data, the processing load of industrial equipment can be reduced and the processing speed can be improved.

[3.実施形態3]
実施形態1及び2では、モータ制御装置20の機種やデータの種類に応じて、暗号化通信の有無や暗号方式が決定される場合を説明したが、同期通信を利用するか否かに基づいて、暗号化通信の有無や暗号方式が決定されてもよい。以降、通信システム1の別実施形態である実施形態3について説明する。なお、実施形態3では、実施形態1及び2と同様の構成については説明を省略する。
[3. Embodiment 3]
In the first and second embodiments, the case where the presence / absence of encrypted communication and the encryption method are determined according to the model of the motor control device 20 and the type of data has been described, but it is based on whether or not synchronous communication is used. , The presence or absence of encrypted communication and the encryption method may be determined. Hereinafter, the third embodiment, which is another embodiment of the communication system 1, will be described. In the third embodiment, the description of the same configuration as that of the first and second embodiments will be omitted.

コントローラ10の暗号化部103は、同期通信を利用するか否かに基づいて、送信データを暗号化する。同期通信を利用するか否かは、モータ制御処理やコンフィグレーション処理などを実行するためのプログラムに記述されているものとする。暗号化部103は、送信データが生成されて送信される前に、送信データが同期通信で送信されるか否かを判定する。例えば、暗号化部103は、送信データが同期通信で送信される場合に送信データを暗号化し、送信データが同期通信で送信されない場合に送信データを暗号化しない。これとは逆に、暗号化部103は、送信データが同期通信で送信される場合に送信データを暗号化せず、送信データが同期通信で送信されない場合に送信データを暗号化してもよい。モータ制御装置20の暗号化部201についても、暗号化部103と同様に、同期通信を利用するか否かに基づいて、送信データを暗号化する。 The encryption unit 103 of the controller 10 encrypts the transmission data based on whether or not synchronous communication is used. Whether or not to use synchronous communication shall be described in the program for executing motor control processing, configuration processing, and the like. The encryption unit 103 determines whether or not the transmission data is transmitted by synchronous communication before the transmission data is generated and transmitted. For example, the encryption unit 103 encrypts the transmission data when the transmission data is transmitted by synchronous communication, and does not encrypt the transmission data when the transmission data is not transmitted by synchronous communication. On the contrary, the encryption unit 103 may not encrypt the transmission data when the transmission data is transmitted by the synchronous communication, and may encrypt the transmission data when the transmission data is not transmitted by the synchronous communication. Similarly to the encryption unit 103, the encryption unit 201 of the motor control device 20 also encrypts the transmission data based on whether or not synchronous communication is used.

復号化部106は、同期通信を利用するか否かに基づいて、受信データを復号化する。復号化部106は、受信データが受信される前又は後に、受信データが同期通信で受信されるか否かを判定する。例えば、復号化部106は、受信データが同期通信で受信される場合に受信データを復号化し、受信データが同期通信で送信されない場合に受信データを復号化しない。これとは逆に、復号化部106は、受信データが同期通信で受信される場合に受信データを復号化せず、受信データが同期通信で受信されない場合に受信データを暗号化してもよい。モータ制御装置20の復号化部204についても、復号化部106と同様に、同期通信を利用するか否かに基づいて、受信データを復号化する。 The decoding unit 106 decodes the received data based on whether or not synchronous communication is used. The decoding unit 106 determines whether or not the received data is received by synchronous communication before or after the received data is received. For example, the decoding unit 106 decodes the received data when the received data is received by synchronous communication, and does not decode the received data when the received data is not transmitted by synchronous communication. On the contrary, the decoding unit 106 may not decrypt the received data when the received data is received by the synchronous communication, and may encrypt the received data when the received data is not received by the synchronous communication. Similarly to the decoding unit 106, the decoding unit 204 of the motor control device 20 also decodes the received data based on whether or not synchronous communication is used.

実施形態3では、図6と同様のフローでモータ制御処理が実行されるが、S200において指令データが生成された場合に、CPU11は、指令データを同期通信で送信するか否かを判定する。例えば、指令データを同期通信で送信すると判定された場合、S201の処理に移行し、指令データが暗号化されて送信される。一方、指令データを同期通信で送信すると判定されない場合に、S212の処理に移行し、平文で指令データが送信される。 In the third embodiment, the motor control process is executed in the same flow as in FIG. 6, but when the command data is generated in S200, the CPU 11 determines whether or not to transmit the command data by synchronous communication. For example, when it is determined that the command data is transmitted by synchronous communication, the process proceeds to S201, and the command data is encrypted and transmitted. On the other hand, when it is not determined that the command data is transmitted by synchronous communication, the process proceeds to S212, and the command data is transmitted in plain text.

また、S207又はS215において応答データが生成された場合に、CPU21は、応答データの種類に基づいて、応答データを同期通信で送信するか否かを判定する。例えば、応答データを同期通信で送信すると判定された場合に、S208又はS216の処理が実行され、応答データが暗号化されて送信される。一方、指令データを同期通信で送信すると判定されない場合に、S208又はS216の処理は実行されず、平文で応答データが送信される。 Further, when the response data is generated in S207 or S215, the CPU 21 determines whether or not to transmit the response data by synchronous communication based on the type of the response data. For example, when it is determined that the response data is transmitted by synchronous communication, the process of S208 or S216 is executed, and the response data is encrypted and transmitted. On the other hand, if it is not determined that the command data is transmitted by synchronous communication, the processing of S208 or S216 is not executed, and the response data is transmitted in plain text.

なお、指令データを同期通信で送信すると判定された場合、S212の処理に移行し、平文で指令データが送信されてもよい。一方、指令データを同期通信で送信すると判定されない場合に、S201の処理に移行し、指令データが暗号化されて送信されてもよい。また、応答データを同期通信で送信すると判定された場合に、S208又はS216の処理は実行されず、平文で応答データが送信されてもよい。一方、指令データを同期通信で送信すると判定されない場合に、S208又はS216の処理が実行され、応答データが暗号化されて送信されてもよい。 If it is determined that the command data is transmitted by synchronous communication, the process may shift to S212 and the command data may be transmitted in plain text. On the other hand, if it is not determined that the command data is transmitted by synchronous communication, the process may shift to S201 and the command data may be encrypted and transmitted. Further, when it is determined that the response data is transmitted by synchronous communication, the processing of S208 or S216 may not be executed, and the response data may be transmitted in plain text. On the other hand, if it is not determined that the command data is transmitted by synchronous communication, the process of S208 or S216 may be executed and the response data may be encrypted and transmitted.

実施形態3の通信システム1によれば、同期通信を利用するか否かに基づいて送信データを暗号化し、同期通信を利用するか否かに基づいて受信データを復号化することにより、通信方式に応じた暗号化と復号化をすることができ、通信方式に応じた柔軟な通信が可能になる。例えば、同期通信を利用する場合は、暗号化と復号化をせず、非同期通信を利用する場合は、暗号化と復号化をさせることができる。また例えば、同期通信を利用する場合は、計算量の少ない低強度の暗号方式を利用し、非同期通信を利用する場合は、計算量の多い高強度の暗号方式を利用することができる。同期通信ではデータを送受信するときの時間的な猶予がなく、データを改ざんされる恐れが明らかにない場合に、このようにすることで、セキュリティを担保しつつ、産業機器の処理負荷を軽減したり、産業機器の動作に遅延が発生することを防止したりすることもできる。また例えば、上記とは逆に、同期通信を利用する場合は、暗号化と復号化をさせ、非同期通信を利用する場合は、暗号化と復号化をしないようにすることができる。また例えば、同期通信を利用する場合は、計算量の多い高強度の暗号方式を利用し、非同期通信を利用する場合は、計算量の少ない低強度の暗号方式を利用することができる。同期通信では機器の動作に直結する重要なデータをやり取りすることが多く、このようにすることで、重要なデータの改ざんを防止し、セキュリティを担保することができる。一方、非同期通信ではあまり重要ではない低いデータをやり取りすることがあり、このようにすることで、産業機器の処理負荷を軽減したり、産業機器の動作に遅延が発生することを防止したりすることもできる。 According to the communication system 1 of the third embodiment, the communication method is performed by encrypting the transmitted data based on whether or not synchronous communication is used and decoding the received data based on whether or not synchronous communication is used. It is possible to perform encryption and decryption according to the above, and flexible communication according to the communication method becomes possible. For example, when synchronous communication is used, encryption and decryption can be performed, and when asynchronous communication is used, encryption and decryption can be performed. Further, for example, when synchronous communication is used, a low-strength encryption method with a small amount of calculation can be used, and when asynchronous communication is used, a high-strength encryption method with a large amount of calculation can be used. In synchronous communication, when there is no time to send and receive data and there is no clear possibility that the data will be tampered with, this will reduce the processing load of industrial equipment while ensuring security. Alternatively, it is possible to prevent delays in the operation of industrial equipment. Further, for example, contrary to the above, when synchronous communication is used, encryption and decryption can be performed, and when asynchronous communication is used, encryption and decryption can be prevented. Further, for example, when synchronous communication is used, a high-strength encryption method with a large amount of calculation can be used, and when asynchronous communication is used, a low-strength encryption method with a small amount of calculation can be used. In synchronous communication, important data that is directly linked to the operation of the device is often exchanged, and by doing so, falsification of important data can be prevented and security can be ensured. On the other hand, in asynchronous communication, low data that is not so important may be exchanged, and by doing so, the processing load of the industrial equipment can be reduced and the operation of the industrial equipment can be prevented from being delayed. You can also do it.

[4.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
[4. Modification example]
The present invention is not limited to the embodiments described above. It can be changed as appropriate without departing from the spirit of the present invention.

(1)例えば、モータ制御装置20によって利用可能な暗号方式が異なることがあり、コントローラ10は、その全てを利用可能ではないこともある。このため、コントローラ10が利用可能な暗号方式と、モータ制御装置20が利用可能な暗号方式と、が比較され、これらが一致する場合に暗号化通信が利用され、これらが一致しない場合に暗号化通信が利用されないようにしてもよい。 (1) For example, the encryption methods that can be used may differ depending on the motor control device 20, and the controller 10 may not be able to use all of them. Therefore, the encryption method that can be used by the controller 10 and the encryption method that can be used by the motor control device 20 are compared, and if they match, encrypted communication is used, and if they do not match, encryption is performed. Communication may not be used.

図8は、変形例(1)の機能ブロック図である。図8に示すように、変形例(1)では、コントローラ10において決定部107が実現される。決定部107は、CPU11を主として実現される。本変形例では、通信を行う複数の産業機器は、少なくとも1つの暗号方式を利用可能であり、決定部107は、通信を行う複数の産業機器に共通する暗号方式に基づいて、暗号化通信で利用する暗号方式を決定する。 FIG. 8 is a functional block diagram of the modified example (1). As shown in FIG. 8, in the modification (1), the determination unit 107 is realized in the controller 10. The determination unit 107 is mainly realized by the CPU 11. In this modification, at least one encryption method can be used by the plurality of industrial devices that perform communication, and the determination unit 107 performs encrypted communication based on the encryption method that is common to the plurality of industrial devices that perform communication. Decide which encryption method to use.

決定部107は、コントローラ10が利用可能な暗号方式と、モータ制御装置20が利用可能な暗号方式と、を比較し、これらの間で一致する暗号方式を、暗号化通信で利用する暗号方式として決定する。複数の暗号方式が一致していた場合、決定部107は、何れか1つの暗号方式を選択すればよく、ランダムに選択してもよいし、後述する変形例(2)のように優先順位に基づいて選択してもよい。複数の暗号方式が一致していた場合、データの種類やデータの送信タイミングなどに応じて、利用する暗号方式が使い分けられるようにしてもよい。 The determination unit 107 compares the encryption method that can be used by the controller 10 with the encryption method that can be used by the motor control device 20, and uses the encryption method that matches between them as the encryption method that is used in the encrypted communication. decide. When a plurality of encryption methods match, the determination unit 107 may select any one of the encryption methods at random, or may select them in order of priority as in the modified example (2) described later. You may choose based on. When a plurality of encryption methods match, the encryption method to be used may be used properly according to the type of data, the timing of data transmission, and the like.

なお、コントローラ10が利用可能な暗号方式を示すデータは、予めデータ記憶部100に記憶されているものとする。また、モータ制御装置20が利用可能な暗号方式を示すデータは、予めデータ記憶部100に記憶されていてもよいし、モータ制御装置20から取得されるようにしてもよい。また、コントローラ10とモータ制御装置20との間で利用可能な暗号方式が一致していない場合(共通の暗号方式がない場合)には、平文でデータが送信されてもよいし、ユーザに対して所定のアラームが出力されてもよい。 It is assumed that the data indicating the encryption method that can be used by the controller 10 is stored in the data storage unit 100 in advance. Further, the data indicating the encryption method that can be used by the motor control device 20 may be stored in the data storage unit 100 in advance, or may be acquired from the motor control device 20. Further, when the available encryption methods between the controller 10 and the motor control device 20 do not match (when there is no common encryption method), the data may be transmitted in plain text to the user. A predetermined alarm may be output.

変形例(1)によれば、通信を行う複数の産業機器に共通する暗号方式に基づいて、複数の産業機器の間で利用する暗号方式を決定することで、暗号化通信を確実に実行することができる。 According to the modification (1), the encrypted communication is surely executed by determining the encryption method to be used among the plurality of industrial devices based on the encryption method common to the plurality of industrial devices that perform communication. be able to.

(2)また例えば、変形例(1)において、コントローラ10が利用可能な暗号方式と、モータ制御装置20が利用可能な暗号方式と、の間で共通するものが複数個あった場合には、暗号方式の優先度に基づいて、利用する暗号方式が決定されるようにしてもよい。本変形例では、データ記憶部100は、暗号方式の優先度を示す優先度データDT4を記憶する。 (2) Further, for example, in the modification (1), when there are a plurality of encryption methods that can be used by the controller 10 and a plurality of encryption methods that can be used by the motor control device 20. The encryption method to be used may be determined based on the priority of the encryption method. In this modification, the data storage unit 100 stores the priority data DT4 indicating the priority of the encryption method.

図9は、優先度データDT4のデータ格納例を示す図である。図9に示すように、優先度データDT4には、複数の暗号方式の各々の優先度が示されている。優先度は、暗号方式の優先順位を識別可能な情報であればよく、例えば、数値で示されてもよいし、記号で示されてもよい。図9のデータ格納例であれば、数値が低いほど優先度が高いことを示す。 FIG. 9 is a diagram showing a data storage example of the priority data DT4. As shown in FIG. 9, the priority data DT4 shows the priority of each of the plurality of encryption methods. The priority may be any information that can identify the priority of the encryption method, and may be indicated by a numerical value or a symbol, for example. In the data storage example of FIG. 9, the lower the numerical value, the higher the priority.

変形例(2)の決定部107は、通信を行う複数の産業機器に共通する暗号方式が複数存在した場合、当該複数の暗号方式の各々に定められた優先度に基づいて、暗号化通信で利用する暗号方式を決定する。決定部107は、複数の暗号方式のうち優先度が最も高い暗号方式を、暗号化通信で利用する暗号方式として決定してもよいし、複数の暗号方式のうち優先度が閾値以上の暗号方式の何れかを、暗号化通信で利用する暗号方式として決定してもよい。 When there are a plurality of encryption methods common to a plurality of industrial devices that perform communication, the determination unit 107 of the modification (2) performs encrypted communication based on the priority determined for each of the plurality of encryption methods. Decide which encryption method to use. The determination unit 107 may determine the encryption method having the highest priority among the plurality of encryption methods as the encryption method to be used in the encrypted communication, or the encryption method having the priority equal to or higher than the threshold value among the plurality of encryption methods. Any of the above may be determined as the encryption method used in the encrypted communication.

変形例(2)によれば、通信を行う複数の産業機器に共通する暗号方式が複数存在した場合、当該複数の暗号方式の各々に定められた優先度に基づいて、複数の産業機器の間で利用する暗号方式を決定することにより、優先度に応じた最適な暗号方式を利用し、セキュリティを効果的に向上させることができる。 According to the modification (2), when there are a plurality of encryption methods common to a plurality of industrial devices that perform communication, between the plurality of industrial devices based on the priority set for each of the plurality of encryption methods. By deciding the encryption method to be used in, the optimum encryption method according to the priority can be used and the security can be effectively improved.

(3)また例えば、通信システム1では、プログラムのデバッグのためにデータがやり取りされることもあるが、通信を行う複数の産業機器は、デバッグが行われる場合には、暗号化通信を行わないようにしてもよい。例えば、コントローラ10は、デバッグモードであるか否かを判定し、デバッグモードであると判定した場合には、暗号化通信を行わず、デバッグモードではないと判定した場合には、暗号化通信を行う。デバッグモードであるか否かを示すデータは、データ記憶部100に記憶させておけばよい。例えば、ユーザは、デバッグを行う際に、パーソナルコンピュータ等をコントローラ10に接続し、デバッグモードを開始することを示す操作を行う。この場合に、デバッグモードが開始される。デバッグモードでは、図6に示すモータ制御処理が実行されるが、暗号化通信が行われない。 (3) For example, in the communication system 1, data may be exchanged for debugging a program, but a plurality of industrial devices that communicate do not perform encrypted communication when debugging is performed. You may do so. For example, the controller 10 determines whether or not it is in the debug mode, and if it determines that it is in the debug mode, it does not perform encrypted communication, and if it determines that it is not in the debug mode, it performs encrypted communication. conduct. The data indicating whether or not the debug mode is set may be stored in the data storage unit 100. For example, when debugging, the user connects a personal computer or the like to the controller 10 and performs an operation indicating that the debug mode is started. In this case, debug mode is started. In the debug mode, the motor control process shown in FIG. 6 is executed, but encrypted communication is not performed.

変形例(3)によれば、デバッグが行われる場合には、暗号化通信を行わないことで、より確実にデバッグを行うことができる。 According to the modification (3), when debugging is performed, debugging can be performed more reliably by not performing encrypted communication.

(4)また例えば、上記変形例を組み合わせてもよい。 (4) Further, for example, the above modification may be combined.

また例えば、通信システム1では、コントローラ10とモータ制御装置20との通信が暗号化されるのではなく、あるコントローラ10と別のコントローラ10との通信が暗号化されてもよい。また例えば、コントローラ10と、モータ制御装置20以外のコンピュータ(例えば、データベースサーバ)との通信が暗号化されてもよい。また例えば、モータ制御装置20同士が通信可能な場合には、あるモータ制御装置20と別のモータ制御装置20との通信が暗号化されてもよい。また例えば、判定部101、設定部102、及び決定部107は、コントローラ10ではなく、モータ制御装置20において実現されてもよいし、他のコンピュータにおいて実現されてもよい。 Further, for example, in the communication system 1, the communication between the controller 10 and the motor control device 20 may not be encrypted, but the communication between one controller 10 and another controller 10 may be encrypted. Further, for example, the communication between the controller 10 and a computer other than the motor control device 20 (for example, a database server) may be encrypted. Further, for example, when the motor control devices 20 can communicate with each other, the communication between one motor control device 20 and another motor control device 20 may be encrypted. Further, for example, the determination unit 101, the setting unit 102, and the determination unit 107 may be realized not by the controller 10 but by the motor control device 20, or may be realized by another computer.

また、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。 Further, the embodiments described above are shown as specific examples, and the invention disclosed in the present specification is not limited to the configuration of these specific examples or the data storage example itself. Those skilled in the art may modify various modifications to these disclosed embodiments, for example, the shape and number of physical configurations, the data structure, and the execution order of processing. It should be understood that the technical scope of the invention disclosed herein also includes such modifications.

1 通信システム、N ネットワーク、10 コントローラ、20 モータ制御装置、11,21,31 CPU、12,22,32 記憶部、13,23,33 通信部、24 SOC、30 モータ、40 センサ、50 エンコーダ、100,200 データ記憶部、101 判定部、102 設定部、103,201 暗号化部、104,202
送信部、105,203 受信部、106,204 復号化部、107 決定部、241 暗号チップ、DT1 機種データ、DT2 設定データ、DT3 種類データ、DT4 優先度データ。
1 communication system, N network, 10 controller, 20 motor controller, 11,21,31 CPU, 12,22,32 storage unit, 13,23,33 communication unit, 24 SOC, 30 motors, 40 sensors, 50 encoders, 100,200 data storage unit, 101 judgment unit, 102 setting unit, 103,201 encryption unit, 104,202
Transmitter, 105, 203 Receiver, 106, 204 Decryptor, 107 Determinator, 241 Cryptographic chip, DT1 model data, DT2 setting data, DT3 type data, DT4 priority data.

Claims (10)

マスタ機器が、所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信する通信システムであって、
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記同期通信で前記第2スレーブ機器に送信される第2指令データ暗号化せず、受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第3指令データと、前記非同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化しない暗号化部と、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データ前記同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で送信する送信部と、
を有し、
前記第1スレーブ機器は、
前記マスタ機器から、暗号化された前記第1指令データ前記同期通信で受信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で受信する受信部と、
前記同期通信で受信された、暗号化された前記第1指令データを復号化する復号化部と、
復号化された前記第1指令データに基づく処理をすぐに実行し、かつ、暗号化されていない前記第3指令データに基づく処理はすぐには実行しない動作部と、
を有し、
前記第2スレーブ機器は、
前記マスタ機器から、暗号化されていない前記第2指令データを前記同期通信で受信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で受信する受信部と、
暗号化されていない前記第2指令データに基づく処理をすぐに実行し、かつ、暗号化されていない前記第4指令データに基づく処理はすぐには実行しない動作部と、
を有する通信システム。
The master device is a communication system that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
The master device is
As soon as the receiving device receives data from the transmitting device, the first command data transmitted to the first slave device is encrypted by synchronous communication for executing processing and returning the processing result as a response , and the above. The second command data transmitted to the second slave device in synchronous communication is not encrypted, and even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately in asynchronous communication. The third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device by the asynchronous communication are an encryption unit that is not encrypted.
The encrypted first command data is transmitted to the first slave device by the synchronous communication, and the unencrypted third command data is transmitted by the asynchronous communication to the second slave device. , the second instruction data unencrypted transmitted in the synchronous communication, and a transmission unit that transmits the fourth command data unencrypted by said asynchronous communication,
Have,
The first slave device is
From the master device, and the receiving portion of the first command data encrypted received by said synchronous communication, and for receiving the third command data unencrypted by said asynchronous communication,
The received in synchronous communication, a decoding unit for decoding the first command data encrypted,
An operating unit that immediately executes the process based on the decrypted first command data and does not immediately execute the process based on the unencrypted third command data.
Have,
The second slave device is
A receiving unit that receives the unencrypted second command data from the master device in the synchronous communication and receives the unencrypted fourth command data in the asynchronous communication.
An operating unit that immediately executes unencrypted processing based on the second command data and does not immediately execute processing based on the unencrypted fourth command data.
Communication system with.
マスタ機器が、所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信する通信システムであって、
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記非同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第3指令データと、前記同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化しない暗号化部と、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記同期通信で送信する送信部と、
を有し、
前記第1スレーブ機器は、
前記マスタ機器から、暗号化された前記第1指令データを前記非同期通信で受信し、かつ、暗号化されていない前記第3指令データを前記同期通信で受信する受信部と、
前記非同期通信で受信された、暗号化された前記第1指令データを復号化する復号化部と、
復号化された前記第1指令データに基づく処理をすぐには実行せず、かつ、暗号化されていない前記第3指令データに基づく処理はすぐに実行する動作部と、
を有し、
前記第2スレーブ機器は、
前記マスタ機器から、暗号化されていない前記第2指令データを前記非同期通信で受信し、かつ、暗号化されていない前記第4指令データを前記同期通信で受信する受信部と、
暗号化されていない前記第2指令データに基づく処理をすぐには実行せず、かつ、暗号化されていない前記第4指令データに基づく処理はすぐに実行する動作部と、
を有する通信システム。
The master device is a communication system that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
The master device is
Even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately. The first command data transmitted to the first slave device is encrypted by the asynchronous communication, and the asynchronous communication is performed. The second command data transmitted to the second slave device is not encrypted, and is a synchronous communication for executing processing and returning the processing result as a response as soon as the receiving device receives the data from the transmitting device. An encryption unit that does not encrypt the third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device in the synchronous communication.
The first slave device, the encrypted first command data is transmitted by the asynchronous communication, and the third command data unencrypted and transmitted in the synchronous communication, the second slave device and transmitting the second command data is not encrypted by the asynchronous communication, and a transmission unit that transmits the fourth command data unencrypted by said synchronous communication,
Have,
The first slave device is
From the master device, and the receiving unit the encrypted first command data has been received by said asynchronous communication, and for receiving the third command data unencrypted by said synchronous communication,
The received asynchronous communication, and a decoding unit for decoding the first command data encrypted,
An operation unit that does not immediately execute the process based on the decrypted first command data and immediately executes the process based on the unencrypted third command data.
Have,
The second slave device is
A receiving unit that receives the unencrypted second command data from the master device by the asynchronous communication and receives the unencrypted fourth command data by the synchronous communication.
An operation unit that does not immediately execute the processing based on the unencrypted second command data and immediately executes the processing based on the unencrypted fourth command data.
Communication system with.
マスタ機器が、所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信する通信システムであって、
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信を利用するか又は受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信を利用するかと、前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、指令データを暗号化する暗号化部と、
前記第1スレーブ機器及び前記第2スレーブ機器の各々に、暗号化された前記指令データを送信する送信部と、
を有し、
前記第1スレーブ機器及び前記第2スレーブ機器の各々は、
前記マスタ機器から、暗号化された指令データを受信する受信部と、
前記同期通信を利用するか又は前記非同期通信を利用するかと、自身が前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、暗号化された前記指令データを復号化する復号化部と、
前記同期通信で受信した前記指令データに基づく処理はすぐに実行し、前記非同期通信で受信した前記指令データに基づく処理はすぐには実行しない動作部と、
を有する通信システム。
The master device is a communication system that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
The master device is
As soon as the receiving device receives data from the transmitting device, it executes processing and uses synchronous communication to return the processing result as a response, or the receiving device receives data from the transmitting device. Cryptography that encrypts command data with an encryption method according to whether asynchronous communication is used, which does not always execute processing immediately, and whether it is the predetermined model or not. Kabu and
A transmission unit that transmits the encrypted command data to each of the first slave device and the second slave device, and
Have,
Each of the first slave device and the second slave device
A receiver that receives encrypted command data from the master device,
The command data encrypted by an encryption method according to whether the synchronous communication or the asynchronous communication is used and whether or not the user is the predetermined model or the predetermined model. Decryption unit that decodes
An operation unit that immediately executes the process based on the command data received in the synchronous communication and does not immediately execute the process based on the command data received in the asynchronous communication.
Communication system with.
前記マスタ機器は、モータを制御するモータ制御装置を制御するコントローラでり、前記第1スレーブ機器及び前記第2スレーブ機器の各々は、前記モータ制御装置である、
請求項1〜3の何れかに記載の通信システム。
The master device, Ri Oh in controller that controls the motor control equipment for controlling the motor, each of the first slave device and the second slave device, Ru said motor controller der,
The communication system according to any one of claims 1 to 3.
マスタ機器が、所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信する通信方法であって、
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記同期通信で前記第2スレーブ機器に送信される第2指令データ暗号化せず、受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第3指令データと、前記非同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化せず、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データ前記同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で送信し、
前記第1スレーブ機器は、
前記マスタ機器から、暗号化された前記第1指令データ前記同期通信で受信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で受信し、
前記同期通信で受信された、暗号化された前記第1指令データを復号化
復号化された前記第1指令データに基づく処理をすぐに実行し、かつ、暗号化されていない前記第3指令データに基づく処理はすぐには実行せず、
前記第2スレーブ機器は、
前記マスタ機器から、暗号化されていない前記第2指令データを前記同期通信で受信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で受信し、
暗号化されていない前記第2指令データに基づく処理をすぐに実行し、かつ、暗号化されていない前記第4指令データに基づく処理はすぐには実行しない、
通信方法。
A communication method in which the master device transmits command data by synchronous communication to each of a first slave device which is a predetermined model and a second slave device which is not the predetermined model.
The master device is
As soon as the receiving device receives data from the transmitting device, the first command data transmitted to the first slave device is encrypted by synchronous communication for executing processing and returning the processing result as a response , and the above. The second command data transmitted to the second slave device in synchronous communication is not encrypted, and even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately in asynchronous communication. The third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device by the asynchronous communication are not encrypted.
The encrypted first command data is transmitted to the first slave device by the synchronous communication, and the unencrypted third command data is transmitted by the asynchronous communication to the second slave device. , the second instruction data unencrypted transmitted in the synchronous communication, and transmits the fourth command data unencrypted by said asynchronous communication,
The first slave device is
From the master device, the encrypted first command data has been received by said synchronous communication, and receives the third command data unencrypted by said asynchronous communication,
The encrypted first command data received in the synchronous communication is decrypted, and the data is decrypted.
The process based on the decrypted first command data is immediately executed, and the process based on the unencrypted third command data is not immediately executed.
The second slave device is
The unencrypted second command data is received from the master device by the synchronous communication, and the unencrypted fourth command data is received by the asynchronous communication.
The process based on the unencrypted second command data is immediately executed, and the process based on the unencrypted fourth command data is not immediately executed.
Communication method.
マスタ機器が、所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信する通信方法であって、
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記非同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第3指令データと、前記同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化せず、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記同期通信で送信し、
前記第1スレーブ機器は、
前記マスタ機器から、暗号化された前記第1指令データを前記非同期通信で受信し、かつ、暗号化されていない前記第3指令データを前記同期通信で受信し、
前記非同期通信で受信された、暗号化された前記第1指令データを復号化
復号化された前記第1指令データに基づく処理をすぐには実行せず、かつ、暗号化されていない前記第3指令データに基づく処理はすぐに実行し、
前記第2スレーブ機器は、
前記マスタ機器から、暗号化されていない前記第2指令データを前記非同期通信で受信し、かつ、暗号化されていない前記第4指令データを前記同期通信で受信し、
暗号化されていない前記第2指令データに基づく処理をすぐには実行せず、かつ、暗号化されていない前記第4指令データに基づく処理はすぐに実行する、
通信方法。
A communication method in which the master device transmits command data by synchronous communication to each of a first slave device which is a predetermined model and a second slave device which is not the predetermined model.
The master device is
Even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately. The first command data transmitted to the first slave device is encrypted by the asynchronous communication, and the asynchronous communication is performed. The second command data transmitted to the second slave device is not encrypted, and is a synchronous communication for executing processing and returning the processing result as a response as soon as the receiving device receives the data from the transmitting device. The third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device in the synchronous communication are not encrypted.
The first slave device, the encrypted first command data is transmitted by the asynchronous communication, and the third command data unencrypted and transmitted in the synchronous communication, the second slave device and transmitting the second command data is not encrypted by the asynchronous communication, and transmits the fourth command data unencrypted by said synchronous communication,
The first slave device is
From the master device, the encrypted first command data has been received by said asynchronous communication, and receives the third command data unencrypted by said synchronous communication,
The encrypted first command data received by the asynchronous communication is decrypted, and the data is decrypted.
The process based on the decrypted first command data is not immediately executed, and the process based on the unencrypted third command data is immediately executed.
The second slave device is
The unencrypted second command data is received from the master device by the asynchronous communication, and the unencrypted fourth command data is received by the synchronous communication.
The unencrypted process based on the second command data is not immediately executed, and the unencrypted process based on the fourth command data is immediately executed.
Communication method.
マスタ機器が、所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信する通信方法であって、
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信を利用するか又は受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信を利用するかと、前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、指令データを暗号化し、
前記第1スレーブ機器及び前記第2スレーブ機器の各々に、暗号化された前記指令データを送信し、
前記第1スレーブ機器及び前記第2スレーブ機器の各々は、
前記マスタ機器から、暗号化された指令データを受信し、
前記同期通信を利用するか又は前記非同期通信を利用するかと、自身が前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、暗号化された前記指令データを復号化し、
前記同期通信で受信した前記指令データに基づく処理はすぐに実行し、前記非同期通信で受信した前記指令データに基づく処理はすぐには実行しない、
通信方法。
A communication method in which the master device transmits command data by synchronous communication to each of a first slave device which is a predetermined model and a second slave device which is not the predetermined model.
The master device is
As soon as the receiving device receives data from the transmitting device, it executes processing and uses synchronous communication to return the processing result as a response, or the receiving device receives data from the transmitting device. However, the command data is encrypted by an encryption method according to whether asynchronous communication is used, which does not always execute the process immediately, and whether the model is the predetermined model or the predetermined model.
The encrypted command data is transmitted to each of the first slave device and the second slave device, and the encrypted command data is transmitted.
Each of the first slave device and the second slave device
Receives encrypted command data from the master device and receives
The command data encrypted by an encryption method according to whether the synchronous communication or the asynchronous communication is used and whether or not the user is the predetermined model or the predetermined model. Decrypt and
The process based on the command data received in the synchronous communication is immediately executed, and the process based on the command data received in the asynchronous communication is not immediately executed.
Communication method.
所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信するマスタ機器を、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記同期通信で前記第2スレーブ機器に送信される第2指令データ暗号化せず、受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第3指令データと、前記非同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化しない暗号化部、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データ前記同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で送信する送信部
として機能させるためのプログラム。
A master device that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
As soon as the receiving device receives data from the transmitting device, the first command data transmitted to the first slave device is encrypted by synchronous communication for executing processing and returning the processing result as a response , and the above. The second command data transmitted to the second slave device in synchronous communication is not encrypted, and even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately in asynchronous communication. An encryption unit that does not encrypt the third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device by the asynchronous communication.
The encrypted first command data is transmitted to the first slave device by the synchronous communication, and the unencrypted third command data is transmitted by the asynchronous communication to the second slave device. , the transmission unit the second command data unencrypted and transmitted in the synchronous communication, and for transmitting said fourth command data unencrypted by said asynchronous communication,
A program to function as.
所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信するマスタ機器を、
受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記非同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第3指令データと、前記同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化しない暗号化部、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記同期通信で送信する送信部
として機能させるためのプログラム。
A master device that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
Even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately. The first command data transmitted to the first slave device is encrypted by the asynchronous communication, and the asynchronous communication is performed. The second command data transmitted to the second slave device is not encrypted, and is a synchronous communication for executing processing and returning the processing result as a response as soon as the receiving device receives the data from the transmitting device. An encryption unit that does not encrypt the third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device in the synchronous communication.
The first slave device, the encrypted first command data is transmitted by the asynchronous communication, and the third command data unencrypted and transmitted in the synchronous communication, the second slave device , the transmission unit transmits the second command data is not encrypted by the non-synchronous communication, and for transmitting said fourth command data unencrypted by said synchronous communication,
A program to function as.
所定の機種である第1スレーブ機器と、前記所定の機種ではない第2スレーブ機器と、の各々に、同期通信で指令データを送信するマスタ機器を、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信を利用するか又は受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信を利用するかと、前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、指令データを暗号化する暗号化部、
前記第1スレーブ機器及び前記第2スレーブ機器の各々に、暗号化された前記指令データを送信する送信部
として機能させるためのプログラム。
A master device that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
As soon as the receiving device receives data from the transmitting device, it executes processing and uses synchronous communication to return the processing result as a response, or the receiving device receives data from the transmitting device. Cryptography that encrypts command data with an encryption method according to whether asynchronous communication is used, which does not always execute processing immediately, and whether it is the predetermined model or not. Kabu,
A transmission unit that transmits the encrypted command data to each of the first slave device and the second slave device .
A program to function as.
JP2020073728A 2019-04-26 2020-04-16 Communication systems, communication methods, and programs Active JP6923038B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020073728A JP6923038B2 (en) 2019-04-26 2020-04-16 Communication systems, communication methods, and programs

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019085142A JP6903093B2 (en) 2019-04-26 2019-04-26 Communication systems, communication methods, and programs
JP2020073728A JP6923038B2 (en) 2019-04-26 2020-04-16 Communication systems, communication methods, and programs

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019085142A Division JP6903093B2 (en) 2019-04-26 2019-04-26 Communication systems, communication methods, and programs

Publications (2)

Publication Number Publication Date
JP2020184751A JP2020184751A (en) 2020-11-12
JP6923038B2 true JP6923038B2 (en) 2021-08-18

Family

ID=73044695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020073728A Active JP6923038B2 (en) 2019-04-26 2020-04-16 Communication systems, communication methods, and programs

Country Status (1)

Country Link
JP (1) JP6923038B2 (en)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001053740A (en) * 1999-08-12 2001-02-23 Nippon Telegr & Teleph Corp <Ntt> Open time designation-type communication mode and open time designation-type communication system
JP2003022425A (en) * 2001-07-09 2003-01-24 Dainippon Printing Co Ltd Ic card self-diagnostic device and diagnostic method
JP2003087240A (en) * 2001-09-11 2003-03-20 Matsushita Electric Ind Co Ltd Ciphering device, deciphering device, ciphering/ deciphering device, and program recording medium
WO2005091581A1 (en) * 2004-03-22 2005-09-29 Niigata Seimitsu Co., Ltd. Security gateway apparatus
JP2006211567A (en) * 2005-01-31 2006-08-10 Canon Inc Data communication apparatus, data communication method and program
JP2007318217A (en) * 2006-05-23 2007-12-06 Fuji Xerox Co Ltd Apparatus, method and program for communication
JP5078422B2 (en) * 2007-05-07 2012-11-21 株式会社リコー Server apparatus, information processing apparatus, program, and recording medium
JP5082805B2 (en) * 2007-11-28 2012-11-28 沖電気工業株式会社 Information relay system, information relay device, method, and program
JP5169866B2 (en) * 2009-01-22 2013-03-27 富士電機株式会社 Network system having relay server, relay server and program thereof
JP6517474B2 (en) * 2014-05-12 2019-05-22 株式会社東芝 Programmable controller and arithmetic processing system
JP5876170B2 (en) * 2015-01-13 2016-03-02 株式会社平和 Game machine
CN108028792B (en) * 2015-09-17 2020-10-23 株式会社安川电机 Industrial equipment communication system, communication method and industrial equipment
JP6428805B2 (en) * 2017-02-07 2018-11-28 オムロン株式会社 Arithmetic device, control device and control method
US11196723B2 (en) * 2017-10-20 2021-12-07 The University Of Electro-Communications Encrypted control system, encrypted control method, and encrypted control program

Also Published As

Publication number Publication date
JP2020184751A (en) 2020-11-12

Similar Documents

Publication Publication Date Title
JP5835458B2 (en) Information processing apparatus, information processing method, and program
JP5564197B2 (en) MEMORY CONTROL DEVICE, SEMICONDUCTOR MEMORY DEVICE, MEMORY SYSTEM, AND MEMORY CONTROL METHOD
US11057194B2 (en) Processing system, related integrated circuit, device and method
US10664263B2 (en) Software management system, software updater, software updating method, and non-transitory computer-readable storage medium storing software update program
CN112989356B (en) Blank security chip burning method, system, blank security chip and storage medium
WO2013129054A1 (en) Information processing device, information processing method, and programme
JP2008109611A (en) Encryption conversion apparatus, encryption conversion method and encryption conversion program
RU2005121915A (en) COMMANDS TO SUPPORT ENCRYPTED MESSAGE PROCESSING
JP6903093B2 (en) Communication systems, communication methods, and programs
CN113890728A (en) Key processing method, system, equipment and medium based on FPGA encryption card
JP2023533319A (en) FIRMWARE DATA VERIFICATION APPARATUS AND METHOD AND FIRMWARE UPDATE APPARATUS, METHOD AND SYSTEM
EP3731044B1 (en) Communication system and communication method
JP6923038B2 (en) Communication systems, communication methods, and programs
TW202009773A (en) Method and apparatus for activating trusted execution environment
JPWO2005107139A1 (en) COMMUNICATION SYSTEM, COMMON KEY CONTROL DEVICE, AND GENERAL COMMUNICATION DEVICE
EP3425552B1 (en) Hardware secure module, related processing system, integrated circuit, device and method
JP2013182148A (en) Information processing apparatus, information processing method, and program
CN111125791B (en) Memory data encryption method and device, CPU chip and server
JP4934471B2 (en) Data communication system
EP3425551B1 (en) A processing system, related integrated circuit, device and method for a hardware secure module
US11804951B2 (en) Advanced sensor security protocol
JP6207984B2 (en) Information processing apparatus, information processing method, and program
JP2007295342A (en) Cipher communication system
WO2020217741A1 (en) Authentication file creation device, control system, program, and control method
EP3025472B1 (en) Apparatus for communicating a signal according to a communication model and network node comprising the apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200422

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200422

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210603

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: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210712

R150 Certificate of patent or registration of utility model

Ref document number: 6923038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150