一种可接入BACnet楼宇系统的PLC系统和方法与流程

文档序号:17439971发布日期:2019-04-17 04:37阅读:1492来源:国知局
一种可接入BACnet楼宇系统的PLC系统和方法与流程

本发明涉及楼宇自动化技术领域,更具体的,涉及一种可接入bacnet楼宇系统的plc的系统,还涉及一种可接入bacnet楼宇系统的plc的方法。



背景技术:

bacnet协议是楼宇自动控制网络数据通讯协议,是一种全球通用的标准的网络数据通讯协议,它提供了开放性的规范和标准,使智能建筑的自动控制设备和系统能够实现信息交换和共享。

可编程逻辑控制器(plc)是一种稳定性高,编程容易的现场控制器,在空调、电梯等楼宇控制系统中有着广泛的应用,但由于嵌入式plc本身不支持bacnet协议,因此现有的嵌入式plc无法直接接入到执行bacnet协议楼宇控制系统中。



技术实现要素:

本发明为克服现有的plc无法直接接入到执行bacnet协议楼宇控制系统中的技术缺陷,提供一种可接入bacnet楼宇系统的plc的系统,还提供了一种可接入bacnet楼宇系统的plc的方法。

为解决上述技术问题,本发明的技术方案如下:

一种可接入bacnet楼宇系统的plc的装置,包括微处理器、串口模块、下载电路、输出型i/o口和输入型i/o口和bacnet接口模块;其中:

所述串口模块、下载电路、输出型i/o口、输入型i/o口分别与所述微处理器电性连接;

所述串口模块用于给嵌入式plc写入梯形图程序,让上位机与嵌入式plc进行通讯;

所述下载电路用于下载载微处理器主程序;

所述bacnet接口模块将嵌入式plc连接到bacnet楼宇系统中。

其中,所述串口模块主体为max3232芯片,将串行信号转换为ttl电平,让微处理器接收到数据并作出处理。

其中,所述bacnet接口模块包括以太网rj45接口、w5500以太网接口芯片及外围电路组成;所述bacnet接口模块通过以太网rj45接口与所述bacnet楼宇系统网络连接。

一种可接入bacnet楼宇系统的plc的方法,包括以下步骤:

s1:初始化嵌入式plc,下载主程序;

s2:连接上位机,将梯形图程序下载到嵌入式plc中;

s3:将嵌入式plc连接到bacnet楼宇系统中,bacnet楼宇系统识别到嵌入式plc拥有的属性与对象,并对这些对象进行访问和修改。

其中,所述步骤s2的步骤具体为:

s21:连接上位机,上电;

s22:嵌入式plc从上位机接收到数据,判断数据是否为plc梯形图程序;若是,将数据烧写到flash中;若不是,执行步骤s23;

s23:判断数据是否为上位机标准的plc通信请求;若是,向上位机发送响应数据包;若否,则忽略此次接收到的数据。

其中,所述步骤s3的步骤具体为:

s31:将嵌入式plc连接到bacnet楼宇系统中,由嵌入式plc接收bacnet楼宇系统服务器的数据;

s32:嵌入式plc分析所接收到的数据,将数据存储到相应的寄存器中,判断是否符合bacnet协议的数据的标准;若否,则判断为收到无效数据包,将数据删除;若是,则执行步骤s33;

s33:嵌入式plc解析接收到的数据,并根据数据的类型做出响应。

其中,所述步骤s33具体为:

s331:在嵌入式plc中建立对象映射;

s332:接收并解析数据包;

s333:寻找数据包请求的对象及属性;

s334:编码完整的数据包并返回数据。

一种可接入bacnet楼宇系统的plc的系统,包括路由器、bacnet楼宇系统服务器,包括将所述的一种可接入bacnet楼宇系统的plc的装置,该装置用于实现所述的一种可接入bacnet楼宇系统的plc的方法。

与现有技术相比,本发明技术方案的有益效果是:

本发明提供的一种可接入bacnet楼宇系统的plc的方法,还提供了一种应用该方法的系统,在嵌入式plc能够使用梯形图语言编程的前提下,直接将控制器接入标准的bacnet系统中,实现了将嵌入式plc接入到bacnet系统中运行,节省了控制系统的开发时间与成本,也增强了嵌入式plc的可监控性和可操作性。

附图说明

图1为本发明的嵌入式plc装置模块连接示意图;

图2为本发明方法步骤流程图;

图3为本发明系统结构连接示意图;

图4为读取多态输出0当前值的数据包;

图5为读取多态输出0当前值的响应数据包。

其中:1、微处理器;2、串口模块;3、下载电路;4、输出型i/o口;5、输入型i/o口;6、bacnet接口模块。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1、图2所示,一种可接入bacnet楼宇系统的plc的装置,包括微处理器1、串口模块2、下载电路3、输出型i/o口4和输入型i/o口5和bacnet接口模块6;其中:

所述串口模块2、下载电路3、输出型i/o口4、输入型i/o口5分别与所述微处理器1电性连接;

所述串口模块2用于给嵌入式plc写入梯形图程序,让上位机与嵌入式plc进行通讯;

所述下载电路3用于下载载微处理器1主程序;

所述bacnet接口模块6将嵌入式plc连接到bacnet楼宇系统中。

更具体的,所述串口模块2主体为max3232芯片,将串行信号转换为ttl电平,让微处理器1接收到数据并作出处理。

更具体的,所述bacnet接口模块6包括以太网rj45接口、w5500以太网接口芯片及外围电路组成;所述bacnet接口模块6通过以太网rj45接口与所述bacnet楼宇系统网络连接。

