사용자 도구

사이트 도구


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