⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can总线停车场协议.txt

📁 park 通讯工具
💻 TXT
📖 第 1 页 / 共 2 页
字号:
 新一代CAN(Controller Area Network)现场控制总线停车场管理系统PC通讯协议

  通讯格式        :RS232:9600,N,8,1
1 发送指令结构    :Sys1+Sys2+Sys3+接收地址+指令对象+指令+参数长度+参数+CRC 
2 接收指令结构    :Sys1+Sys2+Sys3+发送地址+指令来源+指令+参数长度+参数+CRC 

  说明
1 通讯开始同步符  :Sys1+Sys2+Sys3=0xFE+0xFD+0xFE;
2 通讯结束校验字节:CRC=所有字节异或(但不含同步符Sys1,Sys2,Sys3)
3 接收地址        :0x00-0x01为停车场管理控制器地址(仅脱机事件报告时使用0x01地址),双号为入,单号为出口通道控制器地址,
  广播地址        :0xF0为所有设备广播地址    ,0x3F为通道控制器广播地址
4 发送地址        :0x00-0x01为停车场管理控制器地址(仅脱机事件报告时使用0x01地址),双号为入,单号为出口通道控制器地址
5 指令对象        :0x00接收设备本身;              
6 指令来源        :0x00发送设备本身;其他为控制器外接模块地址,仅停车场管理控制器外挂读头需识别以便判断台式读写器.              

//电脑发送的指令
#define COMT_OnLineStatus          0x01                          //上线报告,参数为0掉电离线/1上电上线/2手动复位/3看门狗复位/4软件复位/5在线应答
#define COMR_SoftReset             0x02                          //工作方式+1字节参数,参数=1=软件复位
#define COMR_SetDateTime           0x03                          //时钟设置参数顺序为second,minute,hour,day,month,year,week,DispMode 3/4/5             
#define COMR_Beep                  0x07                          //蜂鸣器响+1字节参数,参数为响声次数

#define COMT_StatusReport          0x0E                          //状态报告
#define CAN2_ShortToGND            0x15                          //故障1:总线对地持续短路或端口故障
#define CAN2_ShortTo12V            0x16                          //故障2:总线对对12V电源持续短路或端口故障

#define CAN_ShortToGND             0x05                          //故障1:总线对地持续短路或端口故障
#define CAN_ShortTo12V             0x06                          //故障2:总线对对12V电源持续短路或端口故障

//以上为可广播的指令
#define SMMR_LinkMode              0x20                          //工作模式,参数为
	#define MOD_Auto                   0                             //自动模式,适用于无人值守图像要求不严的车场:数据脱机运行,等待图像捕捉或对比确认首次超过设定时间秒数,发送问询指令,得不到应答,自动放弃图像捕捉与对比确认,其后每次照常发送卡号同时发送问询指令,得不到应答,保持脱机,得到应答
	#define MOD_Register               4                             //发行器模式,管理机进入注册登记模式,不做出口机使用,作发行器,;此模式可用总监卡或管理卡进入,可脱机发行
					   3              		//联机模式
#define SMMR_LoadCardsPrefix       0x21                          //装载及追加卡片档案通知,后随2字节起始序号(0-65534),再加2字节卡片档案总数(1-65535),建议将所购卡片一次排序全部装入,不用的卡片先加锁.
#define SMMR_LoadOneCard           0x22                          //装载卡片档案一条,后随2字节序号(0-65534),装载卡片期间系统停止工作.
//struct{unsigned long CardID;char RegisterStatus;char Type;struct STDate St_EndDate;char EnEntrance[4];unsigned int Num;char Chr[10];signed long Balance;char ParkingStatus;struct STDateTime EnterDateTime;char Position[4];}   //36字节,EndDate+Remain为月卡储值卡双重功能;Position[6]可变通为图像文件名
//struct共40字节 {卡内码[4]+注册状态[1](BIT7/6/5=注销/挂失/锁定标志)+卡类[1]+止效日期日月年[3]+进场权限[4]+卡编号[2]+车牌问候等字符[10]+储值余额[4]+停车状态[1](BIT7=进场标志)+动作日期时间秒分时日月年[6]+车位信息[4];};
#define SMMR_ModifyOneCard         0x23                          //修改卡片档案一条,后随2字节起始序号(0-65534),用于卡片挂失/加锁/延期等,修改卡片期间系统继续工作.

#define SMMR_FetchCardsRequest     0x25                          //提取卡片档案申请
#define SMMR_ReceiveCardsResult    0x26                          //PC收卡片档案应答
#define SMMR_LoadTimeTable         0x27                          //下载收费时刻表
//时段数量[1]+车型数量[1]+选项[4](室内、峰谷、节假日、备用)+分钟时刻表[2]*63(多达63个时段)...
#define SMMR_LoadTollTable         0x28                          //下载收费金额表
//车型序号[1](0-15)+对应时刻表的时段收费[2](多达63个时段)...+室内对应时刻表的时段收费[2](多达63个时段)...
#define SMMR_LoadTotalPlace        0x29                          //下载各车场总车位数表
//车场数量[1](1-31)+1号车场总车位数[2]+2号车场总车位数[2]+...
#define SMMR_LoadRemainPlace       0x2A                          //下载各车场剩余车位数表
//1号车场剩余车位数[2]+2号车场剩余车位数[2]+...
                            
#define SMMR_EventWait             0x30                          //现场事件收悉等待(PC机必须在3秒内响应,据此判断是否联机)
     #define PCWAT_Capture              0                        //+口地址+等待入口图像捕捉  //有效分型便于在岗亭内的显示屏上提示
                                        1                        //图像对比中
     #define PCWAT_CompareToll          2                        //收费进行中
#define SMMR_EventValid            0x31                          //现场事件确认有效(人工抬闸事件记录有效,入口图像捕捉,出口对比与收费有效)
     #define PCVID_Capture              0                        //+口地址+操作员编号+入口图像捕捉有效  //有效分型便于在岗亭内的显示屏上提示
     #define PCVID_CompareToll          1                        //出口图像对比及收费完成有效
     #define PCVID_ChangeOperater       2                        //操作员换班完成有效
     #define PCVID_EventRecord          3                        //事件记录完成有效
#define SMMR_EventInvalid          0x32                          //现场事件确认无效(出口图像对比不符无效)
     #define PCINV_Compare              0                        //+口地址+操作员编号+出口图像对比无效   未获准通行

#define SMMR_FetchEventRequest     0x33                          //+起始序号[4]+提取数量[4]+提取事件记录申请
#define SMMR_ReceiveEventResult    0x34                          //接收事件记录应答


#define SMMR_EventPointerRequest   0x35                          //查询事件记录指针(下一条记录的序号)
#define SMMR_SetEventPointer       0x36                          //+设置指针[4],设置事件记录指针(下一条记录的序号),事件记录指针改变后,再提取重设指针之前的历史事件,提取结果将会有误!!


//40-5F
#define SMMT_ReceiveCardsResult    0x40                          //接收卡片档案应答,+0=ok/1=Err,+2字节装载卡片档案序号(0-65535),未收到或收到出错应答分批重发。
#define SMMT_DownCardsPrefix       0x41                          //卸载一批卡片档案信息,后随2字节卸载卡片总数,//1字节批号(256条/1整批)
#define SMMT_DownOneCard           0x42                          //卸载卡片档案一条,期间系统继续工作.但可按256字节分批卸载
#define SMMT_AppendCard            0x43                          //追加卡片档案一条,自动附随在下载追加卡片事件记录之后,但档案值已为最终值,并非当时值.
#define SMMT_ModifyCard            0x44                          //修改卡片档案一条,自动附随在下载挂失/加锁/延期等修改卡片档案事件记录之后,但档案值已为最终值.
#define SMMT_ReceTimeTableResult   0x45                          //接收收费时刻表应答
#define SMMT_ReceTollTableResult   0x46                          //接收收费金额表应答
#define SMMT_DownTimeTable         0x47                          //卸载收费时刻表
#define SMMT_DownTollTable         0x48                          //卸载收费金额表

