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
workload in a distributed 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:
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
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 software 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
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.
SimplIQ manuals shown below explain how to set up and program
Commands for SimplIQ 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 PC with serial port and
ASCII terminal software.
CANopen Serial, multi-drop, medium speed and medium-range
communication. This type of communication requires specialpurpose host hardware and software.
1-3
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 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-MASSW (Ver. Q)
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
The Command Line Interpreter is a utility that enables individual commands to be executed
immediately by either the
The Kernel is the part of the Maestro that executes user programs.
Maestro to communicates with the “outside world”.
Maestro or by a SimplIQ drive on a specified axis.
2-1
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 CAN Open network. The CAN
Network Communication Server contains the CAN Open interfaces and protocols that
enable the
Maestro to do so.
Key:
Host Communication Services
Command Line Interpeter
Virtual Machines
(for executing User Programs)
Motion Manager
CAN Network
Communications Server
Virtual
Machine
Host
API
Command Line Interpeter
Virtual
Machine
Virtual
Machine
I/O
Kernel
Group
EthernetRS - 232
WEBTelNet
Gateway
Vector
CAN
Bus
Axis Manager
Services
CANopen (DS-301)
CANopen Master
CANopen API
Figure 2-1 The Maestro's Building Block
Maestro Software Manual Functional Overview
MAN-MASSW (Ver. Q)
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
2-2
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
One of the main Kernel functions is running Maestro User Programs. The part of the
Kernel which executes the User Programs is the Virtual Machine which enables multiaxis programming. Each task (program) can work independently of the other tasks by
running a separate virtual machine. Communication and synchronization between tasks
can be performed by using global variables. Multiple tasks can be used to run different
machine functions in parallel.
Maestro Software Manual Functional Overview
MAN-MASSW (Ver. Q)
2.5 Motion Manager
The Motion Manager is the portion of the Kernel which provides services for the I/O and
the following motion objects:
Axis
Group
Vector
2.6 CANopen Network Communications Services
The CANopen Network Communication is the portion of the Kernel which provides the
following functionality:
CANopen Bus services
CANopen DS 301 Protocol
2-3
CANopen Master
CANopen API
Maestro Software Manual
MAN-MASSW (Ver. Q)
Chapter 3: Host Communications
This chapter explains how to set up the Workspace to work with a specific Maestro as a
host.
3.1 Setting Up the Host through Elmo's Studio
A Select Maestro pick list pops up when starting a new worksheet for the first time. 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 Maestro you plan to work with and click OK.
3-1
Figure 3-1 The Maestro Selection Window
3.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.
Figure
3-2 Right Mouse Button
Selection Options
Figure 3-3 The Workspace Settings Window
Maestro Software Manual Host Communications
MAN-MASSW (Ver. Q)
3.3 Choosing the Host through the Composer
Select Start/Programs/Elmo/Composer to start Elmo's Composer and check the setup.
3-2
1. In the Welcome menu select the Open Communication Directly option.
2. In the Application Name and Communication Type dialog box check the TCP/IP
Gateway option and click the Properties button.
3. In the Select Drive dialog you should see at least one Maestro in the Gateway list.
Select it.
4. Go to the drive window, select one of the drives and click OK to open
communications with the selected drive.
5. If the Composer has no information about the device that was selected, it will
upload the device info. That could take a minute or two.
6. If all is connected properly, the Smart Terminal window in the Composer will
open.
Maestro Software Manual
MAN-MASSW (Ver. Q)
Chapter 4: General and Motion
Instructions; Configuration Tools
This chapter describes the Maestro input/output and motion objects, instructions and CAN
configuration tools.
The Maestro Multi-Axis Controller supports the following set of Input/Output Objects:
4-1
•Internal Maestro I/O Objects: the
eight Digital Outputs and four Analog Inputs.
•External CAN I/O: the
to the CANopen DS 401 protocol and use the I/Os on Elmo SimplIQ
devices.
The Maestro Multi-Axis Controller supports the following set of Motion Objects:
•Axis is the most basic
the motion of a single motor/axis.
•Vector2D: This object is comprised of two axes of the same type and it
is used to define two dimensional trajectories.
•Vector3D: This object is comprised of three axes of the same type and it
is used to define two dimensional trajectories.
•Group is a composite
Maestro axes of the same type. This object can be used to
more
synchronize the operation of all the axes in the group.
All motion objects use the same set of Motion Instructions, which include:
Maestro can control external I/Os that conform
Maestro motion object and it is used to control
Maestro motion object that is comprised of two or
Maestro has eight Digital Inputs,
•Commands – instructions sent to an axis (these are similar to the commands
used by SimplIQ drives and are described in the SimplIQ Command Reference).
• Properties – system parameters used to set the behavior of the Maestro.
• Functions – a pre-defined set of motion functions.
There is also a unique set of functions called CAN Bus Configuration Tools that are used to
set up an LSS slave.
Motion instructions can be sent from a terminal or from a
Maestro user program.
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
Table 4-1 Motion Properties and Functions
Axis
Properties
Vector
Properties
Group
Properties
CAN Input
Properties
VAC flr backup
VAE irq
VBT GBT mhl
VCR mlh
VDC msk
ADI plr
ADT VDT
AEL GEL
AEH GEH
AEM GEM
AFP VFP
AID VID GID
ALN VLN
CAN Output
Properties
AMC VMC GMC erm
VNT erv
APE flr
VPE plr
APP VPP
VSC message
VSD
VSE
VSM GSM
VSP
VSR
ATM VTM GTM
ATP
VTT
VUM
VVE
VXT
General
Functions
businfo
bye, quit, or exit
command
date
dynamicip
errlevel
error
find
format
halt
hbperiod
hbrem
ipconfig
isok
kill
list
load
messageex
name
nodeguard
nodeinfo
property
restart
restarta
restartd
restarte
resauto
save
staticip
sync
systime
systimex
time
tstamp
tstampver
umauto
umstart
umstatus
umstop
ver
4-2
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
2D, 3D &
Axis
Functions
Group
Vector
Group
Functions
CAN Configuration
Tools (Functions)
Functions
addcircle plss_activate_bt m_din
adddwell plss_config_bt
addline
addpoint addpoint
plss_config_nid
plss_inq_addr
addsplinep plss_inq_nid
attach attach
circle
clears
detach detach
dotrj dotrj
ends ends
plss_inq_product
plss_inq_rev_num
plss_inq_ser_num
plss_inq_vendor
plss_master_bt
plss_start
error error error plss_store_config
isok isok isok plss_stop
line plss_sw_glb
startstp splinee
plss_sw_sel
splinep
trj splines
startp
starts
trj
m_dout.plr
Maestro I/O
Functions
m_din[]
m_dout
m_dout[]
m_ain[]
m_ain[].offset
m_din.polarity,
m_din.plr
m_dout.polarity,
4-3
Maestro Software Manual
MAN-MASSW (Ver. Q)
4.1 General Functions
Note: Entering a question mark from the terminal before any function name opens the
help text for the function. (Terminal only)
Function
backup
- restart the Maestro with the previous configuration
4-4
Call Format
Limitations
Function
Call Format
Parameters
Limitations
Example
Function
Call Format
Limitations
Example
Function
Call Format
backup
Terminal only
baudrate
- get the CAN bus baud rate
baudrate(BusID)
BusId - CAN bus ID number
Terminal only
baudrate(0)
businfo
- get CAN Bus information
businfo <bus_number> - CAN bus number (default value = 0)
Terminal only
businfo 1
bye, quit or exit
- close the current session
bye
Limitations
Function
Call Format
Limitations
Function
Call Format
Limitations
Example
Terminal only
command
- gets help text with the general structure for the motion
object commands.
?command
Terminal only
date
- get (or set) the current date
date - To change the date, enter a date according to the format
DD.MM.YYYY.
Terminal only
date 16.11.2005.
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
4-5
Function
Call Format
Return Value
Limitations
Example
Function
Call Format
Example
Function
Call Format
Limitations
dynamicip
– configures the Maestro Network Parameters to work with
a DHCP Server (dynamic IP addressing)
dynamicip
EnableDHCP: 1
Terminal only. Restart (power off/on) the Maestro controller to apply a
new dynamic IP address
- get the error stack from the Maestro Multi-Axis Controller
error - get all errors with the current error level
error <level> - get all errors with the specified error level
Terminal only
Example
Function
Call Format
Limitations
Example
Function
Call Format
Limitations
Function
Call Format
Limitations
error 3
– get all errors with error level 3 only
find - Search for an object according to the object’s logical name. If the
object exists, the information is displayed as a “list”. If the object does
not exist, the Maestro returns “Object not found”.
find <object_name>
Terminal only
find axis_1
format – displays the help text that defines how to format a binary,
hexadecimal or floating-point number.
?format.
Terminal only
halt - halt the virtual machine
<name of virtual machine>.halt
Terminal only
Example
vm.halt
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
4-6
Function
Call Format
Parameters
Return Value
Example
Function
Call Format
Parameters
Return Value
Example
hbperiod
- set heartbeat control period
hbperiod(int <bus_number>,int<period>)
<bus_number> - the CAN bus number to use to send heartbeat
messages
<period> - the interval between heartbeat messages in milliseconds (0–
for cancel).
OK or FAILED: Error message
hbperiod(0,1000) – the system uses bus number 0 to send a heartbeat
message every 1000 ms.
hbrem
- remove the node from heartbeat control
hbrem(int <bus_number>,int<node number>)
<bus_number> - CAN bus number
<node number> - the CAN node number of the node to remove from
heartbeat control
OK or FAILED: Error message
hbrem(0,1)
– on CAN bus 0, remove node 1 from heartbeat control
Function
Call Format
Return Value
Limitations
Example
Function
Call Format
Return Value
Limitations
Function
ipconfig
– display the current network configuration type, IP address
and subnet mask
ipconfig
Displays the network configuration type, IP address and subnet mask
Terminal only
ipconfig
EnableDHCP: 1
DhcpIPAddress: 10.10.20.57
DhcpSubnetMask: 255.255.255.0
isok
- verify the Maestro Multi-Axis Controller status
Isok
OK: Ok FAILED: Error message
Terminal only
kill - kill all programs
Call Format
Return Value
Limitations
Kill
OK: the number of killed programs, or FAILED: Error message
Terminal only
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
Function
list - gets a list of all the Maestro objects. An object can be a motion
object (axis, vector, etc.) or a virtual machine.
4-7
Call Format
list [-key:
attribute] … [-key:attribute]
Parameters:
[-b:id] - get information for the specified CAN Bus
[-n] - get information about nodes DS301
[-i] - get information about IO DS401
[-a[:attribute]] - get information about axes. Attributes: target object type. Can be:
e[lmo] - Elmo motion drivers only
402 - DS402 profile motion drivers only
[-v[:attribute]] - get information about vectors. Attributes: target object type. Can be:
e[lmo] - vectors of Elmo motion drivers only
402 - vectors of DS402 profile motion drivers only
[-g[:attribute]] - get information about groups. Attributes: target object type. Can be:
e[lmo] - groups of Elmo motion drivers only
402 - groups of DS402 profile motion drivers only
[-t] - get information about trajectories
[-p[:attribute]] - get information about programs. Attributes: target object type. Can
be:
r[un] - running programs only
p[ause] - paused programs only
h[alt] - halted programs only
a[bort] - aborted programs only
f[ile] - all programs in the device file
Limitations
Example
Function
Call Format
Limitations
[-u] - get information about unrecognized objects
[-f] - get full information about current query
[-s] - get status of current motion object
Terminal only
list
list –b:0 -a
list -p:r
load
- loads the values of all global variables and arrays saved during
the previous save() function
load()
Program only
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
4-8
Function
Call Format
Parameters
Example
Function
Call Format
Parameters
Example
Function
Call Format
Return Value
Limitations
message
- post a message to the host computer (no timestamp)
message(msgID, wParam, lParam) – posts a message without a
timestamp
msgID – user-defined message ID
wParam, lParam – user’s message data (Unsigned integer type)
message ( 0, a1.px, a2.px )
messageex - post a message to the host computer (with time stamp)
messageex(msgID, wParam, lParam) – posts a time-stamped message
msgID – user-defined message ID
wParam, lParam – user’s message data (Unsigned integer type)
messageex( 0, a1.px, a2.px )
name
- get (or set) the logical device name
name – gets the device name
name <device_name> - sets the device name
period - the interval between nodeguard messages in milliseconds (0–to
cancel).
nodeguard (0,1,500) – On CAN bus 0, sets the interval between
nodeguard messages arriving at CAN node 1 to 500 milliseconds.
nodeinfo
– gets the CAN node information
nodeinfo(int <bus_number>,int < node number >)
bus_number - CAN bus ID
node number – CAN node ID
Terminal only.
nodeinfo(0,1)
property
- gets the help text for the motion object property
Call Format
Limitations
? property
Terminal only
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
4-9
Function
Call Format
Limitations
Function
Call Format
restart - Restarts the Maestro and:
• Closes all existing objects
• Kills all virtual machines
• Restarts the Maestro kernel
• Applies the sessions and objects according to the existing
configuration file.
restart
Terminal only
restarta - Restarts the Maestro and:
• Closes all existing objects
• Kills all virtual machines
• Restarts the Maestro kernel
• Applies the sessions and objects according to the existing
configuration file.
•Starts the AUTOEXEC program (if it exists).
restarta
Limitations
Function
Call Format
Limitations
Example
Function
Call Format
Limitations
Terminal only
restartd
configuration
- restarts the Maestro kernel with the default
and sets the baud rate for each CAN bus.
restartd() – for baud rate 500 (default setting)
restartd(baudrate1, baudrate2) –baud rate 0 is not used. If the default
baud rate is not selected, a separate baud rate for each CAN bus must
be specified. If a baud rate for one bus is omitted, an error message is
displayed.
Terminal only
restartd(1000, 1000)
restarte
.
bus
- restarts the Maestro kernel without running the CAN
restarte()
Terminal only
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
4-10
Function
Call Format
Limitations
Example
Function
Call Format
Limitations
Function
Call Format
rsauto
- get (or set) the RS-232 autorun parameter
rsauto() – to get the current autorun parameter
rsauto(val) – to set the current autorun parameter
val can be 0 or1
Terminal only
rsauto(1) – allows the RS-232 bus to access the Command Interpreter
rsauto(0) – does not allow the RS-232 bus to access the Command
Interpreter
save
- to save the values of all the global variables and arrays
save()
Program only
staticip
– configures the Maestro Network parameters to work with
a static IP address
staticip(ip_address, subnet_mask)
ip_address - new IP Address of Maestro device
subnet_mask - new Subnet Mask of Maestro device
Return Value
Limitations
Example
Function
Call Format
Parameters
Return Value
Example
Function
IP Address and Subnet Mask, Network configuration type,
Terminal only. Restart (power off/on ) Maestro to apply Static IP
address.
staticip (10.10.20.57, 255.255.255.0)
IPAddress: 10.10.20.57
SubnetMask: 255.255.255.0
EnableDHCP: 0
sync
- begin sending SYNC messagesto a CAN bus
sync (int <bus_number>,float<sync_period>)
<bus_number> - which CAN bus to send the SYNC messages to
<sync_period> - the value of the SYNC period, in milliseconds
OK or FAILED: Error message
sync(0,20) – for bus number 0 activate the send sync every 20
milliseconds.
systime
- returns the system-defined time in milliseconds
Call Format
Function
Call Format
systime()
systimex
systimex()
- returns the CAN bus time in microseconds
Maestro Software Manual General and Motion Instructions
MAN-MASSW (Ver. Q)
Function
- get (or set) the current time
time
4-11
Call Format
Limitations
Function
Call Format
Parameters
Return Value
Example
Function
Call Format
Limitations
Time
Terminal only
tstamp
- set the timestamp period
tstamp(int <bus_number>,int<period>)
<bus_number> which CAN bus sends the timestamp
<period> - specifies how many sync periods must pass before the new
timestamp is set.
OK or FAILED: Error message
tstamp(0,5)
sync periods.
5
umauto
– for bus number 0, send a timestamp message after each
- get (or set) the user module autorun parameter
umauto() – to get the current autorun parameter
umauto(val) – to set the current autorun parameter
val can be 0 or 1
Terminal only
Function
Call Format
Limitations
Function
Call Format
Limitations
Function
Call Format
Limitations
Function
Call Format
Limitations
umstart
- run the user module
umstart()
Terminal only
umstatus
- get the user module status
umstatus()
Terminal only
umstop
- terminate the user module
umstop()
Terminal only
ver
- get current Maestro version
Ver
Terminal only
Loading...
+ 283 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.