cemCfgMioProperty_Get


SYNOPSYS

VT_I4 cemCfgMioProperty_Get ( [in] VT_I4 Axis, [in] VT_I4 PropId, [out] VT_PI4 PropVal )

DESCRIPTION

  • cemCfgMioProperty_Get() 함수는 각종 모션 입·출력 신호에 대하여 현재 설정되어 있는 환경 설정

값을 반환합니다. 어떠한 MIO 신호의 환경 설정 값을 반환할 지는 PropId에 따라 결정됩니다.

PARAMETER

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

▶ PropId : 어떠한 MIO 신호 환경에 대하여 설정할 것인지를 지정하는 매개변수입니다. 이 값에 대해서는 아래 표를 참조하시기 바랍니다.

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

PropId

Meaning & PropVal

0 cemMPID_ALM_LOGIC
Alarm(ALM) 신호의 입력 로직입니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A): A 접점 방식 => 평상시 Open 감지되면 Close 되는 스위치 방식
- 1 (cemLOGIC_B): B 접점 방식 => 평상시 Close 감지되면 Open 되는 스위치 방식
1 cemMPID_ALM_MODE
Alarm 입력이 ON 되어 해당 축의 모션 작업이 정지할 때 정지되는 방식을 설정합니다 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : 즉시 정지
- 1 : 감속 후 정지
2 cemMPID_CMP_LOGIC
위치비교출력(CMP) 신호의 출력 방식을 설정합니다.
- 0 (Active low) : 평상시 HIGH 상태를 유지. 트리거 시점에서 LOW로
떨어졌다가 다시 HIGH로 올라갑니다.
- 1(Active high) : 평상시 LOW 상태를 유지. 트리거 시점에서 HIGH로
올라갔다가 다시 LOW로 떨어집니다
3 cemMPID_DR_LOGIC
-/+ DR 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A접점 방식
- 1 (ccemLOGIC_B) : B접점 방식
4 cemMPID_EL_LOGIC
-/+ EL 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A접점 방식
- 1 (ccemLOGIC_B) : B접점 방식
5 cemMPID_EL_MODE
-/+ EL 신호가 ON되어 정지할 때 정지 방식을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : 즉시 정지
- 1 : 감속 후 정지
6 cemMPID_ERC_LOGIC
ERC 신호의 출력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A접점 방식
- 1 (ccemLOGIC_B) : B접점 방식
7 cemMPID_ERC_OUT
원점복귀 완료 시에 ERC 출력 여부를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemFALSE) : 원점복귀 완료 시에 ERC 출력 없음.
- 1 (cemTRUE) : 원점복귀 완료 시에 ERC 출력.
8 cemMPID_EZ_LOGIC
EZ(엔코더 Z상) 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A접점 방식
- 1 (ccemLOGIC_B) : B접점 방식.
9 cemMPID_INP_EN
INP 신호 입력 활성화 여부를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemFALSE) : INP 비활성
- 1 (cemTRUE) : INP 활성 => Command 출력이 완료되더라도 INP 신호가
ON되기 전까지는 작업이 완료되지 않은 것으로 간주.
10 cemMPID_INP_LOGIC
INP(Inposition) 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A접점 방식
- 1 (ccemLOGIC_B) : B접점 방식.
11 cemMPID_LTC_LOGIC
LTC(Latch) 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A접점 방식
- 1 (ccemLOGIC_B) : B접점 방식.
12 cemMPID_LTC_LTC2SRC
두 번째 LATCH COUNTER의 대상 카운터를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : Deviation counter value
- 1 : PreGet speed of command pulse
13 cemMPID_ORG_LOGIC
ORG(원점 센서) 신호의 입력 로직을 설정합니다. 설정 및 반환값의 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A접점 방식
- 1 (ccemLOGIC_B) : B접점 방식.
14 cemMPID_SD_EN
SD(Start of Deceleration) 신호의 입력 상태를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemFALSE) : SD 입력을 비활성화 합니다.
- 1 (cemTRUE) : SD 입력을 활성화 합니다. 활성화 되었을 때 SD 신호에 따른
동작 방식은 cemMPID_SD_LATCH 와 cemMPID_SD_MODE 설정 값에 의해 결정됩니다.
15 cemMPID_SD_LOGIC
SD(Start of Deceleration) 신호의 입력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A접점 방식
- 1 (ccemLOGIC_B) : B접점 방식.
16 cemMPID_SD_LATCH
SD(Start of Deceleration) 신호를 래치(Latch)할 것인지에 대한 속성값입니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemFALSE) : SD가 ON되어 감속중이거나 초기속도로 운전 중일 때
SD신호가 다시 OFF상태로 변경되면 작업속도까지 다시 가속됩니다.
- 1 (cemTRUE) : SD가 ON상태에서 OFF상태로 바뀌어도 작업속도로 가속하지 않습니다.
17 cemMPID_SD_MODE
SD 신호에 따른 동작 모드를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : SD신호가 ON되면 초기속도까지 감속합니다(정지하지 않음).
- 1 : SD신호가 ON되면 감속 후 정지합니다.
18 cemMPID_STA_MODE
STA 신호 모드를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : STA 입력 신호는 무시되며, 이동 명령이 내려지면 바로 이동을 시작합니다.
- 1 : 이동 명령이 내려져도 바로 이동을 시작하지 않고, STA 신호가 ON이 되면 이동을 시작합니다.
19 cemMPID_STA_TRG
STA 신호가 ON되는 형태를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : Level (LOW) => STA 신호가 LOW LEVEL일때 ON
- 1 : Falling Edge => STA 신호가 HIGH상태에서 LOW상태로 천이될 때 ON
20 cemMPID_STP_MODE
STP 신호 모드를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : Ignore STP => STP 입력 신호 무시
- 1 : Immediate stop => STP 입력이 ON되면 즉시 정지
- 2 : Stop after decel => STP 입력이 ON되면 감속 후 정지
21 cemMPID_CLR_CNTR
CLR 신호가 입력되었을 때 CLEAR 되도록 할 모션컨트롤러의 카운터를 선택합니다. 이 값은 4비트의 값으로 설정하며 각 비트는 다음과 같이 각 카운터의 클리어 여부를 설정합니다.
- Bit 0 : Command counter의 클리어 여부를 설정
- Bit 1 : Feedback counter의 클리어 여부를 설정
- Bit 2 : Deviation counter의 클리어 여부를 설정
- Bit 3 : General counter의 클리어 여부를 설정
22 cemMPID_CLR_SIGTYPE
CLR 신호의 신호 형태를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0: Falling edge => 스위치가 Open 상태에서 Close되는 순간에 카운터가 클리어 됩니다.
- 1 : Rising edge => 스위치가 Close 상태에서 Open되는 순간에 카운터가 클리어 됩니다.
- 2 : Low level => 스위치가 Close되어 있는 동안에는 계속 카운터가 클리어 됩니다.
- 3 : High level => 스위치가 Open되어 있는 동안에는 계속 카운터가 클리어 됩니다.
23 cemMPID_CMP_PWIDTH
CMP 출력은 One-shot pulse로 출력되는데, 출력되는 펄스의 폭을 조절할 수 있습니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0: 트리거 시점의 Command 펄스의 펄스 폭과 동일한 펄스 폭을 가짐
- 양수: 이 값에 1.5us 가 곱해진 값이 펄스 폭이 됩니다. 즉, 이 값을 1로하면
- 1.5us, 2로하면 3us…와 같이 됩니다.
24 cemMPID_ERC_ONTIME
ERC 출력 펄스의 펄스 폭을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 => 12us, 1 => 102us, 2 => 409us, 3 => 1.6ms, 4 => 13ms, 5 => 52ms, 6 => 104ms, 7=> Logic Level Output
25 cemMPID_SVON_LOGIC
서보온(Servo-On) 신호의 출력 로직을 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemLOGIC_A) : A 접점 방식
- 1 (cemTRUE) : B 접점 방식
26 cemMPID_ERC_OUT_EL
-/+ EL 신호가 ON 되어 정지할 때 ERC 출력 발생 여부를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemFALSE): ERC 출력을 발생하지 않습니다.
- 1 (cemTRUE): ERC 출력을 발생합니다.
27 cemMPID_CNT_D_SRC
Deviation(편차) 카운터의 입력 소스(Input Source)를 선택합니다. 이 값은 4 비트의 값으로 설정하며 각 비트는 다음과 같습니다.
- 0 : 출력 펄스와 EA/EB 단자를 통한 입력 카운트
- 1 : 출력 펄스와 PA/PB 단자를 통한 입력 카운트
- 2 : EA/EB 단자와 PA/PB 단자를 통한 입력 카운트
28 cemMPID_CNT_G_SRC
General(범용) 카운터의 입력 소스(Input Source)를 선택합니다. 이 값은 4 비트의 값으로 설정하며 각 비트는 다음과 같습니다.
- 0 : 출력 펄스
- 1 : EA/EB 단자를 통한 입력 카운트
- 2 : PA/PB 단자를 통한 입력 카운트
- 3 : CLK 카운트를 2로 나눈 값을 입력 카운트로 설정
29 cemMPID_LTC_TRGMODE
LATCH COUNTER 의 트리거 모드를 설정합니다. 설정 및 반환되는 PRopVal 은 다음과 같습니다.
- 0 (ccemLTM_LTC) : LTC 입력 신호에 의해서 포지션 래치가 수행됩니다.
- 1 (ccemLTM_ORG) : ORG 입력 신호에 의해서 포지션 래치가 수행됩니다.
30 cemMPID_SLIM_EN
Software Limit 기능 사용 여부를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 : Software Limit 기능을 사용하지 않습니다.
- 1 : Software Limit 기능을 사용합니다.
31 cemMPID_OUT_MODE
Command(지령) 펄스 출력 모드를 선택합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (ccemOMODE_PDIR0) : Pulse & Dir 0
- 1 (ccemOMODE_PDIR1) : Pulse & Dir 1
- 2 (ccemOMODE_PDIR2) : Pulse & Dir 2
- 3 (ccemOMODE_PDIR3) : Pulse & Dir 3
- 4 (ccemOMODE_CWCCW0) : CW & CCW 0
- 5 (ccemOMODE_CWCCW0) : CW & CCW 1
32 cemMPID_IN_MODE
Feedback(인코더) 펄스 입력 모드를 선택합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (ccemIMODE_AB1X) : 1X A/B
- 1 (ccemIMODE_AB2X) : 2X A/B
- 2 (ccemIMODE_AB4X) : 4X A/B
- 3 (ccemIMODE_CWCCW) : CW/CCW
- 4 (ccemIMODE_STEP) : Step Mode
33 cemMPID_IN_INV
Feedback Count 값의 UP/DOWN 방향을 반대로 할 것인지를 선택합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemFALSE) : Feedback 카운터 UP/DOWN 방향 유지.
- 1 (cemTRUE) : Feedback 카운터 UP/DOWN 방향 반대.
34 cemMPID_CEMG_EN
EMG(Emergency) 신호 입력 활성화 여부를 설정합니다. 설정 및 반환되는 PropVal은 다음과 같습니다.
- 0 (cemFALSE) : EMG 비활성
- 1 (cemTRUE) : EMG 활성

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
   C/C++

 #include “ceSDK.h”
 #include “ceSDKDef.h”

 void OnGetMioProperty_Get ()
 {
   long nAxisNo = 1;   // MIO 신호 환경을 설정할 축을 선택합니다.
   long nAlmLogic, nAlmMode; // ALM 신호 환경 설정 정보.

   /* ALM 신호에 대해 설정되어 있는 로직 및 모드를 확인하여,
   ‘ALM Logic : B접점, ALM Mode : 즉시 정지’ 로 설정합니다. */


 // ALM 로직 설정 상태 확인 및 설정
   if ( cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_LOGIC, &nAlmLogic ) == ceERR_NONE )
   {
     if ( nAlmLogic != cemLOGIC_B )
     {
     // ALM 로직을 ‘B접점 방식’으로 설정
     cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_LOGIC, cemLOGIC_B );
     }
   }

   // ALM 신호 ON 시 정지 모드 설정
   if ( cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_MODE, &nAlmMode ) == ceERR_NONE )
   {
     if ( nAlmMode != CE_FALSE )
     {
     // ALM 신호 ON 시 정지 모드를 ‘즉시 정지’ 모드로 설정
     cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_MODE, CE_FALSE );
     }
   }
 }
 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
