示例#1
0
 private static void T_Elapsed(object sender, ElapsedEventArgs e)
 {
     if (lockConsole.WaitOne(0))
     {
         lockConsole.Reset();
         Console.Clear();
         foreach (var device in devices)
         {
             if (device is SEDevice)
             {
                 SEDevice d = device as SEDevice;
                 foreach (var variable in d)
                 {
                     Console.WriteLine($"{variable.Name} = {variable.Value}");
                 }
             }
             Console.WriteLine();
             Console.WriteLine();
         }
         lockConsole.Set();
     }
 }
示例#2
0
        public static SEDevice CreateSEDevice(int port)
        {
            SEDeviceSettings settings = new SEDeviceSettings
            {
                IPAddress        = "127.0.0.1",
                Port             = port,
                PollingTimeout   = 250,
                UnitId           = 1,
                SendTimeout      = 0,
                ReciveTimeout    = 0,
                SendBufferSize   = 2048,
                ReciveBufferSize = 2048
            };

            settings.Variables.AddRange(new ModbusVariableParams[]
            {
                new ModbusVariableParams {
                    Name = "V0000.0", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX0.0"
                },
                new ModbusVariableParams {
                    Name = "V0000.1", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX0.1"
                },
                new ModbusVariableParams {
                    Name = "V0000.2", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX0.2"
                },
                new ModbusVariableParams {
                    Name = "V0000.3", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX0.3"
                },
                new ModbusVariableParams {
                    Name = "V0000.4", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX0.4"
                },
                new ModbusVariableParams {
                    Name = "V0000.5", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX0.5"
                },
                new ModbusVariableParams {
                    Name = "V0000.6", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX0.6"
                },
                new ModbusVariableParams {
                    Name = "V0000.7", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX0.7"
                },
                new ModbusVariableParams {
                    Name = "V0000.8", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX1.0"
                },
                new ModbusVariableParams {
                    Name = "V0000.9", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX1.1"
                },
                new ModbusVariableParams {
                    Name = "V0000.10", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX1.2"
                },
                new ModbusVariableParams {
                    Name = "V0000.11", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX1.3"
                },
                new ModbusVariableParams {
                    Name = "V0000.12", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX1.4"
                },
                new ModbusVariableParams {
                    Name = "V0000.13", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX1.5"
                },
                new ModbusVariableParams {
                    Name = "V0000.14", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX1.6"
                },
                new ModbusVariableParams {
                    Name = "V0000.15", Size = 1, DataType = ModbusDataTypes.BOOL, IsUnicode = false, Address = "%MX1.7"
                },
                new ModbusVariableParams {
                    Name = "V0001", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW1"
                },
                new ModbusVariableParams {
                    Name = "V0002", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW2"
                },
                new ModbusVariableParams {
                    Name = "V0003", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW3"
                },
                new ModbusVariableParams {
                    Name = "V0004", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW4"
                },
                new ModbusVariableParams {
                    Name = "V0005", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW5"
                },
                new ModbusVariableParams {
                    Name = "V0006", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW6"
                },
                new ModbusVariableParams {
                    Name = "V0007", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW7"
                },
                new ModbusVariableParams {
                    Name = "V0008", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW8"
                },
                new ModbusVariableParams {
                    Name = "V0009", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW9"
                },
                new ModbusVariableParams {
                    Name = "V0010", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW10"
                },
                new ModbusVariableParams {
                    Name = "V0011", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW11"
                },
                new ModbusVariableParams {
                    Name = "V0012", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW12"
                },
                new ModbusVariableParams {
                    Name = "V0013", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW13"
                },
                new ModbusVariableParams {
                    Name = "V0014", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW14"
                },
                new ModbusVariableParams {
                    Name = "V0015", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW15"
                },
                new ModbusVariableParams {
                    Name = "V0016", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW16"
                },
                new ModbusVariableParams {
                    Name = "V0017", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW17"
                },
                new ModbusVariableParams {
                    Name = "V0018", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW18"
                },
                new ModbusVariableParams {
                    Name = "V0019", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW19"
                },
                new ModbusVariableParams {
                    Name = "V0020", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW20"
                },
                new ModbusVariableParams {
                    Name = "V0021", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW21"
                },
                new ModbusVariableParams {
                    Name = "V0022", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW22"
                },
                new ModbusVariableParams {
                    Name = "V0023", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW23"
                },
                new ModbusVariableParams {
                    Name = "V0024", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW24"
                },
                new ModbusVariableParams {
                    Name = "V0025", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW25"
                },
                new ModbusVariableParams {
                    Name = "V0026", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW26"
                },
                new ModbusVariableParams {
                    Name = "V0027", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW27"
                },
                new ModbusVariableParams {
                    Name = "V0028", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW28"
                },
                new ModbusVariableParams {
                    Name = "V0029", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW29"
                },
                new ModbusVariableParams {
                    Name = "V0030", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW30"
                },
                new ModbusVariableParams {
                    Name = "V0031", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW31"
                },
                new ModbusVariableParams {
                    Name = "V0032", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW32"
                },
                new ModbusVariableParams {
                    Name = "V0033", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW33"
                },
                new ModbusVariableParams {
                    Name = "V0034", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW34"
                },
                new ModbusVariableParams {
                    Name = "V0035", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW35"
                },
                new ModbusVariableParams {
                    Name = "V0036", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW36"
                },
                new ModbusVariableParams {
                    Name = "V0037", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW37"
                },
                new ModbusVariableParams {
                    Name = "V0038", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW38"
                },
                new ModbusVariableParams {
                    Name = "V0039", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW39"
                },
                new ModbusVariableParams {
                    Name = "V0040", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW40"
                },
                new ModbusVariableParams {
                    Name = "V0041", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW41"
                },
                new ModbusVariableParams {
                    Name = "V0042", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW42"
                },
                new ModbusVariableParams {
                    Name = "V0043", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW43"
                },
                new ModbusVariableParams {
                    Name = "V0044", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW44"
                },
                new ModbusVariableParams {
                    Name = "V0045", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW45"
                },
                new ModbusVariableParams {
                    Name = "V0046", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW46"
                },
                new ModbusVariableParams {
                    Name = "V0047", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW47"
                },
                new ModbusVariableParams {
                    Name = "V0048", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW48"
                },
                new ModbusVariableParams {
                    Name = "V0049", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW49"
                }
            });


            SEInitParams initParams = new SEInitParams
            {
                DeviceId = Guid.NewGuid(),
                Settings = settings
            };

            SEDevice device = new SEDevice();

            device.Initialization(initParams);

            return(device);
            //device.Open();

            //Console.ReadKey(true);

            //device.Close();
            //device.Dispose();
            //device = null;
        }
