public virtual void decodeSetMessage(ModbusMessage s) { foreach (DictionaryEntry de in s.Data) { DataOperate.WriteAny((String)de.Key, Code, de.Value); } }
public virtual void decodeReportMessage(ModbusMessage s) { foreach (DictionaryEntry de in s.Data) { DataOperate.WriteAny((String)de.Key, Code, de.Value); } }
public override void ReceiveMsg(String s) { ModbusMessage message = ModbusMessageHelper.decodeModbusMessage(s); switch (message.MsgType) { case ModbusMessage.MessageType.RESPONSE: decodeResponseMessage(message); break; case ModbusMessage.MessageType.CMD: decodeCmdMessage(message); break; case ModbusMessage.MessageType.REPORT: decodeReportMessage(message); break; case ModbusMessage.MessageType.SET: decodeSetMessage(message); break; case ModbusMessage.MessageType.GET: break; } }
public void send_basic_info() { ModbusMessageDataCreator creator = new ModbusMessageDataCreator(); creator.addKeyPair("SetType", "BasicInfo"); creator.addKeyPair("DeviceType", EnumHelper.getDeviceTypeString(this.CurrentDeviceType)); /* * if (this.CurrentDeviceType == DeviceType.Dispen) * { * if (((autodispendevice)this).subtype == autodispendevice.autodispentype.peiyangmin) * creator.addkeypair("subtype", "peiyangmin"); * else * creator.addkeypair("subtype", "shenkongban"); * }*/ creator.addKeyPair("IP", this.IP); creator.addKeyPair("Name", this.Name); creator.addKeyPair("IdentifyID", this.IdentifyID); creator.addKeyPair("SerialID", this.SerialID); creator.addKeyPair("Code", this.Code); String msg = ModbusMessageHelper.createModbusMessage(ModbusMessage.messageTypeToByte(ModbusMessage.MessageType.SET), creator.getDataBytes()); ModbusMessage mod = ModbusMessageHelper.decodeModbusMessage(msg); this.SendMsg(msg); }
public override void decodeCmdMessage(ModbusMessage msg) { String cmd = (String)msg.Data["Cmd"]; if ("Start".Equals(cmd)) { //dispenTimer.Start(); this.MDF_Cmd = "Start"; } if ("Reset".Equals(cmd)) { MDF_WhichDish = 1; MDF_WhichStack = 1; this.MDF_Cmd = "Reset"; } if ("Stop".Equals(cmd)) { //dispenTimer.Stop(); this.MDF_Cmd = "Stop"; } if ("Auto".Equals(cmd)) { this.MDF_Cmd = "Auto"; } this.sendOKResponse(); }
public virtual void decodeResponseMessage(ModbusMessage s) { ModbusMessageDataCreator creator = new ModbusMessageDataCreator(); creator.addKeyPair("Result", "OK"); string msg = ModbusMessageHelper.createModbusMessage(ModbusMessage.messageTypeToByte(ModbusMessage.MessageType.RESPONSE), creator.getDataBytes()); this.SendMsg(msg); }
/*加入新的数据接口函数*/ public void SendModBusMsg(ModbusMessage.MessageType type, String key, Object value) { ModbusMessageDataCreator creator = new ModbusMessageDataCreator(); creator.addKeyPair(key, (String)value); string msg = ModbusMessageHelper.createModbusMessage(ModbusMessage.messageTypeToByte(type), creator.getDataBytes()); this.SendMsg(msg); }
public void SendModBusMsg(ModbusMessage.MessageType type, Hashtable htable) { ModbusMessageDataCreator creator = new ModbusMessageDataCreator(); foreach (DictionaryEntry de in htable) { creator.addKeyPair((string)de.Key, (string)de.Value); } string msg = ModbusMessageHelper.createModbusMessage(ModbusMessage.messageTypeToByte(type), creator.getDataBytes()); this.SendMsg(msg); }
public static ModbusMessage decodeModbusMessage(String msg) { ModbusMessage res = new ModbusMessage(); byte[] cmd = StringByteHelper.StringToBytes(msg); if (!check_modbus_message(cmd)) { return(null); } res.Dev = cmd[3]; res.MsgType = ModbusMessage.byteToMessageType(cmd[4]); int len = cmd[2] - 3; byte[] data = new byte[len]; for (int i = 0; i < len; i++) { data[i] = cmd[i + 5]; } String s = Encoding.Default.GetString(data); Hashtable map = new Hashtable(); String[] words = s.Split(';'); String[] parts; for (int i = 0; i < words.Length; i++) { if (words[i].Length == 0) { continue; } parts = words[i].Split('='); if (parts.Length != 2) { return(null); } map.Add(parts[0], parts[1]); } res.Data = map; return(res); }
public override void decodeCmdMessage(ModbusMessage msg) { String cmd = (String)msg.Data["Cmd"]; if ("Start".Equals(cmd)) { dispenTimer.Start(); } if ("Reset".Equals(cmd)) { MPF_Whichplate = 1; } if ("Stop".Equals(cmd)) { dispenTimer.Stop(); } if ("Auto".Equals(cmd)) { } this.sendOKResponse(); }
public void send_basic_info() { ModbusMessageDataCreator creator = new ModbusMessageDataCreator(); creator.addKeyPair("SetType", "BasicInfo"); creator.addKeyPair("DeviceType", EnumHelper.getDeviceTypeString(this.CurrentDeviceType)); //if (this.CurrentDeviceType == DeviceType.Dispen) //{ // if (((AutoDispenTwincatDevice)this).SubType == AutoDispenTwincatDevice.AutoDispenType.PeiYangMin) // creator.addKeyPair("SubType", "PeiYangMin"); // else // creator.addKeyPair("SubType", "ShenKongBan"); //} creator.addKeyPair("IP", this.IP); creator.addKeyPair("Name", this.Name); creator.addKeyPair("IdentifyID", this.IdentifyID); creator.addKeyPair("SerialID", this.SerialID); creator.addKeyPair("Code", this.Code); String msg = ModbusMessageHelper.createModbusMessage(ModbusMessage.messageTypeToByte(ModbusMessage.MessageType.SET), creator.getDataBytes()); adsClient.WriteAny(handleMap[cmdString], msg, new int[] { ConstSettings.StringLength }); }
private void decodeSetMessage(ModbusMessage msg) { String setType = (String)msg.Data["SetType"]; if ("yiYeWeiZhi".Equals(setType)) { LHS_SuctionPlate = (String)msg.Data["LHS_SuctionPlate"]; LHS_TargetPlate = (String)msg.Data["LHS_TargetPlate"]; LHS_Imbitition = Int32.Parse((String)msg.Data["LHS_Imbitition"]); } if ("suDuSheZhi".Equals(setType)) { LHS_LiquidRate = Int32.Parse((String)msg.Data["LHS_LiquidRate"]); LHS_DischargeRate = Int32.Parse((String)msg.Data["LHS_DischargeRate"]); } if ("weiZhiSheZhi".Equals(setType)) { LHS_LiquidPosition = Int32.Parse((String)msg.Data["LHS_LiquidPosition"]); LHS_DischargePosition = Int32.Parse((String)msg.Data["LHS_DischargePosition"]); } if ("LHS_PlateStatus".Equals(setType)) { LHS_PlateStatus = (String)msg.Data["LHS_PlateStatus"]; } }
//解码报告消息 public override void decodeReportMessage(ModbusMessage msg) { String reportType = (String)msg.Data["ReportType"]; if ("MPF_Current".Equals(reportType)) { MPF_Current1 = double.Parse((String)msg.Data["MPF_Current1"]); MPF_Current2 = double.Parse((String)msg.Data["MPF_Current2"]); MPF_Current3 = double.Parse((String)msg.Data["MPF_Current3"]); MPF_Current4 = double.Parse((String)msg.Data["MPF_Current4"]); } if ("MPF".Equals(reportType)) { String PlateNum = (String)msg.Data["MPF_Whichplate"]; String Barcode = (String)msg.Data["MPF_BarCode"]; MPFDispenMessage disMsg = new MPFDispenMessage(); disMsg.PlateNum = PlateNum; disMsg.Barcode = Barcode; lock (DispenMessages) { DispenMessages.Add(disMsg); } lock (RefreshObject) { needRefreshMessages = true; } } }
public static ModbusMessage decodeModbusMessage(String msg) { ModbusMessage res = new ModbusMessage(); byte[] cmd = StringByteHelper.StringToBytes(msg); if (!check_modbus_message(cmd)) return null; res.Dev = cmd[3]; res.MsgType = ModbusMessage.byteToMessageType(cmd[4]); int len = cmd[2] - 3; byte[] data = new byte[len]; for(int i=0;i<len;i++) { data[i] = cmd[i+5]; } String s = Encoding.Default.GetString(data); Hashtable map = new Hashtable(); String[] words = s.Split(';'); String[] parts; for (int i = 0; i < words.Length; i++) { if (words[i].Length == 0) continue; parts = words[i].Split('='); if (parts.Length != 2) return null; map.Add(parts[0], parts[1]); } res.Data = map; return res; }
public virtual void decodeCmdMessage(ModbusMessage s) { }
private void decodeSetMessage(ModbusMessage msg) { String setType = (String)msg.Data["SetType"]; if ("Setting".Equals(setType)) { MMR_CurentSelectIndex = Int32.Parse((String)msg.Data["moduleNum"]); MMR_CurSpeed = Int32.Parse((String)msg.Data["speed"]); MMR_CurTemp = Int32.Parse((String)msg.Data["temp"]); MMR_CurTime = Int32.Parse((String)msg.Data["time"]); MMR_CurAir = Int32.Parse((String)msg.Data["air"]); MMR_CurPressure = Int32.Parse((String)msg.Data["pressure"]); switch (MMR_CurentSelectIndex) { case 1: MMR_ModuleSpeed1 = MMR_CurSpeed; MMR_ModuleTemp1 = MMR_CurTemp; MMR_ModuleSampleTime1 = MMR_CurTime; MMR_ModuleAir1 = MMR_CurAir; MMR_ModulemPa1 = MMR_CurPressure; break; case 2: MMR_ModuleSpeed2 = MMR_CurSpeed; MMR_ModuleTemp2 = MMR_CurTemp; MMR_ModuleSampleTime2 = MMR_CurTime; MMR_ModuleAir2 = MMR_CurAir; MMR_ModulemPa2 = MMR_CurPressure; break; case 3: MMR_ModuleSpeed3 = MMR_CurSpeed; MMR_ModuleTemp3 = MMR_CurTemp; MMR_ModuleSampleTime3 = MMR_CurTime; MMR_ModuleAir3 = MMR_CurAir; MMR_ModulemPa3 = MMR_CurPressure; break; case 4: MMR_ModuleSpeed4 = MMR_CurSpeed; MMR_ModuleTemp4 = MMR_CurTemp; MMR_ModuleSampleTime4 = MMR_CurTime; MMR_ModuleAir4 = MMR_CurAir; MMR_ModulemPa4 = MMR_CurPressure; break; case 5: MMR_ModuleSpeed5 = MMR_CurSpeed; MMR_ModuleTemp5 = MMR_CurTemp; MMR_ModuleSampleTime5 = MMR_CurTime; MMR_ModuleAir5 = MMR_CurAir; MMR_ModulemPa5 = MMR_CurPressure; break; case 6: MMR_ModuleSpeed6 = MMR_CurSpeed; MMR_ModuleTemp6 = MMR_CurTemp; MMR_ModuleSampleTime6 = MMR_CurTime; MMR_ModuleAir6 = MMR_CurAir; MMR_ModulemPa6 = MMR_CurPressure; break; case 7: MMR_ModuleSpeed7 = MMR_CurSpeed; MMR_ModuleTemp7 = MMR_CurTemp; MMR_ModuleTime7 = MMR_CurTime; MMR_ModuleAir7 = MMR_CurAir; MMR_ModulemPa7 = MMR_CurPressure; break; case 8: MMR_ModuleSpeed8 = MMR_CurSpeed; MMR_ModuleTemp8 = MMR_CurTemp; MMR_ModuleTime8 = MMR_CurTime; MMR_ModuleAir8 = MMR_CurAir; MMR_ModulemPa8 = MMR_CurPressure; break; default: break; } } if ("Start".Equals(setType)) { int mnum = Int32.Parse((String)msg.Data["moduleNum"]); switch (mnum) { case 1: MMR_Module1 = true; String msg2 = createResponseMsg(mnum, MMR_ModTemp1, MMR_ModPh1, MMR_ModDo1); SendMsg(msg2); break; case 2: MMR_Module2 = true; String msg3 = createResponseMsg(mnum, MMR_ModTemp2, MMR_ModPh2, MMR_ModDo2); SendMsg(msg3); break; case 3: MMR_Module3 = true; String msg4 = createResponseMsg(mnum, MMR_ModTemp3, MMR_Modph3, MMR_ModDo3); SendMsg(msg4); break; case 4: MMR_Module4 = true; String msg5 = createResponseMsg(mnum, MMR_ModTemp4, MMR_Modph4, MMR_ModDo4); SendMsg(msg5); break; case 5: MMR_Module5 = true; String msg6 = createResponseMsg(mnum, MMR_ModTemp5, MMR_Modph5, MMR_ModDo5); SendMsg(msg6); break; case 6: MMR_Module6 = true; String msg7 = createResponseMsg(mnum, MMR_ModTemp6, MMR_Modph6, MMR_ModDo6); SendMsg(msg7); break; case 7: MMR_Module7 = true; String msg8 = createResponseMsg(mnum, MMR_ModTemp7, MMR_Modph7, MMR_ModDo7); SendMsg(msg8); break; case 8: MMR_Module8 = true; String msg9 = createResponseMsg(mnum, MMR_ModTemp8, MMR_Modph8, MMR_ModDo8); SendMsg(msg9); break; } } if ("Stop".Equals(setType)) { int mnum2 = Int32.Parse((String)msg.Data["moduleNum"]); switch (mnum2) { case 1: MMR_Module1 = false; break; case 2: MMR_Module2 = false; break; case 3: MMR_Module3 = false; break; case 4: MMR_Module4 = false; break; case 5: MMR_Module5 = false; break; case 6: MMR_Module6 = false; break; case 7: MMR_Module7 = false; break; case 8: MMR_Module8 = false; break; } } }
private void decodeSetMessage(ModbusMessage msg) { String setType = (String)msg.Data["SetType"]; if ("Mode".Equals(setType)) { String mode = (String)msg.Data["Mode"]; MMA_TestMode = stringToJianCeMoShi(mode); } }
private void decodeSetMessage(ModbusMessage msg) { String setType = (String)msg.Data["SetType"]; if ("ZhouChangMianJiBi".Equals(setType)) { this.SCP_MaxPARate = double.Parse((String)msg.Data["ZhouChangMianJiBi_Max"]); this.SCP_MinPARate = double.Parse((String)msg.Data["ZhouChangMianJiBi_Min"]); } if ("MianJiShaiXuan".Equals(setType)) { this.SCP_SizeMax = double.Parse((String)msg.Data["MianJi_Max"]); this.SCP_SizeMin = double.Parse((String)msg.Data["MianJi_Min"]); } if ("ChangDuanJingShaiXuan".Equals(setType)) { this.SCP_MaxLength = double.Parse((String)msg.Data["ChangJing_Max"]); this.SCP_MinLength = double.Parse((String)msg.Data["ChangJing_Min"]); this.SCP_MaxShort = double.Parse((String)msg.Data["DuanJing_Max"]); this.SCP_MinShort = double.Parse((String)msg.Data["DuanJing_Min"]); this.SCP_MaxRate = double.Parse((String)msg.Data["BiZhi_Max"]); this.SCP_MinRate = double.Parse((String)msg.Data["BiZhi_Min"]); } if ("SeDuPingJunZhi".Equals(setType)) { this.SCP_R = Int16.Parse((String)msg.Data["R"]); this.SCP_G = Int16.Parse((String)msg.Data["G"]); this.SCP_B = Int16.Parse((String)msg.Data["B"]); } if ("MieJunHeQingXi".Equals(setType)) { this.SCP_HeatTime = UInt32.Parse((String)msg.Data["JiaReShiJian"]); this.SCP_FlushTime = UInt32.Parse((String)msg.Data["QingXiShiJian"]); this.SCP_FlushNo = UInt32.Parse((String)msg.Data["QingXiCiShu"]); this.SCP_ExhaustTime = UInt32.Parse((String)msg.Data["ChouQiShiJian"]); this.SCP_CoolTime = UInt32.Parse((String)msg.Data["LengQueShiJian"]); } }
public override void decodeResponseMessage(ModbusMessage msg) { //this.sendOKResponse(); }
public override void decodeSetMessage(ModbusMessage msg) { String setType = (String)msg.Data["SetType"]; if ("MPF_NumAndVol".Equals(setType)) { this.MPF_PlateNum = Int32.Parse((String)msg.Data["MPF_PlateNum"]); this.MPF_Volsperwell = double.Parse((String)msg.Data["MPF_Volsperwell"]); } }
public override void decodeSetMessage(ModbusMessage msg) { String setType = (String)msg.Data["SetType"]; if ("MDF_NumAndVol".Equals(setType)) { this.MDF_NumsperStack = Int32.Parse((String)msg.Data["MDF_NumsperStack"]); this.MDF_VolsperDish = double.Parse((String)msg.Data["MDF_VolsperDish"]); } }
private void decodeSetMessage(ModbusMessage msg) { String setType = (String)msg.Data["SetType"]; if ("System".Equals(setType)) { this.HAC_Sys_Mode = int.Parse((String)msg.Data["Sys_Mode"]); this.HAC_Sys_Command = int.Parse((String)msg.Data["Sys_Command"]); } if ("Light".Equals(setType)) { this.HAC_Light_pwm = int.Parse((String)msg.Data["Light_pwm"]); this.HAC_Light_allighText = int.Parse((String)msg.Data["Light_allighText"]); } if ("TH_1".Equals(setType)) { this.HAC_TH_tempset = int.Parse((String)msg.Data["TH_tempset"]); this.HAC_TH_htempchaval = int.Parse((String)msg.Data["TH_htempchaval"]); this.HAC_TH_ltempchaval = int.Parse((String)msg.Data["TH_ltempchaval"]); this.HAC_TH_syso_change = (String)msg.Data["TH_syso_change"]; this.HAC_TH_htempalarmval = int.Parse((String)msg.Data["TH_htempalarmval"]); this.HAC_TH_ltempalarmval = int.Parse((String)msg.Data["TH_ltempalarmval"]); this.HAC_TH_compressormode = (String)msg.Data["TH_compressormode"]; this.HAC_TH_compressorsituation = (String)msg.Data["TH_compressorsituation"]; } if ("TH_2".Equals(setType)) { this.HAC_TH_def_interval = (String)msg.Data["TH_def_interval"]; this.HAC_TH_def_span = int.Parse((String)msg.Data["TH_def_span"]); this.HAC_TH_hottube = (String)msg.Data["TH_hottube"]; this.HAC_TH_humi_con_mod = (String)msg.Data["TH_humi_con_mod"]; this.HAC_TH_humi_con_sit = (String)msg.Data["TH_humi_con_sit"]; this.HAC_TH_hum_set = int.Parse((String)msg.Data["TH_hum_set"]); this.HAC_TH_hum_alarm_val = int.Parse((String)msg.Data["TH_hum_alarm_val"]); this.HAC_TH_add_hum = int.Parse((String)msg.Data["TH_add_hum"]); this.HAC_TH_remo_hum = int.Parse((String)msg.Data["TH_remo_hum"]); } if ("Motor".Equals(setType)) { this.HAC_Motor_text_speed = int.Parse((String)msg.Data["Motor_text_speed"]); this.HAC_Motor_elecspeed = int.Parse((String)msg.Data["Motor_elecspeed"]); this.HAC_Motor_slope = int.Parse((String)msg.Data["Motor_slope"]); } }
//解码报告消息 public override void decodeReportMessage(ModbusMessage msg) { String reportType = (String)msg.Data["ReportType"]; if ("MDF_Current".Equals(reportType)) { MDF_Current1 = double.Parse((String)msg.Data["MDF_Current1"]); MDF_Current2 = double.Parse((String)msg.Data["MDF_Current2"]); MDF_Current3 = double.Parse((String)msg.Data["MDF_Current3"]); MDF_Current4 = double.Parse((String)msg.Data["MDF_Current4"]); } if ("MDF".Equals(reportType)) { String Stackcode = (String)msg.Data["MDF_WhichStack"]; String Petricode = (String)msg.Data["MDF_WhichDish"]; String Barcode = (String)msg.Data["MDF_BarCode"]; MDFDispenMessage xinXi = new MDFDispenMessage(); xinXi.Stackcode = Stackcode; xinXi.Petricode = Petricode; xinXi.Barcode = Barcode; lock (DispenMessages) { DispenMessages.Add(xinXi); } lock (RefreshObject) { needRefreshMessages = true; } } }
private void decodeCmdMessage(ModbusMessage msg) { String cmd = (String)msg.Data["Cmd"]; if ("Start".Equals(cmd)) { startTimer(); } if ("Next".Equals(cmd)) { MMA_PlateDetect = true; startTimer(); } }