>백엔드 개발 >PHP 튜토리얼 >Modbus TCP 장치 제어를 위한 PHP 스크립트를 개발하는 방법

Modbus TCP 장치 제어를 위한 PHP 스크립트를 개발하는 방법

WBOY
WBOY원래의
2023-07-18 13:31:53795검색

Modbus TCP 장치 제어를 구현하기 위한 PHP 스크립트 개발 방법

Modbus는 산업 자동화 분야에서 사용되는 통신 프로토콜로 다양한 장치의 제어 및 모니터링에 널리 사용됩니다. 이 기사에서는 PHP 개발 스크립트를 사용하여 Modbus TCP 장치 제어를 구현하는 방법을 살펴보겠습니다.

먼저 Modbus TCP 프로토콜의 기본 원리를 이해해야 합니다. Modbus TCP 프로토콜은 통신에 TCP/IP 프로토콜을 사용하는 이더넷 기반 Modbus 프로토콜의 변형입니다. Modbus TCP에서 각 장치에는 장치에 대한 읽기 및 쓰기 작업을 수행할 수 있는 고유한 IP 주소가 있습니다. Modbus TCP 장치에는 일반적으로 장치의 상태와 매개변수를 저장하는 데 사용되는 일부 레지스터(Register)가 있습니다.

다음으로, PHP 스크립트를 사용하여 Modbus TCP 장치를 제어하는 ​​방법을 보여주는 예를 사용하겠습니다. 장치의 출력 상태를 제어하기 위한 Holding Register(홀딩 레지스터)가 있는 Modbus TCP 장치를 제어한다고 가정해 보겠습니다. 장치의 출력 상태를 제어하려면 PHP 스크립트를 통해 이 레지스터에 써야 합니다.

먼저 PHP 스크립트 파일을 생성하고 파일 시작 부분에 Modbus TCP 라이브러리를 도입해야 합니다.

<?php

require_once('phpmodbus/ModbusMaster.php');

// 设置Modbus TCP设备的IP地址和端口号
$host = "192.168.1.1";
$port = 502;

// 创建Modbus TCP主站对象
$modbus = new ModbusMaster($host, $port);

다음으로 Modbus TCP 장치에 연결해야 합니다.

$modbus->connect();

그런 다음 다음과 같이 할 수 있습니다. writeSingleRegister 메소드를 호출하여 보유 레지스터의 값을 씁니다: <code>writeSingleRegister方法来写入保持寄存器的值:

$registerAddress = 0; // 保持寄存器的地址
$value = 1; // 要写入的值

$modbus->writeSingleRegister(0, $registerAddress, $value);

在上面的示例中,我们将保持寄存器的地址设置为0,将要写入的值设置为1。通过调用writeSingleRegister方法,我们可以将这个值写入设备的保持寄存器中。

最后,我们需要关闭与Modbus TCP设备的连接:

$modbus->disconnect();

通过以上的步骤,我们实现了使用PHP脚本来控制Modbus TCP设备的目标。

需要注意的是,上述示例中的phpmodbus/ModbusMaster.phprrreee

위의 예에서는 보유 레지스터의 주소를 0으로 설정하고 쓸 값을 1로 설정합니다. writeSingleRegister 메서드를 호출하면 이 값을 장치의 보유 레지스터에 쓸 수 있습니다.

마지막으로 Modbus TCP 장치와의 연결을 종료해야 합니다.

rrreee

위 단계를 통해 PHP 스크립트를 사용하여 Modbus TCP 장치를 제어한다는 목표를 달성했습니다. 🎜🎜위 예의 phpmodbus/ModbusMaster.php는 타사 Modbus TCP 라이브러리이므로 GitHub에서 찾아 필요에 따라 사용자 정의하고 수정할 수 있습니다. 🎜🎜요약하자면, 위의 단계를 통해 PHP 스크립트를 사용하여 Modbus TCP 장치를 제어하는 ​​방법을 시연했습니다. 이러한 방식으로 장치에서 읽기 및 쓰기 작업을 쉽게 구현할 수 있으므로 유연한 장치 제어 및 모니터링이 가능합니다. 🎜🎜이 기사가 Modbus TCP 장치를 제어하기 위해 PHP 스크립트를 이해하고 사용하는 데 도움이 되기를 바랍니다. 산업자동화 분야에서 더 많은 성공을 기원합니다! 🎜

위 내용은 Modbus TCP 장치 제어를 위한 PHP 스크립트를 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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