사용자 도구

사이트 도구


commands:communication

문서의 이전 판입니다!


산업용 통신

Modbus RTU Slave

ImodbusRTUMem()으로 M·D 메모리 크기를 정하고 ImodbusRTUAdr()로 시작 주소를 설정합니다. ImodbusRTUInit(serial, slaveId, baudrate) 후 loop()에서 ImodbusRTU()를 계속 호출합니다.

Modbus RTU Master

ImodbusRTUmasterInit()으로 포트를 초기화합니다. 단일 요청은 ImodbusRTUmaster(), 등록 요청은 ImodbusRTUmasterAdd()와 ImodbusRTUmasterRun()을 사용합니다. 반환 상태는 IMODBUS_RTU_SUCCESS, Timeout, CRC 오류 등의 상수로 확인합니다.

LS산전 Cnet Slave

ICnetMem()과 ICnetAdr()로 M·D·R 영역을 설정하고 ICnetInit(serial, slaveId, baudrate) 후 loop()에서 ICnet()을 호출합니다.

Mitsubishi MC Protocol Slave

IMcMem()과 IMcAdr()로 X·Y·M·D 영역을 설정하고 IMcInit(serial, stationNo, baudrate) 후 loop()에서 IMcProtocol()을 호출합니다.

void setup() {
  ImodbusRTUMem(128, 64);
  ImodbusRTUAdr(0, 0);
  ImodbusRTUInit(Serial2, 1, 9600);
}
void loop() { ImodbusRTU(); }

명령어 원형

반환형 명령어 원형
void ImodbusRTUMem(uint16_t m_size, uint16_t d_size)
void ImodbusRTUAdr(uint16_t m_offset, uint16_t d_offset)
void ImodbusRTUInit(HardwareSerial& serialPort, uint8_t slaveId, long baudrate)
void ImodbusRTU()
void ImodbusRTU(HardwareSerial& serialPort)
void ImodbusRTUmasterInit(HardwareSerial& serialPort, long baudrate)
void ImodbusRTUmasterInit(HardwareSerial& serialPort, long baudrate, uint8_t config)
uint8_t ImodbusRTUmaster(HardwareSerial& serialPort, uint8_t slaveId, uint8_t functionCode, uint16_t address, uint16_t quantity, uint16_t* data, uint16_t timeoutMs = 100)
bool ImodbusRTUmasterAdd(HardwareSerial& serialPort, uint8_t slaveId, uint8_t functionCode, uint16_t address, uint16_t quantity, uint16_t* data, uint16_t timeoutMs = 100)
uint8_t ImodbusRTUmasterRun()
uint8_t ImodbusRTUmasterRun(HardwareSerial& serialPort, uint8_t slaveId, uint8_t functionCode, uint16_t address, uint16_t quantity, uint16_t* data, uint16_t timeoutMs = 100)
void ICnetMem(uint16_t m_size, uint16_t d_size, uint16_t r_size = 100)
void ICnetAdr(uint16_t m_offset, uint16_t d_offset, uint16_t r_offset = 0)
void ICnetInit(HardwareSerial& serialPort, uint8_t slaveId, long baudrate)
void ICnet()
void IMcMem(uint16_t x_size, uint16_t y_size, uint16_t m_size, uint16_t d_size)
void IMcAdr(uint16_t x_offset, uint16_t y_offset, uint16_t m_offset, uint16_t d_offset)
void IMcInit(HardwareSerial& serialPort, uint8_t stationNo, long baudrate)
void IMcProtocol()

제품별 Serial 번호, RS-232·RS-485 방식, 보레이트, 국번, 패리티, 종단저항과 딥스위치를 확인하십시오. 한 포트를 여러 프로토콜이 동시에 사용하지 않도록 구성하십시오.

← 내장 명령어 리스트

commands/communication.1788184327.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki