123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace PLCS7
- {
- /// <summary>
- /// 终端数据块结构体
- /// </summary>
- public struct TerminalStru
- {
- /// <summary>
- /// 终端ID号
- /// </summary>
- public short terminalID;
- /// <summary>
- /// 终端状态,0暂停,1停车,2取车
- /// </summary>
- public short terminalStatus;//终端写入
- /// <summary>
- /// 按钮状态,0缺省,1非注册,2注册
- /// </summary>
- public short btnStatus;//终端写入
- /// <summary>
- /// 停取指令,0缺省,1停车,2取车
- /// </summary>
- public short cmd;//终端写入
- /// <summary>
- /// 注册用户UserID
- /// </summary>
- public int licenseCodeA;//终端写入
- /// <summary>
- /// 注册用户号牌地域标记
- /// </summary>
- public int licenseCodeB;//终端写入
- /// <summary>
- /// 注册用户号牌后半部分A
- /// </summary>
- public int licenseCodeC;//终端写入
- /// <summary>
- /// 注册用户号牌后半部分B
- /// </summary>
- public int licenseCodeD;//终端写入
- /// <summary>
- /// 凭证号
- /// </summary>
- public int receiptNum;//终端写入,24
- /// <summary>
- /// 支付状态,0-1失败-2成功-3管理员放行
- /// </summary>
- public short paymentStatus;//中控写入,28
- /// <summary>
- /// 1-成功,2-号牌比对不成功
- /// </summary>
- public short licVerification;//中控写入,30
- /// <summary>
- /// 停车费用,0-99999
- /// </summary>
- public short parkingFee;//中控写入
- /// <summary>
- /// 用户类型,0-1普通-2月卡-3季卡-4年卡VIP
- /// </summary>
- public short userType;//中控写入,34
- /// <summary>
- /// 地感信号
- /// </summary>
- public short groundStatus;
- public short coordX;//PLC
- public short coordY;//PLC
- public override string ToString()
- {
- return "[终端id:" + terminalID + ",终端状态:" + terminalStatus + ",按钮状态:" + btnStatus + ",终端指令:" + cmd + ",用户id:" + licenseCodeA + ","
- + licenseCodeB + "," + licenseCodeC + "," + licenseCodeD + ",凭证号:" + receiptNum + ",支付状态:" + paymentStatus
- + ",号牌验证:" + licVerification + ",停车费用:" + parkingFee + ",用户类型:" + userType + ",地感信号:" + groundStatus + "]";
- }
- public override bool Equals(object obj)
- {
- if (obj == null) return false;
- else if ((object)this == obj) return true;
- else if (obj.GetType().Equals(typeof(TerminalStru)))
- {
- TerminalStru ts = (TerminalStru)obj;
- if (ts.ToString().Equals(ToString())) return true;
- else return false;
- }
- else return false;
- }
- public override int GetHashCode()
- {
- return (ToString()).GetHashCode();
- }
- }
- /// <summary>
- /// 中控与PLC交互使用数据块的结构体
- /// </summary>
- public struct MainBlockStru
- {
- /// <summary>
- /// 终端ID号
- /// </summary>
- public short terminalID;
- /// <summary>
- /// 号牌机启动指令
- /// </summary>
- public short numMachineLaunch;
- /// <summary>
- /// 摆扫启动指令
- /// </summary>
- public short sweepLaserLaunch;
- /// <summary>
- /// 轮距启动指令
- /// </summary>
- public short wheelbaseLaserLaunch;
- /// <summary>
- /// 急停
- /// </summary>
- public short stop;
- /// <summary>
- /// 就绪
- /// </summary>
- public short ready;
- /// <summary>
- /// 停车运行
- /// </summary>
- public short parkingRunning;
- /// <summary>
- /// 取车运行
- /// </summary>
- public short fetchingRunning;
- /// <summary>
- /// 流程完成
- /// </summary>
- public short processCompleted;
- /// <summary>
- /// 流程中断
- /// </summary>
- public short processStopped;
- /// <summary>
- /// 摆扫激光状态
- /// </summary>
- public short sweepLaserStatus;
- /// <summary>
- /// 轮距雷达状态
- /// </summary>
- public short wheelbaseLaserStatus;
-
- public short groundAStatus;//24
- public short groundBStatus;
- public short groundCStatus;
- public short groundDStatus;
- public short groundEStatus;
- public short groundFStatus;
- public short arriveAAndOpen;
- public short arriveBAndOpen;
- public short arriveCAndOpen;
- public short arriveDAndOpen;
- public short arriveEAndOpen;
- public short arriveFAndOpen;
- //public short leaveAAndOpen;
- //public short leaveBAndOpen;
- //public short leaveCAndOpen;
- public short bookParkCmd;
- public short bookFetchCmd;
- /// <summary>
- /// 号牌机获取
- /// </summary>
- public short licenseReceived;//中控可写,52
- /// <summary>
- /// 本地自动模式
- /// </summary>
- public short localAutoMode;
- /// <summary>
- /// 云端模式
- /// </summary>
- public short remoteMode;
- /// <summary>
- /// 本地手动模式
- /// </summary>
- public short localManualMode;
- public override string ToString()
- {
- return "[id:" + terminalID + ",号牌:" + numMachineLaunch + ",摆扫:" + sweepLaserLaunch + ",轮距:" + wheelbaseLaserLaunch + ",急停:" + stop
- + ",就绪:" + ready + ",停车启动:" + parkingRunning + ",取车启动:" + fetchingRunning + ",流程完成:" + processCompleted + ",流程中止:" +
- processStopped + ",摆扫状态:" + sweepLaserStatus + ",轮距状态:"+wheelbaseLaserStatus+",号牌获取:" + licenseReceived
- + ",本地自动:" + localAutoMode + ",远程模式:" + remoteMode + ",本地手动:" + localManualMode + "," + groundAStatus
- + "," + groundBStatus + "," + groundCStatus + "," + arriveAAndOpen + "," + arriveBAndOpen + "," + arriveCAndOpen
- + "]";
- }
- public override int GetHashCode()
- {
- return (ToString()).GetHashCode();
- }
- public override bool Equals(object obj)
- {
- if (obj == null) return false;
- else if ((object)this == obj) return true;
- else if (obj.GetType().Equals(typeof(MainBlockStru)))
- {
- MainBlockStru ts = (MainBlockStru)obj;
- if (ts.ToString().Equals(ToString())) return true;
- else return false;
- }
- else return false;
- }
- }
- /// <summary>
- /// 车位单元结构体
- /// </summary>
- public struct ParkingSpaceStru
- {
- /// <summary>
- /// 车位编号
- /// </summary>
- public short parkingSpace;
- /// <summary>
- /// 长
- /// </summary>
- public short length;
- /// <summary>
- /// 宽
- /// </summary>
- public short width;
- /// <summary>
- /// 高
- /// </summary>
- public short height;
- /// <summary>
- /// 楼层编号
- /// </summary>
- public short floorNo;
- public short coordX;
- public short coordY;
- /// <summary>
- /// 凭证号
- /// </summary>
- public int receiptNum;
- /// <summary>
- /// 车位状态,0空位-1占用-2保留-3故障
- /// </summary>
- public short spaceStatus;
- /// <summary>
- /// 前轮距
- /// </summary>
- public short frontWheelbase;
- /// <summary>
- /// 后轮距
- /// </summary>
- public short rearWheelbase;
- public override string ToString()
- {
- return "[车位编号:" + parkingSpace + ",长:" + length + ",宽:" + width + ",高:" + height + ",楼层:" + floorNo + ",X坐标:" + coordX + ",Y坐标:" + coordY + ",凭证号:" + receiptNum
- + ",车位状态:" + spaceStatus + ",前轮距:" + frontWheelbase + ",后轮距:" + rearWheelbase + "]";
- }
- public override int GetHashCode()
- {
- return (ToString()).GetHashCode();
- }
- public override bool Equals(object obj)
- {
- if (obj == null) return false;
- else if ((object)this == obj) return true;
- else if (obj.GetType().Equals(typeof(ParkingSpaceStru)))
- {
- ParkingSpaceStru ts = (ParkingSpaceStru)obj;
- if (ts.ToString().Equals(ToString())) return true;
- else return false;
- }
- else return false;
- }
- }
- }
|