11.1.6. cmlPmCfgGetMioProperty


SYNOPSYS

VT_I4 cmlPmCfgGetMioProperty ([in] VT_I4 BoardID,  [in] VT_I4 NodeId, [in] VT_I4 Channel,
[in] VT_I4 PropId, [out] VT_PI4 PropVal )

DESCRIPTION

  • cmlPmCfgGetMioProperty() 함수는 각종 모션 입출력 신호에 대하여 현재 설정되어 있는 환경 설정 값을 반환합니다. 어떠한 I/O의 환경 설정 값을 반환할 지는 PropId에 따라 결정됩니다.

  • 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다.

PARAMETER

▶ BoardID : 사용자가 설정한 디바이스(보드) ID.

▶ NodeId : 사용자가 제어하고자 하는 노드 번호.

▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다.

▶ PropId : 어떠한 환경에 대하여 설정 혹은 반환할 것인지를 설정합니다. 이 값에 대해서는 아래 표를 참조하시기 바랍니다.

▶ PropVal : PropId로 지정된 환경에 대해 설정 혹은 반환합니다.

PropId

Meaning & PropVal

cmlMPID_ALM_LOGIC
Alarm(ALM) 신호의 입력 로직입니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A): A 접점 방식 => 평상시 Open 감지되면 Close 되는 스위치 방식
- 1 (cmlLOGIC_B): B 접점 방식 => 평상시 Close 감지되면 Open 되는 스위치 방식
cmlMPID_ALM_MODE
Alarm 입력이 ON 되어 해당 축의 모션 작업이 정지할 때 정지되는 방식을 설정합니다 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : 즉시 정지
- 1 : 감속 후 정지
cmlMPID_CMP_LOGIC
위치비교출력(CMP) 신호의 출력 방식을 설정합니다.
- 0 (Active low) : 평상시 HIGH 상태를 유지. 트리거 시점에서 LOW로
떨어졌다가 다시 HIGH로 올라갑니다.
- 1(Active high) : 평상시 LOW 상태를 유지. 트리거 시점에서 HIGH로
올라갔다가 다시 LOW로 떨어집니다
cmlMPID_DR_LOGIC
-/+ DR 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A) : A접점 방식
- 1 (ccmlLOGIC_B) : B접점 방식
cmlMPID_EL_LOGIC
-/+ EL 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A) : A접점 방식
- 1 (ccmlLOGIC_B) : B접점 방식
cmlMPID_EL_MODE
-/+ EL 신호가 ON되어 정지할 때 정지 방식을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : 즉시 정지
- 1 : 감속 후 정지
cmlMPID_ERC_LOGIC
ERC 신호의 출력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A) : A접점 방식
- 1 (ccmlLOGIC_B) : B접점 방식
cmlMPID_ERC_OUT
원점복귀 완료 시에 ERC 출력 여부를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlFALSE) : 원점복귀 완료 시에 ERC 출력 없음.
- 1 (cmlTRUE) : 원점복귀 완료 시에 ERC 출력.
cmlMPID_EZ_LOGIC
EZ(엔코더 Z상) 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A) : A접점 방식
- 1 (ccmlLOGIC_B) : B접점 방식.
cmlMPID_INP_EN
INP 신호 입력 활성화 여부를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlFALSE) : INP 비활성
- 1 (cmlTRUE) : INP 활성 => Command 출력이 완료되더라도 INP 신호가
ON되기 전까지는 작업이 완료되지 않은 것으로 간주.
cmlMPID_INP_LOGIC
INP(Inposition) 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A) : A접점 방식
- 1 (ccmlLOGIC_B) : B접점 방식.
cmlMPID_LTC_LOGIC
LTC(Latch) 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A) : A접점 방식
- 1 (ccmlLOGIC_B) : B접점 방식.
cmlMPID_LTC_LTC2SRC
두 번째 LATCH COUNTER의 대상 카운터를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : Deviation counter value
- 1 : Preset speed of command pulse
cmlMPID_ORG_LOGIC
ORG(원점 센서) 신호의 입력 로직을 설정합니다. 설정 및 반환값의 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A) : A접점 방식
- 1 (ccmlLOGIC_B) : B접점 방식.
cmlMPID_SD_EN
SD(Start of Deceleration) 신호의 입력 상태를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlFALSE) : SD 입력을 비활성화 합니다.
- 1 (cmlTRUE) : SD 입력을 활성화 합니다. 활성화 되었을 때 SD 신호에 따른
동작 방식은 cmlMPID_SD_LATCH 와 cmlMPID_SD_MODE 설정 값에 의해 결정됩니다.
cmlMPID_SD_LOGIC
SD(Start of Deceleration) 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlLOGIC_A) : A접점 방식
- 1 (ccmlLOGIC_B) : B접점 방식.
cmlMPID_SD_LATCH
SD(Start of Deceleration) 신호를 래치(Latch)할 것인지에 대한 속성값입니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cmlFALSE) : SD가 ON되어 감속중이거나 초기속도로 운전 중일 때
SD신호가 다시 OFF상태로 변경되면 작업속도까지 다시 가속됩니다.
- 1 (cmlTRUE) : SD가 ON상태에서 OFF상태로 바뀌어도 작업속도로 가속하지 않습니다.
cmlMPID_SD_MODE
SD 신호에 따른 동작 모드를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : SD신호가 ON되면 초기속도까지 감속합니다(정지하지 않음).
- 1 : SD신호가 ON되면 감속 후 정지합니다.
cmlMPID_STA_MODE
STA 신호 모드를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : STA 입력 신호는 무시되며, 이동 명령이 내려지면 바로 이동을 시작합니다.
- 1 : 이동 명령이 내려져도 바로 이동을 시작하지 않고, STA 신호가 ON이 되면 이동을 시작합니다.
cmlMPID_STA_TRG
STA 신호가 ON되는 형태를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : Level (LOW) => STA 신호가 LOW LEVEL일때 ON
- 1 : Falling Edge => STA 신호가 HIGH상태에서 LOW상태로 천이될 때 ON
cmlMPID_STP_MODE
STP 신호 모드를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : Ignore STP => STP 입력 신호 무시
- 1 : Immediate stop => STP 입력이 ON되면 즉시 정지
- 2 : Stop after decel => STP 입력이 ON되면 감속 후 정지
cmlMPID_CLR_CNTR
CLR 신호가 입력되었을 때 CLEAR 되도록 할 모션컨트롤러의 카운터를 선택합니다. 이 값은 4비트의 값으로 설정하며 각 비트는 다음과 같이 각 카운터의 클리어 여부를 설정합니다.
- Bit 0 : Command counter의 클리어 여부를 설정
- Bit 1 : Feedback counter의 클리어 여부를 설정
- Bit 2 : Deviation counter의 클리어 여부를 설정
- Bit 3 : General counter의 클리어 여부를 설정
../../../_images/14-11.jpg ../../../_images/14-21.jpg

