public void ExchangeingInfo_232Unit_PC() { checked { while (ThreadEnabled) { DateTime now = DateAndTime.Now; switch (ThreadControledBy) { case THREAD_CONTROLED_BY.MAINFORM: { ClassUnit unitg = Unitg510; unitg.ExecuteSVs(); Thread.Sleep(300); //unitg.RefreshFromGizwitsToPCButtonValues(); Thread.Sleep(46); //unitg.RefreshFromPCtoGizwitSensorValues(); Thread.Sleep(300); unitg = null; break; } Application.DoEvents(); break; } DateTime now2 = DateAndTime.Now; CommThread232Secs = (int)DateAndTime.DateDiff((DateInterval)9, now, now2, (FirstDayOfWeek)1, (FirstWeekOfYear)1); if (CommThread232Cnt >= 10) { CommThread232Cnt = 0; } else { CommThread232Cnt++; } } } }
public ClassHardware() { nSSs = 55; nSVs = 6; nPumps = 2; Unitg510 = new ClassUnit(); Unit1 = new ClassUnit(); Unit2 = new ClassUnit(); Unit3 = new ClassUnit(); checked { UnitSoil = new ClassUnit[nSVs - 1 + 1]; Unit10 = new ClassUnit(); Unit11 = new ClassUnit(); Unit12 = new ClassUnit(); Unit13 = new ClassUnit(); Unit14 = new ClassUnit(); Unit15 = new ClassUnit(); Unitair485_I1 = new ClassUnit(); Unitair485_I2 = new ClassUnit(); Unitair485_I3 = new ClassUnit(); Unitair485_I4 = new ClassUnit(); Unitair485_I5 = new ClassUnit(); Unitair485_I6 = new ClassUnit(); Unitair485_O1 = new ClassUnit(); MB232 = new ClassMB("COM10", 9600, 8, Parity.None, StopBits.One, 180, 180); MB485 = new ClassMB("COM2", 9600, 8, Parity.None, StopBits.One, 180, 180); AliasName = "硬件接口对象"; MB232.Name = "MB232"; MB485.Name = "MB485"; //MB232.Open(); MB485.Open(); ClassUnit unitg = Unitg510; unitg.AliasName = "远程通信和基础控制单元"; unitg.MB = MB232; unitg.MBAddress = 16; unitg.SV[0].AliasName = "园区1电磁阀"; unitg.SV[1].AliasName = "园区2电磁阀"; unitg.SV[2].AliasName = "水泵电磁阀"; unitg.SV[3].AliasName = "肥泵电磁阀"; unitg.MCU.AliasName = "远程通信和基础控制器"; unitg = null; ClassUnit unitair485_O = Unitair485_O1; unitair485_O.AliasName = "485型室外大气温湿度采集单元.1"; unitair485_O.MB = MB485; unitair485_O.MBAddress = 128; unitair485_O.Sensor[0].IDinDB = 3; unitair485_O.Sensor[0].GetSettingsFromDB(); unitair485_O.Sensor[1].IDinDB = 2; unitair485_O.Sensor[1].GetSettingsFromDB(); unitair485_O = null; ClassUnit unitair485_I = Unitair485_I1; unitair485_I.AliasName = "485型区内大气温湿度采集单元.1"; unitair485_I.MB = MB485; unitair485_I.MBAddress = 129; unitair485_I.Sensor[0].IDinDB = 1; unitair485_I.Sensor[0].GetSettingsFromDB(); unitair485_I.Sensor[1].IDinDB = 0; unitair485_I.Sensor[1].GetSettingsFromDB(); unitair485_I = null; ClassUnit unitair485_I2 = Unitair485_I2; unitair485_I2.AliasName = "485型区内大气温湿度采集单元.2"; unitair485_I2.MB = MB485; unitair485_I2.MBAddress = 130; unitair485_I2.Sensor[0].IDinDB = 61; unitair485_I2.Sensor[0].GetSettingsFromDB(); unitair485_I2.Sensor[1].IDinDB = 60; unitair485_I2.Sensor[1].GetSettingsFromDB(); unitair485_I2 = null; ClassUnit unitair485_I3 = Unitair485_I3; unitair485_I3.AliasName = "485型区内大气温湿度采集单元.3"; unitair485_I3.MB = MB485; unitair485_I3.MBAddress = 131; unitair485_I3.Sensor[0].IDinDB = 63; unitair485_I3.Sensor[0].GetSettingsFromDB(); unitair485_I3.Sensor[1].IDinDB = 62; unitair485_I3.Sensor[1].GetSettingsFromDB(); unitair485_I3 = null; ClassUnit unitair485_I4 = Unitair485_I4; unitair485_I4.AliasName = "485型区内大气温湿度采集单元.4"; unitair485_I4.MB = MB485; unitair485_I4.MBAddress = 132; unitair485_I4.Sensor[0].IDinDB = 65; unitair485_I4.Sensor[0].GetSettingsFromDB(); unitair485_I4.Sensor[1].IDinDB = 64; unitair485_I4.Sensor[1].GetSettingsFromDB(); unitair485_I4 = null; ClassUnit unitair485_I5 = Unitair485_I5; unitair485_I5.AliasName = "485型区内大气温湿度采集单元.5"; unitair485_I5.MB = MB485; unitair485_I5.MBAddress = 133; unitair485_I5.Sensor[0].IDinDB = 67; unitair485_I5.Sensor[0].GetSettingsFromDB(); unitair485_I5.Sensor[1].IDinDB = 66; unitair485_I5.Sensor[1].GetSettingsFromDB(); unitair485_I5 = null; ClassUnit unitair485_I6 = Unitair485_I6; unitair485_I6.AliasName = "485型区内大气温湿度采集单元.6"; unitair485_I6.MB = MB485; unitair485_I6.MBAddress = 134; unitair485_I6.Sensor[0].IDinDB = 69; unitair485_I6.Sensor[0].GetSettingsFromDB(); unitair485_I6.Sensor[1].IDinDB = 68; unitair485_I6.Sensor[1].GetSettingsFromDB(); unitair485_I6 = null; ClassUnit unit = Unit1; unit.AliasName = "泵控单元"; unit.MB = MB485; unit.MBAddress = 1; unit.Sensor[0].IDinDB = 6; unit.Sensor[0].GetSettingsFromDB(); unit.Sensor[2].IDinDB = 4; unit.Sensor[2].GetSettingsFromDB(); unit.Sensor[3].IDinDB = 5; unit.Sensor[3].GetSettingsFromDB(); unit.Pump[1].AliasName = "'肥泵"; unit = null; ClassUnit unit2 = Unit2; unit2.AliasName = "PH/EC采集单元/电磁阀控制单元1"; unit2.MB = MB485; unit2.MBAddress = 2; unit2.Sensor[0].IDinDB = 12; unit2.Sensor[0].GetSettingsFromDB(); unit2.Sensor[0].ValFormat = "0.0"; unit2.Sensor[1].IDinDB = 13; unit2.Sensor[1].GetSettingsFromDB(); unit2.Sensor[1].ValFormat = "0.00"; unit2.SV[0].AliasName = "园区3电磁阀"; unit2.SV[1].AliasName = "园区4电磁阀"; unit2.SV[2].AliasName = "园区5电磁阀"; unit2.SV[3].AliasName = "园区6电磁阀"; unit2 = null; ClassUnit unit3 = Unit3; unit3.AliasName = "区内CO2/光照度采集单元1/电磁阀控制单元2"; unit3.MB = MB485; unit3.MBAddress = 3; unit3.Sensor[2].IDinDB = 8; unit3.Sensor[2].GetSettingsFromDB(); unit3.Sensor[2].ValFormat = "0"; unit3.Sensor[3].IDinDB = 11; unit3.Sensor[3].GetSettingsFromDB(); unit3.Sensor[3].ValFormat = "0"; unit3.SV[0].AliasName = "声光报警电磁阀"; unit3 = null; int num = UnitSoil.Length - 1; int num2 = 0; while (true) { int num3 = num2; int num4 = num; if (num3 > num4) { break; } UnitSoil[num2] = new ClassUnit(); ClassUnit classUnit = UnitSoil[num2]; classUnit.AliasName = "园区" + Convert.ToString(1 + num2) + "土壤墒情采集单元"; //123 classUnit.MB = MB485; classUnit.MBAddress = (byte)(4 + num2); classUnit.Sensor[0].IDinDB = (short)(16 + 4 * num2); classUnit.Sensor[0].GetSettingsFromDB(); classUnit.Sensor[1].IDinDB = (short)(17 + 4 * num2); classUnit.Sensor[1].GetSettingsFromDB(); classUnit.Sensor[3].IDinDB = (short)(19 + 4 * num2); classUnit.Sensor[3].ValFormat = "0"; classUnit.Sensor[3].GetSettingsFromDB(); classUnit = null; num2++; } ClassUnit unit4 = Unit10; unit4.AliasName = "区内CO2/光照度采集单元2"; unit4.MB = MB485; unit4.MBAddress = 10; unit4.Sensor[2].IDinDB = 9; unit4.Sensor[2].GetSettingsFromDB(); unit4.Sensor[2].ValFormat = "0"; unit4.Sensor[3].IDinDB = 40; unit4.Sensor[3].GetSettingsFromDB(); unit4.Sensor[3].ValFormat = "0"; unit4.SV[0].AliasName = "声光报警电磁阀"; unit4 = null; ClassUnit unit5 = Unit11; unit5.AliasName = "区内CO2/光照度采集单元3"; unit5.MB = MB485; unit5.MBAddress = 11; unit5.Sensor[2].IDinDB = 41; unit5.Sensor[2].GetSettingsFromDB(); unit5.Sensor[2].ValFormat = "0"; unit5.Sensor[3].IDinDB = 42; unit5.Sensor[3].GetSettingsFromDB(); unit5.Sensor[3].ValFormat = "0"; unit5.SV[0].AliasName = "声光报警电磁阀"; unit5 = null; ClassUnit unit6 = Unit12; unit6.AliasName = "区内CO2/光照度采集单元4"; unit6.MB = MB485; unit6.MBAddress = 12; unit6.Sensor[2].IDinDB = 43; unit6.Sensor[2].GetSettingsFromDB(); unit6.Sensor[2].ValFormat = "0"; unit6.Sensor[3].IDinDB = 44; unit6.Sensor[3].GetSettingsFromDB(); unit6.Sensor[3].ValFormat = "0"; unit6.SV[0].AliasName = "声光报警电磁阀"; unit6 = null; ClassUnit unit7 = Unit13; unit7.AliasName = "区内CO2/光照度采集单元5"; unit7.MB = MB485; unit7.MBAddress = 13; unit7.Sensor[2].IDinDB = 45; unit7.Sensor[2].GetSettingsFromDB(); unit7.Sensor[2].ValFormat = "0"; unit7.Sensor[3].IDinDB = 46; unit7.Sensor[3].GetSettingsFromDB(); unit7.Sensor[3].ValFormat = "0"; unit7.SV[0].AliasName = "声光报警电磁阀"; unit7 = null; ClassUnit unit8 = Unit14; unit8.AliasName = "区内CO2/光照度采集单元6/电磁阀控制单元3"; unit8.MB = MB485; unit8.MBAddress = 14; unit8.Sensor[2].IDinDB = 9; unit8.Sensor[2].GetSettingsFromDB(); unit8.Sensor[2].ValFormat = "0"; unit8.Sensor[3].IDinDB = 48; unit8.Sensor[3].GetSettingsFromDB(); unit8.Sensor[3].ValFormat = "0"; unit8.SV[0].AliasName = "外遮光帘电磁阀"; unit8.SV[1].AliasName = "内遮光帘电磁阀"; unit8.SV[2].AliasName = "保温被电磁阀"; unit8.SV[3].AliasName = "补光灯电磁阀"; unit8.SV[4].AliasName = "水墙电磁阀"; unit8.SV[5].AliasName = "加热器电磁阀"; unit8.SV[6].AliasName = "细水雾电磁阀"; unit8.SV[7].AliasName = "CO2发生器电磁阀"; unit8 = null; ClassUnit unit9 = Unit15; unit9.AliasName = "电磁阀控制单元4"; unit9.MB = MB485; unit9.MBAddress = 15; unit9.Sensor[3].IDinDB = 59; unit9.Sensor[3].GetSettingsFromDB(); unit9.Sensor[3].ValFormat = "0"; unit9.SV[0].AliasName = "环流风机1#"; unit9.SV[1].AliasName = "环流风机2#"; unit9.SV[4].AliasName = "放风机1#"; unit9.SV[5].AliasName = "放风机2#"; unit9.SV[6].AliasName = "放风机3#"; unit9 = null; mb232thread = new Thread(ExchangeingInfo_232Unit_PC); mb485thread = new Thread(ExchangeingInfo_485Units_PC); } }