FStudio之地址映射,将各种通信协议转成BACNetMSTP

电子说

1.3w人已加入

描述

BACnet协议主要是用于智能建筑,楼宇,空调等领域的通信协议。

国内外支持BACnet协议的控制器也有不少。

常见的有Johnson ,西门子,施耐德,台达,Carrier,以及一些SCADA软件及系统等,也都可以支持BACnet协议。

BACnet协议,分有网络和串口两种。

串口的BACnet也通常叫做BACnet MS/TP。

是一种可以支持在一个485串口总线上,支持多个主站,从站设备在一个总线网络进行通信。

而本篇介绍的,就是屏做BACnet MS/TP的服务,可以将屏采集的各种PLC的数据,转到BACNet协议。

这样,像电脑,BACnet网关,控制器,以及FBox等都可以通过MS/TP来访问数据了。

从而实现BACnet网关的作用。

不完全统计,FStudio里已经集成了上百种协议。

也就是基本上只需要一个HMI,就可以将上百种协议,转换为BACnet协议,供主站来访问。

这次要介绍的是一种地址映射的形式。

所谓地址映射的形式,比如我要采集西门子的MD,MW,QD寄存器,想直接映射给BACNet的AV寄存器。

这样当主站采集AV寄存器的时候,就相当于直接采集MD或者QD寄存器了。

采用地址映射的方式,就把整个数据桥打通了,易用性更好,可用性更强,灵活性更高,更具备效率。

如何实现,我们来看一下。

寄存器

首先,我们在FS里,COM1先选择bacnet_mstp_server的服务驱动。

然后网络PLC里,可以根据需要添加我们要连接的设备.

寄存器

比如接了modbus tcp和西门子PLC 。

这样我们就把要连接的设备添加完成了。

接下来我们就是要使用地址映射,进行寄存器的关联了。

寄存器

寄存器

然后我们根据要用的地址都登记到地址映射表里。

用多少登记多少就可以了。记住不要有地址冲突和重复就行了。

比如AV0同时映射到多个地址,这样就会冲突了。

我们就可以直接把工程下载到屏里了。

然后我们用上位机工具扫描一下BACnet的寄存器。

寄存器

用地址映射的好处就是用多少,添加多少。

因为BACnet MSTP支持扫描和发现寄存器的功能。

这样用到多少寄存器,就扫描出来多少寄存器。不然如果预先把寄存器都设置满了,扫描出来一大堆寄存器用不到的,会影响我们测试和调试的。

我们看一下数据映射如何。

我们配置的是MV0映射到4X1001,映射了三个地址。

寄存器

寄存器

寄存器

MV寄存器的映射已经对应上了。

寄存器

我们对MV1进行写操作,很快,Modbus TCP这边的地址也就写修改了。

说明读写是没问题的。

使用地址映射的方法,就比数据双向传输效率高很多,也更好用了。

使用FS配置好工程,下载到屏里,这个屏就相当于实现了BACNet MSTP网关的功能了。

FStudio里,基本支持了市面上常见的,不常见的,主流的,非主流的PLC,控制器协议。有了这个地址映射, 已支持的协议,基本都可以映射至BACNet MSTP里。

快拿起你手中的屏试一下吧。

寄存器

AV,AO,AI,一般是浮点数为主。

BV,BO,BO, 一般是位元件。

这两个数据已基本满足各种数据需求了。

而MV,MO,MI,一般是多状态寄存器类型为主。当然,也可以作为字类型寄存器使用。

在以往的一些应用场合里,通常是使用BACNet网关来采集像Modbus 等控制的设备,但有时候BACNet网关能支持的采集设备协议不够完善,就会使用触摸屏来采集PLC,然后网关来采集触摸屏,最后由上位机系统等来通过BACNet MSTP来采集网关。

有了这个地址映射,再结合这个bacnet_mstp_server,一个触摸屏就可以完成网关的工作了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分