通信装置制造方法

文档序号:7793162阅读:135来源:国知局
通信装置制造方法
【专利摘要】一种通信装置,其依照规定的通信标准进行通信,该通信装置具有:保存部,其构成为至少保存包含用于实现通信装置的第1功能的程序在内的第1虚拟程序、和包含用于实现通信装置的第2功能的程序在内的第2虚拟程序;执行部,其构成为依次执行第1及第2虚拟程序;以及切换控制部,其构成为通过以下过程对在执行部中执行的第1以及第2虚拟程序进行切换,该过程为:从保存部读出第1以及第2虚拟程序的某一方的虚拟程序的至少一部分,并存储至执行部的存储器中,在执行部中执行,在一方的虚拟程序的处理结束后,与存储器的空闲容量相对应而从存储器删除一方的虚拟程序的至少一部分,从保存部读取第1以及第2虚拟程序的另一方的虚拟程序的至少一部分,并存储至执行部的存储器,在执行部中执行。
【专利说明】通信装置

【技术领域】
[0001 ] 本发明涉及一种通信装置。
[0002]本申请基于在2012年5月25日向日本申请的日本特愿2012-120180主张优先权,并在此引用其内容。

【背景技术】
[0003]当前,在车间或工厂等中,为了实现高级的自动操作,构建出将被称为现场仪器的测定器、操作器等现场设备、和对这些现场设备进行控制的控制装置经由通信单元连接而成的分散控制系统(DCS distributed Control System)。成为如上所述的分散控制系统的基础的通信系统,几乎都是通过有线进行通信的结构,但近年来还实现了依照ISA100.11a、WirelessHART (注册商标)等工业无线通信标准进行无线通信的结构。
[0004]上述ISA100 是由国际测量控制学会(ISA:1nternat1nal Society ofAutomat1n)制定出的在车间等的测量?控制等中使用的无线通信标准。与此相对,上述WirelessHART (注册商标)是美国的 HART (Highway Addressable Remote Transducer)通信协会提倡,以传感器网络(使多个带传感器的无线终端分散在空间中,能够对它们进行协调从而采集环境、物理状况的无线网络)作为基础的无线通信标准。
[0005]在以下的专利文献I中公开有将依照近距离.低消耗电力的无线通信标准即ZigBee(注册商标)的无线传感器网络,与使用互联网协议(IP:1nternet Protocol)技术而彼此相连接的计算机网络即IP网络彼此连接的技术。具体而言,在以下的专利文献I中,通过设置下述的网关,从而将这些网络彼此连接起来,其中,该网关具有:经由依照Zigbee的无线传感器网络实现通信的协议栈;以及经由IP网络实现通信的协议栈。
[0006]专利文献1:日本特许第4897884号公报


【发明内容】

