cemCfgOutMode_Set


SYNOPSYS

VT_I4 cemCfgOutMode_Set ( [in] VT_I4 Axis, [in] VT_I4 OutputMode  )

DESCRIPTION

  • cemCfgOutMode_Set() 함수는 Command 펄스의 출력 모드를 설정합니다. Command 신호에 대한 하드웨어적인 회로는 별도로 제공되는 “ceMC02P” HW매뉴얼의 “6.1.1 COMMAND 신호 (CW, CCW)” 단원을 참조하시기 바랍니다.

PARAMETER

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

▶ OutputMode : Command 펄스 출력 모드의 설정 값입니다. 출력 모드는 다음과 같이 6가지 모드를 가집니다.

cEIP/res/14-3.jpg cEIP/res/14-4.jpg

RETURN VALUE

Value

Meaning

음수

수행 실패

0(ERR_NONE)

수행 성공

REFERENCE

  • 모든 경우에 해당하는 부분은 아니지만, 지령 펄스(Command Pulse)의 출력 설정 형태는 일반적으로 서보드라이브에서는 4 혹은 5 번 모드인 CW/CCW 모드를 주로 사용하며, 스텝드라이브에서는 0번에서 3 번까지의 OUT/DIR 모드를 주로 사용합니다.

  • 일반적인 서보드라이브에서 CW/CCW 혹은 OUT/DIR 모드를 결정하기 위한 지령 펄스(Command Pulse) 입력 설정이 존재합니다. 서보드라이브의 매뉴얼을 반드시 참조하여, ㈜커미조아 모션 모듈과 동일하게 설정하여 주십시오. 동일하게 설정이 되지 않았을 경우에는, 다음과 같은 현상이 발생할 수 있습니다.

  • 1. 서보드라이브를 통해 동작하는 모터의 방향이 한 방향으로만 동작하고 다른 방향으로는 동작하지 않습니다. 즉, 음의 방향(Negative Direction) 으로는 동작하는데 양의 방향(Positive Direction) 으로는 동작하지 않거나 그 반대의 경우를 의미합니다.

  • 2. 방향이 전환 될 때마다 1 펄스(Pulse) 이내의 지령 펄스(Command Pulse) 입력을 무시하게 됩니다. 이 현상을 확인하시려면, 서보드라이브의 Command Pulse Counter 와 ㈜커미조아의 모션 모듈의 Command Pulse Counter 와의 연속적인 방향전환 이동 시에 Pulse Counter 차이를 모니터링(Monitoring) 하시면 됩니다.

  • 이외에도 스텝드라이브의 경우에는 드라이브 입력 부 회로의 사양에 따라 Open Collector 연결을 주로 사용하는데, 결선 방법과 상태에 따라서 일반적인 모터의 움직임에 이상 상황이 발생할 수 있습니다. 이때에는 해당 스텝드라이브의 입력 부 사양을 첨부하여, ㈜커미조아 고객 지원 팀으로 문의해 주시면 친절하게 상담하여 드리겠습니다.

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
 C/C++

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

 void OnSetOutMode ()
 {
 long nAxisNo = 1;  // Command Pulse 출력 모드를 설정할 축을 선택합니다.
 long nOutputMode; // Comand Pulse 출력 모드 정보.

 /* 설정되어있는 Command Pulse 출력 모드를 확인하여, CWCCW0 (4번 모드)로 설정합니다. */

 if ( cemCfgOutMode_Get ( nAxisNo, &nOutputMode ) == ceERR_NONE )
 {
   if ( nOutputMode != cemOMODE_CWCCW0 )
   {
   cemCfgOutMode_Set ( nAxisNo, cemOMODE_CWCCW0 );
   }
 }
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
 Visual Basic

 Private Sub OnSetOutMode ()

 Dim nAxisNo As Long  ‘ Command Pulse 출력 모드를 설정할 축을 선택합니다.
 Dim nOutputMode As Long ‘ Comand Pulse 출력 모드 정보.

 nAxisNo = 1

 ‘ 설정되어있는 Command Pulse 출력 모드를 확인하여, CWCCW0 (4번 모드)로 설정합니다.

 If cemCfgOutMode_Get ( nAxisNo, nOutputMode ) = ceERR_NONE Then

   If nOutputMode <> cemOMODE_CWCCW0 Then
   Call cemCfgOutMode_Set ( nAxisNo, cemOMODE_CWCCW0 )
   End If
 End If

 End Sub
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
 Delphi

 procedure OnSetOutMode ();
 var
 nAxisNo : LongInt;  // Command Pulse 출력 모드를 설정할 축을 선택합니다.
 nOutputMode : LongInt;  // Comand Pulse 출력 모드 정보.

 begin
 nAxisNo := 1;
 // 설정되어있는 Command Pulse 출력 모드를 확인하여, CWCCW0 (4번 모드)로 설정합니다.
 if cemCfgOutMode_Get ( nAxisNo, @nOutputMode ) = ceERR_NONE then
 begin
 if nOutputMode <> cemOMODE_CWCCW0  then
 begin
 cemCfgOutMode_Set ( nAxisNo, cemOMODE_CWCCW0 );
 end;
 end;
 end;