NAME Device-Modbus version 0.02

This distribution aims towards implementing Modbus communications in Perl. It should make it possible to write Modbus TCP and RTU clients and servers.

In particular, servers should be able to execute arbitrary code to process requests. This will allow for applications such as Modbus gateways or database front-end applications that communicate directly with external devices.

CURRENT STATUS

Currently, the distribution is under development, and it is in the process of being re-written. You can find more information at http://www.7mavida.com/tag/Device::Modbus

MILESTONES

  • Modbus TCP server

  • Modbus TCP client

  • Modbus RTU client

  • Modbus RTU server

  • Documentation

  • Shared over CPAN

As of today, the documentation is being written. Both RTU and TCP servers and clients work.

INSTALLATION

To install this module type the following:

perl Makefile.PL
make
make test
make install

DEPENDENCIES

The only requirement for the base Device::Modbus is Try::Tiny. The RTU and TCP variants have other requirements of their own, most notably Device::SerialPort for Device::Modbus::RTU and Net::Server for Modbus TCP.

SEE ALSO

The main documentation for the distribution is in Device::Modbus. Please see Device::Modbus::RTU and Device::Modbus::TCP for serial or TCP/IP based communications.

In Perl, you can find other Modbus related distributions. I think the leading one would be Protocol::Modbus, by Cossimo, which implements Modbus TCP clients. While there is code for RTU clients, it is not as mature.

There are also some scripts that implement both a server and clients. A couple worth looking at is formed by MBclient and mbserved. The later is available in GitHub only and they were both written by the same author, l.lefebre https://github.com/sourceperl.

COPYRIGHT AND LICENCE

Copyright (C) 2015 by Julio Fraire

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.