コード例 #1
0
 public EquipmentInfo()
 {
     制冷压缩机      = new EquipmentParameter();
     照明设备       = new EquipmentParameter();
     除雾设备       = new EquipmentParameter();
     广告灯        = new EquipmentParameter();
     工控机显示器机箱风扇 = new EquipmentParameter();
     预留设备1      = new EquipmentParameter();
     预留设备2      = new EquipmentParameter();
 }
コード例 #2
0
ファイル: EquipmentInfo.cs プロジェクト: 0611163/Machine
 public EquipmentInfo()
 {
     制冷压缩机 = new EquipmentParameter();
     照明设备 = new EquipmentParameter();
     除雾设备 = new EquipmentParameter();
     广告灯 = new EquipmentParameter();
     工控机显示器机箱风扇 = new EquipmentParameter();
     预留设备1 = new EquipmentParameter();
     预留设备2 = new EquipmentParameter();
 }
コード例 #3
0
ファイル: MachineJM.cs プロジェクト: 0611163/Machine
        /// <summary>
        /// 查询制冷压缩机/照明/除雾/广告灯/工控机等设备控制策略参数
        /// </summary>
        /// <param name="boxNo">机柜编号</param>
        /// <param name="equipmentType">设备类型(0:制冷压缩机, 2:照明设备, 3:除雾设备, 4:广告灯, 5:工控机/显示器/机箱风扇, 6:预留设备1, 7:预留设备2)</param>
        /// <returns>策略参数集合</returns>
        public EquipmentParameter QueryEquipment(int boxNo, int equipmentType)
        {
            string msg = null;

            EquipmentParameter equipmentParameter = new EquipmentParameter();
            List<byte> sendData = new List<byte>() { 0x01, 0x03, 0x15, (byte)boxNo, (byte)equipmentType, 0x00 };
            CommonUtil.CalCheckCode(sendData);
            byte[] recData = ReadPort(sendData.ToArray());

            if (recData.Length >= 4
                && recData[0] == 0x01
                && recData[1] == 0x0C
                && recData[2] == 0x15
                && CommonUtil.ValidCheckCode(recData))
            {
                switch (recData[3])
                {
                    case 0x00:
                        #region 目标温度值
                        equipmentParameter.目标温度值 = (recData[4] >= 128 ? -recData[4] % 128 : recData[4]).ToString() + "℃";
                        #endregion

                        #region 控制模式
                        switch (recData[5])
                        {
                            case 0x00:
                                equipmentParameter.控制模式 = "定时开启";
                                break;
                            case 0x01:
                                equipmentParameter.控制模式 = "全时段开启";
                                break;
                            case 0x02:
                                equipmentParameter.控制模式 = "全时段关闭";
                                break;
                            default:
                                throw new Exception("未知状态");
                        }
                        #endregion

                        #region 定时时间段1
                        if (recData[5] == 0) //定时开启
                        {
                            equipmentParameter.定时时间段1 = recData[6].ToString() + ":" + recData[7].ToString("00") + "-"
                                + recData[8].ToString() + ":" + recData[9].ToString("00");
                        }
                        #endregion

                        #region 定时时间段2
                        if (recData[5] == 0) //定时开启
                        {
                            equipmentParameter.定时时间段2 = recData[10].ToString() + ":" + recData[11].ToString("00") + "-"
                                + recData[12].ToString() + ":" + recData[13].ToString("00");
                        }
                        #endregion

                        equipmentParameter.IsOK = true;
                        break;
                    case 0x01:
                        equipmentParameter.IsOK = false;
                        equipmentParameter.ErrorMsg = "不存在该机柜编号";
                        break;
                    case 0x03:
                        equipmentParameter.IsOK = false;
                        equipmentParameter.ErrorMsg = "不存在控制回路";
                        break;
                    default:
                        equipmentParameter.IsOK = false;
                        equipmentParameter.ErrorMsg = "未知状态";
                        break;
                }
            }
            else if (IsRunning(recData, out msg) || !IsConnected(recData, out msg))
            {
                throw new Exception("货机正在执行操作,请稍后检测");
            }
            else
            {
                throw new Exception("货机返回的数据格式不正确");
            }

            return equipmentParameter;
        }