CN111953726A - 装置、通信模块、应用模块及方法 - Google Patents
装置、通信模块、应用模块及方法 Download PDFInfo
- Publication number
- CN111953726A CN111953726A CN202010337676.5A CN202010337676A CN111953726A CN 111953726 A CN111953726 A CN 111953726A CN 202010337676 A CN202010337676 A CN 202010337676A CN 111953726 A CN111953726 A CN 111953726A
- Authority
- CN
- China
- Prior art keywords
- firmware
- memory
- application module
- processor
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
- G06F9/4415—Self describing peripheral devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/73—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
- G06F9/44542—Retargetable
- G06F9/44547—Fat 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
本发明能够容易地更换装置的通信部分及应用部分中的一者。提供一种装置,其具有:通信模块,其具有处理器及通信部;以及应用模块,其能够装卸地与通信模块结合,应用模块具有功能单元和应用模块存储器,该功能单元包含用于与传感器、致动器及外部传感器及外部致动器的至少1个连接的通信端口中的至少1个,该应用模块存储器对由处理器执行的固件进行储存。
Description
技术领域
本发明涉及装置、通信模块、应用模块及方法。
背景技术
近年来,物联网(IoT)及工业用IoT(IIoT)正在受到关注。例如在工厂的生产线等的车间中,将包含传感器或者致动器等在内的具有通信功能的现场仪器配置多个,通过成为它们的连接目标的系统总管生产线等的监视或者控制的情况不断发展。
现有的现场仪器由于是将进行通信的通信部分和进行测定等的应用部分一体地装入至1个模块,因此在用户侧难以将某一者分离而更换为新的部分。另外,使仪器动作的固件储存于应用部分的外部,因此用户即使在希望将传感器等的仅一部分变更的情况下,也需要对仪器整体进行变更。
发明内容
为了解决上述课题,在本发明的第1方式中提供装置。装置可以具有通信模块,该通信模块具有处理器及通信部。装置可以具有能够装卸地与通信模块结合的应用模块。应用模块可以具有功能单元,其包含用于与传感器、致动器及外部传感器及外部致动器的至少1个连接的通信端口中的至少1个。应用模块可以具有应用模块存储器,其对由处理器执行的固件进行储存。
处理器可以通过执行固件,从而控制功能单元,且经由通信部而进行与该装置的连接目标的仪器之间的通信。
通信模块可以还具有固件存储器,该固件存储器具有对从所述应用模块取得的固件进行存储的固件区域。处理器可以执行在固件存储器的固件区域中存储的固件。
处理器可以在启动处理中,从与通信模块结合的应用模块取得识别信息,与取得的识别信息和在固件存储器中储存的固件所关联的识别信息不一致相应地,取得在应用模块存储器中储存的固件而向固件存储器的固件区域进行存储。
应用模块存储器可以对1个或者多个固件进行储存。处理器可以在启动处理中,将在应用模块存储器中储存的1个或者多个固件中的、与通信模块所使用的通信协议相对应的固件,向固件存储器进行存储。
应用模块存储器可以将固件的版本信息与固件相关联地储存。处理器可以在启动处理中,基于将在固件存储器中储存的固件的版本信息、及与在应用模块存储器中储存的固件相关联的版本信息进行比较得到的结果,决定是否将在应用模块存储器中储存的固件向固件存储器的固件区域进行存储。
处理器可以在启动处理中,将在应用模块存储器中储存的固件存储于固件存储器的备份区域而重新启动处理器。处理器可以在重新启动中,将在固件存储器的备份区域中存储的固件存储于固件存储器的固件区域。
处理器可以从该装置的连接目标的仪器下载固件而向应用模块存储器进行储存。
应用模块存储器可以还对处理器与至少1个功能单元及通信部相关的数据进行储存。处理器可以使在应用模块存储器中储存的数据向通信模块内的数据存储器进行存储,使用该存储的数据进行处理。
在本发明的第2方式中提供通信模块。通信模块可以具有连接部,其用于能够装卸地结合应用模块,该应用模块具有功能单元,该功能单元包含用于与传感器、致动器及外部传感器及外部致动器的至少1个连接的通信端口中的至少1个。通信模块具有处理器。通信模块具有通信部。处理器可以执行在通过连接部结合的应用模块所具有的应用模块存储器中储存的固件。
在本发明的第3方式中提供应用模块。应用模块可以具有连接部,其用于能够装卸地结合具有处理器及通信部的通信模块。应用模块可以具有功能单元,其包含用于与传感器、致动器及外部传感器及外部致动器的至少1个连接的通信端口中的至少1个。应用模块可以具有应用模块存储器,其对由处理器执行的固件进行储存。应用模块可以将在应用模块存储器中储存的固件提供给处理器。
在本发明的第4方式中提供方法。方法可以具有下述步骤:将具有处理器及通信部的通信模块和能够与通信模块进行装卸的应用模块结合,该应用模块具有功能单元和应用模块存储器,该功能单元包含用于与传感器、致动器及外部传感器及外部致动器的至少1个连接的通信端口中的至少1个,该应用模块存储器对由处理器执行的固件进行储存。方法可以具有下述步骤:应用模块将由处理器执行的固件提供给处理器。方法可以具有下述步骤:处理器执行从应用模块提供的固件。
此外,上述的发明的概要没有列举出本发明的必要的全部特征。另外,这些特征组的子组合也可成为发明。
附图说明
图1表示本实施方式所涉及的系统1。
图2表示本实施方式所涉及的固件存储器106的结构。
图3表示本实施方式所涉及的应用模块存储器142的结构。
图4表示本实施方式所涉及的装置6的启动处理执行中的启动加载器的动作。
图5表示本实施方式所涉及的装置6的启动处理执行中及固有功能执行中的动作。
图6表示向本实施方式所涉及的应用模块存储器142下载的下载文件的结构。
图7表示将本实施方式所涉及的下载文件向应用模块存储器142下载的流程。
图8将本实施方式所涉及的扩展装置80连同外部传感器7及外部致动器8一起表示。
图9表示本实施方式所涉及的外部存储器830的结构。
图10表示可以将本发明的多个方式整体地或者局部地具体实现的计算机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计算机,2201DVD-ROM,2210主控制器,2212CPU,2214RAM,2216图形控制器,2218显示器设备,2220输入输出控制器,2222通信接口,2224硬盘驱动器,2226DVD-ROM驱动器,2230ROM,2240输入输出芯片,2242键盘
具体实施方式
下面,通过发明的实施方式对本发明进行说明,但以下的实施方式并不对权利要求书所涉及的发明进行限定。另外,在实施方式中所说明的特征的全部组合在发明的解决方法中不一定是必须的。
图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等能够通信地连接、或者与连接目标的仪器(终端4等)进行通信而不经由网络2。
第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(SerialPeripheral 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可以与从通信模块10接收到对应用模块14已装载于通信模块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,如果不存在协议信息一致的固件,则处理器100使处理进入至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从应用模块14自动地复制并执行与通信模块10所支持的通信协议相对应的固件。因此,例如在将传感器等的产品类别进行变更的情况下,用户能够使用已有的通信模块10,使变更后的应用模块14迅速地动作。
根据本实施方式,在具有与前一次启动时不同版本的固件的应用模块14与通信模块10结合的情况下,处理器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所支持的通信协议相对应的固件是否存在。如果在应用模块存储器142内存在与通信协议相对应的固件,则处理器100可以取代S512,而是读出应用模块存储器142内的该固件及对应的数据,执行该固件的固有功能。如果在应用模块存储器142内不存在与通信协议相对应的固件,则处理器100可以使处理进入至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可以具有多个固件区域220及多个备份区域240,它们对与连接于通信模块10或者扩展通信模块82的多个应用模块14的功能单元144相对应的固件进行储存。处理器100关于与通信模块10或者扩展通信模块82连接的多个应用模块14,从应用模块存储器142取得对应的多个固件,分时地或者并行地执行上述的各种处理。
另外,本发明的各种实施方式可以参照流程图及框图而进行记载,在这里框可以表示(1)操作被执行的过程阶段或者(2)具有执行操作的作用的装置的块。特定的阶段及块可以通过专用电路、与在计算机可读介质上储存的计算机可读命令一起被供给的可编程电路、和/或与在计算机可读介质上储存的计算机可读命令一起被供给的处理器进行安装。专用电路可以包含数字和/或模拟硬件电路,也可以包含集成电路(IC)和/或分立电路。可编程电路可以包含能够再构成的硬件电路,该硬件电路包含逻辑AND、逻辑OR、逻辑XOR、逻辑NAND、逻辑NOR及其他逻辑操作、触发器、寄存器、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)等这样的存储器要素等。
计算机可读介质可以包含能够对通过适当的设备执行的命令进行储存的任意有形的设备,其结果,具有在该设备中储存的命令的计算机可读介质具有产品,该产品包含为了创建用于执行通过流程图或者框图指定出的操作的单元而可执行的命令。作为计算机可读介质的例子,可以包含电子存储介质、磁存储介质、光存储介质、电磁存储介质、半导体存储介质等。作为计算机可读介质的更具体的例子,可以包含软盘(注册商标)、磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或者闪存)、带电可擦可编程只读存储器(EEPROM)、静态随机存取存储器(SRAM)、压缩盘只读存储器(CD-ROM)、数字多用途盘(DVD)、蓝光(RTM)盘、记忆棒、集成电路卡等。
计算机可读命令可以包含通过包含汇编命令、命令架构(ISA)命令、机器命令、机器依赖命令、微码、固件命令、状态设定数据、或者Smalltalk、JAVA(注册商标)、C++等这样的客体指向编程语言、及“C”编程语言或者相同的编程语言这样的现有的程序化编程语言的1个或者多个编程语言的任意组合记述的源代码或者客体码的任意者。
计算机可读命令可以对通用计算机、特殊目的计算机、或者能够执行其他程序的数据处理装置的处理器或者可编程电路经由本地或者局域网(LAN)、互联网等这样的广域网(WAN)而被提供,为了创建用于执行通过流程图或者框图指定出的操作的单元,可以执行计算机可读命令。作为处理器的例子,包含计算机处理器、处理单元、微处理器、数字信号处理器、控制器、微控制器等。
图10表示可以将本发明的多个方式整体地或者局部地具体实现的计算机2200的例子。在计算机2200中安装的程序在计算机2200中能够作为与本发明的实施方式所涉及的装置相关联的操作或者该装置的1个或者多个块起作用,或者能够执行该操作或者该1个或者多个块,能够在其基础上或者取代之,使计算机2200执行本发明的实施方式所涉及的过程或者该过程的阶段。上述这样的程序在计算机2200中,为了执行与在说明书中记载的流程图及框图的框中的几个或者全部相关联的特定的操作,可以由CPU 2212执行。
本实施方式所涉及的计算机2200包含CPU 2212、RAM 2214、图形控制器2216及显示器设备2218,它们由主控制器2210相互地连接。另外,计算机2200包含通信接口2222、硬盘驱动器2224、DVD-ROM驱动器2226及IC卡驱动器这样的输入输出单元,它们经由输入输出控制器2220而与主控制器2210连接。另外,计算机包含ROM 2230及键盘2242这样的传统的输入输出单元,它们经由输入输出芯片2240而与输入输出控制器2220连接。
CPU 2212按照在ROM 2230及RAM 2214内储存的程序进行动作,由此控制各单元。图形控制器2216取得向RAM 2214内提供的帧缓冲等或者在其本身中由CPU 2212生成的图像数据,图像数据在显示器设备2218上进行显示。
通信接口2222经由网络而与其他电子设备进行通信。硬盘驱动器2224对由计算机2200内的CPU 2212使用的程序及数据进行储存。DVD-ROM驱动器2226从DVD-ROM 2201读取程序或者数据,经由RAM 2214将程序或者数据提供给硬盘驱动器2224。IC卡驱动器从IC卡读取程序及数据,在其基础上或者取代之而将程序及数据写入至IC卡。
ROM 2230在其之中对在有效化时由计算机2200执行的引导程序等、及依赖于计算机2200的硬件的程序的至少1个进行储存。另外,输入输出芯片2240可以将各种输入输出单元经由并行端口、串行端口、键盘端口、鼠标端口等而与输入输出控制器2220连接。
程序是由DVD-ROM 2201或者IC卡这样的计算机可读介质提供的。程序从计算机可读介质被读取,安装于作为计算机可读介质的例子的硬盘驱动器2224、RAM 2214或者ROM2230,由CPU 2212执行。在这些程序内记述的信息处理被读取至计算机2200,实现程序和上述各种类型的硬件资源之间的协同。装置或者方法可以按照计算机2200的使用、通过实现信息的操作或者处理而构成。
例如,在计算机2200及外部设备间执行通信的情况下,CPU2212可以执行载入至RAM 2214的通信程序,基于在通信程序中记述的处理,针对通信接口2222命令通信处理。通信接口2222在CPU2212的控制下,读取向RAM 2214、硬盘驱动器2224、DVD-ROM2201或者IC卡这样的记录介质内提供的在发送缓冲处理区域储存的发送数据,将读取的发送数据发送至网络,或者将从网络接收到的接收数据写入至在记录介质上提供的接收缓冲处理区域等。
另外,CPU 2212可以将在硬盘驱动器2224、DVD-ROM驱动器2226(DVD-ROM2201)、IC卡等这样的外部记录介质中储存的文件或者数据库的全部或者需要的部分读取至RAM 2214,针对RAM 2214上的数据而执行各种类型的处理。CPU 2212接下来将处理后的数据回写至外部记录介质。
各种类型的程序、数据、表格及数据库这样的各种类型的信息可以储存于记录介质,接受信息处理。CPU 2212可以针对从RAM2214读取到的数据,执行本发明中随处记载的、包含通过程序的命令定序指定的各种类型的操作、信息处理、条件判断、条件分支、无条件分支、信息的检索、置换等的各种类型的处理,将结果回写至RAM 2214。另外,CPU 2212也可以对记录介质内的文件、数据库等中的信息进行检索。例如,在各自具有与第2属性的属性值相关联的第1属性的属性值的多个条目储存于记录介质内的情况下,CPU 2212从该多个条目中对与被指定第1属性的属性值的条件一致的条目进行检索,读取在该条目内储存的第2属性的属性值,由此取得与满足预定的条件的第1属性相关联的第2属性的属性值。
以上说明的程序或者软件模块可以储存于计算机2200上或者计算机2200附近的计算机可读介质。另外,向与专用通信网络或者互联网连接的服务器系统内提供的硬盘或者RAM这样的记录介质,能够作为计算机可读介质进行使用,由此将程序经由网络而提供给计算机2200。
以上,使用实施方式对本发明进行了说明,但本发明的技术范围并不受在上述实施方式中记载的范围限定。在上述实施方式中,对于本领域的技术人员而言,显然能够施加多样的变更或者改良。根据权利要求书的记载而知晓施加上述那样的变更或者改良的方式也能够包含于本发明的技术范围。
在权利要求书、说明书及附图中示出的装置、系统、程序及方法中的动作、顺序、步骤及阶段等各处理的执行顺序并没有特别地明示为“更前”、“之前”等,另外,应该注意到并不一定在后续处理中使用先前处理的输出,可通过任意的顺序而实现。关于权利要求书、说明书及附图中的动作流程,即使为了方便起见而使用了“首先,”、“接下来,”等而进行了说明,但并不是代表必须按照该顺序实施。
Claims (12)
1.一种装置,其具有:
通信模块,其具有处理器及通信部;以及
应用模块,其能够装卸地与所述通信模块结合,
所述应用模块具有:
功能单元,其包含用于与传感器、致动器及外部传感器及外部致动器中的至少1个连接的通信端口中的至少1个;以及
应用模块存储器,其对由所述处理器执行的固件进行储存。
2.根据权利要求1所述的装置,其中,
所述处理器通过执行所述固件,从而控制所述功能单元,且经由所述通信部而进行与该装置的连接目标的仪器之间的通信。
3.根据权利要求1或2所述的装置,其中,
所述通信模块还具有固件存储器,该固件存储器具有对从所述应用模块取得的所述固件进行存储的固件区域,
所述处理器执行在所述固件存储器的固件区域中存储的固件。
4.根据权利要求3所述的装置,其中,
所述处理器在启动处理中,
从与所述通信模块结合的所述应用模块取得识别信息,
与取得的识别信息和在所述固件存储器中储存的固件所关联的识别信息不一致相应地,取得在所述应用模块存储器中储存的固件而向所述固件存储器的固件区域进行存储。
5.根据权利要求4所述的装置,其中,
所述应用模块存储器对1个或者多个所述固件进行储存,
所述处理器在启动处理中,将在所述应用模块存储器中储存的1个或者多个固件中的、与所述通信模块所使用的通信协议相对应的固件,向所述固件存储器进行存储。
6.根据权利要求3至5中任一项所述的装置,其中,
所述应用模块存储器将固件的版本信息与固件相关联地储存,
所述处理器在启动处理中,基于将在所述固件存储器中储存的固件的版本信息、及与在所述应用模块存储器中储存的固件相关联的版本信息进行比较得到的结果,决定是否将在所述应用模块存储器中储存的固件向所述固件存储器的固件区域进行存储。
7.根据权利要求4至6中任一项所述的装置,其中,
所述处理器在启动处理中,将在所述应用模块存储器中储存的固件存储于所述固件存储器的备份区域而重新启动所述处理器,
在重新启动中,将在所述固件存储器的所述备份区域中存储的固件存储于所述固件存储器的所述固件区域。
8.根据权利要求1至7中任一项所述的装置,其中,
所述处理器从该装置的连接目标的仪器下载固件而向所述应用模块存储器进行储存。
9.根据权利要求1至8中任一项所述的装置,其中,
所述应用模块存储器还对所述处理器与所述至少1个功能单元及所述通信部相关的数据进行储存,
所述处理器使在所述应用模块存储器中储存的所述数据向所述通信模块内的数据存储器进行存储,使用该存储的数据进行处理。
10.一种通信模块,其具有:
连接部,其用于能够装卸地结合应用模块,该应用模块具有功能单元,该功能单元包含用于与传感器、致动器及外部传感器及外部致动器的至少1个连接的通信端口中的至少1个;
处理器;以及
通信部,
所述处理器执行在通过所述连接部结合的所述应用模块所具有的应用模块存储器中储存的固件。
11.一种应用模块,其具有:
连接部,其用于能够装卸地结合具有处理器及通信部的通信模块;
功能单元,其包含用于与传感器、致动器及外部传感器及外部致动器的至少1个连接的通信端口中的至少1个;以及
应用模块存储器,其对由所述处理器执行的固件进行储存,
将在所述应用模块存储器中储存的固件提供给所述处理器。
12.一种方法,其具有下述步骤:
将具有处理器及通信部的通信模块和能够与所述通信模块进行装卸的应用模块结合,该应用模块具有功能单元和应用模块存储器,该功能单元包含用于与传感器、致动器及外部传感器及外部致动器的至少1个连接的通信端口中的至少1个,该应用模块存储器对由所述处理器执行的固件进行储存;
所述应用模块将由所述处理器执行的固件提供给所述处理器;以及
所述处理器执行从所述应用模块提供的固件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-093151 | 2019-05-16 | ||
JP2019093151A JP7103303B2 (ja) | 2019-05-16 | 2019-05-16 | 装置、通信モジュール、アプリケーションモジュールおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111953726A true CN111953726A (zh) | 2020-11-17 |
CN111953726B CN111953726B (zh) | 2023-09-08 |
Family
ID=70482275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010337676.5A Active CN111953726B (zh) | 2019-05-16 | 2020-04-26 | 现场仪器的部分变更装置、通信模块及部分变更方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11494494B2 (zh) |
EP (1) | EP3742288A1 (zh) |
JP (1) | JP7103303B2 (zh) |
CN (1) | CN111953726B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422356A (zh) * | 2022-01-19 | 2022-04-29 | 中国电子科技集团公司第五十四研究所 | 一种天通模块固件切换的方法 |
CN115315921A (zh) * | 2021-02-26 | 2022-11-08 | 西恩泰克有限公司 | 支持机器间连接的物联网通信系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11501002B2 (en) * | 2020-07-10 | 2022-11-15 | Dell Products L.P. | Protocol security system |
KR102211876B1 (ko) * | 2020-07-14 | 2021-02-03 | 강재종 | 기존 필드버스 기반 자동제어 시스템의 사물인터넷 연동 장치 및 방법 |
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 |
CN113377577B (zh) * | 2021-06-10 | 2022-06-07 | 上海西信信息科技股份有限公司 | 一种基于大数据的云平台架构及其数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2011105998A1 (en) * | 2010-02-24 | 2011-09-01 | Hewlett-Packard Development Company, L.P. | Device driver for a device |
US20130297928A1 (en) * | 2010-12-28 | 2013-11-07 | Jurg Wyss | Field device with long-term firmware compatability |
CN107924480A (zh) * | 2016-03-15 | 2018-04-17 | 欧姆龙株式会社 | 电子设备、无线通信系统 |
Family Cites Families (11)
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 | 監視制御装置及び監視制御システム |
US7243347B2 (en) * | 2002-06-21 | 2007-07-10 | International Business Machines Corporation | Method and system for maintaining firmware versions in a data processing system |
US7293117B2 (en) * | 2004-06-10 | 2007-11-06 | Microsoft Corporation | Self-installing peripheral device with memory wherein in response to user request for additional storage peripheral device being configured to remove installation software stored on memory |
JP4236672B2 (ja) * | 2006-04-05 | 2009-03-11 | シャープ株式会社 | 画像処理装置 |
US20090132816A1 (en) * | 2007-11-15 | 2009-05-21 | Lockheed Martin Corporation | PC on USB drive or cell phone |
US9454355B2 (en) * | 2010-07-15 | 2016-09-27 | Dell Products L.P. | Information handling system image restoration |
US20130120106A1 (en) * | 2011-11-16 | 2013-05-16 | Motorola Mobility, Inc. | Display device, corresponding systems, and methods therefor |
JP2014026313A (ja) * | 2012-07-24 | 2014-02-06 | Yokogawa Electric Corp | フィールド機器用表示器ボード |
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 |
-
2019
- 2019-05-16 JP JP2019093151A patent/JP7103303B2/ja active Active
-
2020
- 2020-04-26 CN CN202010337676.5A patent/CN111953726B/zh active Active
- 2020-04-27 US US16/860,052 patent/US11494494B2/en active Active
- 2020-04-30 EP EP20172231.1A patent/EP3742288A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2011105998A1 (en) * | 2010-02-24 | 2011-09-01 | Hewlett-Packard Development Company, L.P. | Device driver for a device |
US20130297928A1 (en) * | 2010-12-28 | 2013-11-07 | Jurg Wyss | Field device with long-term firmware compatability |
CN107924480A (zh) * | 2016-03-15 | 2018-04-17 | 欧姆龙株式会社 | 电子设备、无线通信系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115315921A (zh) * | 2021-02-26 | 2022-11-08 | 西恩泰克有限公司 | 支持机器间连接的物联网通信系统 |
CN114422356A (zh) * | 2022-01-19 | 2022-04-29 | 中国电子科技集团公司第五十四研究所 | 一种天通模块固件切换的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3742288A1 (en) | 2020-11-25 |
JP7103303B2 (ja) | 2022-07-20 |
US11494494B2 (en) | 2022-11-08 |
CN111953726B (zh) | 2023-09-08 |
US20200364341A1 (en) | 2020-11-19 |
JP2020187651A (ja) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111953726B (zh) | 现场仪器的部分变更装置、通信模块及部分变更方法 | |
US7334117B2 (en) | Device boot loader for processing one or more requests from a host computer system concurrently with loading or updating the firmware of the device | |
US9298470B2 (en) | Method and apparatus for selecting bios program for a processor | |
US20090006831A1 (en) | Methods and apparatuses for configuring add-on hardware to a computing platform | |
CN101192165A (zh) | 主从式多处理器系统以及软件版本加载方法 | |
KR102485935B1 (ko) | 전자 장치 및 그의 동작 방법 | |
TWI707274B (zh) | 用於更新系統之rom編碼之電腦實施方法、電腦系統以及電腦可讀取媒體 | |
JP2016157417A (ja) | ネットワークの基本入出力システムの管理設備、方法及び非一時的なコンピュータ読取可能な媒体 | |
KR102226558B1 (ko) | 맞춤형 통합 확장 펌웨어 인터페이스 드라이버를 설치한 컴퓨터-읽기가능 레코딩 매체 및 그것의 방법 | |
CN110083380A (zh) | 固件更新方法及使用此方法的电子装置 | |
CN110995458B (zh) | 用于适配现场设备的功能的方法 | |
KR20200060863A (ko) | 임베디드 시스템의 펌웨어 관리 시스템 및 방법 | |
TW201721412A (zh) | 選擇及載入韌體卷區之技術 | |
CN1963682A (zh) | 能够更新可选装置的固件的图像形成设备及其方法 | |
CN109426527B (zh) | 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法 | |
CN103092659A (zh) | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 | |
US9870220B2 (en) | Memory flash apparatus and method for providing device upgrades over a standard interface | |
JP2015060411A (ja) | 情報処理装置のファームウェア更新方法 | |
JP2005182812A (ja) | コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法 | |
JP7001581B2 (ja) | 遠隔端末ユニットを動作させるための方法及びシステム | |
US20080256348A1 (en) | Method for configuration of a processing unit | |
CN114513507A (zh) | 接口装置、接口方法和记录有接口程序的记录介质 | |
WO2022050938A1 (en) | Firmware event recovery | |
CN104199702A (zh) | 一种软件版本加载方法 | |
JP2020101889A (ja) | モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |