패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.2.0

modbus

Dart용 간단한 Modbus 클라이언트 라이브러리입니다. 현재는 TCP 연결만 지원됩니다.

AndroidiOSmacOSWindowsLinux
30일 다운로드
878
좋아요
36
Pub 점수
140

패키지 설치

flutter pub add modbus

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Dart용 간단한 Modbus 클라이언트 라이브러리로 TCP를 통해 Modbus 장치와 통신할 수 있습니다. 산업 자동화 시스템에서 데이터를 읽고 쓸 수 있는 직관적인 API를 제공하여 IoT 및 SCADA 애플리케이션에 적합합니다. 현재는 TCP 연결 지원만 가능하며, UDP 또는 RTU 구현은 없습니다. 이 라이브러리는 Android, iOS, macOS, Windows, Linux 등 여러 플랫폼과 호환되어 산업 제어 솔루션의 크로스플랫폼 개발을 가능하게 합니다.

사용 사례

  • 산업용 IoT 모니터링
  • SCADA 시스템 통합
  • 공장 자동화
  • 원격 장치 데이터 검색
  • 실시간 센서 데이터 수집

주요 기능

  • TCP 전용 Modbus 지원
  • 크로스 플랫폼 호환성
  • 레지스터 읽기/쓰기용 간단한 API
  • 경량이며 통합이 쉬움
  • 표준 Modbus 기능 코드를 지원합니다

적합한 대상

  • 산업 자동화 앱을 개발하는 개발자
  • Modbus 통신이 필요한 IoT 프로젝트
  • PLC를 관리하는 백엔드 서비스
  • Dart를 사용하는 임베디드 시스템 통합자
  • 크로스 플랫폼 산업용 소프트웨어

고려 사항

  • RTU 또는 UDP 프로토콜 지원 없음
  • TCP 기반 Modbus 장치에 제한됨
  • PLC 접근을 위해 적절한 네트워크 구성이 필요합니다
  • 최적화 없이 고주파 풀링에 적합하지 않습니다
  • 안정적인 네트워크 연결에 의존함

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

modbus-dart

Simple Modbus client library for dart. Currently only the TCP connection is supported.

pub package

Usage

Single slave (Modbus RTU)
import 'package:modbus/modbus.dart' as modbus;


main(List<String> arguments) async {
    
  var client = modbus.createTcpClient(
    '10.170.1.20',
    port: 1001,
    mode: modbus.ModbusMode.rtu,
  );
    
  try {
    await client.connect();
    
    var slaveIdResponse = await client.reportSlaveId();
    
    print("Slave ID: " + slaveIdResponse);
  } finally {
    client.close();
  }
}
Multi slaves with one connection (Modbus RTU)
import 'package:modbus/modbus.dart' as modbus;


main(List<String> arguments) async {
    
  var client = modbus.createTcpClient(
    '10.170.1.20',
    port: 1001,
    mode: modbus.ModbusMode.rtu,
  );
    
  try {
    await client.connect();
    
    client.setUnitId(100);
    var slaveIdResponse = await client.reportSlaveId();
    
    print("Slave ID: " + slaveIdResponse);

    client.setUnitId(150);
    var slaveIdResponse = await client.reportSlaveId();

    print("Slave ID: " + slaveIdResponse);
  } finally {
    client.close();
  }
}

Limitations

SerialConnector is not implemented yet.

카테고리

의존성

의존성 목록 1 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.