123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- 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注册,3预约
- /// </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>
- /// X坐标
- /// </summary>
- public short coordX;//PLC
- /// <summary>
- /// Y坐标
- /// </summary>
- public short coordY;//PLC
- /// <summary>
- /// 地感信号
- /// </summary>
- public short groundStatus;
- /// <summary>
- /// 启动对应号牌机
- /// </summary>
- public short numMachineLaunch;
- public override string ToString()
- {
- return "[终端id(0):" + terminalID + ",终端状态(2):" + terminalStatus + ",按钮状态(4):" + btnStatus + ",终端指令(6):" + cmd + ",用户id(8):" + licenseCodeA + ","
- + licenseCodeB + "," + licenseCodeC + "," + licenseCodeD + ",凭证号(24):" + receiptNum + ",支付状态(28):" + paymentStatus
- + ",号牌验证(30):" + licVerification + ",停车费用(32):" + parkingFee + ",用户类型(34):" + userType + ",X坐标(36):" + coordX + ",Y坐标(38):" + coordY + ",地感信号(40):" + groundStatus + ",启动号牌机:" + numMachineLaunch + "]";
- }
- 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(0):" + terminalID + ",号牌(2):" + numMachineLaunch + ",摆扫(4):" + sweepLaserLaunch + ",轮距(6):" + wheelbaseLaserLaunch + ",急停(8):" + stop
- + ",就绪(10):" + ready + ",停车启动(12):" + parkingRunning + ",取车启动(14):" + fetchingRunning + ",流程完成(16):" + processCompleted + ",流程中止(18):" +
- processStopped + ",摆扫状态(20):" + sweepLaserStatus + ",轮距状态(22):" + wheelbaseLaserStatus + ",号牌获取(52):" + licenseReceived
- + ",本地自动(54):" + localAutoMode + ",远程模式(56):" + remoteMode + ",本地手动(58):" + 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 short year;
- public byte month;
- public byte day;
- public byte hour;
- public byte minute;
- public byte second;
- public int manosecond;
- public override string ToString()
- {
- return "[车位编号(0):" + parkingSpace + ",长(2):" + length + ",宽(4):" + width + ",高(6):" + height + ",楼层(8):" + floorNo + ",X坐标(10):" + coordX + ",Y坐标(12):" + coordY + ",凭证号(14):" + receiptNum
- + ",车位状态(16):" + spaceStatus + ",前轮距(18):" + frontWheelbase + ",后轮距(20):" + 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;
- }
- }
- }
|