轮询问答式规约通用驱动配置文件说明Word文档格式.docx
- 文档编号:21836521
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:25
- 大小:67.94KB
轮询问答式规约通用驱动配置文件说明Word文档格式.docx
《轮询问答式规约通用驱动配置文件说明Word文档格式.docx》由会员分享,可在线阅读,更多相关《轮询问答式规约通用驱动配置文件说明Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
2.4
2014-8-13
增加“2.通信速率设置”章节
无
目录
1.概述1
1.1.使用场合1
1.2.使用方法1
2.通信速率设置1
3.配置文件说明1
3.1.通信相关配置1
3.1.1.总体信息2
3.1.2.发送报文2
3.1.3.接收报文2
3.1.4.AI解析3
3.1.5.DI解析4
3.1.6.简单遥控4
3.1.7.复杂遥控5
3.1.8.遥调6
3.1.9.校时7
3.2.通用配置集合8
3.2.1.校验8
3.2.2.地址9
3.2.3.固定报文9
3.3.数学运算配置9
4.数据格式说明10
4.1.校验类型10
4.2.AI数据类型10
4.3.DI数据类型11
5.简单示例12
5.1.如何让DrvAnyPolling正常运行12
6.复杂示例13
6.1.校时模块13
6.2.多位状态解析模块14
6.3.数学运算符Bits用法举例14
1.概述
通用轮循驱动程序(DrvAnyPolling)的目标是通过修改配置可以和不同的装置通信。
使用DrvAnyPolling驱动配置通信相当于自己做了一个小程序直接和装置通信。
1.1.使用场合
1)没有现成的驱动程序能够接入该装置
2)该装置采用Polling(轮询)的通讯方式。
(不论串口还是网络TCP)
3)不要求读取事件记录、不要求读取故障录波、不要求读取定时记录
4)自己会阅读规约文档,并能够构造报文,而且可以通过工具手动解析接收的数据
1.2.使用方法
1)了解用户需要从这个装置读取到哪些信息。
2)阅读装置规约文档,并构造出相应的报文。
3)使用通信工具发送构造的报文,并手动解析回复的报文,验证是否正确。
4)根据第3步中构造的报文,使用AnyPollingConfig工具进行配置。
5)将配置文件拷贝到设备的inf中,把配置好相应点表导入到设备中,启动前台,与装置通讯。
6)观察片刻,确认前台测点数据完整无误。
2.通信速率设置
待新增。
3.配置文件说明
Inf配置文件用方括号([xxx])表示一个配置节或配置模块。
3.1.通信相关配置
通信配置由以下几个模块组成:
[common]项记录发送与接收的组数,以及模拟量与开关量的个数等总体的信息
[sendxx]配置发送报文
[Recxx]配置接受报文
[Axx]配置模拟量解析
[Dxx]配置开关量解析
[CtrlSendxx]配置遥控发送内容,配置范围从[CtrlSend1]~[CtrlSend255]
[CtrlRecvxx]配置遥控接收内容,配置范围同上
[TimeSend]配置校时发送报文
配置模块中的命名规则:
[sendxx][Recxx]中xx表示组号,从1开始。
发送接收的对应关系是由组号决定的,[send3]与[Rec3]表示了一组对应的接受与发送。
[Axx][Dxx]中xx表示模拟量或开关量在第几栏,从1开始。
[CtrlSendxx][CtrlRecvxx]中xx对应前台遥控号
3.1.1.总体信息
;
//Common块记录各种配置项的数量
[Common]
//接受与发送的组数
SendRecNumber=4
//模拟量的组数
AInumber=1
//开关量的组数
DInumber=1
//默认为0,配置该数据范围为1~255,对应前台的遥控参数号为1~255
CtrlSendRecvNum=1
注意:
总体信息配置需要和后面的配置信息对应,否则出错。
3.1.2.发送报文
//第一组发送
[send1]
//固定报文配置详见3.2.3
BuffStr=6403014500019DD6
//校验配置详见3.2.1
CHECK=1
checkFrom=1
checkTo=5
checkpos=6
checkMode=1
//地址配置详见3.2.2
AddrCHECK=1
AddrPos=3
AddrType=1
3.1.3.接收报文
[Rec1]
//是否进行帧头校验(1为校验,默认为0不校验)
Checkframehead=1
//帧头的内容
Framehead=EB90EB90
//是否进行长度校验(1为校验,默认为0不校验)
CheckLen=1
//长度值
Lenth=10
//是否校验地址
CheckAddr=1
//地址配置详见3.2.2
AddrPos=4
Addrtype=0
//是否进行固定字校验,默认为0不校验
ConstCheck=1
//固定值所在字节
ConstPos=5
//固定值的值
Constant=AA
Check=1
checkFrom=4
checkTo=9
checkpos=10
checkMode=0
3.1.4.AI解析
//模拟量解析配置
[A1]
//在第几组接收报文中进行解析
Recnum=1
//从第几个字节开始解析
Recbyte=11
//数据类型*(见4.2说明)
DataType=4
//系数,结果为AX+B时的系数A,默认为1
Scale=1
//结果为AX+B时的偏移量B,默认为0
Offset=0
//按顺序连续解析的模拟量的个数
Aipoint=4
//前台传递的量最初的位置
//AIMirrorAddress=1表示从A0(参数号0)开始
//AIMirrorAddress=2表示从A1(参数号1)开始
AIMirrorAddress=1
3.1.5.DI解析
//开关量解析配置
[D1]
//在第几组接收报文中进行解析(从1开始计数)
Recnum=3
//在第几个字节处进行解析(从1开始计数)
Recbyte=6
//默认为0,(*详见4.3说明)
DataType=0
//当选择按固定值解析时有效(十进制),等于此固定值时开关量置1,否则置0
Value=1
//需要解析的开关量的个数
DIpoint=
//DIMirrorAddress=1表示从D0(参数号0)开始
//DIMirrorAddress=2表示从D1(参数号1)开始
DIMirrorAddress=1
3.1.6.简单遥控
//不区分遥控动作类型
//不支持遥控返回功能
[CtrlSend1]
//详见3.2.3说明
BuffStr=0106138D00CF5D31
//校验配置详见2.2.1
AddrType=1
//检查接收内容是否正确,暂时提供2种校验,一种长度,一种固定内容校验;
[CtrlRecv1]
(长度校验)
//默认为0,当等于1的时候,会检测接收的字节是否和下面的Lenth相等
CheckLen=0
//默认为0,当CheckLen=1的时候,会检测接收的字节是否和自己相等,如果不等,则判断遥控失败
Lenth=0
(固定内容校验)
//默认为0,表示不校验接收的内容,等于1表示需要校验
CheckConst=0
//默认为1,表示从第一个字节开始,0106138D00CF5D31其中的01就是第一个字节
ConstPos=1
//默认为空,当配置了Constant=0106138D00CF5D31,程序则必须判断接收的内容是否从1个字节开//始的后续字节是“0106138D00CF5D31”这样的内容,如果不等,则判断失败;
Constant=
3.1.7.复杂遥控
//区分遥控动作类型
//支持遥控返回功能
//配置范围从[CtrlSend1]~[CtrlSend255],其他无效,遥控参数号对应1~255
//配置遥控闭合报文
//1代表复杂遥控,还需要配置[CtrlReturnSend1]和[CtrlReturnRecv1]
CtrlReturn=1
//检查遥控闭合的接收内容是否正确,暂时提供2种校验,一种长度,一种固定内容校验;
//固定内容校验,默认为0,表示不校验接收的内容,等于1表示需要校验
:
//配置遥控打开报文,与[CtrlSend1]共用地址和校验填充的配置
[CtrlReturnSend1]
//添加遥控返回报文
BuffStr=0505001600006C7A
//检查遥控打开的接收内容是否正确,暂时提供2种校验,一种长度,一种固定内容校验;
[CtrlReturnRecv1]
//(长度校验)
//默认为1,表示从第一个字节开始,0505001600006C7A其中的01就是第一个字节
//默认为空,当配置了Constant=0505001600006C7A,程序则必须判断接收的内容是否从1个字节开//始的后续字节是“0505001600006C7A”这样的内容,如果不等,则判断失败;
3.1.8.遥调
//暂不区分闭合还是是打开
//配置1代表遥调,还需要配置校验如下
CtrlMode=1
//参考3.2.1的校验模块说明
checkTo=5
checkpos=6
checkMode=1
//遥调值位置
DataPos=5
//值系数
DataScale=0.1
//数据类型*(见4.2说明,暂时支持2、3、6、7、9、10、11、12)
DataType=xx
3.1.9.校时
注意仅支持单点校时,设备校时间隔不等于0才会触发校时功能
//校时命令发送后sleep2s
[TimeSend]
BuffStr=0110010000060000000000000000
//地址模块详见3.2.2
AddrType=1
//校验模块详见3.2.1
//带pos的表示位置,Type表示数据类型*(见4.2说明,暂时支持2、3、6、7、9、10、11、12)
//简单校时报文使用TimePos和TimeType即可
TimePos=
TimeType=
YearPos=
YearType=
MonthPos=
MonthType=
DayPos=
DayType=
HourPos=
HourType=
MinutePos=
MinuteType
SecondPos=
SecondType=
年仅填充个位和十位,比如2013,仅填充13,20当成固定报文即可,因为它一百年才变一次。
什么时候使用TimePos和TimeType:
当报文中的时间排列为年、月、日、时、分、秒,且6个数据格式一致时使用。
当报文中时间排列顺序不是上述情况,或者各时间的数据格式不一致,需要单独配置各自的时间字段。
3.2.通用配置集合
DrvAnyPolling驱动的通用配置集合在多个配置块使用,比如说。
通用模块介绍如下:
3.2.1.校验
主要职责是自动构造各种校验码。
校验配置集合可以在发送报文[sendxx]使用也可以在遥调发送报文[CtrlSendxx]中使用。
//是否配置发送校验,1为校验,默认为0不校验
//校验起始字节,默认0,不校验
//校验终止字节
//校验字位置
//校验方式*见4.1校验类型
checkMode=1
3.2.2.地址
主要职责是自动设备地址,可以把PecConfig中配置的地址自动填充到报文中,这样做的好处是相同设备类型不同设备地址的配置只需要一份即可。
//是否配置ID(1为校验,默认为0不校验)
AddrCHECK=1
//ID位置
AddrPos=3
//ID类型(0表示byte;
1表示word)
3.2.3.固定报文
主要职责是提供报文的长度信息,提供报文中固定字节的内容。
BuffStr的配置规则:
1.字节长度必须和实际报文一致
2.固定部分报文需要和实际报文一致
3.可变部分报文任意配置,因为程序会自动填充这部分的报文的字节
3.3.数学运算配置
本模块负责把通信之后的原始模拟量通过运算表达式进行二次计算,运算结果再刷新到前台对应测点。
//常量配置示例
[Constant]
//限制最多设置100个常量V0~V99
Num=2
V0=2
V1=3.1415926
//模拟量表达式配置示例支持括号,不支持数字,请配置常量代替数字
[MathOperation]
A200=A3*(A1+A2)
A101=A3/Sqrt(A0)
A12=A1*A4PowerV0//A12=A1*(A4V0)
//等号右边的A1表示测点参数号=1的值
//等号左边的A200表示计算后的值刷新到测点参数号=200
//表达式个数没有限制
//每个表达式最多支持48个元素(即数据源或操作符号)例如A4或power算一个元素
支持的普通运算符号
名称
符号
优先级
目数
加法
+
1
2
模拟量加法运算
减法
-
模拟量减法运算
乘法
*
模拟量乘法运算
除法
/
模拟量除法运算
平方根
Sqrt
3
模拟量平方根运算
平方
Sqr
模拟量平方运算
指数
Power
模拟量指数运算
正弦
Sin
模拟量正弦值运算
余弦
Cos
模拟量余弦值运算
支持的特殊运算符号
取数据位运算
Bits
详见示例5.3说明
4.数据格式说明
4.1.校验类型
DrvAnyPolling驱动通用校验方式(CheckMode值的含义):
0:
SUM8校验,(和累加取最低一个字节)
1:
SUM16校验(和累加取两个字节,低字节在前,高字节在后)
2:
ModbusRTU校验(CRC16低在前高在后)
3:
CRC16高在前低在后
4:
取反加一
5:
CCITT跟模版的可能不一致,是根据源博电量采集通讯规约//CCITT(LH)
6:
SUM16校验(和累加取两个字节,高字节在前,低字节在后)
7:
异或校验
4.2.AI数据类型
DrvAnyPolling通用模拟量数据类型(Datatype值的含义):
值
说明(常用的蓝体标出)
字节数
报文示例
数值
有符号8位
F8
-8
无符号8位
248
BCD码
24
4
无符号16位低字节在前高字节在后
F8FF
65528
5
有符号16位低字节在前高字节在后
6
无符号16位高字节在前低字节在后
FFF8
7
有符号16位高字节在前低字节在后
8
有符号后两字节*1000+前两字节
00010002
2001
9
无符号32位高字在前低字在后
00010003
65539
10
有符号32位高字在前低字在后
FFFFFFF8
11
IEEE32位浮点数
3F47AE14
0.78
12
与IEEE32位浮点数高字低字相反
AE143F47
13
MODBUS无符号32位浮点数
10003
14
MODBUS有符号32位浮点数
-10008
15
无符号32位低字在前高字在后
00030001
16
有符号32位低字在前高字在后
FFF8FFFF
17
与IEEE32位浮点数字节刚好完全相反
14AE473F
18
高字节*100+低字节
1C19
2528
19
双精度浮点数
000000BF81705720
-0.0085
20
无符号32位
(与类型9的字节顺序刚好完全相反)
03000100
23
有符号16位,最高位为符号位,低15位为具体数值
A6
6A
-9834
双精度浮点数BigIndian(和类型19对应,字节序相反)
BF
81705720000000
100..111
AsCII专用
直接将字节转换成char,十进制表示
105表示数据长度为5个Ascii,依次类推(包括小数)
1~11
3132203334
12.34
120..131
直接将字节转换成char,十六进制表示
124表示数据长度为4个Ascii,依次类推
(不包括小数)
31323334
0x1234
或4660
132
先按128的格式
由ASCII解析成十六进制表示
然后按11的格式
解析成IEEE32浮点数
31343A3E
3437333F
200..210
BCD码串倒过来解析
1~10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 询问 规约 通用 驱动 配置文件 说明