CMMSDK V2 매뉴얼



Similar documents
Product A4

Microsoft Word - Installation and User Manual_CMD V2.2_.doc

MAX+plus II Getting Started - 무작정따라하기

歯FDA6000COP.PDF

untitled

Dialog Box 실행파일을 Web에 포함시키는 방법

인디쓔피-IOM핸돜벁닄큐1014pdf, page Preflight ( IOM핸돜벁닄큐__1014 )

Copyrights and Trademarks Autodesk SketchBook Mobile (2.0.2) 2013 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc.,

BSC Discussion 1

API 매뉴얼

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

PCServerMgmt7

10X56_NWG_KOR.indd

02 C h a p t e r Java

0.1-6

PRO1_04E [읽기 전용]

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

API 매뉴얼

PRO1_09E [읽기 전용]

Remote UI Guide

Copyright by Korean Local-government Management Institute. ALL RIGHTS RESERVED. No part of this publication may be reproduced, stored in a retrieval s

디지털공학 5판 7-8장

PowerPoint 프레젠테이션

CD-RW_Advanced.PDF

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

마리오와 소닉 리우 올림픽™

DocsPin_Korean.pages

Orcad Capture 9.x

PI ZH-CN

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

B _02-M_Korean.indd

MPLAB C18 C

Microsoft Word - Automap3

슬라이드 1

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

PJTROHMPCJPS.hwp

T100MD+

<31325FB1E8B0E6BCBA2E687770>

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

APOGEE Insight_KR_Base_3P11

Å©·¹Àγ»Áö20p

untitled

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

PRO1_02E [읽기 전용]

DE1-SoC Board

초보자를 위한 C# 21일 완성

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

Interstage5 SOAP서비스 설정 가이드

H3050(aap)

step 1-1

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

대경테크종합카탈로그

1217 WebTrafMon II

초보자를 위한 C++

ODS-FM1

lecture4(6.범용IO).hwp

Manufacturing6

Coriolis.hwp

00-1표지

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]

DR-M140 사용 설명서

6주차.key

vm-웨어-앞부속


강의10

81-05.PDF

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Microsoft Word - USB복사기.doc

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

Nikon KeyMission 360. KeyMission 360 ( 1.5) SnapBridge 360/170 ( 1.1). SnapBridge 360/170., SnapBridge 360/170 OS.. KeyMission 360/ SnapBridge 360/170

CPX-E-SYS_BES_C_ _ k1

Microsoft PowerPoint - PL_03-04.pptx

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

( )부록

05Àå

김기남_ATDC2016_160620_[키노트].key

ETL_project_best_practice1.ppt

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

BTSK

1

Series 100 IMPORTANT CUSTOMER NOTICE Sierra Instruments, Inc. is not liable for any damage or personal injury, whatsoever, resulting from the use of S

cam_IG.book

Microsoft Word - 1-차우창.doc

초보자를 위한 자바 2 21일 완성 - 최신개정판

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

歯CRM개괄_허순영.PDF

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

Microsoft PowerPoint - User Manual pptx

untitled

라즈베리파이 프로그래밍_130912(최종).indd


Mentor_PCB설계입문

Assign an IP Address and Access the Video Stream - Installation Guide

untitled

Getting Started

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

thesis

ecorp-프로젝트제안서작성실무(양식3)

Transcription:

COMIZOA Motion Software Development Kit COMIZOA MOTION SOFTWARE DEVELOPMENT KIT TEST & MEASUREMENT & AUTOMATION COMIZOA INTEGRATED MOTION SYSTEM JULY 2009 P/N 0715-2009-02 ª 2007 COMIZOA Inc All rights reserved API Reference Manual

TEST & MEASUREMENT & AUTOMATION / COMIZOA CMMSDK Manual Copyright 2007 by COMIZOA, Inc All rights reserved COMIZOA owns all right, title and interest in the property and products described herein, unless otherwise indicated No part of this document may be translated to another language or produced or transmitted in any form or by any information storage and retrieval system without written permission from COMIZOA COMIZOA reserves the right to change products and specifications without written notice Customers are advised to obtain the latest versions of any product specifications COMIZOA MAKES NO WARRANTIES, EXPRESSED OR IMPLIED, OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OTHER THAN COMPLIANCE WITH THE APPLICABLE COMIZOA SPECIFICATION SHEET FOR THE PRODUCT AT THE TIME OF DELIVERY IN NO EVENT SHALL COMIZOA BE LIABLE FOR ANY INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES AS A RESULT OF THE PRODUCT S PERFORMANCE OR FAILURE TO MEET ANY ASPECT OF SUCH SPECIFICATION COMIZOA PRODUCTS ARE NOT DESIGNED OR INTENDED FOR USE IN LIFE SUPPORT APPLIANCES, DEVICES OR SYSTEMS WHERE A MALFUNCTION OF A COMIZOA DEVICE COULD RESULT IN A PERSONAL INJURY OR LOSS OF LIFE CUSTOMERS USING OR SELLING COMIZOA DEVICES FOR USE IN SUCH APPLICATIONS DO SO AT THEIR OWN RISK AND AGREE TO FULLY INDEMNIFY COMIZOA FOR ANY DAMAGES RESULTING FROM SUCH IMPROPER USE OR SALE Information contained herein is presented only as a guide for the applications of our products COMIZOA does not warrant this product to be free of claims of patent infringement by any third party and disclaims any warranty or indemnification against patent infringement No responsibility is assumed by COMIZOA for any patent infringement resulting from use of its products by themselves or in combination with any other products No license is hereby granted by implication or otherwise under any patent or patent rights of COMIZOA or others COMIZOA software and its documentation are available only under the terms of a Master Software Use and Support Agreement Trademarks The COMIZOA logo is a registered trademark All other brand names, product names, trademarks, and registered trademarks are the property of their respective owners Visit our web page at http://wwwcomizoacom For support requests, contact us at support@comizoacom For documentation suggestions, corrections, or requests, contact tech@comizoacom ( ) : support@comizoacom : ftpcomizoacom : http://wwwcomizoacom 707 DTV-PostBI : 042-936-6500 : 042-936-6507 COMIZOA Motion System Integrated Control Library Reference 2007 COMIZOA All Rights Reserved No Part of this publication may be reproduced, stored in retrieval system or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording or otherwise, without the priorpermission, in writing, from the publisher 2

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Table of Contents Trademarks 2-2 Table of Contents 2-3 Introduction 8 1 CMMSDK 9 11 Overview 9 111 9 112 9 113 9 114 9 115 9 116 10 117 11 12 Features 12 121 12 122 12 123 12 124 12 125 12 126 12 Before working with CMMSDK 14 2 ( ) 15 21 COMI-AUTOMATION 15 22 16 23 CMMSDK 17 231 CMMSDK 17 232 18 Development Environment for CMMSDK 20 3 CMMSDK 21 31 21 32 CMMSDK 22 321 HARDWARE Layer 22 322 HAL(Hardware Abstract Layer) 23 323 CMMSDK Layer (API Layer) 23 324 CMMSDK 24 33 24 331 Visual C++ 6x 26 332 Visual C++ 7x 32 333 Visual C++ 8x 39 334 Borland C++ Builder 45 3

TABLE OF CONTENTS 335 Borland Delphi 50 336 Visual Basic 55 CMMSDK Introduction 59 4 CMMSDK 60 41 60 42 60 General Functions 62 5 General Functions 63 51 63 52 64 Etc General Functions 73 6 Etc General Functions 74 61 74 62 75 Environment Configuration Functions 88 7 89 71 89 72 91 Basic Motion Control 128 8 129 81 (Single-Axis) 129 811 129 812 131 82 (Multi-Axes) 162 821 162 822 163 83 (Interpolation Motion) 185 831 8 185 832 8 185 833 186 834 188 84 (Home Return) 235 841 235 842 240 843 242 844 244 Advanced Motion Control 265 9 266 4

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 91 (Overriding) 266 911 266 912 267 92 Master/Slave 276 921 Master/Slave 276 922 277 923 278 93 (Extended Interpolation Motion) 285 931 287 932 288 94 (Listed Motion) 296 941 298 942 300 Input signals related to motion control by external signal 316 10 317 101 Manual Pulsar (PA/PB) 317 1011 318 1012 320 102 (External switch) 333 1021 333 1022 334 Monitoring Motion Status 340 11 341 111 (Status) 341 1111 341 1112 342 112 353 1121 353 1122 354 113 (Position Latch) 366 1131 366 1132 367 Compare Method 369 12 370 121 370 1211 370 1212 371 122 (CMP) 375 1221 375 1222 376 123 (High CMP) 386 1231 386 5

