Hi, I'm new with VB and I was looking for some forum posts to create a couple of buttons for an application. The first button is to set to 1 independent bits of a modbus tcp register and for that I have used Godra's code in another post:
Private Sub BasicButton1_Click(sender As Object, e As EventArgs) Handles BasicButton1.Click
Try
Dim b_Num As Integer = 1 'or if dynamically changing then call it from a TextBox, like: Dim b_Num As Integer = TextBox1.Text
Dim Value = Me.ModbusTCPCom1.Read("40001")
Me.ModbusTCPCom1.Write("40001", Value Or 2 ^ (b_Num - 1))
Catch ex As Exception
System.Windows.Forms.MessageBox.Show("Failed to write value. " & ex.Message)
End Try
The second button I created to disable the bit of the word I enabled earlier and for this I used the same Godra code and changed the following command:
Me.ModbusTCPCom1.Write("40001", Value - 2 ^ (b_Num - 1)).
The off button is only connected and appears on screen if the bit it disables is set to 1, but if you quickly hit the button before the associated bit is disabled, it is able to subtract more than once the same bit, how could I avoid it to subtract more than once and not modify the register in a wrong way? Can you think of another way to create an off/on button for independent bits of a register?