commit bb84e15ba82fd596b693898ac032c605d1294cf6 Author: DESKTOP-B25GA9E\W35 <1733709035@qq.com> Date: Fri Oct 13 14:56:20 2023 +0800 add doc diff --git a/README.md b/README.md new file mode 100644 index 0000000..34c2fbb --- /dev/null +++ b/README.md @@ -0,0 +1,170 @@ +# 警用装备-仓储柜控制系统 + +--- + +## 1.配置文件说明 + +(SaveData/DefaultConfig.json) + +打开Json根据如下说明进行编辑即可,通道门与仓库端软件也有对应的图形化操作。 + +--- + +### 通道门配置说明 + +`DataOutputDoor` + +| 数据名称 | 数据说明 | 数据参考 | +| ----------- | ------------- | --------------- | +| OutputIP | 通道门预留继电器地址 | "192.168.1.201" | +| OutputRoute | 通道门预留继电器线路 | 7 | +| InputIP | 入口门门磁继电器地址 | "192.168.1.201" | +| InputRoute | 入口门门磁继电器线路 | 6 | +| AlarmIP | 报警器继电器地址 | "192.168.1.201" | +| AlarmRoute | 报警器继电器线路 | 5 | +| RfidIP | 通道门Rfid扫描设备地址 | "192.168.1.201" | + +### 接口地址配置说明 + +`DataHttpAddress` + +| 数据名称 | 数据说明 | 数据参考 | +| ------------------------ | ----------- | --------------------------------- | +| RequestAddressIn | 存入装备请求地址 | "http://192.168.1.42:5050/api" | +| RequestAddressOut | 取出装备请求地址 | "http://192.168.1.42:5050/api" | +| RequestAddressOutputDoor | 通道门扫描装备请求地址 | "http://192.168.1.42:5050/api" | +| ServerAddress | 本地http服务器地址 | "http://192.168.1.42:6555/index/" | + +注:192.168.1.42为本机地址,6555为端口号,请求地址请换成后端接收对应请求的http接口地址。 + +### 串口配置说明 + +`DataSerialPort` + +| 数据名称 | 数据说明 | 数据参考 | +| ---------- | -------------------- | ------ | +| SerialPort | 串口编号(设备插入PC后,对应的串口号) | COM5 | +| BaudRate | 波特率(如果没有设备更换,此处无需修改) | 115200 | + +### 仓库配置说明 + +`DataAllStorage` + +| 数据名称 | 数据说明 | 数据参考 | +| --------------- | -------------- | --------------------------- | +| DataStorageList | 装备柜列表 | Dictionary("装备柜编号",装备柜数据实体) | +| "1" | 1号装备柜 | 根据开头的编号决定 | +| 装备柜数据实体 | ----- | ---- | +| ID | 装备柜编号 | 同编号数据头 | +| RFIDTcpIP | 装备柜Rfid扫描器地址 | "192.168.1.116" | +| AntennaRoute | 装备柜Rfid扫描器天线编号 | (1-4)之间的任意数字,其他数字默认开启全部天线。 | +| PowerTcpIP | 装备柜柜锁继电器地址 | "192.168.1.201" | +| PowerRoute | 装备柜柜锁继电器线路 | (0-7)之间的任意数字 | + +## 2.http接口说明 + +地址可通过配置文件进行修改,建议修改格式如下 + +http://[本机地址]+:+[端口号]/index + +--- + +### 开柜 + +请求格式:Application-Json + +请求数据 + +| 数据名称 | 数据说明 | 示例 | +| ------- | ------------------ | ----------------- | +| Storage | 柜门数组,仅存在编号的装备柜可以开柜 | {"Storage":["1"]} | + +### 报警 + +请求格式:Application-Json + +请求数据 + +| 数据名称 | 数据说明 | 示例 | +| ---- | ---- | ----------- | +| Time | 报警时间 | {"Time":10} | + +## 3.控制协议 + +硬件设备控制仅控制Modbus8路继电器、Rfid串口读写设备、Rfid-TCP-四路天线读写设备。 + +--- + +### 3.1继电器控制协议(Modbus-TCP) + +##### Modbus报文格式说明 + +--- + +注:此处仅为拓展说明,如需了解具体协议内容可跳转至 `控制开关` 部分。 + + + +报文格式由报文头,协议体组成,使用hex格式的byte数组进行通讯。 + +【报文头6位】+【协议体n位】 + + + +1.【报文头】 + +报文头由报文ID(4位)+协议长度(2位)组成,报文ID可以用于检查设备是否接收到该数据,协议长度声明本次要发送的长度(长度范围:0-65535) + +| 报文定义 | 占位长度 | 示例 | +| ---- | ---- | ------------------------------- | +| 报文ID | 4 | 【0x00,0x00,0x00,0x00】 | +| 协议长度 | 2 | 【0x00,0x06】 | +| 全部报文 | 6 | 【0x00,0x00,0x00,0x00,0x00,0x06】 | + +2.【协议体】 + +协议体由主机名称(1位),功能码(1位),协议地址(2n位),协议数据(2n位)组成。 + +| 报文定义 | 占位长度 | 示例 | +| ---- | ---- | ----------- | +| 主机名称 | 1 | 【0x01】 | +| 功能码 | 1 | 【0x06】 | +| 协议地址 | 2n | 【0x00,0x01】 | +| 协议数据 | 2n | 【0x00,0x01】 | + +3.【功能码】简易说明表 + +| 功能 | 操作类型 | 示例 | 操作数量 | +| -------- | ---- | ------ | ----- | +| 读线圈寄存器 | 位操作 | 【0x01】 | 单个或多个 | +| 读离散输入寄存器 | 位操作 | 【0x02】 | 单个或多个 | +| 读保持寄存器 | 字操作 | 【0x03】 | 单个或多个 | +| 读输入寄存器 | 字操作 | 【0x04】 | 单个或多个 | +| 写单个线圈寄存器 | 位操作 | 【0x05】 | 单个 | +| 写单个保持寄存器 | 字操作 | 【0x06】 | 单个 | +| 写多个线圈寄存器 | 位操作 | 【0x0F】 | 多个 | +| 写多个保持寄存器 | 字操作 | 【0x10】 | 多个 | + +##### 控制继电器开关 + +| 协议名称 | 示例 | +| -------- | ----------------------------------------------------------------- | +| 打开1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x01`】 | +| 关闭1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x00`】 | +| 操作其他路继电器 | 改变发送地址与值(0=关,1=开) | +| 打开8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x01`】 | +| 关闭8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x00`】 | + +##### 查询继电器开关状态 + +| 协议名称 | 示例 | +| ------------- | ----------------------------------------------------------------- | +| 读取1-8路继电器开关状态 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x03 0x00 `0x00` 0x00 `0x08`】 | + +### 3.2桌面Rfid读写器控制协议(Rfid-SerialPort) + +[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf) + +### 3.3装备柜Rfid扫描控制协议(Rfid-TCP) + +[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf) \ No newline at end of file