[0007]与上述IP网络连接的计算机大多是具有处理能力高的CPU(中央处理装置)、大容量的存储器等的结构。如上所述的计算机预先嵌入有多个应用程序以及用于实现多个通信协议的程序,能够使多个应用并行动作,并且能够针对每个应用切换所使用的通信协议。
[0008]与此相对,上述的现场仪器、在上述的传感器网络中所使用的仪器,由于需要进行省电动作,因此大多构成必要最小限度的硬件结构。具体而言,大多采用下述结构,即,具有:CPU,其具有能够使特定的应用动作,并且能够实现利用特定的通信协议而进行通信的处理能力;以及存储器,其具有能够执行用于实现这些应用以及通信协议的程序的容量。
[0009]上述应用程序在使用于与上述的IP网络连接的计算机,或者使用于上述的需要进行省电动作的仪器的任意一者的情况下,有时出于追加新的功能或者对已有的功能进行强化的目的,也要进行版本升级。与IP网络连接的计算机具有大容量的存储器,因此即使由于版本升级等,应用程序的大小增加,也几乎不会产生问题。然而,上述的需要进行省电动作的仪器由于大多构成必要最小限度的硬件结构,因此如果由于版本升级等,应用程序的大小增加,则有时由于存储器不足而导致无法执行应用程序。
[0010]此外,现场仪器、与传感器网络连接的仪器大多在硬件的扩展性方面受到制约。例如,尽管闪存等低速存储器能够利用外部接口而容易地进行扩展,但是具有能够连接高速存储器的外部总线的低速存储器较少,其中,高速存储器能够储存程序、执行时的参数等。因此,针对如上所述的程序大小的增加,连接高速存储器,对能够执行程序的容量进行扩展是不容易的。
[0011]在本发明的一个方式中,提供一种即使程序大小增加,也能够将出现应用程序不能执行的情况避免的通信装置。
[0012]本发明的一个方式的通信装置依照规定的通信标准进行通信,该通信装置具有:保存部,其构成为至少保存第I虚拟程序和第2虚拟程序,其中,该第I虚拟程序包含用于实现所述通信装置的第I功能的程序,该第2虚拟程序包含用于实现所述通信装置的第2功能的程序;执行部,其构成为依次执行所述第I以及第2虚拟程序;以及切换控制部,其构成为,从所述保存部读出所述第I以及第2虚拟程序中的某一方的虚拟程序的至少一部分,并存储至所述执行部的存储器中,在所述执行部中执行,在所述一方的虚拟程序的处理结束后,与所述存储器的空闲容量相对应而从所述存储器删除所述一方的虚拟程序的至少一部分,从所述保存部读取所述第I以及第2虚拟程序中的另一方的虚拟程序的至少一部分,并存储至所述执行部的存储器,在所述执行部中执行,从而对在所述执行部中执行的所述第I以及第2虚拟程序进行切换。
[0013]此外,根据本发明的一个方式的通信装置,所述执行部具有信息保持区域,该信息保持区域对在所述第I虚拟程序和所述第2虚拟程序之间传递的信息进行保持。
[0014]此外,根据本发明的一个方式的通信装置,所述第I虚拟程序包含经由由所述规定的通信标准规定的协议栈进行数据的发送/接收的程序,所述第2虚拟程序至少包含实现数据的前处理或后处理的程序。
[0015]此外,根据本发明的一个方式的通信装置,所述切换控制部构成为,在从外部向所述通信装置发送数据的情况下,在所述执行部中执行所述第I虚拟程序,进行数据的接收处理,在利用所述第I虚拟程序进行的接收处理结束后,将在所述执行部中执行的虚拟程序从所述第I虚拟程序切换为所述第2虚拟程序,使所述第2虚拟程序针对进行所述接收处理后的数据进行后处理。
[0016]此外,根据本发明的一个方式的通信装置,所述第I虚拟程序使用在所述接收处理中所使用的参数,所述第2虚拟程序使用在所述后处理中所使用的参数。
[0017]此外,根据本发明的一个方式的通信装置,所述切换控制部构成为,在将数据发送至所述通信装置的外部的情况下,在所述执行部中执行所述第2虚拟程序,进行数据的前处理,在利用所述第2虚拟程序进行的前处理结束后,将在所述执行部中执行的虚拟程序从所述第2虚拟程序切换为所述第I虚拟程序,使所述第I虚拟程序对进行所述前处理后的数据进行发送处理。
[0018]此外,根据本发明的一个方式的通信装置,所述第I虚拟程序使用在所述发送处理中所使用的参数,所述第2虚拟程序使用在所述前处理中所使用的参数。
[0019]此外,根据本发明的一个方式的通信装置,所述第I虚拟程序包含以执行频率作为基准而预先规定的通常动作时所使用的程序,所述第2虚拟程序包含以执行频率作为基准而预先规定的非通常动作时所使用的程序。
[0020]此外,根据本发明的一个方式的通信装置,所述切换控制部构成为,在所述一方的虚拟程序的处理结束后,在确认到在所述执行部的存储器中不存在能够存储所述另一方的虚拟程序的至少一部分的空闲容量的情况下,从所述存储器删除所述一方的虚拟程序的至少一部分。
[0021]此外,根据本发明的一个方式的通信装置,所述切换控制部构成为,在所述一方的虚拟程序的处理结束后,在确认到在所述执行部的存储器中存在能够存储所述另一方的虚拟程序的至少一部分的空闲容量的情况下,不从所述存储器删除所述一方的虚拟程序,而使所述执行部的存储器存储所述另一方的虚拟程序的至少一部分。
[0022]本发明的一个方式的程序执行控制方法是依照规定的通信标准进行通信的通信装置中的程序执行控制方法,所述方法包含以下步骤:使第I虚拟程序和第2虚拟程序中的某一方的虚拟程序的至少一部分存储至所述通信装置的执行部的存储器中,并在所述执行部中执行所述一方的虚拟程序的步骤,其中,该第I虚拟程序包含用于实现所述通信装置的第I功能的程序,该第2虚拟程序包含用于实现所述通信装置的第2功能的程序;在所述一方的虚拟程序的执行结束后,与所述存储器的空闲容量相对应而从所述存储器删除所述一方的虚拟程序的至少一部分的步骤;以及在与所述存储器的空闲容量相对应而从所述执行部的存储器删除所述一方的虚拟程序的至少一部分后,使所述第I以及第2虚拟程序的另一方的虚拟程序的至少一部分存储至所述执行部的存储器,并在所述执行部中执行所述另一方的虚拟程序的步骤。
[0023]此外,根据本发明的一个方式的程序执行控制方法,所述第I虚拟程序包含经由由所述规定的通信标准规定的协议栈进行数据的发送/接收的程序,所述第2虚拟程序至少包含实现数据的前处理或后处理的程序。
[0024]此外,根据本发明的一个方式的程序执行控制方法,所述第I虚拟程序包含以执行频率作为基准而预先规定的通常动作时所使用的程序,所述第2虚拟程序包含以执行频率作为基准而预先规定的非通常动作时所使用的程序。
[0025]此外,根据本发明的一个方式的程序执行控制方法,与所述存储器的空闲容量相对应而从所述存储器删除所述一方的虚拟程序的至少一部分的步骤包含:在所述执行部的存储器中不存在能够存储所述另一方的虚拟程序的至少一部分的空闲容量的情况下,从所述存储器删除所述一方的虚拟程序的至少一部分的步骤。
[0026]此外,根据本发明的一个方式的程序执行控制方法,与所述存储器的空闲容量相对应而从所述存储器删除所述一方的虚拟程序的至少一部分的步骤包含:在所述执行部的存储器中存在能够存储所述另一方的虚拟程序的至少一部分的空闲容量的情况下,不从所述存储器删除所述一方的虚拟程序,而使所述执行部的存储器存储另一方的虚拟程序的至少一部分的步骤。
[0027]发明的效果
[0028]根据本发明的一个方式,由于在切换控制部的控制之下在执行部中执行第I虚拟程序和第2虚拟程序中的某一方,因此具有即使程序大小增加,也能够将出现应用程序不能执行的情况避免这样的效果,其中,该第I虚拟程序包含用于实现协议栈实现的通信程序以及应用程序的一部分(经由协议栈进行数据的发送/接收的程序),该第2虚拟程序包含其余的应用程序。此外,在应对虚拟程序大小的增加时,也能够通过将保存部进行扩展而容易地应对。

