コード例 #1
0
            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);
            }
コード例 #2
0
        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);
        }