DRIVER — 프로젝트 드라이버
DRIVER 는 프로젝트에 등록한 드라이버 DLL 객체에 스크립트에서 접근하는 키워드입니다.
DRIVER["드라이버이름"] 형태로 해당 드라이버 인스턴스를 가져와 메서드를 호출합니다.
과거 버전의 고정
MOTION보간 객체(다축 직선/원호 보간)는 제거되었습니다. 장비 고유의 보간·통신·특수 제어는 이제 프로젝트 드라이버 DLL 로 구현하고DRIVER["…"]로 호출합니다. 따라서DRIVER가 제공하는 메서드는 고정되어 있지 않고, 연결한 드라이버 DLL 이 정의한 메서드에 따라 달라집니다.
프로젝트 드라이버란
프로젝트 드라이버는 XDriverBase 추상 클래스를 상속한 클래스를 담은 .NET DLL 입니다. QMachineStudio 는
등록된 DLL 을 로드하여 XDriverBase 를 상속한 클래스를 찾고, 인스턴스를 생성해 DRIVER["이름"] 으로
노출합니다. 스크립트 편집기의 자동완성에도 해당 클래스의 멤버가 표시됩니다.
기반 클래스 (XDriverBase)
모든 프로젝트 드라이버가 공통으로 갖는 멤버입니다. 그 외 메서드는 각 드라이버 DLL 이 직접 정의합니다.
| 멤버 | 타입 | 설명 |
|---|---|---|
DriverName | string | 드라이버 이름(등록한 이름) |
IsInitialized | bool | 초기화 완료 여부 |
Initialize() | bool | 드라이버 초기화. 성공 시 true |
Close() | void | 드라이버 종료·자원 해제 |
드라이버 등록
Solution Explorer 의 Project Driver Editor 노드를 열고 Add Driver 로 드라이버 이름과 DLL 을
등록합니다. 여기서 지정한 이름이 스크립트의 DRIVER["이름"] 키가 됩니다.
스크립트에서 호출
// 등록한 드라이버 "MyBoard" 가져오기
if (DRIVER["MyBoard"].IsInitialized == false)
{
if (DRIVER["MyBoard"].Initialize() == false)
{
return;
}
}
// 드라이버 DLL 이 정의한 메서드 호출 (메서드 이름·시그니처는 드라이버 구현에 따름)
DRIVER["MyBoard"].DoSomething(100, true);
// 종료
DRIVER["MyBoard"].Close();- 메서드 이름·인자·반환형은 드라이버 DLL 구현을 따릅니다. 위
DoSomething은 예시이며 실제 메서드는 드라이버마다 다릅니다. - 등록되지 않은 이름으로 접근하면 드라이버를 찾지 못해 런타임 오류가 발생합니다. 사용 전 등록 여부와
IsInitialized를 확인하세요.
하드웨어 보드 백엔드
I/O · 모터 · 통신 · 비전 보드도 프로젝트 드라이버로 백엔드를 구현할 수 있습니다. 이 경우
MOTOR · Digital I/O ·
Communication 등 표준 객체가 내부적으로 해당 드라이버를 사용하므로,
스크립트는 보통 표준 객체로 제어하고 DRIVER 는 드라이버 고유 기능을 직접 호출할 때 사용합니다.