APP下载

PROFIBUS非周期通讯技术在NT6000系统中的实现及应用①

2021-12-21丁茂实苟成全徐艳超

关键词:状态机主站视图

丁茂实,苟成全,徐艳超

(1.南京科远智慧科技集团股份有限公司 ,江苏 南京 211102;2.江苏省热工过程智能控制重点实验室,江苏 南京 211102)

0 引 言

目前国内PROFIBUS主站研究主要侧重于周期通讯,实现非周期通讯的主站非常稀少[2][4] [5] [7]。目前研究以应用型为主,直接开发相关产品的厂商很少。对于MSAC2M(Master-Slave connection for Acyclic data transfer Class 2 for Master station)状态机的研究更少。文献[2]介绍了一种自主实现的PROFIBUS主/从站通讯模块,但是对于实现细节及DPV1协议支持情况没有透露;文献[3]研究了PROFIBUS一类和二类非周期通讯过程,梳理了FDL层交互报文,但是未在主站上实现。科远智慧在原自主开发PROFIBUS-DPV0主站协议栈的基础上,进一步深入研究DPV1通讯协议,成功开发出了支持二类非周期通讯的PROFIBUS主站产品,通过和上位机SyncAMS软件配合使用,可以实现PROFIBUS非周期数据到国产NT6000控制系统的传输,进一步提高了国产现场总线控制系统NT6000-FCS的国产化水平。

1 FDT技术在NT6000系统中的设计与实现

1.1 FDT技术简介

FDT(Field Device Tool)是现场设备与控制系统之间进行数据交换的一种标准化的接口规范,FDT是一种独立于供应商的公开的规范[6]。在FDT中,每个硬件都具有一个被称为设备类型管理器(DTM)的驱动,用来提供标准的FDT接口。一共有三种不同类型的DTM,设备级的可以直接访问通信组件的设备类型管理器被称作通信DTM,在不同类型的协议之前的路由被称之为网关DTM,代表现场设备的DTM被称之为设备DTM[6]。

1.2 NT6000系统简介

NT6000系统是由南京科远公司自主研发的以eBus(冗余I/O总线)为基础的分散控制系统,同时可以支持HART、MODBUS、PROFIBUS等多种现场总线协议[6]。为满足NT6000系统设备生命周期管理(工程、调试、运行、维护和高级诊断阶段)的需要,将FDT技术应用到NT6000系统中,设计了基于FDT框架的智能设备管理系统(SyncAMS)。

系统结构如图1所示,系统中每一个节点都有对应的DTM组件,SyncAMS设备管理站对应FDT Framework,是整个系统的框架,以太网对应通讯DTM,负责设备间通讯;DPU控制器对应网关Dpu_DTM;PROFIBUS主站模件对应网关PROFIBUS_DTM;其他普通模件对应设备Module_DevDTM[6]。

图1 NT6000-FCS系统框图

系统结构主要分为三层[6]:

(1)设备层:NT6000系统的控制单元和现场总线设备。控制单元包含NT6000系统的控制器和IO模件,他们之间通过eBus(冗余I/O总线)相连;现场设备由多总线协议的设备组成。

(2)工厂车间层:包括工程师站、SyncAMS服务器、数据服务器和SyncAMS客户端。他们之间通过E-NET冗余网络相连,并且连接到DPU控制器。SyncAMS通讯服务器一般绑定安装在NT6000系统网络上,与控制器有着直接的物理通信链路,通常情况下直接安装于现场工程师站;负责与现场设备之间的数据交互,以及与数据服务器的交互。数据服务器储存与设备仪表相关的数据和运行操作记录。SyncAMS客户端是对设备仪表的应用操作。

(3)企业管理层:即SIS/MIS应用系统,通过OPC Client连接OPC Server,从而访问数据。

1.3 NT6000设备管理数据通讯流程

设备管理的工作流程:客户端解析用户的业务要求(DTM用户界面组件调用),由工业以太网和接口机以请求/响应命令传递给SyncAMS服务器,服务器调制解调上位机命令(DTM业务逻辑组件调用),将命令由eBus总线发送到控制器和I/O模件(文中即为PROFIBUS主站模件),再经过现场总线到现场设备。现场设备收到上位机的命令后,通过自身的智能处理将响应信息返回并送入数据服务器的数据库[6]。

2 非周期通讯在PROFIBUS主站上的设计及实现

2.1 二类非周期通讯原理简介

PROFIBUS二类非周期通讯采用C/S结构通信模型,其中主站相当于客户端,从站相当于服务器[1]。

文献[1]中指出了二类主站的编码及状态机轮转过程。其中”编码规则”可见于文献[1]第十章,”需要实现的PDU(Process Data Unit)”可参考文献[1]表118。

主要主站状态机如图2所示[1]。

图2 PROFIBUS二类非周期主站状态图

POWER-ON状态进行相关初始化操作后转向CLOSED状态;在CLOSED状态下用户调用MSAC2_Initiate 服务并发送给从站[1]。如果在START-POLL-RES状态下主站等到的应答是肯定(positive)的,则转入OPEN状态。OPEN状态下可以处理Read、Write和Data_Transport服务。连接可以通过主站用户或从站用户进行放弃(abort)连接[1]。MSAC2M状态机详细轮转过程可以参考规范[1]中12.7节。

非周期通讯对SAP的扩展如表1所示。

