JP2020187651A - 装置、通信モジュール、アプリケーションモジュールおよび方法 - Google Patents

装置、通信モジュール、アプリケーションモジュールおよび方法 Download PDF

Info

Publication number
JP2020187651A
JP2020187651A JP2019093151A JP2019093151A JP2020187651A JP 2020187651 A JP2020187651 A JP 2020187651A JP 2019093151 A JP2019093151 A JP 2019093151A JP 2019093151 A JP2019093151 A JP 2019093151A JP 2020187651 A JP2020187651 A JP 2020187651A
Authority
JP
Japan
Prior art keywords
firmware
memory
processor
application module
communication
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.)
Granted
Application number
JP2019093151A
Other languages
English (en)
Other versions
JP7103303B2 (ja
Inventor
落合 覚
Satoru Ochiai
覚 落合
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa 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
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2019093151A priority Critical patent/JP7103303B2/ja
Priority to CN202010337676.5A priority patent/CN111953726B/zh
Priority to US16/860,052 priority patent/US11494494B2/en
Priority to EP20172231.1A priority patent/EP3742288A1/en
Publication of JP2020187651A publication Critical patent/JP2020187651A/ja
Application granted granted Critical
Publication of JP7103303B2 publication Critical patent/JP7103303B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • G06F9/4415Self describing peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • G06F9/44547Fat binaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】装置の通信部分およびアプリケーション部分の一方を容易に交換することができる装置を提供する。【解決手段】装置6は、プロセッサ100および通信部102を有する通信モジュール10と、通信モジュールと着脱可能に結合されるアプリケーションモジュール14とを備え、アプリケーションモジュールは、センサ160、アクチュエータ161、並びに外部センサ7および外部アクチェータ8の少なくとも1つと接続するための通信ポート162のうちの少なくとも1つを含む機能ユニット144と、プロセッサが実行するファームウェアを格納するアプリケーションモジュールメモリ142とを有する。【選択図】図1

Description

本発明は、装置、通信モジュール、アプリケーションモジュールおよび方法に関する。
近年、モノのインターネット(IoT)および産業用IoT(IIoT)が注目されている。たとえば工場の製造ライン等のプラントにおいては、センサまたはアクチュエータ等を含む通信機能を有するフィールド機器を多数配置し、これらの接続先となるシステムによって製造ライン等の監視または制御を統括することが進められている。
従来のフィールド機器は、通信を行う通信部分と測定等を行うアプリケーション部分とが1つのモジュールに一体的に組み込まれていたため、ユーザ側でどちらか一方を分離して新しいものに交換することが難しかった。また、機器を動作させるファームウェアはアプリケーション部分の外部に格納されていたため、ユーザはセンサ等の一部のみを変更したい場合でも、機器全体を変更する必要があった。
上記課題を解決するために、本発明の第1の態様においては、装置を提供する。装置は、プロセッサおよび通信部を有する通信モジュールを備えてよい。装置は、通信モジュールと着脱可能に結合されるアプリケーションモジュールを備えてよい。アプリケーションモジュールは、センサ、アクチュエータ、並びに外部センサおよび外部アクチェータの少なくとも1つと接続するための通信ポートのうちの少なくとも1つを含む機能ユニットを有してよい。アプリケーションモジュールは、プロセッサが実行するファームウェアを格納するアプリケーションモジュールメモリを有してよい。
プロセッサは、ファームウェアを実行することにより、機能ユニットを制御し、かつ通信部を介して当該装置の接続先の機器との間の通信を行ってよい。
通信モジュールは、前記アプリケーションモジュールから取得したファームウェアを記憶するファームウェア領域を有するファームウェアメモリを更に有してよい。プロセッサは、ファームウェアメモリのファームウェア領域に記憶されたファームウェアを実行してよい。
プロセッサは、起動処理中に、通信モジュールに結合されたアプリケーションモジュールから識別情報を取得し、取得された識別情報と、ファームウェアメモリに格納されたファームウェアに対応付けられた識別情報とが一致しなかったことに応じて、アプリケーションモジュールメモリに格納されたファームウェアを取得してファームウェアメモリのファームウェア領域へ記憶してよい。
アプリケーションモジュールメモリは、1または複数のファームウェアを格納してよい。プロセッサは、起動処理中に、アプリケーションモジュールメモリに格納された1または複数のファームウェアのうち、通信モジュールが用いる通信プロトコルに対応するファームウェアをファームウェアメモリへ記憶してよい。
アプリケーションモジュールメモリは、ファームウェアに対応付けてファームウェアのバージョン情報を格納してよい。プロセッサは、起動処理中に、ファームウェアメモリに格納されたファームウェアのバージョン情報、およびアプリケーションモジュールメモリに格納されたファームウェアに対応付けられたバージョン情報を比較した結果に基づいて、アプリケーションモジュールメモリに格納されたファームウェアをファームウェアメモリのファームウェア領域へ記憶するか否かを決定してよい。
プロセッサは、起動処理中に、アプリケーションモジュールメモリに格納されたファームウェアをファームウェアメモリのバックアップ領域に記憶してプロセッサを再起動してよい。プロセッサは、再起動中に、ファームウェアメモリのバックアップ領域に記憶されたファームウェアを、ファームウェアメモリのファームウェア領域に記憶してよい。
プロセッサは、当該装置の接続先の機器からファームウェアをダウンロードしてアプリケーションモジュールメモリへと格納してよい。
アプリケーションモジュールメモリは、プロセッサが少なくとも1つの機能ユニットおよび通信部に関するデータを更に格納してよい。プロセッサは、アプリケーションモジュールメモリに格納されたデータを通信モジュール内のデータメモリへと記憶させて、該記憶されたデータを使用して処理を行ってよい。
本発明の第2の態様においては、通信モジュールを提供する。通信モジュールは、センサ、アクチュエータ、並びに外部センサおよび外部アクチェータの少なくとも1つと接続するための通信ポートのうちの少なくとも1つを含む機能ユニットを有するアプリケーションモジュールを着脱可能に結合するための接続部を備えてよい。通信モジュールは、プロセッサを備えてよい。通信モジュールは、通信部を備えてよい。プロセッサは、接続部によって結合されたアプリケーションモジュールが有するアプリケーションモジュールメモリに格納されたファームウェアを実行してよい。
本発明の第3の態様においては、アプリケーションモジュールを提供する。アプリケーションモジュールは、プロセッサおよび通信部を有する通信モジュールを着脱可能に結合するための接続部を備えてよい。アプリケーションモジュールは、センサ、アクチュエータ、並びに外部センサおよび外部アクチェータの少なくとも1つと接続するための通信ポートのうちの少なくとも1つを含む機能ユニットを備えてよい。アプリケーションモジュールは、プロセッサが実行するファームウェアを格納するアプリケーションモジュールメモリを備えてよい。アプリケーションモジュールは、アプリケーションモジュールメモリに格納されたファームウェアをプロセッサに提供してよい。
本発明の第4の態様においては、方法を提供する。方法は、プロセッサおよび通信部を有する通信モジュールが、センサ、アクチュエータ、並びに外部センサおよび外部アクチェータの少なくとも1つと接続するための通信ポートのうちの少なくとも1つを含む機能ユニット及びプロセッサが実行するファームウェアを格納するアプリケーションモジュールメモリを有する、通信モジュールと着脱可能なアプリケーションモジュールと結合することを備えてよい。方法は、アプリケーションモジュールが、プロセッサが実行するファームウェアをプロセッサに提供することを備えてよい。方法は、プロセッサが、アプリケーションモジュールから提供されたファームウェアを実行することを備えてよい。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態に係るシステム1を示す。 本実施形態に係るファームウェアメモリ106の構成を示す。 本実施形態に係るアプリケーションモジュールメモリ142の構成を示す。 本実施形態に係る装置6の起動処理実行中のブートローダーの動作を示す。 本実施形態に係る装置6の起動処理実行中および固有機能実行中の動作を示す。 本実施形態に係るアプリケーションモジュールメモリ142へのダウンロードファイルの構成を示す。 本実施形態に係るダウンロードファイルをアプリケーションモジュールメモリ142へダウンロードするフローを示す。 本実施形態に係る拡張装置80を外部センサ7および外部アクチュエータ8とともに示す。 本実施形態に係る外部メモリ830の構成を示す。 本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るシステム1を示す。システム1は、たとえばプラント等における製造ライン等の各機器を監視または制御する。システム1は、ネットワーク2と、サーバ3と、端末4と、ゲートウェイ5と、1または複数の装置6と、外部センサ7と、外部アクチュエータ8とを備える。たとえば、プラントは、化学等の工業プラント、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、または上下水やダム等を管理制御するプラント等がある。尚、上記のプラントは、あくまでも例示であり、上記のプラントに制限されない。
ネットワーク2は、サーバ3、端末4、および装置6の間を無線または有線により接続する。ネットワーク2は、インターネット、ワイドエリアネットワーク、またはローカルエリアネットワーク等であってよい。
サーバ3は、ネットワーク2を介して1または複数の装置6に各種情報を提供する。サーバ3は、端末4からの要求に応じた情報を装置6に提供する。サーバ3は、装置6から受信した各種情報を端末4に送信し、端末4のユーザに当該情報を提供する。サーバ3は、サーバ・コンピュータ等のコンピュータにより実現されてもよく、複数のコンピュータで実現された装置であってもよい。サーバ3は、クラウドコンピューティングシステムを提供してもよい。
端末4は、サーバ3を介してまたは直接、ユーザからの入力を装置6に送信する。端末4は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。
ゲートウェイ5は、装置6をネットワーク2に接続する上で、装置6および接続先の機器(たとえばサーバ3、端末4または外部のサーバ等)の通信プロトコルが異なる場合にプロトコル変換を行う。
装置6は、フィールド機器であってよい。装置6は、例えば流量計や温度センサ等のセンサ機器、流量制御弁や開閉弁等のバルブ機器、ファンやモータ等のアクチュエータ機器、および/またはその他のプラントの現場に設置される機器を有してよい。尚、上記の機器は、あくまでも例示であり、上記の機器に制限されない。装置6は、センサ等による測定若しくは監視またはアクチュエータ等の制御を行う。装置6は、通信モジュール10と、アプリケーションモジュール14とを備える。通信モジュール10とアプリケーションモジュール14とは、通信モジュール10が有する接続部120とアプリケーションモジュール14が有する接続部180とによって着脱可能に結合される。
通信モジュール10は、ゲートウェイ5を介して装置6をネットワーク2に接続させる。通信モジュール10はまた、ファームウェアを実行して当該通信モジュール10に接続されたアプリケーションモジュール14の各種制御を行う。ファームウェアは、通信モジュール10がネットワーク2に接続するために用いる通信プロトコルの種類およびアプリケーションモジュール14の機能(機能ユニット144)の種類ごとに存在し、各ファームウェアは、対応する通信モジュール10およびアプリケーションモジュール14の測定、制御または通信等の機能を実現するために実行されるプログラムである。一例として、通信モジュール10は、内蔵センサ160または外部センサ7からセンサ情報を取得し、ネットワーク2を介して当該センサ情報を接続先の機器へ送信する。一例として、通信モジュール10は、接続先の機器から受信した制御情報をアプリケーションモジュール14に提供して内蔵アクチュエータ161または外部アクチュエータ8を制御する。通信モジュール10はまた、接続先の機器から1または複数のファームウェアを受信し、ファームウェアを更新する。通信モジュール10は、プロセッサ100と、通信部102と、第1データメモリ104と、ファームウェアメモリ106と、第2データメモリ108と、電源部110と、接続部120とを有する。
プロセッサ100は、通信部102、第1データメモリ104、ファームウェアメモリ106、第2データメモリ108、電源部110および接続部120に接続される。プロセッサ100は、ファームウェアを実行することにより、アプリケーションモジュール14の機能ユニット144を制御し、かつ通信部102を介して装置6の接続先の機器との間の通信を有線または無線により行う。ここでプロセッサ100は、接続部120、180によって結合されたアプリケーションモジュール14が有するアプリケーションモジュールメモリ142に格納されたファームウェアを実行する。例えば、プロセッサ100は、機能ユニット144に対し、内蔵センサ160からセンサ情報を取得させ、内蔵アクチュエータ161を動作させる制御を行う。
通信部102は、ゲートウェイ5または有線を介して、ネットワーク2に接続される。通信部102は、プロセッサ100によるプロトコル制御により、通信仕様に応じて接続先の機器と通信を行ってよい。また通信部102は、NFC(Near Field Communication)またはBluetooth(登録商標)通信技術を用いて、ネットワーク2を介さずに接続先の機器と通信を行ってよい。通信部102は、有線により端末4等に直接接続され、または無線により端末4等に通信可能に接続され、ネットワーク2を介さずに接続先の機器(端末4等)と通信を行ってよい。
第1データメモリ104は、プロセッサ100が少なくとも1つの機能ユニット144および通信部102に関するデータを格納する。第1データメモリ104は、プロセッサ100が少なくとも1つの機能ユニット144および通信部102を制御するために使用するデータを格納してよい。第1データメモリ104は、センサ情報等に用いる補正係数(定数)を格納してよい。第1データメモリ104はまた、通信部102を介して接続先の機器または接続部120、180を介してアプリケーションモジュール14から受け取った各種情報を記憶してよい。第1データメモリ104は、ダイナミックランダムアクセスメモリ(DRAM)または静的ランダムアクセスメモリ(SRAM)等の揮発性メモリであってよい。
ファームウェアメモリ106は、プロセッサ100によって実行されるファームウェアを記憶する。ファームウェアメモリ106は、消去可能プログラマブルリードオンリメモリ(EPROM若しくはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、強誘電体メモリ(FRAM(登録商標))、コンパクトディスクリードオンリメモリ(CD-ROM)またはデジタル多用途ディスク(DVD)等の不揮発性メモリであってよい。
第2データメモリ108は、通信モジュール10固有の情報を記憶する。たとえば第2データメモリ108は、電源部110のバッテリーの種類、残量または使用電力量を記憶する。第2データメモリ108は、消去可能プログラマブルリードオンリメモリ(EPROM若しくはフラッシュメモリ)、EEPROM、FRAM(登録商標)、CD−ROMまたはDVD等の不揮発性メモリであってよい。
電源部110は、接続部120に接続される。電源部110は、通信モジュール10の各要素に電力を供給するとともに、接続部120、180を介して、アプリケーションモジュール14に電力を供給する。電源部110はバッテリを有してよく、プロセッサ100の要求に応じて適宜バッテリ容量の診断を行ってよい。
接続部120は、アプリケーションモジュール14の接続部180と着脱可能に接続される。接続部120は、接続部180と電気的に接続され、通信モジュール10およびアプリケーションモジュール14を通信可能に接続する。接続部120は、コネクタ端子を含んでよい。
アプリケーションモジュール14は、内蔵センサ160、内蔵アクチュエータ161、外部センサ7および外部アクチュエータ8を搭載し、内蔵センサ160および外部センサ7による測定、通信モジュール10へのセンサ情報の提供または通信モジュール10から提供された制御情報に基づく内蔵アクチュエータ161および外部アクチュエータ8の制御を行う。アプリケーションモジュール14はまた、ファームウェアメモリ106を介して、アプリケーションモジュールメモリ142に格納されたファームウェアをプロセッサ100に提供する。アプリケーションモジュール14は、装着制御部140と、アプリケーションモジュールメモリ142と、機能ユニット144と、接続部180とを有する。
装着制御部140は、接続部180に接続される。装着制御部140は、通信モジュール10からアプリケーションモジュール14が通信モジュール10に装着されているか否かを確認するための装着確認信号を受信したことに応じて、通信モジュール10に装着信号を送信する。また装着制御部140は通信モジュール10から装着確認信号を受信するまでの間、アプリケーションモジュール14の消費電力を抑えるための電力制御を行ってよい。
アプリケーションモジュールメモリ142は、プロセッサ100が実行するファームウェアを格納する。アプリケーションモジュールメモリ142は、EPROM、フラッシュメモリ、EEPROM、FRAM(登録商標)、CD−ROMまたはDVD等の不揮発性メモリであってよい。
機能ユニット144は、接続部180に接続され、センス機能またはアクチュエータ機能を提供する。機能ユニット144は、内蔵センサ160、内蔵アクチュエータ161、並びに通信ポート162と、アナログ制御部164と、測定部166とを含む。
内蔵センサ160または内蔵アクチュエータ161は、アナログ制御部164に接続され、当該内蔵センサ160が取得したセンサ情報をアナログ制御部164に提供し、またはアナログ制御部164から提供される制御信号に応じた動作を実行する。内蔵センサ160は、一例として、熱電対センサ等の温度センサ、湿度センサ、圧力センサ、振動センサ、腐食センサ、環境センサ、流量センサまたはレベルセンサであってよい。内蔵アクチュエータ161は、リレー、電動バルブまたはヒータであってよい。
通信ポート162は、外部センサ7および外部アクチェータ8の少なくとも1つと接続するために用いられる。通信ポート162は、有線または無線により、外部センサ7および外部アクチェータ8の少なくとも1つと通信可能に接続されてよい。通信ポート162は、一例として、NFC通信またはBluetooth(登録商標)通信技術を用いて、外部センサ7および外部アクチェータ8の少なくとも1つと通信可能に接続されてよい。通信ポート162はまた、アナログ制御部164に接続される。通信ポート162は外部センサ7からセンサ情報を取得し、アナログ制御部164に当該センサ情報を提供する。また通信ポート162は、アナログ制御部164から取得した制御信号を外部アクチュエータ8に提供する。通信ポート162は、汎用のI/O端子および通信ケーブルを有してよい。また通信ポート162は、外部センサ7および外部アクチェータ8に電気的に接続する導電ケーブルを有してもよい。
アナログ制御部164は、測定部166に接続される。アナログ制御部164は、プロセッサ100の要求に応じて、測定部166若しくは通信ポート162から提供される信号の増幅およびフィルタリング等の信号の前処理または後処理を行う。一例として、アナログ制御部164は、内蔵センサ160または外部センサ7から取得したセンサ信号を増幅またはフィルタリングする。またアナログ制御部164は、通信モジュール10から取得した制御情報に応じた電流を内部アクチュエータ161または外部アクチュエータ8に供給してよい。アナログ制御部164は、一例として、増幅器、フィルター、アナログスイッチまたはコンパレータを含んでよい。
測定部166は、接続部180に接続される。測定部166は、プロセッサ100の要求に応じてA/D変換処理等の信号処理を行い、またプロセッサ100との間で情報の送受信を行う。測定部166は、SPI(Serial Peripheral Interface)またはUART(Universal Asynchronous Receiver Transmitter)通信等の汎用的な通信を用いてプロセッサ100と通信してよい。測定部166は、フィールドプログラマブルゲートアレイ(FPGA)または小型のCPUを含んでよい。測定部166はまた、1または複数の汎用入出力(GPIO)を用いてプロセッサ100により直接制御されてよい。測定部166はさらに、A/D変換器、D/A変換器またはカウンタを含んでよい。
接続部180は、プロセッサ100および通信部102を有する通信モジュール10をアプリケーションモジュール14に着脱可能に結合させるために用いられる。接続部180は、コネクタ端子を含んでよい。本実施形態において、接続部180は、接続部120との間でシリアル通信のプロトコルを用いた通信を可能にしてよい。接続部180および接続部120の間の通信は、一例としてSPI通信またはUART通信であってよい。
外部センサ7または外部アクチュエータ8は、通信ポート162を介して、当該外部センサ7が取得したセンサ情報をアナログ制御部164に提供し、またはアナログ制御部164から提供される制御信号に応じた動作を実行する。外部センサ7は、一例として、熱電対センサ等の温度センサ、湿度センサ、圧力センサ、振動センサ、腐食センサ、環境センサ、流量センサまたはレベルセンサであってよい。外部アクチュエータ8は、リレー、電動バルブまたはヒータであってよい。
以上のシステム1によれば、通信モジュール10およびアプリケーションモジュール14は接続部120、180によって着脱可能に結合されているため、ユーザは一方を容易に分離させ、新しいものに交換することができる。
またシステム1によれば、アプリケーションモジュール14がファームウェアを保有するため、通信モジュール10は、結合されるアプリケーションモジュール14に対応したファームウェアをあらかじめ保有する必要がない。このためユーザは、既存の通信モジュール10に対して、その通信仕様に対応するファームウェアを有する異なる機能の種類のアプリケーションモジュール14を組み合わせることができる。これにより、新しいアプリケーションモジュール14が開発および販売された場合に、ユーザは新しいアプリケーションモジュール14のみを購入すれば、既存の通信モジュール10を結合させて直ちに装置6を動作させることができる。開発者にとっても、アプリケーションモジュール14の機能を変更するたびに装置6全体のバージョンアップおよび機器ごとのファームウェアのリリーステストを行う必要がなくなるため、開発工程の削減および開発期間の短縮が実現されるという利点がある。
そしてシステム1によれば、ファームウェアがアプリケーションモジュール14内のアプリケーションモジュールメモリ142に格納されるため、たとえばユーザがバッテリ交換等のために通信モジュール10ごと交換する場合でも、交換後の装置6はアプリケーションモジュール14内のファームウェアを実行することにより、交換前の装置6の処理を引き続き容易に行うことができる。
図2は、本実施形態に係るファームウェアメモリ106の構成を示す。ファームウェアメモリ106は、プロセッサのブートローダー領域200、アプリケーションモジュール14から取得したファームウェアを記憶するファームウェア領域220、およびバックアップ領域240を有する。
ブートローダー領域200は、ファームウェアを起動させるためのブートローダーを格納する。ブートローダーは、結合されるアプリケーションモジュール14の種類によらず、共通の初期化処理等を装置6に実行させるためのプログラムであってよい。
ファームウェア領域220は、プロセッサ100が読み出して実行するファームウェアを記憶する。ファームウェア領域220はさらに、当該ファームウェアが実行された場合に制御対象となる機能ユニット144を有するアプリケーションモジュール14の識別情報222と、当該ファームウェアによって実行される通信処理の通信プロトコルに対応するプロトコル情報224と、当該ファームウェアのバージョン情報226とを記憶する。なおファームウェア領域220は、通信モジュール10の工場出荷時等の初期状態において、便宜上通信モジュール10のプロセッサ100がファームウェアを実行して通信を行うために用いる通信プロトコルに対応する任意のファームウェアを記憶してよい。
バックアップ領域240は、アプリケーションモジュール14から提供されるファームウェアのバックアップを記憶する。バックアップ領域240はさらに、バックアップされたファームウェアがサポートするアプリケーションモジュール14の識別情報242と、当該ファームウェアのプロトコル情報244と、当該ファームウェアのバージョン情報246とを記憶する。
識別情報は、アプリケーションモジュール14またはそれに搭載されるセンサ/アクチュエータを識別する情報である。識別情報は、アプリケーションモジュール14またはセンサ/アクチュエータの型番等を示す製品識別情報であってよい。識別情報はまた、温度センサまたは圧力センサ等の、アプリケーションモジュール14またはセンサ/アクチュエータの製品種別を示す識別情報であってよい。識別情報は、数字若しくは文字列であってよく、または数字と文字列の組み合わせであってもよい。
プロトコル情報は、通信モジュール10のプロセッサ100がファームウェアを実行してサーバ3または端末4等と通信を行うための通信プロトコルを示す情報である。プロトコル情報は、一例として、LoRa(登録商標)、SIGFOX(登録商標)、Random Phase Multiple Access(RPMA)、Narrow Band IoT(NB−IoT)、HART(登録商標)、BRAIN、ファウンデーションフィールドバス(登録商標)、WirelessHART(登録商標)またはISA100.11a等で規定される通信プロトコル等の通信プロトコルを示してよい。
バージョン情報は、対応するファームウェアのバージョンまたはリビジョンを示す情報である。バージョン情報は、新機能の追加、バグの修正または仕様の変更等の、ファームウェアの改訂によって更新される。バージョン情報は、数字若しくは文字列であってよく、または数字と文字列の組み合わせであってもよい。バージョン情報の数字部分は小数点を含んでよく、数字部分は値が大きいほど新しく開発されたファームウェアであることを示してよい。
図3は、本実施形態に係るアプリケーションモジュールメモリ142の構成を示す。本実施形態において、アプリケーションモジュールメモリ142は、識別情報300を格納する識別情報記憶領域と、1または複数のファームウェアを格納する1または複数のファームウェア領域310と、ファームウェア領域310に格納されるファームウェアに対応してそれぞれ設けられる1または複数のデータ領域320とを有する。図3においては、アプリケーションモジュールメモリ142は、複数のファームウェアを格納し、識別情報記憶領域と、通信プロトコルが異なる複数のファームウェア領域310と、複数のデータ領域320とを有する。
識別情報記憶領域は、複数のファームウェア領域310に格納されるファームウェアの識別情報300を記憶する。これに代えて識別情報300は、アプリケーションモジュール14内の別のROMまたはレジスタ等に格納されてもよい。
複数のファームウェア領域310は、識別情報が同じ複数のファームウェアを格納してよい。たとえば、ファームウェア領域311〜314は同じ型番の温度センサを動作させるファームウェアであり、ファームウェア領域311、312、313および314はそれぞれプロトコルA、B、CおよびDに対応してよい。なお、アプリケーションモジュールメモリ142内のすべてのファームウェア領域310はファームウェアを格納してよく、ファームウェアを格納していない空のファームウェア領域310があってもよい。
各ファームウェア領域311〜314は、自己のファームウェア領域311〜314内に第1ファームウェア領域3000および第2ファームウェア領域3200を有してよい。第1ファームウェア領域3000および第2ファームウェア領域3200のうち一方はアクティブ領域であり、接続部120、180を介してプロセッサ100によりアクセスされてよい。他方は非アクティブ領域であり、プロセッサ100は非アクティブ領域にアクセスすることができない。アクティブ領域は、プロセッサ100に使用され得る最新のファームウェアを格納し、非アクティブ領域は、それ以前にダウンロードされたファームウェアを格納してよい。本実施形態において第1ファームウェア領域3000および第2ファームウェア領域3200はさらに、ファームウェアに対応付けてファームウェアのプロトコル情報3002およびバージョン情報3004を格納してよい。
各データ領域320は、サポートする通信プロトコルが異なる各ファームウェアに対応するデータを格納する。データは、対応するファームウェアまたはアプリケーションモジュール14に固有の情報を含む。たとえばデータは、対応するファームウェアがサポートする通信アドレスを含んでよく、一例として、通信機器に一意に割り当てられる64ビットの識別子であるEUI−64識別子を含んでよい。またデータは、サポートする通信プロトコルが無線通信に対応する場合、プロビジョニングにより予め装置6とゲートウェイ5との間で交換した暗号キーを含んでよい。データは、サポートする通信プロトコルがフィールドバス通信に対応する場合、接続先の機器から設定されたスケジューリング情報を含んでよい。データはまた、対応するファームウェアの制御対象であるセンサ/アクチュエータの校正値またはセンサ情報若しくはアクチュエータの制御情報に用いる補正係数等のパラメータを含んでよく、アプリケーションモジュール14の機器のシリアル番号を含んでもよい。
本実施形態によれば、アプリケーションモジュールメモリ142はサポートする通信プロトコルが異なる複数のファームウェアおよびデータを格納するため、通信モジュールが、自身がサポートする通信プロトコルに対応する、アプリケーションモジュールメモリ142に格納されたファームウェアおよびデータを実行することによって、既存のアプリケーションモジュール14を動作させることができる。したがって、アプリケーションモジュールメモリ142は、特定の通信モジュール10との組み合わせに限定されない。たとえば、ユーザは、通信環境を変更する場合においても、通信モジュール10のみを変更すれば、既存のアプリケーションモジュール14を引き続き使用することができる。またアプリケーションモジュールメモリ142は各種のデータを格納するため、ユーザは、電池交換時等に通信モジュール10だけ交換しても、同一の設定内容で速やかに装置6の使用を開始して、同一の動作を引き続き実行することができる。
なお、アプリケーションモジュールメモリ142は、ファームウェアまたはデータが格納されていない空のファームウェア領域310および空のデータ領域320を有してよい。またアプリケーションモジュールメモリ142が、1のファームウェアを格納する場合、アプリケーションモジュールメモリ142は、1のファームウェア領域310と1のデータ領域320とを有してもよく、複数のファームウェア領域310と複数のデータ領域320とを有してもよい。アプリケーションモジュールメモリ142が複数のファームウェア領域310と複数のデータ領域320とを有する場合、ファームウェアは1つであるため、ファームウェアまたはデータが格納されていない空のファームウェア領域310および空のデータ領域320を有してよい。
図4は、本実施形態に係る装置6の起動処理実行中のブートローダーの動作を示す。S400において、ユーザは、通信モジュール10の電源部110の電源をONにして、通信モジュール10の各要素に電力を供給させる。
S402において、プロセッサ100は、ファームウェアメモリ106内のブートローダー領域200に格納されるブートローダーを読み出して実行する。プロセッサ100は、ブートローダーの実行前または実行中に、メモリサイズの確認、メモリの動作確認若しくは通信環境の確認等の各種自己診断または各種初期化処理を行ってよい。
S404において、プロセッサ100は、バックアップ領域240に新しい情報が格納されているか否かを判定する。プロセッサ100は、新しい情報が格納されていると判定すれば、処理をS406に進める。プロセッサ100は、新しい情報が確認されなければ、処理をS408に進める。たとえばプロセッサ100は、ファームウェア領域220に格納されるファームウェアおよびバックアップ領域240に格納されるファームウェアの識別情報、プロトコル情報並びにバージョン情報が一致するか否かを判定してよい。プロセッサ100は、一致しないと判定すれば、処理をS406に進め、一致すると判定すれば、処理をS408に進めてよい。
S406において、プロセッサ100は、バックアップ領域240に格納されたファームウェア、識別情報242、プロトコル情報244およびバージョン情報246をファームウェア領域220の各対象領域に書込むことにより、ファームウェア領域220の情報を更新する。
S408において、プロセッサ100は、ファームウェア領域220に格納されたファームウェアの共通機能を起動させる。ここでファームウェアの共通機能とは、装置6の全てのファームウェアが共通して有する機能を指す。当該共通機能は、図5のS500〜S510に示す処理を参照して以下で説明する。
以上のように、プロセッサ100は、装置6の起動時にブートローダーを実行して、バックアップ領域240からファームウェア領域220にファームウェアをコピーする。このため、バックアップ領域240のファームウェアが更新されることに応じて、ファームウェア領域220のファームウェアも自動で更新されることができる。
図5は、本実施形態に係る装置6の起動処理実行中および固有機能実行中の動作を示す。図5は、装置6が起動処理実行中において、図4のS408に示すファームウェアの共通機能を実行してからファームウェアの固有機能を実行するまでの動作を示す。S500において、電源部110が、プロセッサ100の要求に応じて、接続部120を介してアプリケーションモジュール14に電力を供給する。
S502において、装着制御部140は、接続部120、180を介して、アプリケーションモジュール14が通信モジュール10に装着されていることを示す装着信号を通信モジュール10に送信する。本実施形態において、装着制御部140は、アプリケーションモジュール14が通信モジュール10に装着されていることを確認する装着確認信号を通信モジュール10から受信したことに応じて、通信モジュール10に装着信号を送信してよい。プロセッサ100は、装着制御部140からの装着信号を受信したと判定すれば、処理をS504に進め、受信しないと判定すれば、S502において装着制御部140からの装着信号を受信するまで待機する。
S504において、プロセッサ100は、通信モジュール10に結合されたアプリケーションモジュール14内のアプリケーションモジュールメモリ142から識別情報300を取得し、取得された識別情報300と、ファームウェアメモリ106内のファームウェア領域220に格納されたファームウェアに対応付けられた識別情報222とが一致するか否かを判定する。たとえば、電池交換等でユーザが前回の起動時と同じアプリケーションモジュール14を使用する場合、またはユーザがアプリケーションモジュール14を前回の起動時と同じ種類の新しいモデルに変更する場合、両識別情報は一致する。一方で、たとえばユーザが温度センサから圧力センサに変更する等、アプリケーションモジュール14を前回の起動時と異なる製品種別のものに変更した場合、両識別情報は一致しない。プロセッサ100は、両識別情報が一致すると判定すれば、処理をS506に進め、両識別情報が一致しないと判定すれば、処理をS514に進める。
S506において、プロセッサ100は、アプリケーションモジュールメモリ142に格納された1または複数のファームウェアのうち、通信モジュール10が用いる通信プロトコルに対応するファームウェアがあるか否かを判定する。本実施形態において、プロセッサ100は、アプリケーションモジュールメモリ142内の各ファームウェア領域310のアクティブ領域に格納されるプロトコル情報3002と、ファームウェアメモリ106内のファームウェア領域220に格納されるプロトコル情報224とを比較することによって、当該判定を行ってよい。プロセッサ100は、プロトコル情報が一致するファームウェアがあれば、処理をS508に進め、プロトコル情報が一致するファームウェアがなければ、処理をS520に進める。
S508において、プロセッサ100は、アプリケーションモジュールメモリ142内のファームウェア領域310に格納されたファームウェアのうち、S506において通信プロトコルが一致すると判定されたファームウェアに対応付けられたバージョン情報3004とファームウェアメモリ106内のファームウェア領域220のアクティブ領域に格納されたファームウェアのバージョン情報226とを比較する。そしてプロセッサ100は、比較結果に基づいて、アプリケーションモジュールメモリ142に格納されたファームウェアをファームウェアメモリ106へ記憶するか否かを決定する。本実施形態において、プロセッサ100は、アプリケーションモジュールメモリ142内のバージョン情報3004を有するファームウェアがファームウェアメモリ106内のバージョン情報226を有するファームウェアよりも新しいものである場合、アプリケーションモジュールメモリ142のアクティブ領域に格納されたファームウェアをファームウェアメモリ106へとコピーすることを決定してよい。プロセッサ100は、両バージョン情報が一致する等、バージョン情報3004を有するファームウェアがバージョン情報226を有するファームウェアよりも新しいものでないと判定すれば、処理をS510に進め、両バージョン情報が一致せず、アプリケーションモジュールメモリ142内のバージョン情報3004を有するファームウェアがファームウェアメモリ106内のバージョン情報226を有するファームウェアよりも新しいものであると判定すれば、処理をS516に進める。
またプロセッサ100は、アプリケーションモジュールメモリ142内のバージョン情報3004を有するファームウェアがファームウェアメモリ106内のバージョン情報226を有するファームウェアよりも古いものである場合、アプリケーションモジュールメモリ142のアクティブ領域に格納されたファームウェアをファームウェアメモリ106へとコピーして実行することを決定してよい。一例として、プロセッサ100は、ダウングレード処理を指示するユーザからの信号を受け取ったことに応じて、当該決定をしてよい。たとえば、プロセッサ100は、ユーザが操作する接続先の機器からダウングレード処理の指示を受信することに応じて、当該決定をしてよい。またプロセッサ100は、装置6がユーザからのダウングレード処理の指示が入力される入力手段を有する場合は、当該入力手段への入力に応じて、当該決定をしてよい。この場合、プロセッサ100は、両バージョン情報が一致する等、アプリケーションモジュールメモリ142内のバージョン情報3004を有するファームウェアがファームウェアメモリ106内のバージョン情報226を有するファームウェアよりも古いものでないと判定すれば、処理をS510に進め、古いものであると判定すれば、処理をS516に進める。
S510において、プロセッサ100は、アプリケーションモジュール14内のデータ領域320のうち、通信モジュール10が用いる通信プロトコルに対応するデータ(たとえば、通信アドレスまたは センサ/アクチュエータの校正値等)を通信モジュール10内の第1データメモリ104へと記憶させる。他の実施形態において、プロセッサ100に代えて、不図示の外部コントローラ(たとえばDirect Memory Access(DMA)コントローラ等)が、アプリケーションモジュールメモリ142から第1データメモリ104へデータを記憶させてもよい。
S512において、プロセッサ100は、第1データメモリ104に記憶されるデータを使用し、ファームウェアメモリ106のファームウェア領域220に記憶されたファームウェアを読み出して、当該ファームウェアの固有機能を実行し、処理を終了させる。ファームウェアの固有機能とは、対象のアプリケーションモジュール14が目的の機能を実現するためにファームウェアごとに設定されたプログラムを指す。たとえばプロセッサ100は、端末4の要求に応じてまたは定期的に、内蔵センサ160および外部センサ7から取得したセンサ情報を、サーバ3を介して端末4に提供してよい。またプロセッサ100は、端末4の要求に応じてまたは定期的に、サーバを介して端末4から制御情報を受信し、制御情報に基づいて内蔵アクチュエータおよび外部アクチュエータを制御してよい。
また装置6の動作中に、プロセッサ100は、第1データメモリ104からデータを読み出してよい。プロセッサ100は、データを変更する必要がある場合、第1データメモリ104に書き込みを行い、一定期間経過後に第1データメモリ104内のデータをアプリケーションモジュールメモリ142に書き込んでよい。これによりアプリケーションモジュールメモリ142への書き込み回数を減らすとともに、ファームウェア全体のパフォーマンスを改善することができる。
S514において、プロセッサ100は、S504において両識別情報が一致しなかったことに応じて、S506と同様にアプリケーションモジュールメモリ142に格納された1または複数のファームウェアのうち、通信モジュール10がサポートする通信プロトコルに対応するファームウェアがあるか否かを判定する。プロセッサ100は、プロトコル情報が一致するファームウェアがあれば、処理をS516に進め、プロトコル情報が一致するファームウェアがなければ、処理をS520に進める。
S516において、プロセッサ100は、アプリケーションモジュールメモリ142内のファームウェア領域310に格納された1または複数のファームウェアのうち、通信モジュール10が用いる通信プロトコルに対応するファームウェアを取得して、ファームウェアメモリ106のバックアップ領域240へ記憶する。本実施形態において、プロセッサ100は、アプリケーションモジュール14に対して読出要求を送信する。アプリケーションモジュール14は、読出要求を受信したことに応じて、アプリケーションモジュールメモリ142のファームウェア領域310のアクティブ領域に格納されたファームウェアを、プロセッサ100に送信する。プロセッサ100は、アプリケーションモジュール14から受信したファームウェアをファームウェアメモリ106のバックアップ領域240に記憶する。他の実施形態において、プロセッサ100に代えて、不図示の外部コントローラが、アプリケーションモジュールメモリ142からバックアップ領域240にファームウェアをコピーしてよい。またプロセッサ100は、アプリケーションモジュールメモリ142内のファームウェア領域310に格納される、コピーするファームウェアに対応するプロトコル情報3002およびバージョン情報3004を、ファームウェアメモリ106のバックアップ領域240の対象領域244、246へ記憶させる。
S518において、プロセッサ100は、装置6を再起動させ、処理を終了させる。この場合プロセッサ100は、再起動中に処理を図4のS402に戻してブートローダーを実行させた後、図4のS404〜406においてファームウェアメモリ106内のバックアップ領域240に記憶されたファームウェアを、ファームウェアメモリ106内のファームウェア領域220に記憶する。
S520において、プロセッサ100は、S506またはS514においてプロトコル情報が一致するファームウェアがないと判定したことに応じて、通信モジュール10の通信プロトコルに対応するファームウェアがなかったことを示す信号を出力し、処理を終了させる。プロセッサ100は、通信部102を介して、端末4にエラー信号を送信してよい。
このように、本実施形態によれば、プロセッサ100は、各機器およびファームウェアが変更されていなければ、起動処理時に通信モジュール10がサポートする通信プロトコルに対応するデータをアプリケーションモジュールメモリ142から第1データメモリ104にコピーした後、ファームウェアメモリ106にすでに格納されているファームウェアをそのまま読み出して実行することができる。したがって、プロセッサは、前回のファームウェア実行時における処理を、引き続き容易に行うことができる。
本実施形態によれば、通信モジュール10に、前回の起動時と異なる識別情報のアプリケーションモジュール14が通信モジュール10に結合されている場合、プロセッサ100は、通信モジュール10がサポートする通信プロトコルに対応したファームウェアをアプリケーションモジュール14から自動でコピーして実行する。このため、たとえばセンサ等の製品種別を変更する場合に、ユーザは既存の通信モジュール10を用いて、変更後のアプリケーションモジュール14を迅速に動作させることができる。
本実施形態によれば、通信モジュール10に、前回の起動時と異なるバージョンのファームウェアを保有するアプリケーションモジュール14が結合されている場合、プロセッサ100は、新しいバージョンのファームウェアをアプリケーションモジュール14から自動でコピーして実行する。このため、プロセッサ100は、アプリケーションモジュール14に格納される常に新しいバージョンのファームウェアを動作させることができる。
本実施形態によれば、プロセッサ100は、通信モジュール10の通信プロトコルに対応するファームウェアをコピーして実行するため、通信環境の変更によって通信モジュール10を交換しても、既存のアプリケーションモジュール14に変更後の通信プロトコルに対応するファームウェアが格納されていれば、ユーザは引き続き既存のアプリケーションモジュール14を使用することができる。
本実施形態によれば、ロードされたファームウェアは、プロセッサ100によって起動処理中にバックアップ領域240に格納され、再起動後にファームウェア領域220にコピーされるため、ロードされたファームウェアを安定して動作させることができる。
なお、プロセッサ100は、アプリケーションモジュールメモリ142に格納されるファームウェアおよびデータをファームウェアメモリ106を介さず直接読み出すことによって、ファームウェアを実行してもよい。この場合、図4のS404およびS406並びに図5のS504、S508〜S510およびS514〜S518に示す処理は省略されてよい。プロセッサ100は、図4のS408に代えて、アプリケーションモジュール142に格納される任意のファームウェアを実行することにより、ファームウェアの共通機能を起動させてよい。そして図5のS506において、プロセッサ100は、S502において装着信号を通信モジュール10から受信したことに応じて、アプリケーションモジュールメモリ142に通信モジュール10がサポートする通信プロトコルに対応するファームウェアがあるか否かを判定する。プロセッサ100は、アプリケーションモジュールメモリ142内に通信プロトコルに対応するファームウェアがあれば、S512に代えて、アプリケーションモジュールメモリ142内の当該ファームウェアおよび対応するデータを読み出して、当該ファームウェアの固有機能を実行してよい。プロセッサ100は、アプリケーションモジュールメモリ142内に通信プロトコルに対応するファームウェアがなければ、S520に処理を進め、エラー信号を送信してよい。
図6は、本実施形態に係るアプリケーションモジュールメモリ142へのダウンロードファイルの構成を示す。ダウンロードファイルは識別情報600と、1または複数のファームウェア610〜640と、各ファームウェア610〜640に対応するプロトコル情報650およびバージョン情報660とを含む。ダウンロードファイルのファームウェア610〜640は、それぞれ異なる通信プロトコルに対応してよい。一例としてファームウェア610、620、630および640は、それぞれプロトコルA、B、C、およびDに対応してよい。ファームウェア610、620、630および640は、それぞれ同じバージョン情報を有してもよい。装置6の開発効率向上のため、ダウンロードファイルのファームウェア610〜640はそれぞれ独立し、互いに干渉しないように設計されてよい。図6に示すダウンロードファイルを装置6のアプリケーションモジュールメモリ142へダウンロードするフローを以下で詳述する。
図7は、本実施形態に係るダウンロードファイルをアプリケーションモジュールメモリ142へダウンロードするフローを示す。S700において、プロセッサ100は、装置6の接続先の機器(たとえば、サーバ3、端末4または外部のサーバ等)の要求に応じて、通信部102を介して当該接続先の機器からファームウェアを含むダウンロードファイルを受信し、ダウンロードを開始する。
S702において、プロセッサ100は、アプリケーションモジュールメモリ142に格納された識別情報300と、ダウンロードファイルの識別情報600とが一致するか否かを判定する。プロセッサ100は、両識別情報が一致すると判定すれば、処理をS704に進め、一致しないと判定すれば、処理をS712に進める。
S704において、プロセッサ100は、S702において両識別情報が一致すると判定したことに応じて、アプリケーションモジュールメモリ142内のファームウェア領域310の非アクティブ領域を消去する。たとえば、第1ファームウェア領域3000がアクティブ領域である場合、第2ファームウェア領域3200内のファームウェア等を消去してよい。
S706において、プロセッサ100は、プロトコル情報ごとに、ダウンロードファイルのファームウェアをファームウェア領域310の消去した領域に書き込んで保存する。
S708において、プロセッサ100は、ファームウェア領域310の非アクティブ領域をアクティブ化し、アクティブ領域を非アクティブ化する。プロセッサ100は、アクティブ領域と非アクティブ領域の切り替えをファームウェアの書き込みに応じて行ってもよく、接続先の機器からの要求に応じて行ってもよい。
S710において、プロセッサ100は、装置6を再起動させて、処理を終了させる。
S712において、プロセッサ100は、S702において両識別情報が一致しないと判定したことに応じて、ダウンロードファイルをアプリケーションモジュールメモリ142にダウンロードすることができない旨のエラー信号を送信する。プロセッサ100は、通信部102を介して接続先の機器にエラー信号を送信してよい。
なお、S704〜S706に代えて、プロセッサ100は、S702において両識別情報が一致すると判定したことに応じて、アプリケーションモジュールメモリ142およびダウンロードファイルに格納されるファームウェアのプロトコル情報を比較し、両プロトコル情報3002、650が一致すると判定すれば、対象のファームウェア領域310の非アクティブ領域にダウンロードファイルのファームウェアを書き込んでよい。プロセッサ100は、S702において両プロトコル情報が一致しないと判定すれば、アプリケーションモジュールメモリ142に空き領域があるか否かを判定し、空き領域がある場合に当該空き領域にダウンロードファイルのファームウェアを書き込んでよい。プロセッサ100は、空き領域がない場合は、接続先の機器に対してエラー信号を送信してよい。
また、プロセッサ100は、ダウンロードファイルから特定のファームウェアのみをダウンロードしてもよい。たとえばプロセッサ100は、アプリケーションモジュール14内のファームウェアのうち動作中のファームウェアとは異なるファームウェアに障害が見つかった場合等において、ファームウェアを動作させたまま当該障害のあるファームウェアのみを更新することができる。
以上のように、装置6は、接続先の機器からファームウェアをダウンロードしてアプリケーションモジュールメモリ142へと格納することによって、ファームウェアを更新する。このためユーザは、バージョンアップしたファームウェアがリリースされる度にアプリケーションモジュール14を交換しなくても、常に新しいバージョンのファームウェアを保有する装置6を使用することができる。また装置6によれば、1回のダウンロード作業で、アプリケーションモジュールメモリ142内の異なる通信プロトコルに対応する複数のファームウェアを一括して更新することができる。このため、ユーザがファームウェアごとにファームウェアをダウンロードする手間を省くことができ、バージョン管理が簡素化され保守性が大幅に改善される。また装置6は、現在動作中のファームウェアを用いて将来利用する通信プロトコルに対応するファームウェアを事前に準備することができるため、新しい通信環境へ迅速に移行することができる。開発者にとっては、複数のファームウェアを1つのダウンロードファイルに集約することができるため、管理工数を大幅に削減することができる。なお、装置6によれば、ファームウェア領域310の非アクティブ領域にダウンロードファイルのファームウェアを書き込み、アクティブ領域に直前のファームウェアを残すことができる。このため、装置6は、ダウンロード処理の途中で不具合が生じても、直前の状態に復元することが容易となる。
図8は、本実施形態に係る拡張装置80を外部センサ7および外部アクチュエータ8とともに示す。本図における、図1と同じ符号を付した構成要素は、基本的には図1〜図7に示した説明と同様であるから、以下相違点を中心に説明する。図8に示す拡張装置80は、図1に示す装置6と同様の構成および機能を有するが、ただし、通信モジュール10が外部メモリ830を有する拡張通信モジュール82である。
外部メモリ830は、1または複数の識別情報を含む複数のファームウェアを格納する。外部メモリ830は、拡張通信モジュール82に接続されるUSBメモリまたはSDカード等のリムーバブル記憶メディアを含んでよい。
プロセッサ100は、バージョンアップされた複数のファームウェアを接続先の機器から受信する代わりに、当該ファームウェアを外部メモリ830から読み出す。プロセッサ100は、読み出したファームウェアを接続部120、180を介してアプリケーションモジュールメモリ142に格納する。プロセッサ100は、起動時に外部メモリ830内のファームウェアを読み出し、図7のS702〜S712と同様の処理を行うことで、ファームウェアをアプリケーションモジュールメモリ142に格納してよい。
以上の拡張装置80によれば、プロセッサ100は、ネットワーク2を介して接続先の機器からファームウェアをダウンロードせず、装置6内の外部メモリ830からファームウェアを入手することができるため、迅速にファームウェアを取得することができる。
図9は、本実施形態に係る外部メモリ830の構成を示す。外部メモリ830は、1または複数の外部メモリファイル90〜92を有する。各外部メモリファイル90〜92は、識別情報900に対応して、複数のファームウェア910〜940と、各ファームウェア910〜940に対応するプロトコル情報940およびバージョン情報950とを含む。
このように外部メモリ830は、複数の識別情報900を含むファームウェアを有し得るため、アプリケーションモジュール14は装着時に当該アプリケーションモジュール14に適切なファームウェアを選択して格納することができる。したがってユーザは、1つの拡張通信モジュール82に対して、複数種類のアプリケーションモジュール14を組み合わせて使用することができる。たとえばユーザは、複数種類のアプリケーションモジュール14に対して1つの拡張通信モジュール82を順番に装着させて起動させるだけで、複数種類のアプリケーションモジュール14のファームウェアを次から次へと更新することができる。したがって現場の保守作業が大幅に低減される。なおファームウェア更新後は、ユーザがアプリケーションモジュール14から拡張通信モジュール82を外して以前の通信モジュール10を取り付けても、引き続き新しいファームウェアを利用することができる。
システム1は、ゲートウェイ5を備えなくてもよい。また、アプリケーションモジュール14は、内蔵センサ160、内蔵アクチュエータ161、外部センサ7および外部アクチュエータ8のうちの少なくとも1つを有し、全てを有さなくてもよい。したがって、機能ユニット144は内蔵センサ160、内蔵アクチュエータ161、並びに通信ポート162のうち少なくとも1つを有し、全てを有さなくてもよい。
第2データメモリ108はさらに、第1データメモリ104に加えてまたは第1データメモリ104に代えて、プロセッサ100が機能ユニット144および通信部102に関するデータを格納してもよい。この場合、図5における説明中の第1データメモリ104は、第2データメモリ108に置き換えられてよい。
装着制御部140は、アプリケーションモジュール14に代えて、通信モジュール10または拡張通信モジュール82に含まれてよい。このとき図5のS502に代えて、プロセッサ100は、装着制御部140が接続部120内の物理的変化を検出したことに応じて、アプリケーションモジュール14が通信モジュール10に装着されているか否かを判定してよい。たとえば、装着制御部140は、プロセッサ100の要求に応じて接続部120に対して電流を流し、接続部120内の抵抗値の変化を検出したことに応じて、プロセッサ100に装着信号を提供してよい。プロセッサ100は、装着信号を受信したと判定すれば、処理をS504に進め、受信しないと判定すれば、処理をS502に戻してよい。
装置6または拡張装置80は、1または複数のアプリケーションモジュール14を備えてよい。装置6または拡張装置80が複数のアプリケーションモジュール14を備える場合は、1つの通信モジュール10または1つの拡張通信モジュール82と複数のアプリケーションモジュール14とが結合されてよい。通信モジュール10または拡張通信モジュール82は、複数の接続部120を有してよい。このとき、通信モジュール10または拡張通信モジュール82のファームウェアメモリ106は、通信モジュール10または拡張通信モジュール82に接続される複数のアプリケーションモジュール14の機能ユニット144に対応するファームウェアを格納する複数のファームウェア領域220および複数のバックアップ領域240を有してよい。プロセッサ100は、通信モジュール10または拡張通信モジュール82に接続される複数のアプリケーションモジュール14について、アプリケーションモジュールメモリ142から対応する複数のファームウェアを取得し、上記の各種処理を時分割または並列的に実行してよい。
図10は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、これに加えて、またはこれに代えて、コンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD−ROMドライブ2226、およびICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入出力ユニットを含み、それらは入出力チップ2240を介して入出力コントローラ2220に接続されている。
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD−ROMドライブ2226は、プログラムまたはデータをDVD−ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、これに加えて、またはこれに代えてプログラムおよびデータをICカードに書き込む。
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、およびコンピュータ2200のハードウェアに依存するプログラムの少なくとも1つを格納する。入出力チップ2240はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ2220に接続してよい。
プログラムが、DVD−ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD−ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU2212は、ハードディスクドライブ2224、DVD−ROMドライブ2226(DVD−ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索,置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
1 システム、2 ネットワーク、3 サーバ、4 端末、5 ゲートウェイ、6 装置、7 外部センサ、8 外部アクチュエータ、10 通信モジュール、14 アプリケーションモジュール、100 プロセッサ、102 通信部、104 第1データメモリ、106 ファームウェアメモリ、108 第2データメモリ、110 電源部、120 接続部、140 装着制御部、142 アプリケーションモジュールメモリ、144 機能ユニット、160 内蔵センサ、161 内蔵アクチュエータ、162 通信ポート、164 アナログ制御部、166 測定部、180 接続部、200 ブートローダー領域、220 ファームウェア領域、222 識別情報、224 プロトコル情報、226 バージョン情報、240 バックアップ領域、242 識別情報、244 プロトコル情報、246 バージョン情報、300 識別情報、310 ファームウェア領域、311〜314 ファームウェア領域、320 データ領域、321〜324 データ領域、3000 第1ファームウェア領域、3002 プロトコル情報、3004 バージョン情報、3200 第2ファームウェア領域、600 識別情報、610〜640 ファームウェア、650 プロトコル情報、660 バージョン情報、80 拡張装置、82 拡張通信モジュール、830 外部メモリ、90〜92 外部メモリファイル、900 識別情報、910〜940 ファームウェア、940 プロトコル情報、950 バージョン情報、2200 コンピュータ、2201 DVD−ROM、2210 ホストコントローラ、2212 CPU、2214 RAM、2216 グラフィックコントローラ、2218 ディスプレイデバイス、2220 入出力コントローラ、2222 通信インターフェイス、2224 ハードディスクドライブ、2226 DVD−ROMドライブ、2230 ROM、2240 入出力チップ、2242 キーボード

Claims (12)

  1. プロセッサおよび通信部を有する通信モジュールと、
    前記通信モジュールと着脱可能に結合されるアプリケーションモジュールと
    を備え、
    前記アプリケーションモジュールは、
    センサ、アクチュエータ、並びに外部センサおよび外部アクチェータの少なくとも1つと接続するための通信ポートのうちの少なくとも1つを含む機能ユニットと、
    前記プロセッサが実行するファームウェアを格納するアプリケーションモジュールメモリと
    を有する装置。
  2. 前記プロセッサは、前記ファームウェアを実行することにより、前記機能ユニットを制御し、かつ前記通信部を介して当該装置の接続先の機器との間の通信を行う請求項1に記載の装置。
  3. 前記通信モジュールは、前記アプリケーションモジュールから取得した前記ファームウェアを記憶するファームウェア領域を有するファームウェアメモリを更に有し、
    前記プロセッサは、前記ファームウェアメモリのファームウェア領域に記憶されたファームウェアを実行する
    請求項1または2に記載の装置。
  4. 前記プロセッサは、起動処理中に、
    前記通信モジュールに結合された前記アプリケーションモジュールから識別情報を取得し、
    取得された識別情報と、前記ファームウェアメモリに格納されたファームウェアに対応付けられた識別情報とが一致しなかったことに応じて、前記アプリケーションモジュールメモリに格納されたファームウェアを取得して前記ファームウェアメモリのファームウェア領域へ記憶する
    請求項3に記載の装置。
  5. 前記アプリケーションモジュールメモリは、1または複数の前記ファームウェアを格納し、
    前記プロセッサは、起動処理中に、前記アプリケーションモジュールメモリに格納された1または複数のファームウェアのうち、前記通信モジュールが用いる通信プロトコルに対応するファームウェアを前記ファームウェアメモリへ記憶する
    請求項4に記載の装置。
  6. 前記アプリケーションモジュールメモリは、ファームウェアに対応付けてファームウェアのバージョン情報を格納し、
    前記プロセッサは、起動処理中に、前記ファームウェアメモリに格納されたファームウェアのバージョン情報、および前記アプリケーションモジュールメモリに格納されたファームウェアに対応付けられたバージョン情報を比較した結果に基づいて、前記アプリケーションモジュールメモリに格納されたファームウェアを前記ファームウェアメモリのファームウェア領域へ記憶するか否かを決定する
    請求項3から5のいずれか一項に記載の装置。
  7. 前記プロセッサは、起動処理中に、前記アプリケーションモジュールメモリに格納されたファームウェアを前記ファームウェアメモリのバックアップ領域に記憶して前記プロセッサを再起動し、
    再起動中に、前記ファームウェアメモリの前記バックアップ領域に記憶されたファームウェアを、前記ファームウェアメモリの前記ファームウェア領域に記憶する
    請求項4から6のいずれか一項に記載の装置。
  8. 前記プロセッサは、当該装置の接続先の機器からファームウェアをダウンロードして前記アプリケーションモジュールメモリへと格納する請求項1から7のいずれか一項に記載の装置。
  9. 前記アプリケーションモジュールメモリは、前記プロセッサが前記少なくとも1つの機能ユニットおよび前記通信部に関するデータを更に格納し、
    前記プロセッサは、前記アプリケーションモジュールメモリに格納された前記データを前記通信モジュール内のデータメモリへと記憶させて、該記憶されたデータを使用して処理を行う
    請求項1から8のいずれか一項に記載の装置。
  10. センサ、アクチュエータ、並びに外部センサおよび外部アクチェータの少なくとも1つと接続するための通信ポートのうちの少なくとも1つを含む機能ユニットを有するアプリケーションモジュールを着脱可能に結合するための接続部と、
    プロセッサと、
    通信部と
    を備え、
    前記プロセッサは、前記接続部によって結合された前記アプリケーションモジュールが有するアプリケーションモジュールメモリに格納されたファームウェアを実行する
    通信モジュール。
  11. プロセッサおよび通信部を有する通信モジュールを着脱可能に結合するための接続部と、
    センサ、アクチュエータ、並びに外部センサおよび外部アクチェータの少なくとも1つと接続するための通信ポートのうちの少なくとも1つを含む機能ユニットと、
    前記プロセッサが実行するファームウェアを格納するアプリケーションモジュールメモリと
    を備え、
    前記アプリケーションモジュールメモリに格納されたファームウェアを前記プロセッサに提供する
    アプリケーションモジュール。
  12. プロセッサおよび通信部を有する通信モジュールが、センサ、アクチュエータ、並びに外部センサおよび外部アクチェータの少なくとも1つと接続するための通信ポートのうちの少なくとも1つを含む機能ユニット及び前記プロセッサが実行するファームウェアを格納するアプリケーションモジュールメモリを有する、前記通信モジュールと着脱可能なアプリケーションモジュールと結合することと、
    前記アプリケーションモジュールが、前記プロセッサが実行するファームウェアを前記プロセッサに提供することと、
    前記プロセッサが、前記アプリケーションモジュールから提供されたファームウェアを実行することと
    を備える方法。
JP2019093151A 2019-05-16 2019-05-16 装置、通信モジュール、アプリケーションモジュールおよび方法 Active JP7103303B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019093151A JP7103303B2 (ja) 2019-05-16 2019-05-16 装置、通信モジュール、アプリケーションモジュールおよび方法
CN202010337676.5A CN111953726B (zh) 2019-05-16 2020-04-26 现场仪器的部分变更装置、通信模块及部分变更方法
US16/860,052 US11494494B2 (en) 2019-05-16 2020-04-27 Apparatus with exchangeable communication module and application module, application module, and method
EP20172231.1A EP3742288A1 (en) 2019-05-16 2020-04-30 Apparatus, communication module, application module, and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019093151A JP7103303B2 (ja) 2019-05-16 2019-05-16 装置、通信モジュール、アプリケーションモジュールおよび方法

Publications (2)

Publication Number Publication Date
JP2020187651A true JP2020187651A (ja) 2020-11-19
JP7103303B2 JP7103303B2 (ja) 2022-07-20

Family

ID=70482275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019093151A Active JP7103303B2 (ja) 2019-05-16 2019-05-16 装置、通信モジュール、アプリケーションモジュールおよび方法

Country Status (4)

Country Link
US (1) US11494494B2 (ja)
EP (1) EP3742288A1 (ja)
JP (1) JP7103303B2 (ja)
CN (1) CN111953726B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023515694A (ja) * 2020-07-14 2023-04-13 イルプン コーポレーション 既存フィールドバス基盤の自動制御システムのモノのインターネット連動装置および方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11501002B2 (en) * 2020-07-10 2022-11-15 Dell Products L.P. Protocol security system
US11368493B2 (en) * 2020-10-02 2022-06-21 Johnson Controls Tyco IP Holdings LLP System for and method of detecting communication security in building automation and control networks
US11514166B2 (en) * 2020-10-20 2022-11-29 Dell Products L.P. Systems and methods to protect unified extensible firmware interface protocol serviceability
US20230396675A1 (en) * 2021-02-26 2023-12-07 C&Tech IoT COMMUNICATION SYSTEM SUPPORTING CONNECTION BETWEEN DEVICES
CN113377577B (zh) * 2021-06-10 2022-06-07 上海西信信息科技股份有限公司 一种基于大数据的云平台架构及其数据处理方法
CN114422356A (zh) * 2022-01-19 2022-04-29 中国电子科技集团公司第五十四研究所 一种天通模块固件切换的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149606A (ja) * 1990-10-09 1992-05-22 Omron Corp 端末装置
JP2002006943A (ja) * 2000-06-23 2002-01-11 Energy Support Corp 監視制御装置及び監視制御システム
JP2005353073A (ja) * 2004-06-10 2005-12-22 Microsoft Corp 自己インストールを行うコンピュータ周辺機器
JP2007281810A (ja) * 2006-04-05 2007-10-25 Sharp Corp 画像処理装置
JP2014026313A (ja) * 2012-07-24 2014-02-06 Yokogawa Electric Corp フィールド機器用表示器ボード

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243347B2 (en) * 2002-06-21 2007-07-10 International Business Machines Corporation Method and system for maintaining firmware versions in a data processing system
JP2006039848A (ja) * 2004-07-26 2006-02-09 Sharp Corp データ処理装置およびそれを含んでなる画像形成装置
US20060259207A1 (en) * 2005-04-20 2006-11-16 Denso Corporation Electronic control system for automobile
US20090132816A1 (en) * 2007-11-15 2009-05-21 Lockheed Martin Corporation PC on USB drive or cell phone
US8984539B2 (en) * 2010-02-24 2015-03-17 Hewlett-Packard Development Company, L.P. Loading a device driver from a device
US9454355B2 (en) * 2010-07-15 2016-09-27 Dell Products L.P. Information handling system image restoration
DE102010064279A1 (de) * 2010-12-28 2012-06-28 Endress + Hauser Flowtec Ag Feldgerät mit Langzeit-Firmware-Kompatibilität
US20130120106A1 (en) * 2011-11-16 2013-05-16 Motorola Mobility, Inc. Display device, corresponding systems, and methods therefor
JP6350570B2 (ja) * 2016-03-15 2018-07-04 オムロン株式会社 電子機器、無線通信システム
US20190087174A1 (en) * 2017-09-21 2019-03-21 Western Digital Technologies, Inc. Background firmware update
US11120136B1 (en) * 2018-06-06 2021-09-14 Amazon Technologies, Inc. Managing system firmware

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149606A (ja) * 1990-10-09 1992-05-22 Omron Corp 端末装置
JP2002006943A (ja) * 2000-06-23 2002-01-11 Energy Support Corp 監視制御装置及び監視制御システム
JP2005353073A (ja) * 2004-06-10 2005-12-22 Microsoft Corp 自己インストールを行うコンピュータ周辺機器
JP2007281810A (ja) * 2006-04-05 2007-10-25 Sharp Corp 画像処理装置
JP2014026313A (ja) * 2012-07-24 2014-02-06 Yokogawa Electric Corp フィールド機器用表示器ボード

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023515694A (ja) * 2020-07-14 2023-04-13 イルプン コーポレーション 既存フィールドバス基盤の自動制御システムのモノのインターネット連動装置および方法
JP7267663B2 (ja) 2020-07-14 2023-05-02 イルプン コーポレーション 既存フィールドバス基盤の自動制御システムのモノのインターネット連動装置および方法

Also Published As

Publication number Publication date
EP3742288A1 (en) 2020-11-25
JP7103303B2 (ja) 2022-07-20
CN111953726A (zh) 2020-11-17
US11494494B2 (en) 2022-11-08
CN111953726B (zh) 2023-09-08
US20200364341A1 (en) 2020-11-19

Similar Documents

Publication Publication Date Title
JP7103303B2 (ja) 装置、通信モジュール、アプリケーションモジュールおよび方法
CN103176824B (zh) 一种系统升级的方法及装置
CN101192165B (zh) 主从式多处理器系统以及软件版本加载方法
JP5808817B2 (ja) 自己記述を有するフィールド装置
US9298470B2 (en) Method and apparatus for selecting bios program for a processor
CN102402442B (zh) 信息处理装置、启动控制方法
TW201324354A (zh) 自動化連續安裝作業系統的方法
US9703570B2 (en) Dynamic device drivers
US20090006831A1 (en) Methods and apparatuses for configuring add-on hardware to a computing platform
CN110083380A (zh) 固件更新方法及使用此方法的电子装置
TWI707274B (zh) 用於更新系統之rom編碼之電腦實施方法、電腦系統以及電腦可讀取媒體
TW201721412A (zh) 選擇及載入韌體卷區之技術
WO2019207729A1 (ja) 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム
JP2005173747A (ja) フィールド機器のメモリ更新システム
JP5293061B2 (ja) 機器管理プログラム及び機器管理システム
US20190056929A1 (en) Data transmission method and communication system
JP2005182812A (ja) コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法
CN106095643A (zh) 系统参数存取的设定方法及其服务器
TW202014887A (zh) 機器的控制方法、控制裝置及系統
JP2017062537A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
CN109002309A (zh) 一种硬件升级方法及相关装置
JP2015179913A (ja) 通信アダプタ、及び通信システム
JP2013186634A (ja) 情報処理装置
CN113923240A (zh) 利用局部ota方法在物联网网关中动态升级设备接口协议的系统及方法
JP6680313B2 (ja) 制御装置および通信制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220620

R150 Certificate of patent or registration of utility model

Ref document number: 7103303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150