RETURN VALUE

Value

Meaning

음수

수행 실패

0(ERR_NONE)

수행 성공

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
   C/C++
   #include “ComiMLink2_SDK.h”
   #include “ComiMLink2_SDK_Def.h”
   long nChannel = 0;//0번 축을 선택합니다.
   Long BoardID = 0;
   long nElLogic = 0;
   long nAlmLogic = 0;
   long nOrgLogic = 0;
   //0번 축의 MIO설정을 변경합니다.
   cmlCfgSetMioProperty(BoardID, 0, nChannel, ccmlMPID_EL_LOGIC, ccmlLOGIC_B );
   // EL 로직 설정
   cmlCfgSetMioProperty(BoardID, 0, nChannel, ccmlMPID_ALM_LOGIC, ccmlLOGIC_B ); // ALM 로직 설정
   cmlCfgSetMioProperty(BoardID, 0, nChannel, ccmlMPID_ORG_LOGIC, cmlLOGIC_A ); // ORG 로직 설정
   //PropId 를 통해서 변경하고자 하는 옵션을 선택 할 수 있습니다.
   //0번 축의 MIO설정을 반환합니다.
   cmlCfgGetMioProperty(BoardID, 0, nChannel, ccmlMPID_EL_LOGIC, &nElLogic );
   cmlCfgGetMioProperty(BoardID, 0, nChannel, ccmlMPID_ALM_LOGIC, &nAlmLogic );
   cmlCfgGetMioProperty(BoardID, 0, nChannel, ccmlMPID_ORG_LOGIC, &nOrgLogic );
   //PropId 를 통해서 반환할 옵션을 선택 할 수 있습니다.