#define SMMT_ReportEvent           0x50                          //报告正在发生的事件一条
#define SMMT_DownOneEvent          0x51                          //报告已经发生的事件记录一条.
#define SMMT_DownPastEventPrefix   0x52                          //+起始序号[4]+提取数量[4] 卸载事件记录通知
#define SMMT_DownOnePastEvent      0x53                          //卸载历史事件记录一条,期间系统继续工作.
//struct{unsigned long EventIndex;char Tran;char Source;char EventStatus;char ParkingStatus;char ActionParameter;unsigned long CardID;struct STDateTime St_ActDateTime;char Operator;unsigned int Charge;signed long Remain;}//20bytes*61=1220bytes
//struct共26字节{事件序列号[4]+口地址[1]+发生对象[1]+事件状态[1]+停车状态[1]+事件参数[1]+发生卡内码[4]+发生日期时间秒分时日月年[6]+操作员编号[1]+交易金额[2]+储值卡余额[4]}
                              //EventStatus定义
                              #define   BIT_EventWait       BIT7 //0/1=空闲状态/等待
                              #define   BIT_Offline         BIT6 //0/1=联机/脱机,各路分别标示是否脱机BIT7= BIT6=0/1=联机等待/PC确认标志
                              #define   BIT_PCReply         BIT5 //0/1=标示PC无/有应答
                              #define   BIT_PCConfirm       BIT4 //0/1=PC应答确认的无效/有效标志
                                                                 //BIT0-3=ActionType16种操作类型
                                                                 //临时卡16种车型的0-15种收费操
                              #define   BIT_ManualConfirm   BIT3 //0/1=无需/必须读操作卡明确责任,操作员人工确认放行,,如临时卡收费收卡,过期欠费卡临时收费,重复入场再出场,重复出场等操作
                              #define   BIT_CardOperation   BIT2 //0/1=非类卡操作/类卡操作,也可通过有无卡ID号来判断
                              #define   BIT_Toll            BIT1 //0/1=非收费卡操作/收费卡操作
                              #define   BIT_Free            BIT0 //0/1=无/有出口免费操作,免费可作为一种车型(军警车等免费车)
                              //ParkingStatus定义同St_CardTable.ParkingStatus
                              //ParkingStatus定义
                              #define   BIT_In              BIT7 //0/1=已出场/入场       0/1=事件出场/入场
                              #define   BIT_RepeatIn        BIT6 //0/1=无/重复入场       1=入场或出场事件中标定入场时为重复入场
                              #define   BIT_RepeatOut       BIT5 //无用标志              1=出场事件中标定为重复出场
                              #define   BIT_AsTempCard      BIT4 //固定/月租/储值等过期欠费卡用作临时卡  1=入场或出场事件中标定为用作临时卡
                              #define   BIT_Indoor          BIT3 //停室内停车场          1=入场或出场事件中标定已停过室内停车场
                              #define   BIT_IndoorIn        BIT2 //室内0/1=已出场/入场   0/1=事件出场/入场
                              #define   BIT_PaidBill        BIT1 //中央收费已交费
                              #define   BIT_Consume         BIT0 //区内消费优惠
                              //ActionParameter定义
                              //卡操作收费时  (BIT0-3=0-0x0F=CardType=16种卡类;BIT7-4=16种车型收费)
                              //卡操作非收费时(BIT0-3=0-0x0F=CardType=16种卡类;BIT7-4=16种卡操作)
                              //非卡类操作时
                              #define   EVENT_BarrUp        0x00 //事件 人工抬闸 也要捕捉图像
                              #define   EVENT_BarrDown      0x01 //事件 人工落闸
                              #define   EVENT_BarrStop      0x02 //事件 人工停闸
                              #define   EVENT_DownEvent     0x03 //事件 卸载事件....

#define SMMT_ReportEventPointer    0x54                          //报告事件记录指针

#define PCMR_CardWait              0x60                          //卡号收妥等待指令+n字节参数+等待过长时间也要重发卡号
#define PCMR_CardWaitValid         0x61                          //卡等待有效放行指令  
#define PCMR_CardWaitInvalid       0x62                          //卡等待无效不放行指令  
#define PCMR_CardValid             0x63                          //卡有效入场指令
#define PCMR_ParkFull              0x69                          //满位+1字节参数0=未满/1=满位

struct STCardReply{char Voice;char DispMode;char Type;unsigned int Num;char data[20];};            //用于存放接收到的卡信息数据         //41字节

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -