이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.
최신 버전 정보는 1.33.5에서 확인하세요.
get_modbus_input (자동 모드)
이 절에서는 자동(실행) 운전 중에 get_modbus_input으로 Modbus 슬레이브 장치에서 데이터를 읽는 방법을 설명합니다. 이를 통해 로봇은 Modbus로 연결된 PLC, 센서, 산업용 컨트롤러, 자동화 장비의 실시간 상태를 받을 수 있습니다.
일반적인 사용법
Modbus 기반 디지털/아날로그 모듈에서 센서 상태를 읽습니다.
PLC의 “machine-ready” 신호나 “cycle-complete” 신호를 기다립니다.
압력, 하중, 온도 같은 공정 값을 모니터링합니다.
자동 모드 시퀀스의 조건 로직에 Modbus 피드백을 사용합니다.
참고
strSymbol은add_modbus_signal로 추가한 Modbus 신호에 대응해야 합니다.통신 부하가 생기지 않도록 폴링 주기를 신중하게 관리해야 합니다.
로봇 모션 확인과 함께 사용해 안전하게 동기화된 운전을 구현하세요.
예제: Modbus로 PLC 신호 기다리기
// PLC가 Modbus 입력으로 "READY" 신호를 줄 때까지 대기
while (drfl.get_modbus_input("PLC_READY") == 0) {
printf("Waiting for PLC READY...\n");
std::this_thread::sleep_for(std::chrono::milliseconds(200));
}
printf("PLC READY received. Starting robot operation.\n");
float startPose[6] = {300.f, 200.f, 250.f, 180.f, 0.f, 0.f};
float vel[2] = {100.f, 50.f}, acc[2] = {300.f, 100.f};
drfl.movel(startPose, vel, acc);
이 예제에서는 로봇이 외부 PLC가 준비 완료를 알릴 때까지 Modbus 입력을 모니터링한 다음 자동 모드 작업을 계속합니다.
팁
기계와 로봇의 동기화에는 Modbus 입력을 사용하세요.
Modbus 설정 테이블에서 레지스터 매핑을 확인하세요.
과도한 폴링은 피하세요. 대부분의 장치에는 100–300 ms 주기가 적당합니다.
DO/AI/DI 로직과 함께 사용해 복합 통신 솔루션을 구성하세요.