// ------------------------------------------------------------------------ // Button read coils // ------------------------------------------------------------------------ private void btnReadCoils_Click(object sender, System.EventArgs e) { int ID = 1; int StartAddress = ReadStartAdr(); byte Length = Convert.ToByte(txtSize.Text); MBmaster.ReadCoils(ID, StartAddress, Length); }
// ------------------------------------------------------------------------ // Button read coils // ------------------------------------------------------------------------ private void btnReadCoils_Click(object sender, System.EventArgs e) { ushort ID = 1; ushort StartAddress = ReadStartAdr(); ushort Length = Convert.ToUInt16(txtSize.Text); MBmaster.ReadCoils(ID, StartAddress, Length); }
private void TimerPolling_Tick(object sender, EventArgs e) { ushort size = Convert.ToUInt16(txtSize.Text); ushort startAddress = Convert.ToUInt16(txtStartAdress.Text); try { //COILS MBmaster.ReadCoils(1, 0, startAddress, size, ref data); lstCoils.BeginUpdate(); lstCoils.Items.Clear(); BitArray bitArray = new BitArray(data); bool[] bits = new bool[bitArray.Count]; bitArray.CopyTo(bits, 0); for (int x = 0; x < size; x++) { lstCoils.Items.Add((x + 1 + startAddress) + "\t - " + bits[x].ToString()); } lstCoils.EndUpdate(); //HOLDING MBmaster.ReadHoldingRegister(2, 0, startAddress, size, ref data); listHoldingRegisters.BeginUpdate(); listHoldingRegisters.Items.Clear(); int i = 1; for (int x = 0; x < data.Length - 1; x += 2) { listHoldingRegisters.Items.Add((i + startAddress) + "\t - " + (data[x] * 256 + data[x + 1]).ToString()); i++; } listHoldingRegisters.EndUpdate(); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Error); TimerPolling.Stop(); } }
private void timerPolling_Tick(object sender, EventArgs e) { try { ushort size = Convert.ToUInt16(ucTextBoxEx_Size.InputText); ushort startAddress = Convert.ToUInt16(ucTextBoxEx_StartAddress.InputText); //DISCRETE INPUTS MBmaster.ReadDiscreteInputs(1, 0, startAddress, size, ref newdataInputs); if (dataInputs.SequenceEqual <byte>(newdataInputs) == false || addressChanged) { listBox_DiscreteInputs.BeginUpdate(); listBox_DiscreteInputs.Items.Clear(); BitArray bitArray = new BitArray(newdataInputs); bool[] bits = new bool[bitArray.Count]; bitArray.CopyTo(bits, 0); for (int x = 0; x < size; x++) { listBox_DiscreteInputs.Items.Add((x + 1 + startAddress) + "\t - " + bits[x].ToString()); } listBox_DiscreteInputs.EndUpdate(); dataInputs = newdataInputs; } //COILS MBmaster.ReadCoils(2, 0, startAddress, size, ref newdataCoils); if (dataCoils.SequenceEqual <byte>(newdataCoils) == false || addressChanged) { listBox_Coils.BeginUpdate(); listBox_Coils.Items.Clear(); BitArray bitArray = new BitArray(newdataCoils); bool[] bits = new bool[bitArray.Count]; bitArray.CopyTo(bits, 0); for (int x = 0; x < size; x++) { listBox_Coils.Items.Add((x + 1 + startAddress) + "\t - " + bits[x].ToString()); } listBox_Coils.EndUpdate(); dataCoils = newdataCoils; } //INPUT REGISTERS MBmaster.ReadInputRegister(3, 0, startAddress, size, ref newdataInputRegisters); if (dataInputRegisters.SequenceEqual <byte>(newdataInputRegisters) == false || addressChanged) { listBox_InputRegisters.BeginUpdate(); listBox_InputRegisters.Items.Clear(); int i = 1; for (int x = 0; x < newdataInputRegisters.Length - 1; x += 2) { listBox_InputRegisters.Items.Add((i + startAddress) + "\t - " + (newdataInputRegisters[x] * 256 + newdataInputRegisters[x + 1]).ToString()); i++; } listBox_InputRegisters.EndUpdate(); dataInputRegisters = newdataInputRegisters; } //HOLDING REGISTERS MBmaster.ReadHoldingRegister(4, 0, startAddress, size, ref newdataHoldingRegisters); if (dataHoldingRegisters.SequenceEqual <byte>(newdataHoldingRegisters) == false || addressChanged) { listBox_HoldingRegisters.BeginUpdate(); listBox_HoldingRegisters.Items.Clear(); int i = 1; for (int x = 0; x < newdataHoldingRegisters.Length - 1; x += 2) { listBox_HoldingRegisters.Items.Add((i + startAddress) + "\t - " + (newdataHoldingRegisters[x] * 256 + newdataHoldingRegisters[x + 1]).ToString()); i++; } listBox_HoldingRegisters.EndUpdate(); dataHoldingRegisters = newdataHoldingRegisters; } addressChanged = false; MBmaster.ReadHoldingRegister(4, 0, startAddress, size, ref newdataHoldingRegisters); if (dataHoldingRegisters.SequenceEqual <byte>(newdataHoldingRegisters) == false || addressChanged) { listBox_HoldingRegisters.BeginUpdate(); listBox_HoldingRegisters.Items.Clear(); int i = 1; for (int x = 0; x < newdataHoldingRegisters.Length - 1; x += 2) { listBox_HoldingRegisters.Items.Add((i + startAddress) + "\t - " + (newdataHoldingRegisters[x] * 256 + newdataHoldingRegisters[x + 1]).ToString()); i++; } listBox_HoldingRegisters.EndUpdate(); dataHoldingRegisters = newdataHoldingRegisters; } addressChanged = false; } catch (Exception ex) { timerPolling.Stop(); DarkMessageBox.ShowWarning(ex.Message.ToString() + "\nDesconectando Sesión", "Warning!"); //darkButton_Disconnect.PerformClick(); newdataCoils = new byte[0]; newdataInputs = new byte[0]; newdataInputRegisters = new byte[0]; newdataHoldingRegisters = new byte[0]; addressChanged = false; ucTextBoxEx_Size.InputText = "1"; timerPolling.Start(); } }