diff --git a/JY.Inspection/Frm/FrmTest.cs b/JY.Inspection/Frm/FrmTest.cs index 16a528e..bacdeed 100644 --- a/JY.Inspection/Frm/FrmTest.cs +++ b/JY.Inspection/Frm/FrmTest.cs @@ -1,11 +1,16 @@ -using JY.Inspection.Common; +using HslCommunication; +using HslCommunication.Core; +using HslCommunication.Profinet.Omron; +using JY.Inspection.Common; using JY.Model.Excel; using JY.Utility; using MetroFramework.Forms; +using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; +using System.Diagnostics; using System.Drawing; using System.Linq; using System.Text; @@ -77,7 +82,32 @@ namespace JY.Inspection.Frm private void btn_testAlarm_Click(object sender, EventArgs e) { + string address = "192.168.2.50"; + OmronFinsNet omronFinsNet = new OmronFinsNet(); + omronFinsNet.IpAddress = address.ToString(); + omronFinsNet.Port = 9600; + omronFinsNet.DA2 = 0; + omronFinsNet.ByteTransform.DataFormat = DataFormat.CDAB; + omronFinsNet.ByteTransform.IsStringReverseByteWord = true; + omronFinsNet.ConnectTimeOut = 2000; + omronFinsNet.ReceiveTimeOut = 2000; + + var result = omronFinsNet.ConnectServer(); + + if (result != null && result.IsSuccess) + { + Debug.WriteLine("FinsTcp连接成功"); + } + else + { + Debug.WriteLine("FinsTcp连接失败"); + } + + string addr = "D10010"; + ushort length = 150; + byte[] byteResult = omronFinsNet.Read(addr, length).Content; + OperateResult barray = omronFinsNet.ReadBool(addr, length); } } } diff --git a/JY.Inspection/HomeForm.cs b/JY.Inspection/HomeForm.cs index 6abb88f..bb9d9cc 100644 --- a/JY.Inspection/HomeForm.cs +++ b/JY.Inspection/HomeForm.cs @@ -150,7 +150,7 @@ namespace JY.Inspection public CancellationTokenSource mCOMState = new CancellationTokenSource(); private ManualResetEvent resetEventRecv = new ManualResetEvent(true); - private ByteTransformBase TransformBase = new ByteTransformBase(); + //private ByteTransformBase TransformBase = new ByteTransformBase(); /// /// 用于电芯出站时向FMS上报出站及生产数据 @@ -2024,8 +2024,8 @@ namespace JY.Inspection byte[] bytes = resByte.Content.ByteReverse(); //前面有\03\00 标识 占2个字节 int offset = 0; - listBar[0] = TransformBase.TransString(bytes, 0+ offset, 20*2, System.Text.Encoding.ASCII).Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim();//1# 条码 - listBar[1] = TransformBase.TransString(bytes, 40+ offset, 20*2, System.Text.Encoding.ASCII).Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim();//2# 条码 + listBar[0] = omronPLCCom.lstMcUI[0].omronCipNet.ByteTransform.TransString(bytes, 0+ offset, 20*2, System.Text.Encoding.ASCII).Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim();//1# 条码 + listBar[1] = omronPLCCom.lstMcUI[0].omronCipNet.ByteTransform.TransString(bytes, 40+ offset, 20*2, System.Text.Encoding.ASCII).Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim();//2# 条码 // listBar[2] = TransformBase.TransString(bytes, 80+ offset, 20 * 2, System.Text.Encoding.ASCII).Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim();//3# 条码 //新增 左右通道 var dtGroup = 0; @@ -2300,7 +2300,7 @@ namespace JY.Inspection for (int i = 0; i < 2; i++) { // 出站条码: 偏移0, 每通道40字节(20字符) - containers.ListBarOut[i] = TransformBase.TransString( + containers.ListBarOut[i] = omronPLCCom.lstMcUI[0].omronCipNet.ByteTransform.TransString( bytes, 0 + (i * 40 * 2), 20 * 2, System.Text.Encoding.ASCII) .Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); @@ -2310,25 +2310,25 @@ namespace JY.Inspection for (int j = 0; j < ConstValue.CCD_SDict.Count; j++) { int index = (i * 50 * 2) + j * 2; - lstBarResult[j] = (short)TransformBase.TransInt16(sByteArr, index); + lstBarResult[j] = (short)omronPLCCom.lstMcUI[0].omronCipNet.ByteTransform.TransInt16(sByteArr, index); } // 浮点型结果: 3500起/3550 for (int k = 0; k < ConstValue.CCD_FDict.Count; k++) { int index = (i * 50 * 2) + k * 2 * 2; - containers.ListCCDFResult[i][k] = TransformBase.TransSingle(fByteArr, index); + containers.ListCCDFResult[i][k] = omronPLCCom.lstMcUI[0].omronCipNet.ByteTransform.TransSingle(fByteArr, index); } // 整型结果: 3600起/3650 for (int k = 0; k < ConstValue.CCD_IDict.Count; k++) { int index = (i * 50 * 2) + k * 2; - containers.ListCCDIResult[i][k] = TransformBase.TransInt16(iByteArr, index); + containers.ListCCDIResult[i][k] = omronPLCCom.lstMcUI[0].omronCipNet.ByteTransform.TransInt16(iByteArr, index); } // 进站条码: 偏移280(140*2), 每通道40字节 - containers.ListBarIn[i] = TransformBase.TransString( + containers.ListBarIn[i] = omronPLCCom.lstMcUI[0].omronCipNet.ByteTransform.TransString( bytes, 140 * 2 + (i * 20 * 2), 20 * 2, System.Text.Encoding.ASCII) .Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim(); } @@ -3156,7 +3156,7 @@ namespace JY.Inspection } //AddLog(0, "读取报警耗时:" + sw.ElapsedMilliseconds + "ms"); - if (listAlamByte == null) { return; } + if (listAlamByte == null || listAlamByte.Count == 0) { return; } //string strFileName = Environment.CurrentDirectory + "\\欧姆龙报警寄存器对应表.csv"; //listAlarmForm = CSVHelper.ReadCSV(strFileName); @@ -3402,7 +3402,7 @@ namespace JY.Inspection try { sw.Restart(); - string code = Convert.ToString(TransformBase.TransInt16(resByte.Content, 0));//读取工位编码,W7010 + string code = Convert.ToString(omronPLCCom.lstMcUI[0].omronCipNet.ByteTransform.TransInt16(resByte.Content, 0));//读取工位编码,W7010 omronPLCCom.lstMcUI[0].WriteDReg(omronPLCCom.lstMcUI[0].lstTrgUI[3].TrgParams.ResultAddr, 1);//结果返回PLC,W7100 omronPLCCom.lstMcUI[0].ClearReg(omronPLCCom.lstMcUI[0].lstTrgUI[3].TrgParams.TriggerAddr, VarType.Short);//复位PLC信号,W7000 sw.Stop(); diff --git a/JY.Inspection/Lib/HslCommunication.dll b/JY.Inspection/Lib/HslCommunication.dll index 8a764c1..4764bad 100644 Binary files a/JY.Inspection/Lib/HslCommunication.dll and b/JY.Inspection/Lib/HslCommunication.dll differ diff --git a/PLCCommunication/OmronPLCUI.cs b/PLCCommunication/OmronPLCUI.cs index 7c11af5..64bb618 100644 --- a/PLCCommunication/OmronPLCUI.cs +++ b/PLCCommunication/OmronPLCUI.cs @@ -1,4 +1,5 @@ using HslCommunication; +using HslCommunication.Core; using HslCommunication.Profinet.Omron; using System; using System.Collections.Generic; @@ -345,6 +346,11 @@ namespace PLCCommunication omronFinsNet.IpAddress = address.ToString(); omronFinsNet.Port = 9600; + omronFinsNet.DA2 = 0; + omronFinsNet.ByteTransform.DataFormat = DataFormat.CDAB; + omronFinsNet.ByteTransform.IsStringReverseByteWord = true; + omronFinsNet.ConnectTimeOut = 2000; + omronFinsNet.ReceiveTimeOut = 2000; omronFinsNet.ConnectClose(); try @@ -358,6 +364,10 @@ namespace PLCCommunication BtnConnect.Enabled = false; str = StringResources.Language.ConnectedSuccess; AddLog(lstRecv, 0, StringResources.Language.ConnectedSuccess); + + omronFinsNet.ConnectTimeOut = 2000; + OperateResult connectFins = omronFinsNet.ConnectServer(); + return true; } else @@ -366,10 +376,6 @@ namespace PLCCommunication str = StringResources.Language.ConnectedFailed; AddLog(lstRecv,1, StringResources.Language.ConnectedFailed); } - - - omronFinsNet.ConnectTimeOut = 2000; - OperateResult connectFins = omronFinsNet.ConnectServer(); } catch (Exception ex) { @@ -966,6 +972,7 @@ namespace PLCCommunication if (IsConnected) { result = omronFinsNet.Read(iAddr, length).Content; + OperateResult barray = omronFinsNet.ReadBool(iAddr, length); AddLog(lstResWrite, 0, $"{iAddr} --> {result?.ToString()}"); } } diff --git a/欧姆龙报警寄存器对应表.csv b/欧姆龙报警寄存器对应表.csv index 9d0d8af..ccb00e1 100644 --- a/欧姆龙报警寄存器对应表.csv +++ b/欧姆龙报警寄存器对应表.csv @@ -1,164 +1,164 @@ 寄存器地址,报警信息,故障代码 -D10059.0,公共部分安全门1 打开 VAR://Alarm.SA[0],D01010201-WGJC -D10059.1,公共部分安全门2 打开VAR://Alarm.SA[1],D01010202-WGJC -D10059.2,公共部分安全门3 打开 VAR://Alarm.SA[2],D01010203-WGJC -D10059.3,公共部分安全门4 打开VAR://Alarm.SA[3],D01010204-WGJC -D10059.4,公共部分安全门5 打开VAR://Alarm.SA[4],D01010205-WGJC -D10059.5,公共部分安全门6 打开VAR://Alarm.SA[5],D01010206-WGJC -D10059.6,公共部分安全门7 打开VAR://Alarm.SA[6],D01010207-WGJC -D10059.7,公共部分安全门8 打开VAR://Alarm.SA[7],D01010208-WGJC -D10059.8,公共部分安全门9 打开VAR://Alarm.SA[8],D01010209-WGJC -D10059.9,公共部分安全门10 打开 VAR://Alarm.SA[9],D01010210-WGJC -D10059.10,公共部分安全门11 打开VAR://Alarm.SA[10],D01010211-WGJC -D10059.11,公共部分安全门12 打开 VAR://Alarm.SA[11],D01010212-WGJC -D10059.12,公共部分安全门13 打开 VAR://Alarm.SA[12],D01010213-WGJC -D10059.13,公共部分安全门14 打开 VAR://Alarm.SA[13],D01010214-WGJC -D10059.14,公共部分安全门15 打开 VAR://Alarm.SA[14],D01010215-WGJC -D10059.15,公共部分安全门16 打开VAR://Alarm.SA[15],D01010216-WGJC -D10059.16,公共部分安全门17 打开 VAR://Alarm.SA[16],D01010217-WGJC -D10059.17,公共部分安全门18 打开VAR://Alarm.SA[17],D01010218-WGJC -D10059.18,公共部分安全门19 打开VAR://Alarm.SA[18],D01010219-WGJC -D10059.19,公共部分安全门20 打开VAR://Alarm.SA[19],D01010220-WGJC -D10059.20,公共部分电柜门1 打开VAR://Alarm.SA[20],D01010301-WGJC -D10059.21,公共部分电柜门2 打开VAR://Alarm.SA[21],D01010302-WGJC -D10059.22,公共部分电柜门3 打开 VAR://Alarm.SA[22],D01010303-WGJC -D10059.23,公共部分电柜门4 打开VAR://Alarm.SA[23],D01010304-WGJC -D10059.24,公共部分电柜门5 打开VAR://Alarm.SA[24],D01010305-WGJC -D10059.25,公共部分电柜门6 打开VAR://Alarm.SA[25],D01010306-WGJC -D10059.26,公共部分电柜门7 打开VAR://Alarm.SA[26],D01010307-WGJC -D10059.27,公共部分电柜门8 打开VAR://Alarm.SA[27],D01010308-WGJC -D10059.28,公共部分电柜门9 打开VAR://Alarm.SA[28],D01010309-WGJC -D10059.29,公共部分电柜门10 打开VAR://Alarm.SA[29],D01010310-WGJC -D10059.30,公共部分电柜门11 打开 VAR://Alarm.SA[30],D01010311-WGJC -D10059.31,公共部分电柜门12 打开VAR://Alarm.SA[31],D01010312-WGJC -D10059.32,公共部分电柜门13 打开 VAR://Alarm.SA[32],D01010313-WGJC -D10059.33,公共部分电柜门14 打开VAR://Alarm.SA[33],D01010314-WGJC -D10059.34,公共部分电柜门15 打开VAR://Alarm.SA[34],D01010315-WGJC -D10059.35,预留,D10059.35 -D10059.36,预留,D10059.36 -D10059.37,预留,D10059.37 -D10059.38,预留,D10059.38 -D10059.39,预留,D10059.39 -D10059.40,公共部分面板1急停中VAR://Alarm.SA[40],D01010401-WGJC -D10059.41,公共部分面板2急停中VAR://Alarm.SA[41],D01010402-WGJC -D10059.42,公共部分急停1中VAR://Alarm.SA[42],D01010403-WGJC -D10059.43,公共部分急停2中VAR://Alarm.SA[43],D01010404-WGJC -D10059.44,公共部分急停3中VAR://Alarm.SA[44],D01010405-WGJC -D10059.45,公共部分急停4中VAR://Alarm.SA[45],D01010406-WGJC -D10059.46,公共部分急停5中VAR://Alarm.SA[46],D01010407-WGJC -D10059.47,公共部分急停6中VAR://Alarm.SA[47],D01010408-WGJC -D10059.48,公共部分急停7中VAR://Alarm.SA[48],D01010409-WGJC -D10059.49,公共部分急停8中VAR://Alarm.SA[49],D01010410-WGJC -D10059.50,预留,D10059.50 -D10059.51,预留,D10059.51 -D10059.52,预留,D10059.52 -D10059.53,预留,D10059.53 -D10059.54,预留,D10059.54 -D10059.55,预留,D10059.55 -D10059.56,预留,D10059.56 -D10059.57,预留,D10059.57 -D10059.58,预留,D10059.58 -D10059.59,预留,D10059.59 -D10059.60,预留,D10059.60 -D10059.61,预留,D10059.61 -D10059.62,预留,D10059.62 -D10059.63,预留,D10059.63 -D10059.64,预留,D10059.64 -D10059.65,预留,D10059.65 -D10059.66,预留,D10059.66 -D10059.67,预留,D10059.67 -D10059.68,预留,D10059.68 -D10059.69,预留,D10059.69 -D10059.70,预留,D10059.70 -D10059.71,预留,D10059.71 -D10059.72,预留,D10059.72 -D10059.73,预留,D10059.73 -D10059.74,预留,D10059.74 -D10059.75,预留,D10059.75 -D10059.76,预留,D10059.76 -D10059.77,预留,D10059.77 -D10059.78,预留,D10059.78 -D10059.79,预留,D10059.79 -D10059.80,预留,D10059.80 -D10059.81,预留,D10059.81 -D10059.82,预留,D10059.82 -D10059.83,预留,D10059.83 -D10059.84,预留,D10059.84 -D10059.85,预留,D10059.85 -D10059.86,预留,D10059.86 -D10059.87,预留,D10059.87 -D10059.88,预留,D10059.88 -D10059.89,预留,D10059.89 -D10059.90,预留,D10059.90 -D10059.91,预留,D10059.91 -D10059.92,预留,D10059.92 -D10059.93,预留,D10059.93 -D10059.94,预留,D10059.94 -D10059.95,预留,D10059.95 -D10059.96,预留,D10059.96 -D10059.97,预留,D10059.97 -D10059.98,预留,D10059.98 -D10059.99,预留,D10059.99 -D10059.100,预留,D10059.100 -D10059.101,预留,D10059.101 -D10059.102,预留,D10059.102 -D10059.103,预留,D10059.103 -D10059.104,预留,D10059.104 -D10059.105,预留,D10059.105 -D10059.106,预留,D10059.106 -D10059.107,预留,D10059.107 -D10059.108,预留,D10059.108 -D10059.109,预留,D10059.109 -D10059.110,预留,D10059.110 -D10059.111,预留,D10059.111 -D10059.112,预留,D10059.112 -D10059.113,预留,D10059.113 -D10059.114,预留,D10059.114 -D10059.115,预留,D10059.115 -D10059.116,预留,D10059.116 -D10059.117,预留,D10059.117 -D10059.118,预留,D10059.118 -D10059.119,预留,D10059.119 -D10059.120,预留,D10059.120 -D10059.121,预留,D10059.121 -D10059.122,预留,D10059.122 -D10059.123,预留,D10059.123 -D10059.124,预留,D10059.124 -D10059.125,预留,D10059.125 -D10059.126,预留,D10059.126 -D10059.127,预留,D10059.127 -D10059.128,预留,D10059.128 -D10059.129,预留,D10059.129 -D10059.130,预留,D10059.130 -D10059.131,预留,D10059.131 -D10059.132,预留,D10059.132 -D10059.133,预留,D10059.133 -D10059.134,预留,D10059.134 -D10059.135,预留,D10059.135 -D10059.136,预留,D10059.136 -D10059.137,预留,D10059.137 -D10059.138,预留,D10059.138 -D10059.139,预留,D10059.139 -D10059.140,预留,D10059.140 -D10059.141,预留,D10059.141 -D10059.142,预留,D10059.142 -D10059.143,预留,D10059.143 -D10059.144,预留,D10059.144 -D10059.145,预留,D10059.145 -D10059.146,预留,D10059.146 -D10059.147,预留,D10059.147 -D10059.148,预留,D10059.148 -D10059.149,预留,D10059.149 -D10059.150,预留,D10059.150 -D10059.151,预留,D10059.151 -D10059.152,预留,D10059.152 -D10059.153,预留,D10059.153 -D10059.154,预留,D10059.154 -D10059.155,预留,D10059.155 -D10059.156,预留,D10059.156 -D10059.157,预留,D10059.157 -D10059.158,预留,D10059.158 -D10059.159,预留,D10059.159 +D10024.0,公共部分安全门1 打开 VAR://Alarm.SA[0],D01010201-WGJC +D10024.1,公共部分安全门2 打开VAR://Alarm.SA[1],D01010202-WGJC +D10024.2,公共部分安全门3 打开 VAR://Alarm.SA[2],D01010203-WGJC +D10024.3,公共部分安全门4 打开VAR://Alarm.SA[3],D01010204-WGJC +D10024.4,公共部分安全门5 打开VAR://Alarm.SA[4],D01010205-WGJC +D10024.5,公共部分安全门6 打开VAR://Alarm.SA[5],D01010206-WGJC +D10024.6,公共部分安全门7 打开VAR://Alarm.SA[6],D01010207-WGJC +D10024.7,公共部分安全门8 打开VAR://Alarm.SA[7],D01010208-WGJC +D10024.8,公共部分安全门9 打开VAR://Alarm.SA[8],D01010209-WGJC +D10024.9,公共部分安全门10 打开 VAR://Alarm.SA[9],D01010210-WGJC +D10024.10,公共部分安全门11 打开VAR://Alarm.SA[10],D01010211-WGJC +D10024.11,公共部分安全门12 打开 VAR://Alarm.SA[11],D01010212-WGJC +D10024.12,公共部分安全门13 打开 VAR://Alarm.SA[12],D01010213-WGJC +D10024.13,公共部分安全门14 打开 VAR://Alarm.SA[13],D01010214-WGJC +D10024.14,公共部分安全门15 打开 VAR://Alarm.SA[14],D01010215-WGJC +D10024.15,公共部分安全门16 打开VAR://Alarm.SA[15],D01010216-WGJC +D10024.16,公共部分安全门17 打开 VAR://Alarm.SA[16],D01010217-WGJC +D10024.17,公共部分安全门18 打开VAR://Alarm.SA[17],D01010218-WGJC +D10024.18,公共部分安全门19 打开VAR://Alarm.SA[18],D01010219-WGJC +D10024.19,公共部分安全门20 打开VAR://Alarm.SA[19],D01010220-WGJC +D10024.20,公共部分电柜门1 打开VAR://Alarm.SA[20],D01010301-WGJC +D10024.21,公共部分电柜门2 打开VAR://Alarm.SA[21],D01010302-WGJC +D10024.22,公共部分电柜门3 打开 VAR://Alarm.SA[22],D01010303-WGJC +D10024.23,公共部分电柜门4 打开VAR://Alarm.SA[23],D01010304-WGJC +D10024.24,公共部分电柜门5 打开VAR://Alarm.SA[24],D01010305-WGJC +D10024.25,公共部分电柜门6 打开VAR://Alarm.SA[25],D01010306-WGJC +D10024.26,公共部分电柜门7 打开VAR://Alarm.SA[26],D01010307-WGJC +D10024.27,公共部分电柜门8 打开VAR://Alarm.SA[27],D01010308-WGJC +D10024.28,公共部分电柜门9 打开VAR://Alarm.SA[28],D01010309-WGJC +D10024.29,公共部分电柜门10 打开VAR://Alarm.SA[29],D01010310-WGJC +D10024.30,公共部分电柜门11 打开 VAR://Alarm.SA[30],D01010311-WGJC +D10024.31,公共部分电柜门12 打开VAR://Alarm.SA[31],D01010312-WGJC +D10024.32,公共部分电柜门13 打开 VAR://Alarm.SA[32],D01010313-WGJC +D10024.33,公共部分电柜门14 打开VAR://Alarm.SA[33],D01010314-WGJC +D10024.34,公共部分电柜门15 打开VAR://Alarm.SA[34],D01010315-WGJC +D10024.35,预留,D10024.35 +D10024.36,预留,D10024.36 +D10024.37,预留,D10024.37 +D10024.38,预留,D10024.38 +D10024.39,预留,D10024.39 +D10024.40,公共部分面板1急停中VAR://Alarm.SA[40],D01010401-WGJC +D10024.41,公共部分面板2急停中VAR://Alarm.SA[41],D01010402-WGJC +D10024.42,公共部分急停1中VAR://Alarm.SA[42],D01010403-WGJC +D10024.43,公共部分急停2中VAR://Alarm.SA[43],D01010404-WGJC +D10024.44,公共部分急停3中VAR://Alarm.SA[44],D01010405-WGJC +D10024.45,公共部分急停4中VAR://Alarm.SA[45],D01010406-WGJC +D10024.46,公共部分急停5中VAR://Alarm.SA[46],D01010407-WGJC +D10024.47,公共部分急停6中VAR://Alarm.SA[47],D01010408-WGJC +D10024.48,公共部分急停7中VAR://Alarm.SA[48],D01010409-WGJC +D10024.49,公共部分急停8中VAR://Alarm.SA[49],D01010410-WGJC +D10024.50,预留,D10024.50 +D10024.51,预留,D10024.51 +D10024.52,预留,D10024.52 +D10024.53,预留,D10024.53 +D10024.54,预留,D10024.54 +D10024.55,预留,D10024.55 +D10024.56,预留,D10024.56 +D10024.57,预留,D10024.57 +D10024.58,预留,D10024.58 +D10024.59,预留,D10024.59 +D10024.60,预留,D10024.60 +D10024.61,预留,D10024.61 +D10024.62,预留,D10024.62 +D10024.63,预留,D10024.63 +D10024.64,预留,D10024.64 +D10024.65,预留,D10024.65 +D10024.66,预留,D10024.66 +D10024.67,预留,D10024.67 +D10024.68,预留,D10024.68 +D10024.69,预留,D10024.69 +D10024.70,预留,D10024.70 +D10024.71,预留,D10024.71 +D10024.72,预留,D10024.72 +D10024.73,预留,D10024.73 +D10024.74,预留,D10024.74 +D10024.75,预留,D10024.75 +D10024.76,预留,D10024.76 +D10024.77,预留,D10024.77 +D10024.78,预留,D10024.78 +D10024.79,预留,D10024.79 +D10024.80,预留,D10024.80 +D10024.81,预留,D10024.81 +D10024.82,预留,D10024.82 +D10024.83,预留,D10024.83 +D10024.84,预留,D10024.84 +D10024.85,预留,D10024.85 +D10024.86,预留,D10024.86 +D10024.87,预留,D10024.87 +D10024.88,预留,D10024.88 +D10024.89,预留,D10024.89 +D10024.90,预留,D10024.90 +D10024.91,预留,D10024.91 +D10024.92,预留,D10024.92 +D10024.93,预留,D10024.93 +D10024.94,预留,D10024.94 +D10024.95,预留,D10024.95 +D10024.96,预留,D10024.96 +D10024.97,预留,D10024.97 +D10024.98,预留,D10024.98 +D10024.99,预留,D10024.99 +D10024.100,预留,D10024.100 +D10024.101,预留,D10024.101 +D10024.102,预留,D10024.102 +D10024.103,预留,D10024.103 +D10024.104,预留,D10024.104 +D10024.105,预留,D10024.105 +D10024.106,预留,D10024.106 +D10024.107,预留,D10024.107 +D10024.108,预留,D10024.108 +D10024.109,预留,D10024.109 +D10024.110,预留,D10024.110 +D10024.111,预留,D10024.111 +D10024.112,预留,D10024.112 +D10024.113,预留,D10024.113 +D10024.114,预留,D10024.114 +D10024.115,预留,D10024.115 +D10024.116,预留,D10024.116 +D10024.117,预留,D10024.117 +D10024.118,预留,D10024.118 +D10024.119,预留,D10024.119 +D10024.120,预留,D10024.120 +D10024.121,预留,D10024.121 +D10024.122,预留,D10024.122 +D10024.123,预留,D10024.123 +D10024.124,预留,D10024.124 +D10024.125,预留,D10024.125 +D10024.126,预留,D10024.126 +D10024.127,预留,D10024.127 +D10024.128,预留,D10024.128 +D10024.129,预留,D10024.129 +D10024.130,预留,D10024.130 +D10024.131,预留,D10024.131 +D10024.132,预留,D10024.132 +D10024.133,预留,D10024.133 +D10024.134,预留,D10024.134 +D10024.135,预留,D10024.135 +D10024.136,预留,D10024.136 +D10024.137,预留,D10024.137 +D10024.138,预留,D10024.138 +D10024.139,预留,D10024.139 +D10024.140,预留,D10024.140 +D10024.141,预留,D10024.141 +D10024.142,预留,D10024.142 +D10024.143,预留,D10024.143 +D10024.144,预留,D10024.144 +D10024.145,预留,D10024.145 +D10024.146,预留,D10024.146 +D10024.147,预留,D10024.147 +D10024.148,预留,D10024.148 +D10024.149,预留,D10024.149 +D10024.150,预留,D10024.150 +D10024.151,预留,D10024.151 +D10024.152,预留,D10024.152 +D10024.153,预留,D10024.153 +D10024.154,预留,D10024.154 +D10024.155,预留,D10024.155 +D10024.156,预留,D10024.156 +D10024.157,预留,D10024.157 +D10024.158,预留,D10024.158 +D10024.159,预留,D10024.159 D10010.0,公共部分上位机心跳报警 VAR://Alarm.AL[0],D11010501-WGJC D10010.1,公共部分设备进气气压不足异常 VAR://Alarm.AL[1],D01010101-WGJC D10010.2,公共部分EIP模块通讯异常 VAR://Alarm.AL[2],D11010701-WGJC