21.2.3. ecNet_BitSeq_GetStatus


SYNOPSIS

EC_EXTERN t_cmdidx(CECAT_API* ecNet_BitSeq_GetStatus)(
    t_i32 NetID, t_i32 MapId, t_i32*RunStatus,
    t_i32* RunItemIdx, t_i32* ErrCode
    );

DESCRIPTION

  • 구동 상태를 확인합니다.

PARAMETER

  • NetID : Network 번호

  • MapId : BitSequence 기능을 사용할 MapId (0~15)

  • RunStatus : 입력 Map의 동작 상태 (1:Run)

  • RunItemIdx : 현재 Override 되고 있는 Item Index

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

RETURN VALUE

  • 함수 수행의 성공 여부를 반환합니다.

Value

Meaning

0

함수 수행에 실패 하였음을 의미합니다.

else

함수 수행에 성공 하였음을 의미합니다.

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
int NetID = 0; // 0번 Network ID 사용
int MapId = 0; // 0번 MapId 사용
t_cmdidx idx;

// 2개의 Item Buffer를 할당합니다
idx = ecNet_BitSeq_AllocBuf(NetID, MapId, 2, &err);

// 0번 Item을 설정합니다 ByteOffset:0 Mask:0xFF, Data:0xAA
idx = ecNet_BitSeq_SetData(NetID, MapId, 0, 0, 0xFF, 0xAA, &err);
// 1번 Item을 설정합니다 ByteOffset:0 Mask:0xFF, Data:0x55
idx = ecNet_BitSeq_SetData(NetID, MapId, 1, 0, 0xFF, 0x55, &err);
// BitSequence 기능을 동작시킵니다. 0번 Item과 1번 Item이 통신 Cycle마다 Override 됩니다.
idx = ecNet_BitSeq_Run(NetID, MapId, 1, 0, &err);

Sleep(1000);

// BitSequence 기능을 정지합니다
idx = ecNet_BitSeq_Stop(NetID, MapId, 0, &err);