4.1.29. cmmCfgSetOutMode


SYNOPSYS

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

DESCRIPTION

  • Command 펄스의 출력 모드를 설정합니다.

PARAMETER

  • Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다.

  • OutputMode : Command 펄스 출력 모드의 설정값입니다. 출력 모드는 다음과 같이 10 가지 모드(Mode)를 가집니다.

alternate text

다) LX 504a 제품에서는 별도로 아래 두 가지 모드가 존재합니다. 아래 두 가지 기능은 기존 모션 보드 제품에서 지원하는 4 번과 5 번의 CW & CCW 커맨드 출력 모드를 4 번의 반대(Inverse)로 6 번이 되며, 5 번의 반대(Inverse) 로 7 번 모드로 사용할 수 있도록 지원합니다. 이 모드를 통해 모터의 회전 방향을 정방향에서 역방향으로 또는 그 반대로 상호 용이하게 변경할 수 있습니다.

alternate text

RETURN VALUE

  • cmmCfgSetOutMode() 및 cmmCfgGetOutMode() 함수의 반환값

Value

Meaning

음수

수행 실패

cmERR_NONE

수행 성공

REFERENCCE

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

  • 일반적인 서보드라이브에서 CW/CCW 혹은 OUT/DIR 모드를 결정하기 위한 지령 펄스(Command Pulse) 입력설정이 존재합니다.

  • 서보드라이브의 매뉴얼을 반드시 참조하여, 저희 모션 보드와 동일하게 설정하여 주십시오.

  • 동일하게 설정이 되지 않았을 경우에는, 다음과 같은 현상이 발생할 수 있습니다.

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

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

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

EXAMPLE

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

#include "Cmmsdk.h"
#include "CmmsdkDef.h"

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

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

    if (cmmCfgGetOutMode(nAxisNo, &nOutputMode) == cmERR_NONE)
    {
        if (nOutputMode != 4)
        {
            cmmCfgSetOutMode(nAxisNo, 4);
        }
    }
}
 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 출력 모드를 확인하여, 4 번 모드로 설정합니다.

   If cmmCfgGetOutMode ( nAxisNo, nOutputMode ) = cmERR_NONE Then

        If nOutputMode <> 4 Then
               Call cmmCfgSetOutMode ( nAxisNo, 4 )
       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
 Delphi

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

begin
       nAxisNo := 1;

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

   if cmmCfgGetOutMode ( nAxisNo, @nOutputMode ) = cmERR_NONE then
   begin
           if nOutputMode <> 4 then
           begin
                   cmmCfgSetOutMode ( nAxisNo, 4 );
           end;
   end;
end;

See also

cmmCfgGetOutMode