【专利附图】

【附图说明】
[0029]图1是表示本发明的第I实施方式涉及的通信装置的要部结构的框图。
[0030]图2是表示本发明的第I实施方式的虚拟程序的一个例子的图。
[0031]图3是用于说明本发明的第I实施方式的虚拟程序的切换条件的图。
[0032]图4是表示本发明的第I实施方式涉及的通信装置的接收动作的流程图。
[0033]图5是表示本发明的第I实施方式涉及的通信装置的发送动作的流程图。
[0034]图6是表示本发明的第2实施方式涉及的通信装置的动作的流程图。

【具体实施方式】
[0035]以下,参照附图详细说明本发明的一个实施方式涉及的通信装置。
[0036]〔第I实施方式〕
[0037]图1是表示本发明的第I实施方式涉及的通信装置的要部结构的框图。如图1所示,该第一实施方式的通信装置I具有:虚拟程序保存部11 (保存部)、虚拟程序执行部12 (执行部)、切换控制部13、以及无线通信接口部14,依照规定的无线通信标准进行通信。例如,通信装置I是依照工业用无线通信标准即ISA100进行无线通信的现场仪器。
[0038]虚拟程序保存部11 例如利用闪存 ROM (Read Only Memory) >EEPR0M (Electrical IyErasable and Programmable ROM)等非易失性存储器实现,对在通信装置I中使用的虚拟程序Pl(第I虚拟程序)以及虚拟程序P2(第2虚拟程序)进行保存。虚拟程序Pl以及P2是与通信装置I的硬件结构相对应而包含有多个程序或分割后的程序的程序。
[0039]图2是表示本发明的第I实施方式的虚拟程序的一个例子的图。如图2所示,虚拟程序PI包含通信程序P11?P13以及应用程序P21,使用参数PMl。通信程序P11?P13是依照上述的无线通信标准实现协议栈ST的程序。具体而言,通信程序Pll实现协议栈ST的数据链路层,通信程序P12实现协议栈ST的网络层,通信程序P13实现协议栈ST的传输层。
[0040]例如,通信程序Pll实现由无线通信标准IEEE802.15.4规定的数据链路层。通信程序P12实现由互联网协议的一种即IPv6规定的网络层。通信程序P13实现由互联网协议规定的UDP(User Datagram Protocol:用户数据报协议)而作为传输层。
[0041]应用程序P21是用于实现通信装置I的功能(例如,流量测定功能、温度测定功能、其它功能)的应用程序P20中的、经由协议栈ST进行数据的发送/接收的程序。参数PMl是在通信程序Pll?P13以及应用程序P21的执行时所使用的参数,例如,包含表示数据的发送目标和发送源的信息、用于识别通信网络的信息(子网ID)。
[0042]与此相对,虚拟程序P2包含应用程序P22,使用参数PM2。应用程序P22是应用程序P20中的除了应用程序P21之外其余的程序。例如,应用程序P22是用于实现:经由协议栈ST而发送的数据的前处理、经由协议栈ST而接收到的数据的后处理、以及上述的通信装置I的功能(例如,流量测定功能、温度测定功能、其它功能)的程序。在所述前处理中包含加密处理,但也可以包含除此之外的处理。在所述后处理中包含解密处理,但也可以包含除此之外的处理。参数PM2是在应用程序P22的执行时所使用的参数,例如包含:在加密处理中所使用的密钥信息、表示加密算法的信息、表示测定出的流量、温度的单位的信息。
[0043]在该第一实施方式中,对应用程序P20被分割为经由协议栈ST进行数据的发送/接收的程序即应用程序P21,以及其余的应用程序P22的例子进行说明,但应用程序P20的分割方法是任意的。例如,应用程序P20也可以分割为大于或等于3个的程序。但是,不会发生应用程序P20无法执行的情况,并且,不会对通信装置I的处理(例如,数据的发送/接收处理)造成障碍。此外,也可以是应用程序P22被分割为多个子程序,并以该子程序为单位进行程序的执行。如上所述,将应用程序P22分割的目的在于,即使应用程序P22的程序大小是通信装置I无法执行的大小,也能够执行应用程序P22。
[0044]虚拟程序执行部12依次执行在虚拟程序保存部11中保存的虚拟程序Pl以及P2。该虚拟程序执行部12利用CPU (中央处理装置)以及RAM (Random Access Memory)等易失性的存储器实现,将利用切换控制部13的控制而从虚拟程序保存部11读出的虚拟程序存储至易失性存储器中并执行。另外,构成虚拟程序执行部12的一部分的易失性存储器的容量可以设定为能够使虚拟程序Pl以及P2执行的容量。此外,在图1中,为了便于理解,将读出至虚拟程序执行部12的虚拟程序表现为虚线的虚拟程序PO。
[0045]此外,虚拟程序执行部12具有信息保持区域R1,其是对在虚拟程序执行部12中执行的虚拟程序之间所传递的信息进行保持的区域。在该信息保持区域Rl中,例如保持:通过虚拟程序Pl进行接收处理后的数据、以及通过虚拟程序P2进行加密处理后的数据等。通过设置该信息保持区域R1,能够在虚拟程序Pl以及P2之间顺利地进行信息的传递,其中,虚拟程序Pl以及P2利用切换控制部13进行切换。
[0046]切换控制部13进行在虚拟程序执行部12中执行的虚拟程序Pl以及P2的切换。具体而言,切换控制部13如图3所示,在从虚拟程序执行部12中执行的虚拟程序PO输出了事件信号El的情况下,进行在虚拟程序执行部12中所执行的虚拟程序Pl以及P2的切换。图3是用于说明本发明的第I实施方式的虚拟程序的切换条件的图。
[0047]例如,在从通信装置I的外部发送数据的情况下,切换控制部13从虚拟程序保存部11读出虚拟程序Pl并存储至虚拟程序执行部12的存储器,在虚拟程序执行部12中执行。并且,在表示接收处理结束这一情况的事件信号El从虚拟程序Pl (虚拟程序PO)输出时,切换控制部13确认在虚拟程序执行部12的存储器中是否存在能够存储虚拟程序P2的空闲容量,在存在空闲容量的情况下,不删除虚拟程序P1,而从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器。另一方面,在虚拟程序执行部12的存储器中不存在能够存储虚拟程序P2的空闲容量的情况下,从虚拟程序执行部12的存储器中删除虚拟程序P1,从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器。此外,在虚拟程序Pl以及P2分别包含多个子程序的情况下,也可以是以该子程序为单位,将程序从虚拟程序保存部11读出,存储至虚拟程序执行部12的存储器,从存储器中删除。由此,将在虚拟程序执行部12中执行的虚拟程序从虚拟程序Pl切换为虚拟程序P2,针对进行接收处理后的数据进行解密处理等后处理。
[0048]此外,例如,在将数据发送至通信装置I的外部的情况下,切换控制部13从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器,在虚拟程序执行部12中执行,进行加密处理等前处理。并且,在表示加密处理结束这一情况的事件信号El从虚拟程序P2(虚拟程序PO)输出时,切换控制部13确认在虚拟程序执行部12的存储器中是否存在能够存储虚拟程序Pl的空闲容量,在存在空闲容量的情况下,不删除虚拟程序P2,而从虚拟程序保存部11读出虚拟程序P1,并存储至虚拟程序执行部12的存储器。另一方面,在虚拟程序执行部12的存储器中不存在能够存储虚拟程序Pl的空闲容量的情况下,从虚拟程序执行部12的存储器中删除虚拟程序P2,从虚拟程序保存部11读出虚拟程序P1,并存储至虚拟程序执行部12的存储器。此外,在虚拟程序Pl以及P2分别包含多个子程序的情况下,也可以是以该子程序为单位,将程序从虚拟程序保存部11读出,存储至虚拟程序执行部12的存储器,从存储器中删除。由此,将在虚拟程序执行部12中执行的虚拟程序从虚拟程序P2切换为虚拟程序P1,对进行加密处理后的数据进行发送处理。
[0049]并且,切换控制部13在虚拟程序执行部12中执行的虚拟程序PO的状态不定的情况下(例如,利用看门狗定时器检测出问题的情况下等),必须在虚拟程序执行部12中执行包含实现协议栈ST的通信程序Pll?P13在内的虚拟程序P1。这是由于,例如,为了通过远程操作而将在虚拟程序P2的执行过程中产生的问题复原,将通信装置I设为能够通信的状态。如上所述,如果通过远程操作能够将在通信装置I中产生的问题复原,则不需要使作业人员前往通信装置I的设置场所进行复原作业,能够尽快地使通信装置I复原。
[0050]无线通信接口部14从通信装置I的外部接收作为无线信号而发送的数据,并且将发送至通信装置I的外部的数据以无线信号的形式进行发送。该无线通信接口部14例如与由无线通信标准IEEE802.15.4、无线通信标准IEEE802.lln、或者无线通信标准IEEE802.1la规定的物理层相当。
[0051]下面,对上述结构中的通信装置I的动作进行简单的说明。另外,以下,以从通信装置I的外部接收以无线信号发送出的数据时的动作(接收动作)、以及将发送至通信装置I的外部的数据以无线信号的形式进行发送时的动作(发送动作)为例进行说明。通信装置I为了降低消耗电力,设为按照预先规定的时间表进行间歇动作。因此,通信装置I在预先规定的定时进行发送动作,并在与进行发送动作的定时不同的预先规定的定时进行接收动作。
[0052]〈接收动作〉
[0053]图4是表示本发明的第I实施方式涉及的通信装置I的接收动作的流程图。在进行接收动作的情况下,首先,在虚拟程序保存部11中保存的虚拟程序Pl由切换控制部13读出,并存储至虚拟程序执行部12的存储器,在虚拟程序执行部12被执行(步骤Sll)。由此,在通信装置I中实现如图2所示的协议栈ST、以及经由协议栈ST进行的数据的发送/接收功能(利用应用程序P21实现的功能)。
[0054]在正在执行虚拟程序Pl的状态下,如果从通信装置I的外部发送来以通信装置I为目标的数据,则该数据由无线通信接口部14接收(步骤S12)。由无线通信接口部14接收到的数据被输出至虚拟程序执行部12,进行利用虚拟程序Pl进行的接收处理(数据包处理等)(步骤S13)。另外,利用虚拟程序Pl进行的接收处理,是使用利用通信程序Pll?P13而实现的协议栈ST和参数PMl进行的。进行接收处理后的数据被保持在虚拟程序执行部12的信息保持区域Rl中(步骤S14)。
[0055]如果利用虚拟程序Pl进行的接收处理结束,则表示接收处理结束这一情况的事件信号El从虚拟程序Pl (虚拟程序PO)输出至切换控制部13 (步骤S15)。然后,切换控制部13确认在虚拟程序执行部12的存储器中是否存在能够存储虚拟程序P2的空闲容量(步骤S16)。在虚拟程序执行部12的存储器中存在能够存储虚拟程序P2的空闲容量的情况下(步骤S16的确认结果是“YES”的情况下),不从存储器中删除虚拟程序P1,而从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器(步骤S18)。另一方面,在虚拟程序执行部12的存储器中不存在能够存储虚拟程序P2的空闲容量的情况下(步骤S16的确认结果是“NO”的情况下),从虚拟程序执行部12的存储器删除虚拟程序Pl (步骤S17),从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器(步骤S18)。此外,在虚拟程序Pl以及P2分别包含多个子程序的情况下,也可以是以该子程序为单位,将程序从虚拟程序保存部11读出,存储至虚拟程序执行部12的存储器,从存储器中删除。由此,将在虚拟程序执行部12中执行的虚拟程序从虚拟程序Pl切换为虚拟程序P2。由此,实现图2所示的应用程序P22的功能,进行经由协议栈ST接收到的数据的解密处理等后处理(步骤S19)。另外,在解密处理中,利用应用程序P22读出在信息保持区域Rl中保持的数据,并使用在虚拟程序P2中所包含的参数PM2。由此,发送至通信装置I的数据被接收。
[0056]在以上的接收处理中得到的数据在例如利用应用程序P22而实现的功能(例如,流量测定功能、温度测定功能、其它功能)中使用。另外,在步骤S17?S19的处理中产生问题的情况下,例如,为了能够利用远程操作而将在虚拟程序P2的执行过程中所产生的问题复原,在虚拟程序执行部12中执行的虚拟程序利用切换控制部13从虚拟程序P2切换为虚拟程序Pl。
[0057]〈发送动作〉
[0058]图5是表示本发明的第I实施方式涉及的通信装置I的发送动作的流程图。在进行发送动作的情况下,首先,在虚拟程序保存部11中保存的虚拟程序P2由切换控制部13读出,并存储至虚拟程序执行部12的存储器,在虚拟程序执行部12中被执行(步骤S21)。由此,实现图2所示的应用程序P22的功能。如果执行虚拟程序P2,则进行取得发送至通信装置I的外部的数据的处理(步骤S22)。例如,在通过应用程序P22的执行而在通信装置I中实现流量测定功能的情况下,进行测定流量并取得流量数据的处理,另一方面,在通信装置I中实现温度测定功能的情况下,进行测定温度并取得温度数据的处理。
[0059]如果发送至通信装置I的外部的数据被取得,则该数据在虚拟程序执行部12中被进行加密处理等前处理(步骤S23)。另外,加密处理使用在虚拟程序P2中所包含的参数PM2进行。进行加密处理后的数据保持在虚拟程序执行部12的信息保持区域Rl中(步骤S24)。
[0060]如果利用虚拟程序P2进行的加密处理结束,则表示加密处理结束这一情况的事件信号El从虚拟程序P2 (虚拟程序PO)输出至切换控制部13 (步骤S25)。然后,切换控制部13确认在虚拟程序执行部12的存储器中是否存在能够存储虚拟程序Pl的空闲容量(步骤S26)。在虚拟程序执行部12的存储器中存在能够存储虚拟程序Pl的空闲容量的情况下(步骤S26的确认结果是“YES”的情况下),不从存储器中删除虚拟程序P2,而从虚拟程序保存部11读出虚拟程序P1,并存储至虚拟程序执行部12的存储器(步骤S28)。另一方面,在虚拟程序执行部12的存储器中不存在能够存储虚拟程序Pl的空闲容量的情况下(步骤S26的确认结果是“NO”的情况下),从虚拟程序执行部12的存储器删除虚拟程序P2(步骤S27),从虚拟程序保存部11读出虚拟程序P1,并存储至虚拟程序执行部12的存储器(步骤S28)。此外,在虚拟程序Pl以及P2分别包含多个子程序的情况下,也可以是以该子程序为单位,将程序从虚拟程序保存部11读出,存储至虚拟程序执行部12的存储器,从存储器中删除。由此,将在虚拟程序执行部12中执行的虚拟程序从虚拟程序P2切换为虚拟程序P1。由此,实现图2所示的协议栈ST、和经由协议栈ST进行的数据的发送/接收功能(利用应用程序P21实现的功能)。
[0061]利用虚拟程序P2被加密后的数据,在虚拟程序执行部12中进行利用虚拟程序Pl进行的发送处理(数据包处理等)(步骤S29)。另外,利用虚拟程序Pl进行的发送处理,是使用利用通信程序Pll?P13实现的协议栈ST和参数PMl进行的。利用虚拟程序Pl进行的发送处理结束后的数据,从虚拟程序执行部12输出至无线通信接口部14而作为无线信号被发送。如上所述,将数据从通信装置I发送至外部。
[0062]另外,在步骤S21?S27的处理中产生问题的情况下,在虚拟程序执行部12中执行的虚拟程序利用切换控制部13从虚拟程序P2切换为虚拟程序Pl。与接收处理的情况同样地,这是为了例如能够利用远程操作而将在虚拟程序P2的执行中所产生的问题复原。
[0063]如上所述,在本第I实施方式中,构成为,将虚拟程序Pl以及P2保存至虚拟程序保存部11,并利用切换控制部13对在虚拟程序执行部12中执行的虚拟程序Pl以及P2进行切换,其中,该虚拟程序Pl以及P2与通信装置I的硬件结构相对应而包含有多个程序或分割后的程序。因此,即使用于实现通信装置I的功能的应用程序P20的程序大小有一定量的增加,也能够避免出现应用程序20无法执行的情况。
[0064]〔第2实施方式〕
[0065]下面,对本发明的第2实施方式涉及的通信装置进行说明。该第2实施方式的通信装置与第I实施方式涉及的通信装置I同样地,是具有虚拟程序保存部11?无线接口 14的结构。然而,关于该第2实施方式的通信装置,在虚拟程序保存部11中保存的虚拟程序Pl以及P2与第I实施方式不同。
[0066]具体而言,在前述的第I实施方式中,在虚拟程序Pl以及P2中所包含的应用程序P20是以有无进行数据的发送/接收的功能为基准,而分割为进行数据的发送/接收的应用程序P21、和其余的应用程序P22。与此相对,在该第2实施方式中,在虚拟程序Pl以及P2中所包含的应用程序P20是以执行频率为基准,而分割为在通常动作时所使用的应用程序P21、和在非通常动作时所使用的(根据需要而执行)应用程序P22。
[0067]上述的在通常动作时所使用的应用程序P21是应用程序P20中的、包含经由协议栈ST进行数据的发送/接收的程序,以及实现流量测定功能、温度测定功能等的程序在内的程序。与此相对,在非通常动作时所使用的应用程序P22是应用程序P20中的、进行用于维护的处理或利用公钥加密进行的密钥交换处理的程序。
[0068]S卩,如果参照图2进行说明,则在该第2实施方式中,虚拟程序Pl包含用于实现协议栈ST的通信程序Pll?P13、以及上述的在通常动作时所使用的应用程序P21,使用参数PMl0在参数PMl中,包含用于进行通信的发送目标、发送源、子网ID等信息,以及表示测定出的流量、温度的单位的信息。与此相对,虚拟程序P2包含上述的在非通常动作时所使用的应用程序P22,使用参数PM2。在参数PM2中,包含非通常动作时中的主要的信息(例如,证书的私钥、认证机构(CA-Certificat1n Authority)的公钥等)。
[0069]另外,该第2实施方式的切换控制部13根据通过通信而来自外部的事件进行虚拟程序P21以及P22的切换。具体而言,切换控制部13在启动时将进行通常动作的虚拟程序Pl存储至虚拟程序执行部12的存储器,并在虚拟程序执行部12中执行。然后,在从外部接收到非通常动作的数据包(用于密钥交换、维护的数据包)而输出了来自虚拟程序Pi(虚拟程序PO)的事件信号El的情况下,切换控制部13确认在虚拟程序执行部12的存储器中是否存在能够存储虚拟程序P2的空闲容量,在存在空闲容量的情况下,不删除虚拟程序P1,而从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器。另一方面,在虚拟程序执行部12的存储器中不存在能够存储虚拟程序P2的空闲容量的情况下,从虚拟程序执行部12的存储器中删除虚拟程序P1,从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器。此外,在虚拟程序Pl以及P2分别包含多个子程序的情况下,也可以是以该子程序为单位,将程序从虚拟程序保存部11读出,存储至虚拟程序执行部12的存储器,从存储器中删除。由此,将在虚拟程序执行部12中执行的虚拟程序切换为虚拟程序P2。
[0070]下面,对该第2实施方式涉及的通信装置I的动作进行简单说明。图6是表示该第2实施方式涉及的通信装置的动作的流程图。另外,图6所示的流程图在接通电源并启动通信装置后开始。
[0071]〈通常动作〉
[0072]如果通信装置I启动,则首先,将在虚拟程序保存部11中保存的虚拟程序Pl由切换控制部13读出,并存储至虚拟程序执行部12的存储器,在虚拟程序执行部12中被执行(步骤S31)。由此,在通信装置中实现:图2所示的协议栈ST、和用于经由协议栈ST实现数据的发送/接收功能以及流量测定功能等的程序(利用应用程序P21实现的功能),进行通常动作(步骤S32)。另外,在通常动作时,经由无线通信接口 14进行数据的发送/接收。
[0073]在通常动作时,虚拟程序执行部12按照虚拟程序Pl (虚拟程序PO)而判断是否接收有非通常动作的数据包(步骤S33)。具体而言,判断是否经由无线通信接口部14接收到用于密钥交换、维护的数据包。在虚拟程序执行部12判断为没有接收到非通常动作的数据包的情况下(判断结果为“NO”的情况下),重复进行通常动作(步骤S32)。
[0074]与此相对,在判断为接收到非通常动作的数据包的情况下(步骤S33的判断结果是“YES”的情况下),虚拟程序Pl (虚拟程序PO)通过协议栈ST处理数据包。然后,虚拟程序Pl(虚拟程序PO)将该处理结果(例如,密钥交换信息)保持在信息保持区域Rl中,并且将事件信号El输出至切换控制部13 (步骤S34)。
[0075]〈非通常动作〉
[0076]如果来自虚拟程序Pl (虚拟程序PO)的事件信号El被输入,则切换控制部13确认在虚拟程序执行部12的存储器中是否存在能够存储虚拟程序P2的空闲容量(步骤S35)。在虚拟程序执行部12的存储器中存在能够存储虚拟程序P2的空闲容量的情况下(步骤S35的确认结果是“YES”的情况下),不从存储器中删除虚拟程序Pl,而从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器(步骤S37)。另一方面,在虚拟程序执行部12的存储器中不存在能够存储虚拟程序P2的空闲容量的情况下(步骤S35的确认结果是“NO”的情况下),从虚拟程序执行部12的存储器删除虚拟程序Pl (步骤S36),从虚拟程序保存部11读出虚拟程序P2,并存储至虚拟程序执行部12的存储器(步骤S37)。此外,在虚拟程序Pl以及P2分别包含多个子程序的情况下,也可以是以该子程序为单位,将程序从虚拟程序保存部11读出,存储至虚拟程序执行部12的存储器,从存储器中删除。由此,在虚拟程序执行部12中执行的虚拟程序从虚拟程序Pl切换为虚拟程序P2。由此,图2所示的应用程序P22的功能在通信装置中被实现,进行非通常动作。具体而言,在信息保存区域Rl中所保持的密钥交换信息由虚拟程序P2(虚拟程序PO)取出,并使用在参数PM2中所包含的私钥进行解密处理(步骤S38)。
[0077]如果解密处理结束,则将该处理结果保持在信息保持区域Rl中,并且从虚拟程序P2(虚拟程序PO)向切换控制部13输出事件信号El (步骤S39)。如果来自虚拟程序P2(虚拟程序PO)的事件信号El被输入,则切换控制部13确认在虚拟程序执行部12的存储器中是否存在虚拟程序Pl (步骤S40)。在虚拟程序执行部12的存储器中存在虚拟程序Pl的情况下(步骤S40的确认结果是“YES”的情况下),将在虚拟程序执行部12中执行的虚拟程序从虚拟程序P2切换为虚拟程序P1。在虚拟程序执行部12的存储器中不存在虚拟程序Pl的情况下(步骤S40的确认结果是“NO”的情况下),确认在虚拟程序执行部12的存储器中是否存在能够存储虚拟程序Pl的空闲容量(步骤S41)。在虚拟程序执行部12的存储器中存在空闲容量的情况下(步骤S41的确认结果是“YES”的情况下),不删除虚拟程序P2,而从虚拟程序保存部11读出虚拟程序P1,并存储至虚拟程序执行部12的存储器(步骤S31)。另一方面,在虚拟程序执行部12的存储器中不存在能够存储虚拟程序Pl的空闲容量的情况下(步骤S41的确认结果是“NO”的情况下),从虚拟程序执行部12的存储器删除虚拟程序P2 (步骤S42),从虚拟程序保存部11读出虚拟程序Pl,并存储至虚拟程序执行部12的存储器(步骤S31)。此外,在虚拟程序Pl以及P2分别包含多个子程序的情况下,也可以是以该子程序为单位,将程序从虚拟程序保存部11读出,存储至虚拟程序执行部12的存储器,从存储器中删除。由此,将在虚拟程序执行部12中执行的虚拟程序由虚拟程序P2切换为虚拟程序Pl,再次进行通常动作(步骤S32)。
[0078]另外,如果再次进行通常动作,则在信息保持区域Rl中所保持的解密处理的处理结果由虚拟程序Pl (虚拟程序PO)取出,并使用由此得到的密钥进行通常动作。另外,在步骤S36?S42的处理中产生问题的情况下,在虚拟程序执行部12中执行的虚拟程序,利用切换控制部13从虚拟程序P2被切换为虚拟程序P1。与第I实施方式同样地,这是为了例如能够利用远程操作而将在虚拟程序P2的执行过程中所产生的问题复原。
[0079]如上所述,在该第2实施方式中,与通信装置I的硬件结构相对应,将应用程序P20以执行频率为基准而分割为应用程序P21以及P22,并分别包含在虚拟程序Pl以及P2中,利用切换控制部13对这些虚拟程序Pl以及P2进行切换。由此,对于需要进行省电动作的仪器而言,即使程序大小有变大趋势的程序(例如,利用公钥加密而进行密钥交换处理的程序)的程序大小有一定量的增加,也能够避免出现应用程序20无法执行的情况。
[0080]以上,对本发明的一个实施方式涉及的通信装置进行了说明,但本发明不限于上述的实施方式,能够在本发明的范围内自由变更。例如,在上述实施方式中,以通信装置I是依照ISA10进行无线通信的现场仪器的情况为例进行了说明,但也可以是依照WirelessHART(注册商标)进行无线通信的现场仪器。此外,本发明不仅能应用于进行无线通信的通信装置,还能够应用于进行有线通信的通信装置。
[0081]标号的说明
[0082]I 通信装置
[0083]11 虚拟程序保存部
[0084]12 虚拟程序执行部
[0085]13 切换控制部
[0086]P1、P2 虚拟程序
[0087]Pll?P13 通信程序
[0088]P20 应用程序
[0089]P2UP22 应用程序
[0090]PM1、PM2 参数
[0091]Rl 信息保持区域
[0092]ST 协议栈
【权利要求】
1.一种通信装置,其依照规定的通信标准进行通信,该通信装置具有: 保存部,其构成为至少保存第I虚拟程序和第2虚拟程序,其中,该第I虚拟程序包含用于实现所述通信装置的第I功能的程序,该第2虚拟程序包含用于实现所述通信装置的第2功能的程序; 执行部,其构成为依次执行所述第I以及第2虚拟程序;以及 切换控制部,其构成为,从所述保存部读出所述第I以及第2虚拟程序中的某一方的虚拟程序的至少一部分,并存储至所述执行部的存储器中,在所述执行部中执行,在所述一方的虚拟程序的处理结束后,与所述存储器的空闲容量相对应而从所述存储器删除所述一方的虚拟程序的至少一部分,从所述保存部读取所述第I以及第2虚拟程序中的另一方的虚拟程序的至少一部分,并存储至所述执行部的存储器,在所述执行部中执行,从而对在所述执行部中执行的所述第I以及第2虚拟程序进行切换。
2.根据权利要求1所述的通信装置,其中, 所述执行部具有信息保持区域,该信息保持区域对在所述第I虚拟程序和所述第2虚拟程序之间传递的信息进行保持。
3.根据权利要求1所述的通信装置,其中, 所述第I虚拟程序包含经由由所述规定的通信标准规定的协议栈进行数据的发送/接收的程序, 所述第2虚拟程序至少包含实现数据的前处理或后处理的程序。
4.根据权利要求3所述的通信装置,其中, 所述切换控制部构成为,在从外部向所述通信装置发送数据的情况下,在所述执行部中执行所述第I虚拟程序,进行数据的接收处理,在利用所述第I虚拟程序进行的接收处理结束后,将在所述执行部中执行的虚拟程序从所述第I虚拟程序切换为所述第2虚拟程序,使所述第2虚拟程序针对进行所述接收处理后的数据进行后处理。
5.根据权利要求4所述的通信装置,其中, 所述第I虚拟程序使用在所述接收处理中所使用的参数, 所述第2虚拟程序使用在所述后处理中所使用的参数。
6.根据权利要求3所述的通信装置,其中, 所述切换控制部构成为,在将数据发送至所述通信装置的外部的情况下,在所述执行部中执行所述第2虚拟程序,进行数据的前处理,在利用所述第2虚拟程序进行的前处理结束后,将在所述执行部中执行的虚拟程序从所述第2虚拟程序切换为所述第I虚拟程序,使所述第I虚拟程序对进行所述前处理后的数据进行发送处理。
7.根据权利要求6所述的通信装置,其中, 所述第I虚拟程序使用在所述发送处理中所使用的参数, 所述第2虚拟程序使用在所述前处理中所使用的参数。
8.根据权利要求1所述的通信装置,其中, 所述第I虚拟程序包含以执行频率作为基准而预先规定的通常动作时所使用的程序, 所述第2虚拟程序包含以执行频率作为基准而预先规定的非通常动作时所使用的程序。
9.根据权利要求1所述的通信装置,其中, 所述切换控制部构成为,在所述一方的虚拟程序的处理结束后,在确认到在所述执行部的存储器中不存在能够存储所述另一方的虚拟程序的至少一部分的空闲容量的情况下,从所述存储器删除所述一方的虚拟程序的至少一部分。
10.根据权利要求1所述的通信装置,其中, 所述切换控制部构成为,在所述一方的虚拟程序的处理结束后,在确认到在所述执行部的存储器中存在能够存储所述另一方的虚拟程序的至少一部分的空闲容量的情况下,不从所述存储器删除所述一方的虚拟程序,而使所述执行部的存储器存储所述另一方的虚拟程序的至少一部分。
11.一种方法,其是依照规定的通信标准进行通信的通信装置中的程序执行控制方法,所述方法包含以下步骤: 使第I虚拟程序和第2虚拟程序中的某一方的虚拟程序的至少一部分存储至所述通信装置的执行部的存储器中,并在所述执行部中执行所述一方的虚拟程序的步骤,其中,该第I虚拟程序包含用于实现所述通信装置的第I功能的程序,该第2虚拟程序包含用于实现所述通信装置的第2功能的程序; 在所述一方的虚拟程序的执行结束后,与所述存储器的空闲容量相对应而从所述存储器删除所述一方的虚拟程序的至少一部分的步骤;以及 在与所述存储器的空闲容量相对应而从所述执行部的存储器删除所述一方的虚拟程序的至少一部分后,使所述第I以及第2虚拟程序的另一方的虚拟程序的至少一部分存储至所述执行部的存储器,并在所述执行部中执行所述另一方的虚拟程序的步骤。
12.根据权利要求11所述的方法,其中, 所述第I虚拟程序包含经由由所述规定的通信标准规定的协议栈进行数据的发送/接收的程序, 所述第2虚拟程序至少包含实现数据的前处理或后处理的程序。
13.根据权利要求11所述的方法,其中, 所述第I虚拟程序包含以执行频率作为基准而预先规定的通常动作时所使用的程序, 所述第2虚拟程序包含以执行频率作为基准而预先规定的非通常动作时所使用的程序。
14.根据权利要求11所述的方法,其中, 与所述存储器的空闲容量相对应而从所述存储器删除所述一方的虚拟程序的至少一部分的步骤包含:在所述执行部的存储器中不存在能够存储所述另一方的虚拟程序的至少一部分的空闲容量的情况下,从所述存储器删除所述一方的虚拟程序的至少一部分的步骤。
15.根据权利要求11所述的方法,其中, 与所述存储器的空闲容量相对应而从所述存储器删除所述一方的虚拟程序的至少一部分的步骤包含:在所述执行部的存储器中存在能够存储所述另一方的虚拟程序的至少一部分的空闲容量的情况下,不从所述存储器删除所述一方的虚拟程序,而使所述执行部的存储器存储所述另一方的虚拟程序的至少一部分的步骤。
【文档编号】H04L29/06GK104322032SQ201380026421
【公开日】2015年1月28日 申请日期:2013年5月24日 优先权日:2012年5月25日
【发明者】冈部宣夫, 秋定征世, 宫泽和纪, 樱井康树 申请人:横河电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1