Home
Maestro Software Manual
Contents
1. 360 psec polt Record time 11 474 ser ae oO O CAN Bus 0 OE p a2 O Velocity L Position Figure 10 2 Selecting the Axis and Signals to Record 10 1 Maestro Software Manual Command Line I nterface 10 2 MAN MASSW Ver A Mapping dialog xl Once communications have been established choose the Signals to record from the pick list that opens Velocity Position under each Axis as shown in the figure below or Position Command for all axes with using the Context menu The next Digital Input Elot step is to choose the length of time to record and the Current Command A resolution of the recording These numbers are DC Bus Voltage Ausilian Position Auxiliary Velocity recorded User can to change Signals for recording Active Current 4 by Mapping dialog see Fig 8 3 Reactive Current A Analog Input 1 f eee E The recording is triggered by an event In most E cases that is a Begin Motion command Select a trigger from the Trigger pick list as shown below related as there is a limit to how much can be Figure 10 3 Signals Mapping for the Recording E Connected to 10 10 10 52 Recorder Actions view Help Sm Elx Resolution Trigger High resolution Delay oz Resolution Trigger Begin Motion 360 peec polnt Begin Motion Current Phase A Curent Phase B CEPIS Current Command A 11 474 SEC r DC Bus Voltage Digital Input Digital Input 1 Digita
2. While 1 No termination condition if program status 2 program halt break end while Note There are other simple ways to escape a loop It is best to use the break statement in more complex loops where it can be difficult to tell whether the loop should be terminated before several statements have been executed 8 5 4 2 The MAXL continue Statement The continue statement forces immediate transfer of control to the loop continuation statement of the smallest enclosing loop The loop continuation is the statement that contains the controlling expression for the loop Therefore the continue statement can appear only in the dependent statement of an iteration statement 8 5 4 3 The MAXL return Statement The return statement allows a function to immediately transfer control back to the calling function A function can have any number of return statements Maestro Software Manual MAXL Program Language MAN MAMSW Ver A 8 5 4 4 The goto Statement The goto statement performs an unconditional transfer of control to the named label The label must be in the current function 8 5 5 Declaration Statements Declaration statements introduce new names into the current function Before using global variable inside function it must be declared by keyword global Syntax declaration statement global type name list type name list type int float name list name name list name Multiple declaration
3. MAN MAMSW Ver A 8 2 4 1 Fundamental Types Fundamental types in MAXL are divided into two categories integral and floating The following table explains the restrictions on type sizes Fundamental Types of the MAXL meget int _ _s2bitsimger type 64 bits float point type Like double in C C 8 2 4 2 Object types Object is a base unit of the Maestro There are some different types of MAXL objects e Axis e Vector e Group e Trajectory e Program Each of these objects defined by its name and uses specific set of attributes This attributes set depend of object type MAXL supports two kinds of object attributes e Command o Getter o Setter o Getter Setter o Executer e Method 8 3 Standard Conversions e Auto casting from integer to float and vice versa is performed Maestro Software Manual MAXL Program Language MAN MAMSW Ver A For example int i float f i 5 5 after this program line executing variable i contain 5 f i after this program line executing variable f contain 5 too e Type of any binary operation defining according to operands type First operand type Second operand type Integer Integer Integer Float Integer Float Integer Float Float e Type of any logical operation not depends of operands type and always integer If result of logical operation is true result value is 1 else 0 e Operator modulo used only for integer operands e Bitwise operat
4. Once the file is open you can edit the program as you would in any text editor using the tools available in the Standard toolbar You can perform regular searches using the Edit Find function and you can search for multiple occurrences of an item using the Edit Find All option or clicking Oi When using the Find All option the results of the search will by default be displayed in the Find in Files 1 tab of the Output window To perform subsequent searches without overwriting the results of a previous search select the Output to pane 2 check box in the Find All dialog box 4 5 Compiling a Program Once your program is completed to your satisfaction you can compile it You may compile the program either online while communication with the driver is active or off line Alternatively you may use the Build option to compile and download the program in one step refer to section 4 6 To compile a program click or select Build Compile The Program Editor will compile the program and display all processing messages in the Build tab of the Output window When error messages occur during program execution and the program source needs to be fixed you can double click on the error message to locate the error in your program When a Build operation finishes successfully with no errors you can then execute the program section 4 7 or run it using the Debug option section 4 8 4 6 Building a Program The Build option enables yo
5. This function enables the user to find Multi axes supervisors Syntax int MAC_LocateDevices Return Value int number of supervisors if lt 0 error code The API library is not initialized 2 Unable to Greate interlace CLSID MaestroLocator The MAS Locator failed A The MAS Locator unable to get device IP address 5 The MAs Locator unable to get device name Use MAC_GetLastError to any function that has a return value 0 see example to retrieve error string Sample int number MAC LocateDevices Maestro Software Manual The Maestro API EA MAN MASSW Ver A MAC_ GetDevice This function enables the user to get Multi axes supervisor parameters Syntax int MAC_GetDevice UINT uNum LPTSTR szIP LPTSTR szName Input Parameters UINT uNum Device number in this search results Output Parameter LPTSTR szIP IP address of supervisor string with length 16 bytes minimum LPTSTR szName Name of supervisor string with length 32 bytes minimum Return Value int command status if 0 OK else error code 1 The API library is not initialized 2 The device is not found Use MAC_GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC GetDevice 0 szIP szName Maestro Software Manual The Maestro API MAN MASSW Ver A MAC Getl pByName This function enables the user to get Multi axes supervisor IP addres
6. Convert to New Format option to save a program coded in earlier Elmo ell format in Elmo ehl format The Conversion Tool dialog box is used to select the existing ell file and save it under a new name in the new ehl format Conversion Tool E xi File with old program Browse File with new program Browse Print old text in comments Convert 1 Click the Browse button next to the File with old program text box and navigate to the ell file to be converted 2 Click the Browse button next to the File with new program text box and navigate to the location at which the new file should be saved giving it a new name if needed 3 Click the Print old text in comments option if you wish to have the original text displayed as comments at the start of the new file 4 Click Convert to activate the conversion process Maestro Software Manual MAN MASSW Ver A Chapter 4 Using the Program Editor This chapter describes how to use the Program Editor 4 1 Creating a Workspace To write a new program for subsequent download to a drive click El or select File New The New dialog box will be displayed Files ES workspaces Mult Ases Workspace Telnet connection Workspace name pg Location C iMaestro Ok Cancel 1 Choose to work on line via Telnet or off line Multi Ases Workspace Offline 2 Give the workspace a name 3 Choose a loc
7. Maestro Software Manual February 2005 Important Notice This guide is delivered subject to the following conditions and restrictions This guide contains proprietary information belonging to Elmo Motion Control Ltd Such information is supplied solely for the purpose of assisting users of Maestro motion supervisor The text and graphics included in this manual are for the purpose of illustration and reference only The specifications on which they are based are subject to change without notice Information in this document is subject to change without notice Revision History Ver A February 2005 Elmo Motion Control Inc 1 Park Drive Suite 12 Westford MA 01886 USA Tel 1 978 399 0034 Fax 1 978 399 0035 email info us elmomc com Doc No MAN MASSW Copyright 2005 Elmo Motion Control All rights reserved First Draft MAN MASSW pdf Elmo Motion Control GmbH Steinbeisstrasse 41 p 2 D 78056 Villingen Schwenningen Germany E l Tel 49 07720 8577 60 m O Fax 49 07720 8577 70 Motion Control email info de elmomc com www elmomc com Maestro Software Manual MAN MAMSW Ver A Contents Chapter Introductorio aiii 1 1 feel Aes Fe Ceti om a e D eE errant emery reer E reer renin trey re nent 1 1 L2 Supplementary Documents in 1 2 la Command Specialist be ue atu ewan Me 1 3 LA COPE alas 1 3 Chapter 2 Functional Ov ceview ia 2 1 2k Functional Block Diaria 2 1 22 Host Communications DEV
8. S Gil Save All Save in Driver 22 Open Workspace erly H save Workspace Re close Workspace Ctrl g Print Ctrl F Print Preview Print Setup Recent Files j Exit Edit w Undo Backspace 4lt Backspace Ca Redo Cut ShiFt 4lk Backspace ah Cut Shift Delete Copy ctrl E GA Paste Ctrl y ith Find Cay Find All View Toolbars Toolbars Windows E Status Bar Active Line j Windows View Toolbars E Standard Communication se Build ES Workspace Status Bar Active Line View Windows Workspace Output Watch fa Stack ca Communication Infa Sub option Description Standard Windows options for opening saving and manipulating program files along with options to upload programs from and save programs to the connected drive Standard Windows Undo Redo Cut and Paste and Find Find All options Display Hide Standard Communication Build and Workspace toolbars Display Hide Workspace Output Watch Stack and Communication Info windows Display Hide status bar at the bottom Jump to and highlight Previous or Next active line of code MAN MAMSW Ver A Maestro Software Manual Program Editor Menus Menu Option Sub option Description Build Rebuild Recompile and download Rebuild program Build F7 S compile Ctrl F7 Build Compile and download Eai kill Program Ctrl Scroll lock program t Execute Ctrl PS tl Compile Compile a program sou
9. Unary arithmetic operations on pointers are illegal 8 4 1 3 4 One s Complement Operator The one s complement operator sometimes called the bitwise complement operator yields a bitwise one s complement of its operand That is every bit that is set in the operand is 0 in the result Conversely every bit that is 0 in the operand is set in the result The operand to the one s complement operator must be an integral type int y y OxAAAA yy In this example the new value assigned to y is the one s complement of the unsigned value OxAAAA or 0x5555 Integral promotion is performed on integral operands and the resultant type is the type to which the operand is promoted 8 4 1 4 Expressions with Binary Operators Binary operators act on two operands in an expression The binary operators are e Multiplicative operators e Multiplication e Division e Modulus e Additive operators e Addition e Subtraction e Shift operators e Right shift gt gt e Left shift lt lt e Relational and equality operators e Less than lt Maestro Software Manual MAXL Program Language MAN MAMSW Ver A e Greater than gt e Less than or equal to lt e Greater than or equal to gt e Equal to e Not equal to e Bitwise operators e Bitwise AND 4 e Bitwise exclusive OR e Bitwise inclusive OR e Logical AND amp amp e Logical OR 8 4 1 4 1 MAXL Mu
10. amp Mode A Import Resources EY Update CAN Bus Info Properties 2 Click on the Insert option to get to the resource sub menu In the Resource sub menu start by defining the axes 3 Select Axis and fill in the New Axis dialog box Do this for as each axis on the network New Axis CAN Bus ID Node ID Name Type be Cancel 4 Select Vector and fill in the New Vector dialog box Do this for as each vector on the network Mew Vector CAN Bus ID Group ID Mame Type Axis A Asis T ae JE Cancel Once the resources have been defined they must be loaded on the Maestro 5 Select the Download Resources command to load the resources on the Maestro 6 Save the resource file to disc by selecting the Export Resources command Using the Program Editor 4 2 Maestro Software Manual Using the Program Editor 4 3 MAN MASSW Ver A 4 3 Opening an Existing Program Open Program File Look ir E SQUARE te E SQUARE ma File name SQUARE mas Files of type User Program ebil ell manl Cancel eo Maestro Workspace File name SQUARE esw Files of type Maestro Workspace esw Cancel re Maestro Software Manual Using the Program Editor 4 4 MAN MASSW Ver A 4 4 Editing a Program File To open an existing program file that resides on your computer click 3 or select File Open A program window will be opened with the selected file
11. gt 0 communication error codes 1 The APT library is not initialized Zero Communication Handle Bad Communication Handle Unable to create interface ITNElmoPublic oT A Q N Download Resources failed Use MAC_GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC_DownloadResources hCom szPath FALSE 9 18 Maestro Software Manual The Maestro API MAN MASSW Ver A MAC _UploadLog This function enables the user to upload log file from Multi axes controller Syntax int MAC_UploadLog COMMUNICATION_HANDLE hCommunication LPCTSTR cszLocalPath Input Parameters COMMUNICATION HANDLE hCommunication Multi axes supervisor communication handle LPCTSTR cszLocalPath Path to log file on desktop computer Return Value int Error value 0 OK gt 0 communication error codes 1 The APT library is not initialized 2 Zero Communication Handle 3 Bad Communication Handle 4 Unable to create interface ITNElmoPublic 5 Upload Log failed Use MAC GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC _UploadLog hCom szPath 9 19 Maestro Software Manual The Maestro API 9 70 MAN MASSW Ver A MAC GetLastError This function enables the user to get last error Syntax int MAC GetLastError LPTSTR szError WORD wErrorSize Input Parameters WORD weErro
12. C Programming_Examples Practic y x Cira Figure 6 1 Opening a Workspace with a Telnet Connection Select Maestro 10 10 10 51 MikCE 10 10 10 57 MAESTRO_01 10101074 Michael iYlado 1010 10 94 ICE _ Cancel Figure 6 2 Selecting a Maestro on the Network 6 1 Maestro Software Manual Command Line Interface MAN MASSW Ver A Welcome to the Command Interpreter Service on MAESTRO gt For more information on a specific command type 7 command name addcircle add circle segment to trajectory sequence for vector add line segment to trajectory sequence for vector synchronize group vector motion object restart Maestro kernel with previous configuration get CAN Bus information close current session make circle trajectory for vector motion object motion object command restart suspended virtual machine remove polyline trajectory sequence for vector motion object current date cancel group vector synchronization make polyline trajectory sequence for vector motion object close current session Find motion object halt virtual machine initinfo verify Maestro kernel initialization data relevance ipaddress define static IP address for the Maestro device isok verify motion object virtual machine or Maestro kernel status kill virtual machine make line trajectory for vector motion object Figure 6 3 The Maestro s CLI Commands 2M wusp 2000 000 ul starts OK 2941 addline lt 5000 5000 gt OK
13. Close All Windows Help Topics Command Reference Keyboard Map About Elmo Studio Sub option Program Editor Menus Description Open the Elmo Composer Open browser on Elmo s web site Open the Recorder Open a Telnet connection Display Customize dialog box for altering menu toolbar and keyboard options Display Options dialog box to select Debug and Build parameters Convert a program coded in Elmo ell format to Elmo ehl format Open a new program window Lay out windows in a cascade Lay out windows horizontally Lay out windows vertically Close all windows Manipulate all open windows Display Elmo Studio online Help Open the Command Reference Display a list of menu options their accelerator key combinations and their descriptions Display information about the currently installed Elmo Studio version 3 1 4 Maestro Software Manual MAN MAMSW Ver A Program Editor Menus Workspace Menus accessed with right mouse button When working in the Workspace Workspace specific menus are available These are described in Table 3 4 Menu File View Menu Rebuild Guild Stop Build Clean Workspace EE Halt all Add to Workspace H Save Wor ks Pace Me Close Workspace EA Workspace Settings TE Maestro Log Resource View Menu a Export Resources A Import Resources iy Update CAN Bus Info Option Rebuild Build Stop Build Clean Wor
14. MAN MAMSW Ver A B 15 Call Sample function run int multipleVar multipleVar multiple 10 15 call embedded function multiple end function after returning from the called function multiple multipleVar 150 function int c multiple int a int b this func has two input parameters a and b and one output parameter c c a b end function B 16 Homing Sample function run inthome_pos home_pos 1000 al mo 1 standard Maestro homing steps are al hm 2 home_pos al hm 3 0 a1 hm 4 0 al hm 5 0 a1 hm 1 1 end function B 17 Program Call Sample File ProgCall maxl Homing with a Call function run homing x_pos 0 homing y_pos 0 homing run create a line sync 0 10 v1 mo 1 v1 vsp 10000 v1 line 7000 10000 v1 bg end function File Homing maxl Homing Program int x_pos y_pos function run global int x_pos y_pos standard Maestro homing procedure al hm 2 x_pos receive position from calling function a2 hm 2 y_pos receive position from calling function al hm 3 0 a2 hm 3 0 al hm 4 0 a2 hm 4 0 al hm 5 0 a2 hm 5 0 a1 hm 1 1 a2 hm 1 1 end function Sample Program Maestro Software Manual MAN MAMSW Ver A B 18 Label and GoTo Sample function run label i 0 int i j fori 0 2 20 forj 2 16 if i gt j 10 goto label end if end for end for end function B 19 Order of Processing Sa
15. The operands are commonly relational or equality expressions The first operand is completely evaluated and all side effects are completed before continuing evaluation of the logical AND expression 8 4 1 5 2 Logical OR Operator The logical OR operator returns the integral value 1 if either operand is nonzero otherwise it returns 0 Logical OR has left to right associativity Syntax logical or expression Maestro Software Manual MAXL Program Language MAN MAMSW Ver A expression expression expression logical or expression The operands to the logical OR operator must be of integral type The operands are commonly relational or equality expressions The first operand is completely evaluated and all side effects are completed before continuing evaluation of the logical OR expression 8 4 1 6 Simple Assignment The simple assignment operator causes the value of the second operand to be stored in the object specified by the first operand If both objects are of arithmetic types the right operand is converted to the type of the left prior to storing the value 8 4 2 Semantics of Expressions This section explains when and in what order expressions are evaluated 8 4 2 1 Order of Evaluation This section discusses the order in which expressions are evaluated but does not explain the syntax or the semantics of the operators in these expressions Consider this example function run inta b c re
16. v1 ends v1 bg Maestro Software Manual MAN MAMSW Ver A The Multi Axis Language MAXL file examples listed below can be opened in Elmo Studio s Program Editor These files can be modified off line in File View They can also be compiled off line However they cannot be downloaded and run until they communicate with a Maestro that has the associated resources In the case of all the examples the required resources are e al X axis e a2 Y axis e vi vector made from al and a2 In other words the program will only run if the Maestro connected by Telnet is online and has pre defined and on line al a2 and v2 B 2 Line Sample function run sync 0 20 v1 mo 0 motor off v1 px 0 current location is 0 0 v1 mo 1 motor on v1 vsp 10000 max vel v1 line 7000 10000 go to 7K 10K v1 bg end function action B 3 Circle Sample function run sync 0 10 v1 mo 0 v1 px 0 v1 mo 1 v1 vsc 1 v1 vsp 10000 v1 circle 5000 v1 bg end function send a sync signal to CAN bus 0 every 10ms motor off call this home motor on smooth intersection with max velocity max velocity 180 90 start motion Maestro Software Manual Sample Program MAN MAMSW Ver A B 4 Circle to Line Sample function run a2 Positon Command sync 0 10 send a sync signal to CAN bus 0 every 10ms v1 mo 0 motor off v1 px 0 call this home v1 mo 1 motor on v1 vsc 1
17. v1 vsd 2000 Idistance of tangent of arc from line intersection v1 starts begin trj v1 vsp 100000 max velocity v1 vse 100000 end velocity v1 addline 0 50000 create line from current point to coordinate O on X and 50 000 on Y v1 vsp 50000 max velocity vi vse 0 end velocity v1 addline 20000 0 create line from current point to coordinate O on X and 50 000 on Y vi ends end trj v1 bg start motion end function B 7 Polygon Sample function run sync 0 10 synchronize CAN bus 0 every 10 ms v1 mo 0 motor off al px 64000 set coor x to 64000 a2 px 128000 set coor y to 128000 v1 mo 1 motor on vi vsc 1 maximum velocity smooth factor v1 starts begin trajectory v1 vsp 50000 max velocity vi vse 50000 end velocity first line and corner vi addline 64000 128000 v1 addcircle 64000 90 90 second line and corner vi addline 128000 64000 vi1 addcircle 64000 0 90 third line and corner vi addline 64000 128000 vi1 addcircle 64000 90 90 last line and corner vi addline 128000 64000 v1 addcircle 64000 180 90 v1 vse 0 vi ends finish building trajectory wait 10 v1 bg start motion end function Maestro Software Manual MAN MAMSW Ver A B 8 If Sample function run int a b a b 10 if a lt b 5 a a 2 end if b b 2 end function B 9 If Else Sample function
18. 2 2 Host Communications Services A host application can access the Maestro using either a TCP IP or RS 232 services Processes carried out through host communication include Transfer of operating instructions e g for running a program or killing it to the Maestro Transfer operational data such as the trajectory of the next motion Status requests Debugging Generation of a transparent path from a Composer program to any single end unit Host communication is used to execute different tasks including Processing of interpreter commands Maintenance and file download upload Processing of direct axis interpreter commands CANopen gateway 2 3 Command Line Interpreter CLI commands that are sent to the Maestro are either executed by the Maestro itself or are forwarded directly to the specified axis for immediate execution The CLI currently supports the following commands Initialization commands Commands for collect information Axis commands Vector commands Group command 2 4 The Kernel Maestro User Programs can be executes by the Kernel s Virtual Machines The Virtual Machine enables multi axis programming Each task program can work independently of the other tasks Communicate and synchronize among themselves can be done by using global variables Multiple task can be used to run different machine functions in parallel Maestro Software Manual Functional Overview
19. Axis Name User defined jij a Type Elmo or CANopen Type Elmo gt Axis X Al y T amp Note This is the same dialog box that opens when clicking the properties button when highlighting an vector Table 3 5 Resource Editing Menu Options Maestro Software Manual Program Editor Menus MAN MAMSW Ver A 3 1 6 Customizing the Elmo Studio The Tools menu contains two options for customizing your Elmo Studio application to your mode of work the Customize dialog boxes and the Options dialog boxes 3 1 6 1 The Customize Dialog Boxes Commands Toolbars Tools Keyboard Menu Categories Commands sl Hew gt Open Cloze New Menu El Save All Commands Dave z r Exa rs Pira ar x The following tabbed dialog boxes are available Commands Enables you to add command buttons to the toolbar by drag and drop and to remove unneeded ones by dragging them off the toolbar Toolbars For selecting which toolbars should be displayed or hidden and to manipulate them as needed Tools For adding and organizing frequently needed external applications to the Elmo Studio Tools menu Keyboard For programming key combinations accelerators for frequently used menu options Menu For customizing the appearance of the various menu bars and popup menus MAN MAMSW Ver A Maestro Software Manual Program Editor Menus 3 1 6 2 The Options Dialog Boxes The following tab
20. Return Value int initialization status 0 OK 1 The API library is already initialized 2 The COM library is already initialized on this thread 3 A previous COM initialization specified a different apartment model for this thread Maestro Software Manual The Maestro API MAN MASSW Ver A 9 2 4 The COM library initialization failed 5 The MAS Events mechanism initialization failed Use MAC GetLastError to any function that has a return value 0 see example to retrieve the error string Remarks MAC Initialize can initializes the COM library for use by the calling thread sets the thread s concurrency model and creates a new apartment for the thread if one is required There are two types of apartments single threaded apartments and multithreaded apartments e Single threaded Apartments Single threaded apartments consist of exactly one thread so all COM objects that live in a single threaded apartment can receive method calls only from the one thread that belongs to that apartment All method calls to a COM object in a single threaded apartment are synchronized with the windows message queue for the single threaded apartment s thread A process with a single thread of execution is simply a special case of this model e Multithreaded Apartments Multithreaded apartments consist of one or more threads so all COM objects that live in a multithreaded apartment can receive method calls directly from any of t
21. Watch window at the bottom These are variables whose values you wish to know each time the program is suspended 4 Start the debugging operation by clicking or selecting Build Debug Go The debugger will execute the program until it reaches the first breakpoint at which time program execution is halted Each time the program you are debugging stops at a breakpoint the debugger will update the Debug tag of the Output window with the relevant progress message It will also indicate with a yellow arrow and red highlight the line of code at which the program stopped Functions not yet returned will be displayed in the Stack window 5 From here you can use the relevant toolbar buttons or Build Debug options Table 4 1 to step through the program and continue the debugging operation manually 7 Elmo Studio elmo_logo maxl lt TELNET gt k E 7 I x F File Edit view Build Tools Window Help al x jas a sel nmi Jal8 t messi alo roo laa i mlm u wt oe 4 xl vl vsp 50000 max speed vi vse 50000 end speed 5 2 elmo_logo 3 Programs A elmo_logo letter E 4 43 Resources vi addline 0 k_x 32000 k y T elmo_logo vl addcircle 6000 k y 90 180 vl vse 0 vl addline 15000 k_x 20000 k y vl addline O k_x 20000 k_ y vl addcircle 10000 k y 90 180 vl vsp 50000 vl vse 0 2 vl addline 20000 k_x 0 k y gt
22. a floating point number Rounds float value to integer Floor float float Calculates the floor greatest integer less than or equal to value of a number Ceil float float Calculates the ceiling smallest integer greater than or equal to value of a number This is the result of rounding up Sync int buslId float Starts CanOPEN SYNC mechanism delay BusID bus identifier 1 2 Delay in milliseconds minimal value 1 Defines TIME STAMP interval in number SYNC messages Default value 50 Tstamp int busId int sync_count 8 6 3 Callback interrupt functions MAXL supports callback function mechanism Callback this is function that calls by system not by program Name of MAXL callback functions are begin from symbol 0 Maestro Software Manual MAXL Program Language MAN MAMSW Ver A MAXL supports the following list of callback functions e perror int error_number calls then a runtime program error occur error_number contains error code When runtime error occurs the MAXL program status will be set to ABORT In case of declaration Operror callback function this function will be called first and program finished with HALT status Use restart keyword in Operror callback function to restart program e emcy int busID int nodelD int first4bytes int second4bytes call than CanOpen EMERGENCY message appears on the bus o BusID CAN bus identifier 0 1 o NodeID CAN node identifier 1 127
23. calculatedacceleration error for PVT trajectory Dimension VPE calculatedposition error for PVT trajectory Dimension Dimension Milliseconds VCR const PVT table resolution flag Note 1 const PVT resolution 0 various PVT resolution Property VBT synchronized start command delay Maestro Software Manual Motion Instructions MAN MASSW Ver A imitans Property VFP number of points downloaded in the first portion of a PVT cs EN Dimension CT EN Note infinite A Property VEN number of trajectory cycles for a Vector Property VME motion events listener mask Available events MOTION_COMPLETE 0x01 MAIN HOMING_ COMPLETE 0x02 AUX_HOMING_ COMPLETE 0x04 MOTOR_SHUTDOWN 0x08 MOTOR_STARTED 0x10 USER_PROGRAM_EMIT 0x20 DIGITAL_INPUT_EVENT 0x80 pa Maestro Software Manual Motion Instructions MAN MASSW Ver A VXT calculated PVT trajectory max step time Dimension Milliseconds Property VPP single points portion size for PVT trajectory Dimension Default 5 Type Unsigned int Property VSC PVT trajectory smoothing curve mode Available 0 non smoothed 1 smoothed with max velocity 2 smoothed with fixed radius 3 smoothed with fixed dist from the corner Dee OS CAT pooo rr SSS Maestro Software Manual Motion Instructions MAN MASSW Ver A we pooo rr SSS Det fo imitation Property VSM send vector command mo
24. lt Trajectory name gt lt Axis name gt trj lt Trajectory name gt lt Loop number gt Parameters lt Trajectory name gt name of PVT table trajectory lt Loop number gt number of PVT table trajectory loops if 0 infinite Return Value Terminal only OK Trajectory name FAILED Error message Example Al trj table 2 A1 bg for axis name Al run trajectory name table 2 times Function dotrj used for initialize PVT mechanism and load initial portion of the PVT trajectory table to an axis and immediately obtain command BG begin motion Call Format lt Axis name gt dotrj lt Trajectory name gt lt Axis name gt dotrj lt Trajectory name gt lt Loop number gt Parameters lt Trajectory name gt name of PVT table trajectory lt Loop number gt number of PVT table trajectory loops if 0 infinite Return Value Terminal only OK Trajectory name FAILED Error message Example A1 dotrj table for axis name Al run trajectory name table isok to verify motion object status AS Return Value Terminal only OK Ok FAILED Error status Maestro Software Manual Motion Instructions MAN MASSW Ver A startp begin user s PVT trajectory sequence for an Axis Call Format lt Axis name gt startp lt Axis name gt startp lt Trajectory name gt lt Trajectory name gt name of Axis PVT table trajectory to save Example al startp mytable begin user s PVT trajectory name
25. o First4bytes first 4 bytes CAN message data o Second4bytes last 4 bytes CAN message data e emcy int nodelD int first4bytes int second4bytes o NodelD CAN node identifier 1 127 o First4bytes first 4 bytes CAN message data o Second4bytes last 4 bytes CAN message data e emcy int nodelD int first4bytes o NodelD CAN node identifier 1 127 o First4bytes first 4 bytes CAN message data 8 7 Virtual Machine Control Statements 8 7 1 wait control statement The wait keyword suspends the execution of the program until the specified time is elapsed The expression may be within round parentheses or without ones The expression specifies the waiting time in milliseconds It can be numerical expression only which is evaluated in a single value Example function foo to do something s wait 1000 program waiting one second Maestro Software Manual MAXL Program Language MAN MAMSW Ver A end function 8 7 2 TRACE control statement For throw out message from virtual machine to Elmo Studio uses program statement with TRACE keyword Elmo Studio this is standard IDE for development and debugging MAXL programs If Maestro s virtual machine comes across statement with TRACE during debugging MAXL programs in output window of Elmo Studio appears message formatted in its statement 8 7 3 reset control statement The reset keyword uses for restart program After program statement with ope
26. of linear trajectory counts beginning of trajectory current position Return Value Terminal only OK Ok FAILED Error message Vec1 line 1000 2000 Vec1 bg 7 4 General Instructions Function sync begin sync CAN messages Call Format sync int lt bus_numer gt float lt sync_period gt Parameters lt bus_num gt CAN bus number used to activate sending SYNC messages lt sync_period gt SYNC period value in millisecond Return Value Terminal only OK Ok FAILED Error message Example sync 0 20 for bus number 0 activate send sync per 20 milliseconds Function tstamp set timestamp period Call Format tstamp int lt bus_numer gt int lt period gt Parameters lt bus_num gt CAN bus number used to start sending SYNC messages lt period gt period of timestamp sending in sync periods Return Value Terminal only OK Ok FAILED Error message Example tstamp 0 5 for bus number 0 after each 5 SYNC messages timestamp message will be send Maestro Software Manual Motion Instructions MAN MASSW Ver A Function List Get list of all Maestro kernel resource objects An object is a node or group of nodes combined as vectors or other object logic name any string name object CAN ID any number 1 127 object CAN group ID any number 1 127 128 is not active CAN Bus number Bus 0 1 type of object ElmoAxis 402 401 etc profile when object is axis the profile it supports is reported na
27. run nta b a b 10 if a lt b 5 a a 2 else b b 2 end if end function B 10 If Else 1f Sample function run nta b c b 4 c 11 if b 4 amp amp c 18 a 1 b is 4 c is 18 else if b 4 amp amp c 11 a 2 b is 4 c is 11 else a any other cases end if end function B 11 For Sample function run int i a a 0 for i 10 2 10 a a i 2 end for iterate i from 10 to 10 in 2 increments end function Sample Program Maestro Software Manual MAN MAMSW Ver A B 12 While Sample function run int attribute while attribute lt 56 attribute attribute 1 7 TRACE Attribute attribute end while end function B 13 Switch Sample function run int attribute switch attribute case 1 i i l case 2 1 case 3 i i 10 otherwise TRACE Error attribute end switch end function B 14 Break Continue Return Sample The continue statement forces immediate transfer of control to the next iteration of the loop The break statement is used to exit the loop The return statement ends the current function and transfers control back to the calling function function run int i j for i 1 2 20 if 1 2 0 j i 2 continue go to next iteration else if iI 4 0 j i 4 break exit the loop else j i return exit this function end if i i 1 end for j j i end function Sample Program BG Maestro Software Manual
28. smooth intersection with max velocity v1 starts begin trj v1 vsp 30000 max velocity vi vse 30000 end velocity v1 addcircle 5000 180 180 create 5000 count radius circle from 180 to 180 vi vsp 10000 max velocity vi vse 0 end velocity vi1 addline 10000 15000 create line from current point to coordinate 10 000 on X and 15 000 on Y vi ends end trj v1 bg end function 2000 mn man 10000 al Position Command B 5 Line to Circle Sample function run sync 0 20 send sync to CANbus 0 every 20ms v1 mo 0 motor off al px 10000 x now at 10000 a2 px 10000 y now at 10000 vi mo 1 motor on vi vsc 1 luse max velocity to smooth corners v1 starts begin building trajectory vi vsp 30000 maximum velocity of line v1 vse 30000 end velocity of line v1 addline 0 0 go to 0 0 vi vsp 10000 maximum velocity of circle vi vse 0 end velocity of circle v1 addcircle 5000 180 180 create circle with a radius of 5000 starting at 180 degrees for 180 degrees in the clockwise direction vi ends end trajectory build v1 bg start motion end function MAN MAMSW Ver A Maestro Software Manual Sample Program Ba B 6 Line to Line Sample function run sync 0 10 send a sync signal to CAN bus 0 every 10ms v1 mo 0 motor off v1 px 0 call this home v1 mo 1 motor on vi vsc 3 smoothed with fixed dist from the corner
29. the allowable interpolation error is 10 counts then the Maestro must perform an update every 4 msec
30. 00 10 For more information see the vector ends function example ends make user s or polyline trajectory sequence for Vector motion object Call Format lt Vector name gt ends AOS Terminal only OK Ok FAILED Error message Example vi startp mytable begin the trajectory name myable vl addpoint 10 1000 20 2000 10 vl addpoint 1000 30000 4000 50000 10 vl addpoint 5000 1000 4000 2000 10 v1 ends after this the trajectory name mytable will contain the user s PVT table v1 start mytable begin the trajectory name myable vl addline 1000 2000 vl addcircle 1000 180 180 vl addline 5000 1000 v1 ends after this the trajectory name mytable will contain the PVT table Maestro Software Manual Motion Instructions MAN MASSW Ver A circle make circle trajectory for Vector motion object Call Format lt Vector name gt circle int lt Radius gt float lt Start Angle gt float lt Sweep Angle gt Parameters int lt Radius gt radius of circle trajectory counts float lt Start Angle gt start angle of circle trajectory grads float lt Sweep Angle gt sweep angle of circle trajectory grads Return Value Terminal only OK Ok FAILED Error message Vecl circle rad alpha delta Vecl1 bg line make linear trajectory for Vector motion object Call Format lt Vector name gt line int lt Pos X gt int lt Pos Y gt Parameters int lt Pos X gt lt Pos Y gt destination position
31. I 9 17 MAN MASSW Ver A MAC LocateObjects This function enables the user to start motion objects search Motion object can be one of the following Axis Either Elmo _Axis or Axis 402 Group Several axes that may be addressed simultaneously Vector Is a group of two axes that perform a synchronized motion Syntax int MAC_LocateObjects COMMUNICATION_HANDLE hCommunication MOTION_OBJECT_TYPE moType Input Parameters COMMUNICATION HANDLE hCommunication Multi axes supervisor communication handle MOTION_OBJECT_TYPE moType motion object type mask for current search NULL all motion objects Return Value int number of objects if lt 0 error code 1 The API library is not initialized 2 Zero Communication Handle 3 Bad Communication Handle 4 Unable to create interface ITNElmoPublic 5 Send command failed 6 The Command list used internally by the function has failed Use MAC_GetLastError to any function that has a return value 0 see example to retrieve error string Sample MOTION_OBJECT_TYPE moMask MOT_AXIS MOT_VECTOR int nOobjs MAC_LocateObjects hCom dwMask Maestro Software Manual The Maestro API MAN MASSW Ver A MAC GetObject This function enables the user to get motion object parameters Syntax int MAC_GetObject UINT uNum MOTION_OBJECT pObj Input Parameters UINT uNum Object number in this search results Output Parameter MOTION_OBJECT pO
32. ICES tdci 2 2 29 Command Lime Interpreter aiii 2 2 ee MUSIC IC A cates E A T E st aatiuel td cueica tuoteneatonedens 2 2 2o IVMOLION ss soi aici A 2 3 2 6 CANopen Network Communications Services ooooccccnoooncnncnnononnnnnnnnanancnnnnnnnnoss 2 3 Chapter 3 Program Editor MEUS AAA AA 3 1 ok The Proeram Editor Deskto Predial aida 3 2 JLL Desktop WindoWs aii 3 2 LLZ Trogrant Editor Lroolbar Seona a ai 3 3 lo Te Ment Dari is 3 5 3 1 4 Workspace Menus accessed with right mouse button cmooonccnccnnnnnn 3 8 3 1 5 Resource Editing Menus right mouse button only seeen 3 9 ILG Customizing the Elmo Studio iii OOA 3 10 9 1 6 1 The Customize Dialog BOXES aia det 3 10 31602 The Options Dial g BOXES ssl a 3 11 SLOS CONVEerrto NeW POLI AL bernois e 3 12 Chapter 4 Using the Program Edito dd 4 1 AE Cheating a NOS pac NA 4 1 AD ette up Ne NesQUiCOS missl prlde 4 2 hs Opening an ExXISUnerO ai 4 3 AA editing a Program Pl dni 4 4 ASO Compiling a ro retail a e E a 4 4 AsO Building a Pro Sra A 4 4 A RUI rod soii 4 4 Lo DEC tia 4 5 Chapter 5 Host Communica NS sissies sacs sists E E eases 5 1 5 1 Setting Up the Host through Elmo s Studio oooconnnncccnoncccnnnonnnnonanannnncnnnnnnnnnnos 5 1 a2 Verlyine or Chanoine ie Hostalia cade 5 1 5 3 Choosing the Host through the Composer inicias 5 2 Chapter 6 Command Line Intertace erosiones EEAS EN EEE T 6 1 ole Aces o AA E T E A 6 1 Chapter 7 Motion Instruction
33. LT E E irc A E 0 10 A 90 1805 OK 2041 addlinetc0 0 gt OK ui ends OK Figure 6 4 The Maestro s Command Line Interpreter Maestro Software Manual MAN MASSW Ver A Command Line Interface These commands characterize the reference command to the drive or how the command reference should be specified Command Description Example amp Parameters addcircle add circle segment to vector vector addcircle rad alpha delta trajectory sequence addline add line segment to vector trajectory vector addline x y sequence attach synchronize group vector motion vector attach object backup restart Maestro kernel with previous configuration businfo get CAN Bus information businfo 0 parameter CAN Bus ID bye close current session circle create circle trajectory for vector vector circle rad alpha delta motion object command motion object command axis mo 1 it is possible to send commands for 8 t command format obj or obj n node axis vector or group set command obj x or obj n x length of command 2 characters continue restart suspended virtual machine vm continue clears remove polyline trajectory sequence vector clears for vector motion object date current date detach cancel group vector synchronization vector detach ends create polyline trajectory sequence vector ends for vector motion object exit close current session find find motion object find vector1 parameter motion object halt halt virtual machine vm h
34. MAN MAMSW Ver A 2 5 Motion Manager Axis Manager Group Vector 2 6 CANopen Network Communications Services CANopen Bus services CANopen DS 301 Protocol CANopen Master CANopen API Maestro Software Manual MAN MAMSW Ver A Chapter 3 Program Editor Menus Elmo s Program Editor is used for creating and editing multi axis applications on the Maestro It includes a range of program creation editing build and debugging functions You can use it in conjunction with the Composer to edit your application programs for subsequent download to the servo drive Elmo s Program Editor is similar in look and general functionality to Microsoft s Visual Studio As with MS Studio users should already be familiar with the basics of source file coding compiling and debugging A To access the Elmo s Program Editor click the Es button or select Start Programs Program Editor The Elmo Studio desktop will be displayed as in the following example once you ve opened a program and a workspace ll F File Edit wiew Build Tools Window Help TA DAN AE iG Bex File Elmo maxl created 19 10 2004 14 20 3 5 2 elmo Jogo Function runt al ra Programs Fi elmo_logo initialization 15000 320001 gt T Resources drowi E elmo_logo walt motion vl st vl detach end function function drow Building Program elmo_logo downloaded ak Download Resources Pa Man
35. N Return Value Terminal only OK Ok FAILED Error status error to get motion object last error EA Return Value Terminal only OK Ok FAILED Error message Function trj used for initialize PVT mechanism and load Vector PVT trajectory table Call Format lt Vector name gt trj lt Trajectory name gt lt Vector name gt trj lt Trajectory name gt lt Loop number gt Parameters lt Trajectory name gt name of Vector PVT table trajectory lt Loop number gt number of Vector PVT table trajectory loops if 0 infinite Return Value Terminal only OK Trajectory name FAILED Error message Example v1 trj table 2 v1 bg for vbector name v1 run trajectory name table 2 times Maestro Software Manual Motion Instructions MAN MASSW Ver A Function dotrj used for initialize PVT mechanism and load Vector PVT trajectory table After this the axes members of the Vector immediately obtain command BG begin motion Call Format lt Vector name gt dotrj lt Trajectory name gt lt Vector name gt dotrj lt Trajectory name gt lt Loop number gt Parameters lt Trajectory name gt name of Vector PVT table trajectory lt Loop number gt number of Vector PVT table trajectory loops if 0 infinite Return Value Terminal only OK Trajectory name FAILED Error message Example V1 dotrj table for vector name v1 run trajectory name table starts begin polyline trajectory calculation
36. PC with serial port and ASCII terminal software CANopen Serial multi drop medium speed and medium range communication This type of communication requires special purpose host hardware and software This manual describes the Maestro commands that can be specified from each of these sources Most of the commands are equally available for all three sources Certain commands however are limited in scope according to type of program or communication All the commands are available to CAN communication in text form through the OS service objects 0x1023 and 0x1024 In addition the numerical set get commands are available to CAN users in short PDO form called the binary interpreter The binary and the OS SCAN interpreters are described fully in the CAN manual CANopen may also be used to manipulate the drive using the object dictionary OD method which is the native CAN method This manual does not cover OD manipulations with CANopen refer to the Object Dictionary section of the CANopen manual for full explanations The Maestro drive responds to many privileged commands such as those used by the Composer setup wizard that are not documented in this manual 1 4 Scope This manual includes the complete list of commands used by the Maestro servo drives The commands are presented in two ways A task related listing Alphabetically In the task related reference the commands are sorted into groups of related
37. YTE btParity 0 BYTE btDataBits 8 BYTE btStopBits 1 BYTE btFlowCtrl 0 Input Parameters BYTE btPort COM port number value 1 2 3 4 5 6 7 8 UINT uBaudRate Current baud rate 4800 9600 19200 38400 57600 115200 BYTE btParity Parity one of the following 0 No parity 1 Odd parity 2 Even parity 3 Mark 4 Space BYTE btDataBits Data bytes number value 4 5 6 7 8 BYTE btStopBits Stop bytes number value 1 1 5 2 BYTE btFlowCtrl Flow control one of the following 0 None 1 Xon Xoff 2 Hardware Return value COMMUNICATION_HANDLE Multi axes supervisor communication handle if connection failed NULL Sample Maestro Software Manual The Maestro API 9 5 MAN MASSW Ver A COMMUNICATION_HANDLE hCon MAC CreateRS232Connection 1 19200 O 8 1 0 Maestro Software Manual The Maestro API 96 MAN MASSW Ver A MAC _CloseConnection This function enables the user to close communication Syntax int MAC_CloseConnection COMMUNICATION_HANDLE hCommunication Input Parameters COMMUNICATION HANDLE hCommunication Return Value int Close connection status 0 OK 1 The API library is not initialized 2 Zero Communication handle 3 Bad Communication handle Use MAC GetLastError to any function that has a return value 0 see example to retrieve error string Sample if MAC CloseConnection hCon return FALSE Maestro Software Ma
38. aestro you plan to work with and click OK Select Maestro 101010 103 M8ES5TR0 101010112 M E5710_01 101010113 MCE 1010 10 52 YCE _ Cancel Figure 5 1 The Maestro Selection Window 5 2 Verifying or Changing the Host To verify that you have set up the correct Maestro as the host or to change to another Maestro move the cursor into the File Viewer and click on the right mouse button When the menu pops up select Workspace Settings This will cause the Workspace Settings window to open If the IP Address is wrong click the Find button to open the Select Maestro window GH Elmo Studio xxx maxl lt TELNET File Edit wiew Build Tools Window Help BS Ipm F Rebuild Build El 36 stop Build Workspace Settings E x Communication SF Clean Workspace C Offilne PE Halk All Ctrl k Telnet Add to Workspace S292 fi 0 10 10 103 Restore Find DE Save Workspace TE Close Workspace Ctrl g A Workspace Settings TE Maestro Log Figure 5 2 Right Mouse Button Figure 5 3 The Workspace Settings Window Selection Options Maestro Software Manual MAN MASSW Ver A Chapter 6 Command Line I nterface This chapter describes the Maestro commands that are available with its Command Line Interpreter CLI 6 1 Accessing the CLI Files US Workspaces Multi Ases Workspace Telnet connection Workspace name Mult Sees Workspace Offline Jame HHNH Location
39. alt initinfo verify relevance of Maestro kernel initialization data ipaddress define static IP address for the Maestro format ipaddress to display IP address ipaddress to define address ipaddress 10 10 10 96 isok verify motion object virtual machine vm isok or Maestro kernel status kill kill virtual machine vm kill Maestro Software Manual Command Line Interface 6 4 MAN MASSW Ver A Command Description Example amp Parameters line make line trajectory for vector vector line x y motion object list get motion object list parameters list b 0 axis target object type can be a or b parameter CAN Bus ID a motion objects type node i o axis vector group b virtual machines type vmf all non initialized machines vm all initialized machines vmr all running machines vma all aborted machines netmask define Subnet Mask for static IP address of the Maestro netmask to display Subnet Mask netmask to define Subnet Mask netmask 255 255 255 0 pause suspend virtual machine vm pause property motion object property possible to set get property for axis vector or group length of property name 3 characters first character of property name a for axis v for vector g for group format obj or obj x a axis properties abl PVT buffer length default value 64 ame motion events listener mask def val 0 v vector properties vac trajectory acceleration counts per second
40. and rotate operation The right shift operator causes the bit pattern in the first operand to be shifted right the number of bits specified by the second operand Bits vacated by the shift operation are zero filled for unsigned quantities For signed quantities the sign bit is propagated into the vacated bit positions The shift is a logical shift if the left operand is an unsigned quantity otherwise it is an arithmetic shift 8 4 1 4 4 MAXL Relational and Equality Operators The relational and equality operators determine equality inequality or relative values of their operands The relational operators are shown in Table Table Relational and Equality Operators Operator ee ae MAN MAMSW Ver A gt Greater than or equal to 8 4 1 4 4 1 Relational Operators Maestro Software Manual MAXL Program Language The binary relational operators determine the following relationships e Less than e Greater than e Less than or equal to e Greater than or equal to Syntax relational expression expression lt expression expression gt expression expression lt expression expression gt expression expression relational expression The relational operators have left to right associativity Both operands of relational operators must be of arithmetic type They yield values of type int The value returned is 0 if the relationship in the expression is false otherwise it is 1 8 4 1 4 4 2 Equality Operators The binar
41. ation to store the program files Click on zul to browse with File Explorer 4 Click OK A Select Maestro window will open Select Maestro TO 10 10 703 MAESTRO 1010 10112 M4E5710_01 10 10 10 113 MCE a 10 10 10 52 YCE _ Cancel 10 10 10 57 Nat 10 10 10 81 pp 5 Select from the list of the Maestro s currently connected to the network 6 A program template will open on the screen Elmo Studio logo_on_XY_stage maxl lt OFFLINE gt File Edit View Build Tools Window Help asrang tae KJ y Cur malp Jala lt Off Line gt SHOEI Ea a a Pro BB i m u k t As Fj logo_on_XY_stage maxl lt OFFLINE gt i Oj xj 2 logo_on_XY_stage File logo_on XY stage maxl created 02 11 2004 12 44 53 14 Programs TODO Global Variables Declaration A logo_on_XY_stage 43 Resources Eb logo_on_XY_stage f f Entry point of the application function run TODO Global Variables Declaration inside the Function TODO Local Variables Declaration f TODO Add your specialized code here end function Maestro Software Manual MAN MASSW Ver A 4 2 Setting up the Resources Once a worksheet is open the resources must be defined 1 Inthe Resource view highlight any line and press the right mouse button The following menu opens Insert ah Bus 23 Remove EE Group E Export Resources cb ELLO w Axis
42. ax Name When Executed Contents identifier variable Before any other element of Used to initialize loop expression the for statement or the indices substatement step expression Before execution of a given Calculation iteration step If iteration of the loop this field is absent iteration excluding the first iteration step is 1 terminate expression At the end of each iteration Used as loop termination of the loop criteria The for statement executes the statements repeatedly until identifier value less or equal to terminate expression value The step expression field is optional If step expression has a negative value for statement executes the statements repeatedly until identifier value great or equal to terminate expression value For example for i 1 1 10 test i end for 8 5 4 Jump Statements The MAXL jump statements perform an immediate local transfer of control Syntax Maestro Software Manual MAXL Program Language MAN MAMSW Ver A Jump statement break continue return goto identifier 8 5 4 1 The MAXL break Statement The break statement is used to exit an iteration statement It transfers control to the statement immediately following the iteration statement The break statement terminates only the most tightly enclosing loop In loops break is used to terminate before the termination criteria evaluate to 0 The following example illustrates the use of the break statement in a while loop
43. bed dialog boxes are available Debug Enables you to select a command code for automatic debugging Use the Continue program after closing IDE option to have the debug program continue to run even after the IDE has been closed Debug Editor Build Execution Continue program after closing IDE Break points Max count F Cancel Editor For displaying hiding the selection margin and the numbers margin The selection margin is the gray column to the left of the program text which enables you to select the entire line adjacent to the cursor click position The numbers margin adds a column of line numbers to the left of the program text Build 21x Debug Editor Build ELL Programs W Auto save program inside driver EHL Programs e Disable compiling in on line mode Use release configuration Debug disable Cancel For defining parameters of new and old programs For ell programs the maximum program size is displayed along with the option to use it as the default program size Use the Auto save program inside driver option to automatically save the program in the drive memory The Disable compiling in on line mode option disables the independent Build Compile menu option so that compiling is performed only as part of the Build function Maestro Software Manual Program Editor Menus MAN MAMSW Ver A 3 1 6 3 Convert to New Format You can use the Tools
44. bj Pointer to motion object data structure Return Value int Command status if 0 OK else error code 1 The API library is not initialized 2 Invalid input parameter 3 The device is not found Use MAC_GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC_GetObject 0 amp moData J 9 13 Maestro Software Manual The Maestro API MAN MASSW Ver A MAC DownloadTrajectory This function enables the user to download trajectory to Multi axes supervisor A trajectory is a text file that contains a sequence of PVT points created by the user Syntax int MAC _DownloadTrajectory COMMUNICATION_HANDLE hCommunication LPCTSTR cszLocalPath Input Parameters COMMUNICATION_HANDLE hCommunication Multi axes supervisor communication handle LPCTSTR cszLocalPath Path to trajectory file on desktop computer Return Value O OK gt 0 communication error codes 1 The API library is not initialized Zero Communication handle Bad Communication handle Unable to create interface ITNElmoPublic Ol A Q N Download Trajectory failed Use MAC_GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC_DownloadTrajectory hCom szPath 9 14 Maestro Software Manual The Maestro API MAN MASSW Ver A MAC RemovetTrajectory This function enables the user to remove trajec
45. bugging all called functions that have not yet been returned are displayed here To open and close this window toggle the E button Output window The Program Editor displays processing messages as follows Build tab Status messages from compiler and other tools during a build Debug tab Messages from debugger to indicate run time and other errors Find in tabs Search results are displayed in the Find in 1 tab subsequent searches can be displayed in the Find in 2 tab To open and close this window toggle the a button Watch window This window provides a view of specified variables that can be dragged and dropped from the Program window along with their current values as they exist at the time the program is suspended To open and close this window toggle the button Maestro Software Manual Program Editor Menus MAN MAMSW Ver A 3 3 3 1 2 Program Editor Toolbars The four toolbars Standard Communication Build and Workspace contain buttons that enable you to quickly access the most frequently used tools and options in the Program Editor You can move the toolbars around the desktop and relocate them for your convenience You can also remove buttons and add others for commands that you frequently use see section 3 1 6 1 A File Edit View Build Tools Window Help Bee Ha 08 0000 la i Figure 3 2 Elmo Program Editor Toolbars Tables 4 1 and 4 2 list each toolbar element and its function But
46. ch Parameters Return Value Terminal only OK Ok FAILED Error message Gr detach isok to verify motion object status Return Value Terminal only OK Ok FAILED Error status Limitation Terminal only Maestro Software Manual Motion Instructions MAN MASSW Ver A Function error to get motion object last error ae Return Value Terminal only OK Ok FAILED Error message 7 3 Vector 7 3 1 Vector Motion Commands Vector commands can be sent synchronously or asynchronously according to VSM value simultaneously to a Vector with a PDO ID or serially to all members of a group However only the asynchronous parcel sent serially to all members of a group provides a reliable check of operating performance results A vector is a set of axes that provide two dimension interpolated motion When a vector is active the member axes can receive commands not only from it but also from Axis instructions A Vector cannot be activated if one of its member Axes is a member of another active Vector e To send a set parameter value lt Vector name gt Command lt Value gt For example V1 AC V1 DC 1000000 V1 MO 0 V2 BG V2 ST Maestro Software Manual Motion Instructions MAN MASSW Ver A 7 3 2 Vector Properties e To seta property value lt Vector name gt Property lt Value gt e To get a property value lt Value gt lt Vector name gt Property mitas SSS Property VAE
47. code or data the name describes 8 2 1 1 Declarations A declaration introduces one or more names into a program Now MAXL supports following syntactic of declarations e Variable declaration e Function declaration e Global variable declaration inside function body Function declarations also serve as definitions Global variable declaration inside function body specifies by global keyword Examples 8 8 Maestro Software Manual MAXL Program Language 8 9 MAN MAMSW Ver A int a b declaration global variables function run begin of function declaration global a global variable declaration inside function body int c local variable declaration in function man c 56 a b c error variable b not declared in this function a c 17 end function end of function declaration 8 2 1 2 Definitions A definition is a unique specification of a function or callback Because definitions must be unique a program can contain only one definition for a given program element 8 2 2 Program A program consists of one translation unit Execution conceptually begins in the translation unit that contains the function run MAXL program consist of following parts e Global variables declarations e Functions and callback definitions o Declaration global variables for access inside function o Declaration local variables o Program lines 8 2 3 Startup and Termination Program startup is facilitated by function run Term
48. commands Each group is presented in a table listing the commands with basic descriptions The alphabetical command listing provides a detailed explanation of each command with examples and references to the SimplIQ Software Manual when necessary Maestro Software Manual MAN MAMSW Ver A N Chapter 2 Functional Overview This chapter takes a look at the organization of Maestro software 2 1 Functional Block Diagram The Maestro s functionality can be organized into the 5 groups shown below The first group Host Communications Services contains the standard interfaces and protocols that enable the Maestro to communicates with the outside world The Command Line Interpreter is a utility that enables individual commands to be executed immediately by either the Maestro or by a SimplIQ drive on a specified axis The Kernel is the part of the Maestro that executes user programs The Motion Manager sends commands and information to all axes and receives information so that it can coordinate motion between all the axes The Maestro is designed to manage multiple axes on a CANopen network The CAN Network Communication Server contains the CANopen interfaces and protocols that enable the Maestro to do so Key Command Line em Command Line Interpeter Motion Manager P Axis Manager Figure 2 1 The Maestro s Building Block Maestro Software Manual Functional Overview MAN MAMSW Ver A
49. d mytable For more information see the ends function example Function addpoint add PVT point to user s trajectory sequence for Axis which began with a starts function Call Format lt Axis_name gt addpoint lt Pos gt lt Vel gt lt T gt Parameters lt Pos gt position for PVT point counts lt Vel gt velocity for PVT point counts per second lt T gt interpolation period for PVT point milliseconds Return Value Terminal only OK Ok FAILED Error message Example al addpoint 1000 30000 10 For more information see the ends function example ends make user s trajectory sequence for Axis motion object Call Format lt Axis_name gt ends Parameters Return Value Terminal only OK Ok FAILED Error message Example al startp mytable the trajectory name mytable al addpoint 10 1000 10 al addpoint 1000 30000 10 al addpoint 5000 1000 10 al ends after this the trajectory named mytable will contain the user s PVT table error to get motion object last error Call Format lt Axis name gt isok Terminal only OK Ok FAILED Error message Maestro Software Manual Motion Instructions MAN MASSW Ver A 7 2 Group 7 2 1 Group Motion Commands Group motion commands can be sent synchronously or asynchronously simultaneously to a Group with a PDO ID or serially to all members of a group according GSM property value However only the asynchronous parcels sent s
50. de Available 0 synchronized mode use Group ID of Vector 1 asynchronized mode use Node ID of members ete OT Property VSP PVT trajectory fixed profile velocity Dimension Counts per second Default OO Dependencies In max velocity mode vum 1 vsp the limit of max velocity value In fixed time mode vum 2 vsp the limit of max velocity value In fixed velocity mode vum 3 vsp fixed velocity value CS CA Tmas OSS Maestro Software Manual Motion Instructions MAN MASSW Ver A Det oS limitation VUM PVT trajectory build mode Available 1 max velocity mode 2 fixed time mode 3 fixed velocity mode Property VVE calculation velocity error for PVT trajectory Default Type Float 7 3 3 Vector Functions e To call a function lt Return Value gt lt Vector name gt Function Parameters Function attach used for synchronize all members of the Vector according the resource file The attach function must be called before the first vector operation Call Format lt Vector name gt attach Parameters J Return Value Terminal only OK Ok FAILED Error message Gata Maestro Software Manual Motion Instructions MAN MASSW Ver A detach cancel Vector synchronization Call Format lt Vector name gt detach Parameters Return Value Terminal only OK Ok FAILED Error message Vata Function isok to verify motion object status Hommes N
51. ect Left to right Unary plus None Arithmetic negation unary None Bitwise complement None Multiplication Left to right Division Left to right Remainder modulus Left to right Addition Left to right Subtraction Left to right lt lt Left shift Left to right gt gt Right shift Left to right lt Less than Left to right gt Greater than Left to right lt Less than or equal to Left to right gt Greater than or equal to Left to right Maestro Software Manual MAXL Program Language 95 MAN MAMSW Ver A Equality Left to right Inequality Left to right amp Bitwise AND Left to right A Bitwise exclusive OR Left to right Bitwise OR Left to right amp amp Logical AND Left to right Logical OR Left to right Assignment Right to left Comma Left to right 8 1 6 Literals Invariant program elements are called literals or constants The terms literal and constant are used interchangeably here Literals fall into four major categories integer floating point and string literals syntax literal integer constant floating constant string literal 8 1 6 1 Integer Constant Integer constants are constant data elements that have no fractional parts or exponents They always begin with a digit You can specify integer constants in decimal octal or hexadecimal form They can specify signed or unsigned types and long or short types Syntax integer constant Ma
52. equence E signopt Aigit sequence sign one of digit seguence digit digit sequence digit Floating point constants have a mantissa which specifies the value of the number an exponent which specifies the magnitude of the number and an optional suffix that specifies the constant s type The mantissa is specified as a sequence of digits followed by a period followed by an optional sequence of digits representing the fractional part of the number For example 18 46 38 MAXL Program Language The exponent if present specifies the magnitude of the number as a power of 10 as shown in the following example 18 46e0 18 46 18 46e1 184 6 8 7 Maestro Software Manual MAXL Program Language MAN MAMSW Ver A If an exponent is present the trailing decimal point is unnecessary in whole numbers such as 18E0 8 1 6 3 String Literals A string literal consists of one or more characters from the source character set surrounded by double quotation marks A string literal represents a sequence of characters that taken together form a null terminated string Syntax string literal s char seguence s char Sequence s char s char sequence s char s char any member of the source character set except the double quotation mark 8 2 Basic Concepts 8 2 1 Declarations and Definitions Declarations tell the compiler that a program element or name exists Definitions specify what
53. er constant string literal or comment Comments using the first syntax therefore cannot be nested Consider this example Intent Comment out this block of code Problem Nested comments on each line of code are illegal a b 56 Initialize file string b a 17 c b cos alfa Print status message 7 Maestro Software Manual MAXL Program Language MAN MAMSW Ver A The preceding code will not compile because the compiler scans the input stream from the first to the first and considers it a comment In this case the first occurs at the end of the Initialize file string comment The last then is no longer paired with an opening Note that the single line form of a comment followed by end of line can have surprising effects Consider this code function run a b sqrt c 5 end function After preprocessing the preceding code contains errors and appears as follows function run a b sqrt c end function 8 1 2 dentifiers An identifier is a sequence of characters used to denote one of the following e Variable name e Object name e Function name e Label name Syntax identifier fleter leter aigit leter one of _abcdefghijklm nopqrstuvwxyz ABCDEFGHIJKLM NOPQRSTUVWXYZ digit one of 0123456789 8 2 Maestro Software Manual MAXL Program Language MAN MAMSW Ver A 8 1 3 MAXL Keywords Keywords are predefined reserved identifiers that have special meanings They can
54. erially to all members of a group provides a reliable check of operating performance e To send set parameter values lt Group name gt Command lt Value gt For example G1 PX 0 G1 MO 1 G2 BG G2 ST 7 2 2 Group Properties e To set property values lt Group name gt Property lt Value gt e To get property values lt Value gt lt Group name gt Property Property GBT synchronized start command delay Property GME motion events listener mask Available events MOTION _COMPLETE 0x01 MAIN HOMING_ COMPLETE 0x02 AUX_HOMING_ COMPLETE 0x04 MOTOR_SHUTDOWN 0x08 MOTOR_STARTED 0x10 USER_PROGRAM_EMIT 0x20 DIGITAL_INPUT_EVENT 0x80 Default 0x01 MOTION_COMPLETE Maestro Software Manual Motion Instructions MAN MASSW Ver A GSM send group command mode Available 0 synchronized mode use Group ID 1 asynchronized mode use Node ID of members CAN 7 2 3 Group Functions e To call function lt Return Value gt lt Group name gt Function Parameters Function attach used to synchronize all members of the Group according the resource file The attach function must be called before the first group operation Call Format lt Group name gt attach Return Value Terminal only OK Ok FAILED Error message Lata Function detach cancel Group synchronization Group operation calls after detach cause a RUNTIME error Call Format lt Group name gt deta
55. estro Software Manual MAXL Program Language 8 6 MAN MAMSW Ver A decimal constant integer hexadecimal constant integer decimal constant decimal constant digit hexadecimal constant Ox hexadecimal digit OX hexadecimal digit decimal constant digit one of 0123456789 hexadecimal digit one of 0123456789 abcdef ABCDEF To specify integer constants using octal or hexadecimal notation use a prefix that denotes the base To specify an integer constant of a given integral type use a suffix that denotes the type To specify a decimal constant begin the specification with a nonzero digit For example 157 Decimal constant To specify a hexadecimal constant begin the specification with Ox or OX the case of the x does not matter followed by a sequence of digits in the range 0 through 9 and a or A through f or F Hexadecimal digits a or A through f or F represent values in the range 10 through 15 For example i Ox3fff Hexadecimal constant j OX3FFF Equal to i 8 1 6 2 Floating Point Constant Floating point constants specify values that must have a fractional part These values contain decimal points and can contain exponents Maestro Software Manual MAN MAMSW Ver A Syntax floating constant fractional constant exponent partopt digit sequence exponent part fractional constant AIgit SEQUENCEopt Aigit sequence digit sequence exponent part e S GNopt Aigit s
56. he expression in the case label is converted to the type of the controlling expression and is then compared for equality The behavior is shown in Table Table Switch Statement Behavior Condition Action Converted value matches that of the Control is transferred to the statement promoted controlling expression following that label None of the constants match the Control is transferred to the otherwise label constants in the case labels otherwise label is present None of the constants match the Control is transferred to the statement after constants in the case labels otherwise the switch statement label is not present A switch statement can be nested In such cases case or otherwise labels associate with the most deeply nested switch statements that enclose them For example switch attribute_type case 1 Object attribute is command switch cmdName case 1 Begin motion command Axis bg case 2 Motor On command Maestro Software Manual MAXL Program Language MAN MAMSW Ver A Axis mo 1 end switch case 2 Object attribute is method otherwise TRACE Error attribute end switch The preceding code fragment shows how switch statements can be nested The switch statement that selects on the value of cmdName is executed only if attribute is 1 is command The case labels for menu selections 1 BG and 2 MO 1 associate with the inner switch statement 8 5 3 Itera
57. he threads that belong to the multithreaded apartment Threads in a multithreaded apartment use a model called free threading Calls to COM objects in a multithreaded apartment are synchronized by the objects themselves Sample int nOk MAC_Initialize COM_INIT_SINGLETHREADED FALSE MAC_ Uninitialize This function enables the user to uninitialize Multi Axes Supervisor API Library Syntax void MAC_Uninitialize Sample MAC Uninitialize Maestro Software Manual The Maestro API MAN MASSW Ver A MAC _CreateTCPConnection This function enables the user to initiate TCP IP communication with the Multi axes supervisor Syntax COMMUNICATION_HANDLE MAC_CreateTCPConnection LPCTSTR cszIP DWORD dwTimeout 5000 WORD wPort 23 Input Parameters LPCTSTR cszIP IP Address of supervisor DWORD dwTimeout Max time for communications to be established WORD wPort Communication port Return Value COMMUNICATION_HANDLE Multi axes supervisor communication handle if connection failed NULL Sample COMMUNICATION HANDLE hCon MAC CreateTCPConnection EOS Oe S tOr LLAT IO O a Maestro Software Manual The Maestro API EN MAN MASSW Ver A MAC CreateRS232Connection Note This interface is not implanted yet This function enables the user to initiate RS232 communication with the Multi axes supervisor Syntax COMMUNICATION_HANDLE MAC _CreateRS232Connection BYTE btPort UINT uBautRate 19200 B
58. in_a_b if a gt b max_a_b a min_a_b b else max_a_b b min_a_b a end if if max_a_b gt c mint min_a_b min2 c else mint a min2 b end if end function This is function with name MIN_2_INT has three integer input arguments a b c and two integer return arguments min1 min2 Function body includes two declaration statements local integer variables max_a_b and min_a_b end two statements if else If function hasn t return arguments it s header not contain type and name return argument For example function foo to do something s end function This function hasn t input and returns arguments 8 6 2 Build in functions MAXL has predefinition functions Function Input Return Remarks name argument s argument s Maestro Software Manual MAXL Program Language MAN MAMSW Ver A Trigonometry functions input argument angle value in radians asin float float acos float float oa exp float float Calculates the exponential function value of a floating point number float x float y float Calculates the value of x raised to the power of y x y log float float Calculates the natural logarithm base e of a floating point number log10 float float Calculates the common logarithm base 10 of a floating point number min float float mex float afloat abs float float Calculates the absolute value of a floating point number sqrt float float Calculates the square root of
59. ination program is facilitated by end of run function or exit keyword 8 2 3 1 Program Startup the run Function A special function called run is the entry point to all MAXL programs The compiler does not predefine this function rather it must be supplied in the program text The declaration syntax for run is function run Some code Maestro Software Manual MAN MAMSW Ver A end function 8 2 3 2 Program Termination In MAXL there are several ways to exit a program e Call the exit operator e Finish program by finish run function e Call the return operator from function run 8 2 3 2 1 exit Operator Operator exit immediately finished program flow 8 2 3 2 2 return Operator MAXL Program Language Issue a return operator from run is functionally equivalent to using the exit operator Consider the following example function run int i Some code if i gt 2 exit return end if Some code end function The exit and return statements in the preceding example are functionally identical 8 2 4 Types MAXL supports three kinds of object types e Fundamental types are built into the language such as int and float Instances of these fundamental types are called variables e Object types are build in types with encapsulated methods and properties such as axis and vector e Debug string used for formatting debug messages Maestro Software Manual MAXL Program Language
60. ions requiring fast updates The Bus Load graphs show how many drives can be managed as a function of update time and bus speed 80 70 60 50 40 30 Bus Load CAN Bus 500 Kbit s Sync Time 10 msec Update Time 1 20 msec 20 10 Number Of Drives Figure C 1 Bus Load at 500Kbit sec For example the Maestro can manage 4 axes on an application that requires an update every 1 msec running at a 70 load on an 800 Kbit s bus On the other hand the Maestro can manage up to 50 axes on an application that requires an update every 20 msec running at a 70 load on an 1000 Kbit s bus 80 70 60 50 40 Bus Load CAN Bus 800 Kbit s Sync Time 10 msec Update Time 1 20 msec 20 10 4 6 8 10 15 20 25 30 40 Number Of Drives Figure C 2 Bus Load at 800Kbit sec C 1 Maestro Software Manual Performance Considerations MAN MAMSW Ver A 80 70 60 50 40 Bus Load 30 CAN Bus 1000 Kbit s Sync Time 10 msec Update Time 1 20 msec 20 10 2 a 6 8 10 15 20 25 30 40 50 Number Of Drives Figure C 3 Bus Load at 1000Kbit sec The graph above can be used as a yardstick to determine the number of updates needed to produce an acceptable path In this case the number of updates is a function of the diameter speed and maximum allowable interpolation error For example if the required velocity is 100 000 counts sec along a 1000 count diameter path and
61. kspace Halt All Add to Workspace Save Workspace Close Workspace Workspace Settings Maestro Log Export Resources Import Resources Download Resources Upload Resources Update CAN Bus Info Table 3 4 Workspace Menu Options Sub option Description Recompile and download program Compile and download program Maestro Software Manual Program Editor Menus MAN MAMSW Ver A 3 1 5 Resource Editing Menus right mouse button only When adding new resources or editing existing ones a few additional menu options are available namely Insert Remove and Properties These are described in Table 3 5 Menu Option Sub option Description Resource View Menu Insert Insert Node Axis Vector Group or CAN bus Remove SPA Remove Remove a resource This must be A Export Resources done in hierarchical order For A Import Resources example vectors must be removed before the axes with which they are they are made Insert Resource Menu CAN Bus fa CAN Bus Group il roya Vector me VECKO u Ais Axis A Mode Node Existing Resource Menu Remove as cue Properties Properties New Axis Dialog Box Node ID Select Node ID from those al available Axis Name User defined Type Elmo or CANopen amp Note This is the same dialog box that opens when clicking the properties button when highlighting an axis Node ID Select Node ID from those available CAN Bus ID jo Group ID B
62. l Input 2 Digital Input 3 Digital Input 4 O Eo A Digital Input 5 Digital Input 6 C a2 Position Position Command Position Error Figure 10 4 Selecting a Trigger to Start the Recording From the Resolution drop down list select the recording resolution which is defined by the sampling time of the controller You may wish to change this value depending on your current work mode current or velocity From Record Time drop down list select the maximum recording interval this is dependent upon the Resolution value In the Level text boxes enter the High and Low trigger levels Click the appropriate button to indicate the trigger Type a Positive slope mad Set the trigger and select High level The trigger will be recorded when the source signal crosses the chosen level from low to high b Negative slope BU Set the trigger and select Low level The trigger will be recorded when the source signal crosses the chosen level from high to low Maestro Software Manual Command Line Interface MAN MASSW Ver A C Window i Set the trigger and enable High and Low levels The trigger will be recorded when the source signal crosses the chosen levels as follows e The signal crosses the Low level twice e The signal crosses the High level twice e The signal crosses the Low level once and then crosses the High level e The signal crosses the High level once and then crosses the Low level Start the recording by clicking the Reco
63. ltiplicative Operators The multiplicative operators are e Multiplication e Division e Modulus or remainder from division These binary operators have left to right associativity Syntax multiplicative expression expression expression expression expression expression expression expression multiolicative expression The multiplicative operators take operands of arithmetic types The modulus operator has a stricter requirement in that its operands must be of integral type Maestro Software Manual MAXL Program Language MAN MAMSW Ver A The multiplication operator yields the result of multiplying the first operand by the second The division operator yields the result of dividing the first operand by the second The modulus operator yields the remainder given by the following expression where el is the first operand and e2 is the second el e1 e2 e2 where both operands are of integral types Division by 0 in either a division or a modulus expression is undefined and causes a run time error Therefore the following expressions generate undefined erroneous results i 0 f 0 0 If both operands to a multiplication division or modulus expression have the same sign the result is positive Otherwise the result is negative The result of a modulus operation s sign is implementation defined 8 4 1 4 2 MAXL Additive Operators The additive operators are e Addition e S
64. me as in object 0x1008 if exists man manufacturer as in object if exists members the axes number that are grouped Axis x Axis y axis names according to related coordinate of vector Call Format list b num axis b num vector b num node vm vmf vmr where list retrieves all information list b num axis retrieve motion axis information Elmo or 402 on BUS b list b num vector retrieve information about the vector objects on BUS b list b num node retrieve information about any non motion node on BUS b list vmf vm vmr retrieve the user programs names that are resident in the Maestro where vmf program exists in the Maestro flash vm program virtual machine space is ready vmr program is running Parameters b num axis b num vector b num node vm vmf vmr Example list list axis list b 0 axis list b 1 vector b 1 node Function find Search for object according to the object s logical name If an object exists the information is displayed as a list If object does not exists the Maestro returns Object Not Defined Call Format find lt object_name gt Maestro Software Manual Motion Instructions MAN MASSW Ver A Function restart Restart the Maestro by Closing all existing objects Kill all virtual machine Restart Maestro kernel Apply the sessions and objects according to the existing configuration file Starts AUTOEXEC program if e
65. ment taal and subsequently is loaded from a file by button Load Environment ar Click the Plot Record button to display a plot of the recording by Scope 10 3 Maestro Software Manual MAN MASSW Ver A Ea Connected to 10 10 10 52 Recorder Actions view Help amp l o x Trigger Delap 0 Trigger Begin Motion Resolution High resolution Recorded signals Resolution Nodes al Position Command a Position Command 360 psec point Record time 1 474 sec al O Velocity L Position Position Command O Digital Input E Position Error J Current Command A QO OC Bus Voltage O Auxiliary Position O Auxiliary Velocity Active Current A J Reactive Current 4 PA Arale lamiak d Plot selected signals Figure 10 7 Choosing the Type of Display Command Line Interface ajaja Ante for Display 2 E Time i e Node E Signal Position Command Selected signals ER Display 1 al Position Command oi a Position Command ER Display 2 o ae Position Command Add selected Add display Remove Remove All Plot Record The Scope is a graphic display tool that enables you to view the data that has been recorded by the motion monitor It displays multiple recorded vectors in the same window or in separate windows and can generate new data vectors by applying arithmetic operations on the existing data vectors You may use the scope to view and analy
66. mmands Motion Commands are described in detail in the Simp TQ Command Reference Manual When used to program the Maestro their syntax is as follows e To send commands for set parameter value lt Axis name gt Command lt Value gt e To receive parameter values lt Value gt lt Axis name gt Command For example A1 UM 2 A1 MO 1 A2 BG A2 ST Maestro Software Manual Motion Instructions MAN MASSW Ver A 7 1 2 Axis Properties Motion properties apply to Maestro programs only Axis related properties are listed below e To set property values lt Axis name gt Property lt Value gt e To get property values lt Value gt lt Axis name gt Property Dimension AFP first points portion size for PVT trajectory Dimension Property AME motion events listener mask Available events MOTION_COMPLETE 0x01 MAIN_HOMING_ COMPLETE 0x02 AUX_HOMING_COMPLETE 0x04 MOTOR_SHUTDOWN 0x08 MOTOR_STARTED 0x10 USER_PROGRAM_EMIT 0x20 DIGITAL_INPUT_EVENT 0x80 a 0 254 Dimension Maestro Software Manual Motion Instructions MAN MASSW Ver A 7 1 3 Axis Functions Motion functions apply to Maestro programs only Axis related functions are listed below e Tocalla function lt Return Value gt lt Axis name gt Function Parameters Function trj used for initialize the PVT mechanism and loading a PVT trajectory table to an axis Call Format lt Axis name gt trj
67. mple function run inta b c rest res2 res3 a 2 b 4 6 9Y9 resl a b c res2 a b c res3 a b c end function The output from the following code is resi 38 res2 38 res3 54 Sample Program Maestro Software Manual Sample Program Bo MAN MAMSW Ver A B 20 Global Variable Sample File GlobalVar maxl Global Variables Declaration int a b Entry point of the application function run Global variable declaration inside function body specified by global keyword global int a b int c local variable declaration in function run c 56 b 16 a c b end function File GlobalVarUse maxl created 30 01 2005 14 51 09 intpos_x pos_y Global Variables Declaration function run global int pos_x pos y Global Var Declaration inside a Function pos x 1000 pos y 2000 v1 vsp 3000 initialization v1 line 5000 10000 v1 bg end function function initialization Global Variables Declaration inside the Function global int pos_x pos_y sync 0 20 synchronize CAN devices v1 mo 0 motor off al ox pos x start point of Axis 1 is 1000 a2 px pos y start point of Axis 2 is 2000 v1 mo 1 motor on v1 vum 1 max velocity mode end function Maestro Software Manual MAN MAMSW Ver A Appendix C Performance Considerations The Maestro can manage up to 126 axes on a standard application However fewer axes can be managed on applicat
68. n about specifying literals An expression enclosed in parentheses is a primary expression whose type and value are identical to those of the unparenthesized expression 8 4 1 1 1 Names In the MAXL syntax for primary expression a name is a primary expression that can appear only after the member selection operators and names the attribute of an object Syntax name MAN MAMSW Ver A Maestro Software Manual MAXL Program Language Identifier object attribute 8 4 1 2 Postfix Expressions Postfix expressions consist of primary expressions or expressions in which postfix operators follow a primary expression The postfix operators are listed in Table Table Postfix Operators Operator Name Operator Notation Function call operator Method selection operator Postfix increment operator Postfix decrement operator Syntax postfix expression function name expression liStopt object method expression liStopt name name expression list expression expression list expression 8 4 1 2 1 Function Call Operator A postfix expression followed by the function call operator specifies a function call The arguments to the function call operator are zero or more expressions separated by commas the actual arguments to the function Maestro Software Manual MAXL Program Language MAN MAMSW Ver A 8 4 1 3 Expressions with Unary Operators Unary operators act on only one o
69. not be used as identifiers in your program The following keywords are reserved for MAXL Syntax keyword one of break case continue else elseif end exit float for function global goto if initevent int otherwise reset return switch TRACE wait waitevent while perror emcy 8 1 4 Punctuators Punctuators in MAXL have syntactic and semantic meaning to the compiler but do not of themselves specify an operation that yields a value Syntax punctuator one of The punctuators and must appear in pairs 8 1 5 Operators Operators specify an evaluation to be performed on one of the following e One operand unary operator e Two operands binary operator Table 1 1 lists the operators available in MAXL 8 3 Maestro Software Manual MAXL Program Language ENS MAN MAMSW Ver A Operators follow a strict precedence which defines the evaluation order of expressions containing these operators Operators associate with either the expression on their left or the expression on their right this is called associativity Operators in the same group have equal precedence and are evaluated left to right in an expression unless explicitly forced by a pair of parentheses Table 1 1 shows the precedence and associativity of MAXL operators from highest to lowest precedence Table 1 1 Operator Precedence and Associativity Operator Name or Meaning Associativity Function call Left to right Member selection obj
70. nual Contents MAN MAMSW Ver A Appendix Bo Sample Pros ra ims saiisine E aE OR NASIE B 1 Bl Elmo Logo Outline San Pleno B 1 BZ Lime sample o teed E B 1 BP lh ell o cee ne me een mre Peer ne cee a er ener Ne Ne enn ce ear en B 1 Bet Circl t z ine Sami eck italia taaeeae B 2 Bio Linette Cide sample E EEEE B 2 BO LCmneto mesa a E E E E AE B 3 Biz Poly con Sampler B 3 A o O A o E enor eae B 4 Bo Tie BIGe an plena tiles B 4 BAO Ti Else Ti Sei oie cae coca cas E E EEN B 4 PE eo wy beg od camer ie eee tere ee ere eter A ere errr errr eee B 4 BI While Sample sai B 5 ES e A O a a a eects B 5 Bila Break ContintuesRetur Sample estalla ended caret B 5 Bo CallSam ple B 6 BsT6 Homing Sample ciie sactivenscsantsitartadrssrenbactauensnciaenarsdai embassies desctemmenceenateans B 6 B417 Program all Sample ia B 6 Be LG Lapeland Golo San pe chess ck cesta cet carte di B 7 Bal Orderor Processing Sample nl E B 7 B20 Global Variable Sampler atte alee dees bien aes B 8 Appendix C Performance Considerations oococccccooooncnnnnononnnnnnnnonancccnnnnoncccnnnonooconenccocacocanos C 1 Maestro Software Manual MAN MAMSW Ver A Chapter 1 Introduction Elmo s Maestro is a network based multi axis motion supervisor that operates in conjunction with Elmo intelligent servo drives to provide a full multi axis motion control solution The Maestro and the SimplIQ servo drives share the motion processing workload in a dis
71. nual The Maestro API MAN MASSW Ver A MAC SendCommand This function enables the user to send commands to and receive responses from the connected Multi axes supervisor Syntax Int MAC _SendCommand COMMUNICATION_HANDLE hCommunication LPCTSTR cszCmd LPTSTR szOut WORD wOutSize 1024 DWORD dwTimeout 1000 Input Parameters COMMUNICATION_HANDLE hCommunication Multi axes supervisor communication handle LPETSTR sz2cma Input string containing command or expression to be sent to the MAS This string may be a command to the SimplIQ drive connected to the Maestro or command to the Maestro itself WORD wOutSize Size of string for response receiving DWORD dwTimeout The maximum wait time for receiving a response from the drive in milliseconds Output Parameter LPTSTR SzZ0ut String for response receiving Return Value Int Error Value gt 0 OK gt 0 Communication error codes user may use MAC_GetLastError to retrieve the error string 1 The API library is not initialized 2 Zero Communication Handle 3 Bad Communication Handle 4 Unable to create interface ITNElmoPublic 5 Send command failed lt 0 the string for reception of the answer is too small value is the necessary size of a string with a minus Sample revvVal MAC Senodcommana NCon 1 axiusl px 0 Ss2z0Uuc 256 LOOO 3 3 9 7 Maestro Software Manual The Maestro API EJ MAN MASSW Ver A MAC_ LocateDevices
72. ommand using the Composer s Smart_Terminal If the nodes need resetting use the save command SV to store them in memory T ie Smart_Terminal a Smart_ Terminal Enter Command Enter Command Send Per PP 1 3 a 1 M Figure A 3 Node ID Inquiry Figure A 4 Setting the Node ID A 2 Checking the CANopen Network To check if the CANopen network is working use the businfo command in the Maestro s CLI or Program Editor t Command Prompt 2 telnet 10 10 10 103 Welcome to the Command Interpreter Service on MAESTRO gt bus info i 462 Bassoon ELMO 2 4862 Bassoon ELMO gt Figure A 5 Node ID Inquiry Restart the Maestro if you made any changes to the Bassoons or Maestro software Maestro Software Manual MAN MAMSW Ver A Appendix B Sample Programs B 1 Elmo Logo Outline Sample File Elmo maxl created 19 10 2004 14 28 32 end function function run function initialization int x_from_lim int y_from_lim initialization 15000 32000 draw int SmoothFactor wait_motion SmoothFactor 0 v1 st check UM v1 detach if a1 um 5 end function al1 mo 0 al um 5 function draw end if float k_x k_y if a2 um 5 k_x 1 9 a2 mo 0 k_y 1 9 a2 um 5 v1 starts end if v1 vsp 50000 max speed v1 vse 50000 end speed II check SF letter E vi addline 0 k_x 32000 k_y v1 addcircle 6000 k_y 90 180 v1 vsp 50000 v1 vse 0 v1 addline 15000 k_x 20000 k _
73. ors use only for integer operands 8 4 Expressions Expressions are sequences of operators and operands that are used for one or more of these purposes e Computing a value from the operands e Designating objects or functions e Generating side effects Side effects are any actions other than the evaluation of the expression for example modifying the value of an object 8 4 1 Types of Expressions MAXL expressions are divided into several categories MAN MAMSW Ver A Maestro Software Manual MAXL Program Language e Primary expressions These are the building blocks from which all other expressions are formed e Postfix expressions These are primary expressions followed by an operator for example the array subscript or postfix increment operator e Expressions formed with unary operators Unary operators act on only one operand in an expression e Expressions formed with binary operators Binary operators act on two operands in an expression e Logical Operators Used to combine multiple conditions formed using relational or equality expressions e Simple Assignment 8 4 1 1 MAXL Primary Expressions Primary expressions are the building blocks of more complex expressions They are literals and names Syntax primary expression literal expression name A literal is a constant primary expression Its type depends on the form of its specification See Literals for complete informatio
74. perand in an expression The unary operators are e Unary plus operator e Unary negation operator e Logical NOT operator e One s complement operator These operators have right to left associativity Syntax unary expression postfix expression name name unary operator expression unary operator one of l 8 4 1 3 1 Unary Plus Operator The result of the unary plus operator is the value of its operand The operand to the unary plus operator must be of an arithmetic type Integral promotion is performed on integral operands The resultant type is the type to which the operand is promoted 8 4 1 3 2 Unary Negation Operator The unary negation operator produces the negative of its operand The operand to the unary negation operator must be an arithmetic type 8 4 1 3 3 Logical NOT Operator The result of the logical NOT operator is 0 if its operand evaluates to a nonzero value the result is 1 only if the operand is equal to 0 The operand must be of arithmetic or pointer type The result is of type int For an expression e the unary expression e is equivalent to the expression e 0 The following example illustrates the logical NOT operator if I x lt y Maestro Software Manual MAXL Program Language MAN MAMSW Ver A If x is greater than or equal to y the result of the expression is 1 true If x is less than y the result is 0 false
75. rSize Size of string for error receiving Output Parameter LPTSTR szError Last error message Return Value int Error value gt 0 OK lt 0 the string for reception of the error is too small value is the necessary size of a string with a minus Sample int retVal MAC GetLastError szErrorCom 1024 Maestro Software Manual The Maestro API 9 71 MAN MASSW Ver A MAC_InitEvents This function enables the user to initialize MAS Event mechanism Syntax int MAC _InitEvents Return Value int initialization status O OK 1 The ATL Module initialization failed 2 Unable to create event listener thread Use MAC GetLastError to any function that has a return value 0 see example to retrieve error string Sample int nOk MAC_InitEvents MAC _DeinitEvents This function enables the user to close MAS Event mechanism Syntax Void MAC DeinitEvents Sample MAC DeinitEvents Maestro Software Manual The Maestro API MAN MASSW Ver A MAC _RegCloseCallback This function enables the user to advise unadvise on close connection case user s callback Syntax int MAC_RegCloseCallback COMMUNICATION_HANDLE hCommunication MAC_ONCLOSE_CALLBACK ptrCB Input Parameters COMMUNICATION HANDLE hCommunication Multi axes supervisor communication handle MAC _ONCLOSE_ CALLBACK ptrCB on close connection case user s callback Return Value int Error value 0 OK gt 0 communica
76. rands All bits that are on 1 in either the left or right operand but not both are on in the result Bits that are the same either on or off in both operands are off in the result Syntax exclusive or expression expression expression expression exclusive or expression Maestro Software Manual MAXL Program Language MAN MAMSW Ver A Both operands to the bitwise exclusive OR operator must be of integral types 8 4 1 4 5 3 Bitwise Inclusive OR Operator The bitwise inclusive OR operator returns the bitwise inclusive OR of the two operands All bits that are on 1 in either the left or right operand is on in the result Bits that are off 0 in both operands are off in the result Syntax Inclusive or expression expression expression expression inclusive or exoression Both operands to the bitwise inclusive OR operator must be of integral types 8 4 1 5 MAXL Logical Operators The logical operators logical AND amp amp and logical OR are used to combine multiple conditions formed using relational or equality expressions 8 4 1 5 1 Logical AND Operator The logical AND operator amp amp returns the integral value 1 if both operands are nonzero otherwise it returns 0 Logical AND has left to right associativity Syntax logical and expression expression amp amp expression expression logical and expression The operands to the logical AND operator must be of integral type
77. rator reset program flow will be restarted from run function At the same time all call function stack resets Maestro Software Manual MAN MASSW Ver A Chapter 9 The Maestro API Use MAC GetLastError to any function that has a return value 0 see example to retrieve error string Arbitrations MAS MAC Multi Axes Supervisor Multi Axes Controller synonyms for the Maestro Interfaces API Application Program Interface Set of functions that enables a user s program to have communication and other requests with the Maestro and the connected subset drives PVT Position Velocity Time motion method commonly used by the Maestro to perform a movement Multi axes supervisor API Library Operation System Requirements Windows NT 2000 XP Requires Windows NT 4 0 or later Windows 95 98 Me Requires Windows 98 Me or Windows 95 with DCOM MAC Initialize This function enables the user to initialize Multi axes supervisor API Library Syntax int MAC_Initialize DWORD dwComlnitialize BOOL bEventInitialize Input Parameters DWORD dwComiInitialize Initialize COM Mechanism Parameter determines the concurrency model used for incoming calls to objects created by this thread This parameter can be one of the following COM_INIT_DISABLE disable inner COM initialization COM_INIT_SINGLETHREADED single threaded model COM_INIT_MULTITHREADED multi threaded model BOOL bEventlInitialize Initialize MAS Event Mechanism
78. rce into Gi Download an executable code Kall Program Stop program execution Execute Run program Build Debug Menu Debug Go Run debugger gt Break Halt suspend program c execution and return control to Ah Set Reset Breakpoint FQ di Clear Breakpoints debugger Step Into Fil Set Reset Select Cancel line for TP Step Over F10 Breakpoint breakpoint P step Out Shift F11 4 Run to Cursor Ctrl F10 Clear Delete all selected breakpoints Breakpoints Step Into Enter function and stop at first command Step Over Execute the next instruction line and then halt Step Out Complete the current function and then step out to the location immediately following the line on which the function was called Run to Cursor Halt execution at the instruction line at which the cursor is standing Maestro Software Manual MAN MAMSW Ver A Menu Tools Ea Composer A Elmo On Wy 2 Recorder a Telnet Customize Options Convert bo Mew Format A Select Font Window New Window E Cascade E Tile Horizontally _ fT Tile vertically Close All ES 1 elmo_logo maxl lt TELNET gt Ty Windows Help Help Topics eu Command Reference Keyboard Map About Elmo Studio Table 3 3 Menu Bar Options Option Composer Elmo on WWW Recorder Telnet Customize Options Convert to New Format Select Font New Window Cascade Tile Horizontally Tile Vertically
79. rd button Recording Process Indication dialog shows the progress of the Recording procedure and wait for the recorded data resaving F Recording In Process al ie wating for trigger event ae is wating for tigger event Figure 10 5 Recording Process Indication Go to the Elmo Studio Fig 8 6 or Command Line Interface and start an operation 2 Elmo Studio Elmo maxl lt TELNET gt ex A File Edit View Build Tools Window Help a x ae Y MA initialization JAS 1 MEG AA ee Hime Ed el lt offline gt y File Elmo maxl created 19 10 2004 14 28 32 4 6 Elmo 43 Programs float k x k_ y kv A Elmo 00004 int progFinish ElmoConstTr 00005 4 ElmoRev Me ALEA ELE ELLAS 9 Resources 00007 function runt Peleus 00008 global int progFinish 00009 int i loop EN 00010 annaa a Figure 10 6 Running an Application When the operation is complete go to the Data Visualization Part of Recorder and select Signals combination for plotting Some the chosen Signals can be shown in common as the uniform Display As a Display Axis X time or any accessible signal can be used Using Add and Remove buttons Add selected Add display Remove Remove All h or the contextual menu it is possible to edit the created configuration of signals The current Environment Device Address set of selected signals trigger combination and visualization settings can be kept in a file by button Save Environ
80. re described in this manual is provided on the CD that accompanies the Maestro or as a download from Elmo s web site In this manual it is assumed that you have followed the software setup instructions in the Maestro Installation Guide and have successfully installed the software At least one drive needs to be connected to the Maestro in order for it to function as a motion controller The Simpl IQ manuals shown below explain how to set up and program servo drives Please read the Installation Guide that arrived with your servo drive before setting it up Servo drives are power devices so be careful Maestro Setup Maestro Installation Guide Maestro u Getting Started aestro Software Manual Do sus SimplIQ le Digital Servo Drive Installation Guide s Composer User Manual System Maestro Software Manual Programming o SimplIQ Software Manual SimplIQ Command Reference Manual CANopen Implementation Guide Figure 1 2 Elmo Documentation Hierarchy Maestro Software Manual Introduction MAN MAMSW Ver A 1 3 Command Specification Commands for Simpl IQ drives may be specified from the following sources User program A program loaded to the servo drive via one of the communication options After program execution begins the program is managed by the drive RS 232 Serial point to point short range communication Although this method is rather slow RS 232 is very easy to use and requirements are minimal a standard
81. s format sync id timeout id CAN Bus ID timeout sync sending period 0 for cancel current time set trajectory for axis axis tr to display current trajectory axis trj trjname set current trajectory axis trj trjname n set current trajectory and loop number 1 infinitely Maestro Version vector starts subnet 10 10 10 0 al1 trj moshe 3 Maestro Software Manual MAN MASSW Ver A Chapter 7 Motion Instructions This chapter takes a look at the organization of Maestro motion object programming The Maestro contains the following set of motion objects e Axis the most basic Maestro motion object used to control the motion of a single motor axis e Group composite Maestro motion object which is made of two or more Maestro motion objects of the same type This object can be used to synchronize the operation of its members e Vector a particular case of Group which is made of two Axes of the same type This object can be set up as a trajectory All motion objects use the same set of motion instructions which include e commands device control messages these messages are similar to the ones used by SimplIQ drives and are described in the Simpl IQ Command Reference e properties determines Maestro motion object behavior e functions predefined set of motion functions Motion instructions can be sent from a terminal or from a Maestro user program 7 1 Axis 7 1 1 Axis Motion Co
82. s 8 31 50 FUNCION cdas 8 31 30 1 ncuion denon aid IR E 8 31 002 Build tancuons ente AT TA 8 33 8 6 3 Callback interrupt functions nissan 8 34 8 7 Virtual Machine Control Statements ccconcccnonocononocnnnnccnonicononorononiconenoccnuniconos 8 35 8 LL UATE cond olstate menine add Meta e 8 35 SA TRACE COM LS tato baii 8 36 o TSE CONMMOl Statement dador 8 36 Chapter 9 The Maestro API liarla 9 1 MACAMA AM Ate ata t s 9 1 NARA A A eaan ed eae 9 2 MAC Create ERLCORNECUION ss ioe aac sted a gasoline aunenadienueeimeeraeead 9 3 MAC Create RS2oZ2 COMMCCHOM tala 9 4 MAC Close ON ida 9 6 MAC Send C oa iaa 9 7 MAC LocateDerice S nnise E A E 9 8 MAC Seen a a a a a sadiennnecieneaueio arises 9 9 MAC SOT O 9 10 MAC IseDeviceP resentida ah 9 11 MAC LocteOD ee a A E O E EN 9 12 MAC ero Derbi tdo 9 13 MAC Download Trajector vais 9 14 NAC Remove a eco oratorio opi 9 15 NAC Downoad O Ta tai 9 16 MAC Renove roSa Midi 9 17 NAC Download RES OUT CCS sita los 9 18 NAC Upload LOS asada lla 9 19 MACS O e O Ae 9 20 A a A A O eRe ee 9 21 MAC IDG I Iii a el at to 9 21 MAC Ree losec all back suieatianscite iii laica 9 22 Chapter LO The Recorder A 10 1 10 1 Aeccessine thie Recorder eiii dial 10 1 Appendix A Setting up the Demo Case oooonocnnicconmnccnnaconnacoonacconecconconaaccnonaconanconacccnacccnnanos A 1 Aol Demne UW pthe CAN NOG es a as A 1 AZ Checking the CANopen Network arreirar enen de tabs A A EEEN A 2 Maestro Software Ma
83. s by name Syntax int MAC _GetIpByName LPCTSTR cszName LPTSTR szIP Input Parameters LPCTSTR cszName Name of supervisor string with length 32 bytes minimum Output Parameter LPTSTR szIP IP address of supervisor string with length 16 bytes minimum Return Value int command status if 0 OK else error code 1 The API library is not initialized 2 The device is not found Use MAC GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC_GetlpByName _T MAS_1 szIP 9 10 Maestro Software Manual The Maestro API 9 11 MAN MASSW Ver A MAC _IsDevicePresent This function enables the user to check Multi axes controller IP address Syntax int MAC _IsDevicePresent LPCTSTR cszHost DWORD pdwIP Input Parameters LPCTSTR cszHost Host name or IP Address of controller Output Parameter DWORD pdwIP IP address of controller NULL if is Host not found Return Value int command status if 0 OK else error code 1 The API library is not initialized 2 Invalid input parameter zero pointer 3 Unable to create interface CLSID_MaestroLocator The MAS Locator failed The device is not found Use MAC GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC_IsDevicePresent _T 10 10 10 52 amp dwiIP Maestro Software Manual The Maestro AP
84. s id aese 7 1 T ANS a E A T TE S 7 1 PLL ASAS Motion Commande ll a 7 1 FEZ AXIS TOPCTNCS iii A A dis 7 2 Fko Ag SE INC O a a N 7 3 Maestro Software Manual Contents MAN MAMSW Ver A Ped COUP E si 7 5 TZ Group Motion COM MAIS ue ics ie sdencetasrenoetahs duced basic tales is danesa 7 9 lalo STO ELO PET 7 9 L200 ASEO PUNCUOIS add dido 7 6 Poo NOCO onenian E AEE R EA E 7 7 koad Vector Monon Comand S eeri aea EE 7 7 ES lo S masinpa En eA EAN EE E A 7 8 dor y VECOr BUNCTIONS sirnaa a tetccesa cine alee iaesentaele eee sameeren ena 7 12 PA CCM era AA O A A OAE 7 17 Chapter 8 MAXL Procrant Lanus 8 1 Ol Lexical Conventions inicial A 8 1 Oleh COMNEN S AAA 8 1 SL TENA ers idas 8 2 SL INIA Key Words sarastiesssctias esac hei T pastes ad AT 8 3 SLA PUNCU O Si 8 3 So Operatoria 8 3 LO tera unico is caia 8 5 OLO Integer Consta it 8 5 koz Ploatine Pomt Constantina dia 8 6 OOO ZOU LEa mada 8 8 02 DASE CONCEP iaa 8 8 8 2 1 Declarations and Definitions loli liada 8 8 Oleh Declaratoria EA 8 8 822 Delitos aa da 8 9 O27 A A TO 8 9 820 Startuprand Terna On isc isc seis is 8 9 8 2 3 1 Program Startup the run Functi0N oooocnnocccnnooncnnonanonnnnnonananinnnnos 8 9 20 1 FOSHAN CRI Ma oN sena 8 10 OZ EV DES A 8 10 O24 Fundamental Pesas aida 8 11 212 ODE PESA a 8 11 Oo Standard CONVE Sumba ici 8 11 OE EXPressiON Saca 8 12 OAL Types of Expressions asimilados iia 8 12 9 4 lb MAA Primary EXPressiONS i
85. s of the same name in the same function are illegal 8 6 Functions 8 6 1 Function definition A function definition specifies the name of the function the types and number of arguments it expects to receive and types and number of return arguments A function definition also includes a function body with the declarations of its local variables and the statements that determine what the function does function definition function function name argument list function body Maestro Software Manual MAXL Program Language MAN MAMSW Ver A end function function type variable name function name argument list function body end function function argument list function name argument list function body end function argument list type name argument list type name function body declaration statements statements Examples function int max_value MAX_INT int a int b int c int max_a_b if a gt b max_a_b a else max_a_b b end if if max_a_b gt c max_value max_a_b else max_value c end if end function This is function with name MAX_INT has three integer input arguments a b c and one integer return argument max_value Function body includes one declaration statement local integer variable max_a_b and two statements if else Maestro Software Manual MAXL Program Language MAN MAMSW Ver A function int min1 int min2 MIN_2_INT int a int b int c int max_a_b int m
86. s1 res2 res3 a 2 b 4 c 9 resl a b c res2 a b c res3 a b c end function The output from the preceding code is res1 38 res2 38 res3 54 The order in which the res1 is evaluated is determined by the precedence and associativity of the operators Maestro Software Manual MAXL Program Language MAN MAMSW Ver A 1 Multiplication has the highest precedence in this expression hence the subexpression b c is evaluated first 2 Addition has the next highest precedence so a is added to the product of b and c 3 Assignment operator has the lowest precedence in the expression When parentheses are used to group the subexpressions they alter the precedence and also the order in which the expression is evaluated 8 5 Statements MAXL statements are the program elements that control how and in what order objects are manipulated MAXL statements are executed sequentially except when an expression statement a selection statement an iteration statement or a jump statement specifically modifies that sequence Syntax statement declaration statement labeled statement expression statement selection statement Iteration statement Jump statement 8 5 1 Labeled Statements To transfer program control directly to a given statement the statement must be labeled Syntax labeled statement Maestro Software Manual MAXL Program Language MAN MAMSW Ver A HHdentifier statements ca
87. se expression statements otherwise statements 8 5 1 1 Using Labels with the goto Statement The appearance of an identifier label in the source program declares a label Only a goto statement can transfer control to an identifier label The following code fragment illustrates use of the goto statement and an identifier label to escape a nested loop for i 0 2 20 for j 2 16 if i gt j 10 goto lab end if end for end for label I 0 A label cannot appear by itself but must always be attached to a statement The label has function scope and cannot be redeclared within the function However the same name can be used as a label in different functions 8 5 1 2 Using Labels in the case Statement Labels that appear after the case keyword cannot also appear outside a switch statement This restriction also applies to the otherwise keyword The following code fragment shows the correct use of case labels switch cmd case 1 begin motion axis bg case 2 motor On axis mo 1 case 3 motor Off axis mo 0 otherwise get motor status cmd axis ms Maestro Software Manual MAXL Program Language MAN MAMSW Ver A end switch 8 5 2 Selection Statements The MAXL selection statements if and switch provide a means to conditionally execute sections of code Syntax selection statement if expression statement end if if expression statement else statement end if switch expre
88. sequence for Vector Call Format lt Vector name gt starts lt Vector name gt starts lt Trajectory name gt lt Trajectory name gt name of Vector PVT table trajectory for saving Return Value Terminal only OK Ok FAILED Error message Example V1 starts begin polyline trajectory calculation without saving the results in afile V1 starts traj_name begin polyline trajectory calculation with saving result in file trajectory named traj_name For more information see the vector ends function example Maestro Software Manual Motion Instructions MAN MASSW Ver A startp begin user s PVT trajectory sequence for Vector Call Format lt Vector name gt startp lt Vector name gt startp lt Trajectory name gt lt Trajectory name gt name of Vector PVT table trajectory for saving Terminal only OK Ok FAILED Error message Example V1 startp begin user s PVT trajectory without saving result in file V1 startp traj_name begin user s PVT trajectory with saving result in file trajectory named traj_name For more information see the vector ends function example Function clears remove user s or polyline trajectory sequence for Vector motion object lt Vector name gt clears Terminal only FAILED Error message Vecl clears Function addcircle add circle segment to trajectory sequence for Vector motion object Call Format lt Vector name gt addcircle int lt Radius gt float lt Star
89. ssion statement end switch 8 5 2 1 The MAXL if Statement The if statement evaluates the expression enclosed in parentheses The expression must be of arithmetic type In both forms of the if syntax if the expression evaluates to a nonzero value true the statement dependent on the evaluation is executed otherwise it is skipped In the if else syntax the second statement is executed if the result of evaluating the expression is zero if b 4 if c 18 a 1 b is 4 cis 18 else a 2 b is 4 cisnt 18 end if else a 3 bisnt 4 end if 8 5 2 2 The MAXL switch Statement The MAXL switch statement allows selection among multiple sections of code depending on the value of an expression Maestro Software Manual MAXL Program Language MAN MAMSW Ver A The switch statement causes an unconditional jump to into or past the statement that is the switch body depending on the value of the controlling expression the values of the case labels and the presence or absence of a otherwise label The switch body is normally a compound statements although this is not a syntactic requirement Usually some of the statements in the switch body are labeled with case labels or with the otherwise label Labeled statements are not syntactic requirements but the switch statement is meaningless without them The otherwise label can appear only once Syntax case expression statements otherwise statements T
90. string Sample int retVal MAC_DownloadProgram hCom szPath 9 16 Maestro Software Manual The Maestro API MAN MASSW Ver A MAC RemoveProgram This function enables the user to remove a program from the Multi axes supervisor Syntax int MAC_RemoveProgram COMMUNICATION_HANDLE hCommunication LPCTSTR cszName Input Parameters COMMUNICATION HANDLE hCommunication Multi axes supervisor communication handle LPCTSTR cszName Program name if remove all Return Value int Error value 0 OK gt 0 communication error codes 1 The APT library is not initialized 2 Zero Communication Handle 3 Bad Communication Handle 4 Unable to create interface ITNElmoPublic 5 Remove Program failed Use MAC GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC_RemoveProgram hCom _T 9 17 Maestro Software Manual The Maestro API MAN MASSW Ver A MAC DownloadResources This function enables the user to define new resources for Multi axes supervisor Syntax int MAC_DownloadResources COMMUNICATION_HANDLE hCommunication LPCTSTR cszLocalPath BOOL bRestart Input Parameters COMMUNICATION_HANDLE hCommunication Multi axes supervisor communication handle LPCTSTR cszLocalPath Path to resources file on desktop computer BOOL bRestart Restart controller with new resources Return Value int Error value O OK
91. t Angle gt float lt Sweep Angle gt Parameters int lt Radius gt radius of circle segment counts float lt Start Angle gt start angle of circle segment grads float lt Sweep Angle gt sweep angle of circle segment grads Return Value Terminal only OK Ok FAILED Error message Example Vecl addcircle rad alpha delta For more information see the vector ends function example Function addline add linear segment to trajectory sequence for Vector motion object Call Format lt Vector name gt addline int lt Pos X gt int lt Pos Y gt Parameters int lt Pos X gt lt Pos Y gt destination position of linear segment counts beginning of segment current position Return Value Terminal only OK Ok FAILED Error message Example Vec1 addline 1000 2000 For more information see the vector ends function example Maestro Software Manual Motion Instructions MAN MASSW Ver A addpoint add PVT point to user s trajectory sequence for Vector Call Format lt Vector name gt addpoint int lt Pos X gt int lt Vel X gt int lt Pos Y gt int int lt Vel Y gt int lt T gt Parameters int lt Pos X gt lt Pos Y gt position for PVT point counts int lt Vel X gt lt Vel Y gt velocity for PVT point counts per second int lt T gt interpolation period for PVT point milliseconds 0 255 Return Value Terminal only OK Ok FAILED Error message Example Vec1 addpoint 1000 30000 2000 400
92. ta iea a a 8 13 GEL Post EXpPrESSIONS datada 8 14 8 4 1 3 Expressions with Unary Operators coooocccnonoccnnonnnononancnnonncnananannns 8 15 8 4 1 4 Expressions with Binary Operators cocoocccnnoocccnoncncnonnnonananonananinnns 8 16 OA NEAL Losical Operator tada e 8 22 O46 Simple ASS MIM ONG rn dde dida 8 23 GAZ Semantics OF EXpressiOns uieii e a ET E 8 23 DAZ Order or Evaluation oriana na E e 8 23 00 OENE a S a a E 8 24 GoL Labeled Statements earan a e n a a msierieeiaon 8 24 8 5 1 1 Using Labels with the goto StateMeNt ooonooccnnnnccnonoccnnonanonnnnnannns 8 25 8 5 1 2 Using Labels in the case State t coooooccnnoncccnoncccnnnannonananonnnnnnnnns 8 25 000 2 Selection otatements ainda 8 26 00 21 Te WIA XL Statement E E 8 26 8 5 2 2 The MAXL switch Statement c ccccccceccesceccecccecceccescescescaccaes 8 26 Maestro Software Manual Contents a MAN MAMSW Ver A Ss ETALION Sta tenen ia 8 28 8 5 3 1 The MAXL while Statement ccoocccnonocononiccnoniocononicononocononicinaniconos 8 28 00 02 The MAXLE for otatemente salida 8 29 ORDA JU protate ment sli 8 29 8 5 4 1 The MAXL break Statement cccoooccnnnocononiocononoccnnnccnonacononicononaninnn 8 30 8 5 4 2 The MAXL continue StateMenNt occconcccnnnccnnnncccnonirononiocononicinuniccnos 8 30 8 5 4 3 The MAXL return StateMent ooocccnnnoccnnnocnnonicononicononoconenicinaniconos 8 30 65 44 The Soto Statements 8 31 8 0 Declaration State Mentes nd
93. tion Statements Iteration statements cause statements or compound statements to be executed zero or more times subject to some loop termination criteria When these statements are compound statements they are executed in order except when either the break statement or the continue statement is encountered For a description of these statements see The break Statement and The continue Statement MAXL provides two iteration statements while and for Each of these iterates until its termination expression evaluates to zero false or until loop termination is forced with a break statement Syntax iteration statement while expression statements end while for dentifier variable expression step expression terminat expression statements end for 8 5 3 1 The MAXL while Statement The while statement executes a statement repeatedly until the termination condition the expression specified evaluates to zero Maestro Software Manual MAXL Program Language MAN MAMSW Ver A The test of the termination condition takes place before each execution of the loop therefore a while loop executes zero or more times depending on the value of the termination expression For example while attribute lt 56 attrbute attribute 17 TRACE Attribute attribute end while 8 5 3 2 The MAXL for Statement The for statement can be divided into three separate parts as shown in Table for Loop Elements Synt
94. tion error codes 1 The APT library is not initialized 2 Zero Communication Handle 3 Bad Communication Handle 4 Unable to create interface ITNElmoPublic 5 TNElmo server Dispatch event failed Use MAC GetLastError to any function that has a return value 0 see example to retrieve error string Sample int nOk MAC_RegCloseCallback hComm MyCloseCallback 9 22 Maestro Software Manual MAN MASSW Ver A Chapter 10 The Recorder Elmo s Recorder is used to record actions and events on the axes connected to SimplIQ drives This is particularly useful with the Maestro as the movements of several axes can be recorded simultaneously The results can then be used to debug applications and to track performance 10 1 Accessing the Recorder The recorder can be started by clicking the recorder exe icon This causes the window below to open The next step is to open a line of communication with a Maestro by clicking the connect button 3 on the menu e7 Offline Recorder aa x w e El o x Resolution i Trigger F Time Node d signal oE F mig ESOO Delay z gt Resolution Trigger i Slope Rata ES Record time 10 10 10 103 You 10 10 10 52 Natalie Figure 10 1 Opening a Line of Communications with a Maestro E Connected to 10 10 10 52 Recorder Actions wiew Help 2825 5 ol x Resolution Trigger High resolution Delay oz Resolution Trigger Begin Motion
95. ton List Function Create a new program Open an existing program Upload a program from connected drive Cut text from the program Copy selected text in the program E gt FA mj Save the currently open program dt Cal Paste text into the program k 4 Undo last action Redo last undo K Display Hide Toggle the workspace alia Display Hide toggle the Output window 4 Find displayed item Find all occurrences of selected item ll Print program P Get context sensitive help Table 3 1 Standard Toolbar Elements Maestro Software Manual MAN MAMSW Ver A Button List de T eG W P Function Rebuild a progran Build a program Compile a program Execute a program Activate the debugger Break Kill the program Insert Remove toggle breakpoint Remove all breakpoints Step into Step over Step out Run to cursor Display Hide toggle Watch window Display Hide toggle Stack window Program limits Recordable variables Table 3 2 Build Toolbar Elements Program Editor Menus 3 4 Maestro Software Manual MAN MAMSW Ver A Program Editor Menus 3 1 3 The Menu Bar The menu bar along the top of the Program Editor provides access to the full range of tools and options The main menu options are described in Table 3 3 Menu Option File E New Cera gt Open Cbr ER Upload Program trl im Close mj gave Chrl 5 Save
96. tory from Multi axes supervisor Syntax int MAC_RemoveTrajectory COMMUNICATION_HANDLE hCommunication LPCTSTR cszName Input Parameters COMMUNICATION HANDLE hCommunication Multi axes supervisor communication handle LPCTSTR cszName Trajectory name if remove all Return Value O OK gt 0 communication error codes 1 The API library is not initialized Zero Communication Handle Bad Communication Handle Unable to create interface ITNElmoPublic Oo A Q N Remove Trajectory failed Use MAC_GetLastError to any function that has a return value 0 see example to retrieve error string Sample int retVal MAC_RemoveTrajectory hCom _T MyTr3 9 15 Maestro Software Manual The Maestro API MAN MASSW Ver A MAC _DownloadProgram This function enables the user to download program to Multi axes supervisor Syntax int MAC_DownloadProgram COMMUNICATION_HANDLE hCommunication LPCTSTR cszLocalPath Input Parameters COMMUNICATION HANDLE hCommunication Multi axes supervisor communication handle LPCTSTR cszName Trajectory name if remove all Return Value int Error value 0 OK gt 0 communication error codes 1 The APT library is not initialized 2 Zero Communication Handle 3 Bad Communication Handle 4 Unable to create interface ITNElmoPublic 5 Download program failed Use MAC GetLastError to any function that has a return value 0 see example to retrieve error
97. tributed motion control architecture 1 1 Maestro Highlights The Maestro operates as a Multi Axis Motion Supervisor to coordinate motion between various axes in synchronized interpolated mode integrate event handling into motion control procedures The Maestro operates as a CANopen Network Node Master for Network management NMT Clock synchronization Network Configuration The Maestro operates as a Ethernet CAN gateway The Maestro acts as a file archiver and distributor of Firmware Maestro and intelligent drives Multi Axis User Applications Maestro and intelligent drives System Resources The Maestro operates as a Multi Axis Motion Analysis amp Development tool Multi Axis recording and analysis tools Multi Axis application development environment The Maestro can be monitored through a web browser Machine Programming And Control Ethernet Multi Axis Maestro 4 Motion Control CANopen Single Axis Motion Control Figure 1 1 Maestro Multi Axis Control Architecture Maestro Software Manual Introduction MAN MAMSW Ver A 1 2 Supplementary Documents This manual is part of a documentation set that together can be used to set up and program the motion of any machine whose motors are controlled by Elmo SimplIQ servo drives Before you can use this manual you will need to carefully follow the instructions in the Maestro Installation Guide to set up your Maestro The softwa
98. u to have the Program Editor compile the program and automatically download it to the connected drive To build a program click ti or select Build Build The Program Editor will first compile the program If no errors occur it will then send the program to the Servo drive where it will be saved in the drive memory 4 7 Running a Program To run a program after it has been downloaded to a drive click l or select Build Execute The program will run independently of all debug options such as Breakpoint and Step by step To stop a program while it is running click 3 or select Build Kill Program Maestro Software Manual Using the Program Editor 7 _5 MAN MASSW Ver A 4 8 Debugging The Program Editor contains powerful tools for debugging the programs that you create and edit It enables you to mark your program with breakpoints and to control the debugging process according to your needs Basically you perform debugging according to the following steps 1 Identify the section of the program where you suspect that a problem lies This may be according to run time error messages that you receive from the drive 2 Mark the first instruction of that section with a breakpoint clicking anywhere in the line and then clicking M pressing lt F9 gt or selecting Build Debug Set Reset Breakpoint You can cancel a breakpoint by repeating this action 3 You may also drag and drop variables from the program into the
99. uals Maestros ork Sheet Examples elmo _logoxelmoa_logo nmrs Ok Maestro successtully restarted Building succeeded gt Build Debug Findin Fies 1 Findin Files 2 Co For Help press Fl Ln 62 Col 9 Das NUM a Figure 3 1 The Maestro s Program Editor This chapter briefly describes the menus toolbars and functionality of Elmo s Program Editor You may wish to consult the relevant Elmo Software Manual Composer User Manual or SimplIQ Command Reference for more information about specific program structures definitions and limits of Elmo products Go Elmo Studio elmo_logo maxl lt TELNET gt E 3 1 Maestro Software Manual Program Editor Menus MAN MAMSW Ver A 3 1 The Program Editor Desktop Upon accessing Elmo s Program Editor you will see a set of open windows that can be opened and closed and manipulated as needed Across the top as in most Windows applications is the menu bar with movable and customizable toolbars beneath it Soak Desktop Windows The following windows provide on going information as you work in the Program Editor Workspace window This is where the program being edited compiled or debugged is displayed In order to display multiple parts of this file at the same time select Window New Window An additional pane will be displayed for you to view a different part of the same program To open and close this window toggle the 13 button Stack window During de
100. ubtraction These binary operators have left to right associativity Syntax adaitive exporession expression expression exoression expression expression adaitive exoression The additive operators take operands of arithmetic type The result of the addition operator is the sum of the operands The result of the subtraction operator is the difference between the operands 8 4 1 4 3 MAXL Shift Operators The bitwise shift operators are e Right shift gt gt e Left shift lt lt Maestro Software Manual MAXL Program Language MAN MAMSW Ver A These binary operators have left to right associativity Syntax shift expression expression lt lt expression expression gt gt expression expression additive expression Both operands of the shift operators must be of integral types The type of the result is the same as the type of the left operand The value of a right shift expression el gt gt e2 is el 222 and the value of a left shift expression el lt lt e2 is el 2e2 The results are undefined if the right operand of a shift expression is negative or if the right operand is greater than or equal to the number of bits in the promoted left operand The left shift operator causes the bit pattern in the first operand to be shifted left the number of bits specified by the second operand Bits vacated by the shift operation are zero filled This is a logical shift as opposed to a shift
101. vbl PVT buffer length default value 32 ver const PVT resolution flag default value 0 vdc trajectory deceleration counts per second vin number of trajectory cycles default value 1 vqt trajectory step time millisecond vsc smoothing curve mode 0 non smoothed 1 smoothed with max velocity default value 2 smoothed with fixed radius vse trajectory end velocity counts per second vsf smooth factor time in ms for max speed access vsm send command mode 0 sync mode use group id 1 async mode use node id default value vsp trajectory fixed velocity counts per second vsr radius counts for smoothing curve mode vsc 2 vtt trajectory fixed time millisecond vum trajectory build mode 1 max velocity mode 2 fixed time mode 3 fixed velocity mode default value Maestro Software Manual MAN MASSW Ver A Command quit restart run starts subnet sync time trj ver Description g group properties gsm send command mode 0 sync mode use group id Command Line I nterface Example amp Parameters grp gsm 1 1 async mode use node id default value close current session restart Maestro kernel with current configuration run virtual machine begin polyline trajectory sequence for vector motion object define Subnet Address for the Maestro format subnet to display Subnet Address subnet to define Subnet Addr define sync parameter
102. xists Maestro Software Manual MAN MAMSW Ver A Chapter 8 MAXL Program Language This chapter describes how to write Maestro programs on internal language MAXL 8 1 Lexical Conventions This paragraph includes the fundamental elements of a MAXL Multi Axis Language program as they are meaningful to the compiler These elements called lexical elements or tokens are used to construct statements definitions declarations and so on which are used to construct complete program Tokens include e Comments e Identifiers e MAXL keywords e Punctuations e Operations 8 1 1 Comments A comment is text that the compiler ignores but that is useful for programmers Comments are normally used to annotate code for future reference The compiler treats them as white space You can use comments in testing to make certain lines of code inactive Chapter 8 A MAXL comment like C is written in one of the following ways e The slash asterisk characters followed by any sequence of characters including new lines followed by the characters This syntax is the same as ANSI C e The two slashes characters followed by any sequence of characters A new line not immediately preceded by a backslash terminates this form of comment Therefore it is commonly called a single line comment This syntax is the same as ANSI C The comment characters and have no special meaning within a charact
103. y vi addline 0 k_x 20000 k_y v1 addcircle 10000 k_y 90 180 v1 vsp 50000 v1 vse 0 v1 addline 20000 k_x 0 k_y letter T v1 addline 30000 k_x 20000 k_y v1 addline 30000 k_x 0 k_y vi addline 40000 k_x 0 k_y v1 vsp 50000 v1 vse 0 v1 addline 50000 k_x 20000 k_y letter m v1 vsp 50000 v1 vse 0 v1 addline 50000 k_x 0 k_y v1 addline 50000 k_x 15000 k_y v1 addcircle 5000 k_x 180 180 v1 vsp 50000 vi vse 0 vi addline 60000 k_x 0 k_y v1 addline 60000 k_x 15000 k_y v1 addcircle 5000 k_x 180 180 if a1 sf SmoothFactor ai mo 0 a1 sf SmoothFactor a1 sd 1000000000 end if if a2 sf l SmoothFactor a2 mo 0 a2 sf SmoothFactor a2 sd 1000000000 end if if al mo 0 a1 mo 1 end if if a2 mo 0 a2 mo 1 end if al pa x_from_lim a2 pa y_from_lim a1 bg a2 bg while a1 ms a2 ms wait 50 end while sync 0 10 v1 attach vi vum 1 max velocity mode vi vac 28000000 v1 vsc 1 non smoothed v1 addline 70000 k_x 0 k_y v1 vgt 4 Netter o end function vi addline 80000 k_x 15000 k_y v1 addcircle 5000 k_x 180 180 wait for motion status of vector 0 vi addline 90000 k_x 5000 k_y function wait_motion v1 addcircle 5000 k_x O 180 v1 vsp 50000 while a1 ms a2 ms wait 1 v1 vse 0 end v1 addline 80000 k_x 15000 k_y end function
104. y equality operators compare their operands for strict equality or inequality Syntax equality expression expression expression expression expression expression equality expression The equality operators equal to and not equal to have lower precedence than the relational operators but they behave similarly Maestro Software Manual MAXL Program Language MAN MAMSW Ver A The equal to operator returns 1 if both operands have the same value otherwise it returns 0 The not equal to operator returns 1 if the operands do not have the same value otherwise it returns 0 Equality operators can compare pointers to members of the same type 8 4 1 4 5 MAXL Bitwise Operators The bitwise operators are Bitwise AND amp e Bitwise exclusive OR e Bitwise inclusive OR These operators return bitwise combinations of their operands 8 4 1 4 5 1 Bitwise AND Operator The bitwise AND operator amp returns the bitwise AND of the two operands All bits that are on 1 in both the left and right operand are on in the result bits that are off 0 in either the left or the right operand are off in the result Syntax and expression expression amp expression expression and expression Both operands to the bitwise AND operator must be of integral types 8 4 1 4 5 2 Bitwise Exclusive OR Operator The bitwise exclusive OR operator returns the bitwise exclusive OR of the two ope
105. z Variable vale Description O vi Naten 1 Start Debug Le be 38 Error elmo_logo 26 ROD6 build in function error for ELMO_LOGO Kernel Error Can t build trajectory Radius lt 1 parameter out of range for 1 Debug 4 Find in Files 1 Find in Files 2 Communication Log Figure 4 1 Debugging Process Maestro Software Manual Using the Program Editor 4 6 MAN MASSW Ver A The following debugging tools are available for enabling you to manually debug your program in conjunction with the Program Editor debugger Button Menu Option Description j Build Debug Break Stop the debugger as it is running Y Build Debug Step Into Enter function and stop at first command H Build Debug Step Over Execute next instruction and then stop pp Build Debug Step Out Continue and then stop at first instruction before current function is called Build Debug Run to Cursor Halt execution at source line at which the cursor is presently standing no breakpoint needed Table 4 1 Debugging Tools Maestro Software Manual MAN MASSW Ver A Chapter 5 Host Communications This chapter explains how to set up the Workspace to work with a specific Maestro as a host 5 1 Setting Up the Host A Select Maestro window pops up when starting a new worksheet The window contains a list of Maestros currently attached to the network The IP Address of the Maestro and its name are listed Select the M
106. ze recorded motions zooming in and out of the graphs You may add required text to the graphs retrieve statistical information such as average and maximum values and calculate step response parameters such as bandwidth and damping Scope scope sdv File View Window Zoom Objects Analyze Help Sres D S alel jajajala Ed Display 1 al Position Command a2 Position Command 1500 0 200 Ea ag al Position Command Figure 10 8 Viewing the Recorded Motion 10 4 Maestro Software Manual MAN MAMSW Ver A Appendix A Setting up the Demo Case The SimplIQ Demo amp Training Case is an ideal tool for developing dual axis applications It contains two Bassoon digital servo drives each connected to a servo motor The Bassoons can be programmed directly with a standard RS 232 connection The Maestro can be connected via the case s CAN port Figure A 1 The SimplIQ Demo amp Training Case A 1 Setting Up the CAN nodes For CANopen networks to function properly every node on the network must be unique and the network must be terminated A simple terminator is supplied with the Demo Case If its not already in use plug it into the last servo drive s open CANopen port Figure A 2 CANopen Com Line Terminator Maestro Software Manual Setting up the Demo Case MAN MAMSW Ver A To ensure that the nodes are unique connect to each Bassoon separately an check the CAN node with the PP 13 c
Download Pdf Manuals
Related Search
Related Contents
Samsung Galaxy A3 User Manual(Lollipop) Spot Manager - User Manual - Laurence, Pierre 業務用4K液晶モニター PVM-X300 Samsung SPF-72V Manuel de l'utilisateur EXSYS EX-42052-T ALTA7EH - DITEC ENTREMATIC Zanussi ZWN6120L washing machine Copyright © All rights reserved.
Failed to retrieve file