cmmHomeSetConfig


SYNOPSIS

VT_I4 cmmHomeSetConfig(
    [in] VT_I4 Axis, [in] VT_I4 HomeMode, [in] VT_I4 EzCount,
    [in] VT_I8 EscDist, [in] VT_R8 Offset
    )

DESCRIPTION

  • cmmHomeSetConfig() 함수는 원점복귀에 관련된 여러가지 환경을 설정합니다. 그러나 이러한 모든 설정은 속성대화상자를 통하여 수행할 수 있으므로 특별한 경우가 아니면 사용할 필요가 없습니다.

PARAMETER

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

  • HomeMode : cmmHomeSetConfig 함수의 인자이며, 원점복귀 모드 번호를 설정합니다. 앞서 설명한 바와 같이 ㈜커미조아 모션 제어보드는 13 가지(0 ~ 12)의 다양한 원점복귀 모드를 제공합니다.

  • EzCount : cmmHomeSetConfig 함수의 인자이며, 이 값은 ORG 신호 또는 EL 신호가 ON 이 된 후 실제로 복귀 작업을 완료하는데 필요한 EZ Count 값을 0 ~ 15 사이의 값으로 설정합니다. 이 값의 참조 여부는 원점복귀 모드에 따라서 다릅니다.

  • EscDist : cmmHomeSetConfig 함수의 인자이며, 원점탈출거리를 지정합니다. 거리의 단위는 논리적 거리 단위를 사용합니다.

  • Offset : cmmHomeSetConfig 함수의 인자이며, 원점 복귀 위치에서 일정거리 이상을 상대 이동할 필요가 있을 경우, 그 값을 설정합니다. 이것은 원점 복귀 종료 위치를 기준으로 추가 모션 이동을 의미합니다.

RETURN Value

Value

Meaning

음수

수행 실패

cmERR_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
C/C++

#include “Cmmsdk.h”
#include “CmmsdkDef.h”

void OnSetHomeConfig ()
{

long nHomeMode = 0;             // 원점 복귀 모드 설정. 0 ~ 12 번 모드가 있습니다.
long nHomeDir = cmDIR_N;        // 원점 복귀 방향. cmDIR_N: (-) 방향, cmDIR_P: (+) 방향
long nEzCount = 0;              // Encoder Z 상 카운트. ‘0’ 은 EZ 상 1 회 카운트를 의미합니다.
double fEscDist = 10.0f;        // 원점 탈출 거리. 자동 원점 검색 기능에 사용되며,
                                // 최소 ‘1’ 이상의 값이어야 합니다.
double fOffset = 0.0f;          // 원점 복귀 완료 후 Offset 값 (상대 거리)

if (cmmHomeSetConfig (cmX1, nHomeMode, nEzCount, fEscDist, fOffset ) != cmERR_NONE )
{
OutputDebugString ( “cmmHomeGetConfig has been failed” );
}

// cmmHomeGetConfig () 함수로 설정되어있는 원점 복귀 환경 설정 정보를 반환합니다.
// cmmHomeGetConfig (cmX1, &nHomeMode, &nHomeDir, &nEzCount, &fEscDist, &fOffset );
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
Visual Basic

Private Sub OnSetHomeConfig ()

Dim nHMode As Long          ‘ 원점 복귀 모드 설정.
Dim nEzCount As Long        ‘ Encoder Z 상 카운트.
Dim fEscDist As Double      ‘ 원점 탈출 거리.
Dim fOffset As Double       ‘ 원점 복귀 완료 후 Offset 값 (상대 거리)

nHomeMode = 0               ‘ 원점 복귀 0 번 모드 설정
nEzCount = 0                ‘ Encoder Z 상 1 회 카운트.
fEscDist = 10               ‘ 최소 ‘1’ 이상의 값으로 설정.
fOffset = 0                 ‘ 원점 복귀 완료 후 Offset 값 설정.

If cmmHomeSetConfig (cmX1, nHomeMode, nEzCount, fEscDist, fOffset ) <> cmERR_NONE Then
       MsgBox ( “cmmHomeGetConfig has been failed” )
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 OnSetHomeConfig ();
var
nHomeMode, nHomeDir, nEzCount : LongInt;
fEscDist, fOffset : Double;

begin
nHomeMode := 0;            // 원점 복귀 모드 설정. 0 ~ 12 번 모드가 있습니다.
nEzCount := 0;             // Encoder Z 상 카운트. ‘0’ 은 EZ 상 1 회 카운트를 의미합니다.
fEscDist := 10;            // 원점 탈출 거리. 자동 원점 검색 기능에 사용되며,
                           // 최소 ‘1’ 이상의 값이어야 합니다.
fOffset := 0;              // 원점 복귀 완료 후 Offset 값 (상대 거리).

if cmmHomeSetConfig (cmX1, nHomeMode, nEzCount, fEscDist, fOffset ) <> cmERR_NONE then
begin
ShowMessage ( ‘cmmHomeGetConfig has been failed’ );
end;

end;

See also

cmmHomeGetConfig