This distribution is a part of Device::Modbus, which aims towards implementing the Modbus protocol over TCP/IP in Perl. It should make it possible to write Modbus TCP 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.
Currently, the distribution is under development. You can find more information at http://www.7mavida.com/tag/Device::Modbus
Modbus TCP server
Modbus TCP client
Modbus RTU client
Modbus RTU server
Documentation
Shared over CPAN
As of today, simple clients and servers both with Modbus RTU and Modbus TCP have been tested. Both Modbus RTU and TCP clients have been tested with industrial equipment.
To install this module type the following:
perl Makefile.PL
make
make test
make install
This module requires these other non-standard modules and libraries:
Device::Modbus
Net::Server
Role::Tiny
Try::Tiny
A warm thank you to the following people, who have contributed with suggestions, bug reports, and fixes:
- Manuel Krenzke
- Carlos Mendioroz
- Olivier Colin
The main documentation for the distribution is in Device::Modbus.
In Perl, you can find other Modbus related distributions. I think the leading one would be Protocol::Modbus, by Cosimo Streppone, 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 (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.