示例#3
0
        public void Initialize(int port)
        {
            device = TestSEDevice.CreateSEDevice(port);


            int index = 0;

            //bindTextBox(textBox1, index++);
            bindCheckBox(checkBox1, index++);
            bindCheckBox(checkBox2, index++);
            bindCheckBox(checkBox3, index++);
            bindCheckBox(checkBox4, index++);
            bindCheckBox(checkBox5, index++);
            bindCheckBox(checkBox6, index++);
            bindCheckBox(checkBox7, index++);
            bindCheckBox(checkBox8, index++);
            bindCheckBox(checkBox9, index++);
            bindCheckBox(checkBox10, index++);
            bindCheckBox(checkBox11, index++);
            bindCheckBox(checkBox12, index++);
            bindCheckBox(checkBox13, index++);
            bindCheckBox(checkBox14, index++);
            bindCheckBox(checkBox15, index++);
            bindCheckBox(checkBox16, index++);
            bindTextBox(textBox2, index++);
            bindTextBox(textBox3, index++);
            bindTextBox(textBox4, index++);
            bindTextBox(textBox5, index++);
            bindTextBox(textBox6, index++);
            bindTextBox(textBox7, index++);
            bindTextBox(textBox8, index++);
            bindTextBox(textBox9, index++);
            bindTextBox(textBox10, index++);
            bindTextBox(textBox11, index++);
            bindTextBox(textBox12, index++);
            bindTextBox(textBox13, index++);
            bindTextBox(textBox14, index++);
            bindTextBox(textBox15, index++);
            bindTextBox(textBox16, index++);
            bindTextBox(textBox17, index++);
            bindTextBox(textBox18, index++);
            bindTextBox(textBox19, index++);
            bindTextBox(textBox20, index++);
            bindTextBox(textBox21, index++);
            bindTextBox(textBox22, index++);
            bindTextBox(textBox23, index++);
            bindTextBox(textBox24, index++);
            bindTextBox(textBox25, index++);
            bindTextBox(textBox26, index++);
            bindTextBox(textBox27, index++);
            bindTextBox(textBox28, index++);
            bindTextBox(textBox29, index++);
            bindTextBox(textBox30, index++);
            bindTextBox(textBox31, index++);
            bindTextBox(textBox32, index++);
            bindTextBox(textBox33, index++);
            bindTextBox(textBox34, index++);
            bindTextBox(textBox35, index++);
            bindTextBox(textBox36, index++);
            bindTextBox(textBox37, index++);
            bindTextBox(textBox38, index++);
            bindTextBox(textBox39, index++);
            bindTextBox(textBox40, index++);
            bindTextBox(textBox41, index++);
            bindTextBox(textBox42, index++);
            bindTextBox(textBox43, index++);
            bindTextBox(textBox44, index++);
            bindTextBox(textBox45, index++);
            bindTextBox(textBox46, index++);
            bindTextBox(textBox47, index++);
            bindTextBox(textBox48, index++);
            bindTextBox(textBox49, index++);
            bindTextBox(textBox50, index++);
        }
