Home

GalilTools - Galil Motion Control

image

Contents

1. Component Name TypeLib version Path a FPAPI 2 0 TYPE LIBRARY CAPROGRAs 1 FPDTC 1 0 TYPE LIBRARY d CAPROGRAs 1 FPerson 1 0 Type Library i CAPROGRAsA1 IX FPlace 1 0 Type Library d CAPROGRAs 1 FPlace 2 0 Type Library C PROGRA 1 FSHook 1 0 Type Library j C Program Files FStock 1 0 Type Library CAPROGRAs IC FStock 2 0 Type Library i CAPROGRAs IC Galil Ci Code Gali lq GBDetect 1 0 Type Library i C Program Files GdService 1 0 Type Library 5 C Program Files GDSUserInfoLib l C Program Files GenericCredentialStore 1 0 Type Library i C Program Files Google Desktop Display API Type Library 2 C Program Files Google Desktop Search API 1 1 Type Li 1 C Program Files v lt gt 5 Double click on Form and add the code below vb Microsoft Visual Studio File Edit View Project Build Debug Data Tools Test Window Help a ay oa a Gal 89 A r i 3 b Debug T R B ar Sle ca Sie ese se Object Browser StartPage Formi vb Formi vb Design General vi Declarations Public Class Formi WithEvents g is New Galil Galil Private Sub Formi LoadibvVal sender As System Object g address Me Text g connection F End Sub End Class v A 6 Hit F5 to run the program EB GALILPCI2 DMC1886 Rev 1 0b 988 E JBA Visual Studio or the free of charge Express edition mav be used below configures Visual Studio 2008 but versi
2. The Scope is preparing to arm for Single or Repeat mode No triggers will be detected Data left of the Time offset is being buffered READY The Scope is ready to detect a trigger condition TRIGGERED The Scope has detected a trigger condition and is gathering data to fill the scope space right of the Time offset SCAN When the Mode is Auto and the Time Scale is gt 100ms the Scope is in Scan mode Data is drawn continuously and ARMING triggers are ignored Communication For the following Ethernet and PCI controllers the Scope sample period can be set with the DR command from the Terminal see your controller s command reference DMC 18x6 21x3 40x0 and RIO 471x0 GalilTools will automatically choose the fastest sampling period DR possible For the DMC 18x2 QR is polled as quickly as possible and the resulting sample rate may be uneven and depends on the controller and PC workload For stand alone controllers connected over RS 232 the scope uses the QR mode at a much slower sampling Galil Motion Control Scope 36 rate than DR over Ethernet For increased scope performance on standalone controllers Ethernet is recommended Table of Contents Galil Motion Control Scope 37 Servo Tuner Full Edition Only Autotune The Autotune button automatically chooses optimal PID values by putting the selected Axis through a series of predetermined movements which may cause the motor
3. C Type Argument Example Description vector lt double gt array 1 2 3 4 Data on host for download tih name A Name of array on controller where data will be saved Array does not need to preexist Example 1 Downloading an array of numbers to the controlller Throws 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT ERROR Galil command took longer than ms to read response 2010 COMMAND ERROR Galil command got instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 7101 INVALID ARRAY DOWNLOAD ERROR Galil arrayDownload does not modify while RC is running 9100 UNINITIALIZED OBJECT ERROR Galil arrayDownload called without Galil address set Galil Motion Control Communication Library Reference 68 Allows a group of arrays to be downloaded to the controller from a csv file ff there are existing array names on the controller which match array names in the specified csv file the controller arrays are overwritten If there are existing array names on the controller not in the csv file the non matching arrays are untouched This means that the csv download function will append to the arrav table where possible and overwrite where necessarv Do not execute this API while a Record Array Mode is running on the controller RC RD RA _RC can be interrog
4. Contents Galil Motion Control Hello 84
5. Hint Use the refresh button F5 in the toolbar to refresh the connection if you change the configuration of AQ DQ TM CO and BA n A b ik Horizontal Source Offset div PPA Axis A reference postion 3 DO QIN O1 User Prox Switch 2 OUTLOZ Digtal output 2 BOUT OL Digtal output 1 TEA Axis A position error m ell BIN O1 User Prox Switch A Y x A B mi ee Ss TTA Axis A torque DAC bb mod U ZAA Axis A user variable a gt 4 4 4h 4h 4h 4h AD G mara 4 oboo oo o N a w Edge Level 210 counts l em C 8 Channel Scope The Scope is divided into two sections the toolbar grid and traces on the left and the Sources Scales Offsets and Trigger condition on the right The distance between two grid lines is a division div and a channel s Scale represents the range of one division The Offset arrows on the left represent the channels zero ground locations and can be adjusted to overlay or stack traces The Scales and Offsets can be adjusted to provide the desired zoom and pan ertical Tab In normal operation the 8 Sources are graphed against time In this mode the Horizontal tab is unused and the horizontal domain is always time scaled by a single t combo box at the bottom of the sources list Time can also be offset with the single time Offset combo box to the right of the time scale All sources use the same time characteristics
6. Icon top to bottom Description Autoscale Dynamically keeps waveforms onscreen Cursors Turns on of off the cursors Overlay Turns on or off the Overlay feature Points Displays actual points used to render the waveforms Open Open dataset from CSV Waveforms are rendered as overlays in background Save Saves current scope data to CSV Saves data for all sources not just displayed Print Print the Scope Window Triggering The Trigger menu at the bottom of the vertical tab can be applied to one of the 8 Scope channels on either a Rising or Falling Edge and allows the user to choose between three types of scanning modes common in oscilloscopes Auto Repeat or Single Auto will constantly display live data in the Scope window useful to set the Trigger Level Repeat will draw only after a Trigger and align the Trigger edge with the horizontal offset arrow at the top useful to catch the ast of a series of triggers Single will only capture the first triggered edge and will not refresh until the user clicks the Run button again useful to catch the first of a series of triggers The scope has a status label to the left of the Run Stop button which relays relevant information regarding trigger status The following table describes the various states Status Meaning stop Scope is stopped If data has been captured the data will stay drawn and static Changing the Source in a channel will draw that data from memory
7. 10x Feed Rate Increase 1 1 1 20 IN 03 Alert True Machine Alert 21 IN O4 M Pause User Pause Y Y Y Y Y Ki A0 1 Y Analog output 1 13107 y Y Y Y ki Y 0 0 0 0 0 0 0 0 0 0 Analog output 2 13107 0 0 0 0 0 0 0 0 0 0 0 The data record Watch window The All tab displays the entire controller Data Record and allows access to customizing the data record to suit an application On the All tab each column can be sorted by clicking on the title header For example sorting by Description groups axis data together _TPA _RPA and sorting by Source groups similar data together _TPA TPB When keyboard focus is within the Source column entries can be looked up by typing the first few characters of their Source name Some To monitor a subset of the All tab select the desired Sources under the Some tab Galil Motion Control Watch 26 All Some Source Units AN 1 Force Sensor Newtons AN 2 Thermo Couple Fahrenheit IN 01 User Prox Switch Active IN 06 Laser Pulse PulseTrueFalse IN 05 Press Engage EngageNow IN 02 Feed Rate Increase 10x AN 3 Analog input 3 y TIME Sample counter samples gt KI Monitoring a subset of the data record with Watch Some Clicking in a row s Source cell provides access to a drop down list of all data record Sources Choose one from the last row to create a new row Right clicking in the value cell of anv row allows that row to be Removed or an
8. Connections Refresh Terminal Output Delete Copy Select All HOT KEY Ctrl N Ctrl Shift O Ctrl Shift S Ctrl Up Ctrl Down DESCRIPTION Open a blank Editor window Open a dmc file from a saved location Save the currently active Editor window Asks for a filename and path to save the currently active Editor window Prints the currently active Editor window Upload dmc file from controller to a GalilTools Editor window Download currently active Editor contents to controller Ctrl ShifttDown Download and Execute currently active Editor contents Alt F4 Ctrl X Ctrl C Ctrl V Ctrl F F3 Ctrl Tab Ctrl Shift Tab Ctrl Ctrl F5 Alttup Alt down Alt ShifttDown Ctrl Alt W Ctri Alt U Ctri Alt S Ctrl Alt T F1 Exit GalilTools application Cut the currently selected text to clipboard Copy the currently selected text to clipboard Paste the contents of the clipboard text only to the current cursor location Open the Editor Find Replace utility Find the text in the Find Replace Close currently selected Editor window Close all Editors Tile the open Editor windows for concurrent editing Stack the open Editor windows for individual editing Bring next Editor window to the front Bring previous Editor window to the front Bring the indicated Editor to the front Open Connections dialog Disconnect current connection Refresh current connection Upload all arrays from controlle
9. vector lt double gt arrayUpload string name array void arrayUploadFile string file string names e Advanced void firmwareDownloadFile string file firmware hex String read int write string bytes r int interrupt int timeout ms 500 oninterrupt Event static string libraryVersion e Data Record vector lt string gt sources void recordsStart double period_ms 1 vector lt char gt record string method QR onRecord Event double sourceValue vector lt char gt record string source TIME string source string field Description string source TIME void setSource string field Description string source TIME string to Sample counter Detailed Description The GalilTools Communication Library Galil class provides methods for communication with a Galil motion controller over Ethernet RS 232 or PCI buses It consists of a native C Library and a similar COM interface which extends compatibility to Windows programming languages e g VB C etc A Galil object usually referred to in sample code as g represents a connection to a Galil controller For Ethernet controllers which support more than one connection multiple objects may be used to communicate with the controller The library is conceptually divided into six categories Connecting and Disconnecting functions to establish and discontinue communication with a controller Basic Communication The
10. C Program Files G alil G alilT cols Choose this option to select the device driver from a list Windows does not guarantee that the driver you choose will be the best match for your hardware Choose Don t Search Galil Motion Control PCI on Windows DMC 18x2 6 56 Hardware Update Wizard Select the device driver you want to install for this hardware Select the manufacturer and model of your hardware device and then click Next If you have a disk that contains the driver you want to install click Have Disk Model DMC 18x2 Galil DMC 18x2 Motion Controller A This driver is not digitally signed lt Have Disk DI Tell me why driver signing is important Choose Have Disk Install From Disk Insert the manufacturer s installation disk and then make sure that the correct drive is selected below Copy manufacturer s files from ogram Files GaliGallT ools drivers x86 galipci inf v ET Browse DD Navigate to the appropriate driver by clicking Browse or typing the absolute path GalilTools driver path Legacy driver path x86 C Program Files Galil Galil Tools drivers galilpci inf C Program Files Galil Common Devinstall 32Bit glwdmpci inf x64 C Program Files Galil Galil Tools drivers galilpci inf C Program Files Galil Common Devinstall 64Bit glvdmpci inf Click OK and then Next Windows will show progress as the driver updates
11. CLI Visual Studio or the free of charge Express edition may be used below configures Visual Studio 2008 but 2005 may also be used This section covers C CLI Common Language Infrastructure targeting the CLR Common Language Runtime For native unmanaged C see Visual C 2008 1 Select Start All Programs l Microsoft Visual Studio 2008 Microsoft Visual Studio 2008 File New Project Visual C CLR Windows Forms Application and click OK New Project Project types Templates NET Framework 3 5 0 e a sere A ECR Empty Project F Ci Windows Forms Application el Windows Forms Control Library General mec v windows Service v 4 project for creating an application with a Windows user interface 1 Name cpp l Location ak Chris CortopassilMv Documents Visual Studio 2008 Projects v Solution Name cpp Create directory For solution C Add to Source Control 2 Select Project Properties Add NewReference cpp Microsoft Visual Studio Fie Edit View Project Build Debug Data Format Tools Test Window Help il q g ag Add Class 3 IB 8 S E Add New Item Ctrl Shift 4 JE Esezmtiki Design ill Add Existing Item Shift Alt 4 Exclude From Project saugidx 3 184 185 E All Windows Forms R Pointer E Form1 S Show All Files i g BackgroundWorker Set as StartUp Project gq BindingNavigator Update Managed Resources 29 Bindi
12. Disabling the compression option in DMC code ff comments must be preserved even in instances of compression use NO instead of as the comment indicator Table of Contents Galil Motion Control Editor 25 Watch Overview 22 OS Watch allows viewing hundreds of Boolean integer and analog controller parameters Sources such as VO position and torque all Sources are also available in the Scope Boolean values are colored uniquely a 1 is green and a 0 is red By double clicking any of the digital outputs OUT the output point can be toggled The Watch window is divided into the tabs All and Some which both contain dynamically updated status from the controller data record QR Hint Use the refresh button F5 in the toolbar to refresh the connection if you change the configuration of AQ DQ TM CO and BA All All Some Source AN 0 Ki Analog input 0 6552 AN 1 Newtons Force Sensor 600000 AN 2 Fahrenheit Thermo Couple 6000 AN 3 Analog input 3 6552 AN 4 Analog input 4 6552 AN 5 Analog input 5 6552 AN 6 Analog input 6 6552 AN 7 Analog input 7 6552 A0 0 Analog output 0 13107 Value Units Description Scale Offset oon oOo on fs WO Ne AO 2 AO 3 GAOLH A0 5 Analog output 3 13107 Analog output 4 13107 Analog output 5 13107 A0 6 Analog output 6 13107 A0 7 Analog output 7 13107 17 Boolean Digital input 0 1 18 IN 01 Active User Prox Switch 1 19 IN 02
13. Galil got 7 instead of gt response 9130 UNINITIALIZED OBJECT ERROR Galil firmwareDownloadFile called wi hernet Use RS 232 te d response Got ghia Galil address set Galil Motion Control Communication Library Reference 70 Allows for direct read access to the input buffer from the controller This function is not intended for normal use as the other APIs provide a higher level of functionalitv This function should be used in cases of firmware specials which break the standard Galil communication standards or for users who wish to implement their own lower level data parsing algorithms See Detailed Description for a graphical overview of how the input buffer is parsed stri sing sid return 23an 23an Actual pern o oouo read Example 1 Read generic data from controller Note The status of the data adjustment bit CW will influence how unsolicited messages are returned from the controller Throws 9210 UNINITIALIZED OBJECT ERROR Galil read called without Galil address set Allows for direct writes to the controller This function is not intended for normal use rather for special applications where command can not be used Note command can be used for the majority of even special applications C PART Tvpe Argument Example Description int etti 18 The actual number of bvtes written which can be less than the length of the bytes argument below MGTIMEWTPXIMG
14. Galil programDownload can t download program with more than lines by columns because compression is disabled 8060 COMPRESSION WARNING Galil programDownload modified program to fit in lines by columns check LS 1010 TIMEOUT ERROR Galil took longer than ms to write 1011 TIMEOUT ERROR Galil took longer than ms to read response 2010 COMMAND ERROR Galil got 7 instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 9080 UNINITIALIZED OBJECT ERROR Galil programDownloadFile called without Galil address set top Uploads the controller s program to a buffer on the host C Type Argument Example Description Uploaded controller program with lines separated by carriage return new line string return A nMGTIME nWT500 nJP A nEN Example 1 Upload program and print to screen Throws 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT ERROR Galil took longer than ms to read response 2010 COMMAND ERROR Galil got 7 instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 9050 UNINITIALIZED OBJECT ERROR Galil programUpload called without Galil address set Galil Motion Control Communication Library Reference 67 Accepts a string argument containing the path to
15. Galil Motion Control PCI on Windows DMC 18x2 6 57 Hardware Update Wizard Completing the Hardware Update D Wizard The wizard has finished installing the software for Q DMC 18x2 Click Finish to close the wizard Cancel The driver has now been updated Table of Contents Galil Motion Control PCI on Windows DMC 18x2 6 58 Communication Librarv Reference The GalilTools Communication Librarv Galil class provides methods for communication with a Galil motion controller over Ethernet RS 232 or PCI buses It consists of a native C Library and a similar COM interface which extends compatibility to Windows programming languages e g VB CH etc More Public Members e Connecting and Disconnecting Galil string address address property Galil vector lt string gt addresses string connection int timeout_ms e Basic Communication e string command string command MG TIME string terminator r string ack bool trim true e double commandValue string command MG TIME e string message int timeout 500 onMessage Event e Programs void programDownload string program MG TIME rEN void programDownloadFile string file program dmc string programUpload void programUploadFile string file program dmc e Arrays void arrayDownload vector lt double gt array string name array void arrayDownloadFile string file arrays csv
16. 1 This first network configuration is Galil s recommended way of having a computer connected to both the outside world Internet or company network at the same time as connecting to an internal controller network In the diagram it shows that the first network card labeled NIC 1 has an IP address of 192 168 1 2 and is dynamically assigned an IP address from the Router via DHCP The second network card is labeled NIC2 and should be set up as a static IP address via the computers Network card settings In this scenario the two controllers on the network must be assigned an IP address via Ethernet using Galil software such as GalilTools SmartTerm or WSDK or via an RS 232 serial connection not shown using the A command and then using BN to burn it in to non volatile memory When using the Galil software to assign the controller IP over Ethernet the BN command is automatically issued after the IP assignment If Internet is not needed then this same configuration is valid by removing NIC1 from the diagram law Com C Router SwitchiF rewal Sever PSAN Something that dynamically assigns IP addresses 192168 1 1 S F n NIC2 No Static Wa N400 100 100 3 x J ik Jnr DHCP 3 NN 192 168 1 2 RIO 4700 Computer 100 100 100 2 DMC 40x0 100 100 100 1 Network Configuration 1 Network Configuration 2 The third configuration is for users that would like to attach an auxiliary device to the controller via Ethernet s
17. 2 Uploading and printing array data from controller Throws 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT ERROR Galil command took longer than ms to read response 2010 COMMAND ERROR Galil command got instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 9090 UNINITIALIZED OBJECT ERROR Galil arravUpload called without Galil address set top Uploads the entire controller array table or a subset thereof and saves it as a csv file specified by the user Sa Argument Example Description Galil Motion Control Communication Library Reference 69 c Documents and string file Settings JohnDoe array array csv The path to the file to which the array data should be saved string names arravi posX A B A space delimited string containing the array names that should be uploaded A null string uploads all arrays Example 1 Uploading a controller array subset to a csv file Example 2 Uploading the entire array table to a user specified path and filename and then opening that file in Microsoft Excel Throws 4110 FILE ERROR Galil arrayUploadFile failed to open file 1010 TIMEOUT ERROR Galil command took longer than ms to wri 1011 TIMEOUT ERROR Galil command took longer than ms t
18. DMC 40x0 Rev 1 0b only C When invoked this function will sleep until an interrupt is received or timeout expires and returns the controller s status byte A timeout of zero will check for an interrupt condition but will not throw an error A timeout of 1 will block until an interrupt occurs COM The oninterrupt event does not have a timeout C oe Type Argument Example Description The returned status byte from an interrupt event See chapter 4 in PCI controller int return Oxfo manual for a reference table See El in the DMC 40x0 command reference for further Ethernet information int timeout ms 100 time in milliseconds to wait for interrupt to occur Example 1 Returning status byte from an interrupt int status g interrupt 100 sleep for interrupt 100ms Throws 1040 TIMEOUT ERROR Galil interrupt took longer than ms to read status byte 6040 WRONG BUS ERROR Galil interrupt not supported Use Galil message Galil Motion Control Communication Library Reference 72 Returns a string containing the library version This is a static function and does not require a Galil object to be instantiated C or address property to be set Com The string returned will resemble 1 0 0 0 Jan 30 2008 14 32 55 libGalil so C ae Type Argument Example Description 0 1 0 4 Aug 20 2008 18 28 39 GalilClass0 dll The library version COM v
19. DMC1842 Rev 1 0q 17764 program MBX oS File Edit Window Mepa Tools Help 3 D A Z oP Connect Ctrl New Open Save EEEE Alt Up DM one 3 Download Arrays Alt Down ax DM ten 4 a aE 8q 17764 i 8 B Download Firmware Alt Shift Down loop onelil i tenlil i 10 i i i JP loop i lt 3 EN TTT ALT J Upload ALL arrays defined on the controller to a csv file on the PC land Settings Chris array csv 8 1 2 3 4 5 6 7 8 9 GalilTools Upload Arravs Uploading arravs from a Galil controller to the host PC will save the arravs as a text file in CSV format When Downloading arravs from the host PC to the controller GalilTools expects an input file in CSV format The following is an example CSV file containing 2 arravs where one has 3 elements and ten has 4 elements The name of each arrav is in the first row of the data separated bv commas and the columns from left to right are saved bv GalilTools in alphabetical order based upon the array name Element zero of each array is on the following line followed by the rest of the array table data Note that the shorter array one includes a place holder comma Hint When Uploading array data from the controller to the PC all arrays defined on the controller are saved When Downloading array data to the controller the CSV data is appended to the arrays on the controller arrays with the same name on the controller as in the CSV
20. E TPA Axis A encoder position 20 counts Time Trigger Channel W 1 v Edge Rising w Level Dcounts The Galil code profiles movement and stores pertinent data to internal arravs while the GalilTools Scope plots the data in real time Galil Motion Control Comma Separated Values CSV Files 48 KI Microsoft Excel array csv File Edit view Insert Format Tools Chart Window Help DEAA ARY amp m B Bl Chart Area v 8 EJ ms 0 123 45 6 7 8 9 10 N 421 H 4 gt MNarrav Readv After the motion completes the arrav data can be Uploaded and graphed in a spreadsheet Note the similarities between the GalilTools Scope and Excel graph Table of Contents Galil Motion Control Comma Separated Values CSV Files 49 Menus and Hot Kevs Many GalilTools features can be opened or manipulated from the application and right click menus and many of these have associated hot keys for ease of use Below is a table summarizing the available menu items and hot keys MENU File Edit Window Controller Tools Help ITEM New Open Save Save As Print Upload Download Execute Exit Cut Copy Paste Find Replace Find Again Close Close All Tile Cascade Next Previous program dmc Connect Offline Refresh Upload Arrays Download Arrays Download Firmware Watch Tuner Scope Terminal Contents About
21. GalilTools doc oo to the directory containing the terminal s command l l projName ini one for each project File Contents and Default values Description GalilTools Module Name ff true when this project is opened its previous connection will be re established AutoConnect true i 3 B and files left open in the editor last time will be reopened WindowPosition Point integers GUI state do not hand edit WindowSize Size integers GUI state do not hand edit WidgetState ByteArray array of bytes GUI state do not hand edit Terminal Module Name ShowUnsolicitedTimeStamps false Unsolicited data will be stamped with the svstem time when displaved TE Specifies Terminal location precedence with respect to the unsolicited messages window AutoRepeatRateInMs 1000 The time interval in ms between repeats when auto repeat is active SplitterState ByteArray array of bytes GUI state do not hand edit Table of Contents Galil Motion Control Advanced Settings 16 Connections A connection to a controller in GalilTools requires an appropriate Address An Address is a simple text string which indicates which controller and communication method to use when establishing a connection The Addresses are in a predefined format and can be Saved in a con file of any name see below Once connected to a controller the current GalilTools project will remember the connection for next time This can easily be changed simply be connecting to
22. QR The transmitted data contains a variety of controller information encoder positions reference positions profiler information O program information user variables on the Accelera family and much more The Watch All window in GalilTools displays the entire data record for a particular controller and is an excellent way to conceptualize the data record operation Graphical depiction of the data record operation r grecord QR Some Stuffs r with a full data record in binary corresponding to the current values of each of the sources QR or DR can be gt Source Value Units Description 1 7871 Y Analog input 1 arguments to record The record AN Z 1 7871 v Analog input 2 corresponds to the dynamic data in the Value column of the Watch All window GINO Digital input 1 Each call to tecotd refreshes the IN 02 Digital input 2 data ET IN 03 Digital input 3 Digital input 4 Digital input 5 Digital input 6 Digital input 7 Digital input 8 Digital s g sources Returns the entire source column from Watch All input 9 Individual source strings e g BIN O8 are used as arguments to the sourceValueQ sourceUnitsQ and sourceDescription functions Digital input 10 Digital input 11 Digital input 12 myDesc g source Description IN 03 Given a valid source stri
23. See the chapter PCI on Windows DMC 18x2 6 in this manual should your PCI controller not be listed in the Available tab of the GalilTools Connections dialog Galil Motion Control Introduction 5 Note Contact Galil for signed drivers if a PCI based controller is to be used on a Vista x64 operating system Contents Galil Motion Control Introduction Installing GalilTools 1 6 3 on Red Hat 5 8 Install GalilTools Software Package This section covers the installation of the GalilTools 64 bit software package If the target operating svstem is a 32 bit operating svstem replace x86 64 with i386 in all of the commands seen below After installing the GalilTools software package additional configuration is necessary Any previous installations of GalilTools must be removed before installing the latest version e Before using a PCI based controller the GalilTools PCI driver must be installed and user permissions must be modified e Before using a USB or RS232 based controllers user permissions must be modified e Before using an Ethernet based controller the firewall must be modified This document will outline the complete setup of GalilTools for all controller communication interfaces 1 Open a terminal by clicking Applications gt Accessories gt T erminal 2 Get the GalilTools package and install it with the package manager wget http www galilmc com support downloads software galiltools linux galiltools x86_64 rpm
24. application for the con extension If connections are Saved to the path suggested by GalilTools it will in future launches present the list of Saved connections there Only con files in this special directory will be displayed upon GalilTools launch This location is the Galil folder in the user s home folder Operating System Home Folder Location Windows XP C Documents and Settings Windows Vista C Users Linux home username config Galil IMI Connections Available Saved No IP Address cutter con IE fiber traveler con 7 fiber winder con ro take up reel con x Delete GalilTools prompts the user to choose a Saved connection No IP Address The tab labeled No IP Address is where Ethernet controllers are listed that do not yet have an IP address assigned 19 Galil Motion Control Connections It may take up to 5 seconds for the list to fully populate the time interval at which the controller broadcasts BOOTP or DHCP requests GalilTools will suggest an IP address which can be modified in the text box however it must be Assigned to the controller for it to take Available Saved No IP Address IMI Connections Interface Model Serial number Prota 192 168 1 1 DMC 40x0 1 BOOTP lt 192 168 1 2 List of detected controllers without IP addresses effect Ensure that the IP address is appropriate BEFORE
25. been previously installed su c usr sbin usermod a G galil username Password 4 The process may be repeated to modify other users 5 For the updated permissions to take effect the modified user must logout then log back in Red Hat Method 2 Using the Graphical Administration Tools 1 Open Users and Groups by clicking System gt Administration gt Users and Groups 2 Input the root password into the Root Password Prompt t Query x You are attempting to run system config users which requires administrative privileges but more information is needed in order to do so X Cancel d OK Root Password Prompt 3 The Users and Groups Window should now appear User Manager File Edit Help B b ki B Add User Add Group Properties Delete Refresh Help Search filter Apply filter User Name User ID Primary Group Full Name Login Shell Home Directory username 502 users Galil User bin bash nome username Galil Motion Control Installing GalilTools for Red Hat Users and Groups Window 4 Select the user that will be modified to communicate with Galil controllers over USB RS232 or PCI by clicking on the username in the Users and Groups Window 5 Click the Properties button in the Users and Groups Window toolbar The User Properties Window will open User Properties User Data account info Bassword info Groups User Name username Eull Name Galil U
26. can communicate to any other device with an IP address of 192 168 x x Table of Contents Galil Motion Control Ethernet Network Guide for Connecting Galil Controllers 54 PCI on Windows DMC 18x2 6 GalilTools uses a different PCI driver than legacv Galil software such as SmartTerm or WSDK As a result itis not possible to switch between GalilTools and legacy applications without reconfiguring Windows to select the appropriate PCI driver If both applications are not required Galil recommends uninstalling SmartTerm WSDK This chapter details the steps required to switch between PCI drivers which can be done as often as desired to accommodate both old and new software Switching between drivers is done through the Update Driver option in the Device Manager To access the Device Manager go to the Start Menu and select Run In the dialog type devmgmt msc and click OK the Device Manager can also be navigated to from Control Panel System Hardware Once in the Device Manager select the DMC 18x2 or 18x6 device under Galil right click and select Update Driver Device Manager File Action View Help amp R DJ745 U Computer See Disk drives 4 Display adapters DVD CD ROM drives Y Galil gt GSE ig Human inter Update Driver gt IDEATAJATAR Disable Keyboards Uninstall 77 Mice and Ni L gt Scan for hardware changes Monitors BB Network ada iY Ports COM
27. data records DR drO jjsendDRh Ethernet i mo led Baud rate In 115200 RS 232 COMS 19200 Timeout in milliseconds for commands tn t500 Ethernet RS 232 PCI 192 168 1 101 t timeout_ms 5000 Timeout in milliseconds for longer commands l E J BP BV RS R S DL QD In 1 10000 Ethernet RS 232 PCI GALILPC 18000 Connect Silently note watch and scope will not m commands sent by driver Ethernet RS 232 PCI COM1 19200 s function upon connect Send debug diagnostic info to file 1 stdout 2 d file Ino debug output Ethernet RS232 PCI 192 168 1 101 d stderr or file path debug log Multiple instances of GalilTools can be opened to one or multiple Ethernet controllers but only one connection to a particular RS 232 port or PCl controller is allowed After launching GalilTools or clicking Connect the Connections dialog will be displaved which provides three tabs Available Saved and No IP Address Note that the Address in the textbox at the bottom of the dialog indicates which connection will be opened once Connect is clicked This can be manuallv entered if desired or selected from the Available or Saved tabs AWE li Ele The Available tab displays controllers that are accessible to connect to as well as available RS 232 ports along with popular baud rates The model firmware revision and serial number of Ethernet controllers with IP addresses and PCI controllers are also displayed Galil Motion Control Connecti
28. file will be overwritten on the controller See DA in the command reference to remove arrays from the controller CSV is widely supported and can be opened in any text editor such as Notepad and spreadsheets such as Microsoft Excel or OpenOffice org Calc Ki Microsoft Excel array csv ER File Edit View Insert Format Tools Data Window Help Dawe 2414 Q vi Galil Motion Control Comma Separated Values CSV Files 47 Microsoft Excel with csv file opened Axis and O Data Below is an example of how to import axis data stored in controller arrays to a spreadsheet application such as Microsoft Excel In this example the Record Array RA feature of the controller is used to cache data during a move while the GalilTools Scope graphs the data in real time Once the arrays are filled the data can be Uploaded from the controller and graphed in a spreadsheet application GalilTools GALILPCI 1 DMC1886 Rev 1 0bdev 1 program1 dmc G File Edit Window Controller Tools Help rz 1 D D F AAA 8 i New Open Save Connect Upload Watch Tuner Scope Terminal DM TPALIBI RA TPALI RD _TPA RC3 IP10B AMA EN IN Mk WONHO RPAL1BI Terminal RPALI are RPA Executed program from programi dmc Uploaded arrays to C Documents and Settings Chris Desktop array csu uw fu D m Source Scale div l m _RPA Axis 4 reference position v 20 counts al lli
29. last command momentary Erase the command history Insert a row on Some tab Remove a row on Some tab Turn on off individual point display Galil Motion Control Menus and Hot Keys 51 Ethernet Network Guide for Connecting Galil Controllers Manv Galil controllers use Ethernet as a high performance communication bus This chapter discusses the possible Ethernet network configurations that come up when installing Galil controllers The first section shows a block diagram of connecting a static network versus a dvnamic network The second section shows examples of tvpical network configurations Setting a Controller IP Address Static recommended Go to TCPAP settings under Network Connections and set a Static IP for the computer such as 10 10 1041 Controllers other than the DMC 40x0 need a crossover Ethernet cable Do you have a hub switch connected Open GalilTools and click on the No IP Address tab in the Connections Dialog Box Assign IP addresses that are within the same subnet mask as the static IP of the computer Click on Available Tab and connect to the desired controller Make sure only necessary items are connected to the motion control Hub How do you want to set up your Control Network Dynamic DHCP Are you connected to a router or server that can assign IP addresses Dynamically You should Are you using an switch NIC card RIO 47xxx or to be STATIC and sta
30. most heavily used functions for command and response and unsolicited messages Programs Downloading and uploading embedded programs Arrays Downloading and uploading array data Advanced Lesser used calls Data Record Access to the data record in both synchronous and asynchronous modes OakwWwnhd Galil Motion Control Communication Library Reference 59 C Library Windows and Linux Both Full and Lite versions of GalilTools ship with a native C communication library The Linux version libGalil so is compatible with g and the Windows version Galil1 dll with Visual C 2008 Contact Galil if another version of the C library is required See the getting started guide and the hello cpp example in lib COM Windows To further extend the language compatibility on Windows a COM Component Object Model class built on top of the C library is also provided with Windows releases This COM wrapper can be used in any language and IDE supporting COM Visual Studio 2005 2008 etc The COM wrapper includes all of the functionality of the base C class See the getting started quide and the hello examples in lib for more info The Data Record The data record is a Galil controller feature that is ideal for data collection and controller monitoring It is a binary data structure generated by the controller s firmware either in a periodic and asynchronous manner DR or via an interrogated synchronous command
31. of a stopped axis and are helpful in determining motion issues TC1 will return any error codes generated in the controller program however GalilTools will automatically return a COMMAND ERROR in red if one is generated from the Terminal Once GalilTools displays the error code it will be cleared from controller memory TC returns 0 When the error code appears in the Terminal window please refer to application note 2443 for further information Trace TR A useful debugging tool is the trace TR function By enabling trace all commands in the controller program will be printed as they are executed allowing for program flow analysis and simple debugging The following shows a simple program and the Terminal output of the trace function note that each program line is preceded by its line number GalilTools GALILPCI2 DMC1886 Rev 1 0bdev 1 program2 dmc File Edit Window Controller Tools Help D 6 B A H i New Open Save Connect Upload Watch Tuner Scope Terminal Terminal TR1 MARTI Executed program from program2 dmc i i i Bi JP loop i lt 2 EN JPtloop i lt 2 Hloop MG i 1 0008 i i i JPtloop i lt 2 EN 3 ae 5 2 3 4 5 6 Example of the trace function Galil Motion Control Debugging 42 ff multiple threads are executed with the TR command enabled the user will see the executing lines interleaved e g thread 0 line 0 thread 1 line O thread 0 line 1 thread 1 line
32. specified source upcounter Changing the Scale and Offset fields will affect the values returned from sourceValue These fields are used for pre processing the raw controller data record before being passed up to the API Set scale 1 and offset 0 to receive the raw controller data record values from sourceValue See the Watch chapter for more information Example 1 Modifying fields of a source Example 2 Loading a GalilTools project file Throws 9150 OFFLINE ERROR Galil record called without Galil address set Contents Galil Motion Control Communication Library Reference 77 Hello This section details how to get started using the GalilTools Communication Library with step by step examples that show how to print a controller s connection information e g GALILPCI1 DMC1886 Rev 1 0b 36 using popular programming languages See the Hello Galil project on Galil s website for a complete list of examples e Visual Basic CH C CLI Visual C 2008 g on Linux LabVIEW Make sure GalilTools is installed and a connection to the controller can be established from that application A try catch error handler is required for most Galil functions but is left out here for brevity Please see the Library Reference isual Basic Visual Studio or the free of charge Express edition may be used below configures Visual Studio 2008 but versions back to 6 may be used 1 Select Start Al
33. the operating system to redirect port 67 to 1067 sudo galiltools bootps 67 bootpc 68 sudo password for username Contents Galil Motion Control Installing GalilTools for Ubuntu 14 Galil Projects GalilTools Projects Projects allow for the GalilTools environment to remember the user s last configuration It also allows such configurations to be grouped for logical purposes e g tuning motion development and productions with DMC application code Projects will manage the following in GalilTools Scope state channel sources horizontal and vertical state trigger configuration running state and analysis options Watch state All verses Some tab contents and the special data record fields see watch All tools Location size docked status and the main GalilTools environment geometry Open DMC files in editor Controller connection oP ON A project is a grouped set of DMC files and environment configuration designed to provide a consistent work environment throughout the design process A user can have multiple projects relating to a particular application For example a user may have a tuning project with the tuning window scope window and watch some window configured a certain way optimal for tuning Various DMC files such as sample motion profiles and impulse responses may also be a part of a tuning project A second project might be development This is where the motion characterisitcs of an applicai
34. this gt Text g gt connection da10jdx3 18 4485 Ee lt Ready Ln 74 Col 24 ch 12 INS a 5 Hit F5 to run the program EB GALILPCI2 DMC1886 Rev 1 0b 988 E JIBJIX isual C 2008 Visual Studio or the free of charge Express edition may be used contact Galil if another C compiler is required This section covers native C For managed C see C CLI 1 Opena compiler command prompt Start All Programs Microsoft Visual Studio 2008 Visual Studio Tools Visual Studio 2008 Command Prompt 2 Change to the directory containing the example C program if you re not an Administrator you ll need to copy the lib folder to HOMEPATH and work there C Program Files Microsoft Visual Studio 9 0 VC gt ed ProgramFiles Galil GalilTools lib 3 Compile C Program Files Galil GalilTools lib gt cl hello cpp Galill lib EHsc MD Microsoft R 32 bit C C Optimizing Compiler Version 15 00 21022 08 for 80x86 Copyright C Microsoft Corporation All rights reserved hello cpp Microsoft R Incremental Linker Version 9 00 21022 08 Galil Motion Control Hello 82 Copyright C Microsoft Corporation All rights reserved out hello exe hello obj Galill lib 4 Tell Windows where to find Galil1 dil C Program Files Galil GalilTools bin gt set path path ProgramFiles Galil GalilTools bin 5 Run C Program Files Galil GalilTools lib gt hello 1 1 0 4 Aug 29 2008 14 15 14 Galill dll GALILPCI2 DMC18
35. to buzz and finally shows a Step response of the specified Amplitude and Time Autotune can provide accurate results however manual tuning is often also required Lee revere Axis EJ Ko O O ps Step Amplitude 1000 counts KP 6 O OKT 3 INUNUNENENUNE NE NN NN NI Step Time KI ju Me 0 OoOO I Servo Tuning Utility Manual Manual tuning can be accomplished on the selected Axis by clicking on the PID sliders which causes a step response whose Amplitude and Time pulse width can be adjusted to suit mechanics If Step Amplitude is set to zero or a program is running in thread O the sliders will adjust the PID values without performing a step response allowing a user program to be run To manually tune an Axis place the Scope in Repeat Mode select desired Scope Sources and slide the PID sliders to see the change in response The following are screenshots of using the Scope and Tuner to manually tune a servo Galil Motion Control Tuner 38 GalilTools 192 168 1 2 DMC4080 Rev 1 0 1 IHA File Edit Window Controller Tools Help D D e i New Open Save Connect Upload DTA SST Y N Axis 0 j w 23 Step Ampitude 1000counts 2 OCTET Seme om Qf Ooo n A Source Scale div Offset div RPA Axis A reference position nd 200 counts 3 sj 2 _TPA Axis A encoder position 200 counts 1 100 1 10 1 4 g
36. 0 002442 0 002442 0 00976801 421 875 0 001221 D 0 001221 0 00732601 423 828 0 D 0 0 002442 425 781 0 002442 0 002442 0 001221 0 00732601 427 734 0 001221 D 0 010989 429 688 0 001221 0 00854701 431 641 0 001221 0 010989 433 594 0 001221 0 00854701 435 547 0 001221 0 001221 437 5 0 0 00854701 439 453 0 0 00976801 Drawy AutoShapes N A 0O O Al 2 Fi Readv Sum 1 97069533 Scope data can be saved to CSV from the toolbar CSV can be easily imported into many third party softwares The Open icon opens scope data into the scope as overlay data background This allows for previously saved data to be analized with the Scope s analytical tools and allows for comparison to current waveforms foreground Galil Motion Control Scope 32 Clicking the toolbar print button will send the scope window to a printer Panning view didt Source Scale div Offset div _RPA Axis A reference position 150 counts l 1 567 eO 0 885 0 603 mC TPA Axis A encoder position so counts I 1 572 0 885 1 656 m Fi TEA Axis 4 position error 100 counts 0 143 gl 0 885 3 915 m C Uta Axis A torque DAC lov 3 119 mi 0 885 6 181 19 39 ms l 59 737 ms Trigger Channel m _RPA w Edge li v Level 0 counts Moda m J READY Left clicking on the scope background allows two dimensional pan Move trace verticle didt Source Scale jdiv Offse
37. 1 etc Note comments preceded with a single quote or NO are evaluated as no operation commands The Accelera series controllers have a thread selectable trace function which allows only executing lines of specified threads to print see G File Edit Window Controller Tools GalilTools GALILPCI2 DMC1886 Rev 1 Obdev 1 program4 dmc SEE a x Help D B F i New Open Save Connect Upload amp WHS Watch Tuner Scope Terminal e 1 2 3 4 5 6 7 8 9 thread KQ threadi 1 thread B thread B EN threadi threadi threadi EN Terminal TR1 Executed program from programd dmc 8 thread 1 XQiithreadi 1 6 itthreadi 12 thread B 7 i threadi 13 thread B threadi Executing thread lines are interleaved in the trace output TR in your Accelera command reference Breakpoint BK and Single Step SL Breakpoint BK and Single Step SL allow the user to control the flow of an executing program Below is a GalilTools setup to debug some example code In this example the motion is supposed to profile 1000 counts but a bug in the exit condition of the iterative loop has caused a fencepost error and only 900 counts are profiling Galil Motion Control Debugging 43 If it were unclear why only 9 movements have been made a breakpoint could be set at BGA on line 5 with BKS to break at each individual GalilTools G
38. 14 gt 14 gt gt 14d 14900 4d 14d 4d Md 4d 14 gt jan ad AD Hiv Rising A critically damped well tuned system with minimal overshoot Note the TTA channel was added after the step response generation all Scope Sources are recorded and available for later analysis Table of Contents Galil Motion Control Tuner Debugging Debugging Galil code with GalilTools is accomplished with a few basic commands Command Description ITRI Trace Prints each command as it s executed MG Print message strings variables and controller parameters MG _XQn Print current line number that is executing in thread n or 1 if thread is not running LV List all declared user variables and their values ILs List the controller program Ls first line last line List a program section LS_XQn _XQn List current running line of code lau array Print the contents of a given array sc Stop code for axis TC1 Tell error code and brief description reason for controller returning a xa Begin Program ST Stop Program BK line Set breakpoint at line BK Resume from breakpoint SL Single Step Messages MG can be placed in key points or subroutines to determine whether the program has executed that particular line Stop codes SC will return the cause
39. 29 O 0 885 0 765 t 0 7 ms RPA 8181 Axis A reference mL _TP Axis A encoder position 50 counts 1 734 aol 0 885 5 1 494 E Fi _TEA Axis 4 position error 100 counts 0 019 0 885 3 753 m C _TTA axis A torque DAC 10 2 2 957 0 885 6 019 19 39 ms l 58 563 ms Trigger Channel W _RPA v Edge v Level lo counts o m J READY t 0 7 ms RPA Axis 4 reference position 100 5 counts Mousing over a cursor a scope trace or an overlay trace will display pertinent data in the scope status bar and a popup tooltip Cursors EJ didt Source Scale div Offset div gO I RPA Axis A reference position a 200 counts 3 03 gO p RPA Axis A jreference position f a0 20 100 counts dy 197 ao I 1 counts 1 MI RPA Axis A reference position 200 counts a a ac 397 Trigger Channel W _RPA w Edge f v Level 0 counts _RPA Axis A reference position 100 counts dy 197 counts Mousing over a cursor displays cursor specific data in a tooltip and the statusbar The cursor references the active trace selected by left clicking the trace in the scope field The cursor color will reflect the active trace color Trace location and delta values between traces are displayed in the status bar and tooltip Move cursors by clicking and dragging Overlay Scope overlay all
40. 86 Rev 1 0b 988 6 If you want to use the GUI debugger devenv exe or vcexpress exe you ll need to a add ProgramFiles Galil GalilTools bin to your PATH Start Control Panel System Advanced Environment Variables b File New Project Visual C General Empty Project c Inthe Solution Explorer right click Source Files Add Existing Item C Program Files Galil GalilTools lib hello cpp d Set Project Properties Configuration Properties C C General Additional Include Directories to C Program Files Galil GalilTools lib QUOTES IMPORTANTI e Set Project Properties Configuration Properties C C Code Generation Runtime Library to Multi threaded DLL MD Set Project Properties Configuration Properties Linker Input Additional Dependencies to C Program Files Galil GalilTools lib Galil1 lib QUOTES IMPORTANTI gt Note GalilTools ships with release libraries MD switch above In order to use debug MDd the user MUST download the debug version of the Galil lib Debug libraries and libraries for other versions of Visual Studio are available in the GalilTools archive htto Avww galilmc com support downloads software galiltools windows on Linux 1 Change to the lib directory dj localhost Galil cd lib 2 Compile dj localhost lib g hello cpp L libGalil so dj localhost lib a out 1 1 0 4 Aug 29 2008 14 15 14 libGalil so dev galilp
41. ALILPCI1 DMC1886 Rev 1 Obdev 1 program1 dmc EE SG File Edit Window Controller Tools Help x D B aan 8 i New Open Save Connect Upload Watch Tuner Scope Terminal Watch All Some Source Units 1 _RPA Axis A reference position 900 counts 2 _TPA Axis A encoder position 897 counts 13 NOO Thread 0 running Boolean 4 _ZAA Axis A user variable Terminal GALILPCI1 DMC1886 Rev 1 bdev 1 DPA Executed program from programi dmc AQ ZAA 1 JP loop _ZAA lt 16 EN ax Source Scale div Offset div _RPA Axis A reference position 500 counts ji _TPA Axis A encoder position 500 counts fi NOO Thread 0 running 1 Boolean 1 _244 Axis A user variable 10 1 Time Trigger Channel W1 v Edge Rising V Level Mode Auto MW STOP Debugging Example Target stops 100 counts before target move and turning on TR gives further information Terminal Downloaded program from program2 dmc TR1 MG _RPA _ZAA 166 1 6606 After issuing BK5 and XQ the execution pauses before line 5 SL single steps into line 5 and interrogating RPA and counter variable ZAA shows all is in order so far Galil Motion Control Debugging 44 Terminal 9 JPitloop _ZAA lt 1B 3 loop PRA 100 BGA MG _RPA _ZAA 266 2 Issuing BK5 again allows the execution to continue through one lo
42. CT ERROR Galil recordsStart called without Galil address set Returns the controller s data record If the QR method is specified this function will perform a synchronous record acquisition by sending QR and waiting for the response somewhat like command If the method is DR this function will wait for the asynchronous transmission from the DR mode Note recordsStart must be called prior to record if the DR method is to be used If the record is not returned within timeout_ms the function will throw a timeout error COM the onRecord event will occur when a DR record is received The record function is also available for the QR method C Type Argument Example Description DMI AI hinnn Galil Motion Control Communication Librarv Reference 74 vector lt char gt return data record will return this vector filled with the data record bytes strin method QR A string either QR or DR specifying the data record acquisition method 9 to be used Example 1 Getting a record using QR vB Dim r As Object g record get a record from the controller using QR default method C Object r g record QR get a record us CH vector lt char gt r g record Example 2 Getting a record using DR Public Class Forml Dim WithEvents g As Galil Galil dimension Galil object WithEvents enabled Private Sub Formi Load ByVal sender As Syste
43. Destructor gets called when scope of object ends Example 2 Disconnecting from a controller handling OFFLINE error If the DR interval is 0 upon instantiation and recordsStart is called during the extent of a Galil object the destructor will issue a DRO to terminate the data record automatic dispatch If the DR interval was nonzero at connection or if recordsStart was not called the destructor does not change the DR state TCP connections will be closed however UDP resources being connectionless are not released If the user desires to close UDP resources the IH command may be used prior to destructor See the controller s command reference under IH Throws none Returns a list of available addresses to connect to e g 1 2 3 4 Each item in the list may be fed to the constructor Galil This is a dynamically generated list with the same contents as the Available Tab in the GalilTools connections dialog Each time this function is called is like clicking refresh in the Available Tab C Type Argument Example Description 192 168 1 100 192 168 1 101 A list of all available controllers by 192 168 1 102 address vector lt string gt return Although not necesarily addresses of controllers available RS 232 ports will also be listed Example 1 Printing available addresses Throws none Galil Motion Control Communication Library Reference 63 top Returns
44. ERROR Galil command took longer than ms to read response 2010 COMMAND ERROR Galil command got instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 9020 UNINITIALIZED OBJECT ERROR Galil command called without Galil address set Convenience function for interrogating a single integer MG TPA real number MG AN 1 or boolean MG BGA value from the controller C Type double return 2 3524 Response from controller converted to floating point Argument Example Description The command to send to the controller NOTE Do not append a r in the command string string command MG AN 1 Example 1 Interrogating Position Note For commands that don t return a number e g XQ ST BG a zero will be returned Throws 7020 INVALID COMMAND ERROR DL UL ED and QD are not allowed from Galil command 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT ERROR Galil took longer than ms to read response 2010 COMMAND ERROR Galil got 7 instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 9220 UNINITIALIZED OBJECT ERROR Galil commandValue called without Galil address set Returns unsolicited messages MGs sent from the controller Traffic transmitted by the con
45. GalilTools Galil Motion Control Inc 270 Technologv Wav Rocklin California 95765 Phone 916 626 0101 Fax 916 626 0102 Technical support galilmc com Docs documentation galilmc com Web www galil com Table of Content Table of Content Introduction Installing GalilTools 1 6 3 on Red Hat 5 8 Installing GalilTools 1 6 3 on Ubuntu 12 04 Galil Projects Advanced Settings Connections Terminal Editor Watch Graphical Scope Full Edition Only Servo Tuner Full Edition Only Debugging Comma Separated Values CSV Files Menus and Hot Keys Ethernet Network Guide for Connecting Galil Controllers PCI on Windows DMC 18x2 6 Communication Library Reference Hello Galil Motion Control Table of Content Introduction GalilTools allows the user to set up configure tune test and analvze motion on a Galil controller GalilTools Full Edition has a command Terminal with auto repeat feature and smart coloring program Editor with svntax highlighting a data record Watch window including a user configurable dashboard an 8 channel real time Scope and an automatic axis Tuner GalilTools Lite excludes the Scope and Tuner GalilTools has been written on a cross platform librarv allowing the suite to be deploved on a varietv of popular operating svstems such as Windows XP XP x64 Vista Vista x64 and various Linux distributions on x86 and x64 Fedora Core 8 examples in these documents Contact Galil for other operati
46. Horizontal Tab Four Channel X Y Mode To graph a source against another source the horizontal tab is employed Changing the horizontal domain allows for up to 4 source source graphs which are usefull for X Y cartesian planes such as stages and for two dimensional phase diagrams such as dual axis error monitoring Galil Motion Control Scope 28 The GalilTools scope allow X Y plots Here the reference position of axis A is graphed verses axis B Note bv adjusting the time scale in the vertical tab the length of time that is plotted can be changed As for the vertical source scale and offset of the horizontal source can be adjusted under the horizontal tab Data Analvsis The scope contains a wide variety of analytical tools Tools can be found in the left side toolbar the right click menu in the scope grid and in the Vertical tab The vertical horizontal data entry section and the toolbar can be made smaller and or hidden by dragging the horizontal boundaries of the scope grid The X Y plot above shows the horizontal vertical tabs hidden via this method to increase the rendered scope area Derivitive d dt By selecting the d dt checkbox for a source the discrete derivitive is performed This is a one dimensional derivitive of the form TAO f 1 Where T is sampling frequency in Hertz and t is the sample Galil Motion Control Scope 29 The user variable ZAA forms a parabolic form over time f x x2 The deriv
47. T ERROR precord ODRI took longer than o MS Co Tread bytes 1152 TIMEOUT ERROR record QR took longer than ms to write 1153 TIMEOUT ERROR Galil record QR took longer than ms to read bytes Got bytes 9150 UNINITIALIZED OBJECT ERROR Galil record called without Galil address set double Gali sourceValue vector lt char gt record string source TIME Maps a data record source name to its value Given a data record returned from record and a valid source name as a key this function returns the appropriate value If an invalid source name is specified to sourceValue the value of TIME is returned li Galil Motion Control Communication Librarv Reference 75 C Type Argument Example Description double return 6 4306 The value returned corresponding to source vector lt binary A vector as returned from record containing one valid controller data record char gt data record string source AN 1 A valid string as found in the sources array specifying the desired data Example 1 Returning the TIME value from a data record buffer Example 2 Display the value of the first source of the data record Throws 9160 UNINITIALIZED OBJECT ERROR Galil sourceValue called without Galil address set Provides access to source related fields By specifing a valid source field name and source the field s value
48. TIMET Bee T to the controller Length must be less than or equal string bytes Example 1 write read transaction Example 2 Program download with insertion or while motion is profiling Galil Motion Control Communication Library Reference 71 RIO 47xx2 400 Others 1000 charsCap contains the number of characters per line RIO xxxx 40 Others 80 location is a std string containing the insertion point Vi i download at beginning of program buffer Label Begins download at line following Label more lines checking required Begins download at end of program in RAM more lines checking required ay if lines lt lineCap g write DL t locationt r start the download while dmcFile eof getline dmcFile line if line substr 0 3 l REM filter out REM lines if line size gt charsCap cout lt lt Line too long lt lt line lt lt endl g write close write session on controller return 1 ge wrice hine e while g write close write session on controller else cout lt lt Too many lines lt lt lines lt lt endl Throws 9200 UNINITIALIZED OBJECT ERROR Galil write called without Galil address set int Galil interrupt int timeout_ms 500 Provides access to the PCI and Ethernet interrupt status byte for both the El and UI conditions DMC 18x2 6 and
49. a different controller and saving the project or exiting GalilTools Addresses replace the legacv software requirement of registering a controller in the Windows registrv prior to connection The following are examples of valid Addresses Address Connects to GALILPCI1 IPCI Galil Controller DMC 18x6 18x2 Windows dev galilpcio IPCI Galil Controller DMC 18x6 18x2 Linux 192 168 1 4 Ethernet Controller RIO47100 13 DNS name for supported controller with DHCP RIO DMC 4000 COM1 19200 jIRS 232 Port 1 at 19 2 kbaud Windows COM2 115200 RS 232 Port 2 at 115 2 kbaud Windows devittySO 19200 RS 232 Port 1 at 19 2 kbaud Linux OFFLINE Opens GalilTools with no connection The Editor functions are still available There are several optional address line switches which will affect controller behaviour Most but not all affect standalone controllers only Option Syntax Default if omitted Communication Bus Example Primary connection Commands port pin p1 23 Ethernet he sija al Primarv connection protocol udp jJITCP Ethernet P aois Secondary connection E U DR MG port p2 n l p2 60007 Ethernet biex 68 1 1015p2 Do not subscribe to UDP Interrupts EVUI ei0 send EI h A i owe 101e Do not subscribe to messages MG Lg 0 send CFh Ethernet RS 232 ui 101 mg Do not subscribe to
50. a local file where the uploaded program is to be saved If no path is specified the executable s directory is used If a file with the same name and path exists it will be overwritten If no matching file exists a new file will be created Cr Type string file uploadedProgram dmc Desired filename where the controller program will be saved Example 1 Upload program and save to file Example 2 Display save file chooser and save controller program buffer to location user specifies Throws 4070 FILE ERROR Galil programUploadFile failed to open file 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT ERROR Galil command took longer than ms to read response 2010 COMMAND ERROR Galil command got instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 9070 UNINITIALIZED OBJECT ERROR Galil programUploadFile called without Galil address set Downloads a single one dimensional array to the controller If the array name already exists on the controller the existing array will be deallocated and replaced with the new array this allows for smaller or larger arrays than the existing array to be downloaded Do not execute this API while a Record Array Mode is running on the controller RC RD RA RC can be interrogated to ensure the Record Array Mode is idle before downloading to the array table
51. a string containing connection related information This information includes the address controller firmware revision information serial number and Ethernet handle where applicable The following are return examples GALILPCI1 DMC1886 Rev 1 0b 36 COM2 19200 DMC2182 Rev 1 0p 202 192 168 1 2 DMC 4020 Rev 1 0a 189 IHD C Type Argument Example Description string return GALILPCI DMC1886 Rev 1 0b 36 Controller and connection information Example 1 Printing the connection information Throws 9230 UNINITIALIZED OBJECT ERROR Galil connection called without Galil address set top Specifies the general purpose timeout in milliseconds for Galil command commandValue programUpload programUploadFile arravUpload arrayUploadFile and record lt defaults to 500ms Example 1 Specifying the timeout for a connection Throws COM only 9240 UNINITIALIZED OBJECT ERROR Galil timeout_ms set without Galil address set 9241 UNINITIALIZED OBJECT ERROR Galil timeout_ms read without Galil address set top Sends a command to the Galil controller and returns the response from the controller if ack is received within timeout ms If an unexpected response is returned usually a or the timeout is exceeded the function will throw an error C er Type Argument Example Description string return 423 The function returns a string conta
52. amp L MR Processors Sound video and game controllers E System devices Universal Serial Bus controllers Properties Changing the driver associated with a PCI controller Select Update Driver Hardware Update Wizard Welcome to the Hardware Update Wizard Windows will search for current and updated software by looking on pour computer on the hardware installation CD or on the Windows Update Web site with pour permission Read our privacy policy Can Windows connect to Windows Update to search for software O Yes this time only O Yes now and every time connect a device Click Next to continue Bact Do not permit Windows to look online Galil Motion Control PCI on Windows DMC 18x2 6 55 Hardware Update Wizard This wizard helps you install software for DMC 18x2 Q If your hardware came with an installation CD lt gt or floppy disk insert it now What do you want the wizard to do O Install the software automatically Recommended Click Next to continue Choose to install from a specific location Hardware Update Wizard Please choose your search and installation options O Search for the best driver in these locations Use the check boxes below to limit or expand the default search which includes local paths and removable media The best driver found will be installed Search removable media floppy CD ROM Include this location in the search
53. assigning and contact your network administrator if necessary To Assign the IP address highlight a controller and click the Assign button Double clicking the controller will auto assign the suggested IP address The controller will disappear from the No IP Address tab and will appear under the Available tab At this point the IP address has been assigned and burned into the controller s EEPROM Clicking the Available tab selecting the newly assigned controller and clicking Connect will create a connection to the new IP address Hint If problems are encountered during Ethernet connection or IP address assignment disable all network firewalls and security tools and try again Contents Galil Motion Control Connections 20 Terminal The Terminal allows manual and auto repeat command and response communication with the controller monitoring of unsolicited traffic from the contoller and is the most fundamental tool in GalilTools The terminal also references a command set librarv to provide svntax help while tvping commands to the controller Terminal T Commands starting with YT TA Tell Amplifier error status Tell Status Byte Tell Error Code Tell Dual Encoder Tell Error Tell Handle Status Tell Inputs Time Operand Keyword gt Peak Torque Limit Torque Limit Update Time Tangent Tell Position Trace Tell Switches Tell Torque Tell Velocity Timeout for IN Position Te
54. at firewall or build a custom set of rules Modifications to the iptables file may have been previously made for services like windows file sharing The unmodified version is given only for demonstration purposes su c gedit etc sysconfig iptables Password Firewall configuration written by system config securitylevel Manual customization of this file is not recommended filter INPUT ACCEPT 0 0 FORWARD ACCEPT 0 0 OUTPUT ACCEPT 0 0 RH Firewall 1 INPUT 0 0 A INPUT j RH Firewall 1 INPUT A FORWARD j RH Firewall 1 INPUT A RH Firewall 1 INPUT i lo j ACCEPT A RH Firewall 1 INPUT p icmp icmp type any j ACCEPT A RH Firewall 1 INPUT p 50 j ACCEPT A RH Firewall 1 INPUT p 51 j ACCEPT A RH Firewall 1 INPUT p udp dport 5353 d 224 0 0 251 j ACCEPT A RH Firewall 1 INPUT p udp m udp dport 631 j ACCEPT A RH Firewall 1 INPUT p tcp m tcp dport 631 j ACCEPT A RH Firewall 1 INPUT m state state ESTABLISHED RELATED j ACCEPT Galil Motion Control Installing GalilTools for Red Hat 10 A RH Firewall 1 INPUT m state state NEW m tcp p tcp dport 22 j ACCEPT A RH Firewall 1 INPUT j REJECT reject with icmp host prohibited COMMIT 4 Modify the etc sysconfig iptables file to include the lines that are highlighted in the listing below These lines include exceptions that allow for the connection to Galil controllers over Ethernet and the ability to find and assign IP a
55. ated to ensure the Record Arrav Mode is idle before downloading to the arrav table C crt n Type Argument Example Descriptio P MI Path to csv file on host containing one or more arrays to write to the controller s string file kk a iced array table Note the array names are the first row of the csv Example 1 Downloading multiple arrays from a csv file to the controller Throws 4112 FILE ERROR Galil arrayDownloadFile failed to open file 7121 INVALID ARRAY DOWNLOAD ERROR Galil arrayDownloadFile does not modify while RC is running 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT ERROR Galil command took longer than ms to read response 2010 COMMAND ERROR Galil command got instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 9120 UNINITIALIZED OBJECT ERROR Galil arrayDownloadFile called without Galil address set Uploads a particular array from the controller to a host buffer C Type Argument Example Description 1 234 2 456 vector lt double gt return Contents of the uploaded array Name of controller side array to be uploaded Array names can be string array interrogated with the LA List Arrays command Example 1 Uploading array data from controller Example
56. buntu this example will demonstrate how to create the required exceptions and setup the port forward so standard users can assign IP addresses to controllers It will be assumed that UFW is running with the default set of rules profile 1 Open a terminal by clicking Applications gt Accessories gt T erminal 2 First the ufw configuration file will be modified sudo gedit etc ufw before rules sudo password for username 3 Insert the following text at the bottom of the file GalilTools firewall rules filter A ufw before input p udp m udp dport 1067 j ACCEPT A ufw before input p udp m udp dport 50000 j ACCEPT A ufw before input p udp m udp dport 60001 60007 j ACCEPT COMMIT tnat PREROUTING ACCEPT 0 0 A PREROUTING p udp src 0 0 0 0 dport 67 j DNAT to 0 0 0 0 1067 COMMIT 4 To apply the new settings now restart ufw or reboot the machine sudo ufc disable sudo password for username sudo ufc enable sudo password for username Root User without Uncomplicated Firewall UFW If standard users do not need to assign IP addresses to controllers the redirection of port 67 to port 1067 is not necessary but the bootps 67 bootpc 68 command line switch must be used to tell GalilTools to listen on port 67 instead of the default 1067 The following is an example of how to launch GalilTools from the terminal to allow a privileged user to assign an IP address to a controller without setting up
57. but the fastest supported DR rate is configured by default ff period ms gt 0 the library will attempt to set DR to period ms milliseconds based upon the controller s servo update rate TM If period ms is unattainable recordsStart will set DR to an approximate value throw an error or set DR to zero depending on the value of period_ms The standard 18x2 firmware does not support the DR data record method use QR in record For stand alone controllers DR is valid when connected over Ethernet but not over RS 232 A UDP handle will be opened on Ethernet controllers to support the DR data Consult the controller command reference under DR for more information Sh Argument Example Description double eriod ms 32 The desired period in true milliseconds of the asynchronous data dispatch or 1 for p a as fast as possible Example 1 Starting the data record with DR and checking the current DR value Throws 6140 WRONG BUS ERROR Galil recordsStart isn t allowed via RS 232 Use Ethernet 5140 OPEN ERROR Galil recordsStart failed to open UDP handle on port 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT ERROR Galil command took longer than ms to read response 2010 COMMAND ERROR Galil command got instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got 9140 UNINITIALIZED OBJE
58. ci0 DMC1886 Rev 1 0b 988 LabVIEW 1 Open National Instruments LabVIEW and select Blank VI 2 Onthe Front Panel select View Controls Palette Search type String Indicator and drop it onto the Front Panel 3 Choose Window ShowBlock Diagram 4 Choose View Functions Palette Seach type Automation Open and drop it onto the Block Diagram 5 Right click on the Automation Open block and choose Select ActiveX Class Bronse Choose the Galil Version x x Type Library click the Galil Object and click OK O 7 Right click on the Automation Open block choose ActiveX Palette Property Node and drop it onto the Block Diagram 8 Connect the Automation Refnum terminal of the Automation Open block to the reference terminal on the Property Node 9 Left click on the Property element of the Property Node and choose address 10 Choose View Functions Palette type String Constant drop it onto the Block Diagram and connect it to address 11 Right click on the Automation Open block choose ActiveX Palette Invoke Node and drop it onto the Block Diagram 12 Connect the Galil Galil reference output terminal of the Property Node to the reference terminal on the Invoke Node Galil Motion Control Hello 83 13 Left click on the Method element of the Invoke Node and choose connection 14 Connect connection to String Untitled 1 Block Diagram EE Efe Edt Wew Projet Operate Jools window teb IET PA SHEER bal A Galil IGalil
59. controller without setting up the operating system to redirect port 67 to 1067 su c galiltools bootps 67 bootpc 68 Password Contents Galil Motion Control Installing GalilTools for Red Hat Installing GalilTools 1 6 3 on Ubuntu 12 04 Install GalilTools Software Package This section covers the installation of the GalilTools 64 bit software package After installing the GalilTools software package additional configuration is necessarv Anv previous installations of GalilTools must be removed before installing the latest version e Before using a PCI based controller the GalilTools PCI driver must be installed and user permissions must be modified e Before using a USB or RS232 based controllers user permissions must be modified e Before using an Ethernet based controller the firewall must be configured This document will outline the complete setup of GalilTools for all controller communication interfaces 1 Open a terminal by opening the Dash Home typing terminal then clicking the icon Alternatively the lt ctrl gt lt alt gt T keyboard shortcut can be used 2 Get the GalilTools package and install it with the package manager wget http www galilmc com support downloads software galiltools linux galiltools 1 6 3 amd64 deb sudo dpkg i galiltools 1 6 3 amd64 deb sudo password for username 3 GalilTools can be launched from the terminal with the command galiltools or from the Dash Home by searchi
60. d program with backslash character Use 92 in MG commands 7061 INVALID LENGTH ERROR Galil programDownload can t compress line of columns or more 7062 INVALID LENGTH ERROR Galil programDownload can t download compressed program with more than lines by columns Contact Galil for special memory expansion firmware www galilmc com products accessories upgd_options html expanded_memory 7063 INVALID LENGTH ERROR Galil programDownload can t download program with more than lines by columns because compression is disabled 8060 COMPRESSION WARNING Galil programDownload modified program to fit in lines by columns check LS 1010 TIMEOUT ERROR Galil took longer than ms to write 1011 TIMEOUT ERROR Galil took longer than ms to read response 2010 COMMAND ERROR Galil got 7 instead of response 3010 MONITOR ERROR Galil command got gt instead of response Got Galil Motion Control Communication Library Reference 66 9060 UNINITIALIZED OBJECT ERROR Galil programDownload called without Galil address set top Downloads a program file to the Galil controller The program text is read from a file located on the host file system For very long programs which are larger than the controller s program space e g 80 characters by 2000 lines on DMC 40x0 the function will attempt to compress the program before downloading This is done by removing white spac
61. ddresses to Ethernet based controllers Firewall configuration written by system config securitylevel Manual customization of this file is not recommended filter INPUT ACCEPT 0 0 FORWARD ACCEPT 0 0 OUTPUT ACCEPT 0 0 RH Firewall 1 INPUT 0 0 A INPUT j RH Firewall 1 INPUT A FORWARD j RH Firewall 1 INPUT A RH Firewall 1 INPUT i lo j ACCEPT A RH Firewall 1 INPUT p icmp icmp type any j ACCEPT A RH Firewall 1 INPUT p 50 j ACCEPT A RH Firewall 1 INPUT p 51 j ACCEPT A RH Firewall 1 INPUT p udp dport 5353 d 224 0 0 251 j ACCEPT A RH Firewall 1 INPUT p udp m udp dport 631 j ACCEPT A RH Firewall 1 INPUT p tcp m tcp dport 631 j ACCEPT A RH Firewall 1 INPUT m state state ESTABLISHED RELATED j ACCEPT A RH Firewall 1 INPUT m state state NEW m tcp p tcp dport 22 j ACCEPT A RH Firewall 1 INPUT j REJECT reject with icmp host prohibited Q ej H 5 The addition of the NAT module will require restarting the iptables service su c sbin service iptables restart Password If standard users do not need to assign IP addresses to controllers the redirection of port 67 to port 1067 is not necessary but the bootps 67 bootpc 68 command line switch must be used to tell GalilTools to listen on port 67 instead of the default 1067 The following is an example of how to launch GalilTools from the terminal to allow a privledged user to assign an IP address to a
62. e and concatenating multiple commands onto each line of code A warning 8060 will be thrown signaling that compression was required and a try catch block included in every call to this function is recommended to handle this possible warning condition If line zero of the file contains REM DISABLE COMPRESSION code will not be compressed and downloading otherwise compressable code will throw an error and fail See write for examples of downloading code with insertion and while motion is profiling C Type Argument Example Description String containing path and filename of dmc file If only the filename is string program galilProgram dmc specified the executable s directory will be used as the path Example 1 Display file chooser and download selected file Example 2 Download a program to controller from file Throws 4080 FILE ERROR Galil programDownloadFile failed to open file 7060 INVALID CHARACTER ERROR Galil programDownload can t download program with backslash character Use 92 in MG commands 7061 INVALID LENGTH ERROR Galil programDownload can t compress line of columns or more 7062 INVALID LENGTH ERROR Galil programDownload can t download compressed program with more than lines by columns Contact Galil for special memory expansion firmware www galilmc com products accessories upgd_options html expanded_memory 7063 INVALID LENGTH ERROR
63. ersion line 1 is also string iretur 1 1 0 4 Aug 20 2008 18 28 19 included when using it Galilt dlt Example 1 Printing the library version Throws none Returns an array of strings corresponding to the names of all available data record sources A source e g TPA is used as a key into sourceValue to return a source s value from a given record Itis also the key into sourceUnits and sourceDescription which return static but useful information about a source s unit of measure and description The returned sources array is static for a particular controller and so therefore need only be retrieved once per connection The array is returned in alphabetic order See the detailed description for more information C Type Argument Example Description An array of strings containing source names in the controller data record vector lt string gt return ANT1 ANI2 IN 01 IN 02 _TVB _ZAA _ZAB Example 1 Retrieving sources and assigning a source name to a string variable Example 2 Printing all available sources Galil Motion Control Communication Library Reference 73 Throws 9190 UNINITIALIZED OBJECT ERROR Galil sources called without Galil address set top Issues a DRn command to the controller to begin the asynchronous DR method of data record acquisition The actual argument sent to the controller depends on the controller
64. for command errors For programmers wishing to use a traditional return code the first 4 characters of every error message contains a unique error code The first character of the return code contains the broad category of error The next two digits contain a number specifying the function which generated the error Note there is a private funtion at x01x that may throw in other functions 1xxx TIMEOUT 2xxx COMMAND 3xxx MONITOR 4xxx FILE 5xxx OPEN 6xxx WRONG BUS 7xxx INVALID 8xxx WARNING 9xxx OFFLINE COM only x00x Galil x02x command x03x message x04x interrupt x05x programUpload x06x programDownload x07x programUploadFile x08x programDownloadFile x09x arravUpload 0x arrayDownload 1x arrayUploadFile 2x arrayDownloadFile 3x firmwareDownloadFile 4x recordsStart 5x record 6x sourceValue 7x source 8x setSource 9x sources x20x write x21x read x22x commandValue x23x connection x24x timeout_ms The last digit xxx0 is a serial number 0 9 to provide uniqueness among very similar errors Example 2 Using the first 4 characters of a thrown string as a return code Member Documentation top Galil Motion Control Communication Librarv Reference 61 Galil is the constructor for the Galil C class and invoking it will create a new instance and open the specified c
65. hich match the user typed pattern Galil Motion Control Terminal 21 Terminal e Commands starting with EY FRACEIn Fractional part INEIn Read digital input BABSInI Absolute value GINT n Integer part ACOSE n Inverse cosine BOUTInI Read digital output RNDIn Round SINIn Sine SQRIin Square Root TANEn Tangent GANEIn Read analog input ASINEIn Inverse sine GATANEIn Inverse tangent COM n Bitwise complement BCOSInI Cosine I All supported commands matching the substring e If there is only one matching command then a detailed listing of the command s syntax is brought up with tab tab The detailed help will be found on the root command only e g TP and not on compounds e g TPA Terminal SQR n FUNCTION Square Root DESCRIPTION Takes the square root of the given number If the number is negative the absolute value is taken first ARGUMENTS SOR n where nis a signed number in the range 2147483648 to 2147483647 USAGE While MovingresDefault value Tvpe Qor Esc to exit command lookup e Typing Alt R will repeat the previously typed command e Alt shift R or choosing the Auto Repeat option from the right click menu will begin the auto repeat mode The command will be continuosly sent at the interval specified in the advanced settings file Typing Esc will stop the auto mode e The command window right click menu co
66. ilTools PCI driver using rpmbuild rpmbuild rebuild galiltools pci src rpm 7 Move the newly built package into the working directory mv rpmbuild RPMS x86_64 galiltools pci x86_64 rpm galiltools pci x86_64 rpm 8 Install the newly built package su c rpm i galiltools pci x86_64 rpm Galil Motion Control Installing GalilTools for Red Hat Set User Permissions To connect to Galil controllers over the USB RS232 or PCI interfaces a user must have the proper permissions to access the device If a standard user intends to connect to a Galil controller over USB RS232 or PCI the following instructions must be followed If a standard user wishes only to connect to Ethernet based controllers this section can be skipped Red Hat Method 1 Using the command line 1 Open a terminal by clicking Applications gt Accessories gt T erminal 2 Issue the following command to add users to the uucp group The uucp group members have permission to use serial ports Such permission is necessary for communication with Galil controllers over RS232 or USB Make sure to replace username with the desired username su c usr sbin usermod a G uucp username Password 3 Issue the following command to add users to the galil group The galil group members have permission to use Galil PCI based controllers Make sure to replace username with the desired username Note that the galil group will not exist unless a Galil PCI driver has
67. ining the response from the controller string command TPA A valid Galil command to send to the controller stin A string to append to the end of command In almost all cases a carriage return sting should be used NOTE Do not append a fr in the command string ine Wack iia The expected last character acknowledgemnet in a good response In almost all string cases a colonis expected bool Iltrim true If true the leading space and the trailing carriage return line feed and colon will be x stripped from the response False is useful for terminal applications terminator r Example 1 Basic command use Galil Motion Control Communication Library Reference 64 Example 2 Using the extra arguments advanced Specifv a different terminator to allow program download with overwrite See DL in controller command reference Example 3 Using the extra arguments advanced Specifv a different terminator to allow arrav download with overwrite See QD in controller command reference Example 4 Binarv command use advanced In almost all applications use of binary commands is not necessary however for those applications requiring it the command function can be used Throws 7020 INVALID COMMAND ERROR DL UL ED and QD are not allowed from Galil command 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT
68. ion Control Editor 24 JREM Text not downloaded to controller Green JJOperands e g TPA TIME For very long programs which are larger than the controller s program space e g 80 characters by 2000 lines on DMC 40x0 Download and Execute will attempt to compress the program before downloading This is done by removing white space and concatenating multiple commands onto each line of code A warning in the terminal and in a dialog will display if compression was necessary If the user is actively debugging code listing code LS or uploading compressed code to the editor allows the user to see the code as it appears on the controller Note compression does not modify the original source file GalilTools COM1 115200 DMC4080 Rev 1 0a 158 program1 dmc 8060 COMPRESSION WARNING Galil programDownload modified program to Fit in 2000 lines by 80 columns check LS Adialog or terminal message will display if file compression was necessary to fit the program on the controller Compression can be disabled for a particular DMC file by including REM DISABLE COMPRESSION in line zero of the DMC code ff compression is disabled but required to fit the code on the controller an error will be thrown and the download will fail GalilTools default project 192 168 MBR Edit Window Controller Tools Help EI 65535 I 255 B 8 1 2 3 4 5
69. is returned C flocs Type Argument Example Description A Sample 7 string return counter The value returned corresponding to the specified source s specified field B i The field of interest for a specified source Valid fields are Description string field Description Units Scale amp Offset string source TIME A valid source as found in the sources array specifying the source in which to lookup field Example 1 Printing all fields of a source Throws 9170 OFFLINE ERROR Galil source called without Galil address set Used to set the various fields of a data record source to custom values instead of Galil factory defaults CH ae Type Argument Example Description The field to set for a specified source Valid fields are Description Units Scale amp Offset string field Description This argument is overloaded to take a file path to a GalilTools project file This allows loading data record configurations created from the GalilTools Watch All tab Leave the rest of the arguments blank MESSA PESSA KA A valid source as found in the sources array specifying the source in which to Galil Motion Control Communication Library Reference 76 DUMIJ DUU LG Divi change field string to 16 bit i The value to assign to the specified field in the
70. itive of this is a sloped line f x 2x Note the didt Source MC ZAB axis A user variable Scale div 5000 lt gt Offset div 1 317 a ZZAA Axis user variable lt gt 50000 js 1 837 lt gt 500 lt gt 1 016 lt gt a 5 1 216 lt gt 4 gt 40 1 416 5 lt gt lt gt 1 616 mC 50 1 816 lt gt at lt gt lt gt x gt 5 2016 t Time Trigger lt gt 50 ms 200 162 n x Edge 4 W Level 10000 a Mode Repeat v t 183 4 ms didt ZAA Axis A user variable 2941 js derivitive is in units per second didt Source Scale jdiv m _RPA Axis 4 reference position Y 500 counts s Offset div 11 068 mt i m Fi RPA Axis reference position v 2000 counts i 11 636 l 3 004 viii 0 364 4 ml l 1 364 1 2 364 a0 10 3 364 0 Trigger JF 4 364 1000 ms 437 329 r Channel W _RPA w Edge i V Level 0 counts s Mode Auto didt RPA RPA A jog JG move of 1024 c s The derivitive shows a constant speed Viewing Data Status Bar and Tooltip Galil Motion Control Scope 30 didt Source Scale div Offset div mt RPA Axis 4 reference position 50 counts 1 7
71. ive to another Rolling forward zooms in rolling away zooms out Zoom All Box Galil Motion Control Scope 34 GalilTools 192 168 1 11 DMC4020 Rev 1 0a1 457 IHA File Edit Window Controller Tools Help D D Diane i New Open Save Connect Upload Watch Tuner Scope Terminal ax didt Source Scale div Offset div mC PPAAxisArefer VI 50 counts 2 25 gO vili ml TPAAxisA enco VI 50 counts a v 1 MC TEAAxisA posit W 50 counts a vili mC TTA Axis A torqu v 2 06 2 23 4d 14 gt 4d 4 4 gt 14d 14d ad a gt Sd A gt 14 gt gt e gt 14 gt 4d gt Trigger Channel W RP v Mode Repeat W RPA _TPA TEA TTA Ctrl Left Click allows a box region to be defined which will be zoomed upon click release Esc escapes the box without zooming Multiple zoom box operations can be undone with Ctrl Right Click Zoom box operations are also in the right click scope grid menu Autoscale Clicking the Autoscale Icon in the toolbar will put the scope in Autoscale mode In this mode scales and offsets will be adjusted dynamically to keep the data on the scope in boundary and stacked Click again to disable Galil Motion Control Scope 35 a H 7 WI A RPA TPA TEA TTA The Toolbar provides several scope related options
72. l Programs Microsoft Visual Studio 2008 Microsoft Visual Studio 2008 2 Select File New Project Other Languages Visual Basic Windows Forms Application and click OK New Project Project types Templates NET Framework 3 5 E Other Languages A Visual Studio installed templates B visual Basic Windows Gal Windows Forms Application Web E Class Library Smart Device v G ASP NET Web Application 4 project for creating an application with a Windows user interface NET Framework 3 5 Name vb Location C Documents and SettingsiChris Cortopassi My Documentsivisi w Solution Name vb Create directory for solution C Add to Source Control 3 Select Project Add Reference vb Microsoft Visual Studio File Edit View Project Build Debug Data Format Tools Test Window Help 4 silq B i Add Windows Form b Debug X a Add User Control g Add Component Toolbox Add Module A Label Add Class A LinkLabel ki AaS a Add New Item Ctrl Shift A Hano 1910jeix3 4 ListView MaskedTextBox Exclude From Project 3 MenuStrip Add Existing Item Shift Alt 4 Show All Files l MessageQueue Add Reference Fa MonthCalendar Te NotifyIcon Add Service Reference Set as StartUp Project 4 Choose the COM tab select Galil and click OK Galil Motion Control Hello 78 Add Reference NET COM Projects Browse Recent L u IL
73. layed in the command window if the message window is dragged to zero e The message window right click menu contains options to copy select all and clear e Messages can be date stamped by editing the advanced settings file Table of Contents Galil Motion Control Terminal 23 Editor Overview OOO O The program Editor allows the user to create New Open edit Save Upload Download and Execute dmc programs as well as Find Replace within them GalilTools COM1 115200 DMC4080 Rev 1 0 1 Fie Edit Window Controller _Tools Help Ta Ni ss D ee Fw OH i New Open Save Connect Upload Download Execute Watch Tuner Scope moddano ox CAE HardStopHoming dmc Ef JG hard stop l ka S ome DCK 6 71878 Cut Ctrl X MG Lookir Backward JGX 1000 Copy Ctrl C Oo BGY Paste Ctrl CI Match case Loop Delete JPtLoop C MG Found Select All Ctri A B 1 2 13 d4 5 16 d7 8 9 The GalilTools multi file Editor and Find Replace utilitv Hint Galil programs are saved in text files with the extension dmc Refer to your controller s command reference for valid commands and user manual for sample programs Also see Galil s sample dmc code libary for ready to use downloadable code The File Edit and Window menus and toolbar have Editor related functions which operate on the currently selected Editor window e Upload copies the program on the controller to an Editor windo
74. lilTools comes packaged with a communications Terminal program Editors and a Watch window The Full Edition adds the multi channel Scope and Tuner The environment contains program Editors in the center surrounded by the Terminal Watch Scope and Tuner dock windows which are easily accessible from the tool bar Editors represent Galil language programs and multiple Editors can be open at the same time The other tools Terminal Watch Scope and Tuner can be docked to any of the four main environment walls stacked on top of each other to form a tabbed stack or floated outside of the environment From the Controller menu the user can Connect Download Upload Arrays and Download Firmware which requires an RS 232 connection on 21x3 controllers 192 168 1 162 DMC4B8B Rev Source Gi t Ta 39321 IHA IHC q 1 IN 13 Laser Input Guide Boolean Pe A aa Rev 1 8b zX Commands starting with X 2 OUT 01 Digital output 1 Boolean 3 AN 1 Analog input 1 v XQ Execute Program 8Q Interrupt d 208 EI bit B Axis A profiled motion complete _BGA ager Floating the GalilTools modules outside of the environment over the Windows XP desktop See the individual Tool descriptions in the table of contents for more tool specific information GalilTools Font Galiltools allows the font of the terminal and editor to be cutomized by the user Choose Edit Font to bring up the font choser Galil Motion Contr
75. ll I O Status TITIUDDI7TS UVUU 1 11 54 PM 1 11 55 PM 11066278 6606 11666358 6006 11666438 6600 1 11 55 PM 1 11 55 PM 1 11 55 PM 11066518 000A 11066598 0BBB 11666678 6000 11666758 6600 1 11 55 PM 1 11 55 PM 11066838 00A 11066918 0BBB 11066998 00BB 1 11 55 PM 1 11 55 PM 1 11 55 PM 11067078 6600 11067158 00A 11067238 0BBB 11067318 00BB 1 11 56 PM 1 11 56 PM 11067398 6608 11667478 6606 11667558 6600 1 11 56 PM 1 11 56 PM 1 11 56 PM 11667638 6600 11667718 6606 11067798 6608 11067878 6600 1 11 56 PM 1 11 56 PM 110679258 6666 11068038 60606 11068118 6000 1 12 01 PM 1 12 18 PM 1 12 18 1 32 13 1 32 13 1 48 23 1 46 23 1 46 24 1 48 24 1 48 24 1 40 24 1 41 87 Interrupt 8 248 11696676 0BBB Interrupt 8 248 Interrupt f8 248 12314272 000A 12815424 0008 Interrupt 8 248 12816186 0BBB Interrupt f8 248 12816588 6660 Interrupt 8 248 Interrupt f6 246 The GalilTools terminal Command and Response Repeat Auto Repeat and Syntax Help e Commands are typed into the command window and the responses from the controller are printed in a standard terminal format e Pushing the up arrow key will recall previous commands similar to the Linux Bash shell or Winows doskey e While typing a command typing tab tab will list all available commands w
76. llers Make sure to replace username with the desired username Note that the galil group will not exist unless a Galil PCI driver has been previously installed sudo usermod a G galil username sudo password for username 4 The process may be repeated to modify other users 5 For the updated permissions to take effect the modified user must logout then log back in Configure the Firewall If a firewall is in place two exceptions must be included in the firewall settings Furthermore on Linux machines standard users cannot typically listen on any port less than 1024 This makes a redirect necessary 1 Accepting UDP traffic on port 50000 allows for the connection to Galil controllers over Ethernet 2 Accepting UDP traffic on port 60001 through 60007 allows the host to receive Data Record and unsolicited messages from the controller 3 The port redirection of port 67 to port 1067 allows standard users to assign IP addresses to controllers Note that as a result port 1067 must accept udp traffic Three possible firewall configurations will be outlined below Please review each one to see which is right for the target system Standard User without Uncomplicated Firewall UFW If no firewall is in use setting firewall exceptions for ports 1067 50000 and 60001 through 60007 are not necessary Ubuntu does not install with a set of firewall rules so only the port forward will be necessary here This example will only setup the port fo
77. m Object ByVal e As System EventArgs Handles MyBase Load Try g New Galil Galil g address 192 168 1 11 connect to Ethernet controller Me Text g connection print connection information to form titlebar g recordsStart 100 start records at 100 ms period Catch ex As System Runtime InteropServices COMException TextBoxi AppendText ex Message End Try End Sub Private Sub g_onRecord ByVal record As Object Handles g onRecord event to handle record TextBox AppendText g sourceValue record TIME ToString vbCrLf print TIME source for each record End Sub End Class Galil Galil g ga t va private void Forml Load object sender EventArgs e try g new Galil Galil e e address VLIZ 681 115 this Text g connection tlebar g onRecord new Galil Events onRecordEventHandler g onRecord 7 hool g recordsStart 100 catch System Runtime InteropServices COMException ex ny errors textBox1 AppendText ex Message void g_onRecord object record event received textBox1 AppendText g sourceValue record TIME ToString r n g recordsStart the asy vector lt char gt record g record DR Throws 6150 WRONG BUS ERROR Galil record DR not supported on RS 232 Use Ethernet or Galil record QR 1150 TIMEOUT ERROR Galil record DR took longer than ms to read bytes 1151 TIMEOU
78. n the form of Raw Value Source Value Offset Scale ff Units Description Scale or Offset are changed these changes are also reflected in Watch Some and the Scope operation Changes are persisted by the Galil Project through launches To create a factory default version of the Galil data record sources create a new project Table of Contents Galil Motion Control Watch 27 Graphical Scope Full Edition Only Overview eee The 8 channel Scope provides real time visual feedback from the controller in the form of an oscilloscope Any data Source from Watch may be chosen to view on the Scope and up to 8 different Sources can be displayed simultaneously This not only allows the user to see analog values such as torque or velocity but also Boolean values such as digital inputs and outputs set Scale near 1 when scoping Booleans There are many configuration options for the Scope tool outlined below and the Galil Project will automatically remember the settings from one GalilTools launch to the next Hint One very important distinction is that although only up to 8 channels can be displayed on the Scope at one time all of the data record typically hundreds of Sources is recorded This means that for a particular capture if a desired Source is not present on the Scope the user need only select that Source for one of the channels and the recorded data will then be displayed see critically damped example below
79. nd verify integrity of source package dpkg source x galiltools pci_1 6 3 dsc 6 Move the newly extracted source directory and build the driver cd galiltools pci 1 6 3 dpkg buildpackage uc b 7 Return to the parent directory where the deb installer file is located and install the deb installer file Sacde cr sudo dpkg i galiltools pci_1 6 3 amd64 deb Galil Motion Control Installing GalilTools for Ubuntu 12 Set User Permissions To connect to Galil controllers over the USB RS232 or PCI interfaces a user must have the proper permissions to access the device If a standard user intends to connect to a Galil controller over USB RS232 or PCI the following instructions must be followed If a standard user wishes only to connect to Ethernet based controllers this section can be skipped 1 Open a terminal by opening the Dash Home typing terminal then clicking the icon Alternatively the lt ctrl gt lt alt gt T keyboard shortcut can be used 2 Issue the following command to add users to the dialout group The dialout group members have permission to use serial ports Such permission is necessary for communication with Galil controllers over RS232 or USB Make sure to replace username with the desired username sudo usermod a G dialout username sudo password for username 3 Issue the following command to add users to the galil group The galil group members have permission to use Galil PCI based contro
80. ng for galil Install the GalilTools PCI Driver If GalilTools is to be used with a PCI based controller the GalilTools PCI driver must be installed If GalilTools will not be used with a PCI based controller this section can be skipped If the GalilSuite PCI driver has been previously installed it must be removed before installing the GalilTools PCI driver While there is limited support for the GalilSuite PCI driver in GalilTools it is strongly recommended that the GalilTools PCI driver is used with GalilTools 1 Open a terminal by opening the Dash Home typing terminal then clicking the icon Alternatively the lt ctrl gt lt alt gt T keyboard shortcut can be used 2 Get the Galil public key and import it wget http www galilmc com support downloads software galilsuite linux galil_public_key asc gpg no default keyring keyring trustedkeys gpg import galil public kev asc 3 Download the required packages for the build process sudo apt get install build essential autoconf automake autotools dev dh make debhelper devscripts fakeroot xutils lintian pb uilder sudo password for username 4 Download the Linux PCI driver Debian source control file and source file from the Galil website wget http www galilmc com support downloads software galiltools linux galiltools pci_1 6 3 dsc wget http www galilmc com support downloads software galiltools linux galiltools pci_1 6 3 tar gz 5 Extract the source a
81. ng s source Description s returns the human readable description of that source Note the description is static by connection my Value g sourceValue r IN 08 Passed a data record and a valid source string soutceValue returns the value of the source my Units g source Units IN 0877 Given a valid source string s source Units s returns the units of that source Note the units are static by connection As in GalilTools the data record Units Description Scaling and Offset can all be set with the setSource function See setSource and Watch for more information QR vs DR There are two methods for data record acquisition e QR By sending the command QR from the host the controller responds back with a Data Record This is a command and response acquisition GalilTools Watch uses QR for low frequency non periodic data records e DR By using recordsStart n where nis a sample period in milliseconds the controller is configured in asynchronous mode Data will be sent by the controller periodically and without action from the host The GalilTools Scope uses the DR method where possible for high frequency periodic data records The QR and DR details are abstracted by the data record API Consult the controller command reference for more information regarding QR and DR Flow of data from controller The most significant bit in received bytes is used to determine unsolici
82. ng svstems GalilTools default project 10 0 6 20 DMC4183 Rev 1 0alpha 723 3 IHA IHB RC RA RD dmc J G File Edit Window Controller Tools Help D B KOA BRAD Scope vertical Horizontal didt Source Scale div Offset div MO TIME Sample counter 50000 san E 3 012 MO AN1 Temp of c12 soc 0 638 m OI aN 2 Temp of FET v 50C 2 2 384 m C OUT 01 Digital out 2 5 Boole l 3 145 EE 2 5 5 2 096 TNNG 25 al 3 096 m 2 5 4 096 2 5 l 5 096 100ms 8 406 Trigger Channel Mi TIME v Edge li x Level 0 samples E vods aro v sew Sep dTIME 100000 samples TIME AN 1 AN 2 OUT 01 dt 200 ms 1 dt 5 0 Hz Watch Gx RC Mode Sample Terminal Gx AUTO AL10BBB1 var 8660680809 64606 A BL10BB1 var2 BBBBBBBBILB BBBB l CL10BB1 DL10BBB1 10 0 6 280 DMC4183 Rev EL10BB1 1 B8alpha 723 3 IHA IHB R U F 10001 Al Some Source AN O l AN 1 63 6200 AN 2 63 6200 AN 3 2 5830 AN 4 2 5830 AN 5 2 5830 AN 6 2 5830 AN 7 2 5830 DANTAI 2 5R3N Value Units Description Temp of C26 Temp of C12 GL10BB1 DMC4183 Rev 1 alpha 723 Temp of FET bed HELOOO UI10 Analog input 3 al4 ALI BLI C 1 Analog input 4 _AFA _AFB _AFC RC1 18BB EN A WONKA AWN Analog input 5 b4 Interrupt 1 EI bit 8 Motion completed Inte
83. ngSource Refresh Project Toolbox Items Button CheckBox 8 2 CheckedListBox ColorDialog cpp Properties Alt F7 Galil Motion Control Hello 3 Choose the COM tab select Galil and click OK Add Reference NET COM Projects Browse Recent Component Name TypeLib Version Path FPAPI 2 0 TYPE LIBRARY A CAPROGRAs 1 FPDTC 1 0 TYPE LIBRARY a CAPROGRAs1f FPerson 1 0 Type Library i C PROGRA 1 FPlace 1 0 Type Library i CAPROGRAs 1 FPlace 2 0 Type Library a CAPROGRAs TE FSHook 1 0 Type Library j C Program Files FStock 1 0 Type Library i CAPROGRAs 1 FStock 2 0 Type Library j C PROGRA 1 Galil Ci Code Galillq GBDetect 1 0 Type Library i C Program Files GdService 1 0 Type Library i C Program Files GDSUserInfoLib i C Program Files GenericCredentialStore 1 0 Type Library j C Program Files Google Desktop Display API Type Library l C Program Files Google Desktop Search API 1 1 Type Li 1 C Program Files v gt 4 Double click on Form and add the code below cpp Microsoft Visual Studio File Edit View Project Build Debug Data Tools Test Window Help il idl BbAMA s Gam 9 m Ge d Debug Ty a BL ae Ge seis AR avs Object Browser Start Page Formi h Formi h Design vx 3 cpp Form1 l r x g Formt_Load System Object sender Syst v Galil Galilllass g z private System Void Formi LoadiSvstem Object sent g genew Galil GalilClass g gt address
84. nt connected handle CFI will steal the unsolicited handle away from any other connection currently using it CFI as the handle used for unsolicited messages Ethernet Only Disable Echo on RS 232 Commands typed will not be echoed back by the controller This is important so that connections echoed commands are not interpreted as command responses Galil Motion Control Communication Library Reference 62 All unsolicited messages will have the most significant bit extended ASCII set This cw1 Mark Unsolicited Bytes allows the library to differentiate between solicited zero in the highest bit and unsolicited highest bit 1 bytes See message for more info Throws 5000 OPEN ERROR User cancelled connection from dialog in Galil Galil 4000 FILE ERROR Galil Galil failed to open file 5001 OPEN ERROR OFFLINE specified to Galil Galil 5002 OPEN ERROR Galil Galil failed to open PCI device 5003 OPEN ERROR Galil Galil failed to open RS 232 port 5004 OPEN ERROR Galil Galil failed to open Ethernet host 1010 TIMEOUT ERROR Galil command took longer than ms to write 1011 TIMEOUT ERROR Galil command took longer than ms to read response Galil is the destructor for a Galil object and is automatically invoked when a Galil object s scope is ended or when delete is called in C When the destructor runs the connection to the controller is closed Example 1
85. ntains options to copy paste select all clear and auto repeat Unsolicited Messages and Interrupts e Unsolicted messages from the controller are displayed in the window next to the command and response window Unsolicted messages consist of 1 Messages from DMC code e g MG Hello 2 Command output from commands exectued within DMC code e g TP var 3 Interrupts where available 4 Error messages from the controller Galil Motion Control Terminal 22 Terminal 192 168 1 162 DMC4B8B Rev WI HELLO 1 8b 39321 IHA IHC B B B B B B B 5 0000 Interrupt 8 248 UI 8 25 this line will cause a crash LS MG HELLOU 1 2 3 4 5 this line will cause a crash 6 KQ d Output from the DMC code displayed in the messages window right e The divider between the windows can be dragged to change the area of the command and response area and the messages area If the divider is moved to shrink the messages area to zero messages will be ported to the command and response window e The divider orientation vertical or horizontal is dependent upon docking within the GUI environment and will change automatically to provide optimum aspect ratio e The ordering of the windows can be swapped in the advanced settings file Terminal LS MG HELLO tInterrupt 8 248 UI 8 HELLO B B 8 8 8 8 B B 5 0008 5 this line will cause a crash Output from the DMC code is disp
86. o rea 2010 COMMAND ERROR Galil command got instead of response 3010 MONITOR ERROR Galil command got gt instead of response 9110 UNINITIALIZED OBJECT ERROR Galil arrayUploadFile called without te d response Gat CAILLE address set Allows controller firmware to be upgraded Note that Galil distributes firmware files in a zip archive which must be decompressed prior to loading Firmware files end in a hex extension Ensure the correct firmware version model before downloading loading an incompatible firmware will require a reloading of the correct firmware DMC 21x3 this function is only allowed via RS 232 Upon invoking firmwareDownloadFile a GUI progress bar dialog will display on Argument Example Description tri fil arene ib sj lil The path to the firmware hex file to download if no path sting Me aa ja oe is specified the executable directory is used Example 1 Ask user for firmware file path and update controller firmware Throws 4130 FILE ERROR Galil firmwareDownloadFile failed to open file 6130 WRONG BUS ERROR Galil firmwareDownloadFile isn t allowed via Et 1010 TIMEOUT ERROR Galil ie took longer than MS Co wri 1011 TIMEOUT ERROR Galil took longer than ms to rea 2010 COMMAND ERROR Galil got 7 instead of response 3010 MONITOR ERROR Galil got gt instead of response 2010 COMMAND ERROR
87. ol Introduction 4 Select Font _ Font style Normal KELLI Normal Times New Roman Italic Trebuchet MS Bold Tunga Bold Italic Verdana Vrinda Webdings Wingdings Wingdings 2 Wingdings 3 Effects CI Strikeout CI Underline AaBbY yZz Writing System Any Users can choose a prefered font for working in GalilTools indows Installation Open the GalilTools for Windows installation executable and proceed with the setup The installation will create a desktop shortcut and a program group in the start menu PCI DMC 18x2 6 During the installation a prompt will ask to install the PCI driver Galil PCI Driver Installer Welcome to the PCI Driver Installer Next installs the PCI driver software for your DMC 18x2 6 hardware which will be ready to use after you reboot with hardware installed Cancel skips PCI driver installation To continue click Next Cancel PCI Installation Prompt Optional If GalilTools is going to be used in conjunction with a PCI controller DMC 18x2 or 18x6 the PCI driver must be installed Otherwise the user can choose to skip this step of the installation by clicking Cancel If using a PCI controller once the installation is done follow the onscreen directions to restart the computer If GalilTools is installed on a computer with legacy Galil software such as WSDK or SmartTerm it may be necessary to manually change the PCI driver to connect to PCI controllers
88. onnection There is one argument to the constructor class which indicates the connection to open Set the address propertv when using the COM class on Windows Tvpe Argument i Connection string for controller see examples of valid strings below If null string address GALLEG display the Connections dialog to allow the user to choose a controller E Example Description Example 1 null string With a null string passed to the Galil constructor the Connections dialog will be presented for the user to choose the connection to open Example 2 Valid addresses Note strings in quotes are valid for all programming languages Note The connection behaviour can be modified by appending address line switches to the connection address string See the connection address options table in the connections chapter for a complete list Example 3 Path to Connection file If the address ends in the substring con it refers to a con file as saved by the Connections dialog A con file is simply a text file containing a valid address A connection can be changed simply by modifying the object s address Example 4 Changing connection of Galil object Upon invoking the constructor several values are interrogated controller revision information presence of analog inputs serial number connected handle etc and the following state changes are made Command Sethe cure
89. ons IMI Connections _ Available Saved No IP Address Address GALILPCI2 GALILPCIL 10 0 51 44 10 0 6 129 192 168 1 2 7 10 0 2 45 19 OFFLINE 20 COMI 19200 21 COM1 115200 Model Serial number DMC1842 Rev 1 0q 17764 DMC1886 Rev 1 0bdev DMC2122 Rev 1 0p DMC2142 Rev 1 0p DMC4080 Rev 1 0 RIO47100 Rev 1 0 beta0821 u 10 0 6 24 RIO47100 Rev 1 0 beta1212 Refresh v Ce a Connections dialog as seen when starting GalilTools for the first time Note Controllers shown are examples Hint Right click the connections list to allow a refresh of the Available connections This is useful for Ethernet controllers that may have just come online Ifa desired baud rate is not present in the list it can be manually typed in the Connections textbox Highlighting a connection places that connection s string in the textbox and clicking Connect will attempt a connection Although all network connected controllers are listed only those within the host s subnet mask can be connected to For RS 232 it is up to the user to select a port and baud rate where a controller is actually connected If an RS 232 port or PCI controller is being used by another application or an Ethernet controller is using all Ethernet handles it will not be listed in the Available connections For users with several connections groups of PCI RS 232 and separate network card connections have unique font colors Connections tha
90. ons back to 2002 mav be used 1 Select Start All Programs Microsoft Visual Studio 2008 Microsoft Visual Studio 2008 2 Select File New Project Other Languages Visual C Windows Forms Application and click OK Galil Motion Control Hello 79 New Project EA Project types Templates NET Framework 3 5 vi E 4 Visual Studio installed templates A Windows web aj El windows Forms Application Smart Device EClass Library __ Office EBASP NET Web Application 4 project for creating an application with a Windows Forms user interface NET Framework 3 5 Name Location Chris Corto yassi My Documentsivisual Studio 2008 Project Solution Name cs Create directory for solution Add to Source Control 3 Select Project Add Reference cs Microsoft Visual Studio File Edit View Build Debug Data Format Tools Test Window Help id siq B Add Windows Form b Debug a 8 Add User Control Formi cst Forni E Form HJ Add New Item Ctrl Shift A F Add Component Toolbox Ix Add Class All Windows Forms h Pointer F BackgroundWorker 471 BindingNavigator sasojdx 3 184188 f Add Existing Item Shift Alt 4 Exclude From Project Show All Files Add Reference Add Service Reference ti BindingSource Button CheckBox BO CheckedlistBox A ColorDialog Set as StartUp Project da Mafeach Meniack Taalha
91. op iteration and pauses again at line 5 Single stepping and interrogating shows as expected Terminal 9 JPitloop _ZAA lt 16 3 loop PRA 100 BGA MG _RPA _ZAA 200 9 0000 9 JP loop _ZAA lt 18 10 EN Expecting another iteration we issue BK5 The code continues and exits without iterating again and the early exit condition becomes clear line 0 should read ZAA 0 Printing Messages MG Breakpoint BK and single step SL can be used to great utility to diagnose difficult bugs however printing messages with the MG command often works for quick checks Galil Motion Control Debugging 45 GalilTools GALILPCI2 DMC1886 Rev 1 Obdev 1 program4 dmc EE File Edit Window Controller Tools Help 2 x D B F Aa ARE i New Open Save Connect Upload Watch Tuner Scope Terminal Terminal TRG Executed program from program4 dmc vi ion iteration 1 6606 ie EAA fit ration 2 8900 BGA iteration 3 6600 AMA iteration 4 0000 WT18B iteration 5 6000 ZAA _ZAA 1 iteration 6 6600 JPitloop _ZAA lt 10 iteration 7 6000 EN iteration 8 6600 iteration 9 8BBB e 1 2 3 4 5 6 ie 8 9 Line 4 has been added to print a message on each loop and the early exit is also evident Table of Contents Galil Motion Control Debugging Comma Separated Values CSV Files GalilTools uses Commas Separated Values CSV format for representing arrav data GalilTools GALILPCI2
92. other row to be Inserted The rows selected in the Watch Some are remembered in the GalilTools Project for the next launch The active tab All or Some is also remember along with window position size etc User Units Descritpion Scale and Offset Watch ALL is a listing of the controller s data record GalilTools represents the data record as sources Sources are used in both the Watch and the Scope to provide information to the user regarding the controllers current state A source has the following components e Source The static Galil name for the data e g IN 01 e Value The current value of the source from the controller post processed by Scale and Offset e Units The engineering units of the source Galil recommends a units value but the user can specify this by typing a new unit string in the units cell e Description The human readable description of the source Galil recommends a description but the user can change it by typing a new description string in the description cell e Scale Used to scale the value returned from the controller The scale is in effect a divisor Raw values are divided by the scale value to provide post processing for user display A new value can be set in the value cell to provide application specific scaling e Offset The offset bias to add to the raw value from the contoller to provide application specific post processing of data Scale and Offset operate on the controller s raw data record i
93. ows for traces from a previous scope capture to be compared to current waveforms By clicking the overlay icon in the toolbar the current scope traces are rendered in a lighter color in the scope background Clicking the icon again will turn off the overlay and the older data is lost Galil Motion Control Scope 31 Mertical Horizontal didt Source Scale jdiv Offset div m o RPA Axis 4 reference position 50 counts 1 314 A 2 a Al B gO TPA Axis encoder position 50 counts 1 324 mC _ _TEA Axis A position error 100 counts 0 554 go _TTA Axis A torque DAC 9 99816 V 2 841 C il 151 la MO 1 2 ao if 0 311521 l 3 BO 10 4 t so ms Trigger Channel Mm RPA v Edge li Level 20 counts RPA TPA _TEA _TTA Older data can be overlayed to compare with subsequent scope data Store Recall data The Save icon in the toolbar exports the current scope data to a csv file KI Microsoft Excel RIO Scope csv File Edit view Insert Format Tools Data Window Help Adobe PDF xX Arial 10 BIU F228 8 wi 2 A 2IR Dea SRY LBB 9 ors A N A l Bjo BDL E1 AN 3 Analog input 3 Vv A B t Time ms AN O Analog ir AN 1 Analog in AN 2 Analog AN 3 Analog input 3 Vv 414 062 0 001221 D O 00976801f 4 416 016 0 0 002442 0 001221 0 00854701 417 969 0 001221 0 001221 0 0 00732601 419 922 0 002442
94. r to CSV file on PC Download array s from CSV file on PC to controller Note Do not Download Arrays while a Record Array Mode is running on the controller RC RD RA Ask the user for a hex file for upgrading the controller firmware Opens and or places keyboard focus on the Watch window Opens and or places keyboard focus on the Tuner Opens and or places keyboard focus on the Scope Opens and or places keyboard focus on the Terminal Opens this help utility Opens application About dialog containing versions and links Refresh Available connections Delete a Saved connection Copy the currently selected text to clipboard Select all text in buffer Galil Motion Control Menus and Hot Keys 50 Terminal Input Editor Terminal Input Watch Scope Repeat Clear Undo Redo Cut Copv Paste Delete Select All Repeat Repeat Clear History Insert Remove Points Table of Contents Alt R Ctrl wheel Ctrl Z Ctrl Y Ctrl X Ctrl C Ctrl V Delete Ctrl A Ctrl wheel Alt Shift R Alt R Repeat last command Clear Terminal output buffer Change font size Step back in typed history Step forward in typed history Cut the currently selected text to clipboard Copy the currently selected text to clipboard Paste the contents of the clipboard text only to the current cursor location Delete selected text Select all text in buffer Change font size Editor only Repeat last command toggle Repeat
95. rrupt fa 258 UI10 Analog input 6 CMDERR Analog input 7 todo add error handler e ejej e ere ei ninin Analna innit A JA o mu o mn eo Ny oe GalilTools Full Edition Various areas of GalilTools have a yellow highlighted color and indicate operations or fields that can potentially cause axis motion These areas include the Download and Execute buttons the Terminal input textbox and the Tuner settings Autotune button and sliders Care should be taken to ensure potential movement will not damage equipment nor cause injury When running GalilTools in conjunction with a stand alone Ethernet controller it is recommended that an Ethernet connection be used Galil Motion Control Introduction 3 because an RS 232 connection does not offer the optimum communication speed required for the Scope GalilTools works with the DMC 40x0 18x6 41x3 21x3 18x2 board revision D and up and RIO New firmware 1 0b or greater is required to use Watch on the DMC 18x6 series Minimal DMC 1417 support was added in version 1 4 4 no Watch no Scope no Tuner tools Hint Many features in GalilTools have tool tips further information about the feature may be obtained by hovering over a window element m CAE 02 A E IDAN Analog input 1 1000 counts 1 AN 2 Analog input 2 Turns the channel off Home key a ARTO Analan ineuik D A tool tip in the Scope showing further information The Lite Edition of Ga
96. rt over Open GalilTools and click on the No IP Address tab in the Connections Dialog Box Assign IP addresses that are within the same subnet mask as the IP of the computer Click on Available Tab and connect to the desired controller IP addresses should be assigned automatically by the Server Router After a power down be sure to wait a few seconds before opening the Connections dialog in GalilTools Click on Available Tab and connect to the desired controller Bock diagram that walks the user through connecting to a controller via a static versus a dynamic network The instructions above reference the GalilTools Connections dialog and the No IP tab Typical Network Configurations 52 Galil Motion Control Ethernet Network Guide for Connecting Galil Controllers The following are examples of possible network configurations when using a Galil controller The IP addresses shown are for example purposes only and can will be different for actual installations In all cases where there are two Network interfaces such as a static NIC and a wireless NIC make sure that the two NIC interfaces are using IP addresses that are on different subnets For example a static network card cannot have the IP address of 192 168 1 5 if the wireless NIC has an IP address of 192 168 1 4 Instead the static NIC should have something like 10 10 10 1 in order to make sure it is on a different subnet Network Configuration
97. rward so standard users can assign IP addresses to controllers The following changes allow standard users to assign IP addresses to controllers using GalilTools 1 Open a terminal by clicking Applications gt Accessories gt T erminal 2 First a configuration file will be created at etc iptables rules This will be loaded by iptables restore on the network interface pre up to load the required iptables rules automatically sudo gedit etc iptables rules sudo password for username 3 Add the following lines to the newly created etc iptables rules file nat PREROUTING ACCEPT 0 0 INPUT ACCEPT 0 0 OUTPUT ACCEPT 0 0 POSTROUTING ACCEPT 0 0 A PREROUTING s 0 0 0 0 32 p udp m udp dport 67 j DNAT to destination 0 0 0 0 1067 COMMIT 4 Next the etc network interfaces file will be modified sudo gedit etc network interfaces sudo password for username 5 At the end of the network related lines for the interface that the controller will utilize add the line that is highlighted in green in the Galil Motion Control Installing GalilTools for Ubuntu 13 example below auto lo iface lo inet loopback 6 The firewall settings from etc iptables rules will now be applied each time the interface comes up To applv the new settings now reset the interface or reboot the svstem Standard User with Uncomplicated Firewall UFW For Ubuntu system that use UFW the default firewall configuration tool for U
98. ser Password Aooloiok Confirm Password 49 Home Directory jhome username Login Shell bin bash M Cancel d OK User Properties Window 6 Select the Groups tab in the User Properties Window The User Properties Group Tab should now be visible ia User Properties o x User Data Account Info Password Info Groups Cl utempter C utmp uucp O vboxsf O vesa O wheel O xfs Primary Group Select the groups that the user will be a member of O disk CO floppy Galil Motion Control Installing GalilTools for Red Hat 10 ftp galil games gdm gopher Primary Group users v X Cancel ox User Properties Group Tab showing the galil group check box In the User Properties Group Tab tick the check boxes next to uucp to give the user access to serial ports This is necessary for communications with Galil controllers over RS232 or USB In the User Properties Group Tab tick the check marks next to galil to give the user permissions to communicate with Galil PCI based controllers Note that the galil group will not exist unless a Galil PCI driver has been previously installed Click the OK button The process may be repeated to modify other users After all desired modifications have been made close out of the User Management tool For the updated permi
99. ssions to take effect modified users must logout then log back in Configure the Firewall By default during installation Red Hat installs and enables a firewall Furthermore on Linux machines standard users cannot typically listen on any port less than 1024 This makes a redirect necessary 1 Accepting UDP traffic on port 50000 allows for the connection to Galil controllers over Ethernet 2 Accepting UDP traffic on port 60001 through 60007 allows the host to recieve Data Record and unsolicited messages from the controller The port redirection of port 67 to port 1067 allows standard users to assign IP addresses to controllers Note that as a result port 1067 must accept udp traffic If no firewall is in use setting firewall exceptions for ports 1067 50000 and 60001 through 60007 are not necessary If standard users require permission to assign IP addresses to controllers the port redirection must still be applied The following changes allow GalilTools to communicate with controllers while a firewall is enabled and allow standard users to assign IP addresses to controllers 1 2 Open a terminal by clicking Applications gt Accessories gt T erminal Assuming that the firewall is enabled a file similar to the following can be found at etc sysconfig iptables Open this file for editing su c gedit etc sysconfig iptables Password If the file opened by the previous command is blank you must re enable the Red H
100. su c rpm i galiltools x86_64 rpm Password 3 GalilTools can be launched from the terminal with the command galiltools or from the system menu at Applications gt Programming gt GalilT ools Install the GalilTools PCI Driver If GalilTools is to be used with a PCI based controller the GalilTools PCI driver must be installed If GalilTools will not be used with a PCI based controller this section can be skipped If the GalilSuite PCI driver has been previously installed it must be removed before installing the GalilTools PCI driver While there is limited support for the GalilSuite PCI driver in GalilTools it is strongly recommended that the GalilTools PCI driver is used with GalilTools 1 Open a terminal by clicking Applications gt Accessories gt T erminal 2 Get the Galil public key and import it wget http www galilmc com support downloads software galilsuite linux galil public kev asc su c rpm import galil public kev asc Password 3 Download the required packages for the build process su c yum install rpm build kernel devel kernel headers kernel xen gcc glib Password 4 Prepare the build environment mkdir p rpmbuild BUILD RPMS SOURCES SPECS SRPMS echo topdir echo HOME rpmbuild gt rpmmacros 5 Download the Linux PCI driver from the Galil website wget http www galilmc com support downloads software galiltools linux galiltools pci src rpm 6 Rebuild the Gal
101. t jah 4 gt lt gt gt 4 gt 14 gt AD e 4D 4d 14d gt 4D 4d 45 4d ed Time Trigger Channel W 1 KI Edge Rising vy Level Node READY Overdamped System poorly tuned Galil Motion Control Tuner 39 GalilTools 192 168 1 2 DMC4080 Rev 1 0 1 IHA File Edit Window Controller Tools Help D D e i New Open Save Connect Upload Axis Step Amplitude Step Time Source Scale div Offset div 3 RPA Axis A reference position 200 counts 1 2 _TPA Axis A encoder position 200 counts 1 4 gt jah eh lt gt gt 4d 14 gt AD a gt 4D 4d 14d gt 4D 4d 45 4d ed Time Trigger Channel W 1 KI Edge Rising vy Level A eeror An underdamped system with ringing poorly tuned Galil Motion Control Tuner GalilTools 192 168 1 2 DMC4080 Rev 1 0 1 IHA File Edit Window Controller Tools Help D P 8 Ae A a New Open Save Connect Upload Watch Tuner Scope Terminal Oy ey ae Axis a M ko A ya CI ECE E ETIE Step Amplitude 1000 counts KP yo 26 A CESES EEEEN seme m0m 8 K ooo CM Source Scale div Offset div 3 lt gt _RPA Axis A reference position 200 counts 1 2 TPA Axis A encoder position 200 counts 1 _TT Axis A torque DAC lt gt 14 gt
102. t div gC RPA Axis A reference position 50 counts 1 567 m 0 885 0 603 IL TIPA Axis A encoder position 50 counts 1 572 MO 0 885 l 1 656 E Fi _TEA Axis A position error 100 counts 0 143 EO 0 885 3 915 m C _TTA axis A torque DAC ADV 3 119 a 0 885 6 181 19 39 ms 60 909 ms Trigger Channel W PPA v Edge W Level 0 counts 33 3 ms RPA Axis A reference position 99 2 counts Left clicking on a trace allows two dimensional pan trace only vertical all traces horizontal Galil Motion Control Scope 33 Hide Controls RPA TPA _TEA ITA Clicking and dragging the toolbar s or control panel s scope boundary allows the scope grid to fill a larger section of the full scope window Scroll Wheel All Zoom Camera By spinning the mouse scroll wheel when the mouse is over the scope background all traces will be zoomed in or out Both vertical scales and horizontal scales will be adjusted so that the zoom appears to be moving the viewer s perspective in or out similar to moving the view camera in or out Rolling the mouse wheel forward towards the display will zoom the view in Moving away from the screen will zoom the view out Scroll Wheel One Zoom Trace When over a trace the scrollwheel will zoom just that trace s scale The time scaling is unmodified This is useful for resizing one trace relat
103. t is opened Contents Galil Motion Control Projects 15 Advanced Settings Overview eee GalilTools has several advanced options which are available from a software configuration file O S Applies to Configuration File Path Windows N GalilTools Projects C Documents and Settings username Application Data Galil GalilTools ini Windows Project projName only C Documents and Settings username Application Data Galil projName ini Linux JAIGalilTools Projects SHOME config Galil GalilTools conf Linux _ Project projName only HOME config Galil projName conf Configuration File Options Note Although the backslash is used as the directory and filename delimeter in Windows paths in the GalilTools configuration file must use a forward slash See examples below Note Close all instances of GalilTools before editing the configuration file The configuration files contain the following options and defaults Paths for Windows shown GalilTools ini File Contents and Default values Description specify a GalilTools module name for which the following options are mutable File containing the connection information for the last controller GalilTools LastConnectionFile connection last connection ShowUpdates true On launch check for updates If updates exist display info Terminal Module Name CommandDictionaryDir C Program Files Galil
104. t will be used repeatedly can be Saved with a user chosen name By clicking the Save button the Address in the textbox can be saved to a connection con file Clicking the Save button will request a path for the con file and the user can select an appropriate name based upon the controller s application Save Connection Save in O Galil ey Ee 2 My Recent Documents IE Desktop My Documents My Computer My Network Places E cutter con File name Save as type a Fiber traveler con a Fiber winder con Jtake up reel con Saving a Connection Cancel Galil Motion Control Connections 18 While in the Save Connection dialog or the operating system s file explorer a con file can be renamed or deleted by right clicking on the desired file Right clicking a Saved connection on the Saved tab of the Connections dialog also allows the user to delete it Connections can be saved to any writable directory e g the desktop and serve as shortcuts to the Saved connection Opening the con file by double clicking from the operating system s file explorer will open GalilTools and attempt a connection to the con file s saved string bypassing the Connections dialog box If the con file does not open into GalilTools reset its file association by right clicking on the con file from the file explorer choose Open with and choose the GalilTools executable as the assigned
105. ted verses solicited data during a synchronous solicited transaction See CW in controller command reference If data is received by the library NOT during a synchronous transaction e g command the data will automatically be put in the unsolicited queue regardless of the most significant bit Galil Motion Control Communication Library Reference 60 Ty Unsolicited Queve Max Size 100 kb messagel 14 EZ Incoming Byte Stream mas Lene OXXAXXXX ee AND Solicited command OKXXXXXX OXXKKNXX The exceptions thrown by the Galil class were designed to allow for easy debugging by providing human readable information No error code table needs to be referenced by the programmer as the error information is included in the error All thrown objects are strings String search functions or error codes can be used to determine the nature of an error TC1 is sent to the controller automatically by the drivers in the event of a fault This controller generated error text is included in the string thrown by the drivers Example 1 Using string functions to programmatically handle thrown errors below is a partial Try Catch handler Catch exception As System Runtime InteropServices COMException Console WriteLine exception print error message If exception Message Contains COMMAND ERROR Then Console WriteLine End If End Try a command error occurred special processing
106. ton can be developed and tools will remember the optimum setup for motion tasks Finally a third project could be for production used for production programming basic diagnostics or other tasks GalilTools will launch after the first instance in the default project The tool states when the user closes GalilTools will be persisted to the next launch of the default project To save more than one working environment choose either File New Project This will allow a new project to be created Hardcoded defaults for environment will form the starting point for creating a customized layout File Save As Project This allows a new project to be created with the current project as a starting point for environment layout default project An example of creating projects DMC files left open will be reopened when a project is opened To save the current project choose File Save Project Note changes to the project will be automatically saved when GalilTools is exited To set the project back to it s original state choose File Revert Project This is recommended if the environment has been changed temporarily To open a saved project choose File Open Project and choose a valid project file Opening a project file form the operating system shell will cause GalilTools to launch and load the indicated project Connections will also be persisted in projects The last connected controller will be opened when a projec
107. troller to the host can be categorized into two primary groups solicited and unsolicited Solicited bytes are responses from commands sent by the host For example a solicited message is an encoder position string returned from g command TPX Unsolicited messages are transmitted asynchronously and could be output from MG commands from a running program aboard the controller asynchronous error messages trace TR1 output or responses from commands ina controller side DMC program TP RP etc Galil Motion Control Communication Library Reference 65 For Ethernet connections the library will automatically open two Ethernet handles on the controller One TCP handle for command and response traffic and one UDP handle for asynchrounous data including messages MGs C If the host side message queue is empty message will wait up to timeout_ms for a message If none occur within timeout ms a timeout error will be thrown If there are already messages in the queue when message is called the function will immediately return the contents If a zero timeout is specified no errors will be thrown message will simply return the waiting queue even if it is empty A 1 timeout will cause message to block until a message is received COM There are no timeouts for the onMessage event C Type Argument Example Description Hello rMy TP Value 423 0000 Returned contents of the unsolicited messages buffer string re
108. turn The time in milliseconds to wait for the existence of data in the int timeout_ms 500 message queue Example 1 Printing unsolicited messages Throws 1030 TIMEOUT ERROR Galil message took longer than ms to read MG Downloads a program from a host buffer to the Galil controller For very long programs which are larger than the controller s program space e g 80 characters by 2000 lines on DMC 40x0 the function will attempt to compress the program before downloading This is done by removing white space and concatenating multiple commands onto each line of code A warning 8060 will be thrown signaling that compression was required and a try catch block included in every call to this function is recommended to handle this possible warning condition If line zero of the buffer contains REM DISABLE COMPRESSION code will not be compressed and downloading otherwise compressable code will throw an error and fail See write for examples of downloading code with insertion and while motion is profiling CH Tvpe MG String containing the program to download with each line separated bva sting program l imerent carriage retum Argument Example Description Example 1 Download a program to controller from buffer Example 2 Download program from textbox and then execute Throws 7060 INVALID CHARACTER ERROR Galil programDownload can t downloa
109. uch as an RIO to get more O points but who do not want to use a Hub Switch to connect them A Crossover Ethernet cable can be used to connect from the controller to the RIO In the case of the DMC 40x0 a crossover Ethernet cable is not necessary as it will automatically configure itself based on the cable being used For more information on connecting a RIO 47xxx as external I O go to http www galilmc com support appnotes accelera note2512 pdf Galil Motion Control Ethernet Network Guide for Connecting Galil Controllers 53 Internet Corporate Network Router Switch Firewall Server Something that dynamically assigns IP addresses Mal 5 RIO 4750 192 168 1 4 DHCP Enabled Computer 192 168 1 2 DHCP DMC 40x0 192 168 1 3 DHCP Enabled Network Configuration 2 Footnotes Subnet a subnet is a group of IP addresses that are grouped together as a sub network in order to be used for a specific purpose IP addresses outside of the subnet mask are not allowed to communicate to IP addresses inside the subnet A subnet mask is generally specified by using a value of 255 designating which parts of the IP address are common to that subnet For example a subnet mask of 255 255 0 0 specifies that the first two bytes of the IP address are restricted to communication to other devices with the same values for those first two bytes ie a device with an IP address of 192 168 x x
110. w 4 Choose the COM tab select Galil and click OK Add Reference MET COM Projects Browse Recent Twpelib Version Path a C PROGRAW1 CAPROGRAJ1f CAPROGRAJI L CAPROGRAs 1 C PROGRA 1 C Program Files Component Name FPAPI 2 0 TYPE LIBRARY FPDTC 1 0 TYPE LIBRARY FPerson 1 0 Type Library FPlace 1 0 Type Library FPlace 2 0 Type Library FSHook 1 0 Type Library FStock 1 0 Type Library CAPROGRAs 1 FStock 2 0 Type Library l CAPROGRAs IC Galil i CiiCode GaliliC GBDetect 1 0 Type Library C Program Files GdService 1 0 Type Library C Program Files GDSUserInfoLib C Program Files GenericCredentialStore 1 0 Type Library C Program Files Google Desktop Display API Type Library C Program Files Google Desktop Search API 1 1 Type Li C Program Files w gj gt 5 Double click on Formf and add the code below Galil Motion Control Hello cs Microsoft Visual Studio File Edit View Refactor Project Build Debug Data Tools Test Window Help il idl BbA s Bi 9 fil 63 b debug hd Object Browser Start Page Formi cs Formi cs Design vx v 3 Formt Load object sender Event4rgse Vv Galil Galil g new Galil Galil al private void Formi Load object sender Eventirgs e g lik U kul P a m X gt Q m g address this Text g connection 6 Hit F5 to run the program EB GALILPCI2 DMC1886 Rev 1 0b 988 2 JIBJIX C
111. w on the PC and Download copies the selected program in GalilTools to the controller e Execute downloads the program from the Editor and then runs it GalilTools will stop ST any motion or program before downloading e New opens a blank Editor window Open provides a file selection dialog for opening a saved dmc file and Save allows saving of the currently selected Editor Any dmc file opened by double clicking from the desktop or file explorer will open into an Editor window in GalilTools and the connection will be determined by the project state click Connect to change connection If dmc files are not associated with GalilTools right click on the dmc file from the file explorer choose Open with and choose the GalilTools executable The Editor displays line numbers in the left column and the font size can be temporarily changed by holding down the Ctrl key and scrolling the mouse wheel and permanently changed by choosing Edit Font Color Coding If a line is over 80 characters the overflow will be colored red and this designates lines that are too long to download to a controller without compression 40 characters for the RIO 471x0 The Editor syntax highlights different text corresponding to its purpose according to the rules below Magenta jText e g MG Blue Galil Commands Black Variables Arrays Numbers Axes and Operators Red Program Labels Grey Commented Text or NO Galil Mot

Download Pdf Manuals

image

Related Search

Related Contents

instalación - Lincoln Electric    CRYMOBILE-100 User`s Manual    MANUALE TECNICO  Shengenintyg  Amana ARS2661BC Refrigerator User Manual  SPSV Initial Suitability Inspection Manual for vehicles seeking first  Ryobi HP44L Use and Care Manual  Boletín 2014/06  

Copyright © All rights reserved.
Failed to retrieve file