Visual Basic

 Private Sub OnGetMioProperty_Get ()

 Dim nAxisNo As Long    ‘ MIO 신호 환경을 설정할 축을 선택합니다.
 Dim nAlmLogic As Long, nAlmMode As Long  ‘ ALM 신호 환경 설정 정보.

 long nAxisNo = 1;

 ‘ ALM 신호에 대해 설정되어 있는 로직 및 모드를 확인하여,
 ‘ ALM Logic : B접점, ALM Mode : 즉시 정지’ 로 설정합니다.


 ‘ ALM 로직 설정 상태 확인 및 설정
 If cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_LOGIC, nAlmLogic ) = ceERR_NONE Then
   If nAlmLogic <> cemLOGIC_B Then
   ‘ ALM 로직을 ‘B접점 방식’으로 설정
   Call cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_LOGIC, cemLOGIC_B )
   End If
 End If

 ‘ ALM 신호 ON 시 정지 모드 설정
 If cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_MODE, nAlmMode ) = ceERR_NONE Then
   If nAlmMode <> CE_FALSE Then
   ‘ ALM 신호 ON 시 정지 모드를 ‘즉시 정지’ 모드로 설정
   Call cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_MODE, CE_FALSE )
   End If
 End If

 End Sub
 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
Delphi

 procedure OnGetMioProperty_Get ();
 var
 nAxisNo : LongInt;   // MIO 신호 환경을 설정할 축을 선택합니다.
 nAlmLogic, nAlmMode : LongInt;  // ALM 신호 환경 설정 정보.

 begin
 nAxisNo := 1;

 { ALM 신호에 대해 설정되어 있는 로직 및 모드를 확인하여,
 ALM Logic : B접점, ALM Mode : 즉시 정지 로 설정합니다. }


 // ALM 로직 설정 상태 확인 및 설정
 if cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_LOGIC, @nAlmLogic ) = ceERR_NONE then
 begin
   if nAlmLogic <> cemLOGIC_B then
   begin
   // ALM 로직을 ‘B접점 방식’으로 설정
   cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_LOGIC, cemLOGIC_B );
   end;
 end;

 // ALM 신호 ON 시 정지 모드 설정
 if cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_MODE, @nAlmMode ) = ceERR_NONE then
 begin
   if nAlmMode <> CE_FALSE then
   begin
   // ALM 신호 ON 시 정지 모드를 ‘즉시 정지’ 모드로 설정
   cemCfgMioProperty_Get ( nAxisNo, cemMPID_ALM_MODE, CE_FALSE );
   end;
 end;

 end;