示例#4
0
 public void Release()
 {
     device.Dispose();
     device = null;
 }
示例#5
0
        private static void deviceModbus(int port)
        {
            SEDeviceSettings settings = new SEDeviceSettings
            {
                IPAddress        = "127.0.0.1",
                Port             = port,
                PollingTimeout   = 100,
                UnitId           = 1,
                SendTimeout      = 1000,
                ReciveTimeout    = 0,
                SendBufferSize   = 4096,
                ReciveBufferSize = 4096
            };

            settings.Variables.AddRange(new ModbusVariableParams[]
            {
                new ModbusVariableParams {
                    Name = "V0000", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW0"
                },
                new ModbusVariableParams {
                    Name = "V0001", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW1"
                },
                new ModbusVariableParams {
                    Name = "V0002", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW2"
                },
                new ModbusVariableParams {
                    Name = "V0003", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW3"
                },
                new ModbusVariableParams {
                    Name = "V0004", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW4"
                },
                new ModbusVariableParams {
                    Name = "V0005", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW5"
                },
                new ModbusVariableParams {
                    Name = "V0006", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW6"
                },
                new ModbusVariableParams {
                    Name = "V0007", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW7"
                },
                new ModbusVariableParams {
                    Name = "V0008", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW8"
                },
                new ModbusVariableParams {
                    Name = "V0009", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW9"
                },
                new ModbusVariableParams {
                    Name = "V0010", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW10"
                },
                new ModbusVariableParams {
                    Name = "V0011", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW11"
                },
                new ModbusVariableParams {
                    Name = "V0012", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW12"
                },
                new ModbusVariableParams {
                    Name = "V0013", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW13"
                },
                new ModbusVariableParams {
                    Name = "V0014", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW14"
                },
                new ModbusVariableParams {
                    Name = "V0015", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW15"
                },
                new ModbusVariableParams {
                    Name = "V0016", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW16"
                },
                new ModbusVariableParams {
                    Name = "V0017", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW17"
                },
                new ModbusVariableParams {
                    Name = "V0018", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW18"
                },
                new ModbusVariableParams {
                    Name = "V0019", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW19"
                },
                new ModbusVariableParams {
                    Name = "V0020", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW20"
                },
                new ModbusVariableParams {
                    Name = "V0021", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW21"
                },
                new ModbusVariableParams {
                    Name = "V0022", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW22"
                },
                new ModbusVariableParams {
                    Name = "V0023", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW23"
                },
                new ModbusVariableParams {
                    Name = "V0024", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW24"
                },
                new ModbusVariableParams {
                    Name = "V0025", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW25"
                },
                new ModbusVariableParams {
                    Name = "V0026", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW26"
                },
                new ModbusVariableParams {
                    Name = "V0027", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW27"
                },
                new ModbusVariableParams {
                    Name = "V0028", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW28"
                },
                new ModbusVariableParams {
                    Name = "V0029", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW29"
                },
                new ModbusVariableParams {
                    Name = "V0030", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW30"
                },
                new ModbusVariableParams {
                    Name = "V0031", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW31"
                },
                new ModbusVariableParams {
                    Name = "V0032", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW32"
                },
                new ModbusVariableParams {
                    Name = "V0033", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW33"
                },
                new ModbusVariableParams {
                    Name = "V0034", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW34"
                },
                new ModbusVariableParams {
                    Name = "V0035", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW35"
                },
                new ModbusVariableParams {
                    Name = "V0036", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW36"
                },
                new ModbusVariableParams {
                    Name = "V0037", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW37"
                },
                new ModbusVariableParams {
                    Name = "V0038", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW38"
                },
                new ModbusVariableParams {
                    Name = "V0039", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW39"
                },
                new ModbusVariableParams {
                    Name = "V0040", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW40"
                },
                new ModbusVariableParams {
                    Name = "V0041", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW41"
                },
                new ModbusVariableParams {
                    Name = "V0042", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW42"
                },
                new ModbusVariableParams {
                    Name = "V0043", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW43"
                },
                new ModbusVariableParams {
                    Name = "V0044", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW44"
                },
                new ModbusVariableParams {
                    Name = "V0045", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW45"
                },
                new ModbusVariableParams {
                    Name = "V0046", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW46"
                },
                new ModbusVariableParams {
                    Name = "V0047", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW47"
                },
                new ModbusVariableParams {
                    Name = "V0048", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW48"
                },
                new ModbusVariableParams {
                    Name = "V0049", Size = 2, DataType = ModbusDataTypes.SHORT, IsUnicode = false, Address = "%MW49"
                }
            });
            SEInitParams initParams = new SEInitParams
            {
                DeviceId = Guid.NewGuid(),
                Settings = settings
            };
            SEDevice device = new SEDevice();

            device.Initialization(initParams);

            // device.DeviceRecivedMessage += Device_DeviceRecivedMessage;

            devices.Add(device);
        }