private void decodeBasicMsg(String s) { ModbusMessage message = ModbusMessageHelper.decodeModbusMessage(s); DeviceType type = EnumHelper.deviceStringToDeviceType((String)message.Data["DeviceType"]); BaseVirtualDevice device = (BaseVirtualDevice)VirtualDeviceFactory.createVirtualDevice(type, true); device.IsVirt = true; device.CurrentDeviceType = type; /* * if (type == DeviceType.Dispen) * { * String subType = (String)message.Data["SubType"]; * if ("PeiYangMin".Equals(subType)) * { * ((AutoDispenVirtualDevice)device).SubType = AutoDispenVirtualDevice.AutoDispenType.PeiYangMin; * } * else * { * ((AutoDispenVirtualDevice)device).SubType = AutoDispenVirtualDevice.AutoDispenType.ShenKongBan; * } * }*/ device.IdentifyID = (String)message.Data["IdentifyID"]; device.Code = (String)message.Data["Code"]; device.IP = (String)message.Data["IP"]; device.Name = (String)message.Data["Name"]; device.SerialID = (String)message.Data["SerialID"]; device.MySocket = mySocket; device.DeviceManager = deviceManager; device.init(); deviceManager.addDevice(device); }
private BaseDevice checkInfoAndCreate() { BaseDevice result = null; String ip = deviceIPTextBox.Text; String controlIP = controlIPTextBox.Text; String deviceName = deviceNameTextBox.Text; String deviceIdentify = identifyIDTextBox.Text; String deviceCode = deviceCodeTextBox.Text; String deviceSerial = serielIDTextBox.Text; String sampleTime = sampleTimeTextBox.Text; if (!CheckUtil.checkIP(ip)) { } if (!CheckUtil.checkIP(controlIP)) { } String hostIP = "127.0.0.1"; String hostPort = "8888"; String[] parts = controlIP.Split(':'); if (parts.Length == 2) { hostIP = parts[0]; hostPort = parts[1]; } if (parts.Length == 1) { hostIP = parts[0]; } if (!CheckUtil.checkTime(sampleTime)) { } if (!CheckUtil.checkIdentify(deviceIdentify)) { } if (!CheckUtil.checkCode(deviceCode)) { } if (!CheckUtil.checkSerial(deviceSerial)) { } result = VirtualDeviceFactory.createVirtualDevice(Type, IsSocket); //result.Code = deviceCode; result.ControlIP = controlIP; result.CurrentDeviceType = Type; result.CurrentState = DeviceStates.Created; result.IdentifyID = deviceIdentify; result.IP = ip; result.Name = deviceName; result.SerialID = deviceSerial; result.SampleTime = int.Parse(sampleTime); if (IsSocket) { ((BaseVirtualDevice)result).HostIP = hostIP; ((BaseVirtualDevice)result).HostPort = hostPort; } //在为分装仪时需要设定是面向培养皿还是深孔板 /* * if (Type == DeviceType.Dispen) * { * if (IsSocket) * ((AutoDispenDevice)result).SubType = DispenType; * else * { * ((AutoDispenTwincatDevice)result).SubType = DispenTwincatType; * } * } */ return(result); }