协议转换器、数据传输方法、存储介质以及数据传输系统与流程

文档序号:23891842发布日期:2021-02-09 10:15阅读:81来源:国知局
协议转换器、数据传输方法、存储介质以及数据传输系统与流程

[0001]
本发明涉及协议转换器、数据传输方法、非临时性计算机可读存储介质以及数据传输系统。


背景技术:

[0002]
以往,为了在控制器和控制对象设备之间传输信息,具备能从控制器和控制对象设备双方访问的信息传输用存储器的系统已被公众所知(例如,参照专利文献1)。
[0003]
现有技术文献
[0004]
专利文献1:日本专利公开公报特开平3-127204号
[0005]
传输由多个数据构成的数据集时,要求构成数据集的各数据的版本一致。数据的版本例如可以由各数据的取得时刻、设定时刻或制作时刻等确定。即,要求数据集的同步。


技术实现要素:

[0006]
本发明的目的是提供能够将数据集同步传输的协议转换器、数据传输方法、非临时性计算机可读存储介质以及数据传输系统。
[0007]
几个实施方式的协议转换器是能将现场设备与设备控制装置之间连接的协议转换器,所述协议转换器具备转换器控制部和转换器存储部,所述转换器存储部能被所述转换器控制部和设备控制装置写入数据且读出数据,所述转换器存储部存储由所述转换器控制部控制的第一计数器以及由所述设备控制装置控制的第二计数器,所述转换器控制部从所述现场设备取得现场数据,当所述第一计数器的值与所述第二计数器的值相等时,所述转换器控制部将所述现场数据作为由多个数据构成的数据集写入所述转换器存储部,并且变更所述第一计数器的值,当所述第一计数器的值与所述第二计数器的值不同时,所述转换器控制部停止将所述现场数据写入所述转换器存储部的动作。这样,可以容易使设备控制装置读出的构成数据集的各数据的版本一致。其结果,数据集被同步传输。
[0008]
在一个实施方式的协议转换器中,所述转换器控制部在最后变更所述第一计数器的值后、经过规定时间以上时,变更所述第一计数器的值。这样,能够实现从死锁状态的恢复。其结果,提高了数据传输动作的可靠性。
[0009]
一个实施方式的协议转换器,能借助数据总线与所述设备控制装置连接。这样,实现与开放网络的连接。其结果,提高了协议转换器的便利性。
[0010]
几个实施方式的数据传输方法是协议转换器执行的数据传输方法,所述协议转换器能将现场设备与设备控制装置之间连接并具备转换器存储部,所述数据传输方法包括:从所述现场设备取得现场数据的步骤;当由所述协议转换器控制的第一计数器的值与由所述设备控制装置控制的第二计数器的值相等时,将所述现场数据作为由多个数据构成的数据集写入所述转换器存储部,并变更所述第一计数器的值的步骤;以及当所述第一计数器的值与所述第二计数器的值不同时,停止将所述现场数据写入所述转换器存储部的动作的步骤。这样,可以容易使设备控制装置读出的构成数据集的各数据的版本一致。其结果,数
据集被同步传输。
[0011]
几个实施方式的存储介质是存储有数据传输程序的非临时性计算机可读存储介质。所述数据传输程序使能将现场设备与设备控制装置之间连接并具备转换器存储部的协议转换器执行下述步骤:从所述现场设备取得现场数据的步骤;当由所述协议转换器控制的第一计数器的值与由所述设备控制装置控制的第二计数器的值相等时,将所述现场数据作为由多个数据构成的数据集写入所述转换器存储部,并变更所述第一计数器的值的步骤;以及当所述第一计数器的值与所述第二计数器的值不同时,停止将所述现场数据写入所述转换器存储部的动作的步骤。这样,可以容易使设备控制装置读出的构成数据集的各数据的版本一致。其结果,数据集被同步传输。
[0012]
几个实施方式的数据传输系统具备协议转换器、设备控制装置和存储装置,所述协议转换器能将现场设备与所述设备控制装置之间连接,所述协议转换器和所述设备控制装置能向所述存储装置写入数据且能从所述存储装置读出数据,所述存储装置存储由所述协议转换器控制的第一计数器以及由所述设备控制装置控制的第二计数器,所述协议转换器从所述现场设备取得现场数据,当所述第一计数器的值与所述第二计数器的值相等时,所述协议转换器将所述现场数据作为由多个数据构成的数据集写入所述存储装置,并变更所述第一计数器的值,当所述第一计数器的值与所述第二计数器的值不同时,所述协议转换器停止将所述现场数据写入所述存储装置的动作,当所述第一计数器的值与所述第二计数器的值不同时,所述设备控制装置取得被写入所述存储装置的所述现场数据,并将所述第一计数器的值复制到所述第二计数器。这样,可以容易使设备控制装置读出的构成数据集的各数据的版本一致。其结果,数据集被同步传输。
[0013]
按照本发明,提供能够将数据集同步传输的协议转换器、数据传输方法、非临时性计算机可读存储介质以及数据传输系统。
附图说明
[0014]
图1是表示比较例的数据传输系统的框图。
[0015]
图2是表示在比较例的数据传输系统中读出的数据的结构例的图。
[0016]
图3是表示一个实施方式的数据传输系统的结构例的框图。
[0017]
图4是表示转换器存储部所具有的存储区域的结构例的图。
[0018]
图5是代表数据传输系统的状态转化的一例的状态转化图。
[0019]
图6是表示协议转换器执行的数据传输方法的一例的流程图。
[0020]
图7是表示设备控制装置执行的数据传输方法的一例的流程图。
[0021]
附图标记说明
[0022]1ꢀꢀꢀ
数据传输系统
[0023]
10
ꢀꢀ
协议转换器
[0024]
11
ꢀꢀ
转换器存储部
[0025]
11a 传输数据区域
[0026]
11b 计数器区域
[0027]
12
ꢀꢀ
转换器控制部
[0028]
13
ꢀꢀ
第一接口(设备侧接口)
[0029]
14
ꢀꢀ
第二接口(控制侧接口)
[0030]
20
ꢀꢀ
设备控制装置
[0031]
30
ꢀꢀ
现场设备
[0032]
32
ꢀꢀ
i/o设备
[0033]
50
ꢀꢀ
数据总线
[0034]
52
ꢀꢀ
操作监视终端
[0035]
54
ꢀꢀ
设备管理部
具体实施方式
[0036]
(比较例)
[0037]
如图1所示,比较例的数据传输系统9具备协议转换器910和设备控制装置920。协议转换器910借助i/o设备32与多个现场设备30分别可通信地连接。多个构成可通信地连接的状态,与多个构成之间分别能收发数据或信息等的状态对应。设备控制装置920借助数据总线50与操作监视终端52和设备管理部54可通信地连接。操作监视终端52监视现场设备30的数据和状态,向设备控制装置920发出操作指令。设备管理部54管理现场设备30的仪器信息,并向设备控制装置920通知仪器信息。
[0038]
设备控制装置920通过基于第一通信协议的通信,输出或取得数据。另一方面,各现场设备30通过基于和第一通信协议不同的第二通信协议的通信,输出或取得数据。此时,设备控制装置920可取得的数据形式,与现场设备30输出的数据形式不同。此外,设备控制装置920输出的数据形式,与现场设备30可取得的数据形式不同。
[0039]
协议转换器910通过转换数据形式,能使通过不同通信协议进行通信的设备彼此间进行数据传输。协议转换器910将现场设备30输出的数据,转换为可向设备控制装置920传输的数据,使其成为设备控制装置920可取得的状态。数据可传输的状态与该数据的形式能被传输对象的构成接收的数据形式的状态对应。
[0040]
例如,能向设备控制装置920传输的数据的大小,由设备控制装置920的通信接口限定。当能向设备控制装置920传输的数据大小小于现场数据的大小时,协议转换器910将现场数据分割成设备控制装置920可取得的状态。通过将一个现场数据分割而生成多个数据。设备控制装置920通过将分割后的多个数据结合,能够复原一个现场数据。设备控制装置920可以将复原后的一个现场数据向操作监视终端52输出,也可以将分割后的多个数据的至少一部分向操作监视终端52输出。协议转换器910使多个数据的每一个成为设备控制装置920能取得的状态。通过由设备控制装置920取得成为设备控制装置920可取得的状态的数据,数据从协议转换器910被传输到设备控制装置920。即,多个数据以时分方式从协议转换器910向设备控制装置920传输。
[0041]
当数据逐次更新时,更新前的数据和更新后的数据被区分为不同版本的数据。即,存在彼此不同版本的数据。因此,需要对通过分割生成的各数据进行版本管理。复原时所采用的多个数据的一部分为不同版本的数据时,从这些数据复原的数据存在异常数据的危险。为了从分割的数据复原正常数据,要求复原时所采用的各数据的版本一致。数据的版本例如由分割前的数据的取得时刻、设定时刻或制作时刻等确定。
[0042]
协议转换器910具备存储数据的存储区域。协议转换器910写入存储区域的数据,
存储在存储区域中。协议转换器910把从现场设备30取得的数据分割成多个数据写入存储区域。设备控制装置920通过把分割的多个数据从存储区域读出并结合,能够将现场设备30输出的数据复原。另一方面,协议转换器910与设备控制装置920读出数据的时机无关地,将从现场设备30取得的数据分割并写入存储区域。
[0043]
如上所述,设备控制装置920能够将数据一个个取得。设备控制装置920将从规定的版本的数据分割的多个数据从存储区域一个个取得。在设备控制装置920将分割的数据一个个取得的期间,协议转换器910会把从不同版本的数据分割的多个数据覆盖在存储区域上。例如图2所示,设定存储区域能够由1号至4号表示的地址确定数据的存储位置。在期间p1中,在存储区域的1号至4号地址中存储从由ver.1表示的版本的数据分割的4个数据。在期间p2中,在存储区域的1号至4号地址中存储从由ver.2表示的版本的数据分割的4个数据。这里,假设尽管设备控制装置920在期间p1中开始读出1号至4号地址中存储的数据,但是在依次读出的中途,变为期间p2。于是,设备控制装置920在期间p1中读出1号和2号地址中存储的数据,在变为期间p2后读出3号和4号地址中存储的数据。此时,设备控制装置920从1号和2号地址读出的数据的版本是ver.1,从3号和4号地址读出的数据的版本是ver.2。即,设备控制装置920取得的多个数据的一部分,成为不同版本的数据。根据这些数据复原的数据会成为异常数据。
[0044]
如上所述,在比较例的数据传输系统9中,传输分割的多个数据时,多个数据中的一部分会成为不同版本的数据。要求传输的各数据的版本一致。通过使多个数据的版本一致,可以使多个数据同步。
[0045]
在此,本发明说明可以使传输的数据同步的协议转换器10(参照图3)、数据传输方法、数据传输程序以及数据传输系统1(参照图3)。
[0046]
(实施方式)
[0047]
如图3所示,本发明的一个实施方式的数据传输系统1具备协议转换器10和设备控制装置20。
[0048]
设备控制装置20借助协议转换器10与现场设备30可通信地连接。换句话说,协议转换器10能将现场设备30和设备控制装置20之间连接。多个构成可通信地连接的状态,与多个构成之间分别能收发数据或信息等的状态对应。设备控制装置20借助协议转换器10从现场设备30取得数据。协议转换器10将从现场设备30取得的数据转换为可向设备控制装置20传输的数据。数据可传输状态,与该数据的形式能被传输对象的构成接收的状态对应。这样,无论现场设备30的规格如何,设备控制装置20都能够从现场设备30取得数据。
[0049]
设备控制装置20根据从现场设备30取得的数据进行计算,生成向现场设备30输出的数据,并借助协议转换器10向现场设备30输出。协议转换器10把设备控制装置20输出的数据转换为可向现场设备30传输的数据。这样,无论现场设备30的规格如何,设备控制装置20都能够向现场设备30输出数据。
[0050]
设备控制装置20向现场设备30输出的数据,例如可以包含向现场设备30反馈的信息,可以包含控制现场设备30的信息。设备控制装置20借助数据总线50,与操作监视终端52和设备管理部54可通信地连接。数据总线50例如可以包含以太网(注册商标),还可以包含控制总线。数据总线50能和构成开放式过程自动化系统的设备连接。操作监视终端52监视现场设备30的数据和状态,向设备控制装置20发出操作指令。设备管理部54管理现场设备
30的仪器信息,向设备控制装置20输出仪器信息。设备控制装置20根据操作监视终端52发出的操作指令和从设备管理部54取得的仪器信息,生成向现场设备30输出的数据。
[0051]
假定设备控制装置20根据第一通信协议执行数据通信。另一方面,假定各现场设备30根据与第一通信协议不同的第二通信协议执行数据通信。此时,能在设备控制装置20和第二接口14之间传输的数据形式,有时与现场设备30输出的数据形式和现场设备30取得的数据形式不同。现场设备30输出的数据也称现场数据。设备控制装置20向现场设备30输出的数据也称控制数据。
[0052]
协议转换器10配合通信协议转换数据形式,由此使以不同通信协议进行通信的设备彼此之间的数据传输成为可能。协议转换器10把从现场设备30取得的现场数据转换为可向设备控制装置20传输的数据,使其成为设备控制装置20可取得的状态。此外,设备控制装置20将控制数据输出为可向协议转换器10传输的数据。协议转换器10把从设备控制装置20取得的数据转换为向现场设备30输出的控制数据并向现场设备30输出。这样,无论现场设备30的数据形式如何,协议转换器10都能够在现场设备30和设备控制装置20之间传输数据。
[0053]
协议转换器10具备转换器存储部11、转换器控制部12、第一接口13和第二接口14。协议转换器10通过第一接口13与i/o设备32和现场设备30可通信地连接。i/o设备32也称输入输出设备。第一接口13也称设备侧接口。设备侧接口包含和i/o设备32连接的通信线。协议转换器10借助i/o设备32取得现场设备30输出的数据。协议转换器10通过第二接口14与设备控制装置20可通信地连接。第二接口14也称控制侧接口。控制侧接口包含和设备控制装置20连接的通信线。第二接口14和数据总线50连接,并借助数据总线50可以和设备控制装置20连接。这样,协议转换器10能够和开放网络连接。其结果,协议转换器10的便利性提高。
[0054]
协议转换器10利用第一接口13、借助i/o设备32从现场设备30取得数据,并且向现场设备30输出数据。协议转换器10以使设备控制装置20能够借助第二接口14取得数据的方式转换数据,并且从设备控制装置20取得数据。
[0055]
转换器存储部11具有能够在指定的位置写入或读出数据的存储区域。协议转换器10把从现场设备30取得的数据以成为设备控制装置20可取得的状态的方式写入转换器存储部11存储。设备控制装置20借助第二接口14与转换器存储部11可通信地连接。设备控制装置20能从转换器存储部11读出数据且能向转换器存储部11写入数据。即,设备控制装置20能访问转换器存储部11。因此,设备控制装置20能够取得转换器存储部11中存储的数据。
[0056]
转换器存储部11可以由例如半导体存储器等构成,还可以由磁盘等存储介质构成。转换器存储部11由半导体存储器构成时,通过地址指定写入或读出数据的位置。转换器存储部11由磁盘构成时,通过区段编号等指定写入或读出数据的位置。转换器存储部11可以不包含在协议转换器10中,而和协议转换器10分开构成。转换器存储部11和协议转换器10分开构成时,也称存储装置。即,数据传输系统1可以将协议转换器10和存储装置作为单独的构成而具备。
[0057]
转换器控制部12将通过第一接口13取得的现场数据转换为可向设备控制装置20传输的数据,以成为设备控制装置20可取得的状态的方式写入转换器存储部11存储。转换器控制部12可以由1个以上的处理器构成。处理器可以由cpu(central processing unit中
央处理器)等通用集成电路构成。处理器通过执行规定的程序实现各种功能。处理器可以具有处理器存储部。处理器存储部存储处理器的动作中所采用的各种信息或用于使处理器实现协议转换器10的功能的程序等。处理器存储部可以作为处理器的作业存储器发挥功能。处理器存储部可以由例如半导体存储器等构成。
[0058]
第一接口13和i/o设备32可通信地连接。第一接口13根据从i/o设备32输入的电信号生成数据,并将其作为从现场设备30向设备控制装置20传输的数据而向协议转换器10输出。第一接口13从协议转换器10取得从设备控制装置20向现场设备30传输的数据,并转换为电信号后向i/o设备32输出。电信号可以包含电流信号,也可以包含电压信号。电流信号可以是控制在4ma以上且20ma以下的仪器用标准信号。
[0059]
第二接口14和设备控制装置20可通信地连接。第二接口14与设备控制装置20之间收发数字信号。能在协议转换器10与设备控制装置20之间传输的数据的形式,可根据第二接口14的规格决定。第二接口14的规格可以包含和设备控制装置20连接的通信线的规格。协议转换器10将现场数据转换为可向设备控制装置20传输的数据,并且把从设备控制装置20传输来的数据转换为向现场设备30输出的数据。
[0060]
协议转换器10有时将多个数据作为一个数据集处理。例如,传输从一个数据分割而成的多个数据,在传输对象中复原为原数据时,分割的多个数据作为一个数据集处理。作为另一例,现场设备30输出规定时刻中的多个测定数据时,多个测定数据可以作为一个数据集处理。
[0061]
通信线的规格包含通信容量。通信容量与在第二接口14和设备控制装置20之间每单位时间能够收发的数据量对应。能在协议转换器10和设备控制装置20之间传输的数据的大小,可根据通信线的通信容量决定。能在协议转换器10和设备控制装置20之间传输的数据的大小,也称传输容许大小。
[0062]
当现场数据的大小大于传输容许大小时,转换器控制部12将现场数据分割为传输容许大小以下的数据,以成为设备控制装置20可取得的状态的方式写入转换器存储部11存储。设备控制装置20访问转换器存储部11,读出并取得分割后存储的数据,复原现场数据。将一个现场数据分割而生成的多个数据,构成用于复原一个现场数据的复原数据集。
[0063]
当设备控制装置20根据现场数据生成的控制数据的大小大于传输容许大小时,设备控制装置20将控制数据分割为传输容许大小以下的数据,并把分割的数据写入转换器存储部11存储。协议转换器10从转换器存储部11中存储的多个数据复原一个控制数据,并把复原后的控制数据借助i/o设备32向现场设备30输出。将一个控制数据分割的多个数据的集合,构成用于复原一个控制数据的复原数据集。
[0064]
在协议转换器10和设备控制装置20之间分割传输的数据,也称片段数据。
[0065]
现场设备30输出的多个数据,可以用设备控制装置20彼此相关联地处理。由设备控制装置20彼此相关联的数据的集合,也称相关数据集。相关数据集构成现场设备30在规定时刻测定的测定数据的集合。构成相关数据集的测定数据,例如包含规定时刻中的气体的温度或流量或者液体的温度或流量等过程数据。测定数据例如包含规定时刻中的三维坐标或旋转角等位置数据或者速度、加速度或角速度等运动数据。设备控制装置20通过将构成相关数据集的测定数据彼此相关联地处理,能够生成将规定时刻中的测定数据反馈到现场设备30的控制的控制数据。
[0066]
设备控制装置20可以输出多个数据作为对现场设备30的控制数据。现场设备30可以根据多个数据执行一个控制。对现场设备30指示一个控制的数据的集合,也称控制数据集。构成控制数据集的控制数据,例如包含用于控制温度的加热器的输出或用于控制流量的阀的开度等。构成控制数据集的控制数据,例如包含电机的输出或执行机构的位移等。
[0067]
复原数据集以及相关数据集和控制数据集,也仅统称为数据集。连接在协议转换器10和设备控制装置20之间的第二接口14,将构成数据集的多个数据一个个地传输。即,第二接口14在协议转换器10和设备控制装置20之间,以时分方式传输多个数据。
[0068]
现场数据逐次更新时,更新前后的现场数据被区分为不同版本的数据。因此,需要对构成与现场数据对应的数据集的各数据的版本进行管理。例如,构成复原数据集的片段数据的一部分为不同版本时,从该数据集复原的现场数据,存在成为异常数据的危险。其结果,根据复原后的现场数据生成的控制数据,存在成为异常数据的危险。因此,要求构成复原数据集的各数据的版本一致。数据的版本例如由现场数据的取得时刻、设定时刻或制作时刻等确定。
[0069]
此外,在现场数据构成相关数据集时,需要对构成相关数据集的多个数据的版本进行管理。构成相关数据集的数据的一部分为不同版本时,根据相关数据集生成的控制数据,存在成为异常数据的危险。因此,要求构成相关数据集的各数据的版本一致。
[0070]
构成数据集的各数据的版本一致的状态,与数据集同步的状态对应。即,在协议转换器10与设备控制装置20之间的数据传输中,要求数据集同步。协议转换器10例如通过具备以下构成,可以使数据集同步。
[0071]
如图4所示,转换器存储部11的存储区域包含传输数据区域11a,所述传输数据区域11a存储现场设备30和设备控制装置20之间彼此传输的数据集。此外,转换器存储部11的存储区域包含计数器区域11b,所述计数器区域11b存储用于使数据集同步的计数器a和计数器b。传输数据区域11a包括:存储与从现场设备30向设备控制装置20传输的现场数据对应的数据集的区域;以及存储与从设备控制装置20向现场设备30传输的控制数据对应的数据集的区域。协议转换器10和多个现场设备30连接时,转换器存储部11具有与各现场设备30对应的存储区域。即,转换器存储部11具有与各现场设备30对应的传输数据区域11a和计数器区域11b。
[0072]
存储现场数据的区域分为存储构成数据集的各数据的区域。构成数据集的数据可以是将现场数据分割成传输容许大小以下的大小的数据,也可以是构成相关数据集的测定数据等。在图4的示例中,现场数据存储为由标有1/x至x/x的号码的x个数据构成的数据集。即,现场数据分为x个数据存储。
[0073]
存储控制数据的区域分为存储构成数据集的各数据的区域。构成数据集的数据可以是将控制数据分割为传输容许大小以下的大小的数据,也可以是构成控制数据集的数据。在图4的示例中,控制数据存储为由标有1/y至y/y的号码的y个数据构成的数据集。即,控制数据分为y个数据存储。
[0074]
构成与现场数据对应的数据集的数据的个数(x)和构成与控制数据对应的数据集的数据的个数(y),可以相同也可以不同。
[0075]
计数器区域11b中存储的计数器a和计数器b也分别称第一计数器和第二计数器。计数器a的值由协议转换器10的转换器控制部12控制。计数器b的值由设备控制装置20控
制。假设计数器a的值单表示为a。假设计数器b的值单表示为b。
[0076]
数据传输系统1根据计数器a和b各自的值进行动作。如图5所示,假定数据传输系统1向基于计数器a和b各自的值的多个状态转化动作。不论计数器a的值与计数器b的值一致或不同,转换器控制部12都借助i/o设备32从现场设备30取得现场数据。
[0077]
将a=b成立的状态称第一状态。转换器控制部12在第一状态中,向转换器存储部11的传输数据区域11a写入现场数据。当现场数据的大小大于传输容许大小时,转换器控制部12把将现场数据分割后的数据写入转换器存储部11,作为构成复原数据集的数据。转换器控制部12在作为现场数据取得多个测定数据的情况下,将各测定数据写入转换器存储部11,作为构成相关数据集的数据。
[0078]
设备控制装置20在第一状态中从转换器存储部11读出数据的情况下,不把读出的现场数据复原而将其废弃。这样,避免了在协议转换器10向传输数据区域11a写入现场数据期间,设备控制装置20根据从传输数据区域11a读出的现场数据生成控制数据。其结果,避免了设备控制装置20读出的构成数据集的各数据中一部分数据的版本不同的状况。
[0079]
此外,设备控制装置20不向转换器存储部11写入数据。这样,避免了在协议转换器10从传输数据区域11a读出控制数据期间,设备控制装置20向传输数据区域11a写入控制数据。其结果,避免了协议转换器10向现场设备30输出的构成数据集的各数据中一部分数据的版本不同的状况。
[0080]
转换器控制部12以构成数据集的全部数据已写入转换器存储部11为条件,通过作为计数器a的值变更为和当前的值不同的值并写入计数器区域11b,变更计数器a的值。
[0081]
转换器控制部12可以增加计数器a的值。此时,计数器a通过向上计数(count up)而动作。转换器控制部12也可以减少计数器a的值。此时,计数器a通过向下计数(count down)而动作。即,转换器控制部12可以将计数器a的值向增加方向或减小方向变更。转换器控制部12可以根据其他各种规则变更计数器a的值。
[0082]
通过在a=b成立的第一状态中变更计数器a的值,转化为a≠b成立的状态。a≠b成立的状态称第二状态。从第一状态向第二状态转化的条件也称第一条件。若构成与现场数据对应的数据集的全部数据被写入转换器存储部11,则满足第一条件。
[0083]
无论在第一状态下还是第二状态下,设备控制装置20都从转换器存储部11的传输数据区域11a中存储现场数据的区域读出数据。设备控制装置20在第二状态下读出复原数据集的情况下,根据复原数据集的各数据复原现场数据。设备控制装置20根据复原后的现场数据生成控制数据。设备控制装置20在读出相关数据集的情况下,根据构成相关数据集的各数据生成控制数据。
[0084]
设备控制装置20将生成的控制数据写入转换器存储部11的传输数据区域11a中存储控制数据的区域。当控制数据的大小大于传输容许大小时,设备控制装置20将控制数据分割后写入传输数据区域11a。分割后的控制数据构成控制数据集。设备控制装置20生成构成控制数据集的多个控制数据时,将各控制数据写入传输数据区域11a。
[0085]
转换器控制部12在第二状态中,不向传输数据区域11a写入数据。换句话说,转换器存储部11在第二状态中,停止向转换器存储部11的传输数据区域11a写入数据的动作。这样,避免了设备控制装置20在第二状态中从传输数据区域11a读出现场数据期间,协议转换器10向传输数据区域11a写入现场数据的情况。其结果,避免了在设备控制装置20读出的构
成数据集的各数据中一部分数据的版本不同的状况。此外,转换器控制部12在第二状态中,不把转换器存储部11中存储的数据向现场设备30输出。这样,避免了设备控制装置20在第二状态中向传输数据区域11a写入控制数据期间,协议转换器10从传输数据区域11a读出控制数据的情况。其结果,避免了现场设备30输出的构成控制数据集的各数据中一部分数据的版本不同的状况。
[0086]
设备控制装置20以从转换器存储部11读出了构成与现场数据对应的数据集的全部数据作为条件,变更计数器b的值。作为计数器b的值,设备控制装置20通过将计数器a的值写入计数器区域11b来变更计数器b的值。即,设备控制装置20通过将计数器a的值作为计数器b的值进行复制来变更计数器b的值。设备控制装置20还可以以构成数据集的全部数据写入了转换器存储部11作为条件,变更计数器b的值,所述数据集与根据读出的数据生成的控制数据对应。
[0087]
通过在a≠b成立的第二状态中变更计数器b的值,转化为a=b成立的状态,即第一状态。作为从第二状态向第一状态转化的条件也称第二条件。若从转换器存储部11读出了构成与现场数据对应的数据集的全部数据,则满足第二条件。第二条件还可以通过构成与控制数据对应的数据集的全部数据被写入转换器存储部11而满足。
[0088]
在第二状态中,设备控制装置20变更计数器b的值时,有时将计数器b的值写入转换器存储部11的计数器区域11b的动作会失败。计数器b的写入的失败例如因设备控制装置20与第二接口14之间的通信异常引起。通信异常源于通信线上产生的噪声等。
[0089]
设备控制装置20具备设备控制存储部,在设备控制存储部存储计数器b的值。设备控制装置20通过将计数器b的值写入设备控制存储部并存储,不再需要从转换器存储部11读出计数器b。其结果,设备控制装置20的负荷降低。
[0090]
设备控制装置20在变更计数器b的值时,将计数器a的值作为在设备控制存储部中存储的计数器b的值而写入,并且将计数器a的值作为在转换器存储部11的计数器区域11b存储的计数器b的值而写入。无论向计数器区域11b写入计数器b的值成功或失败,设备控制装置20通过变更设备控制存储部中存储的计数器b的值,识别成转化为第一状态。此时,设备控制装置20不执行数据的写入和读出。
[0091]
另一方面,协议转换器10在向计数器区域11b写入计数器b的值失败的情况下,识别为原状处于第二状态。此时,协议转换器10不执行数据的写入和读出。
[0092]
通过协议转换器10和设备控制装置20双方都不动作,数据传输系统1陷入不动作的死锁状态。死锁状态也称第三状态。从第二状态转化为第三状态的条件也称第三条件。当设备控制装置20对计数器区域11b的计数器b的值写入失败时,满足第三条件。
[0093]
数据传输系统1在转化为第三状态的情况下,若协议转换器10和设备控制装置20双方都不动作,则以该状态无法转化为第一状态或第二状态。在第三状态中,数据传输系统1使转换器控制部12变更计数器a的值。通过变更计数器a的值,数据传输系统1能够从第三状态转化为第二状态。即,通过变更计数器a的值,数据传输系统1可以从第三状态恢复。这样,数据传输系统1能够以简便构成实现从死锁状态的恢复。其结果,数据传输系统1中的数据传输动作的可靠性提高。
[0094]
转换器控制部12可以在最后改变计数器a的值后经过规定时间时,变更计数器a的值。此时,规定时间例如设定为4秒。转换器控制部12可以在识别成转化为第二状态后经过
规定时间仍旧识别原状处于第二状态时,变更计数器a的值。从第三状态转化为第二状态的条件,也称第四条件。当转换器控制部12变更计数器a的值时,满足第四条件。也可以说转换器控制部12最后变更计数器a的值后经过规定时间时,满足第四条件。还可以说转换器控制部12在识别成转化为第二状态后经过规定时间时,满足第四条件。
[0095]
一个实施方式的数据传输系统1和协议转换器10可以容易使由设备控制装置20读出的、构成数据集的各数据的版本一致。此外,一个实施方式的数据传输系统1和协议转换器10可以容易使协议转换器10向现场设备30输出的、构成数据集的各数据的版本一致。其结果,数据集被同步传输。
[0096]
作为数据传输方法,协议转换器10执行图6的流程图所例示的步骤。图6的流程图中例示的步骤,可以作为处理器执行的数据传输程序实现。数据传输程序存储在非临时性计算机可读存储介质中。
[0097]
转换器控制部12从现场设备30取得现场数据(步骤s1)。无论a=b是否成立,转换器控制部12都取得现场数据。
[0098]
转换器控制部12读出转换器存储部11的计数器区域11b中存储的计数器a和b的值,判别a=b是否成立(步骤s2)。转换器控制部12可以通过读出转换器存储部11的计数器区域11b中存储的计数器a和b的值来判别。转换器控制部12在a=b不成立时(步骤s2:否),进入步骤s6。此时,转换器控制部12也可以将在步骤s1取得的现场数据废弃。
[0099]
转换器控制部12在a=b成立时(步骤s2:是),将现场数据写入转换器存储部11的传输数据区域11a(步骤s3)。这样,现场数据被存储在传输数据区域11a中。当现场数据的大小大于传输容许大小时,转换器控制部12将现场数据分割,并作为构成数据集的数据写入转换器存储部11的传输数据区域11a。转换器控制部12在取得与现场数据对应的数据集的情况下,将构成数据集的各数据写入转换器存储部11的传输数据区域11a。
[0100]
转换器控制部12读出设备控制装置20写入转换器存储部11的控制数据,并向现场设备30输出(步骤s4)。转换器控制部12可以将步骤s4和步骤s3同时执行,也可以将步骤s4在步骤s3前执行。
[0101]
转换器控制部12变更计数器a的值(步骤s5)。转换器控制部12在步骤s5后返回步骤s1。转换器控制部12也可以在步骤s5后返回步骤s2。
[0102]
转换器控制部12在a=b不成立时(步骤s2:否),即a≠b成立时,判别数据传输系统1是否陷入死锁状态(步骤s6)。转换器控制部12可以在最后变更计数器a的值后、经过规定时间时,判别数据传输系统1陷入死锁状态。此时,规定时间可以设定为4秒。转换器控制部12可以在识别转化为a≠b成立的第二状态后、经过规定时间仍旧识别原状处于第二状态时,判别数据传输系统1陷入死锁状态。
[0103]
转换器控制部12在数据传输系统1陷入死锁状态时(步骤s6:是),进入步骤s5,变更计数器a的值。转换器控制部12在数据传输系统1未陷入死锁状态时(步骤s6:否),返回步骤s1。
[0104]
作为数据传输方法,设备控制装置20执行图7的流程图例示的步骤。图7的流程图例示的步骤,可以作为数据传输程序实现。
[0105]
设备控制装置20从转换器存储部11的传输数据区域11a读出现场数据,并且从转换器存储部11的计数器区域11b读出计数器a的值(步骤s11)。设备控制装置20可以将现场
数据和计数器a的值同时读出,也可以以时分方式读出。
[0106]
设备控制装置20判别a=b是否成立(步骤s12)。设备控制装置20具备设备控制存储部,在设备控制存储部存储计数器b的值。设备控制装置20将在设备控制存储部存储的计数器b的值与从转换器存储部11读出的计数器a的值进行比较。
[0107]
设备控制装置20在a=b成立时(步骤s12:是),返回步骤s11。设备控制装置20在a=b不成立时(步骤s12:否),即a≠b成立时,根据在步骤s11读出的现场数据生成控制数据并输出(步骤s13)。设备控制装置20通过将控制数据写入转换器存储部11而输出。当控制数据的大小大于传输容许大小时,设备控制装置20将数据集写入转换器存储部11,所述数据集由把控制数据分割后的数据构成。设备控制装置20生成构成控制数据集的多个数据时,将各数据写入转换器存储部11。
[0108]
设备控制装置20变更计数器b的值(步骤s14)。设备控制装置20将计数器a的值作为在设备控制存储部中存储的计数器b的值写入。而且,设备控制装置20通过将设备控制存储部中存储的计数器b的值写入计数器区域11b,变更转换器存储部11中存储的计数器b的值。即,设备控制装置20通过将计数器a的值作为计数器b的值进行复制,变更转换器存储部11中存储的计数器b的值。设备控制装置20在步骤s14后返回步骤s11。
[0109]
按照一个实施方式的数据传输方法和数据传输程序,可以容易使设备控制装置20读出的、构成数据集的各数据的版本一致。此外,可以容易使协议转换器10向现场设备30输出的、构成数据集的各数据的版本一致。其结果,数据集被同步传输。
[0110]
本实施方式的数据传输系统1通过控制计数器a和计数器b,能够将数据集同步。作为比较例,为了使数据集同步而采用标记时,传输的数据中包含代表标记的位(bit)。此时,数据形式受到限制,并且传输的数据的实质性数据容量因标记而减少。此外,需要进行解释数据的内容的处理。按照本实施方式的数据传输系统1,在数据集同步的同时,相对于比较例,数据形式不易受到限制且数据容量不会减少。此外,不需要进行解释数据的内容的处理,降低了处理器的负荷。
[0111]
以上,参照附图说明了本发明的实施方式,但是具体构成不限于上述实施方式,在不脱离本发明的发明思想的范围内包含各种变更。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1