CN113759884A - 一种分散控制***输入输出点产物文件生成方法和*** - Google Patents
一种分散控制***输入输出点产物文件生成方法和*** Download PDFInfo
- Publication number
- CN113759884A CN113759884A CN202111313903.1A CN202111313903A CN113759884A CN 113759884 A CN113759884 A CN 113759884A CN 202111313903 A CN202111313903 A CN 202111313903A CN 113759884 A CN113759884 A CN 113759884A
- Authority
- CN
- China
- Prior art keywords
- information
- board card
- variable
- area
- board
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000000638 solvent extraction Methods 0.000 claims abstract description 10
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000008520 organization Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000009191 jumping Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0221—Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明一种分散控制***输入输出点产物文件生成方法和***,读取控制器中板卡上的信息;对组态工具上用于存储输入输出点产物文件的预分配内存进行分区处理,具体划分为文件头信息区、变量区、指令码区以及页面信息区;对存储在组态工具内存中的板卡上的信息进行编译,分别得到文件头信息、变量区信息、指令码及页面信息;将文件头信息、变量区信息、指令码及页面信息对应填入文件头信息区、变量区、指令码区以及页面信息区,得到产物文件。本发明所生成的产物文件占用内存空间小,在进行下装时网络负荷小、传输效率较高、不易丢包。
Description
技术领域
本发明涉及分散控制***,具体为一种分散控制***输入输出点产物文件生成方法和***。
背景技术
分散控制***(DCS)的IO编译,一方面能够检查工程人员在组态过程中未发现的IO配置错误,消除组态中存在的安全隐患,另一方面可以通过编译形成控制器所需的产物文件,控制器解析获得编译的产物文件,才能执行相应的逻辑代码。
但是,现有IO编译形成的产物文件存在以下缺陷:产物文件占用内存过大,导致下装过程网络负荷大,容易丢包,控制器解析较为繁琐。
发明内容
针对现有技术中存在的问题,本发明提供一种分散控制***输入输出点产物文件生成方法和***,所生成的产物文件占用内存空间小,在进行下装时网络负荷小、传输效率较高、不易丢包,减小了产物文件下载对控制器产生的扰动,且便于控制器解析。
本发明是通过以下技术方案来实现:
一种分散控制***输入输出点产物文件生成方法,包括:
读取控制器中板卡上的信息;
对组态工具上用于存储输入输出点产物文件的预分配内存进行分区处理,得到文件头信息区、变量区、指令码区以及页面信息区;
根据板卡上的信息,进行编译,分别得到文件头信息、变量区信息、指令码及页面信息;所述文件头信息包括IO分支类型、程序组织单元的编号、所属任务等级、IO分支名称和IO分支编号;所述变量区信息包括板卡的地址、板卡的版本号、板卡的通道数量、板卡的参数数量、板卡的通道和板卡的参数;所述页面信息包括IO节点、IO分支以及板卡的配置信息;
将文件头信息、变量区信息、指令码及页面信息对应填入文件头信息区、变量区、指令码区以及页面信息区,得到输入输出点产物文件。
优选的,读取控制器中板卡上的信息,具体为:
步骤1.1,获取控制器下的IO节点列表,IO节点数量为K,令节点的编号i=0;
步骤1.2,访问IO节点Node[i],若访问不成功,且i<K,则i=i+1,重复执行步骤1.2;若访问不成功,且i=K,则结束读取板卡上的信息;若访问成功,则执行步骤1.3;
步骤1.3,获取IO节点Node[i]下的所有IO分支,IO分支的数量为M,令IO分支的编号j=0;
步骤1.4,访问IO分支Node[i].Branch[j],若访问不成功,且j<M,则j=j+1,重复执行步骤1.4;若访问不成功,且j=M,则执行步骤1.9;若访问成功,则执行步骤1.5;
步骤1.5,获取IO分支Node[i].Branch[j]下的所有板卡,板卡的数量为N,令板卡的编号k=0;
步骤1.6,访问IO分支下的板卡Node[i].Branch[j].Module[k],若访问不成功,且k<N,则k=k+1,重复执行步骤1.6;若访问不成功,且k=N,则执行步骤1.8;若访问成功,则读取板卡Node[i].Branch[j].Module[k]的配置文件以及数据文件,并执行步骤1.7;
步骤1.7,若k<N,则k=k+1,重复执行步骤1.6;否则执行步骤1.8;
步骤1.8,若j<M,则j=j+1;重复执行步骤1.4;否则执行步骤1.9;
步骤1.9,若i<K,则i=i+1;重复执行步骤1.2;否则结束读取板卡上的信息。
优选的,根据板卡上的信息,进行编译,得到文件头信息,具体是:从板卡上的信息中获取IO分支类型、程序组织单元的编号、所属任务等级、IO分支名称和IO分支编号,得到头文件信息;
根据板卡上的信息,进行编译,得到指令码,具体是:根据板卡上的信息得到板卡的所有通道信息,根据通道信息得到每个通道的类型,根据每个通道的类型生成与各通道对应的指令码。
优选的,根据板卡上的信息,进行编译,得到板卡的地址,具体是:根据板卡上的信息,得到板卡的IO节点类型、IO节点编号、IO分支编号以及板卡编号;将IO节点类型、IO节点编号、IO分支编号以及板卡编号按照从高到低的顺序,存储为4字节的整型量,得到板卡的地址。
优选的,根据板卡上的信息,进行编译,得到板卡的通道数量和板卡的参数数量,具体是:板卡的通道数量包括板卡的输入通道数量和输出通道数量,根据板卡上的信息,获取板卡的输入通道数量、输出通道数量和板卡的参数数量;
将变量区信息中的通道数量和板卡的参数数量填入变量区时,先将板卡的输入通道数量、板卡的输出通道数量和板卡的参数数量按照预设的压缩方法压缩到一个四字节的变量中,将压缩完的四字节变量转化为IEC变量;再将通道数量和板卡的参数数量以IEC变量的形式填入变量区;
其中,预设的压缩方式为:变量的Bit1-Bit12保存板卡的输入通道数量,变量的Bit13-Bit22保存板卡的输出通道数量,变量的Bit23-Bit32保存板卡的参数数量。
优选的,将变量区信息中板卡的参数填入变量区时,先将板卡的参数转换为IEC变量,再将板卡的参数以 IEC变量的形式填入变量区;
其中,将板卡的参数通过如下方式转换为IEC变量:
a.将板卡的参数的类型转换为第一IEC变量;
b.将板卡的参数的值转换为第二IEC变量;
c. 将第一IEC变量和第二IEC变量组合为IEC变量,为IEC变量添加偏移地址,偏移地址是根据板卡的参数在新建时候的位置获取的。
优选的,将变量区信息中板卡的通道填入变量区时,先将板卡的通道转换为IEC变量,再将板卡的通道以 IEC变量的形式填入变量区;
其中,将板卡的通道通过如下方式转换为IEC变量:遍历板卡中的所有通道,根据通道的类型,将通道中的字段转换为IEC变量;所述通道的类型分为带报警的开关输入量、不带报警的开关输入量、带报警的开关输出量、不带报警的开关输出量、带报警的模拟输入量、不带报警的模拟输入量、带报警的模拟输出量和不带报警的模拟输出量。
优选的,根据板卡上的信息,进行编译,得到页面信息,具体是:从板卡上的信息中获取所有IO节点、IO分支以及板卡的配置信息,得到页面信息。
优选的,页面信息以XML的格式填入页面信息区。
一种分散控制***输入输出点产物文件生成***,包括:
读取模块,用于读取控制器中板卡上的信息;
分区模块,对组态工具上用于存储输入输出点产物文件的预分配内存进行分区处理,具体划分为文件头信息区、变量区、指令码区以及页面信息区;
编译模块,用于对板卡上的信息进行编译,以得到文件头信息、变量区信息、指令码及页面信息;所述文件头信息包括IO分支类型、程序组织单元的编号、所属任务等级、IO分支名称和IO分支编号;所述变量区信息包括板卡的地址、板卡的版本号、板卡的通道数量、板卡的参数数量、板卡的通道和板卡的参数;所述页面信息包括IO节点、IO分支以及板卡的配置信息;
存储模块,用于将文件头信息、变量区信息、指令码及页面信息对应填入文件头信息区、变量区、指令码区以及页面信息区,得到输入输出点产物文件。
与现有技术相比,本发明具有以下有益的技术效果:
本发明对产物文件的结构进行分段式设计,产物文件存储结构简单明确,所占的内存空间小,节省存储空间,在进行组态工具与控制器文件传输的时候传输效率较高,提高了组态工具与控制器之间的通信效率,且控制器在接收产物文件的过程中所需要的软硬件资源更少,减小了产物文件下载对控制器产生的扰动,提高了控制器***的稳定性。同时,产物文件通过分段存储,便于控制器解析,使得控制器解析产物文件的效率更高。
进一步的,板卡的参数类型、参数值均以IEC变量形式存储,便于对控制器解析读取,控制器能够根据具体参数类型,分配内存,避免控制器的内存浪费。
进一步的,将页面信息以XML格式进行存储,便于控制器解析,恢复IO配置。
附图说明
图1为本发明所述的分散控制***输入输出点产物文件生成方法流程图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
如图1所示,本发明所述的分散控制***输入输出点产物文件生成方法,包括:
读取控制器中板卡上的信息;
对组态工具上用于存储输入输出点产物文件的预分配内存进行分区处理,得到文件头信息区、变量区、指令码区以及页面信息区;
根据板卡上的信息,进行编译,分别得到文件头信息、变量区信息、指令码及页面信息;所述文件头信息包括IO分支类型、程序组织单元的编号、所属任务等级、IO分支名称和IO分支编号;所述变量区信息包括板卡的地址、板卡的版本号、板卡的通道数量、板卡的参数数量、板卡的通道和板卡的参数;所述页面信息包括IO节点、IO分支以及板卡的配置信息;
将文件头信息、变量区信息、指令码及页面信息对应填入文件头信息区、变量区、指令码区以及页面信息区,得到输入输出点产物文件。
本发明所述的分散控制***输入输出点产物文件生成方法,具体实施操作过程为:
步骤1,将控制器下板卡上的信息(IO数据)读取至组态工具的内存中,进行存储;
在组态工具中,板卡的组织形式为,N块板卡可组成一个分支,M个分支可组成一个节点,单个控制器中的节点数为K。
步骤1.1,获取控制器下的IO节点列表,假设IO节点数量为K,令节点的编号i=0;
步骤1.2,访问IO节点Node[i],若访问不成功,且i<K,则i=i+1,重复执行步骤1.2的操作;若访问不成功,且i=K,则跳转至步骤1.10;若访问成功,则执行步骤1.3的操作;
步骤1.3,获取IO节点Node[i]下的所有IO分支,假设IO分支的数量为M,令IO分支的编号j=0;
步骤1.4,访问IO分支Node[i].Branch[j],若访问不成功,且j<M,则j=j+1,重复执行步骤1.4的操作;若访问不成功,且j=M,则跳转至步骤1.9;若访问成功,则执行步骤1.5的操作;
步骤1.5,获取IO分支Node[i].Branch[j]下的所有板卡,假设板卡的数量为N,令板卡的编号k=0;
步骤1.6,访问IO分支下的板卡Node[i].Branch[j].Module[k],若访问不成功,且k<N,则k=k+1,重复执行步骤1.6的操作;若访问不成功,且k=N,则跳转至步骤1.8;若访问成功,则读取板卡Node[i].Branch[j].Module[k]的配置文件以及数据文件,并执行步骤1.7;
步骤1.7,若k<N,则k=k+1,重复执行步骤1.6的操作;否则跳转至步骤1.8;
步骤1.8,若j<M,则j=j+1;重复执行步骤1.4的操作;否则跳转至步骤1.9;
步骤1.9,若i<K,则i=i+1;重复执行步骤1.2的操作;否则跳转至步骤1.10;
步骤1.10,经过步骤1.1-1.9,已经完成了所有板卡的数据文件与配置文件的读取。
步骤2,根据读取的板卡上的IO数据,生成IO编译的产物文件。将产物文件中的内容以分段的形式进行存储,具体分为文件头信息、变量区信息、指令码和页面信息;对组态工具上用于存储输入输出点产物文件的预分配内存进行分区处理,具体划分为文件头信息区、变量区、指令码区以及页面信息区,分别用于存储文件头信息、变量区信息、指令码和页面信息。具体过程为:
步骤2.1,生成产物文件的文件头信息,文件头信息包含IO分支类型、程序组织单元的编号、所属任务等级以及IO分支名称和IO分支编号。具体是从组态工具的内存当中获取相应的IO分支类型、程序组织单元编号、所属任务等级以及IO分支名称和IO分支编号作为产物文件的头文件信息存储在文件头信息区。所述的程序组织单元(POU)的结构包括文件头信息区、变量区、指令码区和页面信息区,分别存储文件头信息、变量区信息、指令码和页面信息。即产物文件以POU格式存储,文件头信息中的程序组织单元编号即产物文件对应的程序组织单元的编号。
步骤2.2,生成产物文件的变量区信息,变量区信息包括板卡的地址、板卡的版本号、板卡的通道数量、板卡的参数数量、板卡的通道和板卡的参数,板卡的版本号、板卡的通道数量、板卡的参数数量及板卡的通道和板卡的参数均以IEC变量的形式存储在变量区。
步骤2.2.1,生成板卡的地址信息:根据板卡上的信息,得到板卡的IO节点类型、IO节点编号、IO分支编号以及板卡编号;将IO节点类型、IO节点编号、IO分支编号以及板卡编号按照从高到低的顺序,存储为4字节的整型量,得到板卡的地址。将板卡的地址信息写入用于存储产物文件的预分配内存的变量区。
步骤2.2.2,从内存中获取板卡的版本号,将板卡的版本号转化为IEC变量并添加至用于存储产物文件的预分配内存的变量区。
步骤2.2.3,板卡的通道数量包括板卡的输入通道数量和输出通道数量,获取板卡的输入通道数量、输出通道数量以及板卡的参数数量,将板卡的输入通道数量、板卡的输出通道数量以及板卡的参数数量压缩到一个四字节的变量中,压缩方式为:变量的Bit1-Bit12保存板卡的输入通道数量,变量的Bit13-Bit22保存板卡的输出通道数量,变量的Bit23-Bit32保存板卡的参数数量。将压缩完的四字节变量转化为IEC变量写入用于存储产物文件的预分配内存的变量区。
步骤2.2.4,将板卡的参数、板卡的输入通道与板卡的输出通道分别处理为IEC变量,并写入到用于存储产物文件的预分配内存的变量区。
(1)将板卡的参数处理为IEC变量(IEC变量主要的作用适用于记录板卡通道与板卡参数的值以及参数类型),处理方法如下所示:
a.将板卡的参数的类型转换为第一IEC变量;
b.将板卡的参数的值转换为第二IEC变量;
c.将第一IEC变量和第二IEC变量组合为IEC变量,为IEC变量添加偏移地址,偏移地址是根据板卡的参数在新建时候的位置获取的。
将处理后的IEC变量保存在板卡的IEC变量列表中。
(2)处理完板卡的参数后,继续处理板卡的输入通道与输出通道。遍历板卡中的所有通道,将通道分为带报警的开关输入量、不带报警的开关输入量、带报警的开关输出量、不带报警的开关输出量、带报警的模拟输入量、不带报警的模拟输入量、带报警的模拟输出量和不带报警的模拟输出量几种不同的类型进行保存。根据通道的类型,将相应的通道中的字段处理为IEC变量。将板卡的IEC变量保存在板卡IEC变量列表中。
(3)将板卡的IEC变量写入到产物文件的变量区。
步骤2.3,根据板卡的类型,创建指令码(用于控制器解析及运行相应的代码),存储在板卡的指令码列表中。遍历板卡的所有通道,根据每个通道的类型生成指令码,且存储在板卡的指令码列表中。将指令码列表中的所有指令码写入用于存储产物文件的预分配内存的指令码区。
步骤2.4,将组态工具的内存中的所有IO节点、IO分支以及板卡的配置信息以XML的格式保存在用于存储产物文件的预分配内存的页面信息区。
将文件头信息、变量区信息、指令码及页面信息对应填入文件头信息区、变量区、指令码区以及页面信息区,即得到产物文件。经过上述步骤可生成完整的IO点编译产物文件。
下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。
本发明一个实施例中,提供一种分散控制***输入输出点产物文件生成***,能够用于实现上述的分散控制***输入输出点产物文件生成方法。
具体的,该分散控制***输入输出点产物文件生成***包括:
读取模块,用于读取控制器中板卡上的信息;
分区模块,对组态工具上用于存储输入输出点产物文件的预分配内存进行分区处理,具体划分为文件头信息区、变量区、指令码区以及页面信息区;
编译模块,用于对存储在组态工具内存中的板卡上的信息进行编译,以得到文件头信息、变量区信息、指令码及页面信息;所述文件头信息包括IO分支类型、程序组织单元的编号、所属任务等级、IO分支名称和IO分支编号;所述变量区信息包括板卡的地址、板卡的版本号、板卡的通道数量、板卡的参数数量、板卡的通道和板卡的参数;所述页面信息包括IO节点、IO分支以及板卡的配置信息;
存储模块,用于将文件头信息、变量区信息、指令码及页面信息对应填入文件头信息区、变量区、指令码区以及页面信息区,得到输入输出点产物文件。
本发明再一个实施例中,提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于分散控制***输入输出点产物文件生成方法的操作。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作***。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关分散控制***输入输出点产物文件生成方法的相应步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种分散控制***输入输出点产物文件生成方法,其特征在于,包括:
读取控制器中板卡上的信息;
对组态工具上用于存储输入输出点产物文件的预分配内存进行分区处理,得到文件头信息区、变量区、指令码区以及页面信息区;
根据板卡上的信息,进行编译,分别得到文件头信息、变量区信息、指令码及页面信息;所述文件头信息包括IO分支类型、IO分支名称和IO分支编号;所述变量区信息包括板卡的地址、板卡的版本号、板卡的通道数量、板卡的参数数量、板卡的通道和板卡的参数;所述页面信息包括IO节点、IO分支以及板卡的配置信息;
将文件头信息、变量区信息、指令码及页面信息对应填入文件头信息区、变量区、指令码区以及页面信息区,得到输入输出点产物文件。
2.根据权利要求1所述的分散控制***输入输出点产物文件生成方法,其特征在于,读取控制器中板卡上的信息,具体为:
步骤1.1,获取控制器下的IO节点列表,IO节点数量为K,令节点的编号i=0;
步骤1.2,访问IO节点Node[i],若访问不成功,且i<K,则i=i+1,重复执行步骤1.2;若访问不成功,且i=K,则结束读取板卡上的信息;若访问成功,则执行步骤1.3;
步骤1.3,获取IO节点Node[i]下的所有IO分支,IO分支的数量为M,令IO分支的编号j=0;
步骤1.4,访问IO分支Node[i].Branch[j],若访问不成功,且j<M,则j=j+1,重复执行步骤1.4;若访问不成功,且j=M,则执行步骤1.9;若访问成功,则执行步骤1.5;
步骤1.5,获取IO分支Node[i].Branch[j]下的所有板卡,板卡的数量为N,令板卡的编号k=0;
步骤1.6,访问IO分支下的板卡Node[i].Branch[j].Module[k],若访问不成功,且k<N,则k=k+1,重复执行步骤1.6;若访问不成功,且k=N,则执行步骤1.8;若访问成功,则读取板卡Node[i].Branch[j].Module[k]的配置文件以及数据文件,并执行步骤1.7;
步骤1.7,若k<N,则k=k+1,重复执行步骤1.6;否则执行步骤1.8;
步骤1.8,若j<M,则j=j+1;重复执行步骤1.4;否则执行步骤1.9;
步骤1.9,若i<K,则i=i+1;重复执行步骤1.2;否则结束读取板卡上的信息。
3.根据权利要求1所述的分散控制***输入输出点产物文件生成方法,其特征在于,根据板卡上的信息,进行编译,得到文件头信息,具体是:从板卡上的信息中获取IO分支类型、IO分支名称和IO分支编号,得到头文件信息;
根据板卡上的信息,进行编译,得到指令码,具体是:根据板卡上的信息得到板卡的所有通道信息,根据通道信息得到每个通道的类型,根据每个通道的类型生成与各通道对应的指令码。
4.根据权利要求1所述的分散控制***输入输出点产物文件生成方法,其特征在于,根据板卡上的信息,进行编译,得到板卡的地址,具体是:根据板卡上的信息,得到板卡的IO节点类型、IO节点编号、IO分支编号以及板卡编号;将IO节点类型、IO节点编号、IO分支编号以及板卡编号按照从高到低的顺序,存储为4字节的整型量,得到板卡的地址。
5.根据权利要求1所述的分散控制***输入输出点产物文件生成方法,其特征在于,根据板卡上的信息,进行编译,得到板卡的通道数量和板卡的参数数量,具体是:板卡的通道数量包括板卡的输入通道数量和输出通道数量,根据板卡上的信息,获取板卡的输入通道数量、输出通道数量和板卡的参数数量;
将变量区信息中的通道数量和板卡的参数数量填入变量区时,先将板卡的输入通道数量、板卡的输出通道数量和板卡的参数数量按照预设的压缩方法压缩到一个四字节的变量中,将压缩完的四字节变量转化为IEC变量;再将通道数量和板卡的参数数量以IEC变量的形式填入变量区;
其中,预设的压缩方式为:变量的Bit1-Bit12保存板卡的输入通道数量,变量的Bit13-Bit22保存板卡的输出通道数量,变量的Bit23-Bit32保存板卡的参数数量。
6.根据权利要求1所述的分散控制***输入输出点产物文件生成方法,其特征在于,将变量区信息中板卡的参数填入变量区时,先将板卡的参数转换为IEC变量,再将板卡的参数以 IEC变量的形式填入变量区;
其中,将板卡的参数通过如下方式转换为IEC变量:
a.将板卡的参数的类型转换为第一IEC变量;
b.将板卡的参数的值转换为第二IEC变量;
c. 将第一IEC变量和第二IEC变量组合为IEC变量,为IEC变量添加偏移地址,偏移地址是根据板卡的参数在新建时候的位置获取的。
7.根据权利要求1所述的分散控制***输入输出点产物文件生成方法,其特征在于,将变量区信息中板卡的通道填入变量区时,先将板卡的通道转换为IEC变量,再将板卡的通道以 IEC变量的形式填入变量区;
其中,将板卡的通道通过如下方式转换为IEC变量:遍历板卡中的所有通道,根据通道的类型,将通道中的字段转换为IEC变量;所述通道的类型分为带报警的开关输入量、不带报警的开关输入量、带报警的开关输出量、不带报警的开关输出量、带报警的模拟输入量、不带报警的模拟输入量、带报警的模拟输出量和不带报警的模拟输出量。
8.根据权利要求1所述的分散控制***输入输出点产物文件生成方法,其特征在于,根据板卡上的信息,进行编译,得到页面信息,具体是:从板卡上的信息中获取所有IO节点、IO分支以及板卡的配置信息,得到页面信息。
9.根据权利要求1所述的分散控制***输入输出点产物文件生成方法,其特征在于,页面信息以XML的格式填入页面信息区。
10.一种分散控制***输入输出点产物文件生成***,其特征在于,包括:
读取模块,用于读取控制器中板卡上的信息;
分区模块,对组态工具上用于存储输入输出点产物文件的预分配内存进行分区处理,具体划分为文件头信息区、变量区、指令码区以及页面信息区;
编译模块,用于对板卡上的信息进行编译,以得到文件头信息、变量区信息、指令码及页面信息;所述文件头信息包括IO分支类型、IO分支名称和IO分支编号;所述变量区信息包括板卡的地址、板卡的版本号、板卡的通道数量、板卡的参数数量、板卡的通道和板卡的参数;所述页面信息包括IO节点、IO分支以及板卡的配置信息;
存储模块,用于将文件头信息、变量区信息、指令码及页面信息对应填入文件头信息区、变量区、指令码区以及页面信息区,得到输入输出点产物文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111313903.1A CN113759884B (zh) | 2021-11-08 | 2021-11-08 | 一种分散控制***输入输出点产物文件生成方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111313903.1A CN113759884B (zh) | 2021-11-08 | 2021-11-08 | 一种分散控制***输入输出点产物文件生成方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113759884A true CN113759884A (zh) | 2021-12-07 |
CN113759884B CN113759884B (zh) | 2022-02-01 |
Family
ID=78784799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111313903.1A Active CN113759884B (zh) | 2021-11-08 | 2021-11-08 | 一种分散控制***输入输出点产物文件生成方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113759884B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU5194900A (en) * | 1996-01-16 | 2000-10-26 | British Telecommunications Public Limited Company | Distributed processing |
CN102542071A (zh) * | 2012-01-17 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种分布式处理数据的***及方法 |
CN106647412A (zh) * | 2017-01-17 | 2017-05-10 | 爱普(福建)科技有限公司 | 一种基于组态元件的分布式控制器之间的数据共享方法 |
CN108228077A (zh) * | 2016-12-14 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 存储区的管理方法、运行方法、装置、设备、可读介质 |
CN110162306A (zh) * | 2018-02-14 | 2019-08-23 | 阿里巴巴集团控股有限公司 | ***的提前编译方法和装置 |
CN110377288A (zh) * | 2018-04-13 | 2019-10-25 | 赛灵思公司 | 神经网络压缩编译器及其编译压缩方法 |
CN111240720A (zh) * | 2020-03-27 | 2020-06-05 | 武汉光谷信息光电子创新中心有限公司 | 引导程序升级方法、装置及存储介质 |
CN111488631A (zh) * | 2020-06-28 | 2020-08-04 | 中国核动力研究设计院 | 一种核级安全显示装置及其组态-解析*** |
CN111948998A (zh) * | 2020-08-24 | 2020-11-17 | 西安热工研究院有限公司 | 一种基于双缓冲区的分布式控制器数据库下装结构及方法 |
CN212391726U (zh) * | 2020-08-24 | 2021-01-22 | 西安热工研究院有限公司 | 一种基于双缓冲区的分布式控制器数据库下装结构 |
CN113311788A (zh) * | 2021-04-13 | 2021-08-27 | 南京南瑞继保电气有限公司 | 一种变量组态处理方法、装置、计算机存储介质及设备 |
CN113434489A (zh) * | 2021-08-26 | 2021-09-24 | 西安热工研究院有限公司 | 一种实时数据库在线扩容方法、***、设备及存储介质 |
-
2021
- 2021-11-08 CN CN202111313903.1A patent/CN113759884B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU5194900A (en) * | 1996-01-16 | 2000-10-26 | British Telecommunications Public Limited Company | Distributed processing |
CN102542071A (zh) * | 2012-01-17 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种分布式处理数据的***及方法 |
CN108228077A (zh) * | 2016-12-14 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 存储区的管理方法、运行方法、装置、设备、可读介质 |
CN106647412A (zh) * | 2017-01-17 | 2017-05-10 | 爱普(福建)科技有限公司 | 一种基于组态元件的分布式控制器之间的数据共享方法 |
CN110162306A (zh) * | 2018-02-14 | 2019-08-23 | 阿里巴巴集团控股有限公司 | ***的提前编译方法和装置 |
CN110377288A (zh) * | 2018-04-13 | 2019-10-25 | 赛灵思公司 | 神经网络压缩编译器及其编译压缩方法 |
CN111240720A (zh) * | 2020-03-27 | 2020-06-05 | 武汉光谷信息光电子创新中心有限公司 | 引导程序升级方法、装置及存储介质 |
CN111488631A (zh) * | 2020-06-28 | 2020-08-04 | 中国核动力研究设计院 | 一种核级安全显示装置及其组态-解析*** |
CN111948998A (zh) * | 2020-08-24 | 2020-11-17 | 西安热工研究院有限公司 | 一种基于双缓冲区的分布式控制器数据库下装结构及方法 |
CN212391726U (zh) * | 2020-08-24 | 2021-01-22 | 西安热工研究院有限公司 | 一种基于双缓冲区的分布式控制器数据库下装结构 |
CN113311788A (zh) * | 2021-04-13 | 2021-08-27 | 南京南瑞继保电气有限公司 | 一种变量组态处理方法、装置、计算机存储介质及设备 |
CN113434489A (zh) * | 2021-08-26 | 2021-09-24 | 西安热工研究院有限公司 | 一种实时数据库在线扩容方法、***、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
白永臣等: "硬盘数据存储格式与***区域的备份", 《计算机时代》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113759884B (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287163B (zh) | 安全日志采集解析方法、装置、设备及介质 | |
CN106598581A (zh) | 基于xml的asterix报文解析代码生成方法 | |
CN107463706B (zh) | 一种基于Hadoop的海量录波数据存储和解析方法及*** | |
CN110928802A (zh) | 基于自动生成用例的测试方法、装置、设备及存储介质 | |
CN108170602B (zh) | 一种测试用例生成方法、装置、终端及计算机可读介质 | |
CN111552669A (zh) | 数据处理方法、装置、计算设备和存储介质 | |
CN110769002A (zh) | 基于LabVIEW的报文解析方法、***、电子设备和介质 | |
CN104991860A (zh) | Web前端自动化开发方法与*** | |
CN116614492B (zh) | 基于物联网多样数据源的实验室统一数据采集平台 | |
CN112416365A (zh) | 文件转换方法、装置及存储介质 | |
CN103810197A (zh) | 一种基于Hadoop的数据处理方法及其*** | |
CN113759884B (zh) | 一种分散控制***输入输出点产物文件生成方法和*** | |
CN112905443B (zh) | 一种测试用例生成方法、设备及存储介质 | |
CN113741411B (zh) | 一种分散控制***全局变量点产物文件生成方法和*** | |
CN116595588A (zh) | 铁路信号***开发过程安全分析方法及装置 | |
CN104484174B (zh) | Rar格式的压缩文件的处理方法和装置 | |
CN112132271A (zh) | 神经网络加速器运行方法、架构及相关装置 | |
CN112953721B (zh) | 一种ipa文件的解析方法、装置、设备及存储介质 | |
CN109992293B (zh) | Android***组件版本信息的组装方法及装置 | |
CN112737831A (zh) | 一种固件升级包处理方法、装置、电子设备和存储介质 | |
CN112433950A (zh) | 自动搭建测试环境的方法、电子设备及存储介质 | |
CN111143182A (zh) | 一种进程行为的分析方法、装置及存储介质 | |
CN108763275A (zh) | 一种将Excel数据源转存到大数据平台的方法及*** | |
CN111144086B (zh) | 一种日志格式化方法及装置、电子设备、存储介质 | |
CN114398073A (zh) | 基于rn的应用更新方法及装置 |
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 |