>  기사  >  백엔드 개발  >  PHP를 통해 Modbus TCP 원격 액세스를 구현하는 방법

PHP를 통해 Modbus TCP 원격 액세스를 구현하는 방법

王林
王林원래의
2023-07-17 19:49:401563검색

PHP를 통해 Modbus TCP 원격 액세스를 구현하는 방법

Modbus는 산업 자동화 분야에서 컨트롤러와 장치 간에 데이터를 교환하는 데 사용되는 통신 프로토콜입니다. Modbus TCP는 이더넷상의 TCP/IP 통신을 기반으로 하는 Modbus 프로토콜입니다. PHP 언어를 사용하면 Modbus TCP에 대한 원격 액세스를 쉽게 구현할 수 있습니다. 이 기사에서는 PHP를 통해 Modbus TCP 원격 액세스를 구현하는 방법을 소개하고 샘플 코드를 제공합니다.

1단계: PHP Modbus 라이브러리 설치
먼저 PHP 환경에 PHP Modbus 라이브러리를 설치해야 합니다. Composer를 통해 설치하고 터미널을 열고 프로젝트 디렉터리로 전환한 후 다음 명령을 실행하세요:

composer require php-modbus/php-modbus

2단계: Modbus TCP 연결 만들기
PHP 코드에서 다음을 수행할 수 있습니다. PHP Modbus 라이브러리를 사용하여 Modbus TCP 장치에 대한 연결을 설정합니다. 다음은 샘플 코드입니다.

<?php

require 'vendor/autoload.php';

use PhpModbusPhpModbus;

$ip = '192.168.0.10';    // Modbus TCP设备的IP地址
$port = 502;             // Modbus TCP设备的端口号

$phpModbus = new PhpModbus();
$phpModbus->connectTCP($ip, $port);

// 连接成功后,可以进行数据的读写操作

// 关闭连接
$phpModbus->disconnect();

?>

3단계: Modbus 레지스터 데이터 읽기
Modbus TCP 연결을 설정한 후 PHP Modbus 라이브러리를 사용하여 Modbus 장치의 레지스터 데이터를 읽을 수 있습니다. 다음은 샘플 코드입니다.

<?php

// 建立Modbus TCP连接,参考步骤2

$startAddress = 0;        // 起始寄存器地址
$quantity = 10;           // 读取寄存器的数量

// 读取指定数量的寄存器数据
$readData = $phpModbus->readMultipleRegisters(0, $startAddress, $quantity);

// 打印读取到的寄存器数据
print_r($readData);  

?>

4단계: Modbus 레지스터 데이터 쓰기
레지스터 데이터를 읽는 것 외에도 PHP Modbus 라이브러리를 사용하여 Modbus 장치에 레지스터 데이터를 쓸 수도 있습니다. 다음은 샘플 코드입니다.

<?php

// 建立Modbus TCP连接,参考步骤2

$registerAddress = 0;     // 写入寄存器的地址
$data = [100, 200, 300];  // 需要写入的数据

// 写入寄存器数据
$phpModbus->writeMultipleRegisters(0, $registerAddress, $data);

?>

요약하자면, PHP Modbus 라이브러리를 사용하면 Modbus TCP에 대한 원격 액세스를 쉽게 얻을 수 있습니다. 연결이 설정된 후 레지스터 데이터를 읽고 쓰는 방식으로 Modbus 장치와의 데이터 상호 작용을 수행할 수 있습니다. 이 기사가 귀하의 PHP 프로젝트에서 Modbus TCP 원격 액세스를 성공적으로 구현하는 데 도움이 되기를 바랍니다.

위 내용은 PHP를 통해 Modbus TCP 원격 액세스를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.