TABLE OF CONTENTS 1232 387 Universal Digital I/O Control 394 13 395 131 395 132 397 1321 397 1322 400 1323 406 Advanced and Extended Interface 408 14 / 409 Debugging and Error Handle Utility Functions 411 15, 412 151 412 1511 412 1512 413 152 417 1521 417 1522 419 153 426 1531 426 1532 427 COMIZOA Motion Environment Builder 436 I CME Builder 437 II Main Menus 437 III Device Mappings 437 IIIi Motion Device Map 437 IIIii Digital I/O Device Map 438 IIII Axis Definition 439 IIIIi Motion Axis Title Definition 439 IIV Motion Setup 439 IIVi General 439 IIVii Basic I/O Setup 440 IIViii Advanced I/O Setup 440 IIViv Home Setup 441 IIVv Speed Setup 441 IIVvi Event Interrupt Mask 443 IV Digital I/O Setup 443 IVi Input Logic 443 IVii Output Logic 444 Motion Default Parameter 445 II (Default) 446 III Command & Feedback 446 6

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT IIII INP, ALM, EL 446 IIIII LTC, CMP, CLR, ERC 446 IIIV DR, SD, STA, STP 447 IIV Software Limit 447 IIVI Servo ON Input Logic 447 IIVII 447 IIVIII 448 IIIX Event Interrupt 448 List of Error Codes 449 III IIII 450 450 Other Development Environment Support 452 IV ( ) 453 IVI Digital Fortran CMMSDK 453 IVII PowerBuilder CMMSDK 453 IVIII C#(C Sharp), Visual BasicNET Visual C++NET 454 Frequently Asked Questions 457 V Frequently Asked Questions (FAQ) 458 VI Visual Studio 2005 458 VII Visual Basic 460 VIII Borland C++ Builder 460 Index of CMMSDK Functions 466 VI Index of CMMSDK Functions 467 VII Quick Reference to CMMSDK Functions 467 General Functions 467 7

CHAPTER 1:: INTRODUCTION Chapter 1 Introduction,,,, ( ) ( ) (),,,,,,, 8

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 1 CMMSDK 11 Overview 111 ( ), ( ), (), (), 112 2, ( ) ( ) 113,, 114 Windows Microsoft Corp Visual C++ Microsoft Corp Visual Basic Microsoft Corp C++ Builder Borland Software Corp Delphi Borland Software Corp 115 ( ) ( ) CMMSDK 9

CHAPTER 1:: INTRODUCTION ( ) ( ),, (Chapter) ( ) CMMSDK 116 (Chapter) CMMSDK, CMMSDK CMMSDK v2 1-1 CMMSDK 10

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 1, (Motor) (Servo Pack) (Servo Drive) (Step Drive), (Servo System) (Pulse) (Command Pulse) (Encoder) (Pulse) (Feedback Pulse) LX502, LX504, LX508, LX504a (Motion Board) SD4xx Series (Digital Input Output Board) 1 117, ( ) ( ) ( ), (Function) (Function) 2 11

CHAPTER 1:: INTRODUCTION 12 Features CMMSDK 121 CMMSDK Microsoft DLL(Dynamic Link Library), COMIZOA Motion Environment, DLL 122 RAD(Rapid Application Development), ( ) CMMSDK 123 (Parameter),, CMMSDK, 124 CMMSDK COMI-AX Pro, CMMSDK, () CMMSDK ( ) 125,,,, CMMSDK,, () 126, Smart Update 12

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT NET Framework C #(Sharp), Visual Basic RAD(Rapid Application Development) CMMSDK ( ) ( ) 13

CHAPTER 2 :: BEFORE WORKING WITH CMMSDK Chapter 2 Before working with CMMSDK ( ) CMMSDK 14

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 2 ( ) CMMSDK 21 COMI-AUTOMATION COMI-AUTOMATION, 2007 1 COMI -AUTOMAION 1 COMI-AUTOMATION 2 COMI-AUTOMATION 1 COMI-AUTOMATION 2 2-1 COMI-AUTOMATION 15

CHAPTER 2 :: BEFORE WORKING WITH CMMSDK 22 3 CMMSDK v1 CMMSDK v2 DLL(Dynamic Link Library), DK CMMS v1 OCX Active X CMMSDK v1 CMMSDK v1 OCX CMMSDK v2 3132 4193 5000 2003 4 2005 10 2007 1 (Dynamic (Dynamic Link Link Library) Library) (Component) / DLL Trigger Master / Slave (Standard Speed) Gantry 3 2-2, 2-2 16

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 23 CMMSDK 2-3 COMI-AUTOMATION Hierarchy (Industrial Computer) CMMSDK (Integration System Control), () PCI 231 CMMSDK CMMSDK (Axis) (I/O) 17

