원본 보기토론이전 판역링크책에 추가PDF로 내보내기맨 위로 목차 Code C# C++ 책 생성기 내 책으로 이 페이지 추가 책 생성기 내 책에서 이 페이지 제거 책 관리(0 페이지) 도움말 Check Reverse Connection × InPort / OutPort 가 반대로 연결된 슬레이브의 수를 확인한다. Code C# using ec = ComiLib.EtherCAT.SafeNativeMethods; /// <summary> /// 슬레이브의 Inport / Outport가 반대가 삽입된 모듈을 검색한다. /// </summary> private void CheckReveseConnection() { if (!CanCheckReverseConnection()) return; // 역삽입된 슬레이브의 수를 확인한다. int scanSlaveCount = 0; int reverseConnectionCount = ec.ecNet_CheckReverseConnections(netID, ref scanSlaveCount, ref errorCode); // 정의된 슬레이브 수가 있다면, 스캔된 슬레이브의 수와 비교한다. //if (definedSlaveCount != scanSlaveCount) //{ // // 두 변수의 차이는 연결되지 않은 슬레이브의 수이다. // AddLog(string.Format("Disconnected Slave Count = {0}", definedSlaveCount - scanSlaveCount)); //} if (reverseConnectionCount == 0) { AddLog(string.Format("ReverseConnection is nothing.")); return; } else { AddLog(string.Format("ReverseConnectionCount = {0}", reverseConnectionCount)); bool isReverseConnected = false; for (ushort i = 0; i < scanSlaveCount; i++) { //슬레이브별로 역삽입 여부를 확인한다. isReverseConnected = ec.ecSlv_IsReverseConnected_A(netID, i, ref errorCode); if (isReverseConnected) AddLog(string.Format("Check SlaveIndex {0} : ReverseConnected", i)); } } } /// <summary> /// 역삽입 검출 기능을 사용할 수 있는지 확인한다. /// DLL : 1.5.3.2 ( FW : 1.92 / WDM : 1.5.0.6) 이상의 버전에서 사용 가능 /// </summary> private bool CanCheckReverseConnection() { ec.TEcFileVerInfo_SDK sdkInfo = new ec.TEcFileVerInfo_SDK(); ec.TEcFileVerInfo_WDM driverInfo = new ec.TEcFileVerInfo_WDM(); ec.TEcFileVerInfo_FW fwInfo = new ec.TEcFileVerInfo_FW(); bool isSuccess = ec.ecNet_GetVerInfo(netID, ref sdkInfo, ref driverInfo, ref fwInfo, ref errorCode); string sdkVer = string.Format("{0}{1}{2}{3}", sdkInfo.CurVer.MajorVer, sdkInfo.CurVer.MinorVer, sdkInfo.CurVer.BuildNo, sdkInfo.CurVer.RevNo); int curVer = int.Parse(sdkVer); if (curVer < 1532) { AddLog("CheckReverseConnection : Not Supported version"); return false; } return true; } C++