modbus_master 2.0.0 copy "modbus_master: ^2.0.0" to clipboard
modbus_master: ^2.0.0 copied to clipboard

An easy to use package using which a dart program can work as a Modbus/TCP master device.

example/modbus_master_example.dart

import 'package:modbus_master/modbus_master.dart';

void main() async {
  final modbusMaster = await ModbusMaster.start();

  int countResponseReceived = 0;
  modbusMaster.responseFromSlaveDevices.listen(
    (response) {
      ++countResponseReceived;
      print(response);

      if (countResponseReceived >= 5) {
        modbusMaster.stop();
      }
    },
  );

  for (int i = 1; i <= 5; ++i) {
    try {
      modbusMaster.write(
        ipAddress: '192.168.1.3',
        portNumber: 502,
        unitId: 1,
        blockNumber: 4,
        elementNumber: 3001,
        timeoutMilliseconds: 1000,
        valueToBeWritten: 6000 + i,
      );
    } catch (e, f) {
      print('EXCEPTION THROWN:-\n$e\n$f');
    }
    await Future.delayed(Duration(seconds: 2));
  }

  final isModbusMasterStopped = await modbusMaster.isStoppedAsync;
  if (isModbusMasterStopped) {
    print("Modbus Master has stopped.");
  }
}
5
likes
0
points
51
downloads

Publisher

unverified uploader

Weekly Downloads

An easy to use package using which a dart program can work as a Modbus/TCP master device.

Repository (GitHub)
View/report issues

Topics

#modbus #tcp #embedded #plc #scada

License

unknown (license)

Dependencies

equatable, simple_logger

More

Packages that depend on modbus_master