CHAPTER 2 :: BEFORE WORKING WITH CMMSDK 2-4? PCI (1),, I/O CMMSDK 232 CMMSDK v1 CMMSDK OCX CMMSDK v2 (Device Initialize) M O T I O N (Single Axis) (Multi Axes) (Interpolation) COMILX_LoadDevice GnDeivceLoad cmmgndeviceload COMILX_UnloadDevice GnDeviceUnLoad cmmgndeviceunload COMILX_MC_Move SxMove cmmsxmove COMILX_MC_MoveTo SxMoveTo cmmsxmoveto COMILX_MC_MoveAll MxMove cmmmxmove COMILX_MC_MoveToAll MxMoveTo cmmmxmoveto COMILX_MC_MapAxes IxMapAxes cmmixmapaxes COMILX_MC_Line IxLine cmmixline 1 (PC) 18

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT D I O (Home Return) (Manual Pulsar) (Listed Motion) COMILX_MC_SetHomeConfig HomeSetConfig cmmhomesetconfig COMILX_MC_HomeMove HomeMove cmmhomemove COMILX_MC_PulserMove PlsrMove cmmplsrmove COMILX_MC_PulserMoveTo PlsrMoveTo cmmplsrmoveto COMILX_MC_BeginList LmBeginList cmmlmbeginlist COMILX_MC_EndList LmEndList cmmlmendlist COMILX_DI_GetOne DiGetOne cmmdigetone (Digital Input) COMILX_DI_GetAll DiGetAll cmmdigetall COMILX_DO_PutOne DoPutOne cmmdoputone (Digital Output) COMILX_DO_PutAll DoPutAll cmmdoputall 4 19

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK Chapter 3 Development Environment for CMMSDK CMMSDK ( ), CMMSDK CMMSDK ( ), () (), 20

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 3 CMMSDK 31 21

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK 32 CMMSDK CMMSDK COMIZOA, ( ) API CMMSDK Integration Motion System Control Application Programming Interface, (Function) ( ) API 3-1 CMMSDK 321 HARDWARE Layer -SD4xx COMI Series COMI-LX504 CMMSDK, API CMMSDK 22

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 322 HAL(Hardware Abstract Layer) Hardware Device CMMSDK, ( ) CMMSDK, ( ) COMIZOA API CMMSDK HAL(Hardware Abstract Layer) 323 CMMSDK Layer (API Layer) Windows 98/ME/2000/XP/Vista Integration Motion System Control API, CMMSDK CMMSDK (), 23

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK 324 CMMSDK CMMSDK MS VC++ Cmmsdkh Cmmsdkcpp CMMSDK ( ) CmmsdkDefh Borland C++ Builder Cmmsdkh Cmmsdkcpp CmmsdkDefh Borland Delphi MS Visual Basic MS C# (C Sharp) CmmSDKPAS CmmSDKBAS CmmSDKCS 6 CMMSDK Microsoft DLL(Dynamic Link Library) CMMSDK, CMMSDK, CMMSDK ( ) ( ) CMMSDK CMMSDK, CMMSDK, Appendix C,, () 33 ( ), C++ Borland International Object Pascal Delphi, NET CMMSDK C Sharp(C#), (Interface) Header CMMSDK Visual C++ / Borland C++ Builder C:\Program Files\COMIZOA\AUTOMATION2\Libraries\Motion(DLL) Cmmsdkcpp, Cmmsdkh, CmmsdkDefh Delphi Visual Basic C# (CSharp) C:\Program Files\COMIZOA\AUTOMATION2\Libraries\Motion(DLL) CmmSDKPAS C:\Program Files\COMIZOA\AUTOMATION2\Libraries\Motion(DLL) CmmSDKBAS C:\Program Files\COMIZOA\AUTOMATION2\Libraries\Motion(DLL) CmmSDKcs CmmSDKDefCS 7 COMI-AUTOMATION C: 24

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT, CMMSDK DLL ( ), DLL,, CMMSDK DLL CMMSDK [ ] (VC++, Delphi) ( ) [ ], CMMSDK 25

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK 331 Visual C++ 6x Microsoft Visual C++ 6x CMMSDK Project Start CMMSDK Library YES NO CmmsdkDLL 1 DLL EXE 2, DLL CmmsdkDefh Cmmsdkh Cmmsdkcpp 3 Project CmmsdkDefh Cmmsdkh Cmmsdkcpp User Project [Project] [Add to Project] Cmmsdkh CmmsdkDefh #include Cmmsdkh #include CmmsdkDefh OnInitDialog() Cmmsdkdll CmmLoadDll() DestoryWindow() Cmmsdkdll CmmUnloadDll() DLL 3-2 Visual Studio 6x CMMSDK 26

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Visual C++ 6x File -> New 3-3 Visual C++ 6x MFC AppWizard(exe), [OK] 3-4 27

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK MFC AppWizard [Dialog based] [Finish] 3-5 MFC AppWizard Application Type VC++ Cmmsdkh, Cmmsdkcpp, CmmsdkDefh [Project]->[Add To Project]->[Files] 3-6 28

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT [OK] 3-7 WorkSpace FileView [ ]+Dlgcpp 3-8 MFC AppWizard CMMSDK ([ ]+Dlgcpp) OnInitDialog() TODO cmmloaddll(); 3-9 DLL 29

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK DLL Unload Unload DLL cmmunloaddll() cmmunloaddll() Class View [( )+Dlg] [Add Virtual Function] 3-10 New Virtual Functions DestroyWindow [Add and Edit] 3-11 DestroyWindow 30

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT ( )+Dlg DestroyWindow() cmmunloaddll(); cmmunloaddll() DLL 3-12 DLL 31

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK 332 Visual C++ 7x Microsoft Visual C++ 7x(Visual Studio 2003) CMMSDK Project Start CMMSDK Library YES NO CmmsdkDLL 1 DLL EXE 2, DLL CmmsdkDefh Cmmsdkh Cmmsdkcpp 3 Project CmmsdkDefh Cmmsdkh Cmmsdkcpp User Project [Project] [Add to Project] Cmmsdkh CmmsdkDefh #include Cmmsdkh #include CmmsdkDefh OnInitDialog() Cmmsdkdll CmmLoadDll() DestoryWindow() Cmmsdkdll CmmUnloadDll() DLL 3-13 Visual Studio 7x CMMSDK 32

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Microsoft Visual Studio 2003 [] ->[ ] 3-14 [ ] [] [Visual C++], ] [ [MFC ] [( )] 3-15 33

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK [MFC ], [ ] 3-16 [ ] [ ] 3-17 34

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT VC++ Cmmsdkh, Cmmsdkcpp, CmmsdkDefh [] ->[ ] 3-18 [OK] 3-19 WorkSpace FileView ([ ]+Dlgcpp) 3-20 35

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK ( )+Dlgcpp OnInitDialog() TODO cmmloaddll(); 3-21 Load Dll DLL Unload Unload DLL, cmmunloaddll() cmmunloaddll() Class View ([ ]+Dlg) 3-22 Dialog Class ([ ]+Dlg) Properties Overrides 3-23 Overrides 36

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT DestroyWinodw <Add>DestroyWindow ([ ]+Dlg) DestroyWindow 3-24 Destroy Window ( )+Dlg DestroyWindow() cmmunloaddll(); cmmunloaddll() CMMSDK 3-25 UnloadDll 37

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK CMMSDK DLL? C C++ Standard Input/Output Header, () <stdioh> stdioh ( ) ( Linking ), DLL, DLL, (Process) CMMSDK DLL, CMMSDK 80386 CPU (Processor) 38

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 333 Visual C++ 8x Microsoft Visual C++ 8x (Visual Studio 2005) CMMSDK Project Start CMMSDK Library YES NO CmmsdkDLL 1 DLL EXE 2, DLL CmmsdkDefh Cmmsdkh Cmmsdkcpp 3 Project CmmsdkDefh Cmmsdkh Cmmsdkcpp User Project [Project] [Add to Project] Cmmsdkh CmmsdkDefh #include Cmmsdkh #include CmmsdkDefh OnInitDialog() Cmmsdkdll CmmLoadDll() DestoryWindow() Cmmsdkdll CmmUnloadDll() DLL 3-26 Visual Studio 8x CMMSDK 39

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK Microsoft Visual Studio 2005( VS2005) [File]->[New]->[Project] 3-27 [New Project], [Project types] [Visual C++], [Templates] [MFC Application] [OK] 3-28 [MFC Application Wizard], [Next] 3-29 MFC Application Wizard Overview 40

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT [Application Type] [Dialog based], [Use Unicode Libraries] (Uncheck) [Finish] 3-30 MFC Application Wizard Application Type VC++ Cmmsdkh, Cmmsdkcpp, CmmsdkDefh [Project]->[Add Existing Item] 3-31 Add Existing Item 41

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK [OK] 3-32 WorkSpace FileView ([ ]+Dlgcpp) 3-33 CPP ( )+Dlgcpp OnInitDialog() TODO cmmloaddll(); 3-34 LoadDll 42

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT DLL Unload Unload DLL cmmunloaddll() cmmunloaddll() Class View ([ ]+Dlg) 3-35 Dialog Class ( )+Dlg Properties Overrides 3-36 Overrides DestroyWinodw <Add>DestroyWindow ( )+Dlg DestroyWindow 3-37 Destroy Window 43

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK ([ ]+Dlg) DestroyWindow() cmmunloaddll(); cmmunloaddll() DLL 3-38 UnloadDll 44

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 334 Borland C++ Builder Borland C++ Builder BCB 5, BCB 6 BDS 2006 CMMSDK (Version) Borland C++ Builder CMMSDK Project Start CMMSDK Library YES NO CmmsdkDLL 1 DLL EXE 2, DLL CmmsdkDefh Cmmsdkh Cmmsdkcpp 3 Project CmmsdkDefh Cmmsdkh Cmmsdkcpp User Project [Project] [Add to Project] Cmmsdkh CmmsdkDefh #include Cmmsdkh #include CmmsdkDefh OnInitDialog() Cmmsdkdll CmmLoadDll() DestoryWindow() Cmmsdkdll CmmUnloadDll() DLL 3-39 Borland C++ Builder CMMSDK 45

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK Borland C++ Builder Borland C++ Builder [File]->[New]->[Application] 3-40 BCB 5 3-41 BCB 5 3-42 BCB 6 3-43 BDS 2006 Borland C++ VC++ Cmmsdkh, Cmmsdkcpp, CmmsdkDefh 3-44 CMMSDK 46

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Borland C++ Builder [File]-[Save] or [Save All] C++ Builder Project Add to Project 3-45 C++ Builder 1 3-46 C++ Builder 3-47 Project Manager ( ) 47

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK 3-48 Cmmsdkdll cmmloaddll() FormCreate 3-49 Cmmsdkdll Cmmsdkdll cmmloaddll() cmmloaddll() FormCreate, [Object Inspector] [Events] OnCreate 3-50 OnCreate Event FormCreate FormCreate() cmmloaddll() [ 12] FormCreate cmmloaddll 48

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT ( ) DLL Unload DLL Unload () cmmunloaddll() cmmunloaddll() [Object Inspector] [Events] OnDestroy 3-51 DLL UnLoad OnDestroy Event FormDestroy() cmmunloaddll() 3-52 FormDestroy UnLoadDll 49

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK 335 Borland Delphi Borland Delphi Delphi 5, Delphi 6 Delphi 7, BDS 2006 CMMSDK (Version) Delphi CMMSDK Project Start CMMSDK Library YES NO CmmsdkDLL 1 DLL EXE 2, DLL CmmSDKpas CmmSDKpas Project Manager CmmSDK Unit Uses CmmSDK; 3-53 Borland Delphi CMMSDK 50

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Delphi Borland Delphi 3-54 Borland Delphi 5 Delphi 5 CMMSDK Delphi CMMSDK DLL(Dynamic Link Library) ( ) (Delphi) Delphi 5, 6 7 CMMSDK Delphi (5/6/7), File New, 3-55 Delphi 5 51

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK Form1 Delphi IDE Project1 Project Add to Project 3-56 Delphi ( ) CMMSDK CmmSDKPAS 3-57 Delphi 52

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Project Manager ( ) CmmSDKPAS ( ) 3-58 Delphi Delphi CMMSDK CMMSDK CmmSDKPas (VC++, C++ Builder) DLL Initialization Finalization LoadDll DLL UnloadDll, UnloadDll 53

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK Unit1pas ( ) 3-59 uses CMMSDK Unit implementation uses Unit ( uses ), DLL 54

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 336 Visual Basic Visual Basic 60 CMMSDK Visual Basic 60, Visual Basic ( ) Visual Basic 60, CMMSDK CmmSDKBAS CMMSDK Cmmsdkdll Project Start CMMSDK Library YES NO CmmsdkDLL 1 DLL EXE 2, DLL CmmSDKBas Visual Basic Project [Project] [Add File ] CmmSDKBAS 3-60 Visual Basic CMMSDK 55

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK Visual Basic Visual Basic 3-61 Visual Basic CMMSDK? CMMSDK NET Visual Basic CMMSDK, CMMSDK, Visual Basic ( ) CMMSDK, ( ) Standard EXE, File New Project 3-62 56

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT EXE Project Add File 3-63 3-64 CmmSDKBAS CmmSDKBAS, CMMSDK, Visual Basic 3-65 CmmSDKBAS 57

CHAPTER 3 :: DEVELOPMENT ENVIRONMENT FOR CMMSDK 3-66 CMMSDK Visual Basic CMMSDK CMMSDK Visual Basic DLL (CMMSDK) (Load) (Unload), ( ) Form1, 58

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Chapter 4 CMMSDK Introduction CMMSDK (Rule) CMMSDK ( ) CMMSDK () CMMSDK (Run -time) CMMSDK () 59

CHAPTER 4 :: CMMSDK INTRODUCTION 4 CMMSDK 41 CMMSDK API cmm cmmloaddll(), cmmunloaddll(), cmmgndeviceload(), cmmgndeviceunload(), cmm, General Functions (Gn): cmmgndeviceload(), cmmgnsetservoon(), (Cfg): cmmcfgsetmioproperty(), cmmcfgsetoutmode(), (Home): cmmhomemove(), cmmhomesetconfig(), (Sx): cmmsxsetspeedratio(), cmmsxmove(), (Mx): cmmmxmove(), cmmmxstop(), (Ix): cmmixmapaxes(), cmmixline(), 42 CMMSDK Dynamic Link Library 8 8 [in] [out] [in], [out],, Data type Description C/C++ VB 60 Delphi C# VT_EMPTY void - - void VT_HANDLE, Long void * (ByRef) THandle IntPtr VT_I4 4 long Long (ByVal) LongInt Int VT_PI4 4 Long ( ) long * (ByRef) PLongInt Int[] VT_R4 4 float Double (ByVal) Double Float VT_PR4 4 Double PDouble ( ) float * (ByRef) float[] 60

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT VT_R8 8 double VT_PR8 VT_STR 8 ( ) double * 4 char * Double (ByVal) Double (ByRef) String (ByVal) Double PDouble PChar double double[] String 8 61

CHAPTER 5 :: GENERAL FUNCTIONS Chapter 5 General Functions CMMSDK ( ), / ( ) CMMSDK, ( ) ( ) (Parameter) (Reset) 62

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 5 General Functions 51 Summary of Functions r BOOL cmmloaddll([none] VT_EMPTY) ( ) (Load) r VT_EMPTY cmmunloaddll([none] VT_EMPTY) ( ) () (Unload) r VT_I4 cmmgndeviceload([in] VT_I4 IsResetDevice, [out] VT_PI4 NumAxes) (Load) r VT_I4 cmmgndeviceunload([[none] VT_EMPTY) (Unload) r VT_I4 cmmgndeviceisloaded([out] VT_PI4 IsLoaded) ( ) r VT_I4 cmmgndevicereset([none] VT_EMPTY) (Reset) ( ) 63

CHAPTER 5 :: GENERAL FUNCTIONS 52 INFORMATION 1 General Function! VC++/BCB/NET : Level 1 J r DESCRIPTION RETURN VALUE CMMSDK ( ) ( ) () CMMSDK, Boland Delphi Microsoft Visual Basic * (Boolean Type) FALSE TRUE DLL DLL SEE ALSO EXAMPLE cmmunloaddll C/C++ #include Cmmsdkh #include CmmsdkDefh void StartProgram(void) { // DLL BOOL nisloaded = cmmloaddll(); } void EndProgram(void) { // cmmunloaddll(); } 64

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT r INFORMATION 1 General Function! VC++/BCB/NET : Level 1 J DESCRIPTION SEE ALSO EXAMPLE CMMSDK ( ) CMMSDK ( ) () CMMSDK, Boland Delphi Microsoft Visual Basic cmmloaddll C/C++ void StartProgram(void) { // DLL BOOL nisloaded = cmmloaddll(); } void EndProgram(void) { // cmmunloaddll(); } 65

CHAPTER 5 :: GENERAL FUNCTIONS INFORMATION 1 General Function! VC++/VB BCB/Delphi/NET : Level 1 J r DESCRIPTION PARAMETER CMMSDK CMMSDK (SD4xx) Series IsResetDevice : 0 cmfalse 1 cmtrue (Reset), TRUE, cmmgndeviceunload(), CMMSDK DLL Unload ( ) RETURN VALUE NumAxes : (Load), NULL cmerr_none? cmmgndeviceload Appendix B SEE ALSO EXAMPLE cmmgndeviceunload 66

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT C/C++ #include Cmmsdkh #include CmmsdkDefh void ProgramInitial(void) { long nnumaxes = 0; if ( cmmloaddll()!= TRUE ) { /* OutputDebugString API GUI Borland C++ Builder DebugWindows Event Log ( ), MS VC++ Debug ( ) */ OutputDebugString( DLL ); // } if ( cmmgndeviceload(cmtrue, &nnumaxes)!= cmerr_none ){ // MS VC++ cmmerrshowlast(getsafehwnd()); // Borland C++ cmmerrshowlast(form1->handle); } } /* ProgramInitial(void) */ Visual Basic Visual Basic DLL Private Sub Form_Load() Dim IRetVal As Long Dim ntotalaxes As Long IRetVal = cmmgndeviceload(cmtrue, ntotalaxes) If IRetVal <> cmerr_none Then End If End Sub MsgBox( cmmgndeviceloas has been failed ) Delphi //* Delphi DLL //*, ///////////////////////////////////////////////////////////// // COMZIOA SDK Library uses CmmSDK; //////////////////////////////////////////////////////////// procedure TForm1OnCreate(Sender: TObject); var g_naxes : LongInt; begin if ( cmmgndeviceload(cmtrue, @g_naxes) <> cmerr_none ) then begin end; cmmerrshowlast(form1handle); exit; 67

CHAPTER 5 :: GENERAL FUNCTIONS end; 68

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT INFORMATION 1 General Function! VC++/VB BCB/Delphi/NET : Level 1 J r DESCRIPTION RETURN VALUE CMMSDK CMMSDK (SD4xx) Series cmerr_none? cmmgndeviceload Appendix B SEE ALSO cmmgndeviceload 69

CHAPTER 5 :: GENERAL FUNCTIONS INFORMATION 1 General Function! VC++/VB BCB/Delphi/NET : Level 1 r J DESCRIPTION PARAMETER cmmgndeviceload(), GnDeviceLoad() (), / cmmgndeviceisloaded() IsLoaded : 0 cmfalse 1 cmtrue RETURN VALUE cmerr_none SEE ALSO EXAMPLE cmmgndeviceload C/C++ #include Cmmsdkh #include CmmsdkDefh long TestRunLoadStatus(void) { long IsLoaded = 0; if (cmmgndeviceisloaded(&isloaded)!= cmerr_none ) { printf( cmmgndeviceisloaded has been failed ); return FALSE; } if ( IsLoaded == cmtrue) 70

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT else printf( Device load has been completed ); printf( Device load hasn t been completed ); return IsLoaded; } 71

CHAPTER 5 :: GENERAL FUNCTIONS INFORMATION 1 General Function! VC++/VB BCB/Delphi/NET : Level 1 J r DESCRIPTION RETURN VALUE cmmgndeivceload (Appendix) cmerr_none SEE ALSO cmmgndeviceload 72

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Chapter 6 Etc General Functions CMMSDK GUI ( ), ( ) ( ) ( ) General () General ( ) (), General General ON, Visual Basic, () 73

CHAPTER 6 :: ETC GENERAL FUNCTIONS 6 Etc General Functions 61 Summary of Functions r VT_I4 cmmgninitfromfile([in] VT_STR szcmefile) CME(COMIZOA Motion Environment) r VT_I4 cmmgnsetservoon ([in] VT_I4 Channel, [in] VT_I4 Enable) SERVO-ON ( ) ( ) r VT_I4 cmmgngetservoon ([in] VT_I4 Channel, [out] VT_PI4 Enable) SERVO-ON ( ) ( ) r VT_I4 cmmgnpulsealarmres ([in] VT_I4 Channel, [in] VT_I4 IsOnPulse, [in] VT_I4 dwduration,[in] VT_I4 IsWaitPulseEnd) (Alarm Reset) ( ) r VT_I4 cmmgnsetalarmres ([in] VT_I4 nchannel, [in] VT_I4 IsOn) (Alarm Reset) ( ) r VT_I4 cmmgngetalarmres ([in] VT_I4 nchannel, [out] VT_PI4 IsOn) (Alarm Reset) () ( ) r VT_I4 cmmgnsetsimulmode ([in] VT_I4 Channel, [in] VT_I4 IsSimulMode) ( ) ( ) r VT_I4 cmmgngetsimulmode ([in] VT_I4 Channel, [out] VT_PI4 IsSimulMode) ( ) r VT_I4 cmmgnputinternalsta([in] VT_I4 ChannelMask) STA ( ) r VT_I4 cmmgnsetemergency ([in] VT_I4 IsEnable, [in] VT_I4 IsDecStop) () r VT_I4 cmmgngetemergency ([out] VT_PI4 IsEnabled) ( ) r VT_I4 cmmgnbitshift ([in] VT_I4, [in] VT_I4 ShiftOption, [out] VT_PI4 Result) 32 (Bit Operation) 74

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 62 INFORMATION 1 Etc General Function! VC++/VB BCB/Delphi/NET : Level 1 J r DESCRIPTION PARAMETER (CME2) CME2 COMI-AUTOMATION CME Builder CME Builder GUI(Graphics User Interface) Appendix szcmefile : CME2 RETURN VALUE cmerr_none EXAMPLE C/C++ void InitMotionDevices() { //////////////////////////////////////////////////////////////////////////////////////// // [CAUTION]: CME CME // #define CME_FILE_NAME "Defaultcme2" char szcmefilepath[max_path], szsystemdir[max_path]; /* ( C:\Windows\System32) */ GetSystemDirectory(szSystemDir, MAX_PATH); sprintf(szcmefilepath, "%s\\%s", szsystemdir, CME_FILE_NAME); if(cmmgninitfromfile(szcmefilepath)!= cmerr_none){ cmmerrshowlast(null); // } else{ ////////////////////////////////////////////////////////////////////////////////// // CME ( ) // long nnumaxes_installed, nnumaxes_defined; 75

CHAPTER 6 :: ETC GENERAL FUNCTIONS cmmadvgetnumavailaxes(&nnumaxes_installed); // PC (cmmgndeviceload() ) cmmadvgetnumdefinedaxes(&nnumaxes_defined); // CME (CME ) if(nnumaxes_installed!= nnumaxes_defined){ MessageBox(NULL, " ", "Warning", MB_OK MB_ICONWARNING); } } } // SERVO-ON // long nnumaxes; cmmadvgetnumdefinedaxes(&nnumaxes); for(int i=0; i<nnumaxes; i++){ cmmgnsetservoon(i, TRUE); } 76

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT INFORMATION 1 Etc General Function! VC++/VB BCB/Delphi/NET : Level 1 J ON/OFF, r r DESCRIPTION PARAMETER cmmgnsetservoon() ( ) SERVO-ON ON/OFF, SERVO-ON SERVO-ON ON/OFF cmmgngetservoon() SERVO-ON Channel : ( ) (0 ) Enable : cmmgnsetservoon, SERVO-ON 0 cmfalse 1 cmtrue SERVO-OFF SERVO-ON Enable : cmmgngetservoon, SERVO-ON 0 cmfalse 1 cmtrue SERVO-OFF SERVO-ON RETURN VALUE cmerr_none REFERENCE On cmmgndeivceload() cmmgnsetservoon(axis#, cmtrue) 77

CHAPTER 6 :: ETC GENERAL FUNCTIONS cmmcfgsetmioproperty (0/* */, cmsvon_logic, cmlogic_a) cmmcfgsetmioproperty (0/**/, cmsvon_logic, cmlogic_b) 78

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT INFORMATION r 1 Etc General Function! VC++/VB BCB/Delphi/NET : Level 1 J LX534 DESCRIPTION cmmgnpulsealarmres() ( ) (Reset),,,, (Alarm Reset Signal) 1 (Alarm Reset Signal),, 2 LX50x 2, DI( ) 3, DO( ) 3, J1 1-2 6-1 79

CHAPTER 6 :: ETC GENERAL FUNCTIONS PARAMETER nchannel: [cmx1] 0 IsOnPulse : () 0 cmfalse 1 cmtrue : OFF : ON : ON : OFF RETURN VALUE dwduration : (millisec), ( ) IsWaitPulseEnd : cmerr_none SEE ALSO REFERENCE cmmgnsetalarmres, cmmgngetalarmres dwduration IsOnPulse dwduration Pulse, dwduration, IsOnPulse Rising Edge, Falling Edge ( ) 80

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT INFORMATION 1 Etc General Function! VC++/VB BCB/Delphi/NET : Level 1 K LX534 r r DESCRIPTION cmmgnsetalarmres() ( ) (Reset),,,, (Alarm Reset Signal) cmmgnpulsealarmres() (Pulse Signal), cmmgnsetalarmres() cmmgnpulsealarmres(), (Pulse Signal) 1 (Alarm Reset Signal),, 2 LX50x 2, DI( ) 3, DO( ) 3, J1 1-2 81

CHAPTER 6 :: ETC GENERAL FUNCTIONS 6-2 PARAMETER nchannel: [cmx1] 0 IsOn : cmmgnsetalarmres, 0 (cmfalse) ( ) 1 (cmtrue) IsOn : cmmgngetalarmres, 0 (cmfalse) ( ) 1 (cmtrue) RETURN VALUE cmerr_none SEE ALSO REFERENCE cmmgnpulsealarmres,,, SEE ALSO cmmgnpulsealarmres cmmgnpulsealarmres, On/Off, Alarm Reset, Rising Edge, Falling Edge 82

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT INFORMATION 1 Etc General Function! VC++/VB BCB/Delphi/NET : Level 1 J r r DESCRIPTION PARAMETER cmmgnsetsimulmode() COMMAND, COMMAND COMMAND () cmmgngetsimulmode() Channel : ( ) 0 IsSimulMode : cmmgnsetsimulmode, / 0 (cmfalse) 1 (cmtrue) IsSimulMode : cmmgngetsimulmode, / 0 (cmfalse) 1 (cmtrue) RETURN VALUE cmerr_none 83

CHAPTER 6 :: ETC GENERAL FUNCTIONS INFORMATION 1 Etc General Function! VC++/VB BCB/Delphi/NET : Level 1 r J DESCRIPTION PARAMETER RETURN VALUE STA STA START, Machine I/O cmmcfgsetmioproperty STA HARDWARE STA ON STA STA Turn ON STA HARDWARE cmmcfgsetmioproperty(axis, cmsta_mode, 1),, STA ( ) ChannelMask : cmerr_none 84

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT INFORMATION 1 Etc General Function! VC++/VB BCB/Delphi/NET : Level 1 r r J DESCRIPTION PARAMETER cmmgnsetemergency() Emergency ( ) ( ) ( ) IsDecStop ( ) cmmgngetemergency() Emergency IsEnable : ( ) / 0 cmfalse 1 cmtrue ( ) ( ) ( ) IsEnabled : ( ) / 0 cmfalse 1 cmtrue ( ) ( ) ( ) IsDecStop : IsEnable cmtrue ( ) ( ) ( ) ( ) ( ), IsEnable ( ) cmfalse, 0 cmfalse 1 cmtrue ( ) ( ) ( ) ( ) RETURN VALUE cmerr_none 85

CHAPTER 6 :: ETC GENERAL FUNCTIONS INFORMATION 1 Etc General Function! VC++/VB BCB/Delphi/NET : Level 1 J r DESCRIPTION PARAMETER RETURN VALUE 32 (Bit Shift) VB, VB (Bit Shift) : 32 ShiftOption : Result : cmerr_none EXAMPLE C/C++ long = 0xf; long nresult = 0; // 4 => 0xf0 // = cmmgnbitshift(, 4, &nresult); // 4 => 0xf // = cmmgnbitshift(, -4, &nresult); Visual Basic Dim As Long Dim nresult As Long = &HF 86

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 4 => 0xf0 = cmmgnbitshift(, 4, nresult); 4 => 0xf = cmmgnbitshift(, -4, nresult); Delphi : LongInt; nresult : LongInt; := $f; // 4 => 0xf0 // := cmmgnbitshift(, 4, @nresult); // 4 => 0xf // := cmmgnbitshift(, -4, @nresult); 87

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS Chapter 7 Environment Configuration Functions ( ), ( )( ) ( ) CME Builder (), ( ) ( ) () ( ) 88

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 7 71 Summary of Functions r VT_I4 cmmcfgsetmioproperty ([in] VT_I4 Axis, [in] VT_I4 Propld, [in] VT_I4 PropVal) ( ) r VT_I4 cmmcfggetmioproperty ([in] VT_I4 Axis, [in] VT_I4 Propld, [out] VT_PI4 ProVal) ( ) ( ) r VT_I4 cmmcfgsetfilter ([in] VT_I4 Axis, [in] VT_I4 IsEnable) I/O(Input/Output) (Filter) ( ) r VT_I4 cmmcfggetfilter ([in] VT_I4 Axis, [out] VT_PI4 IsEnable) I/O(Input/Output) (Filter) ( ) ( ) r VT_I4 cmmcfgsetinmode ([in] VT_I4 Axis, [in] VT_I4 InputMode, [in] VT_I4 IsInverse) (Feedback Pulse) () r VT_I4 cmmcfggetinmode ([in] VT_I4 Axis, [out] VT_PI4 InputMode, [out] VT_PI4 IsInverse) (Feedback Pulse) ( ) r VT_I4 cmmcfgsetoutmode ([in] VT_I4 Axis, [in] VT_I4 OutputMode) (Command Pulse) () r VT_I4 cmmcfggetoutmode ([in] VT_I4 Axis, [out] VT_PI4 OutputMode) (Command Pulse) () r VT_I4 cmmcfgsetinoutratio ([in] VT_I4 Axis, [in] VT_R8 Ratio) (Feedback Pulse) (Command Pulse) (Resolution ratio) ( ) r VT_I4 cmmcfggetinoutratio ([in] VT_I4 Axis, [out] VT_PR8 Ratio) (Feedback Pulse) (Command Pulse) (Resolution ratio) ( ) r VT_I4 cmmcfgsetunitdist ([in] VT_I4 Axis, [in] VT_R8 UnitDist) ( ) ( ) r VT_I4 cmmcfggetunitdist ([in] VT_I4 Axis, [out] VT_PR8 UnitDist) ( ) ( ) r VT_I4 cmmcfgsetunitspeed ([in] VT_I4 Axis, [in] VT_R8 UnitSpeed) ( ) ( ) r VT_I4 cmmcfggetunitspeed ([in] VT_I4 Axis, [out] VT_PR8 UnitSpeed) ( ) ( ) ( ) r VT_I4 cmmcfgsetspeedrange ([in] VT_I4 Axis, [in] VT_R8 MaxPPS) ( ), ( ) r VT_I4 cmmcfggetspeedrange ([in] VT_I4 Axis, [out] VT_PR8 MinPPS, [out] VT_PR8 MaxPPS) ( ), ( ) ( ) r VT_I4 cmmcfgsetspeedpattern ([in] VT_I4 Axis, [in] VT_I4 SpeedMode, [in] VT_R8 WorkSpeed, [in] VT_R8 Accel, [in] VT_R8 Decel ) ( ) ( ) r VT_I4 cmmcfggetspeedpattern ([in] VT_I4 Axis, [out] VT_PI4 SpeedMode, [out] VT_PR8 WorkSpeed, [out] VT_PR8 Accel, [out] VT_PR8 Decel) ( ) ( ) r VT_I4 cmmcfgsetactspdcheck ([in] VT_I4 IsEnable, [in] VT_I4 Interval) (Feedback Pulse) ( ), ( ) 89

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS r VT_I4 cmmcfggetactspdcheck ([out] VT_PI4 IsEnable, [out] VT_PI4 Interval) (Feedback Pulse) ( ), ( ) r VT_I4 cmmcfgsetsoftlimit ([in] VT_I4 Axis, [in] VT_I4 IsEnable, [in] VT_R8 LimitN, [in] VT_R8 LimitP) ( ), r VT_I4 cmmcfggetsoftlimit ([in] VT_I4 Axis, [out] VT_PI4 IsEnable, [out] VT_PR8 LimitN, [out] VT_PR8 LimitP) ( ) r VT_I4 cmmcfgsetringcntr ( [in] VT_I4 Axis, [in] VT_I4 TargCntr, [in] VT_I4 IsEnable, [in] VT_R8 CntMax ) (Rign -Counter) () r VT_I4 cmmcfggetringcntr ( [in] VT_I4 Channel, [in] VT_I4 TargCntr, [out] VT_PI4 IsEnable, [out] VT_PR8 CntMax ) () r VT_I4 cmmcfgsetvelcorrratio ([in] VT_I4 Axis, [in] VT_R8 fcorrratio) () ( ) ( ) r VT_I4 cmmcfggetvelcorrratio ([in] VT_I4 Axis, [out] VT_PR8 fcorrratio) () ( ) ( ) r VT_I4 cmmcfgsetfilterab ([in] VT_I4 Channel, [in] VT_I4 Target, [in] VT_I4 IsEnable) EA/EB PA/PB ( ) r VT_I4 cmmcfggetfilterab ([in] VT_I4 Channel, [in] VT_I4 Target, [out] VT_PI4 IsEnabled) EA/EB PA/PB ( ) r VT_I4 cmmcfgsetctrlmode ([in] VT_I4 Axis, [in] VT_I4 CtrlMode) ( ) r VT_I4 cmmcfggetctrlmode ([in] VT_I4 Axis, [out] VT_PI4 CtrlMode) ( ) r VT_I4 cmmcfgsetseqmode ([in] VT_I4 SeqMode) () r VT_I4 cmmcfggetseqmode ([out] VT_PI4 SeqMode) ( ) r VT_I4 cmmcfgsetmanextlimit ([in] VT_I4 Axis, [in] VT_I4 IsSetELP, [in] VT_I4 IsEnable, [in] VT_I4 ManState) ( ) Limit ( ), COMI-LX504a r VT_I4 cmmcfggetmanextlimit ([in] VT_I4 Axis, [in] VT_I4 IsSetELP, [out] VT_PI4 IsEnable, [out] VT_PI4 ManState) ( ) Limit ( ), COMI-LX504a 90

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT 72 INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 K () r r DESCRIPTION PARAMETER cmmcfgsetmioproperty() I/O PropId cmmcfggetmioproperty() I/O PropId Channel : ( ) [cmx1] 0 PropId : ( ) PropVal : PropId PropId 0 (cmalm_logic) 1 (cmalm_mode) & PropVal Alarm(ALM) PropVal 0 (cmlogic_a) : A => Open, Close 1 (cmlogic_b) : B => Close, Open Alarm ON () ( ) PropVal 0 : ( ) 1 : ( ) 91

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS PropId 2 (cmcmp_logic) 3 (cmdr_logic) 4 (cmel_logic) 5 (cmel_mode) 6 (cmerc_logic) 7 (cmerc_out) 8 (cmez_logic) 9 (cminp_en) 10 (cminp_logic) 11 (cmltc_logic) 12 (cmltc_ltc2src) 13 (cmorg_logic) 14 (cmsd_en) & PropVal (CMP) 0 : Active low => HIGH LOW HIGH 1 : Active high => LOW HIGH LOW -/+ DR PropVal 0 (cmlogic_a) : A 1 (cmlogic_b) : B -EL +EL PropVal 0 (cmlogic_a) : A 1 (cmlogic_b) : B -/+ EL ON () ( ) PropVal 0 : ( ) 1 : ( ) ERC PropVal 0 (cmlogic_a) : A 1 (cmlogic_b) : B ERC PropVal 0 (cmfalse) : ERC 1 (cmtrue) : ERC EZ( Z ) PropVal 0 (cmlogic_a) : A 1 (cmlogic_b) : B INP PropVal 0 (cmfalse) : INP 1 (cmtrue) : INP => Command INP ON INP(Inposition) PropVal 0 (cmlogic_a) : A 1 (cmlogic_b) : B LTC(Latch) PropVal 0 (cmlogic_a) : A 1 (cmlogic_b) : B LATCH COUNTER PropVal 0 : Deviation counter value 1 : Preset speed of command pulse ORG() PropVal 0 (cmlogic_a) : A 1 (cmlogic_b) : B SD(Start of Deceleration) PropVal 0 (cmfalse) : SD 1 (cmtrue) : SD SD cmsd_latch cmsd_mode 92

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT PropId 15 (cmsd_logic) 16 (cmsd_latch) 17 (cmsd_mode) 18 (cmsta_mode) 19 (cmsta_trg) 20 (cmstp_mode) 21 (cmclr_cntr) 22 (cmclr_sigtype) 23 (cmcmp_pwidth) 24 (cmerc_ontime) 25 (cmsvon_logic) & PropVal SD(Start of Deceleration) PropVal 0 (cmlogic_a) : A 1 (cmlogic_b) : B SD(Start of Deceleration) (Latch) PropVal 0 (cmfalse) : SD ON SD OFF 1 (cmtrue) : SD ON OFF SD PropVal 0 : SD ON (( )) 1 : SD ON ( ) Start mode PropVal 0 : STA, 1 :, STA ON STA ON PropVal 0 : Level (LOW) => STA LOW LEVEL ON 1 : Falling Edge => STA HIGH LOW ON STP PropVal 0 : Ignore STP => STP 1 : Immediate stop => STP ON ( ) 2 : Stop after decel => STP ON ( ) CLR CLEAR 4 Bit 0 : Command counter Bit 1 : Feedback counter Bit 2 : Deviation counter Bit 3 : General counter CLR PropVal 0 : Falling edge => Open Close 1 : Rising edge => Close Open 2 : Low level => Close 3 : High level => Open CMP One-shot pulse, PropVal 0 : Command : 15us, 1 15us, 2 3us ERC PropVal 0 => 12us, 1 => 102us, 2 => 409us, 3 => 16ms, 4 => 13ms, 5 => 52ms, 6 => 104ms, 7=> Logic Level Output (Servo-On) 0 (cmlogic_a) : A 1 (cmlogic_b) : B 93

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS RETURN VALUE cmerr_none 94

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 r r J DESCRIPTION PARAMETER SEE ALSO I/O I/O Channel : ( ) [cmx1] 0 IsEnable : cmmcfgsetfilter, 0 Filter Disable () 1 Filter Enable ( ) IsEnable : cmmcfggetfilter, 0 Filter Disable () 1 Filter Enable ( ) Enable I/O +EL, -EL, SD, ORG, ALM, INP +DR, -DR 4 s 32ms RETURN VALUE cmerr_none 95

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 r r J DESCRIPTION PARAMETER cmmcfgsetinmode() Feedback Pulse Feedback () 4 Feedback (Logic) cmmcfggetinmode() Feedback Channel : ( ) [cmx1] 0 InputMode : cmmcfgsetinmode, Feedback 5 0 (cmimode_ab1x) 1X A/B (1 ) 1 (cmimode_ab2x) 2X A/B (2 ) 2 (cmimode_ab4x) 4X A/B (4 ) 3 (cmimode_cwccw) CW/CCW (A -, B - ) 4 (cmimode_step) Feedback Command (bypass) ( ) InputMode : cmmcfggetinmode, Feedback 0 (cmimode_ab1x) 1X A/B (1 ) 1 (cmimode_ab2x) 2X A/B (2 ) 2 (cmimode_ab4x) 4X A/B (4 ) 3 (cmimode_cwccw) CW/CCW (A -, B - ) 4 (cmimode_step) Command (bypass) IsInverse : cmmcfgsetinmode, Feedback Count UP/DOWN 0 Feedback count UP/DOWN 1 Feedback count UP/DOWN 96

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT RETURN VALUE IsInverse : cmmcfggetinmode, Feedback Count UP/DOWN 0 Feedback count UP/DOWN 1 Feedback count UP/DOWN cmerr_none 97

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 K LX504a PARAMETER r r DESCRIPTION PARAMETER cmmcfgsetoutmode() Command Command User s Guide Part II Chapter2 22 cmmcfggetoutmode() Command Channel : ( ) [cmx1] 0 OutputMode : Command 10 (Mode) ) Pulse & Direction Mode (+) (-) CW pin CCW pin CW pin CCW pin 0 1 2 3 ) CW/CCW Mode (+) (-) CW pin CCW pin CW pin CCW pin 4 5 98

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT ) LX 504a 4 5 CW & CCW 4 (Inverse) 6, 5 ( Inverse) 7 (+) (-) CW pin CCW pin CW pin CCW pin 6 7 ) A/B Phase Mode ( ) (+) (-) 8 9 RETURN VALUE cmmcfgsetoutmode() cmmcfggetoutmode() cmerr_none REFERENCE, (Command Pulse) 4 5 CW/CCW, 0 3 OUT/DIR CW/CCW OUT/DIR (Command Pulse),, 1 (Negative Direction) (Positive Direction) 2 1 (Pulse) (Command Pulse), Command Pulse Counter Command Pulse Counter Pulse Counter (Monitoring),, Open Collecter,, () 99

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 J r r DESCRIPTION PARAMETER RETURN VALUE Feedback Command (Resolution ratio) Feedback 1 Command 1 Command Channel : ( ) [cmx1] 0 Ratio : cmmcfgsetinoutratio, Feedback Command Ratio = (Feedback )/(Command ) Ratio : cmmcfggetinoutratio, Feedback Command cmmcfgsetinoutratio() cmmcfggetinoutratio() cmerr_none SEE ALSO In/Out Ratio Actual(Feedback) position Actual speed Command Command Feedback Actual position Actual speed In/Out Ratio cmmstgetposition() cmmstgetspeed() cmcnt_feed 100

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT r INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 r J DESCRIPTION PARAMETER RETURN VALUE cmmcfgsetunitdist() Move 1 Channel : ( ) [cmx1] 0 UnitDist : cmmcfgsetunitdist, 1 UnitDist : cmmcfggetunitdist, UnitDistance cmmcfgsetunitdist() cmmcfggetunitdist() cmerr_none SEE ALSO Unit distance & Unit speed Command,,, Unit distance Unit speed Unit distance Du 101

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS Pr : 1 ( Command ) Lr : 1 Unit distance 1 Unit speed Unit distance Unit speed Unit distance Unit distance ( ) Unit distance 1 Unit distance & Unit speed Unit distance Unit speed Unit distance (Du) = Pr/Lr = 10000/5 = 2000 Unit speed (Vu) = 2000 //, Unit distance Unit speed 2000 //mm // =100(mm/s), / =1000(mm/s^2) // cmmcfgsetspeedpattern(cmx1, cmsmode_t, 100, 1000, 1000); // (+) 20mm ( 20*2000 = 40000 ) // cmmsxmove (0, 20); // (-) 20mm ( 20*2000 = 40000 ) // cmmsxmove (0, -20); 102

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT r INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 r J DESCRIPTION PARAMETER REFERENCE EXAMPLE 1 (PPS) 1 PPS Channel : ( ) [cmx1] 0 UnitSpeed : cmmcfgsetunitspeed, (PPS) UnitSpeed : cmmcfggetunitspeed, (PPS) ( ), RPM m/sec cmmcfgsetunitspeed() Ex 1) 1 3600 RPM funitdist 3600/60, 60 PPS ( 60 RPM 3600/60 1 3600 ) Ex 2) 1cm 1000 cm/sec funitdist 1000 PPS C/C++ 1 3600 (1 ), rpm #include Cmmsdkh #include CmmsdkDefh void StartProgram() { 103

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS long nnumaxes = 0; if ( cmmloaddll()!= TRUE ) { /* OutputDebugString API GUI Borland C++ Builder DebugWindows Event Log ( ), MS VC++ Debug ( ) */ OutputDebugString( DLL ); // } if ( cmmgndeviceload(cmtrue, &nnumaxes)!= cmerr_none ){ // MS VC++ cmmerrshowlast(handle); // } // Borland C++ // //cmmerrshowlast(form1->handle); } // void OnMove(void) { // Set 10 pulses for unit distance // 1 3600 // 1 cmmcfgsetunitdistance(cmx1, 10); // Set 3600/60(=60) PPS for unit speed // 1 3600 // 1rpm cmmcfgsetunitspeed(cmx1, 3600/60); // Set trapezoidal speed mode // // Set speed as 100 rpm // // 200rpm/s 100rpm 05 cmmcfgsetspeedpattern(cmx1, cmsmode_t, 100,200,200); } // 720 720*10 // cmmsxmove(cmx1, 720,cmFALSE); void EndProgram(void) { cmmgndeviceunload(); cmmunloaddll(); } Visual Basic '1 3600 (1 ), ' rpm Private Sub StartProgram() Dim ntotalaxis As Long Dim IRetVal As Long Dim IsLoaded As Long '================================================================== ' cmmgndeviceload IRetVal = cmmgndeviceload(true, ntotalaxis) If IRetVal <> cmerr_none Then 104

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT MsgBox ("cmmgndeviceload has been failed") End If '================================================================== '================================================================== ' cmmgndeviceisloaded Call cmmgndeviceisloaded(isloaded) If IsLoaded <> cmtrue Then MsgBox (" ") End End If '================================================================== End Sub '// Private Sub OnMove(void) '// Set 10 pulses for unit distance '// 1 3600 '// 1 Call cmmcfgsetunitdistance(cmx1, 10) '// Set 3600/60(=60) PPS for unit speed '// 1 3600 '// 1rpm Call cmmcfgsetunitspeed(cmx1, 3600# / 60) '// Set trapezoidal speed mode '// Set speed as 100 rpm '// 200rpm/s //100rpm 05 Call cmmcfgsetspeedpattern(cmx1, cmsmode_t, 100, 200, 200) '// 720 720*10 Call cmmsxmove(cmx1, 720, cmfalse) End Sub Private Sub EndProgram() End Sub Call cmmgndeviceunload Call cmmunloaddll EXAMPLE 2 C/C++ 1cm 1000 cm, cm/sec #include Cmmsdkh #include CmmsdkDefh void StartProgram() { long nnumaxes = 0; if ( cmmloaddll()!= TRUE ) { /* OutputDebugString API GUI Borland C++ Builder DebugWindows Event Log ( ), MS VC++ Debug ( ) */ OutputDebugString( DLL ); 105

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS // } if ( cmmgndeviceload(cmtrue, &nnumaxes)!= cmerr_none ){ // MS VC++ cmmerrshowlast(handle); // // Borland C++ // // cmmerrshowlast(form1->handle); } } /* void StartProgram() */ // void OnMove(void) { // Set 1000 pulses for unit distance // 1cm 1000 // 1cm cmmcfgsetunitdistance(cmx1, 1000); // Set 1000 PPS for unit speed // 1cm 1000 // 1rpm cmmcfgsetunitspeed(cmx1, 1000); // Set speed as 50 cm/sec/ // Set constant speed mode } cmmcfgsetspeedpattern(cmx1, cmsmode_c, 50,0,0); cmmsxmove(cmx1, 10); // 50 cm/sec 10cm 10*1000=10000 void EndProgram(void) { cmmgndeviceunload(); cmmunloaddll(); } Visual Basic '1cm 1000 cm, ' cm/sec Private Sub StartProgram() Dim ntotalaxis As Long Dim IRetVal As Long Dim IsLoaded As Long '================================================================== ' cmmgndeviceload IRetVal = cmmgndeviceload(true, ntotalaxis) If IRetVal <> cmerr_none Then MsgBox ("cmmgndeviceload has been failed") End If '================================================================== '================================================================== ' cmmgndeviceisloaded Call cmmgndeviceisloaded(isloaded) If IsLoaded <> cmtrue Then MsgBox (" ") End End If '================================================================== End Sub 106

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT '// Private Sub OnMove() End Sub '// Set 1000 pulses for unit distance '// 1cm 1000 '// 1cm Call cmmcfgsetunitdistance(cmx1, 1000) '// Set 1000 PPS for unit speed '// 1cm 1000 '// 1rpm Call cmmcfgsetunitspeed(cmx1, 1000) '// Set speed as 50 cm/sec/ // '// Set constant speed mode // Call cmmcfgsetspeedpattern(cmx1, cmsmode_c, 50, 0, 0) Call cmmsxmove(cmx1, 10) '50 cm/sec 10cm ' 10*1000=10000 Private Sub EndProgram() End Sub Call cmmgndeviceunload Call cmmunloaddll 107

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 J r r DESCRIPTION PARAMETER cmmcfgsetspeedrange () / 65MHz 10Hz ~ 655,350Hz cmmcfggetspeedrange () Channel : ( ) [cmx1] 0 MaxPPS : cmmcfgsetspeedrange, PPS MaxPPS Unit speed PPS MaxPPS : cmmcfggetspeedrange, PPS MinPPS : PPS MinPPS = MaxPPS / 65,535 MaxPPS 655,350 MinPPS = 655,350 / 65,535 = 10 (PPS) 108

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT r INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 r J DESCRIPTION PARAMETER,,, cmmsxsetspeedratio Channel : ( ) [cmx1] 0 SpeedMode : cmmcfgsetspeedpattern, 0 cmsmode_c 1 cmsmode_t 2 cmsmode_s -1 cmsmode_keep CONSTANT => TRAPEZOIDAL => S-CURVE => S-CURVE S-Curve, SpeedMode : cmmcfggetspeedpattern, 0 cmsmode_c 1 cmsmode_t 2 cmsmode_s CONSTANT => TRAPEZOIDAL => S-CURVE => S-CURVE WorkSpeed : cmmcfgsetspeedpattern, WorkSpeed : cmmcfggetspeedpattern, 109

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS SEE ALSO RETURN VALUE Accel : cmmcfgsetspeedpattern, Accel : cmmcfggetspeedpattern, Decel : cmmcfgsetspeedpattern, Decel : cmmcfggetspeedpattern, cmmsxsetspeedratio cmerr_none REFERENCE / cmmcfgsetunitspeed() CONSTANT speed mode Constant speed mode Motion / Motion WorkSpeed TRAPEZOIDAL speed mode Trapezoidal speed mode Motion [ 1] Linear acceleration -> Working speed(constant) -> Linear deceleration 7-1 Trapezoidal speed pattern Acceleration time Tacc = (Vwork Vinitial)/a Tacc : Acceleration time Vinitial : Initial speed Vwork : Working speed a : Acceleration setting value, Vinitial 0,, Deceleration time Tacc = Vwork /a 110

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT SCURVE SPEED MODE S-curve speed mode Motion S S-curve speed mode ( ) 7-2 S-curve section Linear acceleration section 7-2 S-curve speed pattern S-curve speed mode ( ) S-curve section ( ) ( ) ( ) Jerk Tacc Tacc = (Vwork Vinitial)/a Tacc : Acceleration time Vinitial : Initial speed Vwork : Working speed a : Acceleration setting value Deceleration time SVacc S-curve Section S-curve Section 0 S-Curve 111

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 J r r DESCRIPTION PARAMETER SEE ALSO REFERENCE cmmcfgsetactspdcheck() ( ) Enable Feedback ( ) Feedback ( ) Feedback ( ), cmmstgetspeed() (Feedback Pulse), SEE ALSO cmmcfggetactspdcheck Feedback ( ) IsEnable : cmmcfgsetactspdcheck, Feedback ( ) Interval : cmmcfgsetactspdcheck, Feedback () msec IsEnable : cmmcfggetactspdcheck, Feedback ( ) Interval : cmmcfggetactspdcheck, Feedback () msec cmmstgetspeed Feedback () msec Feedback ( ) Feedback, DC 1 V a = R DT R u io 112

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT V a : Feedback D C : ( ) Feedback counter D T : ( ), Interval msec D T Interval/1000 R u : Unit Speed, cmmcfgsetunitspeed() R io : In/Out Ratio, cmmcfgsetinoutratio() 113

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 J r r DESCRIPTION PARAMETER REFERENCE (Limit) Limit Limit Command pulse +/- Limit ( ) Channel : ( ) 0 IsEnable : cmmcfgsetsoftlimit, (Limit) IsEnable : cmmcfggetsoftlimit, (Limit) LimitN : cmmcfgsetsoftlimit, (-) Limit LimitN : cmmcfggetsoftlimit, (-) Limit LimitP : cmmcfgsetsoftlimit, (+) Limit LimitP : cmmcfggetsoftlimit, (+) Limit S/W Limit Unit Distance Unit Distance 1000, LimitN LimitP 28Bit Unit Distance * S/W Limit < 268,435,456(28bit ) Unit Distance S/W Limit 28bit Double 28Bit, Overflow Negative Limit Positive Limit, +/- 114

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT Limit Limit Negative Limit Positive Limit Unit Distance, Overflow 115

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 r r J DESCRIPTION PARAMETER cemcfgringcntr_set / (Axis) Command Feedback cemcfgringcntr_get Axis : ( ) 0 TargCntr : 0 (cmcnt_comm) Command Counter 1 (cmcnt_feed) Feedback Counter IsEnable : cmmcfgsetringcntr, / 0 (cmfalse) 1 (cmtrue) IsEnable : cmmcfggetringcntr, / CntMax : cmmcfgsetringcntr, 0~CntMax Unit distance CntMax : cmmcfggetringcntr, 116

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT RETURN VALUE cmerr_none REFERENCE COMI-LX502,, 117

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION r 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 K r DESCRIPTION ( ) 92%, () CMMSDK () Work Velocity Correction (WVC) WVC 92%, Vel V TRI : (Triangular Velocity) V CORR : V INI : V TRI V CORR V INI Time 7-3 118

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT cmmcfgsetvelcorrratio(), 92(%) PARAMETER SEE ALSO RETURN VALUE Channel : ( ) [cmx1] 0 fcorrratio : cmmcfgsetvelcorrratio, % fcorrratio : cmmcfggetvelcorrratio, % cmmcfggetvelcorrratio cmerr_none REFERENCE 92(%) 119

CHAPTER 7 :: ENVIRONMENT CONFIGURATION FUNCTIONS INFORMATION r 1 Environment Configuration Functions! VC++/VB BCB/Delphi/NET : Level 2 J r DESCRIPTION PARAMETER cmmcfgsetfilterab() EA/EB(Encoder Feedback) PA/PB(Manual Pulsar) 308 ns EA/EB PA/PB, 325 MHz EA/EB PA/PB, Target ( ) cmmcfgsetfilterab() EA/EB PA/PB Channel : ( ) [cmx1] 0 Target : () 0 (cmab_enc) EA/EB 1 (cmab_pulsar) PA/PB IsEnable : cmmcfgsetfilterab, 0 [ ] Filter disable 1 Filter enable IsEnable : cmmcfggetfilterab, 0 [ ] Filter disable 1 Filter enable RETURN VALUE 120

COMIZOA MOTION SOFTWARE DEVELOPMENT KIT cmerr_none REFERENCE Enable 325 MHz EXAMPLE C/C++ cmmcfgsetfilterab (cmx1, cmab_enc, TRUE); // 0 EA/EB cmmcfgsetfilterab (cmx1, cmab_pulsar, TRUE); // 0 PA/PB 121