백엔드 개발 PHP 튜토리얼 PHP를 통해 Modbus TCP의 일괄 읽기 및 쓰기를 구현하는 방법

PHP를 통해 Modbus TCP의 일괄 읽기 및 쓰기를 구현하는 방법

Jul 17, 2023 pm 03:54 PM
php modbus tcp 일괄 읽기 쓰다

PHP를 통해 Modbus TCP의 일괄 읽기 및 쓰기를 구현하는 방법

1. Modbus TCP 소개
Modbus TCP는 TCP/IP 프로토콜을 기반으로 하는 산업용 통신 프로토콜로 산업 제어 분야에서 장비 통신에 흔히 사용됩니다. Modbus TCP 프로토콜을 사용하면 장치 간 데이터 읽기 및 쓰기 작업이 가능합니다. 이 기사에서는 PHP 언어를 사용하여 Modbus TCP의 일괄 읽기 및 쓰기를 구현하고 해당 코드 예제를 첨부하는 방법을 소개합니다.

2. 환경 준비
PHP 코드 작성을 시작하기 전에 해당 PHP 확장 프로그램과 환경을 설치해야 합니다. PHP 및 Modbus TCP 관련 확장이 서버에 설치되어 있는지 확인하십시오. 설치가 완료되면 phpinfo() 함수를 사용하여 PHP가 정상적으로 실행되고 있는지, Modbus TCP 확장이 로드되었는지 확인할 수 있습니다.

3. Modbus TCP 연결 및 통신
PHP에서는 modbus_new_tcp() 함수를 사용하여 Modbus TCP 연결을 만들 수 있습니다. 이 함수는 두 개의 매개변수를 허용합니다. 첫 번째 매개변수는 Modbus TCP 서버의 IP 주소이고 두 번째 매개변수는 Modbus TCP 서버의 포트 번호입니다. 다음은 샘플 코드입니다.

$modbus = modbus_new_tcp("192.168.1.10", 502);
if (!$modbus) {
    die('Failed to create Modbus TCP connection');
}
로그인 후 복사

성공적으로 생성된 후 modbus_read_input_registers() 함수를 사용하여 데이터를 읽을 수 있습니다. 이 함수는 Modbus TCP 연결, 슬레이브 주소, 레지스터 주소 및 읽기 수의 네 가지 매개변수를 허용합니다. 다음은 입력 레지스터를 읽는 샘플 코드입니다.

$data = modbus_read_input_registers($modbus, 1, 0, 10);
if ($data === false) {
    die('Failed to read input registers');
}
print_r($data);
로그인 후 복사

위 코드를 통해 슬레이브 주소가 1인 장치의 레지스터 0부터 시작하여 10개의 레지스터의 데이터를 읽고 그 결과를 출력할 수 있습니다.

장치에 써야 하는 경우 modbus_write_single_register() 함수를 사용할 수 있습니다. 이 함수는 Modbus TCP 연결, 슬레이브 주소, 레지스터 주소 및 쓸 데이터의 네 가지 매개 변수를 허용합니다. 다음은 단일 레지스터에 쓰기 위한 샘플 코드입니다.

$success = modbus_write_single_register($modbus, 1, 0, 100);
if (!$success) {
    die('Failed to write single register');
}
로그인 후 복사

위 코드를 사용하면 슬레이브 주소가 1인 장치의 레지스터 0에 데이터 100을 쓸 수 있습니다.

4. 일괄 읽기 및 쓰기
실제 프로젝트에서는 동시에 여러 장치에서 데이터를 읽고 써야 할 수도 있습니다. modbus_read_input_registers_batch() 함수와 modbus_write_single_register_batch() 함수를 사용하여 일괄 작업을 구현할 수 있습니다.

modbus_read_input_registers_batch() 함수는 Modbus TCP 연결, 장치 주소 및 레지스터 주소 배열이라는 세 가지 매개 변수를 허용합니다. 다음은 입력 레지스터 일괄 읽기를 위한 샘플 코드입니다.

$addresses = [0, 1, 2, 3, 4];
$data = modbus_read_input_registers_batch($modbus, 1, $addresses);
if (!$data) {
    die('Failed to read input registers batch');
}
print_r($data);
로그인 후 복사

modbus_write_single_register_batch() 함수는 Modbus TCP 연결, 장치 주소, 레지스터 및 데이터 배열 등 세 가지 매개 변수를 허용합니다. 다음은 단일 레지스터에 일괄 쓰기를 위한 샘플 코드입니다.

$registersAndData = [
    [0, 100],
    [1, 200],
    [2, 300],
    [3, 400],
];
$success = modbus_write_single_register_batch($modbus, 1, $registersAndData);
if (!$success) {
    die('Failed to write single register batch');
}
로그인 후 복사

위 코드를 사용하면 장치 그룹의 레지스터를 동시에 읽고 쓸 수 있습니다.

5. 요약
위의 소개와 샘플 코드를 통해, Modbus TCP의 일괄 읽기 및 쓰기를 PHP 언어로 구현하는 것이 비교적 간단하다는 것을 알 수 있습니다. 해당 환경을 준비하고 Modbus TCP와 관련된 PHP 확장 기능을 사용하면 기기 간 통신 및 데이터 운용을 쉽게 구현할 수 있습니다.

위 내용은 PHP를 통해 Modbus TCP의 일괄 읽기 및 쓰기를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP로 txt 파일을 작성할 때 중국어 왜곡 문자를 해결하기 위한 팁 PHP로 txt 파일을 작성할 때 중국어 왜곡 문자를 해결하기 위한 팁 Mar 27, 2024 pm 01:18 PM

PHP로 작성한 중국어 왜곡 문자를 txt 파일로 해결하는 방법 인터넷의 급속한 발전과 함께 널리 사용되는 프로그래밍 언어인 PHP를 점점 더 많은 개발자가 사용하고 있습니다. PHP 개발에서는 중국어 내용이 포함된 txt 파일을 포함하여 텍스트 파일을 읽고 써야 하는 경우가 많습니다. 그러나 인코딩 형식 문제로 인해 때때로 작성된 중국어가 깨져서 나타날 수 있습니다. 이 기사에서는 PHP로 txt 파일에 작성된 중국어 문자 왜곡 문제를 해결하는 몇 가지 기술을 소개하고 구체적인 코드 예제를 제공합니다. PHP, 텍스트의 문제 분석

Java에서 OpenCSV를 사용하여 CSV 파일을 읽고 쓰는 예 Java에서 OpenCSV를 사용하여 CSV 파일을 읽고 쓰는 예 Dec 20, 2023 pm 01:39 PM

OpenCSV를 사용하여 Java에서 CSV 파일을 읽고 쓰는 예입니다. CSV(Comma-SeparatedValues)는 쉼표로 구분된 값을 나타내며 일반적인 데이터 저장 형식입니다. Java에서 OpenCSV는 CSV 파일을 읽고 쓰는 데 일반적으로 사용되는 도구 라이브러리입니다. 이 기사에서는 OpenCSV를 사용하여 CSV 파일을 읽고 쓰는 예제를 구현하는 방법을 소개합니다. OpenCSV 라이브러리 소개 먼저 OpenCSV 라이브러리를 소개해야 합니다.

PHP 파일 처리 시작하기: 읽기 및 쓰기에 대한 단계별 가이드 PHP 파일 처리 시작하기: 읽기 및 쓰기에 대한 단계별 가이드 Sep 06, 2023 am 09:58 AM

