公司新闻 行业资讯

公司新闻

Company news

昆仑通态---驱动脚本开发
发布时间:2019-01-02   点击次数:2130次

1.使用向导开发流程

软件安装完成,下面通过实际协议使用向导完成开发。由于我们通常将协议分为两种格式:ASCII码和十六进制,所以这里我们将以两个实际协议:天辰仪表通信协议(ASCII)Midhurst通信协议(十六进制)为例,分别进行实例开发讲解。

1.1   ModbusASCII驱动开发(ASCII)

每款驱动的开发都离不开以下几步:功能实现、协议分析、开发及调试、测试,下面我们就针对每一步进行详细讲解。

1、功能实现

本次主要实现4区地址从18的八个通道采集。

2、协议分析

发送帧格式:

返回帧格式:

 

帧头

设备地址

功能码

寄存器起始地址

寄存器个数

LRC校验

结束符

占一个字符固定为:

占两个字符

占两个字符(固定为0x03)

占四个字符(固定为0x0000)

占四个字符(固定为0x0008)

占两个字符

占两个字节(固定为0x0D 0x0A)

返回帧格式:

帧头

设备地址

功能码

数据字节数

返回数据

LRC校验

结束符

占一个字符,固定为:

占两个字符

占两个字符(固定为0x03)

占两个字符(固定为0x10)

32个字符

占两个字符

占两个字符(固定为0x0D 0x0A)

 

3、开发流程

双击脚本驱动工具桌面快捷方式或到安装目录下双击文件“…\Program\DrvConfig.exe”,打开驱动工具编辑环境。

点击工具栏中新建工程按钮或菜单栏中文件à新建,进入图6-2-1对话框:

 

6-2-1                                 6-2-2

选择使用向导新建立工程,并点击确认按钮,如图6-2-2

驱动名称:驱动在组态中显示的名称,这里修改为“ModbusASCII设备

脚本驱动配置步骤:脚本驱动开发完成一共需要以下4步。

点击步骤1:配置属性按钮,如图6-2-3

 

7-2-3

添加属性:增加需要的新属性项。

设置属性:选择已经存在的属性项进行修改。

在这里我们不需要对该项进行任何操作,所以直接点击完成即可。

点击步骤2:配置通道按钮,如图6-2-4

 

6-2-4

添加、删除、设置通道:根据实现功能需要可以增加、删除或修改相应通道,通讯状态不可以进行修改或删除。

如果想修改通道,则选中要修改的通道,点击设置通道,如图6-2-5,进行相应修改。

 

6-2-5

点击步骤3:配置通讯帧,如图6-2-6

 

6-2-6

点击添加收发通讯帧按钮,并对帧结构进行配置,配置完成后如图6-2-7

 

6-2-7

此界面中配置内容与我们协议分析的帧格式是相对应的。点击确认返回到上一界面,如果想重新配置数据帧,则选中该数据帧,点击修改通讯帧配置进行修改。帧格式完成后,进行命令信息的设置。选中刚编辑好的通讯帧,点击设置收发通讯帧,如图6-2-8

 

6-2-8                                     6-2-9

下面进行信息的配置,双击帧头,在弹出的界面进行配置,如图6-2-9

注意:1、界面中是否参与校验是根据协议确定是否勾选的,本协议中帧头不参与校验,故不勾选

2、配置内容要与协议一致,其他字段的配置与该界面相同,

配置完成后的界面如图6-2-10

 

6-2-10

确认无误后,点击确认,返回上一界面。点击完成配置,步骤3配置完成。

点击步骤4:配置预览,对配置完成的内容进行预览,如图:6-2-11

 

6-2-11

确认无误后,点击确认返回。如果有错误,返回到相应步骤进行修改。

点击设置完成按钮,就会在代码编辑区域生成相应的代码,如图6-2-12

 

6-2-12

到这里整个ModbusASCII设备驱动开发完成,后面将讲解如何进行调试。如果通过观察代码发现有错误,还可以手动改代码。

注意:

1、使用向导开发,只能生成通道采集部分,写操作及设备命令需要手动完成代码编写。

2、向导中步骤1—4,每一步必须有操作,并且要点击完成,否则会出现错误提示。

1.2  ModbusRTU驱动开发(十六进制)

本节带大家学习利用向导开发ModbusRTU驱动,和上节一样一共分为四步:功能分析、协议分析、开发及调试、测试。下面就针对每一步进行详细讲解。

1、功能分析

本次主要实现4区地址从18的八个通道采集。

2、协议分析

发送帧格式

设备地址

功能码

寄存器起始地址

寄存器个数

CRC校验

占一个字节

占一个字节,固定为0x03

占两个字节,这里固定为0x0000—0x0007

占两个字节,固定为0x0008

占两个字节,低字节在前,高字节在后

返回帧格式

设备地址

功能码

数据字节个数

寄存器值

CRC校验

占一个字节

占一个字节,固定为0x03

占一个字节,固定为0x10(16)

每个数据占两个字节,共8×2=16个字节

占两个字节,低字节在前,高字节在后

注意:如果一部分占两个字节,没有特殊说明的,即为高字节在前,低字节在后。

3、开发流程

ModbusASCII驱动相同,先新建一个工程,在脚本驱动生成向导对话框中,将驱动名称修改为“ModbusRTU主设备,步骤12ModbusASCII设备驱动配置相同,这里就不在叙述,直接进入步骤3的讲解。

点击步骤3:配置通讯帧按钮,如图6-2-13

 

6-2-13

点击添加收发通讯帧按钮,并对帧结构进行配置,配置完成后如图6-2-14

 

6-2-14

此结话框是对收发通讯帧的配置,通讯帧类型选择字节数组[HEX格式]”,根据分析的协议格式,发送帧格式选择地址、命令体、校验,回收帧格式选择地址、命令体,数据体(8)、校验。点击确认按钮,返回上一界面。如果想重新配置数据帧,则选中该数据帧,点击修改通讯配置按钮,重新修改。

注意:回收帧格式中数据体中的数字填写必须与通道个数一致。如果只有一组收发通讯帧,那么数据体中数字要等于通道个数,若大于一组时,每一组里面的数据体数字之和应等于通道总数。

双击数据帧或选中数据点击设置收发通讯帧,进入命令信息设置界面,如图6-2-15

 

6-2-15                                    6-2-16

下面分别对各部分进行信息命令设置。双击地址进行设备地址的设置如图7-2-16,其他字段配置同上,如果下一字段设置与前一字段完全相同,则直接点击默认设置即可,设置完成后界面如图6-2-17

 

6-2-17

点击确认返回采集收发通讯帧设置界面,点击完成配置,该步操作完成。

点击步骤4:配置预览,查看配置完成后的状态,如图6-2-18

 

6-2-18

点击确认,返回到上界面后,点击设置完成,生成的部分代码如图6-2-19

 

6-2-19

到这里利用向导生成的驱动整个操作已经完成

Copyright © 2018 南京天普电气系统工程有限公司 版权所有 苏ICP备18026356号  技术支持:雨泽网络