表1 非周期通讯与SAP对应表[1]

FDL层数据功能码错误码等编码规则参见文献[1]第十章。

2.2 代码实现过程及对原DPV0协议栈的修改

原DPV0协议栈中预留了用于非周期通讯的接口:低优先级请求队列和回复队列,缺少相关的上层基本操作函数,需要添加相应的函数。

2.2.1 基本操作接口的构建

参考协议构建了FDL层发送函数FDL_MSAC1_REPLY_Req,将DDLM层报文填充到FDL层低优先级发送队列中,通过FDL任务进行发送。上层函数DDLM_V1_basic_Req,处理基本的DDLM层请求报文。DDLM层服务函数:MSAC2_Initiate_req,MSAC2_Poll_req,MSAC2_Idle_req,MSAC2_Valid_req,MSAC2_Abort_req;相应的confirm函数:MSAC2_Initiate_con,MSAC2_Poll_con,MSAC2_Idle_con,MSAC2_Valid_con,MSAC2_Abort_con。

2.2.2 数据结构的实现

参照协议实现了如表2。

表2 PDU报文表

2.2.3 二类非周期状态机的实现

非周期状态机函数分为两个,非周期请求(MSAC2_Req_Sche)和非周期应答状态机(MSAC2_Res_con_Sche)。非周期状态机和原协议栈的函数调用关系如图3所示。

图3 非周期函数调用关系

对于原DPV0协议栈的修改如下:

(1)协议栈初始化函数中加入MSAC2_Sche_init函数,分配二类状态机主结构体内存空间,初始化二类状态机相关变量。

(2)在请求函数中获取非周期请求报文,成功取得后,判断当前状态,如果可以处理非周期报文则调用请求状态机进行处理。

(3)应答函数中加入对返回报文DSAP的判断,如果是50(表1中二类非周期通讯的SAP)则调用应答状态机进行处理。

eBus用户和PROFIBUS协议栈通过共享内存的方式进行通信。eBus用户请求报文在PROFIBUS协议栈中的处理顺序如图4所示。

图4 用户请求处理流程图

3 SyncAMS软件配置组态和PROFIBUS设备管理

3.1 SyncAMS软件介绍

SyncAMS智能设备管理系统是科远智慧基于通用现场总线协议开发的软件。该系统包含FDT框架和DTM组件,可根据现场设备的拓扑网络进行离线组态或上线检测匹配;结合通信CommDTM、网关Gateway DTM和设备DeviceDTM组件提供的功能与界面操作;可对复杂的设备仪表进行统一管理,实现远程参数配置、标定与校验、状态诊断及日志记录、用户管理等常用功能。另外为丰富公司现有界面组态软件的设备管理功能,可将SyncAMS中具体的DTM管理界面嵌入到Kview系统使用。

3.2 NT6000组态导入方法

点击SyncAMS弹出登录界面,登录成功后,点击视图菜单下面的DTM库视图,弹出库视图,点击“更新”按钮后在DTM库中列举所有已安装过的DTM。

图5中右击左侧AMS图标,在弹出的菜单中先安装通讯DTM文件。在通讯DTM窗口中定义地址栏为127.0.0.1。添加通讯DTM并上线成功后,网络视图中右击通讯DTM节点,在弹出的菜单项中选择”附加功能”->“生成NT6000组态配置”;然后点击“文件”菜单下面“导入NT6000组态”;此时SyncAMS将NT6000 CCM(组态软件)中配置的各槽位模件信息导入到网络视图中,导入成功后如图6所示。

图5 SyncAMS库视图

图6 组态导入图

3.3 PROFIBUS设备操作方法

这里以KM633A(主站模块)加PROFIBUS PA从站模式为例,介绍SyncAMS的使用方法。首先将从站GSD文件拷贝到 “NT6000安装目录”inV4FieldBusPROFIBUSgsd路径下,然后通过CCM(组态软件)组态建立周期通讯并使能DPV1功能。在本机中安装该设备对应的DTM文件,安装完成后点击“更新”按钮可将安装于机器中的从站DTM库文件更新至列表。

DTM窗口配置KM633A模件位于eBus总线上的地址,需要与CCM(组态软件)中的地址保持一致。网络视图中右击KM633A节点后,在弹出的菜单中选择添加窗口,选择需要操作从站类型相同的DTM后,点击添加,然后在KM633A设备管理窗口中点击“加载”按钮,加载设备并将设备地址配置为和NT6000-CCM(组态软件)组态一致的地址。最后右击该从站设备选择“上线”,双击该设备,便可在右边窗口观察配置该设备非周期参数。

4 总 结

经过长期的技术积累和对PROFIBUS通信协议的潜心研究,科远智慧成功地开发出了支持二类非周期通讯的国产PROFIBUS系列主站产品。该系列产品国产化程度高,核心技术自主可控,通过和上位机SyncAMS软件的配合使用,可以将从站非周期数据采集到NT6000控制系统中。目前大量项目应用案例表明非周期通讯稳定可靠。

猜你喜欢

状态机主站视图
基于有限状态机的交会对接飞行任务规划方法
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
基于OS2主站系统的海量数据共享技术研究
多表远程集抄主站系统
基于改进经济压差算法的主站AVC的研究
关口电能计量故障监测报警装置及主站研究
FPGA设计中状态机安全性研究