DFS_Shuo_Chen 8 ay önce
ebeveyn
işleme
f71f8aaa7d

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+油机、传感器、远程协议/远程协议/广东阳江环保局/广东阳江环保局上传设置/~$环保上传设置.docx

+ 475 - 0
油机、传感器、远程协议/油机协议/VRC36 - 串口总线通讯方式/VRC36与VR监控后台RS485通信协议V1.7 2024.08.19.docx

@@ -0,0 +1,475 @@
+VRC36与VR监控后台RS485通信协议
+                                       
+                                   版  本
+                               作者/修改者
+                                   日  期
+                                   备  注
+V1.0.0
+车娟
+2019-05-24
+创建
+V1.0.1
+车娟
+2021-03-31
+1 数据包增加CRC校验
+2 扩展交易命令,增加交易序列号与提挂枪时间
+3 增加回叫一笔交易命令
+  4 增加回叫一天交易命令
+	V1.0.2
+陈华坤 
+2021-07-19
+1 实时加油02增加上传油流速
+2 交易命令字04增加最大压力
+	V1.0.3
+陈华坤 
+2021-08-30
+ VCC错误信息上传命令
+ 实时加油02和交易命令字04增加PWM值
+ 增加VCC错误信息表
+V1.0.4
+陈硕
+2021.12.15
+1、交易回复命令增加调整值字段;
+2、回叫交易增加调整值字段;
+V1.0.5
+陈硕
+2022.07.15
+1 扩展心跳命令,增加油枪状态发给监控后台
+V1.0.6
+陈硕
+2023.12.4
+读写配置工具的气液比和压损值分为改为A枪效率和B枪效率
+V1.0.7
+陈华坤
+2024.08.19
+实时交易增加电流值
+
+一、 后台监控数据内容:
+a)  枪号、枪状态、油品、提枪时间、挂枪时间;
+b)  实时数据内容:气体积,油体积,气流速,油流速,气压力;
+c)  挂枪后数据内容:气体积、平均气体压力、平均气流速、油体积、平均油流速、气液比;
+
+二、 连接方式:
+  RS485方式, 监控后台为主设备,VRC为从设备,监控后台通过轮询的方式与多块VRC板通信。
+
+
+
+
+三、 数据说明
+数据项
+数据格式
+长度
+备注
+加油点
+Bin
+1Byte
+
+枪号
+Bin
+1Byte
+
+枪状态
+Bin
+1Byte
+
+油品
+BCD
+4Byte
+
+提枪时间
+BCD
+7 Byte
+
+挂枪时间
+BCD
+7 Byte
+
+油体积
+HEX
+3 Byte
+小数点2
+油流速
+HEX
+2 Byte
+小数点1
+气体积
+HEX
+3 Byte
+小数点2
+气流速
+HEX
+2 Byte
+小数点1
+气压力
+HEX
+2 Byte
+无小数点
+气液比(效率)
+HEX
+2 Byte
+小数点3
+压力
+HEX
+2Byte
+
+PWM
+HEX
+2Byte
+
+VCC错误ID
+HEX
+1Byte
+
+调整值
+HEX
+2Byte
+
+电流值
+HEX
+2Byte
+
+
+四、 通信协议:
+4.1 数据包格式
+包头(0xfa)+ 目标地址+源地址+控制/帧号+数据长度+命令字+数据 + CRC校验
+名称
+包头
+目标地址
+源地址
+控制/帧号
+数据长度
+命令字
+数据
+CRC
+长度
+1
+2
+2
+1
+2
+
+
+2
+
+
+
+
+
+BCD
+
+
+
+
+各字段定义说明如下:
+ 包头(0xfa)
+  0xfa为转义字符,在数据里每两个 0xfa 替换为一个 0xfa;在目标地址、源地址、帧号/控制、有效数据长度中不能出现 0xfa,转义字符不计入 CRC 中,CRC 中采用转义。
+ 监控后台默认地址为0, VRC的地址从1-31,通过拨码开关设置。后台向VRC发送消息,源地址为0,目标地址为VRC的地址,反之VRC向监控后台发送消息,源地址为VRC的地址,目标地址为0。
+ 帧号占用5bits(bit0-bit4),帧号由监控后台组织,从1-0x1f循环累加使用。VRC返回消息帧号的低5位填充接收到帧号。当VRC返回多条信息时,最后一条消息的帧号bit7位置为1,中间消息的帧号bit7位置为0,只返回一条消息帧号的bit7位也置为1。
+ CRC校验
+  从目标地址到到数据域计算CRC值
+4.2 命令字
+4.2.1 长心跳命令
+命令字:0x6
+功能: 同步VRC36的系统时间与监控后台的系统时间,锁枪/解锁枪,每?分钟发送一次。
+后台发送(len: 24, 长度字段之后):
+0x6 + PC当前时间(7) + 当前操作(16)
+注:当前操作是后台该油机主板8个油枪位的枪号+该油枪的锁枪状态。油枪位1的枪号+状态1+油枪位2的枪号+状态2+.......+油枪位8的枪号+状态8 (状态 0-正常,1-锁枪。 油枪位没油枪填0,且放到末端)。
+
+VRC应答:(len: 24, 长度字段之后)
+长度(2Byte)+ 命令字 + PC当前时间(7) + 当前操作(16,可只传四条枪与状态共8字节)
+
+
+4.2.2 短心跳命令(获取状态命令)(注:版本V1.0.5改为回上面的长心跳命令)
+命令字:0x60
+功能: 获取VRC各加油点的状态或交易数据。
+后台发送(len: 1, 长度字段之后):
+0x60 
+
+VRC应答:
+ VRC处于空闲状态,返回命令字,
+   0x60(len: 1, 长度字段之后)
+ 加油点处于非空闲状态,返回非空闲状态加油点的状态,可能一次回复多条状态消息。
+   状态消息定义:
+状态字
+长度
+数据内容
+备注
+0x1
+14
+0x1 + 加油点(1)+ 枪(1) + 加油开始时间(7)+ 油品(4)
+提枪
+0x2
+23
+0x2 + 加油点(1)+ 枪(1) + 油量(3)+ 气量(3)+ 气流速(2) + 气液比(2) + 气压力(2)+气体流量计错误个数(2)+油流速(2)
++PWM(2)+电流值(2)
+实时加油
+0x3
+10
+0x3 + 加油点(1)+ 枪(1) + 加油结束时间(7)
+挂枪
+0x4
+39
+0x4 + 加油点(1)+ 枪(1)+交易序列号(4) +总油量(3)+ 最大油流速(2)+ 总气量(3)+ 最大气流速(2)+气液比(2)+提枪时间(7)+挂枪时间(7)+气体流量计错误个数(2)+ 气压力(2)+PWM(2)+平均电流值(2)
+交易数据,缓冲2笔交易
+
+
+枪(1)+交易序列号(4) +总油量(3)+ 最大油流速(2)+ 总气量(3)+ 最大气流速(2)+气液比(2)+提枪时间(7)+挂枪时间(7)+气体流量计错误个数(2)+ 气压力(2)+PWM(2)+ 调整值(2)
+回叫交易(交易回叫命令里的交易数据,从枪号开始)
+0xc
+6
+后台下发:(len: 6, 长度字段之后)
+长度(2Byte)+ 命令字 + 加油点(1byte)+交易序列号(4byte)
+
+油机应答: (length: 7+0/33)
+长度(2Byte)+ 命令字 + 加油点(1byte)+交易序列号(4byte)+ 结果(1byte)+回叫交易(与交易数据有区别,详见前面)
+结果:0-成功,返回交易数据;1-失败,没有交易数据
+
+回叫一笔交易
+0xd
+8 + n *37
+后台下发:(len: 7, 长度字段之后,请求回叫一天的交易)
+长度(2Byte)+ 命令字 +  0x1 + 加油点(1byte)+日期(4byte)
+油机应答: (length: 8 + n *33)
+长度(2Byte)+ 命令字 +  0x2 + 加油点(1byte)+ 日期(4byte) +传输状态(1byte)+ 传输交易序笔数(1byte)+回叫交易(与交易数据有区别,详见前面)
+0101000101xxxx0d020120210331010a...
+传输状态:0-失败,没有交易数据,1-首次传输,2-传输中,3-最后一次传输
+传输交易笔数:默认每次传输10笔,最后一次传输根据实际情况
+
+后台应答:(length: 8, 长度字段之后,确认接收回叫交易)
+长度(2Byte)+ 命令字 + 0x2 + 加油点(1byte)+ 日期(4byte) +结果
+010100010100070d02012021033100
+结果:0-成功,返回交易数据;1-失败,没有交易数据
+
+回叫一天的交易
+0x0E
+0x24+2*n
+长度(2)+ 命令字 (1)+加油点(1)+ 枪(1)+交易序列号(4)+提枪时间(7)+挂枪时间(7)+ 错误组数(1) +错误ID1(1) +ID1数量(1)+错误ID2 +ID2数量......+错误IDn+IDn数量
+交易结束发送错误信息
+错误类型含义如下表
+                              VCC错误信息表
+错误ID
+含义
+102
+设置、配置和校准数据写入闪存时发生闪存错误
+103
+未初始化的闪存,未校准的VCC,在VCC测试台上重新校准VCC和/或更换为校准装置
+104
+不支持的闪存版本VCC软件更新至不会产生此错误的软件版本,或使用校准的备用件更换设备
+105
+闪存CRC不正确,更换VCC单元
+112
+VCC A侧压力测量错误,可能原因VCC有缺陷、VR系统堵塞、阀门未打开、VR过滤器堵塞、喷嘴是否指向"向下"位置?、软管是否无扭曲?、检查系统堵塞、
+113
+VCCA侧流量传感器连接断开,更换装置
+114
+VCC B侧压力测量错误,可能原因VCC有缺陷、VR系统堵塞、阀门未打开、VR过滤器堵塞、喷嘴是否指向"向下"位置?、软管是否无扭曲?、检查系统堵塞、
+115
+VCC B侧流量传感器连接断开,更换装置
+120
+有部分压力、堵塞时未测量到流量
+123
+与流量相比,压力过高
+124
+与流量相比,压力过低
+128
+VCC A测流量传感器失去平衡,检查是否堵塞 
+129
+VCC B测流量传感器失去平衡,检查是否堵塞 
+131
+ADC测量到的通道与预期的不同
+132
+初始化ADC通信失败,ADC是否存在/损坏?
+135
+校准测量可能已取消,重新校准VCC
+140
+在VCC启动时的压力传感器A侧自检期间,在测量一个ADC通道的零电平时发现问题,可能存在故障的VFM 
+141
+在VCC启动时压力传感器A侧自检期间,在测量一个ADC通道的某些电流时发现问题
+144
+在VCC启动时的压力传感器A侧自检期间,在测量一个ADC通道的零电平时发现问题,可能存在故障的VFM 
+145
+在VCC启动时压力传感器A侧自检期间,在测量一个ADC通道的某些电流时发现问题
+142
+在VCC启动时的压力传感器B侧自检期间,在测量一个ADC通道的零电平时发现问题,可能存在故障的VFM 
+143
+在VCC启动时压力传感器B侧自检期间,在测量一个ADC通道的某些电流时发现问题
+146
+在VCC启动时的压力传感器B侧自检期间,在测量一个ADC通道的零电平时发现问题,可能存在故障的VFM 
+147
+在VCC启动时压力传感器B侧自检期间,在测量一个ADC通道的某些电流时发现问题
+   
+4.2.3 确认交易命令
+命令字:0x7
+功能: 监控后台确认交易已收到
+后台发送(len:9, 长度字段之后):
+0x7 + 枪(1) + 交易序列号(4)+ 加油点(1byte)+ 调整值(2)
+VRC不需要应答。储存调整值到对应交易中,回叫交易里时带该字段
+
+4.2.4 读取配置数据
+命令字:0x21
+功能: 获取VRC的配置数据,在配置工具中实现
+后台发送(len:n, 长度字段之后):
+0x21 + 数据个数(2byte)+ data_id_1(2byte) + ... + data_id_n(2byte)
+VRC应答(len: n, 长度字段之后):
+0x21 + 数据个数(2byte)+ data_id_1(2byte)+ data_id_1_len(1byte)+ data1(data_id_1_len byte) + ... + data_id_n(2byte)+ data_id_n_len(1byte)+ datan(data_id_n_len byte)
+4.2.5 写入配置数据
+命令字:0x22
+功能: 更新VRC的配置数据,在配置工具中实现
+后台发送(len: n, 长度字段之后):
+0x22 + 数据个数(2byte)+ data_id_1(2byte)+ data_id_1_len(1byte)+ data1(data_id_1_len byte) + ... + data_id_n(2byte)+ data_id_n_len(1byte)+ datan(data_id_n_len byte)
+后台根据上面21命令油机的回复修改需要修改的字段再回发22命令
+VRC应答(len: 2, 长度字段之后):
+0x22 + error(1byte)
+error定义:
+0:成功
+1:数据包格式错误
+2:非空闲态
+3: 写入配置数据失败
+data_id 定义:
+数据项
+data_id
+格式
+长度
+备注
+外部枪号
+0x1
+BIN
+8Byte
+8条枪,未连接的枪值为0
+每升的油脉冲个数
+0x2
+BIN
+2Byte
+默认值为100
+大气压
+0x3
+BIN
+2Byte
+默认值30
+交易检测模式
+0x4
+BIN
+1Byte
+0-枪信号, 1-脉冲,默认值0
+挂枪后交易结束延迟时间
+0x5
+BIN
+1Byte
+默认20, 单位100ms,范围:10-50
+
+波特率
+0x6
+BIN
+1Byte
+0-9600(默认值), 1-14400,2-19200,3-38400,4-56000, 5-57600
+版本号
+0x11
+Char
+9Byte
+格式xx.xxx.xx,只读参数
+调试信息
+0x12
+Bin
+1Byte
+0-关闭调试信息,1-打开调试信息
+IP地址
+0x21
+Char
+15Byte
+默认值192.168.1.5  不足15后面留空,对应ascii码为0
+监控IP地址
+0x22
+Char
+15Byte
+默认值192.168.1.100
+端口号
+0x23
+BIN
+2Byte
+默认值10000
+气液比
+0x24
+HEX
+2Byte
+小数点 3
+压损值
+0x25
+HEX
+2Byte
+无小数点
+恢复出厂设置
+0x26
+Bin
+1Byte
+0-不恢复出厂设置,1-恢复出厂设置
+
+4.2.6 读日志信息
+命令字:0x31
+功能: 从VRC中读取日志信息,在配置工具中实现
+后台发送(len:3, 长度字段之后):
+0x31 + 日志条数(2byte)
+注:日志条数:0-8000,0表示所有日志
+
+VRC应答(len: n, 长度字段之后):
+0x31 + 1条日志记录()
+或 0x31 + 错误代码
+错误代码:
+1:日志为空
+2: 读取日志数据失败
+3:非空闲状态
+注: 每次发送1条记录,连续发送直到发送完毕。
+
+4.2.7 读交易信息
+命令字:0x32
+功能: 从VRC中读取交易记录,在配置工具中实现
+后台发送(len:4, 长度字段之后):
+0x32 + 加油点(1byte) + 记录条数(2byte)
+注:加油点:1-4, 记录条数:0-2000,0表示所有记录
+
+油机应答(len: n, 长度字段之后):
+0x32 + 1条交易记录
+或 0x32 + 错误代码
+错误代码:
+1:记录为空
+2: 读取记录数据失败
+3:非空闲状态
+4:加油点超出范围
+注:每次发送1条记录,连续发送直到发送完毕。
+
+4.3 短心跳命令(获取状态命令)消息交互过程描述
+4.3.1 返回枪状态
+例如: VRC有4个加油点,其中加油点1在提枪状态,加油点2正在加油,加油点3在挂枪状态,加油点4在空闲状态。VRC收到短心跳命令后,检查各加油点状态,将加油点1、2、3的状态分三条消息(每条消息都包含包头与CRC校验)依次发送给后台,最后一条消息的帧号bit7为置为1,本次消息交互结束。
+
+4.3.2 返回枪状态与交易数据
+例如:加油点1在提枪状态,加油点3加油结束,有新交易未上传,加油点2、4在空闲态。VRC收到短心跳命令后,检查各加油点状态,将加油点1、3的状态分二条消息发送给后台。监控后台接收到加油点3的交易数据后,发送交易确认命令给VRC,本次消息交互结束,加油点3转为空闲状态。在下一次接收到短心跳命令后,只返回加油点1的提枪状态。
+
+如果VRC没有收到来自后台的交易确认命令,在下一次的短心跳命令将再次上传交易数据。每个加油点有2个交易缓存。如果有新的交易开始,上一次的交易还没有上传成功,上次的交易还可以继续上传。若超过两条未上传的交易,最早的交易被覆盖。
+   
+   
+12 (回叫一笔交易)
+后台下发:(len: 6, 长度字段之后)
+长度(2Byte)+ 命令字 + 加油点(1byte)+交易序列号(4byte)
+010100010100060c0100000001
+油机应答: (length: 7+0/33)
+长度(2Byte)+ 命令字 + 加油点(1byte)+交易序列号(4byte)+ 结果(1byte)+回叫交易(与交易数据有区别,详见前面)
+结果:0-成功,返回交易数据;1-失败,没有交易数据
+
+13(回叫一天的交易)
+后台下发:(len: 7, 长度字段之后,请求回叫一天的交易)
+长度(2Byte)+ 命令字 +  0x1 + 加油点(1byte)+日期(4byte)
+010100010100070d010120210331
+
+油机应答: (length: 8 + n *33)
+长度(2Byte)+ 命令字 +  0x2 + 加油点(1byte)+ 日期(4byte) +传输状态(1byte)+ 传输交易序笔数(1byte)+ 回叫交易(与交易数据有区别,详见前面)
+0101000101xxxx0d020120210331010a...
+传输状态:0-失败,没有交易数据,1-首次传输,2-传输中,3-最后一次传输
+传输交易笔数:默认每次传输10笔,最后一次传输根据实际情况
+
+后台应答:(length: 8, 长度字段之后,确认接收回叫交易)
+长度(2Byte)+ 命令字 + 0x2 + 加油点(1byte)+ 日期(4byte) +结果
+010100010100070d02012021033100
+结果:0-成功,返回交易数据;1-失败,没有交易数据
+
+
+                          Engineering Department, Tokheim
+                        Engineering Department, Tokheim

+ 0 - 0
油机、传感器、远程协议/远程协议/广东阳江环保局/~$市油气回收在线监控系统数据联网规范20230328(2).docx


+ 1 - 0
油机、传感器、远程协议/远程协议/浙江宁波环保局/浙江宁波环保局上传设置/telnet测试.txt

@@ -0,0 +1 @@
+telnet ningbo.star7.cn 9094

+ 5 - 0
规程参考文档/参考文档/导出加油过程日志设置方法.docx

@@ -0,0 +1,5 @@
+配置方法(使用隐藏的设置项):
+打开conn.ini,拉到最后一页在[other]项下面增加enablefillinglog=1这一行,等使用完后再把这一行删除。
+如果重新升级或升级其他版本,该行也是会清除。
+
+