京沈高速公路计重收费设备驱动动态库技术要求v2.0

更新时间:2023-10-30 05:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

京沈高速公路计重收费设备驱动动态库技术要求 V2.0

京沈高速公路计重收费设备

驱动动态库技术要求

1.计重设备与车道收费软件的通信

京沈高速公路车道收费软件不直接与计重设备通信,而是通过厂家提供的符合本技术要求的接口驱动动态链接库完成数据传输和命令发送。

接口驱动动态链接库与计重设备进行通信,并完成本技术要求规定的功能。

2.数据通讯基本要求

2.1 数据通讯由计重设备根据收尾信号主动发起。

2.2 计重设备和动态链接库能够保存至少10辆车的计重数据,并且可以根据需要,由车道收费软件通过动态链接库接口函数发指令同步计重数据或者按先进先出方式逐辆清除。

2.3 车道收费计算机复位时,计重设备保存的计重数据不受影响,复位正常后主动上传车道计算机未确认上传的数据。

2.4 计重设备损坏、关闭和复位时,车道收费计算机中动态链接库保存的计重数据不受影响,并且可以继续使用。

2.5 计重设备发生故障修复或恢复后,能够自动复位并主动上传车道计算机未确认上传的数据。

2.6 计重设备能够检测到最后一辆车退出,并且发信息给动态链接库撤销该辆车的计重数据,动态链接库通过设定的接口发送指定消息给车道软件。 2.7 当最后一辆车不完全退出并且再进入时,计重设备必须能够保留该辆车的计重数据。

2.8 当车辆不完全进入并退出时,计重设备必须能够正确判断,撤销该辆车的计重数据。

2.9 当车辆在计重平台上不完全倒车并进入时,计重设备必须能够正确判断处理该辆车的计重数据。

2.10计重数据采用先进先出方式存放。

2.11动态链接库收到最新的完整车辆数据后,通过设定的接口发送指定消息给

9-1

京沈高速公路计重收费设备驱动动态库技术要求 V2.0

车道软件。

2.12 动态库可运行于两种模式,一种为与计重设备直接连接,完成上述功能,另一种为不与计重设备直接连接,通过串口与连接计重设备的软件通信获取数据和信息,用于复式收费。

3.动态链接库接口 3.1 动态链接库名称

京沈高速公路使用的计重设备动态链接库文件名称为JSWT.DLL,车道软件通过该动态库提供的接口函数完成计重设备的数据交换和设备控制。动态链接库必须编译版本信息。

3.2 接口输出规定

JSWT.DLL必须提供以下C格式DLL接口:

(extern\,使用C语言采用的默认调用方法(_cdecl)。

3.3 数据单位、格式和编码定义

3.3.1数据单位和格式

接口函数返回的轴或轴组质量单位为“公斤”; 接口函数返回的车速单位为“米/小时”; 接口函数返回的车辆加速度单位为“厘米/秒”;

接口函数返回的时间字符串格式为“YYYY-MM-DD HH:MI:SS”。 3.3.2轴和轴组类型编码

接口函数返回的轴和轴组信息编码如下: 编码值 1 2 3 4 编码意义 单轴,每侧单轮胎 单轴,每侧双轮胎 并装双轴,每轴每侧单轮胎 备注 轴与轴组类型 轴与轴组类型 轴组类型 2

并装双轴,一轴每侧单轮胎,一轴每轴组类型 9-2

京沈高速公路计重收费设备驱动动态库技术要求 V2.0

编码值 侧双轮胎 5 6 7 8 编码意义 备注 并装双轴,每轴每侧双轮胎 并装三轴,每轴每侧单轮胎 并装三轴,每轴每侧双轮胎 并装三轴,一轴每侧单轮胎,两轴每侧双轮胎 并装三轴,两轴每侧单轮胎,一轴每侧双轮胎 轴组类型 轴组类型 轴组类型 轴组类型 9 轴组类型 不符合以上轴组类型的轴组转化为上述轴组类型输出。 3.3.3设备状态编码

设备状态按位编码,自低位开始编码,0表示正常,1表示故障,编码如下:

位 0 1 2 3 4 5 6 7 编码意义 通信状态 称台状态 光栅状态 辅助车辆检测器状态 轮轴识别仪状态 保留 保留 保留 备注 1表示与计重设备通信失败 1表示称台故障 1表示光栅故障 1表示车辆检测器故障 1表示轮轴识别仪故障 3.3.4动态链接库返回消息编码

动态链接库根据设备状态和数据状态,通过消息句柄返回消息,消息值使用初始化接口定义,消息中使用字参数值(第一个参数wParam)代表不同的意义,编码如下:

字参数编码值 1 2 编码意义 获取新的整车数据 倒车 备注 数据到达后发送 车辆倒车后发送 9-3

京沈高速公路计重收费设备驱动动态库技术要求 V2.0

3 同步数据完成 同步数据完成后发送 3.4 接口函数定义

3.4.1初始化 接口声明

int JSWT_Init(int nComNo,HWND pWnd,UINT uMsgID,int nCom2No); 功能说明

完成动态链接库与计重设备的连接和内部参数设置,并初始化相关系统。 参数说明

参数 说明 计重设备与车道工控机连接的串口号,1表示串口1,2表示串口2,依次类推。如果该参数为0,表示本动态库不直接与计重设备通信,而通过通信接口与联有计重设备的工控机通信(通过参数nCom2No规定的串口)获取数据和消息。 接收动态链接库发送消息的消息句柄 发送消息的消息值,必须大于1024 备注 nComNo 输入 pWnd uMsgID nCom2No 输入 输入 本地动态库与其他车道工控机通信连接的串口号,1表示串口1,输入 2表示串口2,依次类推。 返回值

返回值 0 -1 -2 -3 -4 -5 计重设备正确初始化。 串口打开失败 计重设备通信失败 消息句柄无效 消息值无效 其他错误 说明 备注 3.4.2关闭 接口声明

void JSWT_Close(); 功能说明

完成动态链接库释放工作,包括关闭串口,释放资源。 参数说明

参数 无 说明 备注 返回值

9-4

京沈高速公路计重收费设备驱动动态库技术要求 V2.0

返回值 无 说明 备注 3.4.3清除所有数据 接口声明

int JSWT_ClearAllData(); 功能说明

清除动态链接库中缓存的所有车辆计重数据,包括轴重仪内存储的数据。 如果该动态库运行的工控机不直接与计重设备连接,则通过通信接口发送命令完成该功能。 参数说明

参数 无 说明 备注 返回值

返回值 >=0 -1 -2 -3 清除的车辆数 轴重仪数据清除失败 通信错误(与连接计重设备的工控机通信) 其他错误 说明 备注 3.4.4清除队列指定位置数据 接口声明

int JSWT_ClearOneData(int nPos); 功能说明

清除动态链接库中指定位置的车辆计重数据。

如果该动态库运行的工控机不直接与计重设备连接,则通过通信接口发送命令完成该功能。 参数说明

参数 nPos 说明 缓存的车辆序号,从1开始排序号。 备注 输入 返回值

返回值 >=0 -1 -2 -3 清除的车辆数 参数错误 通信错误(与连接计重设备的工控机通信) 其他错误 9-5

说明 备注

京沈高速公路计重收费设备驱动动态库技术要求 V2.0

3.4.5获取动态链接库缓存队列深度 接口声明

int JSWT_GetCount(); 功能说明

查询动态链接库中缓存的计重车辆数。

如果该动态库运行的工控机不直接与计重设备连接,则通过通信接口发送命令完成该功能。 参数说明

参数 无 说明 备注 返回值

返回值 >=0 -1 缓存的车辆数。 有错误 说明 备注 3.4.6获取指定位置数据 接口声明

int JSWT_GetData(int nClearFlag,

int nPos, int * pSpeed, int * pAcceleration, int * nAxisCount, int * pAxisType, int * pAxisWeight, int * nAxixGroupCount, int * pAxisGroupType, int * pAxisGroupWeight, char * szPassTime);

功能说明

获取动态链接库中指定位置车辆缓存的有效计重数据,有效数据的设置为接口定义3.4.10中的函数辅助完成,除队列中的第一条数据外,其他数据默认为无效(不可用)数据,使用接口定义3.4.10中的函数设置后或成为第一条数据

9-6

京沈高速公路计重收费设备驱动动态库技术要求 V2.0

后,方为有效(可用)数据允许输出。

如果该动态库运行的工控机不直接与计重设备连接,则通过通信接口发送命令完成该功能。 参数说明

参数 nClearFlag nPos pSpeed pAcceleration pAxisCount pAxisType pAxisWeight pAxisGroupCount pAxisGroupType szPassTime 缓存车辆位置,从1开始 车辆速度 车辆加速度 车辆总轴数 各轴类型数组 各轴质量数组 车辆总轴组数 各轴组类型数据数组 车辆通过时间字符串 说明 清除数据标志,0不清除,1清除 备注 输入 输入 输出 输出 输出 输出 输出 输出 输出 输出 输出 pAxisGroupWeight 各轴组质量数据数组 返回值

返回值 0 -1 -2 正确获取数据 无数据,数据无效或参数错误 其他错误 说明 备注 3.4.7同步计重设备与动态链接库数据 接口声明

int JSWT_Sync(); 功能说明

同步动态链接库与计重设备之间的数据,即将计重设备中没有传输的数据传输到动态链接库中。

如果该动态库运行的工控机不直接与计重设备连接,则通过通信接口发送命令完成该功能。 参数说明

参数 无 说明 备注 返回值

返回值 0 -1 同步完成。 串口打开失败 9-7

说明 备注 京沈高速公路计重收费设备驱动动态库技术要求 V2.0

-2 -3 计重设备通信失败 其他错误 3.4.8获取计重设备状态 接口声明

int JSWT_GetStatus(int * pStatus); 功能说明

获取计重设备状态。

如果该动态库运行的工控机不直接与计重设备连接,则通过通信接口发送命令完成该功能。 参数说明

参数 pStatus 设备状态编码变量指针 说明 备注 输出 返回值

返回值 0 -1 正确返回 其他错误 说明 备注 3.4.9拆分或合并计重动态库中车辆数据 接口声明

int JSWT_AdjCarData(int nPos,

int nCmd, int nAxisPos);

功能说明

通知动态库拆分或合并缓存的车辆数据。

如果该动态库运行的工控机不直接与计重设备连接,则通过通信接口发送命令完成该功能。 参数说明

参数 nPos nCmd nAxisPos 说明 动态链接库中缓存车辆位置,从1开始 命令类型,0 分离车辆 1 合并车辆 分离车辆时,需要分离出去的第一个轴组序号 合并车辆时,该参数不起作用 备注 输入 输入 输入 返回值

返回值 说明 9-8

备注 京沈高速公路计重收费设备驱动动态库技术要求 V2.0

0 -1 正确返回 其他错误 3.4.10设置队列中下一车辆数据可操作 接口声明

int JSWT_SetDataValid(int nPos,int nCmd); 功能说明

设置指定位置的数据可用状态,并发送数据到达消息给主程序。

动态库收到车辆数据后,缓存的数据除第一条数据外,都为不可用数据,即使用接口定义3.4.6的函数无法取出数据,当调用该函数后,指定位置的数据和比该位置靠前的数据都可用,即可用函数取出。该标志不影响删除数据函数(即接口定义3.4.3和3.4.4的函数)的执行。

特别说明:每条缓存数据的标志随数据移动,当该数据成为队列中的首条数据时,自动设置为有效数据。

如果该动态库运行的工控机不直接与计重设备连接,则通过通信接口发送命令完成该功能。 参数说明

参数 nPos nCmd 说明 动态链接库中缓存车辆位置,从1开始 命令类型,1 输入序号及之前的数据设置为有效,可以给出 0 输入序号之后(不含该序号数据)的数据设置为无效。 备注 输入 输入 返回值

返回值 0 -1

正确返回 其他错误 说明 备注 9-9

本文来源:https://www.bwwdw.com/article/wij2.html

Top