Ecat[0].MasterReady =1 Ecat[0].MasterState = 8 조건만으로는 슬레이브들의 연결상태와 동작상태를 확인할 수 없다. ECAT[0].RTStateCheck=1 로 설정 (메뉴얼에는 Sys.EcatType = 0 이 경우에만 설정하라고 명기되어 있지만 오류이며 모든 종류 CPU 필히 설정) ECAT[0].Slave[x].Online 으로 연결성 체크 후 ECAT[0].Slave[x].State로 상태 체크한다.
예제) 3축 슬레이브의 연결성 및 동작상태를 체크하는 PLC
global gEcat_SlaveState(3)
open plc 1 if(ECAT[0].MasterState==8) { if(ECAT[0].Slave[0].Online==1 && ECAT[0].Slave[0].State==8) gEcat_SlaveState(0) = 1; else gEcat_SlaveState(0) = 0;
if(ECAT[0].Slave[1].Online==1 && ECAT[0].Slave[1].State==8) gEcat_SlaveState(1) = 1; else gEcat_SlaveState(1) = 0;
if(ECAT[0].Slave[2].Online==1 && ECAT[0].Slave[2].State==8) gEcat_SlaveState(2) = 1; else gEcat_SlaveState(2) = 0; } else { gEcat_SlaveState(0) = 0; gEcat_SlaveState(1) = 0; gEcat_SlaveState(2) = 0; } close
|
|