yum install wget tar wget https://www.modbusdriver.com/downloads/diagslave.tgz tar -xvf diagslave.tgz cd diagslave/linux_x86-64 ./diagslave -m tcp
yum install wget tar wget https://www.modbusdriver.com/downloads/modpoll.tgz tar -xvf modpoll.tgz cd modpoll/linux_x86-64 ./modpoll -m tcp 192.168.11.247
crontab -e
編輯內容如下:
@reboot /root/diagslave/linux_x86-64/diagslave -m tcp > /tmp/t.log
yum install perl gcc perl -MCPAN -e shell upgrade force install Net::Server::MultiType install Device::Modbus::TCP exit
#! /usr/bin/perl
use Device::Modbus::TCP::Client;
use Data::Dumper;
use strict;
use warnings;
use v5.10;
my $client = Device::Modbus::TCP::Client->new(
host => '192.168.1.34',
);
my $req = $client->read_holding_registers(
unit => 3,
address => 2,
quantity => 1
);
say Dumper $req;
$client->send_request($req) || die "Send error: $!";
my $response = $client->receive_response;
say Dumper $response;
$client->disconnect;
perl t.pl
#! /usr/bin/perl
use Device::Modbus::TCP::Client;
use Data::Dumper;
use strict;
use warnings;
use v5.10;
my $client = Device::Modbus::TCP::Client->new(
host => '192.168.11.247',
);
# Write reg0 -> 12345
my $req = $client->write_single_register(
unit => 1,
address => 1,
value => 15
);
say Dumper $req;
$client->send_request($req) || die "Send error: $!";
my $response = $client->receive_response;
say Dumper $response;
$client->disconnect;
yum install php php-json
mkdir -p /root/php-modbus
cd /root/php-modbus
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '572cb359b56ad9ae52f9c23d29d4b19a040af10d6635642e646a7caa7b96de717ce683bd797a92ce99e5929cc51e7d5f') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
./composer.phar require aldas/modbus-tcp-client
./composer.phar require react/socket:^0.8.11
mkdir -p /root/php-modbus/example cd /root/php-modbus/example vi t.php