8.1.3. ecdiGetOne


SYNOPSYS

t_bool ecdiGetOne(
  t_i32 NetID,
  t_ui32 DiChannel,
  t_i32 *ErrCode)

t_bool ecdiGetOne_L(
  t_i32 NetID,
  t_ui16 SlvPhysAddr,
  t_ui32 LocalChannel,
  t_i32 *ErrCode)

DESCRIPTION

  • 단일 채널에 대한 디지털 입력 상태를 반환합니다.

  • ecdiGetOne_L() 함수는 지역 채널 방식으로 지정된 디지털입력 채널의 입력 상태를 반환합니다.

PARAMETER

  • NetID : Network 번호

  • DiChannel : 디지털 입력 채널 번호

  • SlvPhysAddr: 슬레이브 주소

  • LocalChannel : 해당 디지털 입력 채널의 지역 채널 번호

  • ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다.

RETURN VALUE

  • 이 리턴값은 대상 채널의 디지털 입력 상태 값을 반환합니다.

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "ComiEcatSdk_Api.h"
t_i32 Error_Num = 0;//함수 별 에러 코드 저장 변수
t_i32 nNetID = 0;

void DI_GetOne(void)
{
       t_i16 DI_NumCh =0; // DI 채널 개수 저장 변수
       t_bool State = false; // DI 결과 값 저장 변수
       DI_NumCh = ecdiGetNumChannels(nNetID, Error_Num);

       For(int i = 0 ; i< DI_NumCh ; i++)
       {
               State = ecdiGetOne(nNetID, i, &Error_Num); // DI_NumCh (슬레이브의 채널 개수) 만큼 DI 실행
               if(State == 1)
               {
                       //DI결과 값이 1 일때 처리
               }
               else
               {
                       //DI결과 값이 0일때 처리
               }
       }
} // DI_GetOne 함수 종료

See also

ecdiGetMulti