现场控制器的虚拟控制方法技术

技术编号:2774074 阅读:171 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及楼宇自控领域,具体来说是一种现场控制器的虚拟控制方法。本发明专利技术通过将从设备访问所述现场控制器的数据,映射为现场控制器的BACnet协议对象,并利用趋势表对象通过BACnet协议读范围服务读取现场控制器内的历史数据,从而替代需要控制器但无需I/O点连接的物理控制器,可以使用标准的BACnet对象和服务模型,把不符合BACnet协议的其他系统接入现场控制系统,把强大的数据库服务器映射为标准的BACnet对象,供系统内其他控制器读取数据。系统内存在虚拟控制器后,工作站软件不再需要有任何特殊的功能(如MODBUS协议、OPC接口、数据库接口等),只要能实现标准的BACnet协议,提供方便的人机界面即可。

Virtual control method of field controller

The invention relates to the field of building automatic control, in particular to a virtual control method of a field controller. According to this invention from the device to access the site controller data mapping for object BACnet protocol field controller, and the trend of table object through the BACnet protocol service read range read the historical data in the field controller, which need to replace controller but without I / O with the physical controller, you can use the standard BACnet object and the service model, do not conform to the BACnet protocol and other systems access control system, the database server mapping powerful as the standard BACnet controller for other object within the system to read data. System memory in the virtual controller, the workstation software no longer need to have any special features (such as MODBUS protocol, OPC interface, database interface, etc.) as long as it can achieve the standard BACnet protocol, provide a convenient interface.

【技术实现步骤摘要】

