(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】産業用制御装置
(51)【国際特許分類】
G05B 19/05 20060101AFI20240416BHJP
G05B 9/03 20060101ALI20240416BHJP
【FI】
G05B19/05 L
G05B9/03
(21)【出願番号】P 2021050011
(22)【出願日】2021-03-24
【審査請求日】2023-07-24
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】杉江 敏幸
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2015-204508(JP,A)
【文献】特開2020-182142(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
G05B 9/03
(57)【特許請求の範囲】
【請求項1】
CPUモジュールと、外部から入力される入力信号に対応した内部データを生成するとともに通信を介して前記内部データを前記CPUモジュールに送信する入力モジュールと、を備えた産業用制御装置であって、
前記入力モジュールは、
前記入力信号を入力するとともに第1制御データを生成して出力する第1制御部と、
前記入力信号を入力するとともに第2制御データを生成して出力する第2制御部と、
を備え、
前記第1制御データに対応した前記内部データを生成して出力するようになっており、
前記第2制御部は、前記入力信号に対応した入力データである第2入力データを前記第1制御部では復号することができないデータに符号化することにより前記第2制御データを生成し、前記第2制御データを前記第1制御部に送信し、
前記第1制御部は、前記入力信号に対応した入力データである第1入力データと前記第2制御データとを統合することにより前記第1制御データを生成し、
前記CPUモジュールは、前記第2制御データを復号する機能を有する判定部を備え、
前記判定部は、前記内部データから前記第1入力データおよび前記第2入力データを抽出し、前記第1入力データおよび前記第2入力データの一致比較により前記入力データの正誤判定を行う産業用制御装置。
【請求項2】
前記第1制御部は、前記第1入力データを符号化することにより第1符号化データを生成し、前記第1符号化データと前記第2制御データとを統合することにより前記第1制御データを生成するようになっている請求項1に記載の産業用制御装置。
【請求項3】
前記第1制御部は、前記第1入力データと前記第2制御データとを統合するとともに符号化することにより前記第1制御データを生成するようになっている請求項1に記載の産業用制御装置。
【請求項4】
前記第1制御部は、前記第1符号化データと前記第2制御データとを統合するとともに、前記第1符号化データを生成する際とは異なる内容で符号化することにより前記第1制御データを生成するようになっている請求項2に記載の産業用制御装置。
【請求項5】
前記第1制御部において統合される各データは、同じタイミングの前記入力信号に対応したデータとなっている請求項1から4のいずれか一項に記載の産業用制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CPUモジュールと入力モジュールとを備えた産業用制御装置に関する。
【背景技術】
【0002】
特許文献1に開示されているように、プログラマブルロジックコントローラなどの産業用制御装置では、各種のセンサ、各種のスイッチなどから出力されるアナログ信号またはデジタル信号である入力信号を、その産業用制御装置の動作全般を制御するCPUモジュールへと取り込むための入力モジュールが設けられている。このような産業用制御装置では、安全の観点から、このような入力制御、つまり入力信号を取り込むための通信を2重化する要求がある。なお、本明細書では、プログラマブルロジックコントローラのことをPLCと省略することがある。
【0003】
このような通信の2重化を実現するため、PLCの入力モジュールとして、入力信号を入力するとともに入力信号に対応したデータを出力する2つのMicro Controller Unitと、Micro Controller Unitから出力されるデータをCPUモジュールとの通信に対応したデータに変換して出力するバス変換ICと、を含む構成を採用することが考えられる。なお、本明細書では、Micro Controller UnitのことをMCUと省略することがある。また、ICは、Integrated Circuitの略称である。
【0004】
上記した従来の構成では、2つのMCUにおいて、同じ入力信号に対応した入力データを解釈して所定のデータを生成し、例えば一方のMCUである第2MCUが生成したデータを他方のMCUである第1MCUに送信し、第1MCUが第2MCUから送信されたデータと自身が生成したデータとの一致比較を行い、一致したことを条件としてデータを後段のバス変換ICに送信することで、通信の2重化が図られるようになっている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ネットワーク機器の機能安全設計の複雑度を下げる手法として、ブラックチャネル・アプローチがある。ブラックチャネルとして認められた通信経路は、通信エラーを比較的高い確率で検出できる。その結果、通信経路の故障率が無視できるほど小さくなるため、モジュール結合の自由度が向上する。ブラックチャネルに対応させるためには、通信エラーをアプリケーション側で確実に検出できる仕組みを設けるとともに、その証明が必要となる。
【0007】
上記した従来の構成では、第1MCUにおいて各データの一致比較が行われる際、2重の状態ではなく1重の状態になってしまう。つまり、従来の構成では、第1MCUが、第2MCUから送信されたデータを改ざんすることが可能であるため、仮に第1MCUに何らかの異常や故障が生じた場合に、後段に誤ったデータが送信されるおそれがある。このようなことから、従来の構成では、通信経路をブラックチャネルに対応させることができないという課題があった。
【0008】
本発明は上記事情に鑑みてなされたものであり、その目的は、入力信号を取り込むための通信を2重化するとともに通信経路のブラックチャネル対応を実現することができる産業用制御装置を提供することにある。
【課題を解決するための手段】
【0009】
請求項1に記載の産業用制御装置は、CPUモジュールと、外部から入力される入力信号に対応した内部データを生成するとともに通信を介して内部データをCPUモジュールに送信する入力モジュールと、を備える。入力モジュールは、第1制御部および第2制御部を備える。第1制御部は、入力信号を入力するとともに第1制御データを生成して出力する。第2制御部は、入力信号を入力するとともに第2制御データを生成して出力する。このような第1制御部および第2制御部を備える入力モジュールは、第1制御データに対応した内部データを生成して出力するようになっている。このように、上記構成では、入力信号をCPUモジュールへと取り込むための通信は、物理的には2重化されていない。
【0010】
しかしながら、上記構成では、各部が次のような機能を備えることにより、物理的な2重化と同等の機能を実現する意味的な2重化が図られている。すなわち、この場合、第1制御部および第2制御部は、同じ入力信号に対して、それぞれ独自の解釈でデータ生成するようになっている。具体的には、第2制御部は、入力信号に対応した入力データである第2入力データを第1制御部では復号することができないデータに符号化することにより第2制御データを生成し、第2制御データを第1制御部に送信する。そして、第1制御部は、入力信号に対応した入力データである第1入力データと第2制御データとを統合することにより第1制御データを生成する。このように、上記構成では、2つの制御部、つまり第1制御部および第2制御部は、互いに異なる役割を果たすようになっている。
【0011】
上記構成において、CPUモジュールは、第2制御データを復号する機能を有する判定部を備える。判定部は、内部データから第1入力データおよび第2入力データを抽出し、第1入力データおよび第2入力データの一致比較により入力データの正誤判定を行う。このような構成では、第2制御部に何らかの異常、故障などが生じた場合、その異常、故障などに起因して第2入力データ、ひいては第2制御データが本来のデータとは異なるデータとなる可能性があるが、この場合、判定部による一致比較において不一致となって入力データの誤り、つまり通信エラーが検出される。
【0012】
また、上記構成では、第1制御部に何らかの異常、故障などが生じた場合、その異常、故障などに起因して第1入力データが本来のデータとは異なるデータとなる可能性がある。ただし、この場合、第1制御部は、第2制御部から送信された第2制御データを復号することができない。したがって、異常、故障などが生じた第1制御部により第2制御データが改ざんされる可能性は極めて低い。そのため、この場合も、判定部による一致比較において不一致となって入力データの誤り、つまり通信エラーが検出される。このように、上記構成によれば、入力信号をCPUモジュールに取り込むための通信を物理的に2重化した構成と同様の機能、具体的には、通信エラーを確実に検出する仕組みを実現することができる。したがって、上記構成によれば、入力信号を取り込むための通信を2重化するとともに通信経路のブラックチャネル対応を実現することができるという優れた効果が得られる。
【0013】
請求項2に記載の産業用制御装置では、第1制御部は、第1入力データを符号化することにより第1符号化データを生成し、第1符号化データと第2制御データとを統合することにより第1制御データを生成するようになっている。このような構成によれば、第1制御データ、ひいては入力モジュールからCPUモジュールに送信される内部データは、全て符号化されたデータとなることから、例えば悪意のある第三者によるデータ改ざんが困難なものとなり、そのセキュリティ性が向上する。また、このように全てのデータが符号化された内部データは、一部のデータが符号化された内部データに比べ、そのデータ量が小さく抑えられるため、上記構成によれば、入力モジュールとCPUモジュールとの間における通信について、負荷の軽減、高速化の実現などに寄与することができる。
【0014】
請求項3に記載の産業用制御装置では、第1制御部は、第1入力データと第2制御データとを統合するとともに符号化することにより第1制御データを生成するようになっている。このような構成によれば、第1制御データ、ひいては入力モジュールからCPUモジュールに送信される内部データは、全て符号化されたデータとなることから、例えば悪意のある第三者によるデータ改ざんが困難なものとなり、そのセキュリティ性が向上する。また、このように全てのデータが符号化された内部データは、一部のデータが符号化された内部データに比べ、そのデータ量が小さく抑えられるため、上記構成によれば、入力モジュールとCPUモジュールとの間における通信について、負荷の軽減、高速化の実現などに寄与することができる。
【0015】
請求項4に記載の産業用制御装置では、第1制御部は、第1符号化データと第2制御データとを統合するとともに、第1符号化データを生成する際とは異なる内容で符号化することにより第1制御データを生成するようになっている。つまり、この場合、内部データは、その元となる第1入力データおよび第2入力データに対して2重で符号化されることにより生成されている。そのため、上記構成によれば、例えば悪意のある第三者によるデータ改ざんが一層困難なものとなり、そのセキュリティ性がさらに向上する。また、上記構成によれば、2重の符号化により内部データのデータ量が一層小さく抑えられるため、入力モジュールとCPUモジュールとの間における通信について、負荷のさらなる軽減、さらなる高速化の実現などに寄与することができる。
【0016】
外部から入力される入力信号がアナログ信号である場合、第1入力データおよび第2入力データのタイミングにずれが生じていると、入力データが正しいものであるにもかかわらず、判定部による一致比較において不一致となり、入力データが誤りであると誤判定されるおそれがある。そこで、請求項5に記載の産業用制御装置では、第1制御部において統合される各データは、同じタイミングの入力信号に対応したデータとなっている。このようにすれば、判定部により一致比較される第1入力データおよび第2入力データは、同時のデータとして担保されるため、入力信号がアナログ信号である場合でも、判定部による一致比較により入力データの正誤判定を精度良く行うことができる。
【図面の簡単な説明】
【0017】
【
図1】第1実施形態に係るPLCの構成を模式的に示す図
【
図2】第1実施形態に係る第2MCUにより実行される処理の具体的な内容の一例を示すフローチャート
【
図3】第1実施形態に係る第1MCUにより実行される処理の具体的な内容の一例を示すフローチャート
【
図4】第1実施形態に係るCPUモジュールの判定部により実行される処理の具体的な内容の一例を示すフローチャート
【
図5】第2実施形態に係る第1MCUにより実行される処理の具体的な内容の一例を示すフローチャート
【
図6】第2実施形態に係るCPUモジュールの判定部により実行される処理の具体的な内容の一例を示すフローチャート
【
図7】第3実施形態に係る第1MCUにより実行される処理の具体的な内容の一例を示すフローチャート
【
図8】第3実施形態に係るCPUモジュールの判定部により実行される処理の具体的な内容の一例を示すフローチャート
【
図9】第4実施形態に係る第1MCUにより実行される処理の具体的な内容の一例を示すフローチャート
【
図10】第4実施形態に係るCPUモジュールの判定部により実行される処理の具体的な内容の一例を示すフローチャート
【
図11】第5実施形態に係る第2MCUにより実行される処理の具体的な内容の一例を示すフローチャート
【
図12】第5実施形態に係る第1MCUにより実行される処理の具体的な内容の一例を示すフローチャート
【
図13】第6実施形態に係るPLCの構成を模式的に示す図
【発明を実施するための形態】
【0018】
以下、複数の実施形態について図面を参照して説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
(第1実施形態)
以下、第1実施形態について
図1~
図4を参照して説明する。
【0019】
図1に示すように、産業用制御装置であるPLC1は、CPUモジュール2、入力モジュール3、図示しない出力モジュールなどを備えている。CPUモジュール2および入力モジュール3含めたPLC1を構成する各モジュールは、バス通信ライン4を介して、それぞれの間で通信可能に構成されている。なお、本実施形態では、バス通信ライン4を介した通信は、例えばEthernet/IP,EtherCAT,PROFINETなどの産業ネットワーク規格による通信となっている。
【0020】
入力モジュール3は、外部から入力される入力信号SaをCPUモジュール2へと取り込むためのものであり、第1入力回路5、第2入力回路6、第1MCU7、第2MCU8、バス変換IC9などを備えている。本実施形態では、入力信号Saは、各種のセンサ、各種のスイッチなどから出力されるアナログ信号となっている。この場合、入力モジュール3は、入力信号Saに対応した内部データDaを生成するとともに通信を介して内部データDaをCPUモジュール2に送信する。
【0021】
第1入力回路5は、端子10を介して与えられる入力信号Saを第1MCU7に入力可能なレベルの信号に変換し、その変換後の信号を第1MCU7へ出力する。第2入力回路6は、入力信号Saを第2MCU8に入力可能なレベルの信号に変換し、その変換後の信号を第2MCU8へ出力する。このようなレベル変換後の信号は、レベルが異なる以外は入力信号Saと同じ態様の信号となる。そのため、以下の説明では、レベル変換後の信号についても入力信号Saと称することとする。
【0022】
なお、外部から与えられる入力信号Saのレベルが第1MCU7および第2MCU8に入力可能な範囲のレベルである場合、第1入力回路5および第2入力回路6を省くこともできる。第1MCU7は、入力信号Saを入力するとともに第1制御データDbを生成して出力するものであり、第1制御部として機能する。第2MCU8は、入力信号Saを入力するとともに第2制御データDcを生成して出力するものであり、第2制御部として機能する。
【0023】
バス変換IC9には、第1MCU7から出力される第1制御データDbが入力されている。バス変換IC9は、第1制御データDbを通信に対応した通信パケットなどの内部データDaに変換する。つまり、バス変換IC9は、第1制御データDbを入力するとともに第1制御データDbに対応した内部データDaを生成して出力するものであり、データ生成部として機能する。バス変換IC9において、内部データDaの生成は、ソフトウェア処理により行われる。バス変換IC9は、生成した内部データDaを含む通信データを通信によりCPUモジュール2に送信する。
【0024】
第2MCU8は、入力信号SaをA/D変換するなどして入力信号Saに対応した入力データである第2入力データを取得する。第2MCU8は、第2入力データを第1MCU7では復号することができないデータに符号化することにより第2制御データDcを生成し、第2制御データDcを第1MCU7に送信する。第1MCU7は、入力信号SaをA/D変換するなどして入力信号Saに対応した入力データである第1入力データを取得する。第1MCU7は、第1入力データと第2MCU8から送信される第2制御データDcとを統合することにより、第1制御データDbを生成する。第1MCU7により取得される第1入力データと第2MCU8により取得される第2入力データとは、何らかの異常、故障などが生じていない限り、同じデータとなる。
【0025】
第1MCU7において統合される各データは、同じタイミングの入力信号Saに対応したデータとなっている、つまり統合される各データの同期が図られている。各データの同期は、次のような手法により図られるようになっている。すなわち、第1MCU7は、フラッシュROM、RAMなどのメモリを備えており、そのメモリには、第1入力データおよび第2MCU8から送信される第2制御データDcが格納される。このように、第2MCU8は、自身で生成した第2制御データDcの保存先を自身のメモリではなく、第1MCU7のメモリとするようにしている。
【0026】
第1MCU7が備えるメモリの記憶領域は、予め定められた微小時間のデータ受付時間毎に分けられており、同じデータ受付時間が設定されたデータが同じ領域に格納されるようになっている。第1MCU7は、同じ領域に格納された第1入力データおよび第2制御データDcを読み出したうえで、それら各データを連結して統合することにより第1制御データDbを生成する。このような手法により、第1MCU7において統合される各データの同期性、同時性が担保されるようになっている。
【0027】
CPUモジュール2は、第2制御データDcを復号する機能を有する判定部11を備えている。判定部11は、ソフトウェア処理により実現されている。判定部11には、内部データDaが入力されている。判定部11は、データ連結の規則を含む内部データDaの構造を把握している。そのため、判定部11は、入力された内部データDaを、第1入力データと第2制御データDcと分離することができる。そして、判定部11は、符号化されたデータである第2制御データDcを復号することにより第2入力データを取得する。このように、判定部11は、内部データDaから第1入力データおよび第2入力データを抽出し、第1入力データおよび第2入力データの一致比較により入力データの正誤判定を行う。
【0028】
上記構成において、第1MCU7および第2MCU8の間では、シリアル通信が行われるようになっており、これにより、第1MCU7および第2MCU8の間での相互監視が実現されている。このような相互監視は、例えば1時間など比較的長い時間毎に他の処理とともに実施されるようになっている。
【0029】
次に、上記構成による具体的な処理内容の一例について
図2~
図4を参照して説明する。
[1]第2MCU8による処理
第2MCU8により実行される処理の具体的な内容としては、例えば
図2に示すようなものとなる。まず、ステップS101では、第2MCU8は、入力信号Saが表すデータ、つまり入力信号Saに対応した入力データである第2入力データを取得する。ステップS102では、第2MCU8は、第2入力データを第1MCU7では復号することができないデータに符号化することにより第2制御データDcを生成する。この場合、符号化の手法としては、例えばCRCなどを採用することができる。なお、CRCは、Cyclic Redundancy Checkingの略称である。
【0030】
ステップS103では、第2MCU8は、第2制御データDcのデータ受付時間を設定する。データ受付時間は、第2制御データDcに対応した入力信号Saが入力モジュール3に入力された時間に相当する。ステップS104では、第2MCU8は、データ受付時間が設定された第2制御データDcを第1MCU7へ送信する。ステップS104の実行後、本処理が終了となる。第2MCU8は、上述した一連の処理を所定の周期で繰り返し実行するようになっている。
【0031】
[2]第1MCU7による処理
第1MCU7により実行される処理の具体的な内容としては、例えば
図3に示すようなものとなる。まず、ステップS201では、第1MCU7は、入力信号Saが表すデータ、つまり入力信号Saに対応した入力データである第1入力データを取得する。ステップS202では、第1MCU7は、第1入力データのデータ受付時間を設定する。データ受付時間は、第1入力データに対応した入力信号Saが入力モジュール3に入力された時間に相当する。
【0032】
ステップS203では、第1MCU7は、メモリの同じ領域に格納された第1入力データおよび第2制御データDcを読み出したうえで、それら各データを連結して統合することにより第1制御データDbを生成する。ステップS204では、第1MCU7は、第1制御データDbをバス変換IC9へ送信する。ステップS204の実行後、本処理が終了となる。第1MCU7は、上述した一連の処理を所定の周期で繰り返し実行するようになっている。
【0033】
[3]CPUモジュール2の判定部11による処理
CPUモジュール2の判定部11により実行される処理の具体的な内容としては、例えば
図4に示すようなものとなる。まず、ステップS301では、判定部11は、入力モジュール3から送信された内部データDaを、第1入力データと第2制御データDcとに分離する。ステップS302では、判定部11は、第2制御データDcを復号することにより第2入力データを取得する。
【0034】
ステップS303では、上述したようにして内部データDaから抽出した第1入力データおよび第2入力データの一致比較を行うことにより入力データの正誤判定を実施する。CPUモジュール2は、判定部11による正誤判定の結果、入力データが正しいと判定された場合には入力データに基づいた所定の処理を実行する。また、CPUモジュール2は、判定部11による正誤判定の結果、入力データが正しくないと判定された場合には通信を停止するなど安全側となるようなフェールセーフの処理を実行する。ステップS303の実行後、本処理が終了となる。CPUモジュール2の判定部11は、上述した一連の処理を所定の周期で繰り返し実行するようになっている。
【0035】
以上説明したように、本実施形態によれば次のような効果が得られる。
本実施形態の入力モジュール3は、第1MCU7、第2MCU8およびバス変換IC9を備えている。第1MCU7は、入力信号Saを入力するとともに第1制御データDbを生成して出力する。第2MCU8は、入力信号Saを入力するとともに第2制御データDcを生成して出力する。バス変換IC9は、第1制御データDbを入力するとともに第1制御データDbに対応した内部データDaを生成してCPUモジュール2へ送信する。このように、本実施形態の構成では、入力信号SaをCPUモジュール2へと取り込むための通信は、物理的には2重化されていない。
【0036】
しかしながら、上記構成では、各部が次のような機能を備えることにより、物理的な2重化と同等の機能を実現する意味的な2重化が図られている。すなわち、この場合、第1MCU7および第2MCU8は、同じ入力信号Saに対して、それぞれ独自の解釈でデータ生成するようになっている。具体的には、第2MCU8は、入力信号Saに対応した入力データである第2入力データを第1MCU7では復号することができないデータに符号化することにより第2制御データDcを生成し、第2制御データDcを第1MCU7に送信する。第1MCU7は、入力信号Saに対応した入力データである第1入力データと第2制御データDcとを統合することにより第1制御データDbを生成する。このように、上記構成では、2つのMCU、つまり第1MCU7および第2MCU8は、互いに異なる役割を果たすようになっている。
【0037】
上記構成において、CPUモジュール2は、第2制御データDcを復号する機能を有する判定部11を備える。判定部11は、内部データDaから第1入力データおよび第2入力データを抽出し、第1入力データおよび第2入力データの一致比較により入力データの正誤判定を行う。このような構成では、第2MCU8に何らかの異常、故障などが生じた場合、その異常、故障などに起因して第2入力データ、ひいては第2制御データDcが本来のデータとは異なるデータとなる可能性があるが、この場合、判定部11による一致比較において不一致となって入力データの誤り、つまり通信エラーが検出される。
【0038】
また、上記構成では、第1MCU7に何らかの異常、故障などが生じた場合、その異常、故障などに起因して第1入力データが本来のデータとは異なるデータとなる可能性がある。ただし、この場合、第1MCU7は、第2MCU8から送信された第2制御データDcを復号することができない。したがって、異常、故障などが生じた第1MCU7により第2制御データDcが改ざんされる可能性は極めて低い。そのため、この場合も、判定部11による一致比較において不一致となって入力データの誤り、つまり通信エラーが検出される。
【0039】
このように、本実施形態の構成によれば、入力信号SaをCPUモジュール2に取り込むための通信を物理的に2重化した構成と同様の機能、具体的には、通信エラーを確実に検出する仕組みを実現することができる。したがって、本実施形態の構成によれば、入力信号Saを取り込むための通信を2重化するとともに通信経路のブラックチャネル対応を実現することができるという優れた効果が得られる。このように、本実施形態の構成によれば、通信エラーの検出にブラックチャネル・アプローチを適用することで、第1MCU7および第2MCU8の仕事量が低減されて、Safety Reaction Timeが削減され、その結果、機能安全製品の設計にかかる複雑度を低減することができる。
【0040】
第1入力データおよび第2入力データのタイミングにずれが生じていると、入力データが正しいものであるにもかかわらず、判定部11による一致比較において不一致となり、入力データが誤りであると誤判定されるおそれがある。特に、外部から入力される入力信号Saがアナログ信号である場合、このようなタイミングのずれに起因する問題がより顕著に表れることになる。そこで、本実施形態では、第1MCU7において統合される各データは、同じタイミングの入力信号Saに対応したデータとなっている。このようにすれば、判定部11により一致比較される第1入力データおよび第2入力データは、同時のデータとして担保されるため、入力信号Saがアナログ信号である場合でも、判定部11による一致比較により入力データの正誤判定を精度良く行うことができる。
【0041】
本実施形態の構成において、第1MCU7は、第1入力データおよび第2制御データDcを連結して送信するという役割を担うことができればよく、2つのデータの一致比較を行うような機能を備える必要はない。また、第2MCU8は、第2入力データを符号化して第2制御データDcを生成して送信するという役割を担うことができればよく、2つのデータの一致比較を行うような機能を備える必要はない。このようなことから、第1MCU7および第2MCU8としては、演算能力などが比較的低い性能のMCU、つまり機能がシンプルなMCUを採用することができ、これにより入力モジュール3の製造コストを低減することができる。
【0042】
(第2実施形態)
以下、第1実施形態に対し、入力モジュール3およびCPUモジュール2において実行される処理内容が変更された第2実施形態について
図5および
図6を参照して説明する。
本実施形態では、第1MCU7による第1制御データDbの生成のための処理などの内容が第1実施形態とは異なっている。この場合、第1MCU7は、第1入力データを符号化することにより第1符号化データを生成し、第1符号化データと第2MCU8から送信される第2制御データDcとを統合することにより、第1制御データDbを生成するようになっている。
【0043】
具体的には、第1MCU7は、同じ領域に格納された第1符号化データおよび第2制御データDcを読み出したうえで、それら各データを連結して統合することにより第1制御データDbを生成する。また、この場合、CPUモジュール2の判定部11は、第1符号化データを復号する機能を有している。そのため、判定部11は、第1符号化データを復号することにより第1入力データを取得するようになっている。
【0044】
次に、上記構成による具体的な処理内容の一例について
図5および
図6を参照して説明する。なお、第2MCU8による処理については、第1実施形態と同様であるため、ここでは、その説明を省略する。
[1]第1MCU7による処理
本実施形態の第1MCU7により実行される処理の具体的な内容としては、例えば
図5に示すようなものとなる。
図5に示す本実施形態の処理内容は、
図3に示した第1実施形態の処理内容に対し、ステップS202およびS203に代えてステップS211、S212およびS213が設けられている点などが異なっている。この場合、ステップS201の実行後、ステップS211に進む。
【0045】
ステップS211では、第1MCU7は、第1入力データを符号化することにより第1符号化データを生成する。この場合、符号化の手法としては、例えばCRCなどを採用することができる。ステップS212では、第1MCU7は、第1符号化データのデータ受付時間を設定する。ステップS213では、第1MCU7は、メモリの同じ領域に格納された第1符号化データおよび第2制御データDcを読み出したうえで、それら各データを連結して統合することにより第1制御データDbを生成する。
【0046】
[2]CPUモジュール2の判定部11による処理
本実施形態のCPUモジュール2の判定部11により実行される処理の具体的な内容としては、例えば
図6に示すようなものとなる。
図6に示す本実施形態の処理内容は、
図4に示した第1実施形態の処理内容に対し、ステップS301に代えてステップS311およびS312が設けられている点などが異なっている。この場合、本処理の開始後、まずステップS311が実行される。ステップS311では、判定部11は、入力モジュール3から送信された内部データDaを、第1符号化データと第2制御データDcとに分離する。ステップS312では、判定部11は、第1符号化データを復号することにより第1入力データを取得する。
【0047】
以上説明した本実施形態によっても、第1実施形態と同様、入力信号SaをCPUモジュール2に取り込むための通信を物理的に2重化した構成と同様の機能を実現することができるため、第1実施形態と同様の効果が得られる。また、本実施形態によれば、次のような効果が得られる。すなわち、本実施形態の第1MCU7は、第1入力データを符号化することにより第1符号化データを生成し、第1符号化データと第2制御データDcとを統合することにより第1制御データDbを生成するようになっている。
【0048】
このような構成によれば、第1制御データDb、ひいては入力モジュール3からCPUモジュール2に送信される内部データDaは、全て符号化されたデータとなることから、例えば悪意のある第三者によるデータ改ざんが困難なものとなり、そのセキュリティ性が向上する。また、このように全てのデータが符号化された本実施形態の内部データDaは、一部のデータが符号化された第1実施形態の内部データDaに比べ、そのデータ量が小さく抑えられる、つまり通信パケットが圧縮される。
【0049】
そのため、本実施形態の構成によれば、入力モジュール3とCPUモジュール2との間における通信について、負荷の軽減、高速化の実現などに寄与することができる。このような本実施形態により得られる効果は、入力信号Saに対応した入力データのデータ量が大きいほど、符号化による通信パケットの圧縮効果がより顕在化することから、一層効果的なものとなる。
【0050】
(第3実施形態)
以下、第1実施形態に対し、入力モジュール3およびCPUモジュール2において実行される処理内容が変更された第3実施形態について
図7および
図8を参照して説明する。
本実施形態では、第1MCU7による第1制御データDbの生成のための処理などの内容が第1実施形態とは異なっている。この場合、第1MCU7は、第1入力データと第2制御データDcとを統合するとともに符号化することにより第1制御データDbを生成するようになっている。また、この場合、CPUモジュール2の判定部11は、符号化された第1制御データDbを復号する機能を有している。そのため、判定部11は、内部データDa、ひいては第1制御データDbを復号することにより、第1入力データを取得するようになっている。
【0051】
次に、上記構成による具体的な処理内容の一例について
図7および
図8を参照して説明する。なお、第2MCU8による処理については、第1実施形態と同様であるため、ここでは、その説明を省略する。
[1]第1MCU7による処理
本実施形態の第1MCU7により実行される処理の具体的な内容としては、例えば
図7に示すようなものとなる。
【0052】
図7に示す本実施形態の処理内容は、
図3に示した第1実施形態の処理内容に対し、ステップS203に代えてステップS221が設けられている点などが異なっている。ステップS221では、第1MCU7は、メモリの同じ領域に格納された第1入力データおよび第2制御データDcを読み出したうえで、それら各データを連結して統合するとともに符号化することにより第1制御データDbを生成する。この場合、符号化の手法としては、例えばCRCなどを採用することができる。
【0053】
[2]CPUモジュール2の判定部11による処理
本実施形態のCPUモジュール2の判定部11により実行される処理の具体的な内容としては、例えば
図8に示すようなものとなる。
図8に示す本実施形態の処理内容は、
図4に示した第1実施形態の処理内容に対し、ステップS301に代えてステップS321が設けられている点などが異なっている。ステップS321では、判定部11は、入力モジュール3から送信された内部データDaを復号し、その復号した後のデータを第1入力データと第2制御データDcとに分離する。
【0054】
以上説明した本実施形態によっても、第1実施形態と同様、入力信号SaをCPUモジュール2に取り込むための通信を物理的に2重化した構成と同様の機能を実現することができるため、第1実施形態と同様の効果が得られる。また、本実施形態によれば、次のような効果が得られる。すなわち、本実施形態の第1MCU7は、第1入力データと第2制御データDcとを統合するとともに符号化することにより第1制御データDbを生成するようになっている。
【0055】
このような構成によれば、第1制御データDb、ひいては入力モジュール3からCPUモジュール2に送信される内部データDaは、全て符号化されたデータとなることから、例えば悪意のある第三者によるデータ改ざんが困難なものとなり、そのセキュリティ性が向上する。また、このように全てのデータが符号化された本実施形態の内部データDaは、一部のデータが符号化された第1実施形態の内部データDaに比べ、そのデータ量が小さく抑えられる、つまり通信パケットが圧縮される。
【0056】
そのため、本実施形態の構成によれば、入力モジュール3とCPUモジュール2との間における通信について、負荷の軽減、高速化の実現などに寄与することができる。このような本実施形態により得られる効果は、入力信号Saに対応した入力データのデータ量が大きいほど、符号化による通信パケットの圧縮効果がより顕在化することから、一層効果的なものとなる。
【0057】
(第4実施形態)
以下、第2実施形態に対し、入力モジュール3およびCPUモジュール2において実行される処理内容が変更された第4実施形態について
図9および
図10を参照して説明する。
本実施形態では、第1MCU7による第1制御データDbの生成のための処理などの内容が第2実施形態とは異なっている。
【0058】
この場合、第1MCU7は、第1符号化データと第2制御データDcとを統合するとともに、第1符号化データを生成する際とは異なる内容で符号化することにより、つまり異なる暗号化テーブルでの符号化処理により、第1制御データDbを生成するようになっている。また、この場合、CPUモジュール2の判定部11は、第1制御データDbを復号する機能を有している。そのため、判定部11は、内部データDa、ひいては第1制御データDbを復号するとともに、第1符号化データを復号することにより第1入力データを取得するようになっている。
【0059】
次に、上記構成による具体的な処理内容の一例について
図9および
図10を参照して説明する。なお、第2MCU8による処理については、第1実施形態と同様であるため、ここでは、その説明を省略する。
[1]第1MCU7による処理
本実施形態の第1MCU7により実行される処理の具体的な内容としては、例えば
図9に示すようなものとなる。
【0060】
図9に示す本実施形態の処理内容は、
図5に示した第2実施形態の処理内容に対し、ステップS213に代えてステップS231が設けられている点などが異なっている。ステップS231では、第1MCU7は、メモリの同じ領域に格納された第1符号化データおよび第2制御データDcを読み出したうえで、それら各データを連結して統合するとともに符号化することにより第1制御データDbを生成する。この場合、符号化の手法としては、例えばCRCなどを採用することができる。
【0061】
[2]CPUモジュール2の判定部11による処理
本実施形態のCPUモジュール2の判定部11により実行される処理の具体的な内容としては、例えば
図10に示すようなものとなる。
図10に示す本実施形態の処理内容は、
図6に示した第2実施形態の処理内容に対し、ステップS311に代えてステップS331が設けられている点などが異なっている。ステップS331では、判定部11は、入力モジュール3から送信された内部データDaを復号し、その復号した後のデータを第1符号化データと第2制御データDcとに分離する。
【0062】
以上説明した本実施形態によっても、第1実施形態と同様、入力信号SaをCPUモジュール2に取り込むための通信を物理的に2重化した構成と同様の機能を実現することができるため、第1実施形態と同様の効果が得られる。また、本実施形態によれば、次のような効果が得られる。すなわち、本実施形態の第1MCU7は、第1符号化データと第2制御データDcとを統合するとともに、第1符号化データを生成する際とは異なる内容で符号化することにより第1制御データDbを生成するようになっている。つまり、この場合、第1制御データDb、ひいては内部データDaは、その元となる第1入力データおよび第2入力データに対して2重で符号化されることにより生成されている。
【0063】
そのため、本実施形態の構成によれば、例えば悪意のある第三者によるデータ改ざんが一層困難なものとなり、そのセキュリティ性がさらに向上する。また、本実施形態の構成によれば、2重の符号化により内部データDaのデータ量が一層小さく抑えられるため、入力モジュール3とCPUモジュール2との間における通信について、負荷のさらなる軽減、さらなる高速化の実現などに寄与することができる。このような本実施形態により得られる効果は、入力信号Saに対応した入力データのデータ量が大きいほど、符号化による通信パケットの圧縮効果がより顕在化することから、一層効果的なものとなる。
【0064】
(第5実施形態)
以下、第2実施形態に対し、入力モジュール3において実行される処理内容が変更された第5実施形態について
図11および
図12を参照して説明する。
本実施形態では、第1MCU7による第1制御データDbの生成のための処理および第2MCU8による第2制御データDcの生成のための処理などの内容が第2実施形態とは異なっている。
【0065】
この場合、第2MCU8は、第2入力データを符号化する際、タイムスタンプを生成し、そのタイムスタンプを第2制御データDcに付与する。また、この場合、第1MCU7は、第1入力データを符号化する際、タイムスタンプを生成し、そのタイムスタンプを第1符号化データに付与する。第1MCU7は、同じ時間帯を表すタイムスタンプが付与された第1符号化データおよび第2制御データDcを連結して統合することにより第1制御データDbを生成する。これにより、本実施形態の第1MCU7において統合される各データは、同じタイミングの入力信号Saに対応したデータとなっている、つまり統合される各データの同期が図られている。
【0066】
次に、上記構成による具体的な処理内容の一例について
図11および
図12を参照して説明する。なお、CPUモジュール2の判定部11による処理については、第1実施形態と同様であるため、ここでは、その説明を省略する。
[1]第2MCU8による処理
本実施形態の第2MCU8により実行される処理の具体的な内容としては、例えば
図11に示すようなものとなる。
図11に示す本実施形態の処理内容は、
図2に示した第1実施形態の処理内容に対し、ステップS103に代えてステップS141が設けられている点などが異なっている。ステップS141では、第2MCU8は、符号化の際に生成したタイムスタンプを第2制御データDcに付与する。
【0067】
[2]第1MCU7による処理
本実施形態の第1MCU7により実行される処理の具体的な内容としては、例えば
図12に示すようなものとなる。
図12に示す本実施形態の処理内容は、
図5に示した第2実施形態の処理内容に対し、ステップS212およびS213に代えてステップS241およびS242が設けられている点などが異なっている。ステップS241では、第1MCU7は、符号化の際に生成したタイムスタンプを第1符号化データに付与する。ステップS242では、第1MCU7は、同じタイムスタンプが付与された第1符号化データおよび第2制御データDcを連結して統合することにより第1制御データDbを生成する。
【0068】
以上説明した本実施形態によっても、第1実施形態と同様、入力信号SaをCPUモジュール2に取り込むための通信を物理的に2重化した構成と同様の機能を実現することができる。また、本実施形態によっても、第1MCU7において統合される各データは、同じタイミングの入力信号Saに対応したデータとなっている。したがって、本実施形態によっても、第1実施形態と同様、判定部11により一致比較される第1入力データおよび第2入力データは、同時のデータとして担保されるため、入力信号Saがアナログ信号である場合でも、判定部11による一致比較により入力データの正誤判定を精度良く行うことができる。
【0069】
(第6実施形態)
以下、第6実施形態について
図13を参照して説明する。
図13に示すように、本実施形態のPLC21の入力モジュール22は、第1実施形態の入力モジュール3に対し、第1MCU7、第2MCU8およびバス変換IC9に代えて第1MCU23、第2MCU24およびバス変換IC25を備えている点などが異なっている。バス変換IC25は、バス変換IC9よりも多機能なICとなっており、第3MCU26を備えている。
【0070】
第1MCU23は、第1MCU7と同様、入力信号SaをA/D変換するなどして入力信号Saに対応した入力データである第1入力データを取得する。第1MCU23は、第1入力データを符号化することにより第1符号化データDdを生成する。第1MCU23は、第1入力データを符号化する際、タイムスタンプを生成し、そのタイムスタンプを第1符号化データDdに付与する。第1MCU23は、生成した第1符号化データDdをバス変換IC25の第3MCU26に送信する。
【0071】
第2MCU24は、第2MCU8と同様、第2制御部として機能する。すなわち、第2MCU24は、入力信号SaをA/D変換するなどして入力信号Saに対応した入力データである第2入力データを取得する。第2MCU24は、第2入力データを第3MCU26では復号することができないデータに符号化することにより第2制御データDcを生成する。第2MCU24は、第2入力データを符号化する際、タイムスタンプを生成し、そのタイムスタンプを第2制御データDcに付与する。第2MCU24は、第2制御データDcをバス変換IC25の第3MCU26に送信する。
【0072】
バス変換IC25の第3MCU26は、同じ時間帯のタイムスタンプが付与された第1符号化データDdおよび第2制御データDcを連結して統合することにより第1制御データDbを生成する。これにより、第3MCU26において統合される各データは、同じタイミングの入力信号Saに対応したデータとなっている、つまり統合される各データの同期が図られている。このように、本実施形態では、第1MCU23および第3MCU26が協働することにより第1制御部として機能する。
【0073】
バス変換IC25の第3MCU26は、バス変換IC9と同様、第1制御データDbを通信に対応した通信パケットなどの内部データDaに変換する。つまり、バス変換IC25は、第1制御データDbを入力するとともに第1制御データDbに対応した内部データDaを生成して出力するものであり、データ生成部として機能する。バス変換IC25の第3MCU26は、生成した内部データDaを含む通信データを通信によりCPUモジュール2に送信する。
【0074】
以上説明した本実施形態によっても、第1実施形態と同様、入力信号SaをCPUモジュール2に取り込むための通信を物理的に2重化した構成と同様の機能を実現することができる。また、本実施形態によっても、第3MCU26において統合される各データは、同じタイミングの入力信号Saに対応したデータとなっている。したがって、本実施形態によっても、第1実施形態と同様、判定部11により一致比較される第1入力データおよび第2入力データは、同時のデータとして担保されるため、入力信号Saがアナログ信号である場合でも、判定部11による一致比較により入力データの正誤判定を精度良く行うことができる。
【0075】
(その他の実施形態)
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で任意に変形、組み合わせ、あるいは拡張することができる。
上記実施形態で示した数値などは例示であり、それに限定されるものではない。
【0076】
上記各実施形態では、第1MCU7または第3MCU26において統合される各データが同じタイミングの入力信号Saに対応したデータとなるように各データの同期がとられていたが、例えば入力信号Saがデジタル信号である場合などには、このような各データの同期を必ずしもとらなくともよい。
データの符号化の手法としては、CRCに限らず、ある程度複雑な演算、ある程度高度な演算などであればよい。
【符号の説明】
【0077】
1、21…PLC、2…CPUモジュール、3、22…入力モジュール、7、23…第1MCU、8、24…第2MCU、9、25…バス変換IC、11…判定部、26…第3MCU。