private void ReadPort() { try { // Read the DI port string message = "?DIO" + ChannelSpec + ":VALUE"; Response = Device.SendMessage(message); int value = (int)Response.ToValue(); valueLabel.Text = value.ToString(); statusLabel.Text = String.Empty; if ((value & 1) != 0) led0.BackColor = Color.LimeGreen; else led0.BackColor = Color.Silver; if ((value & 2) != 0) led1.BackColor = Color.LimeGreen; else led1.BackColor = Color.Silver; if ((value & 4) != 0) led2.BackColor = Color.LimeGreen; else led2.BackColor = Color.Silver; if ((value & 8) != 0) led3.BackColor = Color.LimeGreen; else led3.BackColor = Color.Silver; if ((value & 16) != 0) led4.BackColor = Color.LimeGreen; else led4.BackColor = Color.Silver; if ((value & 32) != 0) led5.BackColor = Color.LimeGreen; else led5.BackColor = Color.Silver; if ((value & 64) != 0) led6.BackColor = Color.LimeGreen; else led6.BackColor = Color.Silver; if ((value & 128) != 0) led7.BackColor = Color.LimeGreen; else led7.BackColor = Color.Silver; } catch (Exception ex) { statusLabel.Text = ex.Message; } }