현재 위치: > 최신 기사 목록> PHP 프로그래밍 기술 : Modbus TCP 데이터 필터링 및 분석 방법 구현

PHP 프로그래밍 기술 : Modbus TCP 데이터 필터링 및 분석 방법 구현

M66 2025-05-31

PHP에서 Modbus TCP 데이터 읽기 및 분석 구현을위한 실용적인 방법

Modbus TCP는 산업 자동화 분야에서 널리 사용되는 통신 프로토콜입니다. 이더넷을 통한 장치 간의 데이터 상호 작용을 지원합니다. PHP 개발에서 Modbus TCP 통신 및 필터를 설정하고 반환 된 데이터를 분석하는 방법은 많은 엔지니어링 프로젝트의 핵심 요구 사항입니다. 이 기사에서는 연결, 요청 및 데이터 처리와 같은 주요 링크를 다루는 전체 PHP 구현 솔루션 세트를 안내합니다.

MODBUS TCP 연결을 설정하십시오

phpmodbus 라이브러리를 사용하여 Modbus TCP 장치와의 연결을 빠르게 설정하십시오. 먼저 작곡가를 통해 설치해야합니다.

 composer require modbus/tcp-php

설치가 완료되면 다음 코드를 통해 장치와의 통신 연결을 설정할 수 있습니다.

 <?php
require __DIR__ . '/vendor/autoload.php';

use ModbusTcpClient\Network\BinaryStreamConnection;

$ip = '192.168.1.100';
$port = 502;

$connection = new BinaryStreamConnection($ip, $port);
$connection->connect();

// 여기서 할 수 있습니다Modbus TCP의사소통

$connection->close();
?>

modbus tcp 읽기 요청을 보내십시오

연결이 성공하면 라이브러리의 메소드를 사용하여 Hold Register에서 데이터를 읽는 등 요청을 보낼 수 있습니다.

 use ModbusTcpClient\Request\ReadHoldingRegistersRequest;
use ModbusTcpClient\Utils\Types;

$request = new ReadHoldingRegistersRequest(0, 10);
$response = $connection->sendRequest($request);

if ($response->isOk()) {
    $data = Types::parseByteArray($response->getData());
    print_r($data);
} else {
    echo '요청이 실패했습니다:' . $response->getErrorMessage();
}

위의 코드는 시작 주소가 0 인 10 개의 홀드 레지스터를 읽고 반환 된 바이트 데이터를 구문 분석합니다.

Modbus를 필터링하고 분석하여 데이터를 반환합니다

실제 응용 분야에서는 종종 특정 조건이있는 데이터에만 관심이 있습니다. 예를 들어, 100보다 큰 값의 등록 데이터 만 분석하고 다음 방법을 사용하여 필터링 할 수 있습니다.

 if ($response->isOk()) {
    $data = Types::parseByteArray($response->getData());

    $filteredData = array_filter($data, function($value) {
        return $value > 100;
    });

    print_r($filteredData);
} else {
    echo '요청이 실패했습니다:' . $response->getErrorMessage();
}

array_filter 함수를 통해 필터링 로직을 요구에 따라 사용자 정의 할 수 있으므로 후속 처리 또는 디스플레이에 유용한 데이터를 추출 할 수 있습니다.

요약

이 기사는 장치 연결, 등록 및 데이터 스크리닝 및 분석을 포함하여 Modbus TCP 통신에 PHP를 사용하는 주요 단계를 소개합니다. phpmodbus 라이브러리의 도움으로 개발자는 Modbus 프로토콜을 PHP 프로젝트에 쉽게 통합 할 수 있습니다. 특히 산업 모니터링, 원격 제어 및 지능형 제조 시나리오에 적합합니다.

이러한 기술을 마스터하면 산업 제어 웹 애플리케이션을보다 편안하게 개발할 수 있습니다.