一种可接入bacnet楼宇系统的plc的方法,包括以下步骤:

s1:初始化嵌入式plc,下载主程序;

s2:连接上位机,将梯形图程序下载到嵌入式plc中;

s3:将嵌入式plc连接到bacnet楼宇系统中,bacnet楼宇系统识别到嵌入式plc拥有的属性与对象,并对这些对象进行访问和修改。

更具体的,所述步骤s2的步骤具体为:

s21:连接上位机,上电;

s22:嵌入式plc从上位机接收到数据,判断数据是否为plc梯形图程序;若是,将数据烧写到flash中;若不是,执行步骤s23;

s23:判断数据是否为上位机标准的plc通信请求;若是,向上位机发送响应数据包;若否,则忽略此次接收到的数据。

更具体的,所述步骤s3的步骤具体为:

s31:将嵌入式plc连接到bacnet楼宇系统中,由嵌入式plc接收bacnet楼宇系统服务器的数据;

s32:嵌入式plc分析所接收到的数据,将数据存储到相应的寄存器中,判断是否符合bacnet协议的数据的标准;若否,则判断为收到无效数据包,将数据删除;若是,则执行步骤s33;

s33:嵌入式plc解析接收到的数据,并根据数据的类型做出响应。

更具体的,所述步骤s33具体为:

s331:在嵌入式plc中建立对象映射;

s332:接收并解析数据包;

s333:寻找数据包请求的对象及属性;

s334:编码完整的数据包并返回数据。

在具体实施过程中,bacnet系统对系统内设备发送指令是根据设备的ip地址与端口进行定向发送指令的,因此,只要是bacnet系统的服务器对接入系统的嵌入式plc发送指令,嵌入式plc的w5500芯片一定能接收到指令。嵌入式plc的主控芯片只需要分析所接收到的收据是不是符合bacnet协议的数据,然后再作出响应即可。

一种可接入bacnet楼宇系统的plc的系统,包括路由器、bacnet楼宇系统服务器,包括将所述的一种可接入bacnet楼宇系统的plc的装置,该装置用于实现所述的一种可接入bacnet楼宇系统的plc的方法。

在具体实施过程中,如图3所示,bacnet系统服务器与其他的设备是通过路由器连接在一起的。嵌入式plc通过自身的以太网接口与网线连接到路由器上,bacnet系统主机也通过网线连接到路由器上,然后bacnet系统主机向嵌入式plc所在的ip地址与端口发送数据包,嵌入式plc响应的时候,也是通过路由器向bacnet系统主机所在的ip地址与端口发送数据包。

在具体实施过程中,对于嵌入式plc来时,它在bacnet系统中是一个接受指令,并处理指令的角色,这个接受并处理指令的过程有以下几个步骤:

在嵌入式plc中建立对象映射:以嵌入式plc的y0-y7为例,现在嵌入式plc的程序中建立一个bacnet设备的标准对象multi-stateoutput0(多态输出0),然后把这个对象对应的属性present-value(当前值)与嵌入式plc的y0-y7建立起映射关系,即这个对象的当前值属性的值等于y0-y7这8位的值,然后在嵌入式plc运行的过程中不断刷新当前值这个属性。

接收并解析数据包:如图4所示,这是一个标准的bacnet数据包。这个数据包是bacnet系统服务器向嵌入式plc请求多态输出0当前值的一个数据包,其中圈起来的就是有效数据数据部分。嵌入式plc接收到这部分数据之后,解析数据包中指定指令,就可以分析得到bacnet系统需要做什么。以图4为例,数据中的第1行第7位数据81,就代表着这个数据包是bacnet协议的数据包;第1行第16位数据是一个操作指令位,就是bacnet系统服务器要对bacnet设备进行何种操作的指令位,图4中的第1行第16位0c,就是一个读取指令,就是bacnet服务器要读取设备某个状态的指令;第2行的第2到第5位,就是哪个对象的标识位,图4的这几个位,对应的就是多态输出0;第2行的最后2位,就是属性标识位,“1955”这两位代表的就是当前值这个属性。

解析完后,根据之前所建立的对象映射,就能在嵌入式plc中找到对应的对象和属性。

编码完整的数据包并返回数据:如图5所示,这是一个标准的bacnet读取响应数据包。这个数据包是对之前读取多态输出0当前值的响应。当嵌入式plc接收到请求数据包并分析完后,需要往bacnet系统服务器返回一条响应指数据包。以响应图4的请求数据包为例,图5,数据中的第1行第7位数据81,就代表着这个数据包是bacnet协议的数据包;第1行第15位数据是一个响应类型位,0c就是读响应报文的标识;第2行的前4位,对应的就是多态输出0这个对象;第2行的第8和第9位就是返回“当前值”这一属性的数值的位,图5中的“21f8”代表着返回的当前值的值是一个无符号、长度是1字节的数据,它的值是f8(十进制的248)。其中,f8代表嵌入式plc的输出口“y0-y7”的状态为“11101111(二进制最左位为y0,最右位为y7,其中1代表高电平,0代表低电平)”。

通过这样的一个标准bacnet协议的数据包一发一收,嵌入式plc就能连接到bacnet系统当中。

在具体实施过程中,本发明提供的一种可接入bacnet楼宇系统的plc的方法,还提供了一种应用该方法的系统,在嵌入式plc能够使用梯形图语言编程的前提下,直接将控制器接入标准的bacnet系统中,实现了将嵌入式plc接入到bacnet系统中运行,节省了控制系统的开发时间与成本,也增强了嵌入式plc的可监控性和可操作性。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1