3.1.12. cmmGnSetServoOn¶
SYNOPSYS¶
VT_I4 cmmGnSetServoOn (
[in] VT_I4 Axis, [in] VT_I4 Enable
)
DESCRIPTION¶
SERVO-ON 신호의 ON/OFF를 제어합니다.
PARAMETER¶
Axis: 축 번호(0 부터 시작합니다).
Enable : cmmGnSetServoOn 함수의 인자이며, SERVO-ON 신호의 출력 상태를 설정합니다.
Value |
Meaning |
---|---|
0 또는 cmFALSE |
SERVO-OFF |
1 또는 cmTRUE |
SERVO-ON |
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
cmERR_NONE |
수행 성공 |
REFERENCE¶
서보를 On 시켜야 하는 경우 cmmGnDeivceLoad() 함수 호출 이후에 cmmGnSetServoOn(Axis#, cmTRUE)를 호출해주셔야 서보 모터가 정상 동작 합니다.
cmmCfgSetMioProperty() 또는 cmmCfgSetMioProperty() 를 실행하여 서보온 신호의 출력로직을 설정할 수 있습니다.
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | C/C++
#include “Cmmsdk.h”
#include “CmmsdkDef.h”
void OnSetServoOn ()
{
long nAxisNo = 1; // Servo-On 신호를 제어할 축 선택.
long nMioStates; // 모션 상태 정보
/* 해당 축의 Servo-On 상태를 확인한 후, 설정된 상태에 따라 ON/OFF 상태 제어 */
if ( cmmStReadMioStatuses ( nAxisNo, &nMioStates ) == cmERR_NONE )
{
if ( (nMioStates >> cmIOST_SVON) & 0x1 == cmFALSE )
{
// Servo OFF 상태이므로 Servo ON 상태로 설정합니다.
cmmGnSetServoOn ( nAxisNo, cmTRUE );
}
else
{
// Servo ON 상태이므로 Servo OFF 상태로 설정합니다.
cmmGnSetServoOn ( nAxisNo, cmFALSE );
}
}
}
-------------------------------------------------------------------------------------------------------
Visual Basic
Private Sub OnSetServoOn()
Dim nAxisNo As Long ' Servo-On 신호를 제어할 축 선택.
Dim nMioStates As Long ' 모션 상태 정보
Dim nResult As Long
nAxisNo = 1
' 해당 축의 Servo-On 상태를 확인한 후, 설정된 상태에 따라 ON/OFF 상태 제어
If cmmStReadMioStatuses(nAxisNo, nMioStates) = cmERR_NONE Then
Call cmmGnBitShift(nMioStates, cmIOST_SVON, nResult)
If nResult = cmFALSE Then
' Servo OFF 상태이므로 Servo ON 상태로 설정합니다.
Call cmmGnSetServoOn(nAxisNo, cmTRUE)
Else
' Servo ON 상태이므로 Servo OFF 상태로 설정합니다.
Call cmmGnSetServoOn(nAxisNo, cmFALSE)
End If
End If
End Sub
-------------------------------------------------------------------------------------------------------
Delphi
procedure OnSetServoOn ();
var
nAxisNo : LongInt; // Servo-On 신호를 제어할 축 선택.
nMioStates : LongInt; // 모션 상태 정보
begin
nAxisNo := 1;
// 해당 축의 Servo-On 상태를 확인한 후, 설정된 상태에 따라 ON/OFF 상태 제어
if cmmStReadMioStatuses ( nAxisNo, @nMioStates ) = cmERR_NONE then
begin
if ( ( nMioStates shr cmIOST_SVON ) and $1 ) = cmFALSE then
begin
// Servo OFF 상태이므로 Servo ON 상태로 설정합니다.
cmmGnSetServoOn ( nAxisNo, cmTRUE );
end
else
// Servo ON 상태이므로 Servo OFF 상태로 설정합니다.
cmmGnSetServoOn ( nAxisNo, cmFALSE );
end;
end;
end;
|
See also