首页 / 一种基于双缓冲区的分布式控制器数据库下装结构

一种基于双缓冲区的分布式控制器数据库下装结构有效专利 实用

技术领域

[0001] 本实用新型涉及分布式控制技术领域,具体涉及一种基于双缓冲区的分布式控制器数据库下装结构。

相关背景技术

[0002] 分布式控制系统也称集散控制系统(Distributed Control System,DCS)。它是一个融合了计算机技术、网络技术、通信技术和控制技术而发展起来的新型控制系统,该系统采用分散控制和集中管理相结合,具有层次化的体系结构。目前分布式控制系统已在石化、电力、冶金、生产线自动化和智能建筑等现代自动化控制系统中得到了广泛应用,满足了大型工业生产和日益复杂的过程控制要求。
[0003] 分布式控制系统的硬件从功能上可以分为分布式控制器和I/O卡件两部分。分布式控制器,简称控制器,是分布式控制系统的核心部件,是整个控制系统的大脑,实时采集各种输入卡件输入通道的数据,将这些数据存储在分布式控制器中的数据库中,然后按照设定的周期运算控制算法,每个周期运算完成后的将输出数据点写入到数据库中,同时写入到输出卡件对应的输出通道。I/O卡件,也叫输入输出卡件,是分布式控制器与外部设备或者系统的接口,提供分布式控制器数据库数据点的输入和输出。按照数据类型可以分成模拟量卡件和数字量卡件两种;按照信号的输入输出方向可以分成输入卡件、输出卡件和输入输出卡件三种。
[0004] 随着现代大型工业生产自动化水平的不断提高和过程控制要求日益复杂,分布式控制系统得控制策略也越来越复杂,为了提高控制系统的控制品质和适应新的控制工艺要求,经常需要在线修改控制器中的数据库配置,例如添加、删除和修改数据库的数据点。控制器的数据库是控制器控制算法正确运行的关键,在线修改数据库必须保证对正在运行的生产和控制不会造成影响。如果因为数据库的修改导致生产中断,数据点数值非计划改变造成生产事故,其损失将是不可估量的。所以一个完美的数据库下装结构是分布式控制系统的一项重要技术。
[0005] 目前各个分布式控制系统数据库下装操作复杂,执行条件要求苛刻,下装操作耗时长,稳定性差,有的甚至不支持在线修改和下装数据库。在此基础上,提出一种基于双缓冲区的分布式控制器数据库下装结构。

具体实施方式

