7.2.3. ecSlv_GetProdInfo¶
SYNOPSIS¶
t_success ecSlv_GetProdInfo(
t_i32 NetID,
t_i32 SlavePhysAddr,
TecSlvProdInfo *pProdInfoBuf,
t_i32 *ErrCode)
t_success ecSlv_GetProdInfo_A(
t_i32 NetID,
t_i32 SlaveIndex,
TecSlvProdInfo *pProdInfoBuf,
t_i32 *ErrCode)
DESCRIPTION¶
슬레이브에 대한 Product ID 정보를 반환합니다.
PARAMETER¶
NetID : 사용자가 사용할 Network 번호
SlvPhysAddr : 슬레이브의 물리적 주소
SlaveIndex : 슬레이브 번호
pProdInfoBuf : ProductID에 대한 구조체 변수
ErrCode : 이 매개 변수를 통하여 현재의 에러 코드를 반환합니다. 단, 이 매개 변수에 NULL을 전달하면 에러 코드를 반환하지 않습니다.
RETURN VALUE¶
이 리턴값은 불 형(Boolean Type) 을 가지고 있습니다.
Value |
Meaning |
---|---|
0 |
정보를 가져오는데 실패했음을 의미합니다. |
1 |
정보를 가져오는데 성공했음을 의미합니다. |
EXAMPLE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include "ComiEcatSdk_Api.h"
t_32 Error_Num = 0;//함수 별 에러 코드 저장 변수
void Slave_Load(void)
{
TEcSlvProdInfo pProdInfoBuf; // Product ID에 대한 구조체 변수.
TEcSlvTypeInfo pTypeInfoBuf; // 장치 형식에 대한 구조체 변수
t_ui8 Alstate = 0;
//Device_Info 변수는 6장 참고
if(!ecSlv_GetProdInfo(Device_Info.NetIdx, SLAVE_PHYADDR, &pProdInfoBuf, &Error_Num))
{
// SLAVE_PHYADDR -> 슬레이브의 물리적 주소를 입력
// ecSlv_GetProdInfo_A함수를 이용하여 물리적 주소 대신 슬레이브 번호를 입력하여 사용 가능
// 이 함수를 이용하여 슬레이브의 Product Code 구조체를 얻어 옴
// 슬레이브 Product ID 정보 확인 실패 시 예외 처리
}
if(!ecSlv_GetTypeInfo(Device_Info.NetIdx, SLAVE_PHYADDR,&pTypeInfoBuf, &Error_Num))
{
// SLAVE_PHYADDR -> 슬레이브의 물리적 주소를 입력
// ecSlv_ GetTypeInfo_A 함수를 이용하여 물리적 주소 대신 슬레이브 번호를 입력하여 사용 가능
// 슬레이브 장치 정보 로드 실패시 예외 처리
}
else
{
/************************************************************************
장치 정보 로드 성공 시 pTypeInfoBuf 구조체에는 각 각 연결 된
모듈의 시작 채널 및 채널 개수 구조체 형태로 저장
*************************************************************************/
}
Alstate = ecSlv_GetAlState(Device_Info.NetIdx, SLAVE_PHYADDR, &Error_Num); //물리적 주소 위치에 있는 슬레이브 AlState 확인
}
|