2.1.1. cmsGnLoadDevice¶
SYNOPSYS¶
VT_I4 cmsGnLoadDevice (
[out] VT_PI4 NumDevices, [out] VT_PI4 BoardIdList, [out]
VT_PI4 NumServos
)
DESCRIPTION¶
시스템에 설치된 하드웨어 장치를 로드합니다. 이 함수는 ComiSSCNET3 / SSCNET3H 의
다른 함수가 호출되기전에 반드시 한번은 수행되어야 합니다. 일반적으로 프로그램의 시작부분에서 수행해주면 됩니다.
이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의
첨두어 cms 가 붙지 않습니다.
PARAMETER¶
▶ NumDevices : 이 매개 변수를 통하여 실제로 로드(Load)된 네트워크 모션 보드의 개수를 반환합니다. 단, 이 매개 변수에 NULL 을 전달하면 보드 개수를 반환하지 않습니다.
▶ BoardIdList : 이 매개 변수를 통하여 실제로 로드(Load)된 네트워크 모션 보드의 ID 배열을 반환합니다. 단, 이 매개 변수에 NULL 을 전달하면 보드 ID 배열을 반환하지 않습니다.
▶ NumServos : 이 매개 변수를 통하여 실제로 로드(Load)된 서보 드라이브의 개수를 반환합니다. 단, 이 매개 변수에 NULL 을 전달하면 제어 축 수를 반환하지 않습니다.
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 | C/C++
#include “ComiSSCNET3_SDK.h”
#include “ComiSSCNET3_SDK_Def.h”
void ProgramInitial(void)
{
long nNumDevices = 0;
long DeviceList[16] = {0, };
long nNumAxes = 0;
if ( cmsLoadDll() != TRUE ) {
/* OutputDebugString API 는 GUI 프로그램에서 문자열을 디버거에 보낼 수 있습니다. Borland
C++ Builder 에서는 DebugWindows 에 Event Log 를 확인(確認)할 수 있으며, MS VC++ 에서는
Debug 윈도우에서 확인(確認)할 수 있습니다. */
OutputDebugString(“DLL 로드에 실패하였습니다”);
// 이후 적절한 에러처리를 해주시기 바랍니다.
}
if ( cmsGnLoadDevice (&nNumDevices, DeviceList, &nNumAxes) != ERR_NONE ){
// 에러메시지 출력
}
} /* ProgramInitial(void) 함수의 끝 */
-----------------------------------------------------------------------------------------------------------------------------
Visual Basic
‘ Visual Basic 에서는 명시적인 DLL 로드가 필요 없습니다.
Private Sub Form_Load()
Dim IRetVal As Long
Dim nTotalDevices As Long
Dim DeviceList(16) As Long
Dim nTotalAxes As Long
IRetVal = GnLoadDevice (nTotalDevices, DeviceList(0), nTotalAxes)
If IRetVal <> ERR_NONE Then
MsgBox(“cmsGnLoadDevice has been failed”)
End If
End Sub
------------------------------------------------------------------------------------------------------------------------------
Delphi
//* Delphi 에서는 명시적인 DLL 로드가 필요없습니다.
//* 단, 처음 선언시에 다음과 같은 내용이 포함되어야 합니다.
/////////////////////////////////////////////////////////////
// COMZIOA SDK Library 를 위한 인터페이스 파일을 사용합니다.
uses ComiSSCNET3;
////////////////////////////////////////////////////////////
procedure TForm1.OnCreate(Sender: TObject);
var
g_nDevs : LongInt;
DevList : Array[0..15] of LongInt
g_nAxes : LongInt;
begin
if ( cmsGnLoadDevice (@g_nDevs, @DevList, @g_nAxes) <> ERR_NONE ) then
begin
// 에러메시지 출력
exit;
end;
end;
|
See also