상단

Serial Communication (시리얼 통신)


 

Serial Port

  • COM{n} Port

  • "장치 관리자 > 포트 (COM & LPT)" 메뉴에서 확인

  • 통신 속도 : 4800, 9600, 19200, 38400, 115200 bit/s

#--- Port 확인
mode
[System.IO.Ports.SerialPort]::getportnames()
 

Serial Communication

 

PowerShell

#--- Serial Communication
$port = new-Object System.IO.Ports.SerialPort  COM1,115200,None,8,one
$port.open()
$port.WriteLine("Hello world!")
$port.ReadLine()
$port.Close()
 

Node.js

npm  install  serialport  --save

import { SerialPort, ReadlineParser } from 'serialport';

const serial = new SerialPort('COM1', {
    baudrate: 9600,
    autoOpen: false
}, function(err) {});
serial.pipe(new ReadlineParser());

serial.on('open', function() {});
serial.on('error', function(err) {});
serial.on('readable', function() {
    const data = serial.read();
});
serial.on('data', function(data) {});


serial.open(function(err) {});          //--- autoOpen이 false인 경우
serial.write('~', function(err) {});
serial.write(Buffer.from('~'), function(err) {});
 

UART

  • Universal Asynchronous Receiver and Transmitter

 

RS-485

  • 반이중 통신

  • 최대 32개의 slave와 송수신 지원

  • 9핀, 15핀, 25핀 커넥터 지원

  • 연결 방식

    • 2선식 : Multi-Master 연결

    • 4선식 : Master-Slaves 연결

  • 관련 통신 방식

    • RS-232

    • RS-422 : 한개의 master와 slave간의 송수신 지원

    • RS-423

  • Pin

    • RTS (Request to pin) : 흐름제어

    • CTS (Clear to Send)

  • 통신 frame 구조

    • Start bit

    • Data : 5~ 9 bits (일반적으로 8)

    • Parity bit

    • Stop bit

 

메시지 프레임 구조

  • Normal packet

    • Pyaload : 2 bytes (0xF0F0)

    • Source ID : 1 byte

    • Data length : 1 byte

    • Packet class : 1 byte

      • 0x01 : Request, 요청

      • 0x02 : Response, 응답

      • 0x08 : Command, 명령

    • Data

    • Parity : 1 byte

    • EOF : 2 bytes (0x0d0a)

  • Large packet

    • Pyaload : 2 bytes (0xF0F0)

    • Data length : 1 byte

    • Packet class : 1 byte

    • Reserve : 1 byte

    • Data

    • Parity : 1 byte

    • EOF : 2 bytes (0x0d0a)

메시지 종류

  • 충전기 > Station

    • 상태 정보 응답

    • 오류 정보 응답

    • 제어 응답

  • Station > 충전기

    • 상태 정보 요청

    • 오류 정보 요청

    • 제어 명령

    • 예비 설정 모드

    • 가변 충전 전류 설정

    • 가변 전압 설정 제어 명령

    • 충전 방식 설정

최종 수정일: 2024-09-30 12:26:19

이전글 :
다음글 :