Hello
Were you able to do anything for the Modbus server part to simulate a Modbus hardware?
Below is a screenshot of my very basic test application, so yes, kind of. You can write to the apps coils and registers and read then them back with ease. I supposed could make it like the three free software simulators that I already have which shows you each and every single coil and register on the server, but I don't really have the time to make an entire app just for that whan I already have this test app and three free apps that all do the same thing, oh yes and a hardware tester now too. Creating an ESP32 solution would be relatively simple to achieve using B4R.
Screenshot:
Server logs:
[CODE lang="b4x" title="Modbus server logs"]Master read 14 Discrete Inputs starting at 0 (10001+)
Input Value: true
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Master read 14 Input Registers starting at 0 (30001+)
Val: 502
Val: 1150
Val: 42
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Master read 14 Coils starting at 0 (00001+)
Coil Value: true
Coil Value: false
Coil Value: true
Coil Value: false
Coil Value: false
Coil Value: true
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Master wrote to coil 0 (00001+): true
Master read 14 Holding Registers starting at 0 (40001+)
Val: 1963
Val: 1971
Val: 2006
Val: 12345
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Master wrote 2 registers starting at 100 (40001+)
Val: 17142
Val: 58982
Master read 2 Holding Registers starting at 100 (40001+)
Val: 17142
Val: 58982
Master wrote to register 1 (40001+): 123
Master wrote 3 registers starting at 3 (40001+)
Val: 100
Val: 200
Val: 300
Master wrote 3 registers starting at 10 (40001+)
Val: 123
Val: 456
Val: 789
Master read 3 Holding Registers starting at 10 (40001+)
Val: 123
Val: 456
Val: 789
Master read 14 Discrete Inputs starting at 0 (10001+)
Input Value: true
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Input Value: false
Master wrote to coil 0 (00001+): true
Master read 14 Input Registers starting at 0 (30001+)
Val: 502
Val: 1150
Val: 42
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Val: 0
Master read 14 Coils starting at 0 (00001+)
Coil Value: true
Coil Value: false
Coil Value: true
Coil Value: false
Coil Value: false
Coil Value: true
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Coil Value: false
Master wrote 10 coils starting at 0 (00001+)
Coil Value: true
Coil Value: false
Coil Value: true
Coil Value: false
Coil Value: true
Coil Value: false
Coil Value: true
Coil Value: false
Coil Value: true
Coil Value: false
Master wrote 3 registers starting at 10 (40001+)
Val: 123
Val: 456
Val: 789
Master read 3 Holding Registers starting at 10 (40001+)
Val: 123
Val: 456
Val: 789
Master wrote 3 registers starting at 3 (40001+)
Val: 100
Val: 200
Val: 300
Master read 2 Holding Registers starting at 100 (40001+)
Val: 17142
Val: 58982
Master wrote 2 registers starting at 100 (40001+)
Val: 17142
Val: 58982
Master wrote to register 1 (40001+): 123
Master read 14 Holding Registers starting at 0 (40001+)
Val: 1963
Val: 123
Val: 2006
Val: 100
Val: 200
Val: 300
Val: 0
Val: 0
Val: 0
Val: 0
Val: 123
Val: 456
Val: 789
Val: 0
[/CODE]
Currently beta testing a serial/com port version of modbus master/client library that I wrapped and enhanced, I intend on releasing it shortly.
Enjoy...