Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
On Error GoTo errorhandler
TextBox1.Text = Nothing
Using port As New SerialPort("COM2")
' configure serial port
port.BaudRate = 9600
port.DataBits = 7
port.Parity = Parity.Even
port.StopBits = StopBits.One
port.Open()
' create modbus master
Dim master As modbus.Device.IModbusSerialMaster = modbus.Device.ModbusSerialMaster.CreateAscii(port)
Dim slaveID As Byte = 1
Dim startAddress As UShort = 4546 'read address starting at D450
Dim numRegisters As UShort = 20
' read five registers
Dim registers As UShort() = master.ReadHoldingRegisters(slaveID, startAddress, numRegisters)
For i As Integer = 0 To numRegisters - 1
TextBox1.Text = TextBox1.Text & registers(i) & vbCrLf
Next
End Using
Exit Sub
errorhandler:
Dim rseponse As MsgBoxResult
rseponse = MsgBox(ErrorToString, MsgBoxStyle.OkCancel, "Fault Intercepted")
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
On Error GoTo errorhandler
TextBox1.Text = Nothing
Using port As New SerialPort("COM2")
' configure serial port
port.BaudRate = 9600
port.DataBits = 7
port.Parity = Parity.Even
port.StopBits = StopBits.One
port.Open()
' create modbus master
Dim master As modbus.Device.IModbusSerialMaster = modbus.Device.ModbusSerialMaster.CreateAscii(port)
Dim slaveID As Byte = 1
Dim startAddress As UShort = 1024 'read address starting at X0
Dim numRegisters As UShort = 20
' read five registers
Dim registers As Boolean() = master.ReadInputs(slaveID, startAddress, numRegisters)
For i As Integer = 0 To numRegisters - 1
TextBox1.Text = TextBox1.Text & registers(i) & vbCrLf
Next
End Using
Exit Sub
errorhandler:
Timer1.Enabled = False
Dim rseponse As MsgBoxResult
rseponse = MsgBox(ErrorToString, MsgBoxStyle.OkCancel, "Fault Intercepted")
If rseponse = MsgBoxResult.Ok Then
Timer1.Enabled = True
End If
End Sub
On Error GoTo errorhandler
TextBox1.Text = Nothing
Using port As New SerialPort("COM2")
' configure serial port
port.BaudRate = 9600
port.DataBits = 7
port.Parity = Parity.Even
port.StopBits = StopBits.One
port.Open()
' create modbus master
Dim master As modbus.Device.IModbusSerialMaster = modbus.Device.ModbusSerialMaster.CreateAscii(port)
Dim slaveID As Byte = 1
Dim startAddress As UShort = 4546 'read address starting at D450
Dim numRegisters As UShort = 20
' read five registers
Dim registers As UShort() = master.ReadHoldingRegisters(slaveID, startAddress, numRegisters)
For i As Integer = 0 To numRegisters - 1
TextBox1.Text = TextBox1.Text & registers(i) & vbCrLf
Next
End Using
Exit Sub
errorhandler:
Dim rseponse As MsgBoxResult
rseponse = MsgBox(ErrorToString, MsgBoxStyle.OkCancel, "Fault Intercepted")
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
On Error GoTo errorhandler
TextBox1.Text = Nothing
Using port As New SerialPort("COM2")
' configure serial port
port.BaudRate = 9600
port.DataBits = 7
port.Parity = Parity.Even
port.StopBits = StopBits.One
port.Open()
' create modbus master
Dim master As modbus.Device.IModbusSerialMaster = modbus.Device.ModbusSerialMaster.CreateAscii(port)
Dim slaveID As Byte = 1
Dim startAddress As UShort = 1024 'read address starting at X0
Dim numRegisters As UShort = 20
' read five registers
Dim registers As Boolean() = master.ReadInputs(slaveID, startAddress, numRegisters)
For i As Integer = 0 To numRegisters - 1
TextBox1.Text = TextBox1.Text & registers(i) & vbCrLf
Next
End Using
Exit Sub
errorhandler:
Timer1.Enabled = False
Dim rseponse As MsgBoxResult
rseponse = MsgBox(ErrorToString, MsgBoxStyle.OkCancel, "Fault Intercepted")
If rseponse = MsgBoxResult.Ok Then
Timer1.Enabled = True
End If
End Sub
Last edited: