>백엔드 개발 >PHP 튜토리얼 >PHP 프로그래밍 기술: Modbus TCP 데이터 필터링 및 분석 방법 구현

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

王林
王林원래의
2023-07-17 11:55:41707검색

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

Modbus TCP는 일반적으로 사용되는 통신 프로토콜로 다양한 장치와 통신하는 데 사용할 수 있으며 산업 제어 분야에서 매우 널리 사용됩니다. PHP 프로그래밍에서 Modbus TCP 데이터를 필터링하고 분석하는 방법은 중요한 기술이자 요구 사항입니다. 이 기사에서는 Modbus TCP 데이터 필터링 및 분석 방법을 구현하는 데 도움이 되는 몇 가지 PHP 프로그래밍 기술을 소개합니다.

1. Modbus TCP 연결 설정

PHP에서는 "phpmodbus" 라이브러리를 사용하여 Modbus TCP 장치와 연결을 설정할 수 있습니다. 먼저 라이브러리를 설치해야 합니다. 다음 명령을 실행하여 설치하세요.

composer require modbus/tcp-php

설치가 완료되면 라이브러리를 사용할 수 있습니다. 다음은 Modbus TCP 연결을 설정하는 코드 예제입니다.

<?php

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

use ModbusTcpClientNetworkBinaryStreamConnection;

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

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

// 在这里可以进行Modbus TCP通信

$connection->close();

2. Modbus TCP 요청 보내기

장치와 연결을 설정한 후 "phpmodbus" 라이브러리를 사용하여 Modbus TCP 요청을 보낼 수 있습니다. 다음은 홀딩 레지스터를 읽기 위해 Modbus TCP 요청을 보내는 코드 예제입니다.

...

use ModbusTcpClientRequestReadHoldingRegistersRequest;
use ModbusTcpClientUtilsTypes;

$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개의 홀딩 레지스터를 읽으라는 요청을 보내고 결과 데이터를 인쇄용 배열로 구문 분석합니다.

3. 데이터 선별 및 분석

실제 프로젝트에서는 일반적으로 모든 데이터를 직접 처리하지 않고 필요에 따라 선별하고 분석합니다. 예를 들어 보유 레지스터에서 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 함수를 사용하여 데이터를 필터링하고 데이터만 유지합니다. 100보다 큰 값으로 인쇄합니다.

4. 요약

위의 PHP 프로그래밍 기술을 통해 Modbus TCP 데이터의 선별 및 분석을 쉽게 구현할 수 있습니다. 먼저 Modbus TCP 장치에 대한 연결을 설정한 다음 Modbus TCP 요청을 보내고 그 안에 있는 데이터를 처리합니다. 마지막으로 데이터를 필터링하고 분석하는 방법도 보여줍니다.

이 기사가 PHP 프로그래밍에서 Modbus TCP 데이터의 스크리닝 및 분석 방법을 유연하게 적용하는 데 도움이 되기를 바랍니다. 즐거운 프로그래밍 되세요!

위 내용은 PHP 프로그래밍 기술: Modbus TCP 데이터 필터링 및 분석 방법 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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