>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 Modbus TCP 통신 코드를 작성하는 방법

PHP를 사용하여 Modbus TCP 통신 코드를 작성하는 방법

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2023-07-18 10:17:181939검색

PHP를 이용한 Modbus TCP 통신 코드 작성 방법

Modbus는 산업 자동화 분야에서 사용되는 통신 프로토콜로 PLC(Programmable Logic Controller)와 기타 자동화 장비 간의 데이터 전송에 널리 사용됩니다. Modbus TCP는 TCP/IP 프로토콜 스택을 전송 계층으로 사용하여 네트워크를 통한 원격 통신을 허용하는 Modbus 프로토콜의 변형입니다.

이 글에서는 PHP를 사용하여 Modbus TCP 통신 코드를 작성하는 방법을 소개하고 몇 가지 코드 예제를 제공합니다.

  1. Modbus TCP를 지원하는 PHP 확장 설치
    먼저 Modbus 프로토콜을 작동하기 위한 기능과 방법을 제공하는 PHP용 Modbus 확장을 설치해야 합니다. PECL(PHP Extension Community Library) 웹사이트에서 phpmodbus, phpmodbuscli 등 다양한 확장 기능을 찾을 수 있습니다. 운영 체제 및 PHP 버전에 따라 적절한 확장을 선택하고 설치하십시오.
  2. Modbus TCP 연결 만들기
    PHP에서는 modbus_new 함수를 사용하여 Modbus TCP 연결을 만들 수 있습니다. 샘플 코드는 다음과 같습니다.
<?php
// 创建Modbus TCP连接
$modbus = modbus_new_tcp("192.168.1.1", 502);
if(!$modbus) {
    die("无法创建Modbus TCP连接");
}
?>

위 코드에서는 원격 장치의 IP 주소 및 포트 번호를 포함한 매개변수와 함께 modbus_new_tcp 함수를 사용하여 Modbus TCP 연결을 생성합니다. 연결 생성에 실패하면 die 함수를 사용하여 오류 메시지를 출력하고 프로그램을 종료합니다.

  1. Modbus 레지스터 읽기
    Modbus TCP 연결이 생성되면 modbus_read_registers 함수를 사용하여 지정된 레지스터를 읽을 수 있습니다. 샘플 코드는 다음과 같습니다.
<?php
// 读取Modbus寄存器
$address = 0; // 起始寄存器的地址
$count = 10; // 要读取的寄存器数量
$data = modbus_read_registers($modbus, $address, $count);
if(!$data) {
    die("无法读取Modbus寄存器");
}
?>

위 코드에서는 modbus_read_registers 함수를 사용하여 지정된 주소에서 시작하여 지정된 개수의 레지스터를 읽습니다. 읽기가 실패하면 die 함수를 사용하여 오류 메시지를 출력하고 프로그램을 종료합니다.

  1. Write Modbus 레지스터
    레지스터를 읽는 것 외에도 modbus_write_register 함수를 사용하여 지정된 레지스터에 쓸 수도 있습니다. 다음은 샘플 코드입니다.
<?php
// 写入Modbus寄存器
$address = 0; // 要写入寄存器的地址
$value = 100; // 要写入的值
$result = modbus_write_register($modbus, $address, $value);
if(!$result) {
    die("无法写入Modbus寄存器");
}
?>

위 코드에서는 modbus_write_register 함수를 사용하여 지정된 레지스터에 지정된 값을 씁니다. 쓰기가 실패하면 die 함수를 사용하여 오류 메시지를 출력하고 프로그램을 종료합니다.

  1. Modbus TCP 연결 닫기
    Modbus 통신이 완료된 후 modbus_close 함수를 사용하여 Modbus TCP 연결을 닫아 리소스를 해제해야 합니다. 샘플 코드는 다음과 같습니다.
<?php
// 关闭Modbus TCP连接
modbus_close($modbus);
?>

위 코드에서는 modbus_close 함수를 사용하여 이전에 생성한 Modbus TCP 연결을 닫습니다.

요약
이 글에서는 PHP를 이용하여 Modbus TCP 통신 코드를 작성하는 방법을 소개합니다. 먼저 Modbus TCP를 지원하는 PHP 확장을 설치해야 합니다. 그런 다음 Modbus TCP 연결을 생성하고 레지스터 읽기 및 쓰기를 통해 데이터 전송을 수행합니다. 마지막으로 Modbus TCP 연결을 닫아 리소스를 해제합니다. 이 코드 예제가 PHP에서 Modbus TCP 통신을 구현하고 산업 자동화 분야에서 응용 프로그램을 찾는 데 도움이 되기를 바랍니다.

위 내용은 PHP를 사용하여 Modbus TCP 통신 코드를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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