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