산업 자동화의 빠른 개발로 인해 일반적으로 사용되는 통신 프로토콜로서 Modbus 프로토콜은 산업 제어 분야에서 널리 사용되었습니다. 이 기사는 PHP 언어를 사용하여 Modbus TCP 프로토콜의 데이터 모니터링 및 수집을 구현하는 방법을 소개하여 개발자가 코드 예제를 신속하게 시작할 수 있도록 도와줍니다.
MODBUS 통신 프로토콜은 직렬 통신 프로토콜이며 MODBUS TCP 프로토콜은이를 TCP/IP 프로토콜로 변환하여 원격 통신을 지원합니다. Modbus TCP는 연결 지향 메시지 지향 프로토콜로서 요청/응답 모드를 채택하여 마스터가 슬레이브에 데이터 요청을 보내고 응답을 얻을 수 있도록합니다.
MODBUS TCP 통신을 구현하기 위해 타사 PHP 라이브러리를 사용하여 개발을 단순화 할 수 있습니다. 작곡가를 통해 쉽게 설치할 수있는 Phpmodbus 라이브러리를 선택했습니다. 프로젝트 루트 디렉토리에서 composer.json 파일을 만들고 다음 내용을 추가하십시오.
{
"require": {
"mamuesp/phpmodbus": "dev-master"
}
}
그런 다음 명령 줄에서 작곡가 설치 명령을 실행하고 설치가 완료 될 때까지 기다립니다.
다음은 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->connectTcp($ip, $port);
$data = $modbus->readMultipleRegisters($unitId, 1, 1);
if($data != false) {
echo "성공적으로 읽으십시오!";
echo "등록 가치:" . implode(",", $data);
} else {
echo "읽지 못했습니다!";
}
$modbus->disconnect();
다음은 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->connectTcp($ip, $port);
$modbus->writeSingleRegister($unitId, 1, 100);
$modbus->disconnect();
이 기사는 PHP 언어를 사용하여 PHPModbus 라이브러리를 통해 Modbus TCP 프로토콜의 데이터 모니터링 및 수집을 구현하는 방법을 소개합니다. 자세한 코드 예제를 통해 독자는 산업 자동화 분야에서 MODBUS 프로토콜의 읽기 및 쓰기 작업을 적용하는 방법에 대한 명확한 이해를 가질 수 있습니다. 이 기사가 귀하의 개발 작업에 도움이되기를 바랍니다.