>  기사  >  백엔드 개발  >  PHP를 사용하여 Modbus TCP 데이터 모니터링 및 수집을 구현하는 방법

PHP를 사용하여 Modbus TCP 데이터 모니터링 및 수집을 구현하는 방법

WBOY
WBOY원래의
2023-07-18 14:25:521384검색

PHP를 사용하여 Modbus TCP 데이터 모니터링 및 수집을 구현하는 방법

소개:
산업 자동화의 급속한 발전과 함께 일반적으로 사용되는 통신 프로토콜인 Modbus 프로토콜은 산업 제어 분야에서 널리 사용됩니다. 이 기사에서는 PHP 언어를 사용하여 Modbus TCP 데이터를 모니터링 및 수집하는 방법을 소개하고 코드 예제를 사용하여 독자가 빠르게 시작할 수 있도록 돕습니다.

1. Modbus TCP 소개
Modbus 통신 프로토콜은 Modbus TCP/IP 프로토콜을 통해 TCP/IP 프로토콜로 변환되어 원격 통신이 가능한 직렬 통신 프로토콜입니다. Modbus TCP는 요청/응답 모드를 채택하는 연결 지향 메시지 기반 프로토콜로, 마스터 스테이션이 슬레이브 스테이션에 읽기 및 쓰기 요청을 보내고 슬레이브 스테이션으로부터 응답을 얻을 수 있도록 합니다.

2. PHP Modbus 라이브러리 설치
PHP에는 Modbus TCP 통신을 쉽게 구현할 수 있는 타사 라이브러리가 있습니다. 여기서는 phpmodbus 라이브러리를 선택합니다.
Composer를 사용하면 phpmodbus 라이브러리를 쉽게 설치할 수 있습니다. 프로젝트 루트 디렉터리에 작곡가.json 파일을 생성하고 다음 콘텐츠를 추가합니다.

{
  "require": {
    "mamuesp/phpmodbus": "dev-master"
  }
}

그런 다음 명령줄에서 composer install 명령을 실행하고 설치가 완료될 때까지 기다립니다.

3. Modbus TCP 읽기 작업의 예
다음은 phpmodbus 라이브러리를 사용하여 Modbus TCP 읽기 작업을 구현하는 샘플 코드입니다.

require_once 'vendor/autoload.php';

$ip = '192.168.1.1';  // Modbus从站IP地址
$port = 502;  // Modbus从站端口号
$unitId = 1;  // 从站ID

use PhpmodbusPhpmodbus;

// 创建实例
$modbus = new Phpmodbus();

// 连接到Modbus从站
$modbus->connectTcp($ip, $port);

// 读取保持寄存器(地址为0x0001)的值
$data = $modbus->readMultipleRegisters($unitId, 1, 1);

// 输出结果
if($data != false) {
    echo "读取成功!
";
    echo "寄存器值:".implode(",", $data)."
";
} else {
    echo "读取失败!
";
}

// 断开连接
$modbus->disconnect();

4. Modbus TCP 쓰기 작업의 예
다음은 다음과 같은 예제 코드입니다. phpmodbus 라이브러리를 사용하여 Modbus TCP 쓰기 작업을 구현합니다.

require_once 'vendor/autoload.php';

$ip = '192.168.1.1';  // Modbus从站IP地址
$port = 502;  // Modbus从站端口号
$unitId = 1;  // 从站ID

use PhpmodbusPhpmodbus;

// 创建实例
$modbus = new Phpmodbus();

// 连接到Modbus从站
$modbus->connectTcp($ip, $port);

// 写入保持寄存器(地址为0x0001)的值为100
$modbus->writeSingleRegister($unitId, 1, 100);

// 断开连接
$modbus->disconnect();

5. 결론
이 기사에서는 PHP를 사용하여 Modbus TCP 데이터 모니터링 및 수집을 구현하는 방법을 소개하고 독자에게 해당 코드 예제를 제공합니다. 코드 예제 시연을 통해 독자는 phpmodbus 라이브러리를 사용하여 Modbus TCP 읽기 및 쓰기 작업을 구현하는 방법을 배울 수 있습니다. 이 글이 독자들에게 실제 개발에 도움이 되고, 산업 자동화 분야의 응용 분야에서 역할을 할 수 있기를 바랍니다.

위 내용은 PHP를 사용하여 Modbus TCP 데이터 모니터링 및 수집을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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