PHP 파일 처리 시작하기: 읽기 및 쓰기를 위한 단계별 가이드 웹 개발에서 파일 처리는 사용자가 업로드한 파일을 읽거나 후속 사용을 위해 결과를 파일에 쓰는 등 일반적인 작업입니다. PHP 문서 처리는 매우 중요합니다. 이 기사에서는 PHP에서 파일을 읽고 쓰는 기본 단계를 소개하고 참조용 코드 예제를 첨부하는 간단한 가이드를 제공합니다. PHP에서 파일 읽기, fopen() 함수를 사용하여 파일을 열고 파일 리소스(파일

PHP를 통해 Modbus TCP의 일괄 읽기 및 쓰기를 구현하는 방법 PHP를 통해 Modbus TCP의 일괄 읽기 및 쓰기를 구현하는 방법 Jul 17, 2023 pm 03:54 PM

PHP를 통해 ModbusTCP 일괄 읽기 및 쓰기를 구현하는 방법 1. ModbusTCP 소개 ModbusTCP는 TCP/IP 프로토콜을 기반으로 하는 산업용 통신 프로토콜로 산업 제어 분야의 장비 통신에 일반적으로 사용됩니다. ModbusTCP 프로토콜을 사용하면 장치 간 데이터 읽기 및 쓰기 작업이 가능합니다. 이 기사에서는 ModbusTCP의 일괄 읽기 및 쓰기를 구현하기 위해 PHP 언어를 사용하는 방법을 소개하고 해당 코드 예제를 첨부합니다. 2. 컴파일 시작시 환경 준비

PHP와 XML: XML 구성 파일을 읽고 쓰는 방법 PHP와 XML: XML 구성 파일을 읽고 쓰는 방법 Aug 07, 2023 am 09:25 AM

PHP 및 XML: XML 구성 파일을 읽고 쓰는 방법 개요: XML(Extensible Markup Language)은 데이터를 저장하고 전송하는 데 사용되는 마크업 언어입니다. PHP는 XML 파일을 처리하고 조작하는 데 사용할 수 있는 강력한 서버측 스크립팅 언어입니다. 이 기사에서는 PHP를 사용하여 XML 구성 파일을 읽고 쓰는 방법을 배웁니다. XML 구성 파일 읽기: 먼저 XML 파일을 로드해야 합니다. PHP는 XML 파일을 읽고 이를 객체나 배열로 구문 분석하는 간단한 기능을 제공합니다. 다음은 읽은 내용이다

Pandas를 사용하여 Excel을 내보내는 이해하기 쉬운 가이드 Pandas를 사용하여 Excel을 내보내는 이해하기 쉬운 가이드 Jan 24, 2024 am 08:22 AM

특정 코드 예제가 필요한 간단하고 이해하기 쉬운 Excel용 팬더 작성 튜토리얼 [소개] 팬더는 데이터 분석 및 처리에 있어 매우 강력한 Python 라이브러리입니다. 특히 표 형식 데이터 작업에 적합한 사용하기 쉬운 데이터 구조 및 데이터 분석 도구를 제공합니다. 그 중 엑셀 파일에 데이터를 쓰는 것은 매우 일반적인 작업입니다. 이 기사에서는 Pandas를 사용하여 Excel 파일에 데이터를 쓰는 방법을 소개하고 구체적인 코드 예제를 제공합니다. [준비] Pandas를 사용하기 전에,

컴퓨터가 메모리에 쓸 수 없고 화면이 검게 변합니다. 컴퓨터가 메모리에 쓸 수 없고 화면이 검게 변합니다. Feb 18, 2024 pm 08:07 PM

메모리는 기록할 수 없습니다: 컴퓨터 블랙 스크린 기술의 발전으로 컴퓨터는 우리 일상생활에 없어서는 안 될 도구가 되었습니다. 사무든 오락, 여가든 우리는 컴퓨터의 도움 없이는 할 수 없습니다. 그러나 때로는 컴퓨터에 갑작스러운 검은 화면, 충돌 등과 같은 몇 가지 문제가 발생하여 사용에 많은 문제를 가져옵니다. 일반적인 질문 중 하나는 "메모리를 쓸 수 없습니다"입니다. 이 오류 메시지가 컴퓨터에 나타나면 사용자는 종종 혼란스럽고 무력감을 느낍니다. 따라서 이 오류가 발생하는 이유는 다음과 같습니다.

Java 쓰기 디스크 예외(DiskWriteException)에 대한 솔루션 Java 쓰기 디스크 예외(DiskWriteException)에 대한 솔루션 Aug 17, 2023 am 10:01 AM

Java 쓰기 디스크 예외(DiskWriteException)에 대한 솔루션 소개: Java 프로그램에서는 지속성 작업을 위해 디스크에 데이터를 써야 하는 경우가 많습니다. 그러나 Java의 디스크 쓰기 작업을 사용할 때 때때로 DiskWriteException 예외가 발생합니다. 이 예외는 일반적으로 데이터를 디스크에 성공적으로 쓸 수 없음을 나타냅니다. 이 문서에서는 이 예외의 몇 가지 가능한 원인을 소개하고 해결 방법을 제공합니다. 1. 원인 분석: 디스크 공간 부족:

See all articles