[0019] 下面结合附图,对本实用新型进一步详细说明。
[0020] 如图1、图3所示,本实用新型提供的一种基于双缓冲区的分布式控制器数据库下装结构,包括核心交换机S1,核心交换机S1通过以太网分别连接有控制层接入交换机S2和应用层接入交换机S3。
[0021] 控制层接入交换机S2通过以太网连接有过程控制站DPU;应用层接入交换机S3通过以太网连接有至少一个工程师站E。
[0022] 过程控制站包括控制器CU,所述控制器CU通过数据总线分别连接有网络模块N、存储模块M和非易失性存储器Q。
[0023] 具体地:网络模块N通过以太网线链接控制层接入交换机S2,为控制器CU与工程师站E1进行数据交换的桥梁;
[0024] 存储模块M是控制器DPU的内存,所有的数据和应用程序全部存储在存储模块M上,存储模块M通过8位数据总线与控制器进行双向数据交换;
[0025] 非易失性存储器Q用于支持控制器运行的持久化FLASH存储器,通过数据总线与控制器CU进行双向数据交换。
[0026] 如图2所示,本结构中的存储模块M的大小最少为128兆字节,具体地:存储模块M从低地址空间L到高地址空间H依次划分为六个功能区,第一个功能区为保留区RE,其大小为4兆字节;第二个功能区为应用区AP,其大小为20兆字节;第三个功能区为数据交换区DE;其大小为80兆字节;第四个功能区为第一数据库区DB1,其大小为8兆字节;第五个功能区为第二数据库区DB2,其大小为8兆字节;第六个功能区为错误处理及报告区ER,其大小可变,存储模块M的剩余空间全部划分为ER区。
[0027] 所述控制器CU连接有通信底板BCM,所述通信底板BCM分别连接有模拟量输入卡件、模拟量输出卡件、数字量输入卡件和数字量输出卡件。
[0028] 通过应用层交换机S3、控制层交换机S2和核心交换机S1构成了以太网的三级网络拓扑结构,所述两台工程师站分别是工程师站1和工程师站2。
[0029] 详细配置信息描述如下:
[0030] 控制器的网络地址为192.168.1.1,两台工程师站的地址分别为192.168.1.101和192.168.1.102。
[0031] 模拟量输入卡件的卡件地址为3,模拟量输出卡件的卡件地址为4,数字量输入卡件的卡件地址为5,数字量输出卡件的卡件地址为6。
[0032] 控制器和卡件之间通过通信底板BCM进行通信。
[0033] 控制器的通信地址为1,根据工程配置,可以在工程师站E1或者工程师站E2编译生成数据库文件,然后执行初始下装或者在线下装,将数据库文件通过网络连接下装到过程控制站的控制器运行。
[0034] 如图3所示,本实用新型提供的一种基于双缓冲区的分布式控制器数据库下装的方法,包括以下步骤:
[0035] 步骤1,对控制器DPU中的参数进行自定义:
[0036] 在数据交换区DE中自定义三个指针P1、P2和Pa,其中,将P1指向DB1,P2指向DB2,Pa表示当前工作的数据库文件存储区,指向P1或者指向P2;
[0037] 定义下装标志为Flag1,当Flag1=0时,表示控制器处于初始状态;当Flag1=1时表示控制器处于在线运行状态;
[0038] 定义切换标志为Flag2,当Flag2=0时,表示不需要执行数据库切换操作;当Flag2=1时,表示需要执行数据库切换操作。
[0039] 步骤2,控制器DPU初始化上电后,对存储模块M的存储空间进行分区,指针P1和指针P2分别指向DB1和DB2,核心交换机S1赋值0,完成后,控制器DPU以设定的广播周期将下装标志Flag1通过以太网发送给工程师站E1;
[0040] 步骤3,利用控制器下装操作将工程师站E1编译生成的数据库文件发送到控制器DPU,其中,控制器下装操作分为初始下装和在线下装;
[0041] 具体地:
[0042] 数据库文件定义,数据库文件是指用户在工程师站根据控制工艺的要求编写的控制系统数据库的描述文件,该文件在工程师站编译生成,提供给控制器使用。
[0043] 控制器在初始化过程中或者在线下装过程中装载该文件,然后根据文件对控制系统的数据点进行初始化和定义,建立控制器运行的实时数据库。
[0044] 数据库文件是二进制文件,详细记录和描述了过程站的组成和配置信息,包括IO卡件的配置信息、卡件通道的配置信息、模拟量点(4字节浮点数)的配置信息和数字量点(1字节整形数,只有两种状态0和1)的配置信息。
[0045] 数据库文件由工程师站E1编译生成,其结构化模型如表1所示:
[0046] 采用二进制表示,文件数据是二进制流;工程师站E1编译生成数据库文件的方法和字节顺序如下所述:
[0047] S1,第一个字段是数据库文件的文件头,字段长度1字节,值为0x55,(0x表示16进制);
[0048] S2,第二个字段记录数据库文件数据区的长度,字段长度4字节,数据区的长度从机组号字段开始,到文件尾字段结束,不包含文件尾字段,数据区长度的计量单位为字节;
[0049] S3,第三个字段记录过程站所在的机组号,字段长度1字节;
[0050] S4,第四个字段记录所在的过程站号,字段长度1字节,支持的256个过程站,站号分别为1,2,...,256;
[0051] S5,第五个字段记录通讯箱类型,长度1字节;例如:当等于0时,表示通讯箱类型是BCM01,第五个字节描述该过程站配置的卡件总数,卡件按照数据输入输出方向可以分为三种:输入卡件、输出卡件和输入输出卡件,卡件包含有数据通道,每个数据通道对应一个数据点,按照数据点的类型卡件可以分为模拟量卡件和数字量卡件;
[0052] S6,第六个字段为卡件信息区,卡件信息区以卡件为单位循环,首先写入第一块卡件的信息,然后写入第二块卡件的信息,依次直到最后一块卡件的信息写入完毕。
[0053] 卡件信息区包括卡件描述区、模拟量数据区和数字量数据区;其中,卡件描述区包括四个字段,第一个字段为索引号,长度4字节,索引号唯一表示卡件;第二个字段卡件类型,长度1字节,是一个枚举类型的值,表示卡件的类型;第三个字段卡件地址,长度1字节,写入了卡件的物理地址,卡件通过该物理地址与控制器进行通信;第四个字段广播周期,长度1字节,记录卡件向控制器发送数据的周期,单位为毫秒,如果是输出卡件,改值为0。
[0054] 接下来描述该卡件下的数据点,按照先模拟量数据区和后数字量数据区的顺序写入;接下来写入该卡件的模拟量点总数,如果卡件没有模拟量点,则为0,[0055] 当模拟量点数大于1时,依次按照如下顺序生成模拟量数据区:4字节索引号、30字节点名、30字节点描述、4字节物理量程上限、4字节物理量程下限、4字节例外报告死区、4字节例外报告最大间隔时间、4字节报警上限1、4字节报警下限1、4字节报警上限2、4字节报警下限2、4字节报警上限3、4字节报警下限3、1字节是否启用标志、0表示不启用、1表示启用。
[0056] 接下来先写入该卡件的数字量点总数,当数字量点总数大于1时,按照如下顺序生成数字量数据区:4字节索引号、30字节点名、30字节点描述、4字节例外报告最大间隔时间、1字节报警定义(1表示启用报警,0表示不启用报警)、1字节字节是否启用标志。
[0057] 按照如上格式,依次写入第二块卡件的信息,第三块卡件信息,直到所有的卡件信息全部写完。
[0058] S7,最后一个字段为文件尾,字段长度1字节,值为0xAA,(0x表示16进制)。
[0059] 表1 数据库文件结构及组成
[0060]
[0061]
[0062]
[0063] 步骤4,工程师站实时接收来自控制器广播的下装标志Flag1,判断Flag1的值,当Flag1=0时,表示当前需要执行的是初始下装,当Flag1=1时,表示当前需要执行数据库在线下装;其中:
[0064] 当为初始下装时,
[0065] 初始下装条件下,工程师站将数据库文件通过以太网下装到控制器,控制器将该文件同时写入到DB1和DB2,从DB1和DB2的起始地址开始,按照字节顺序依次写入数据库文件,然后给Pa赋值1(Pa=1),表示当前活动的数据库为DB1,同时给Flag1赋值1,表示初始下装完成。赋值完成后应用程序按照Pa所指向的数据库进行运算。
[0066] (2)在线下装
[0067] 在线下装需要判断Pa的值:
[0068] 当Pa=1时,表示当前工作的数据库是DB1,工程师站将编译后的数据库文件通过以太网传输到控制器,控制器接收到数据库文件后,将数据库文件写入到DB2。写入完成后,工程师站向控制器发送命令,将切换标志Flag2赋值1;控制器在每个运算周期的运算任务执行完成后,判断是否要进行数据库切换,判断切换标志Flag2,当Flag2=1,表示切换,控制器执行赋值操作:Pa=2;下个运算周期控制器将自动使用数据库DB2进行计算。当Flag2=0时,表示不切换,下个运算周期控制器继续使用数据库DB1进行计算。
[0069] 当Pa=2时,表示当前工作的数据库是DB2,工程师站将编译后的数据库文件通过以太网传输到控制器,控制器接收到该数据库文件后,将数据库文件写入到DB1。控制器在每个运算周期内运算任务执行完成后判断是否要进行数据库切换,判断切换标志Flag2,当Flag2=1,表示切换,控制器执行切换操作,Pa=1,切换到数据库DB1工作,下个运算周期控制器将自动使用数据库DB2进行计算。当Flag2=0,表示不切换。
[0070] 本实用新型和现有技术相比,具有如下优点:
[0071] 1、该系统连接结构简单,安装和施工方便。
[0072] 2、系统的配置灵活,控制器和工程师站可以根据需要随时添加和删除。
[0073] 3、数据库文件结构紧凑,占用的存储空间小,显著的降低了对控制器存储资源的消耗。
[0074] 4、采用了二进制,使得数据库文件生成速度快,控制器解析组态文件和比较文件的速度高,完成在线下装耗时少,保证了控制系统可以连续可靠的运行。
[0075] 5、采用了双缓冲区设计,很好的支持了数据库在线下装操作,初始下装和在线下装采用了统一的文件格式,使得控制系统在线下装数据库操作简单可行。

当前第1页 第1页 第2页 第3页