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 중국어 웹사이트의 기타 관련 기사를 참조하세요!