本专利技术涉及楼宇自控领域,具体来说是一种。
技术介绍
现场控制器由工作站软件在网络上虚拟而成,传统的现场控制器为主从模式,从控制器(也称第三方控制器)通过现场控制器对控制信号的处理,控制物理控制器工作,如图1中所示,运行在现场控制器中的工作站软件需要区分服务器端和客户端,对服务器端的配置和本身的性能以及网速要求都较高,导致服务器的性能存在瓶颈,同时,对数据库的操作需要知道具体的数据结构和数据库引擎,导致二次开发的过程复杂,成本高。
技术实现思路
本专利技术克服了上述缺点,提供一种应用灵活方便,开发成本低廉的。本专利技术解决其技术问题所采取的技术方案是包括如下步骤1)将从设备访问所述现场控制器的数据,映射为现场控制器的BACnet协议对象;2)所述从控制器利用趋势表对象,通过BACnet协议读范围服务读取现场控制器内的历史数据。还可包括步骤3)将多种编程语言编写的控制程序,统一编译为所述现场控制器用语言,再翻译为机器码实现控制运行。所述步骤1)中,所述从设备的访问可包括OPC接口和MODBUS协议的数据访问。将从设备的OPC项映射为BACnet对象,可根据刷新频率,定时通过OPC读命令读取OPC项的数据(同步或异步读均可),读到正确的数据则放在AI或BI的当前值属性,读取错误则在可靠性属性置错误类型码;当该对象接到改变值的操作时,通过OPC写命令写入OPC项的数据。将所述MODBUS协议的访问映射为BACnet对象,可包括读操作和写操作,读操作中将读入的数据在虚拟控制器内进行相关数据处理后,再置入BACnet对象当前值属性;写操作中,当BACnet对象当前值属性被写入,通过虚拟控制器处理后,再把数据写入MODBUS从设备。所述步骤2)中,可采用标准的SQL语言操作用于存储历史数据的关系数据库。所述步骤1)中,可将采用ST、FBD语言的编程编译为IL语言,再翻译成机器码后,通过BACnet写服务写入BACnet程序对象。本专利技术通过将从设备访问所述现场控制器的数据,映射为现场控制器的BACnet协议对象,并利用趋势表对象通过BACnet协议读范围服务读取现场控制器内的历史数据,从而替代需要控制器但无需I/O点连接的物理控制器,可以使用标准的BACnet对象和服务模型,把不符合BACnet协议的其他系统接入现场控制系统,把强大的数据库服务器映射为标准的BACnet对象,供系统内其他控制器读取数据。系统内存在虚拟控制器后,工作站软件不再需要有任何特殊的功能(如MODBUS协议、OPC接口、数据库接口等),只要能实现标准的BACnet协议,提供方便的人机界面即可。附图说明图1为现有技术中的现场控制器示意图,图2为本专利技术中程序组织单元关系调用示意图,图3为本专利技术中OPC从设备的数据映射为BACnet对象的示意图,图4为本专利技术中MODBUS从设备的数据映射为BACnet对象的示意图,图5为本专利技术中MODBUS协议中模拟输入对象处理过程示意图,图6为本专利技术中对数据库的采集数据流程示意图,图7为本专利技术中对数据库的读取历史数据流程示意图,图8为本专利技术中的控制结构示意图具体实施方式下面结合具体实施例对本
技术实现思路
做详尽描述。本专利技术通过虚拟控制方法在网络上虚拟的现场控制器,以下简称虚拟控制器。所述虚拟控制器具有现场控制器的网络特征,其他的从控制器可把虚拟控制器当作普通符合BACnet协议的控制器一样,进行通讯。首先,虚拟控制器中要运行用户自定义编程策略,采用虚拟控制器的方式,其具体过程如下<1>采用国际标准IEC61131-3,用户界面编程部分支持IL、ST、FBD等语言。<2>依据IL语言定义自己的虚拟控制器机器码,分为操作码、内置功能、内置功能块。用户可建立自定义功能、自定义功能块、程序(可设置运行周期),以上三种称为POU(程序组织单元),某一POU可调用任一语言,POU之间可根据图2所示的关系调用,即通过程序调用自定义功能块或直接调用自定义功能,再由所述自定义功能块调用具体的自定义功能。<3>把非IL语言编译为IL语言,然后把IL语言翻译为机器码。<4>机器码通过BACnet写服务写入BACnet程序对象,程序对象内置虚拟控制器。虚拟控制器由于基于PC平台,其编程量和运行速度远胜于物理控制器。<5>虚拟控制器运行方式虚拟控制器把机器码调入内存,首先建立堆(全局变量,永久占用内存),然后对程序周期性运行。运行程序的开始,建立堆栈(局部变量,临时占用内存,用完释放),根据操作码逐行运行,采用单累加器的方式(累加器为通用数据类型),对数据的操作均需通过累加器,遇到功能或功能块的调用则把现有操作码地址压栈,在栈区建立功能的变量区,完成功能调用后出栈,操作码继续运行,某一程序完成,则堆栈清空。此外,堆栈可以嵌套。<6>虚拟控制器对BACnet对象的操作用户可在变量声明区直接把某变量映射为BACnet对象的属性,只需数据类型符合即可,这样对变量的操作即可实现对BACnet对象属性的操作。且变量可直接映射为其他控制器的对象属性,这时对变量的读写通过BACnet协议的读服务和写服务实现具体操作。所述虚拟控制器运行于PC平台,没有人机界面,并具备I/O口的功能,将通过OPC接口和MODBUS协议访问的数据,映射为BACnet对象,具体映射方法如下(一)OPC映射为BACnet对象的方法,使用BACnet协议中的模拟输入、模拟输出、开关量输入、开关量输出对象作为映射OPC接口的变量,可作为OPC接口的客户端和服务器端,具体为<1>虚拟控制器作为OPC客户端,对提供OPC服务器端的软件操作,一个虚拟控制器可同时与多个OPCServer连接。<2>一个OPC项映射为一个BACnet对象,根据OPC项数据类型的不同映射不同的BACnet对象,将I1、I2、I4、UI1、UI2、UI4、R4、R8类型的数据均映射为模拟输入、模拟输出或模拟值对象的当前值属性,将Bool类型的数据映射为二进制输入、二进制数出、二进制值对象的当前值属性,其他类型不映射。根据操作权限决定是映射输入还是输出,只读权限只能映射输入,可读可写权限可映射为输出或值对象(可根据此物理量的特性决定是输出类型还是值类型)。每个BACnet对象内存储OPC项的路径字符串。<3>模拟输入(AI)或二进制输入(BI)类型映射OPC项时的工作流程虚拟控制器根据刷新频率,定时通过OPC读命令读取OPC项的数据(同步或异步读均可),读到正确的数据则放在AI或BI的当前值属性,读取错误则在可靠性属性置错误类型码。其他AI或BI的操作均和标准对象相同。如图3中所示。<4>模拟输出(AO)、模拟值(AV)、二进制输出(BO)、二进制值(BV)映射OPC项的工作流程 该4种对象的当前值属性同AI或BI的工作流程,当该对象接到改变值的操作时,通过OPC写命令写入OPC项的数据(同步或异步均可)。其他操作均和标准对象相同。如图3中本文档来自技高网
...

【技术保护点】
一种现场控制器的虚拟控制方法,其特征在于:包括如下步骤:1)将从设备访问所述现场控制器的数据,映射为现场控制器的BACnet协议对象;2)所述从控制器利用趋势表对象,通过BACnet协议读范围服务读取现场控制器内的历史数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:秘松波
申请(专利权)人:北京利达恒信科技发展有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利