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