The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
=head1 NAME Device-Modbus-RTU version 0.021

This distribution aims towards implementing the Modbus protocol over serial lines, in its RTU variant in Perl. It should make it possible to write Modbus 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. 

=head2 CURRENT STATUS

Currently, the distribution is under development. You can find more information at http://www.7mavida.com/tag/Device::Modbus

=head2 MILESTONES

=over

=item * Modbus TCP server

=item * Modbus TCP client

=item * Modbus RTU client

=item * Modbus RTU server

=item * Documentation

=item * Shared over CPAN

=back

As of today, simple clients and servers both with Modbus RTU and Modbus TCP have been tested. Only the clients have been tested with industrial equipment.

=head2 INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

=head2 DEPENDENCIES

This module requires these other non-standard modules and libraries:

=over

=item * Device::SerialPort

=item * Role::Tiny

=back

=head2 SEE ALSO

The main documentation for the distribution is in L<Device::Modbus>.

In Perl, you can find other Modbus related distributions. I think the
leading one would be L<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 L<https://github.com/sourceperl>.

=head1 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.