- No category
Kollmorgen S300-S600-S700 Servo Drive DeviceNet Communication_Manual_en-uk_rev12
Add to my manuals
96 Pages
advertisement
DeviceNet
™
S300/S600/S700
Communication Profile
Fieldbus Interface
Translation of the original manual
Edition 12/2010
Keep the manual as a product component during the life span of the product.
Pass the manual to future users / owners of the product.
Datei srdnet_e.***
P r e vi o u s e d i t i o n s
Edition Comments
12 / 02 First edition
07 / 03
New Layout, Object description altered, minor corrections, valid from firmware version S600 5.55,
Declaration of Conformity with DeviceNet™ Specification
03 / 04 several corrections, valid also for S300 from firmware version 1.0
01 / 06 chapter 1 restructured, several changes, wording updated
09 / 06 new design
08 / 07 Branding, S700 new, standards
12 / 09 Branding, minor corrections, symbold acc. to ANSI Z535
12 / 10 Company name
SERVOSTAR is a registered trademark of Kollmorgen Corporation
Technical changes to improve the performance of the equipment may be made without prior notice !
Printed in the Federal Republic of Germany
All rights reserved. No part of this work may be reproduced in any form (by photocopying microfilm or any other method) or processed, copied or distributed by electronic means, without the written permission of Kollmorgen Europe GmbH.
Kollmorgen
12/2010
Contents
P a g e
I n s t a l l a t i o n / S e t u p
D e vi c e N e t O ve r vi e w
DeviceNet for S300/S600/S700 3
Contents
12/2010
Kollmorgen
P a g e
4 E x p l i c i t m e s s a g e s
4 DeviceNet for S300/S600/S700
Kollmorgen
12/2010
Contents
P a g e
DeviceNet for S300/S600/S700 5
Contents
12/2010
Kollmorgen
P a g e
P o l l e d I / O m e s s a g e s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
6 DeviceNet for S300/S600/S700
Kollmorgen
1
1.1
1.2
1.3
12/2010
General
General
About this manual
This manual describes the setup, range of functions and software protocol of the
SERVOSTAR
®
300, SERVOSTAR
®
600 and S700 servo amplifiers with the DeviceNet™ communication profile. It forms part of the complete documentation for these servo amplifiers.
The installation and setup of the servo amplifier, as well as all standard functions, are described in the corresponding instructions manuals.
Other parts of the complete documentation for the digital servo amplifier series:
Title
Online-Help for Setup Software instructions manual for the servo amplifier
Publisher
Kollmorgen
Kollmorgen
Additional documentation:
Title
DeviceNet Specification, Volumes I, II, Release 2.0
Publisher
ODVA
CAN Specification Version 2.0
CiA e.V.
ISO 11898 ... Controller Area Network (CAN) for high-speed communication ISO
Target group
This manual addresses personnel with the following qualifications:
Transport : only by personnel with knowledge of handling electrostatically sensitive
Unpacking:
Installation :
Setup : components.
only by electrically qualified personnel.
only by electrically qualified personnel.
Programming: only by qualified personnel with extensive knowledge of electrical engineering and drive technology
Software developers, DeviceNet project-planners
The qualified personnel must know and observe the following standards:
IEC 60364 and IEC 60664 accident prevention regulations
During operation there are deadly hazards, with the possibility of death, severe injury or material damage. The operator must ensure that the safety instructions in this manual are followed. The operator must ensure that all personnel responsible for working with the servo amplifier have read and understood the instructions manual.
Training courses are available on request.
Hints for the online edition (PDF format)
Bookmarks:
Table of contents and index are active bookmarks.
Table of contents and index in the text:
The lines are active cross references. Click on the desired line and the appropriate page is indicated.
Page/chapter numbers in the text:
Page/chapter numbers with cross references are active. Click at the page/chapter number to reach the indicated target.
DeviceNet for S300/S600/S700 7
General
1.4
1.5
1.6
1.7
1.8
8
12/2010
Kollmorgen
Use as directed
Please observe the chapter “Use as directed” in the instructions manual for the servo amplifier.
The DeviceNet interface serves only for the connection of the servo amplifier to a master via the DeviceNet bus.
The servo amplifiers are components that are built into electrical apparatus or machinery, and can only be setup and operated as integral components of such apparatus or machinery.
We can only guarantee the conformity of the servo amplifier with the following standards for industrial areas when the components that we specify are used, and the installation regulations are followed:
EC EMC Directive
EC Low Voltage Directive
2004/108/EG
2006/95/EG
System requirements
—
—
—
Servo amplifier SERVOSTAR 600, serial No. 730266001 or higher or a SERVOSTAR 300 or a S700
DeviceNet expansion card for the servo amplifier
Master station with a DeviceNet interface (e.g. PC with DeviceNet card)
Symbols used
Symbol Indication
Indicates a hazardous situation which, if not avoided, will result in death or serious injury.
Indicates a hazardous situation which, if not avoided, could result in death or serious injury.
Indicates a hazardous situation which, if not avoided, could result in minor or moderate injury.
Indicates situations which, if not avoided, could result in property damage.
This is not a safety symbol.
This symbol indicates important notes.
Abbreviations used
The abbreviations used in this manual are explained in the table below.
Abbrev.
ACC
BOI
CAN
CCW
COS
CW
EMC
ISO
LED
LSD
MAC ID
M/S
MSD
N/A
ODVA
S300
S600
Meaning
Acceleration
Bus Off interrupt
Controller area network
Counter clockwise
Change of state
Clockwise
Electromagnetic compatibility
International Standardization Organization
Light-emitting diode
Least significant digit
Media access control identifier
Master/slave
Most significant digit
Not applicable
Open DeviceNet Vendor Association
SERVOSTAR 300
SERVOSTAR 600
Application of this manual
Specific examples for individual chapters can be found in the appendix of this manual.
DeviceNet for S300/S600/S700
Kollmorgen
1.9
12/2010
General
Basic features implemented through DeviceNet
—
—
—
When working with the position controller that is integrated in the digital servo amplifiers, the following functions are available:
Setup and general functions: homing, set reference point jogging, with a variable speed provision of a digital setpoint for speed and torque control
Positioning functions:
—
—
— execution of a motion task from the motion block memory of the servo amplifier execution of a direct motion task absolute trajectory
Data transfer functions:
—
— transmit a motion task to the motion block memory of the servo amplifier
A motion task consists of the following elements:
» position setpoint (absolute task) or path setpoint (relative task)
» speed setpoint
» acceleration time, braking time, rate-of-change/jolt limiting (in preparation)
» type of motion task (absolute/relative)
» number of a following task (with or without pause)
Transmit a non-motion task to the motion block memory of the servo amplifier
—
—
—
—
—
—
—
In addition to motion tasks, the following task types can be modified through DeviceNet:
— modify attribute
—
—
—
— wait until parameter = value branch if greater than/less than decrement counter delay read a motion task from the motion block memory of the servo amplifier read actual values read the error register read the status register read/write configuration and control parameters read actual values from analog and digital inputs write control values to analog and digital outputs
Transmission rate and procedure
—
— bus connection and bus medium: CAN-standard ISO 11898 (CAN high-speed) transmission rate: 125, 250, 500 kbit/s
DeviceNet for S300/S600/S700 9
General
12/2010
Kollmorgen
This page has been deliberately left blank.
10 DeviceNet for S300/S600/S700
Kollmorgen
2
2.1
2.1.1
12/2010
Installation / Setup
Installation / Setup
Installation
Safety notes
Install and wire up the equipment only while it is not electrically connected. Make sure that the machine control cabinet is safely isolated (lock-out, warning signs etc.).
Never break any of the electrical connections to the servo amplifier while it is live. This could result in destruction of the electronics.
The individual supply voltages will not be switched on until setup is carried out.
Residual charges in the capacitors can still have dangerous levels several minutes after switching off the supply voltage. Measure the voltage in the intermediate (DC bus link) circuit and wait until it has fallen below 40V.
Power and control connections can still be live, even though the motor is not rotating.
Electronic equipment is basically not failure-proof. The user is responsible for ensuring that, in the event of a failure of the servo amplifier, the drive is set to a state that is safe for both machinery and personnel, for instance with the aid of a mechanical brake.
Drives with servo amplifiers and DeviceNet expansion cards are remote-controlled machines. They can start to move at any time without previous warning. Take appropriate measures to ensure that the operating and service personnel is aware of this danger.
Implement appropriate protective measures to ensure that any unintended start-up of the machines cannot result in dangerous situations for personnel or machinery. Software limit-switches are not a substitute for the hardware limit-switches in the machine.
Install the servo amplifier as described in the S300/S700 or S600 instructions manual. The wiring for the analog setpoint input and the positioning interface, as shown in the wiring diagram in the instructions manual, is not required.
Because of the internal representation of the position-control parameters, the position controller can only be operated if the final limit speed of the drive at sinusoidal² commutation is not more than 7500 rpm. At trapezoidal commutation, the permitted maximum speed is 12000 rpm. All the data on resolution, step size, positioning accuracy etc.
refer to calculatory values. Non-linearities in the mechanism (backlash, flexing, etc.) are not taken into account.
If the final limit speed of the motor has to be altered, then all the parameters that were previously entered for position control and motion blocks must be adapted.
DeviceNet for S300/S600/S700 11
Installation / Setup
2.1.2
12/2010
Kollmorgen
Install the expansion card l l
To fit the DeviceNet expansion card into a servo amplifier, proceed as follows: l Remove the cover of the option slot (refer to the instructions manual of the servo amplifier).
Take care that no small items (such as screws) fall into the open option slot.
Push the expansion card carefully into the guide rails that are provided, without twisting it.
l Press the expansion card firmly into the slot, until the front cover touches the fixing lugs. This ensures that the connectors make good contact.
l Screw the screws on the front cover into the threads in the fixing lugs.
2.1.2.1
2.1.2.2
Combined Module / Network Status LED
State
Not powered / not online
Operational AND online, connected
Operational AND online, not connected or
Online AND needs configuration
Minor fault and/or connection time out
Critical fault or critical link failure
LED is off green flashing green flashing red red
To indicate:
Device is not online.
The device has not completed the Dup_MAC_ID test yet.
The device may not be powered.
The device is operating in a normal condition and the device is online with connections in the established state.
The device is allocated to a Master
The device is operating in a normal condition and the device is online with no connections in the established state.
The device has passed the Dup_MAC_ID test, is online, but has no established connections to other nodes.
This device is not allocated to a master.
Configuration missing, incomplete or incorrect.
Recoverable fault and/or one or more I/O Connections are in the
Timed–Out state.
The device has an unrecoverable fault; may need replacing.
Failed communication device. The device has detected an Error that has rendered it incapable of communicating on the network
(e.g. Duplicate MAC ID, or Bus–off).
Front view
2.1.2.3
Connection technology
Cable selection, cable routing, shielding, bus connector, bus termination and transmission times are all described in the “DeviceNet specification, volumes I, II", published by ODVA
12 DeviceNet for S300/S600/S700
Kollmorgen
2.1.2.4
12/2010
Installation / Setup
Bus cable
To meet ISO 898, a bus cable with a characteristic impedance of 120 W should be used. The maximum usable cable length for reliable communication decreases with increasing transmission speed.
As a guide, you can use the following values which we have measured, but they are not to be taken as assured limits.
General characteristic
Bit rates
Distance with larger bus connections
Number of nodes
Signal environment
Modulation
Coupling medium
Isolation
Typical differential input impedance (recessive state)
Min. differential input impedance (recessive state)
Absolute max.
voltage range
Specification
125 kbit, 250 kbit, 500 kbit
500 meters at 125 kBaud
250 meters at 250 kBaud
100 meters at 500 kBaud
64
CAN
Basic bandwidth
DC-coupled differential transmit/receive operation
500 V (option: optocoupler on the transceiver's node side)
Shunt C = 5pF
Shunt R = 25K
W (power on)
Shunt C = 24pF + 36 pF/m of the permanently attached stub cable
Shunt R = 20K W
-25 V to +18 V (CAN_H, CAN_L)
The voltages for CAN_H and CAN_L refer to the ground pin of the transceiver. The voltage is higher than that on the V-terminal by the amount of the forward voltage drop of the Schottky diode. This voltage drop must be < 0.6
V.
Grounding:
The DeviceNet network must only be grounded at one point, to avoid ground loops. The circuitry for the physical layer in all devices are referenced to the V-bus signal. The ground connection is made via the power supply for the bus system. The current flowing between V- and ground must not flow through any device other than the power supply.
Bus topology:
The DeviceNet medium utilizes a linear bus topology. Termination resistors are required at each end of the connecting cable. Stub cables are permitted up to a length of 6 meters, so that at least one node can be connected.
Termination resistors:
DeviceNet requires a termination at each end of the connecting cable.
These resistors must meet the following requirements: 120 W, 1% metal-film, 1/4 W
Important: don't install the termination resistors at the end of stub cables, but on both ends of the connectiing cable.
DeviceNet for S300/S600/S700 13
Installation / Setup
12/2010
Kollmorgen
Network Power:
Power taps for DeviceNet should have the following characteristics: l Specified ratings for power supply and network currents (24V) l Fuses or circuit breakers to limit current on the bus if current limiting in the power supply is insufficient.
l 10 ft. maximum cable length from power supply to power tap
14 DeviceNet for S300/S600/S700
Kollmorgen
2.1.2.5
Connection diagram servo amplifier
12/2010
Installation / Setup
2.1.2.6
2.1.2.7
2.1.2.8
With S600 terminals AGND and DGND (connector X3) must be joined together !
Setup of station address
Three different ways to set the station address (device address on the DeviceNet-Bus) for the servo amplifier: l Set the rotary switches on the front panel of the option card to a value between 0 and 63. Each switch represents one decimal digit. To set the amplifier to address 10, set the MSD (most significant digit) switch to 1 and the LSD (least significant digit) switch to 0.
l l
Set the rotary switches on the front panel of the expansion card to a value greater than 63. The station address can now be set using the ASCII commands DNMACID x, SAVE, COLDSTART where x is the station address.
Set the rotary switches on the front panel of the expansion card to a value greater than 63. The station address can now be set through the DeviceNet object (class 0x03, attribute 1). This is typically done through a DeviceNet commissioning tool. All drive parameters will be saved to the non-volatile memory when the value is set. The amplifier must be restarted after modifying the address.
Setup of transmission rate
Three different ways to set the DeviceNet transmission rate: l Set the rotary baudrate switch on the front panel of the option card to a value between 0 and 2.
0=125kbit/s, 1=250kbit/s, 2=500kbit/s.
l Set the baudrate switch on the front panel of the expansion card to a value greater than 2. The baud rate can now be set using the terminal commands DNBAUD x, SAVE, COLDSTART where x is 125, 250 or 500.
l Set the baudrate switch on the front panel of the expansion card to a value greater than 2. The baud rate can now be set through the DeviceNet object (class 0x03, attribute 2) to a value between 0 and 2. This is typically done through a DeviceNet commissioning tool. All drive parameters will be saved to the non-volatile memory when the value is set. The amplifier must be restarted after modifying the baud rate.
Controller setup
Some master controllers request an EDS file (electronic data sheet) for configuring each DeviceNet node. The S300/S700 and S600 EDS file can be found on the Kollmorgen web site and on the product CDROM.
DeviceNet for S300/S600/S700 15
Installation / Setup
2.2
2.2.1
Setup
Guide to Setup
12/2010
Kollmorgen
Only professional personnel with extensive knowledge of control and drive technology are allowed to setup the servo amplifier.
Check assembly / installation
Check that all the safety instructions in the instructions manual for the servo amplifier and this manual have been observed and implemented. Check the setting
for the station address (see p.15) and baud rate (see p.15).
Connect PC, start setup software
Use the amplifier's setup software to set the parameters.
Setup the basic functions
Test communication
Start up the basic functions of the servo amplifier and optimize the current, speed and position controllers. This section is described in the online help of the setup softwarel.
Save parameters When the parameters have been optimized, save them to the servo amplifier.
Start bus communication
Requirement: the software protocol must be implemented in the master.
Adjust the station address and the transmission rate of the servo amplifier to
Connect to the servo amplifier with a master device.
Try viewing/modifying a parameter with explicit messaging
(Position Controller Object class 0x25, inst ance 0x01,
Target position attribute 0x06
à terminal parameter O_P).
Make sure that any unintended movement of the drive cannot endanger machinery or personnel.
2.2.2
2.2.3
Error handling
Several parameters may be used to control DeviceNet error handling.
Bus off events are detected by the amplifier when there is a problem with the DeviceNet network.
Default behavior is to automatically reset communications whenever possible. To hold the amplifier in a disconnected state when bus off errors are detected, set the BOI attribute of the DeviceNet object to 0 (class 0x03, instance 1, attribute 3).
By default, the amplifier sets a node-guarding warning n04 when a communication timeout occurs
(the timeout behavior is typically controlled automatically by the PLC). To disable the node-guarding warning, set the terminal parameter EXTWD=0.
This service is not supported in the S300/S700.
To view DeviceNet status information for debugging purposes, type DNDUMP in the setup software terminal window.
Response to BUSOFF communication faults
The communication fault BUSOFF is directly monitored and signaled by Level 2 (CAN controller).
This message may have various causes.
Some examples:
— telegrams are transmitted, although there is no other CAN node connected
— CAN nodes have different transmission rates
—
— the bus cable is faulty faulty cable termination causes reflections on the cable.
The DeviceNet Object (class 0x03, attributes 3 and 4) determines the response to a BUSOFF condition.
16 DeviceNet for S300/S600/S700
Kollmorgen
3
3.1
3.2
12/2010
DeviceNet Overview
DeviceNet Overview
The DeviceNet communication profile follows the ODVA standard Position Controller Device profile.
Functionality Chart
DeviceNet™
Device Type
Explicit Peer-to-Peer Messaging
I/O Peer-to-Peer Messaging
Baud Rates:
Polled Response Time
Explicit Response Time
Master/Scanner
Configuration Consistency Value
Faulted Node Recovery
I/O Slave Messaging
Bit Strobe
Polling
Cyclic
Change-of-State (COS)
N
Y
N
N
N
N
Y
ODVA Requirements
Position Controller
N
N
125, 250 and 500 kB
<10ms
<50ms (except parameter object, <500ms)
Overview of Explicit and Polled I/O (assembly) messages
The servo amplifiers with DeviceNet expansion card support two main types of DeviceNet communication: Explicit Messaging and Polled I/O Messaging.
Typically, Explicit Messaging is used to configure the amplifier and Polled I/O is used to control movement. Most PLC’s will support both types of messaging simultaneously. The objects described
in sections 3.3 to 3.5 are all accessed though Explicit Messaging. Section 5.1 describes the use of
Polled I/O.
Explicit Messages allow you to access a single parameter value at a time. The desired parameter is selected by specifying the class object number, instance number and attribute number in an explicit message. Polled I/O messages combine many control and status bits into 8-byte command and response messages. They are less versatile than explicit messages (only certain parameters are accessible), but several control values may be changes within one message. For this reason,
Explicit Messaging is better for configuration and Polled I/O is better for motion control.
Most amplifier configuration is done within the Position Controller Object (class 0x25), which encompasses most parameters necessary for motion control. Modify parameters in this object to set the operational mode (torque, velocity, position) and configure motion. View parameters to read the amplifier status words. Additional amplifier configuration may be done through the Parameter
Object (class 0x0F). This is a vendor-defined object which exposes vendor configuration parameters. Any drive parameter with a DPR number (see the ascii.chm reference) less than 256 may be accessed through the Parameter Object.
Motion sequences may be pre-programmed into the amplifier through the Command Block Object
(class 0x25). These blocks correspond to the SERVOSTAR motion tasking feature. Positioning moves, time delays, and parameter modification blocks may be linked together to create a motion block program that is stored in the amplifier. Once the stored block program has been configured, it may be executed through either the Block Sequencer Object or with the Polled I/O Command Message block number field and start block bit.
Polled I/O is used for most motion control. Control bits in a command message are used to enable the amplifier, do a controlled stop of the motor, initiate motion, and initiate stored motion block programs. Command messages can also set the target position, target velocity, acceleration, deceleration and torque parameters. Status bits in a response message display error states and the general state of the amplifier. Response messages can also display the actual position, commanded position, actual velocity and torque.
See the appendix for examples of actual use.
DeviceNet for S300/S600/S700 17
DeviceNet Overview
3.3
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
12/2010
Kollmorgen
Motion Objects with Explicit Messaging
The following DeviceNet objects are used to configure an amplifier and control motion.
Object: Parameter
Class Code
Instance #
Description
0x0F
1 to 255
The parameter object gives direct access to amplifier configuration parameters
Object: Position Controller Supervisor
Class Code
Instance #
Description
0x24
1
The position controller supervisor handles errors for the position controller.
Object: Position Controller
Class Code
Instance #
Description
0x25
1
The position controller object is used to set the operating mode (torque, velocity, position), configure motion profiles, and initiate movement.
Object: Block Sequencer
Class Code
Instance #
Description
0x26
1
This object handles the execution of motion blocks or motion block chains
Object: Command Block
Class Code
Instance #
Description
0x27
1 to 255
Each instance of the command block object defines a specific motion block. These blocks can be linked to other blocks to form a motion block chain.
18 DeviceNet for S300/S600/S700
Kollmorgen
3.4
3.4.1
3.4.2
3.4.3
3.4.4
12/2010
DeviceNet Overview
I/O Objects
The following DeviceNet objects are used to control the amplifier’s on-board I/O ports.
Object: Discrete Input Point
Class Code
Instance #
Description
0x08
1 to 4
The discrete input point objects give access to the amplifier’s four digital inputs.
Object: Discrete Output Point
Class Code
Instance #
Description
0x09
1 to 2
The discrete output point objects give access to the amplifier’s two digital outputs.
Object: Analog Input Point
Class Code
Instance #
Description
0x0A
1 to 2
The analog input point objects give access to the amplifier’s two analog inputs.
Object: Analog Output Point
Class Code
Instance #
Description
0x0B
1 to 2
The analog output point objects give access to the amplifier’s two analog outputs.
DeviceNet for S300/S600/S700 19
DeviceNet Overview
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.5.5
3.5.6
12/2010
Kollmorgen
Communication Objects
The following DeviceNet objects handle communication between the amplifier and a controller.
These are typically not accessed directly by a user’s PLC program.
Object: Identity
Class Code
Instance #
Description
0x01
1
This object provides identification of any general information about the device. The Identity Object is present in all DeviceNet products
Object: Message Router
Class Code
Instance #
Description
0x02
1
This object provides a messaging connection point through which a client may address a service to any object class or instance residing in the physical device.
Object: DeviceNet
Class Code
Instance #
Description
0x03
1
This object provides the configuration and status of a DeviceNet port. Each DeviceNet product supports only one DeviceNet object per physical connection to the DeviceNet communication link.
Object: Assembly
Class Code
Instance #
Description
0x04
1
This object binds attributes of multiple objects, which allows data to or from each object to be sent or received over a single connection. Assembly objects can be used to bind input or output data. An input produces data on the network and an output consumes data from the network.
Object: Explicit Connection
Class Code
Instance #
Description
0x05
1
This object manages the explicit messages.
Object: Polled I/O Connection
Class Code
Instance #
Description
0x07
2
This object manages the I/O messages.
20 DeviceNet for S300/S600/S700
Kollmorgen
3.6
3.7
3.8
3.9
12/2010
DeviceNet Overview
Firmware Version
Supported Services
The DeviceNet objects support the following services:
Get_Single_Attribute (service code 0x0E)
Set_Single_Attribute (service code 0x10)
Reset (service code 0x05, class 0x01, instance 1, attribute 0 or 1, data length = 0)
Save (service code 0x16, class 0x0F, instance 1, attribute 0, data length = 0)
For additional information, we recommend that you review this entire document.
Data Types
The table below describes the data type, number of bits, minimum and maximum Range.
Data Type
Boolean
Short Integer
Unsigned Short Integer
Integer
Unsigned Integer
Double Integer
Unsigned Double Integer
Number of Bits
1
8
8
16
16
32
32
Minimum Value
0 (False)
-128
0
-32768
0
-2
31
0
Maximum Value
1 (True)
127
255
32767
65535
2
31
- 1
2
32
- 1
Saving to Non-volatile Memory
Amplifier parameters are typically stored in RAM and only stored to non-volatile memory when a
SAVE is commanded through Explicit Messaging. A save operation can be initiated over DeviceNet with either of two methods:
1) Save service of the Parameter Object. Transmit the following explicit message:
2)
Service: 0x16
Class: 0x0F
Instance: 0x00
Attribute: 0x00
Data Length: 0
Save attribute of the Position Controller Object. Transmit the following explicit message:
Service: 0x10
Class: 0x25
Instance: 0x01
Attribute: 0x65
Data Length: 1
Data Value: 1
DeviceNet for S300/S600/S700 21
DeviceNet Overview
12/2010
Kollmorgen
This page has been deliberately left blank.
22 DeviceNet for S300/S600/S700
Kollmorgen
4
4.1
4.1.1
4.1.1.1
12/2010
Explicit messages
Explicit messages
Typically, Explicit Messages are used to configure the amplifier and setup drive parameters. See
section 3.2 for more information.
Position Controller Supervisor Object (class 0x24)
The position controller supervisor handles errors for the position controller.
Error Codes
The amplifier returns one of the following codes when an error is generated while communicating via Explicit Messaging.
Error Code
Set
Set or Get
Set or Get
Set or Get
Set
Action
Attribute Not Settable
Attribute Not Supported
Error
Service Not Supported
Class Not Supported
Value is Out of Range
0x0E
0x14
0x08
0x16
0x09
Object State Conflicts – 0x0C
Three conditions could cause the amplifiers to return this error code. To proceed, check and clear the condition.
Condition
On hard or soft limit and then issuing a command to move in the direction of the limit
Issuing a command not support in the current mode (i.e., trying to do registration in velocity mode)
Trying to enable a faulted amplifier
Solution
Move in opposite direction of the limit
Change the mode to fit the application or issue the proper command
Correct the fault before enabling the amplifier.
4.1.2
4.1.2.1
Supervisor Attributes
The following attributes are supported in the Position Controller Supervisor class. The instance number always equals 1 in the class/instance/attribute mappings for the Position Controller Supervisor.
Attribute 0x05: General Fault
Description
When active, this indicates that an amplifier-related failure has occurred, (Short Circuit,
Over-Voltage, etc.). It is not related to the FAULT input. It is reset when the fault condition is removed.
Access Rule Get
Data Type
Range
Boolean
1 = Fault condition exists
0 = No fault exists
Default
Non-Volatile
See also
None
N/A
Fault Code, ERRCODE (ASCII)
DeviceNet for S300/S600/S700 23
Explicit messages
4.1.2.2
12/2010
Attribute 0x0E: Index Active Level
This attribute is not supported in the S300/S700
Description This attribute is used to set the active level of the indexing input.
Access Rule Get/Set Default None
Data Type
Range
Boolean
0 = Active Low
1 = Active High
Non-Volatile N/A
See also N/A
4.1.2.3
4.1.2.4
4.1.2.5
4.1.2.6
Kollmorgen
Attribute 0x15: Registration Arm
This attribute is not supported in the S300/S700
Description Set the value to 1 to arm the registration input. The values reads 0 when triggered
Access Rule Get/Set Default None
Data Type Non-Volatile N/A
Range
Boolean
0 = registration triggered (Get)
1 = registration armed (Get/Set)
See also N/A
Attribute 0x16: Registration Input Level
This attribute is not supported in the S300/S700
Description This attribute returns the actual value of the registration input.
Access Rule Get Default None
Data Type Non-Volatile N/A
Range
Boolean
0 = Low
1 = High
See also N/A
Attribute 0x64: Fault Code
Description Read the amplifier fault code words.
Access Rule Get
Data Type Double Integer
Range
Default None
Non-Volatile No
See also
General Fault, Clear Faults,
ERRCODE (ASCII)
Attribute 0x65: Clear Faults
Description Set to 1 to clear amplifier faults.
Access Rule Set
Data Type
Range
Boolean
0 = Do nothing.
1 = Clear Faults
Default 0
Non-Volatile No
General Fault, Fault Code,
See also
CLRFAULT (ASCII)
24 DeviceNet for S300/S600/S700
Kollmorgen
4.2
4.2.1
4.2.1.1
12/2010
Explicit messages
Position Controller Object (class 0x25)
The position controller object is used to set the operating mode (torque, velocity, position), configure a direct motion block or jog, and initiate movement.
Error Codes
The amplifier returns one of the following error codes when an error is generated while communicating via Explicit Messaging.
Action
Set
Set or Get
Set or Get
Set or Get
Set
Error
Attribute Not Settable
Attribute Not Supported
Service Not Supported
Class Not Supported
Value is Out of Range
Error Code
0x0E
0x14
0x08
0x16
0x09
Object State Conflicts – 0x0C
Three conditions could cause the amplifiers to return this error code. To proceed, check and clear the condition.
Conditin
On hard or soft limit and then issuing a command to move in the direction of the limit
Issuing a command not support in the current mode (i.e. trying to do registration in velocity mode)
Trying to enable a faulted amplifier
Solution
Move in opposite direction of the limit
Change the mode to fit the application or issue the proper command
Correct the fault before enabling the amplifier.
4.2.2
4.2.2.1
4.2.2.2
Position controller attributes
The following attributes are supported in the Position Controller class. The instance number always equals 1 in the class/instance/attribute mappings for the Position Controller.
Attribute 0x01: Number of Attributes
Description The total number of attributes supported by the unit in the Position Controller Class.
Access Rule Get Default
Data Type
Range
Unsigned Short Integer
N/A
Non-Volatile
See also
N/A
Attribute List
Attribute 0x02: Attribute List
Description
Returns an array with a list of the attributes supported by this unit in the Position Controller
Class. The length of this list is specified in Number of Attributes.
Access Rule Get
Data Type Array of Unsigned Short Integer
Range Array size is defined by Attribute 1.
Default
Non-Volatile
See also
N/A
Number of Attributes
DeviceNet for S300/S600/S700 25
Explicit messages
4.2.2.3
12/2010
Kollmorgen
Attribute 0x03: opmode
Description
Range
This attribute is used to get or set the operating mode. 0=Position (OPMODE 8). 1= velocity
(OPMODE 0). 2=Torque (OPMODE 2).
This attribute must be set before any move is attempted!
Access Rule Get / Set
Data Type Unsigned Short Integer
0 = Position Mode
1 = Velocity Mode
2 = Torque Mode
3 = Other (read only)
Default
Non-Volatile
See also
0
No
Trajectory Start/Complete, OPMODE
(ASCII)
4.2.2.4
4.2.2.5
Attribute 0x06: Target Position
Description
This attribute specifies the target position in counts. Set Start Trajectory=1 (attribute 11) or the
Polled I/O Start Trajectory/Load Data bit to initiate the positioning move.
Access Rule Get / Set
Data Type Double Integer
Default
Non-Volatile
0
No
Range -2
31 to 2
31
See also
Actual Position, Incremental Mode
Flag, Mode, O_P (ASCII)
Attribute 0x07: Target Velocity
Description
Access Rule Get / Set
Data Type Double Integer
Range
This attribute specifies the target velocity in counts per second. Use target velocity for position opmode and jog velocitiy (attribute 22) for velocity opmode. Units are determined by the amplifier setup (VUNIT, Position controller attributes 40-41)
Set to a positive number
Default According to setup
Non-Volatile Yes
Actual Position, Incremental Mode
See also
Flag, Mode, O_V (ASCII)
4.2.2.6
4.2.2.7
Attribute 0x08: Acceleration
Description
This attribute specifies the acceleration for positioning and homing (ACCR) when in position opmode and the acceleration for constant velocity (ACC) when in velocity opmode. Units are determined by the amplifier setup (ACCUNIT, Position controller attributes 40-41) All position moves initiated through a Command Assembly or Command Block Object use this acceleration rate. To set different acceleration rates for multiple motion blocks (tasks) requires the motion block to be setup using the amplifier setup software.
Access Rule Get / Set
Data Type Double Integer
Default According to setup
Non-Volatile Yes
Range Set to a positive number See also
Deceleration, ACC (ASCII), ACCR
(ASCII)
Attribute 0x09: Deceleration
Description
This attribute specifies the deceleration for positioning and homing (DECR) when in position opmode and the acceleration for constant velocity (DEC) when in velocity opmode. Units are determined by amplifier setup (ACCUNIT, Position controller attributes 40-41) All position moves initiated through a Command Assembly or Command Block Object use this deceleration rate. To set different deceleration rates for multiple motion blocks (tasks) requires the motion block to be setup using the amplifier setup software.
Access Rule Get / Set
Data Type Double Integer
Default
Non-Volatile
According to setup
Yes
Range Set to a positive number See also
Acceleration, DEC (ASCII), DECR
(ASCII)
26 DeviceNet for S300/S600/S700
Kollmorgen
4.2.2.8
12/2010
Explicit messages
Attribute 0x0A: Move Type
Description This bit is used to define the position value as either absolute or incremental in OpMode 8
Access Rule Get / Set Default 1
Data Type
Range
Boolean
0 = Absolute Position
1 = Incremental Position
Non-Volatile No
See also
Target Position, Trajectory Start/Complete, O_C bit 0 (ASCII)
4.2.2.9
4.2.2.10
Attribute 0x0B: Trajectory Start/Complete
Description
Range
Set high (1) to start a trajectory move. Reads high (1) while in motion and low (0) when motion is complete
Access Rule Get / Set
Data Type Boolean
0 = Move Complete
1 = Start Trajectory (In Motion)
Default
Non-Volatile
See also
0
No
Hard Stop, Smooth Stop
Attribute 0x0C: In Position
Description This flag, when set, indicates that the motor is within the deadband distance to the target
Access Rule Get Default 1
Data Type Boolean Non-Volatile N/A
Range
0 = Not in position
1 = In position
See also Trajectory Start/Complete, INPOS (ASCII)
4.2.2.11
4.2.2.12
4.2.2.13
Attribute 0x0D: Actual Position
Description
Access Rule Get / Set
Data Type Double Integer
Range
The absolute position value equals the real position in counts. This is set to re-define the actu al position.
-2
31 to 2
31
Default 0
Non-Volatile No
See also
Incremental Mode Flag, Target Position, PFB (ASCII)
Attribute 0x0E: Actual Velocity
Description
Range
This attribute specifies the actual velocity. Units are determined by the amplifier setup (VUNIT, position controller attriute 40-41)
Access Rule Get
Data Type Double Integer
Positive read value
Default
Non-Volatile
See also
0
No
Target Velocity, PV (ASCII)
Attribute 0x11: Enable
Description
This flag is used to control the enable output. Clearing this bit sets the enable output inactive and the currently executing motion profile is aborted.
Access Rule Get / Set
Data Type
Range
Boolean
0 = Disable
1 = Enable
Default
Non-Volatile
See also
0
N/A
Actual Position, EN (ASCII)
DeviceNet for S300/S600/S700 27
Explicit messages
4.2.2.14
12/2010
Kollmorgen
Attribute 0x14: Smooth Stop
Description
Range
This bit is used to bring the motor to a controlled stop at the currently implemented deceleration rate.
Access Rule Get / Set
Data Type Boolean
0 = No Action
1 = Perform Smooth Stop
Default 0
Non-Volatile No
See also
Acceleration, Deceleration, Hard Stop,
Trajectory Start/Complete, STOP (ASCII)
4.2.2.15
4.2.2.16
4.2.2.17
4.2.2.18
Attribute 0x15: Hard Stop
Description This bit is used to bring the motor to an immediate stop
Access Rule Get / Set
Data Type Boolean
Default 0
Non-Volatile No
Range
0 = No Action
1 = Perform Hard Stop
See also
Smooth Stop, Trajectory Start/Complete, DECSTOP (ASCII)
Attribute 0x16: Jog Velocity
Description
This attribute is used to set the target velocity in velocity mode. The Direction attribute is used to select the direction of the velocity move. The Trajectory Start attribute is used to begin motion. Units are determined by the amplifier setup (VUNIT, position controller attributes 40-41)
Access Rule Get / Set
Data Type Double Integer
Default
Non-Volatile
0
Yes
Range Positive See also
Mode (velocity), Direction, Trajectory
Start/Complete, J (ASCII)
Attribute 0x17: Direction
Description
Range
Set this bit to control the direction of the motor in velocity mode. Read this bit to get the actual direction of motion.
Access Rule Get / Set
Data Type Boolean
0 = Negative Direction
1 = Positive Direction
Default
Non-Volatile
See also
1
No
Mode (velocity), Reference Direction,
J (ASCII)
Attribute 0x18: Reference direction
This attribute is not supported in the S300/S700
Description Defines positive direction (when viewed from the motor shaft side)
Access Rule Get / Set Default 0
Data Type
Range
Boolean
0 = Positive Clockwise Motion
1 = Positive Counter-Clockwise Motion
Non-Volatile Yes
See also Direction, DIR (ASCII)
28 DeviceNet for S300/S600/S700
Kollmorgen
4.2.2.19
4.2.2.20
4.2.2.21
4.2.2.22
12/2010
Explicit messages
Attribute 0x19: Torque
Description
Set a new torque command in torque mode or read the current torque command. The Trajectory Start attribute is used to begin motion
Access Rule Get / Set
Data Type Double Integer
Default
Non-Volatile
0
No
Range -3280 to 3280 (3280 = peak torque) See also
Mode (torque), Trajectory Start, T (AS-
CII)
Attribute 0x28: Feedback resolution
Description
Number of actual position feedback counts (or amplifier internal units) in one revolution
(PGEARO). The resolution is generally 1048576 counts/turn for PRBASE = 20 or 65536 counts/turn for PRBASE = 16. The Motor Resolution and Feedback Resolution attributes are used to define the desired resolution of user units for position in terms of internal units. Velocity and acceleration units may be defined in terms of position units, depending on the values of
VUNIT and ACCUNIT.
Position[internal units] = Position[user units] * FeedbackResolution / MotorResolution
Example: if PRBASE=20 for 2^20 bits per revolution in the internal position units, set Feedback Resolution = 1048576.
Now for user units of 1000 counts/rev, set Motor Resolution = 1000.
Access Rule Get / Set
Data Type Double Integer
Default
Non-Volatile
1048576
Yes
Range positive See also
Motor resolution, PGEARO (ASCII),
VUNIT (ASCII), ACCUNIT (ASCII),
PRBASE (ASCII)
Attribute 0x29: Motor resolution
Description
Number of user-defined steps in one revolution of the motor (PGEARI). The Motor Resolution and Feedback Resolution attributes are used to define the desired resolution of user units for position in terms of internal units. Velocity and acceleration units may be defined in terms of position units, depending on the values of VUNIT and ACCUNIT.
Position[internal units] = Position[user units] * FeedbackResolution / MotorResolution
Example: if PRBASE=20 for 2^20 bits per revolution in the internal position units, set Feedback Resolution = 1048576.
Now for user units of 1000 counts/rev, set Motor Resolution = 1000.
Access Rule Get / Set
Data Type Double Integer
Default
Non-Volatile
10000
Yes
Range positive See also
Feedback resolution, PGEARI (ASCII),
VUNIT (ASCII), ACCUNIT (ASCII),
PRBASE (ASCII)
Attribute 0x65: Save Parameters
Description Set to 1 to save drive parameters to non-volatile storage.
Access Rule Set Default 0
Data Type Non-Volatile No
Range
Boolean
0 = Do nothing.
1 = Save parameters.
See also SAVE (ASCII)
DeviceNet for S300/S600/S700 29
Explicit messages
4.2.2.23
4.2.2.24
12/2010
Kollmorgen
Attribute 0x66: Amplifier Status
This attribute is not supported in the S300/S700. Read DRVSTAT using the Parameter Object
(class 0x0F) Non-Volatile 0x2D, Attribute 0x01.
Description
Access Rule Get
Data Type Double Integer
Range
Read the amplifier status words. See the ASCII reference for a description of the status bits
(DRVSTAT).
Default
Non-Volatile
See also
No
DRVSTAT (ASCII)
Attribute 0x67: Trajectory Status
Description
Access Rule Get
Data Type Double Integer
Range
Read the amplifier trajectory status words. See the ASCII reference for a description of the status bits (TRJSTAT).
Default
Non-Volatile
See also
No
TRJSTAT (ASCII)
30 DeviceNet for S300/S600/S700
Kollmorgen
4.3
4.3.1
4.3.2
4.3.2.1
12/2010
Explicit messages
Parameter Object (class 0x0F)
Most drive parameters can be read and or written through the Parameter Object. This includes many drive parameters also available through the Position Controller (class 0x25), Block Sequencer
(class 0x26), and Command Block Object (class 0x27). The Parameter Object, which gives direct access to amplifier configuration parameters is a vendor-defined object.
In an explicit message to the parameter object, the instance number corresponds to the DPR number for the desired parameter. This DPR number may be found in the ascii.chm command reference. Only parameters 1-254 can be directly accessed with the instance number, since the instance field is only 1 byte. Instance 255 is a special instance which means ‘use the Parameter Number
attribute’. See section 4.3.2.4 for documentation for accessing parameters 255 and higher.
The data length for Set Value commands can be determined from the ‘Data Type Bus/DPR’ field of ascii.chm. Float types are scaled by 1000 to get an integer value.
Amplifier commands such as Jog, Home, and Save are executed by sending a Set Value command with a data length of 1 and a value of 1. Reading the value or setting the value to 0 will not execute the process.
For example, send the following explicit message to initiate homing (Move Home = MH,
DPR/instance = 141):
[class=0x0F, instance=141, attribute=0x01, data length=1, data value=0x01].
Error Codes
The amplifier returns one of the following error codes when an error is generated while communicating via Explicit Messaging.
Action
Set
Set or Get
Set or Get
Set or Get
Set
Error
Attribute Not Settable
Attribute Not Supported
Service Not Supported
Class Not Supported
Value is Out of Range
Error Code
0x0E
0x14
0x08
0x16
0x09
Parameter Attributes
These are attributes supported by the unit in the Parameter Object Class.
Attribute 0x01: Parameter Value
Description
Access Rule
Data Type
Range
Directly access the parameter value. Check the command reference for the data type and read/write access rule. Float types are multiplied by 1000 to get an integer value. Set the value to 1 to execute an amplifier process (eg Move Home).
depends on the parameter and is given in ascii.chm in the Type field.
Default depends on the parameter and is given in ascii.chm in the Format field. The byte length is given by Data Length parameter.
Non-Volatile
See also Descriptor, Data Length, ascii.chm
4.3.2.2
Attribute 0x04: Descriptor
Description The descriptor will be 0x00 for read/write parameters and 0x10 for read-only parameters
Access Rule Get Default
Data Type
Range
Unsigned Short Integer Non-Volatile
See also
DeviceNet for S300/S600/S700 31
Explicit messages
4.3.2.3
4.3.2.4
12/2010
Attribute 0x06: Data Length
Description Length of the parameter in bytes
Access Rule Get
Data Type
Range
Unsigned Short Integer
Default
Non-Volatile
See also
Kollmorgen
Attribute 0x64: Parameter Number
Description
Parameter number to access with instance 255. To access parameters with a DPR number greater than 254, load the desired DPR number into the Parameter Number attribute, then use the Parameter Object instance 255 to access the parameter. Note that this is a class attribute, so use instance 0 when setting the Parameter Number.
Access Rule Set Default 0
Data Type
Range
Unsigned Integer
1 to max DPR number in use
Non-Volatile
See also
No
Example: read the value of VLIM, DPR #290. Set the Parameter Number = 290 (service=Set, class=0x0F, instance=0x00, attribute=0x64, value=0x0122). Read the value (service=Get, class=0x0F, instance=0xFF, attribute=0x01).
32 DeviceNet for S300/S600/S700
Kollmorgen
4.4
4.4.1
12/2010
Explicit messages
Block Sequencer Object (class 0x26)
This object handles the execution of Motion Blocks or Motion Block chains. Motion sequences may be pre-programmed into the amplifier through the Command Block Object (class 0x27). These blocks correspond to the servo amplifier motion tasking feature. Positioning moves, time delays, and parameter modification blocks may be linked together to create a motion block program that is stored in the amplifier. Once the stored block program has been configured, it may be executed through either the Block Sequencer Object or with the Polled I/O Command Message block number field and start block bit.
Attribute 0x01: Block
Description
This value defines the starting Command Block instance number to execute. The block number corresponds to the number in a MOVE [block number] command
Access Rule Get / Set
Data Type Unsigned Short Integer
Range 1 to 255
Default
Non-Volatile
See also
N/A
N/A
Block Execute, MOVE (ASCII)
4.4.2
4.4.3
4.4.4
Attribute 0x02: Block Execute
Description
Range
Executes the starting command block defined by Attribute 1. This corresponds to a MOVE command
Access Rule Get / Set
Data Type Boolean
0 = Clear or Complete
1 = Execute Block (set) / Block Executing (get)
Default
Non-Volatile
See also
0
N/A
Block, Block Fault, MOVE (ASCII)
Attribute 0x03: Current Block
Description
This attribute returns the command block instance number of the currently-executing block.
Reads 0 while homing.
Access Rule Get
Data Type Unsigned Short Integer
Default
Non-Volatile
N/A
N/A
Range 1 to 255 See also
Block, Block Execute, TASKNUM (AS-
CII)
Attribute 0x04: Block Fault
Description
Access Rule
Data Type
Set when a block error occurs. When a block fault error occurs, block execution stops. This bit is reset when the block fault code (5) is read.
Get
Boolean
Default
Non-Volatile
0
Range
0 = No Block Faults
1 = Block Fault Occurred
See also Block Execute, Block Fault Code
DeviceNet for S300/S600/S700 33
Explicit messages
4.4.5
12/2010
Kollmorgen
Attribute 0x05: Block Fault Code
Description This attribute defines the specific block fault. Read this value to clear the fault
Access Rule Get Default N/A
Data Type Non-Volatile N/A
Range
Boolean
0 = No Fault
1 = Invalid or Empty Block
2 = Command Time-out (Wait Equals)
3 = Execution Fault
See also Block Fault
4.4.6
Attribute 0x06: Counter
This attribute is not supported in the S300/S700
Description
This value is used as a global counter for motion tasks. To view from a serial terminal, type M
LOOPCNT.
Access Rule Get / Set
Data Type Double Integer
Default 0
Non-Volatile No
Range Positive See also
Decrement Counter Command (Block
Object)
34 DeviceNet for S300/S600/S700
Kollmorgen
4.5
4.5.1
12/2010
Explicit messages
Command Block Object (class 0x27)
Motion sequences may be pre-programmed into the amplifier through the Command Block Object.
These blocks are stored in the amplifier as Motion Tasks and can be viewed using the amplifier's
Setup software. Positioning moves, time delays, and parameter modification blocks may be linked together to create a motion block program that is stored in the amplifier. Once the stored block program has been configured, it may be executed through either the Block Sequencer Object or with the Polled I/O Command Message block number field and start block bit.
Each instance of the Command Block class defines a specific command or a specific Motion Task that is stored in the amplifier. For example, Command Block instance #4 corresponds to motion task #4 and can be viewed from the Position->Position Data->Motion Task Table screen in the setup software or with an ORDER 1 command from the serial terminal.
The first two attributes of the Command Block Object are always the same: Block Type and Block
Link Number. Begin defining each block (motion task) by setting attribute 1 the Block type (1 to 9).
Attributes 3-7 of each block or motion task are defined by the value of Block Command. For this reason, they cannot be set until the Block Type has been set. See the appendix for an example of setting up a motion block program with DeviceNet.
Block Types
The block type is determined by the value of the first attribute. The other attributes are defined by the Block Type; for this reason, the Block Type must be set before the other attribute values.
Block Command
1 = Modify Attribute
2 = Wait for Attribute
Value
3 = Greater Than Test
4 = Less Than Test
6 = Delay
8 = Initiate Trajectory
9 = Velocity Change
Other Attributes
Link, Class, Instance, Attribute, Data
Link, Class, Instance, Attribute, Timeout, Data
Link, Class, Instance, Attribute, Alternate Link, Data
Link, Class, Instance, Attribute, Alternate Link, Data
5 = Decrement Counter Link
Link, Time
Link, Target Position, Target
Velocity, Incremental
Target Velocity
Description
Set the value of any DeviceNet accessible attribute.
Delay until a DeviceNet accessible attribute equals a desired value.
Test the value of a DeviceNet accessible attribute and branch to an alternate block if the attribute value is greater than the test value.
Test the value of a DeviceNet accessible attribute and branch to an alternate block if the attribute value is less than the test value.
This block decrements the global counter in the
Command Block Sequencer object.
This block causes the sequencer to delay for a given number of milliseconds before continuing with the next block.
Execute a positioning move.
Execute a velocity profile.
Only command 0x08 Motion Task is supported in the S300/S700.
DeviceNet for S300/S600/S700 35
Explicit messages
4.5.2
4.5.2.1
12/2010
Kollmorgen
Command 0x01 – Modify Attribute
This command is not supported in the S300/S700
Attribute 0x01: Block Type
Description
0x01 = Modify Attribute. The Block Command specifies the command to be performed by the task block. The value is stored in a different format in the low byte of O_C2 (see Appendix for more information).
Access Rule Get / Set Default
Data Type Unsigned Short Integer Instance
N/A
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Range 0x01 = Command 01 See also
Command Map Appendix, O_C2 (AS-
CII), ORDER (ASCII)
4.5.2.2
4.5.2.3
Attribute 0x02: Block Link #
Description
This attribute provides a link to the next block instance to execute. When this block is comple te, the link block is executed. Set this attribute to 0 to stop motion after this task is complete – a next task will not be executed. The value is stored in O_FN.
Access Rule Get / Set Default 0
Data Type
Range
Unsigned Short Integer
0 to 255
Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
O_FN (ASCII), ORDER (ASCII)
Attribute 0x03: Target Class
Description
This attribute defines the class number of the object to be accessed. The value is stored in the upper byte of O_ACC1.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Position Controller Class, Parameter
Class, ORDER (ASCII)
4.5.2.4
Attribute 0x04: Target Instance
Description
This attribute defines the instance number of the object to be accessed. The value is stored in
O_DEC1.
Access Rule Get / Set Default
Data Type Double Integer Instance
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Range See also
Sections in this document describing class attributes, ORDER (ASCII)
36 DeviceNet for S300/S600/S700
Kollmorgen
4.5.2.5
12/2010
Explicit messages
Attribute 0x05: Attribute #
Description
This attribute defines the attribute number of the object to be accessed. The value is stored in the lower byte of O_ACC1. The attribute referenced by the class, instance and attribute numbers in the command must be settable for this command to execute.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Sections in this document describing class attributes, ORDER (ASCII)
4.5.2.6
4.5.3
4.5.3.1
4.5.3.2
Attribute 0x06: Attribute Data
Description This is the new attribute data. The value is stored in O_P.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
ORDER (ASCII)
Command 0x02 – Wait Until Equals
This command is not supported in the S300/S700
This command is used to wait until an attribute equals a desired value.
Attribute 0x01: Block Type
Description
0x02 = Wait Until Equals. The Block Command specifies the command to be performed by the task block. The value is stored in a different format in the low byte of O_C2 (see the Command
Map Appendix for more information).
Access Rule Get / Set Default N/A
Data Type
Range
Unsigned Short Integer
0x02 = Command 02
Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Command Map Appendix, O_C2 (AS-
CII), ORDER (ASCII)
Attribute 0x02: Block Link #
Description
This attribute provides a link to the next block instance to execute. When this block is comple te, the link block is executed. Set this attribute to 0 to stop motion after this task is complete – a next task will not be executed. The value is stored in O_FN.
Access Rule Get / Set Default 0
Data Type
Range
Unsigned Short Integer
0 to 255
Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
O_FN (ASCII), ORDER (ASCII)
DeviceNet for S300/S600/S700 37
Explicit messages
4.5.3.3
12/2010
Kollmorgen
Attribute 0x03: Target Class
Description
This attribute defines the class number of the object to be accessed. The value is stored in the upper byte of O_ACC1.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Position Controller Class, Parameter
Class, ORDER (ASCII)
4.5.3.4
4.5.3.5
4.5.3.6
4.5.3.7
Attribute 0x04: Target Instance
Description
This attribute defines the instance number of the object to be accessed. The value is stored in
O_DEC1.
Access Rule Get / Set Default
Data Type Double Integer Instance
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Range See also ORDER (ASCII)
Attribute 0x05: Attribute #
Description
This attribute defines the attribute number of the object to be accessed. The value is stored in the lower byte of O_ACC1. The attribute referenced by the class, instance and attribute numbers in the command must be settable for this command to execute.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Sections in this document describing class attributes, ORDER (ASCII)
Attribute 0x06: Timeout
Description
Maximum time in ms to wait for the parameter to equal the desired value. A fault is issued if the timer expires. If set to 0, motion tasking will wait without faulting. Stored in O_FT
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
O_FT (ASCII), ORDER (ASCII)
Attribute 0x07: Compare Data
Description
The attribute is compared to this value. If they are equal, motion will continue; otherwise, the amplifier will wait. The value is stored in O_P.
Access Rule Get / Set Default
Data Type Dependent on Attribute # Instance
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM).
Range See also ORDER (ASCII)
38 DeviceNet for S300/S600/S700
Kollmorgen
4.5.4
4.5.4.1
12/2010
Explicit messages
Command 0x03 – Greater Than Test
This command is not supported in the S300/S700
This command is used for conditional linking or branching in a linked chain of commands. When the block is executed, it will test the value of a DeviceNet accessible attribute and branch to an alternate block if the attribute value is greater than the test value.
Attribute 0x01: Block Type
Description
0x03 = Greater Than Test. The Block Command specifies the command to be performed by the task block. The value is stored in a different format in the low byte of O_C2 (see the Command Map Appendix for more information).
Access Rule Get / Set Default
Data Type Unsigned Short Integer Instance
N/A
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Range 0x03= Command 03 See also
Command Map Appendix, O_C2 (AS-
CII), ORDER (ASCII)
4.5.4.2
4.5.4.3
Attribute 0x02: Block Link #
Description
Description This attribute provides a link to the next block instance to execute. When this block is complete, the link block is executed. Set this attribute to 0 to stop motion after this task is complete – a next task will not be executed. The value is stored in O_FN.
Access Rule Get / Set Default 0
Data Type
Range
Unsigned Short Integer
0 to 255
Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
O_FN (ASCII), ORDER (ASCII)
Attribute 0x03: Target Class
Description
This attribute defines the class number of the object to be accessed. The value is stored in the upper byte of O_ACC1.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Position Controller Class, Parameter
Class, ORDER (ASCII)
4.5.4.4
Attribute 0x04: Target Instance
Description
This attribute defines the instance number of the object to be accessed. The value is stored in
O_DEC1.
Access Rule Get / Set Default
Data Type Double Integer Instance
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Range See also ORDER (ASCII)
DeviceNet for S300/S600/S700 39
Explicit messages
4.5.4.5
12/2010
Kollmorgen
Attribute 0x05: Attribute #
Description
This attribute defines the attribute number of the object to be accessed. The value is stored in the lower byte of O_ACC1. The attribute referenced by the class, instance and attribute numbers in the command must be settable for this command to execute.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Sections in this document describing class attributes, ORDER (ASCII)
4.5.4.6
4.5.4.7
Attribute 0x06: Compare Link #
Description
If the attribute value is greater than the test value, branch to the block specified in this attribute instead of the block specified in attribute 2. The value is stored in O_DEC2.
Access Rule Get / Set Default
Data Type Double Integer Instance
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Range 1 to 255 See also ORDER (ASCII)
Attribute 0x07: Compare Data
Description
This attribute is the comparison data for the conditional test. If the test attribute’s value is greater than the compare data, the normal link (Attribute 2) is ignored and the next block executed is the compare link block (Attribute 6).
Access Rule Get / Set Default
Data Type
Range
Dependent on Attribute # Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
ORDER (ASCII)
40 DeviceNet for S300/S600/S700
Kollmorgen
4.5.5
4.5.5.1
12/2010
Explicit messages
Command 0x04 – Less Than Test
This command is not supported in the S300/S700
This command is used for conditional linking or branching in a linked chain of commands. When the block is executed, it will test the value of a DeviceNet accessible attribute and branch to an alternate block if the attribute value is less than the test value.
Attribute 0x01: Block Type
Description
0x04 = Less Than Test. The Block Command specifies the command to be performed by the task block. The value is stored in a different format in the low byte of O_C2 (see the Command
Map Appendix for more information).
Access Rule Get / Set Default
Data Type Unsigned Short Integer Instance
N/A
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Range 0x04 = Command 04 See also
Command Map Appendix, O_C2 (AS-
CII), ORDER (ASCII)
4.5.5.2
4.5.5.3
Attribute 0x02: Block Link #
Description
This attribute provides a link to the next block instance to execute. When this block is comple te, the link block is executed. This value must be non-zero for the delay command. The value is stored in O_FN
Access Rule Get / Set Default
Data Type
Range
Unsigned Short Integer
1 to 255
Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
O_FN (ASCII), ORDER (ASCII)
Attribute 0x03: Target Class
Description
This attribute defines the class number of the object to be accessed. The value is stored in the upper byte of O_ACC1.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Position Controller Class, Parameter
Class, ORDER (ASCII)
4.5.5.4
Attribute 0x04: Target Instance
Description
This attribute defines the instance number of the object to be accessed. The value is stored in
O_DEC1.
Access Rule Get / Set Default
Data Type Double Integer Instance
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Range See also ORDER (ASCII)
DeviceNet for S300/S600/S700 41
Explicit messages
4.5.5.5
12/2010
Kollmorgen
Attribute 0x05: Attribute #
Description
This attribute defines the attribute number of the object to be accessed. The value is stored in the lower byte of O_ACC1. The attribute referenced by the class, instance and attribute numbers in the command must be settable for this command to execute.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Sections in this document describing class attributes, ORDER (ASCII)
4.5.5.6
4.5.5.7
Attribute 0x06: Compare Link #
Description
If the attribute value is less than the test value, branch to the block specified in this attribute instead of the block specified in attribute 2. The value is stored in O_DEC2.
Access Rule Get / Set Default
Data Type Double Integer Instance
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Range 1 to 255 See also ORDER (ASCII)
Attribute 0x07: Compare Data
Description
This attribute is the comparison data for the conditional test. If the test attribute’s value is less than the compare data, the normal link (Attribute 2) is ignored and the next block executed is the compare link block (Attribute 6).
Access Rule Get / Set Default
Data Type
Range
Dependent on Attribute # Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
ORDER (ASCII)
42 DeviceNet for S300/S600/S700
Kollmorgen
4.5.6
4.5.6.1
12/2010
Explicit messages
Command 0x05 – Decrement Counter
This command is not supported in the S300/S700
This command is used to decrement the global counter (Block Sequencer class 0x26, instance 1, attribute 6). Combine this block with Modify Attribute and Less Than Test blocks to implement loops and branches within your block program.
Attribute 0x01: Block Type
Description
0x05 = Decrement Counter. The Block Command specifies the command to be performed by the task block. The value is stored in a different format in the low byte of O_C2 (see the Command Map Appendix for more information).
Access Rule Get / Set Default
Data Type Unsigned Short Integer Instance
N/A
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Range 0x05 = Command 05 See also
Command Map Appendix, O_C2 (AS-
CII), ORDER (ASCII)
4.5.6.2
Attribute 0x02: Block Link #
Description
This attribute provides a link to the next block instance to execute. When this block is comple te, the link block is executed. Set this attribute to 0 to stop motion after this task is complete – a next task will not be executed. The value is stored in O_FN.
Access Rule Get / Set Default 0
Data Type
Range
Unsigned Short Integer
0 to 255
Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
O_FN (ASCII), ORDER (ASCII)
DeviceNet for S300/S600/S700 43
Explicit messages
4.5.7
4.5.7.1
12/2010
Kollmorgen
Command 0x06 – Delay
This command is not supported in the S300/S700.
This command is used to delay a linked chain of commands.
Attribute 0x01: Block Type
Description
0x06 = Delay. The Block Command specifies the command to be performed by the task block.
The value is stored in the low byte of O_C2 (see the Command Map Appendix for more information).
Access Rule Get / Set Default N/A
Data Type
Range
Unsigned Short Integer
0x06 = Command 06
Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Command Map Appendix, O_C2 (AS-
CII), ORDER (ASCII)
4.5.7.2
4.5.7.3
Attribute 0x02: Block Link #
Description
This attribute provides a link to the next block instance to execute. When this block is comple te, the link block is executed. Set this attribute to 0 to stop motion after this task is complete – a next task will not be executed. The value is stored in O_FN.
Access Rule Get / Set Default 0
Data Type Unsigned Short Integer Instance
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
Range 0 to 255 See also O_FN (ASCII), ORDER (ASCII)
Attribute 0x03: Delay
Description This attribute sets the delay in milliseconds. The value is stored in O_FT.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile
(stored in ROM). Block instances
181-255 are volatile (stored in RAM)
O_FT (ASCII), ORDER (ASCII)
44 DeviceNet for S300/S600/S700
Kollmorgen
4.5.8
4.5.8.1
12/2010
Explicit messages
Command 0x08 – Motion task
This command is used to initiate a positioning move and wait for completion.
The acceleration and deceleration are stored in O_ACC1 and O_DEC1 of ORDER 0. Bits 0x800 in
O_C and 0x100 in O_C2 of the task are set to 1 so that the acceleration and deceleration are taken from task 0 rather than the current task. This allows global values for DeviceNet motion blocks.
Attribute 0x01: Block Type
Description
0x08 = Initiate Trajectory. The Block Command specifies the command to be performed by the task block. The value is stored in a different format in the low byte of O_C2 (see the Command
Map Appendix for more information)
Access Rule Get / Set Defaut
Data Type Unsigned Short Integer Instance
N/A
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
Range 0x08 = Command 08 See also
Command Map Appendix, O_C2 (ASCII), ORDER (AS-
CII)
4.5.8.2
4.5.8.3
4.5.8.4
4.5.8.5
Attribute 0x02: Block Link #
Description
This attribute provides a link to the next block instance to execute. When this block is complete, the link block is executed. Set this attribute to 0 to stop motion after this task is complete – a next task will not be executed. The value is stored in O_FN.
Access Rule Get / Set Default
Data Type
Range
Unsigned Short Integer
0 to 255
Instance
See also
0
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_FT (ASCII), ORDER (ASCII)
Attribute 0x03: Target Position
Description This attribute defines the target profile position in position units. The value is stored in O_P
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_P (ASCII), ORDER (ASCII)
Attribute 0x04: Target Velocity
Description
This attribute defines the target profile velocity in profile units per second. The value is stored in
O_V.
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_V (ASCII), ORDER (ASCII)
Attribute 0x05: Incremental
Description This flag defines if the motion is incremental or absolute. The value is stored in bit 0 of O_C
Access Rule Get / Set
Data Type Boolean
Default
Instance
0
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
Range
0 = Absolute Position
1 = Incremental Position
See also O_C (ASCII), ORDER (ASCII)
DeviceNet for S300/S600/S700 45
Explicit messages
4.5.8.6
12/2010
Kollmorgen
Attribute 0x64: O_C
This attribute is not supported in the S600.
Description
This attribute provides direct access to the O_C ORDER parameter. O_C is also automatically modified when the Block Command (Command Block Object, Attribute 0x01) is set to Command
0x08 Motion Task.
Access Rule Get / Set Default
Data Type
Range
Unsigned Long Integer Instance
See also
N/A
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_C (ASCII), ORDER (ASCII)
4.5.8.7
4.5.8.8
Attribute 0x65: O_ACC
This attribute is not supported in the S600.
Description
This attribute provides direct access to the O_ACC ORDER parameter. O_ACC is also automatically modified when the Block Command (Command Block Object, Attribute 0x01) is set to
Command 0x08 Motion Task.
Access Rule Get / Set
Data Type
Range
Unsigned Long Integer
Default
Instance
See also
N/A
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_ACC (ASCII), ORDER (ASCII)
Attribute 0x66: O_DEC
This attribute is not supported in the S600.
Description
This attribute provides direct access to the O_DEC ORDER parameter. O_DEC is also automatically modified when the Block Command (Command Block Object, Attribute 0x01) is set to
Command 0x08 Motion Task.
Access Rule Get / Set Default
Data Type Unsigned Long Integer Instance
N/A
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
Range See also O_DEC (ASCII), ORDER (ASCII)
4.5.8.9
4.5.8.10
Attribute 0x67: O_TAB
This attribute is not supported in the S600.
Description
This attribute provides direct access to the O_TAB ORDER parameter. O_TAB is also automatically modified when the Block Command (Command Block Object, Attribute 0x01) is set to
Command 0x08 Motion Task.
Access Rule Get / Set Default N/A
Data Type
Range
Unsigned Long Integer Instance
See also
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_TAB (ASCII), ORDER (ASCII)
Attribute 0x68: O_FT
This attribute is not supported in the S600.
Description
This attribute provides direct access to the O_FT ORDER parameter. O_FT is also automatically modified when the Block Command (Command Block Object, Attribute 0x01) is set to Command 0x08 Motion Task.
Access Rule Get / Set Default
Data Type
Range
Unsigned Long Integer Instance
See also
N/A
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_FT (ASCII), ORDER (ASCII)
46 DeviceNet for S300/S600/S700
Kollmorgen
4.5.9
4.5.9.1
12/2010
Explicit messages
Command 0x09 – Jog
This command is not supported in the S300/S700.
This command is used to execute a velocity profile. Since the move is of infinite duration (until stopped), the block cannot be linked to a following task.
Attribute 0x01: Block Type
Description
0x09 = Velocity Change. The Block Command specifies the command to be performed by the task block. The value is stored in a different format in the low byte of O_C2 (see the Command
Map Appendix for more information)
Access Rule Get / Set Default
Data Type Unsigned Short Integer Instance
N/A
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
Range 0x09 = Command 09 See also
Command Map Appendix, O_C2 (ASCII), ORDER (AS-
CII)
4.5.9.2
4.5.9.3
Attribute 0x02: Block Link #
Description
This attribute typically provides a link to the next block instance to execute. Since a Velocity
Change command cannot have a next block, this attribute should not be set
Access Rule Get / Set Default 0
Data Type
Range
Unsigned Short Integer
0
Instance
See also
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_FT (ASCII), ORDER (ASCII)
Attribute 0x03: Target Velocity
Description
This attribute defines the target profile velocity in profile units per second. The value is stored in
O_V
Access Rule Get / Set Default
Data Type
Range
Double Integer Instance
See also
Block instances 1-180 are non-volatile (stored in ROM).
Block instances 181-255 are volatile (stored in RAM)
O_V (ASCII), ORDER (ASCII)
DeviceNet for S300/S600/S700 47
Explicit messages
4.6
4.6.1
12/2010
Kollmorgen
Digital Input Object (class 0x08)
The digital input objects access the amplifier’s four digital inputs. Instances 1-4 correspond to digital inputs 1-4.
Attribute 0x03: Value
Description
This attribute will read 1 when the digital input is high. Instances 1-4 correspond to digital inputs 1-4.
Access Rule Get
Data Type Boolean
Default none
Non-Volatile N/A
Range
0 = Input is inactive
1 = Input is active
See also IN1 - IN4 (ASCII)
4.7
4.7.1
4.8
4.8.1
Digital Output Object (class 0x09)
The digital output objects access the amplifier’s two digital outputs. Instances 1-2 correspond to digital outputs 1-2. To configure the amplifier for DeviceNet control of the digital outputs, set
O1MODE=23 and O2MODE=23.
Attribute 0x03: Value
Description Set this attribute to 1 to set the digital output high. Instances 1-2 correspond to digital outputs
Access Rule Set Default none
Data Type
Range
Boolean
0 = set output low
1 = set output high
Non-Volatile N/A
See also
O1MODE / O2MODE (ASCII), O1 / O2
(ASCII)
Analog Input Object (class 0x0A)
The analog input objects access the amplifier’s two analog inputs. Instances 1-2 correspond to analog inputs 1-2.
Attribute 0x03: Value
Description Voltage on the analog input, in millivolts. Instances 1-2 correspond to analog inputs 1-2.
Access Rule Get Default none
Data Type
Range
Integer
-10000 to 10000
Non-Volatile
See also
N/A
ANIN1 / ANIN2 (ASCII)
48 DeviceNet for S300/S600/S700
Kollmorgen
4.9
4.9.1
12/2010
Explicit messages
Analog Output Object (class 0x0B)
This object is not supported in the S300/S700.
The analog output objects access the amplifier’s two analog outputs. Instances 1-2 correspond to analog outputs 1-2. To configure the amplifier for DeviceNet control of the analog outputs, set
ANOUT1=6 and ANOUT2=6.
Attribute 0x03: Value
Description
Access Rule Set
Data Type Integer
Range
Set to the desired output voltage in millivolts. To configure the amplifier for DeviceNet control of the analog outputs, set ANOUT1=6 and ANOUT2=6. The value is stored in AN1TRIG /
AN2TRIG.
-1000 to 10000
Default none
Non-Volatile N/A
ANOUT1 / ANOUT2 (ASCII),
See also
AN1TRIG / AN2TRIG (ASCII)
4.10
Identity Object (class 0x01)
Identity Object 0x01
Object Class
Attributes Open
X None Supported
Services
X None Supported
Object Instance
Attributes
Services
Open
ID Description
1 Revision
2 Max instance
3 Number of Instances
4 Optional attributes list
5 Optional services list
6 Max Id of class attributes
7 Max Id of instance attributes
DeviceNet Services
Get_Attributes_All
Reset
Get_Attribute_Single
Find_Next_Object_instance
ID Description
1 Vendor
2 Device type
3 Product code
4 Revision
5 Status (bits supported)
6 Serial number
7 Product name
8 State
9 Config. Consistency Value
10 Heartbeat Interval
DeviceNet Services
Get_Attributes_All
X Reset
X Get_Attribute_Single
Set_Attribute_Single
Get Set Value Limits
Parameter Options
X
X
X
X
Get
X
X
X
Set Value Limits
=(452)
=(16)
=(3)
=(1.1)
SERVOSTAR
Parameter Options
0,1
DeviceNet for S300/S600/S700 49
Explicit messages
4.11
12/2010
Message Router Object (class 0x02)
Message Router Object 0x02
Object Class
Attributes Open
X None Supported
Services
X None Supported
Object Instance
Attributes
X None Supported
Services
X None Supported
Open
ID Description
1 Revision
2 Max instance
3 Number of Instances
4 Optional attributes list
5 Optional services list
6 Max Id of class attributes
7 Max Id of instance attributes
DeviceNet Services
Get_Attributes_All
Get_Attribute_Single
ID Description
1 Object list
2 Maximum connections supported
3 Number of active connections
4 Active connections list
DeviceNet Services
Get_Attributes_All
Get_Attribute_Single
Set_Attribute_Single
Kollmorgen
Get Set Value Limits
Parameter Options
Get Set Value Limits
Parameter Options
4.12
DeviceNet Object (class 0x03)
DeviceNet Object 0x03
Object Class
Attributes Open
None Supported
Services
None Supported
Object Instance
Attributes Open
None Supported
Services
None Supported
ID Description
1 Revision
2 Max instance
3 Number of Instances
4 Optional attributes list
5 Optional services list
6 Max Id of class attributes
7 Max Id of instance attributes
DeviceNet Services
X Get_Attribute_Single
ID Description
1 MAC ID
2 Baud rate
3 BOI
4 Bus-off counter
5 Allocation information
6 MAC ID switch changed
7 Baud rate switch changed
8 MAC ID switch value
9 Baud rate switch value
DeviceNet Services
X Get_Attributes_All
X Set_Attribute_Single
X Allocate M/S connection set
X Release M/S connection set
Get
X
Set Value Limits
Parameter Options
Get
X
X
X
X
X
Set Value Limits
X
X
X
X
Parameter Options
50 DeviceNet for S300/S600/S700
Kollmorgen
4.13
12/2010
Connection Object (class 0x05) - Explicit
Explicit messages
Connection Object 0x05
Object Class
Attributes Open
X None Supported
Services
X None Supported
Object Instance
Attributes
Services
Open
ID Description
1 Revision
2 Max instance
3 Number of Instances
4 Optional attributes list
5 Optional services list
6 Max Id of class attributes
7 Max Id of instance attributes
DeviceNet Services
Reset
Create
Delete
Get_Attribute_Single
Find_Next_Object_instance
Connection type
M/S Explicit message
Production trigger(s)
Transport type(s)
Transport class(es)
ID Description
1 State
2 Instance type
3 Transport class trigger
4 Produced connection ID
5 Consumed connection ID
6 Initial comm. characteristics
7 Produced connection size
8 Consumed connection size
9 Expected packet rate
12 Watchdog time-out action
13 Produced connection path len
14 Produced connection path
15 Consumed connection path len
16 Consumed connection path
17 Production inhibit time
DeviceNet Services
X Reset
Delete
Apply_attributes
X Get_Attribute_Single
X Set_Attribute_Single
Get Set Value Limits
Parameter Options
Max. connection instances
1 Server Client 1 Total
Cyclic
Server X
COS App. trig.
Client
2 3 X
Set Value Limits Get
X
X
X
X
X
X
X
X
X
X
X
X
X
X X
X
Parameter Options
DeviceNet for S300/S600/S700 51
Explicit messages
4.14
12/2010
Connection Object (class 0x05) - Polled I/O
Kollmorgen
Connection Object 0x05
Object Class
Attributes Open
X None Supported
Services
X None Supported
Object Instance
Attributes
Services
Open
ID Description
1 Revision
2 Max instance
3 Number of Instances
4 Optional attributes list
5 Optional services list
6 Max Id of class attributes
7 Max Id of instance attributes
DeviceNet Services
X Reset
Create
Delete
Get_Attribute_Single
Find_Next_Object_instance
Connection type
M/S poll
Production trigger(s)
Transport type(s)
Transport class(es)
ID Description
1 State
2 Instance type
3 Transport class trigger
4 Produced connection ID
5 Consumed connection ID
6 Initial comm. characteristics
7 Produced connection size
8 Consumed connection size
9 Expected packet rate
12 Watchdog time-out action
13 Produced connection path len
14 Produced connection path
15 Consumed connection path len
16 Consumed connection path
17 Production inhibit time
DeviceNet Services
X Reset
Delete
Apply_attributes
X Get_Attribute_Single
X Set_Attribute_Single
Get Set Value Limits
Parameter Options
Max. connection instances
1 Server Client 1 Total
Cyclic X COS
Server X
Get
X
2 X
App. trig.
Client
3
Set Value Limits
X
X
X
X
X
X
X
X
X
X
X
X
X X
X
Parameter Options
52 DeviceNet for S300/S600/S700
Kollmorgen
5
5.1
12/2010
Polled I/O messages
Polled I/O messages
Typically, Polled I/O (Assembly) Messages are used for real-time data and motion control. See sec-
tion 3.2 for more information.
I/O Command Assemblies
Polled I/O Messaging is a method of transmitting a group of control bits and a data command and receiving back a group of status bits and a data value response. This method of communication is preferred, as explicit messaging can transmit only a single value at a time. Polled I/O and Explicit
Messaging may be used simultaneously for communications between the controller and the amplifier. In this section, the format of each Command Assembly is defined and examples of each are provided.
Command assemblies contain control bits which are defined the same for each type of command.
In addition to the control bits, a command assembly may be used to send one data command at a time (target position, target velocity, acceleration, deceleration or torque). The command type is specified in the Command Assembly Type field.
The amplifier will respond to each Command Assembly it receives by transmitting a Response
Assembly. The response assembly has status bits which are defined the same for each type of response. In addition to status bits, a response assembly can transmit one data value at a time
(actual position, commanded position, actual velocity, actual torque or error code). The response type is specified in the Response Assembly Type field of the command assembly. A command assembly may contain both a Command Assembly Type and a Response Assembly Type to transmit a command and request a response in the same assembly.
The command is ignored unless a valid command assembly type is specified in byte 2 (valid command assembly types are 0 through 5).
Data outside the range of the attribute will result in an Error Response Assembly. This applies to all Command Assemblies, except Assembly 5 (torque).
The amplifier must be homed before motion is begun in position mode. Failure to home the amplifier will result in a an amplifier alarm that must be cleared before amplifier operation can continue.
DeviceNet for S300/S600/S700 53
Polled I/O messages
5.1.1
12/2010
Kollmorgen
Control Bits and Data Fields
Byte
0
5
6
7
1
2
3
4
Bit 7
Enable
Bit 6 Bit 5
Reg Arm Hard Stop
Command Axis = 001
Response Axis = 001
Bit 4 Bit 3
Smooth
Stop
Dir
Block Number
Bit 2
Relative
Bit 1 Bit 0
Start Block Load / Start
Command Assembly Type
Response Assembly Type
Data Low Byte
Data Low Middle Byte
Data High Middle Byte
Data High Byte
Enable
Registration Arm Arm the registration input. This bit is not supported in the S300/S700.
Hard Stop Setting this bit causes the amplifier to stop immediately (without decelerating).
See also Hard Stop (class 0x25 Position Controller, attribute 0x15).
Smooth Stop
Setting this bit enables the amplifier. See also Enable
(class 0x25 Position Controller, attribute 0x11).
Setting this bit causes the amplifier to decelerate to a stop. See also Smooth
Stop (class 0x25 Position Controller, attribute 0x14).
To stop motion, issue either HARD STOP or SMOOTH STOP only. Changing either one of these bits at the same time as the Start Trajectory bit causes indeterminate action from the controller.
Direction
Relative
Start Block cute a
This bit is used only in velocity opmode. Positive direction=1 and negative direction=0. See also Direction (class 0x25 Position Controller, attribute 0x17).
This bit is used in only in position mode. This bit indicates whether the position specified in bytes 4 through 7 of the Command Assembly 1 – Target Position, is absolute (0) or relative (1). See also Incremental Position Flag
(class 0x25 Position Controller Object, attribute 0x0A).
Executes programs previously generated and stored in the amplifier. To exemotion program previously generated through either the Command Block
Object or Graphical Motion Tasking (PC software), put the starting block number in Block Number and transition this bit high (1). The Load/Start flag must be zero (0) while transitioning Start Block. See also Block Execute (class
0x26 Block Sequencer, attribute 0x02).
Setting Start Block high (1) and issuing a transition from 0 to 1 for Load/Start simultaneously causes indeterminate action.
Load/Start This bit is used for data handshaking between the controller and amplifier.
To transmit a command to the amplifier, set the Command Type and load data into the data fields, then toggle Load/Start high.
The amplifier will accept data only when Load/Start transitions from 0 to 1.
If the command type matches the operating mode (Target Position in position mode, Target Velocity in velocity mode, Torque in torque mode), the amplifier will start motion when the data is loaded. When the data has been loaded successfully, the amplifier will set the Load Complete response flag high.
54 DeviceNet for S300/S600/S700
Kollmorgen
5.1.2
12/2010
Polled I/O messages
Block Number
Command Axis
Response Axis
Command
Assembly Type
Response
Assembly Type
Data Bytes
Used with Start Block to run a Command Block (motion task) sequence previously defined in the amplifier.
This field indicates the block instance to begin executing when Start Block transitions from 0 to 1. The Block Number field is used only to execute
Command Blocks (motion tasks), not to modify them.
To modify Command Blocks, send Explicit Messages to the Command Block
Object. See also Block (class 0x26 Block Sequencer, attribute 0x01).
The amplifier supports only one axis, so this value must always be 1.
Any other value will cause a COMMAND_AXIS_INVALID error response.
The amplifier supports only one axis, so this value must always be 1.
Any other value will cause a RESPONSE_AXIS_INVALID error response.
The target position, velocity, acceleration, deceleration and torque may be modified with a command assembly. Set the command type to the desired command number (described in following sections). Set the command type to zero (0) to give no command in the assembly.
Set the response type in the command assembly to determine what data will be returned in the response assembly. The actual position, target position, actual velocity, and actual torque are available. See Polled I/O Response
Assembly for more information. Set the response type to zero (0) to not request a data response (a response assembly with valid status bits will still be returned).
Load data for the desired command type into the data fields, least significant byte first.
Running a Stored Sequence through DeviceNet
Byte
0
3
4
5
1
2
6
7
A motion tasking sequence may be setup in the Amplifier program (Graphical Motion Tasking) or through DeviceNet (see the Command Block object) and then executed later through DeviceNet.
See the setup software online help for instructions on creating a motion tasking sequence with the
PC software.
To execute a motion block sequence, set Block Number equal to the index of the block to begin executing and transition the Start Block bit high. Enable must be high and the stop and Load/Start bits must be low. The Appendix contains examples of creating stored sequences with the Command
Block Object and executing them with Command Assemblies.
Bit 7
Enable
0
0
Bit 6 Bit 5
Reg Arm Hard Stop
0
0
1
1
Bit 4
Smooth
Bit 3
Dir
Stop (Vel Mode)
Block Number
0
0
Bit 2 Bit 1
Incremental Start Block
Bit 0
Trajectory
Start
Input Command Assembly Type (0000)
Output Response Assembly Type
0
0
0
0
To stop an executing sequence, set the Smooth Stop or Hard Stop bit high.
DeviceNet for S300/S600/S700 55
Polled I/O messages
5.1.3
12/2010
Kollmorgen
Data Handshaking
Data handshaking is used to transmit data commands with Polled I/O Messaging. To transmit a command to the amplifier, set the Command Type and load data into the data fields, then toggle the
Load/Start bit high. The amplifier will accept data only when Load/Start transitions from 0 to 1. If the data is loaded successfully, the amplifier will set the Load Complete response flag high. Load Complete will be cleared by the amplifier after Load/Start is cleared by the controller.
If the data does not load successfully due to an error in the command assembly, the amplifier will load an error response into the response assembly (Response Type = 0x14, byte 4 = Error Code, byte 5 = Additional Code, bytes 6-7 echo command assembly bytes 2-3). See Polled I/O Response
Assembly 0x14 – Command/Response Error for more information.
Polled I/O Handshaking Sequence
1. Controller loads a valid Command Type and data into the command assembly with Load/Start low (0).
2. Amplifier clears the Load Complete flag in the response assembly when Load/Start is low in the command assembly.
3. Controller checks that the Load Complete flag in the response assembly is low to ensure that the amplifier is ready to receive data. Controller sets the Load Data flag in the command assembly.
4. Amplifier sees the Load/Start flag transition high and attempts to execute the command specified in the
Command Type field on the data in the Data bytes. If successful, the amplifier sets the Load Complete flag.
If the command fails or the command assembly is invalid, the amplifier will set Response Type to Error and load error information in the response assembly Data fields. If the command matches the operating mode
(e.g. Target Position in positioning mode), the amplifier will start motion.
5. Controller waits for either the Load Complete flag to transition high or for an Error Response Type in the response assembly, then clears Load/Start. Ready for next command
Example
Load a Target Position command of 1000.
C: 0x80 0x00 0x21 0x20 0xE8 0x03 0x00 0x00
Enable=1, Load/Start=0, Command Axis=1, Command
Type=1, Response Axis=1, Response Type=0 (none),
Data=1000
Respond with status flags. No command yet.
R: 0x84 0x00 0x00 0x20 0x00 0x00 0x00 0x00
Enabled=1, In Position=1, Load Complete=0, Response Axis=1, Response Type=0 (none), Data=0
Set the Load Data flag.
C: 0x81 0x00 0x21 0x20 0xE8 0x03 0x00 0x00
Enable=1, Load/Start=1, Command Axis=1, Command
Type=1, Response Axis=1, Data=1000
If no error, execute the requested command
R: 0x81 0x00 0x80 0x20 0x00 0x00 0x00 0x00
Enabled=1, In Motion=1, Load Complete=1, Response
Axis=1, Response Type=0 (none), Data=0
If there was an error (e.g. data out of range):
R: 0x80 0x00 0x00 0x34 0x09 0xFF 0x21 0x20
Enabled=1, Load Complete=0, Response Axis=1, Response Type=0x14 (Error), Error codes=0x09FF (Invalid Attribute), bytes 6-7 echo command assembly bytes
2-3.
Clear Load/Start
C: 0x80 0x00 0x21 0x20 0xE8 0x03 0x00 0x00
Enable=1, Load/Start=0, Command Axis=1, Command
Type=1, Response Axis=1, Data=1000
56 DeviceNet for S300/S600/S700
Kollmorgen
5.1.4
12/2010
Polled I/O messages
Command Assembly 0x01 – Target Position
Byte
0
4
5
6
7
1
2
3
This Polled I/O command assembly is used to start a trajectory (Position Opmode only) of the specified distance.
The trajectory can be absolute or relative, depending on the value of the Relative bit. In position
Opmode, a move will begin as soon as the target position is loaded. For this reason, load the target position last, after velocity, acceleration and deceleration.
The target position stored here corresponds to the Target Position attribute of the Position Controller object (class 0x25, instance 1, attribute 0x06). The value may also be accessed through the serial terminal command O_P. This assembly only affects motion task 0 – Command Blocks
(motion tasks) 1-255 are unaffected.
Bit 7
Enable
Bit 6
Reg Arm
Command axis = 001
Response axis = 001
Bit 5
Hard Stop
Bit 4
Smooth
Stop
Bit 3
Dir
Block Number
Bit 2
Relative
Bit 1 Bit 0
Start Block Load / Start
Command Assembly Type (00001)
Response Assembly Type
Target Position Low Byte
Target Position Low Middle Byte
Target Position High Middle Byte
Target Position High Byte
Byte
0
1
2
3
6
7
4
5
See Control Bits and Data Fields for bit descriptions.
Shown below is an example for the servo amplifiers. The target position is set to 1000 position units, or 0x000003E8 in hexadecimal. The Enable bit is set since setting this value will initiate motion; the Relative bit is set to indicate a relative position move; the Load/Start bit is set to begin handshaking. In this example, the Response Assembly Type is set to response assembly
3 – Actual Velocity. The amplifier will transmit the actual velocity when it responds to this command.
See the Data Handshaking section above for details on sending a Polled I/O command. Follow the correct sequence with the command assembly Load/Start bit and the response assembly Load
Complete bit. Check for an error response by looking for the Error Response code 0x14 in the
Response Assembly Type field of the response assembly.
Bit 7
1
0
0
Bit 6
0
0
0
Bit 5
0
1
1
Bit 4
0
0
0
0
0xE8
0x03
0x00
0x00
Bit 3
0
0
0
Bit 2
1
0
0
Bit 1
0
0
1
Bit 0
1
1
1
DeviceNet for S300/S600/S700 57
Polled I/O messages
5.1.5
12/2010
Kollmorgen
Command Assembly 0x02 – Target Velocity
Byte
0
3
4
5
1
2
6
7
This Polled I/O command assembly is used to change the target velocity in position or velocity opmode. The Dir bit sets the desired direction in Velocity Mode and is ignored in all other modes.
In Velocity Mode, the move will begin as soon as the target velocity is loaded. In Position Mode, movement will not start when the target velocity is loaded.
In position opmode, the velocity stored here corresponds to the Target Velocity attribute of the Position Controller object (class 0x25, instance 1, attribute 0x07). In velocity opmode, the velocity stored here corresponds to the Jog Velocity attribute of the Position Controller object (class 0x25, instance
1, attribute 0x16). This assembly only affects motion task 0 – Command Blocks (motion tasks)
1-255 are unaffected.
The units are determined by the amplifier setup (VUNIT, Position Controller attributes 40-41).
Bit 7
Enable
Bit 6
Reg Arm
Command axis = 001
Response axis = 001
Bit 5
Hard Stop
Bit 4 Bit 3
Smooth
Stop
Dir
Block Number
Bit 2
Relative
Bit 1 Bit 0
Start Block Load / Start
Command Assembly Type (00010)
Response Assembly Type
Target Velocity Low Byte
Target Velocity Low Middle Byte
Target Velocity High Middle Byte
Target Velocity High Byte
5
6
7
3
4
Byte
0
1
2
See Control Bits and Data Fields for bit descriptions.
Shown below is an example for the servo amplifiers. The target velocity is set to 20000 counts/sec, or 0x00004e20 in hexadecimal. The Enable bit is set to enable the amplifier; the Direction bit is cleared, so motion will be in the negative direction if the amplifier is in Velocity Mode; the Load/Start bit is set to begin handshaking. In velocity mode, the amplifier will immediately accelerate or decelerate to -20000 counts/sec. In position mode, the target velocity will be loaded for the next trajectory. In this example, the Response Assembly Type is set to response assembly 1 – Actual Position. The amplifier will transmit the actual position when it responds to this command (refer to
Response Assembly 0x01 – Actual Position for more information).
See the Data Handshaking section above for details on sending a Polled I/O command. Follow the correct sequence with the command assembly Load/Start bit and the response assembly Load
Complete bit. Check for an error response by looking for the Error Response code 0x14 in the
Response Assembly Type field of the response assembly.
Bit 7
1
0
0
Bit 6
0
0
0
Bit 5
0
1
1
Bit 4
0
0
0
0
0x20
0x4E
0x00
0x00
Bit 3
0
0
0
Bit 2
0
0
0
Bit 1
0
1
0
Bit 0
1
0
1
58 DeviceNet for S300/S600/S700
Kollmorgen
5.1.6
12/2010
Polled I/O messages
Command Assembly 0x03 – Acceleration
Byte
0
5
6
7
1
2
3
4
This Polled I/O command assembly is used to change the acceleration in position or velocity opmode.
The acceleration value stored here corresponds to the Acceleration attribute of the Position Controller object (class 0x25, instance 1, attribute 0x08). When in velocity opmode, the drive parameter
ACC is set. When in position opmode, the drive parameter ACCR is set.
Bit 7
Enable
Bit 6
Reg Arm
Command axis = 001
Response axis = 001
Bit 5
Hard Stop
Bit 4 Bit 3
Smooth
Stop
Dir
Block Number
Bit 2
Relative
Bit 1 Bit 0
Start Block Load / Start
Command Assembly Type (00011)
Response Assembly Type
Acceleration Low Byte
Acceleration Low Middle Byte
Acceleration High Middle Byte
Acceleration High Byte
Byte
0
1
2
3
4
5
6
7
See Control Bits and Data Fields for bit descriptions.
Shown below is an example for the S600 amplifiers. The acceleration is set to 20000 counts/sec², or 0x00004e20 in hexadecimal. The Enable bit is set to enable the amplifier; the Load/Start bit is set to begin handshaking. In this example, the Response Assembly Type is set to response assembly 1
– Actual Position. The amplifier will transmit the actual position when it responds to this command
(refer to Response Assembly 0x01 – Actual Position for more information).
See the Data Handshaking section above for details on sending a Polled I/O command. Follow the correct sequence with the command assembly Load/Start bit and the response assembly Load
Complete bit. Check for an error response by looking for the Error Response code 0x14 in the
Response Assembly Type field of the response assembly.
Bit 7
1
0
0
Bit 6
0
0
0
Bit 5
0
1
1
Bit 4
0
0
0
0
0x20
0x4E
0x00
0x00
Bit 3
0
0
0
Bit 2
0
0
0
Bit 1
0
1
0
Bit 0
1
1
1
DeviceNet for S300/S600/S700 59
Polled I/O messages
5.1.7
12/2010
Kollmorgen
Command Assembly 0x04 – Deceleration
Byte
0
5
6
7
1
2
3
4
This Polled I/O command assembly is used to change the deceleration in position or velocity opmode.
The deceleration value stored here corresponds to the Deceleration attribute of the Position Controller object (class 0x25, instance 1, attribute 0x09). When in velocity opmode, the drive parameter
DEC is set. When in position opmode, the drive parameter DECR is set.
Bit 7
Enable
Bit 6
Reg Arm
Command axis = 001
Response axis = 001
Bit 5
Hard Stop
Bit 4 Bit 3
Smooth stop
Dir
Block Number
Bit 2
Relative
Bit 1 Bit 0
Start Block Load / Start
Command Assembly Type (00100)
Response Assembly Type
Deceleration Low Byte
Deceleration Low Middle Byte
Deceleration High Middle Byte
Deceleration High Byte
Byte
0
1
2
3
4
5
6
7
See Control Bits and Data Fields for bit descriptions.
Shown below is an example for the servo amplifiers. The deceleration is set to 20000 counts/sec², or 0x00004e20 in hexadecimal. The Enable bit is set to enable the amplifier; the Load/Start bit is set to begin handshaking. In this example, the Response Assembly Type is set to response assembly 1
– Actual Position. The amplifier will transmit the actual position when it responds to this command
(refer to Response Assembly 0x01 – Actual Position for more information).
See the Data Handshaking section above for details on sending a Polled I/O command. Follow the correct sequence with the command assembly Load/Start bit and the response assembly Load
Complete bit. Check for an error response by looking for the Error Response code 0x14 in the
Response Assembly Type field of the response assembly.
Bit 7
1
0
0
Bit 6
0
0
0
Bit 5
0
1
1
Bit 4
0
0
0
0
0x20
0x4E
0x00
0x00
Bit 3
0
0
0
Bit 2
0
1
0
Bit 1
0
0
0
Bit 0
1
0
1
60 DeviceNet for S300/S600/S700
Kollmorgen
5.1.8
12/2010
Polled I/O messages
Command Assembly 0x05 – Torque
Byte
0
5
6
7
1
2
3
4
This Polled I/O command assembly is used to change the torque. This can only be used in torque mode. Motion will begin as soon as the value is loaded.
The torque value stored here corresponds to the Torque attribute of the Position Controller object
(class 0x25, instance 1, attribute 0x19). The value may also be accessed through the serial terminal command T.
Bit 7
Enable
Bit 6
Command axis = 001
Response axis = 001
Bit 5
Reg Arm Hard Stop
Bit 4 Bit 3
Smooth
Stop
Dir
Block Number
Bit 2
Relative
Bit 1 Bit 0
Start Block Load / Start
Command Assembly Type (00101)
Response Assembly Type
Torque Low Byte
Torque Low Middle Byte
Torque High Middle Byte
Torque High Byte
5
6
7
3
4
Byte
0
1
2
See Control Bits and Data Fields for bit descriptions.
Shown below is an example for the servo amplifiers. In this example, the torque (current) is set to
3.0A in a 6.0A peak amplifier. Torque units are scaled to 3280=peak current, so the command value is 3280*3.0/6.0=1640 torque units, or 0x00000668 in hexadecimal. The Enable bit is set to enable the amplifier; the Load/Start bit is set to begin handshaking. In Torque Mode, motion will begin as soon as the torque command is loaded. In this example, the Response Assembly Type is set to response assembly 1 – Actual Position. The amplifier will transmit the actual position when it responds to this command (refer to Response Assembly 0x01 – Actual Position for more information).
See the Data Handshaking section above for details on sending a Polled I/O command. Follow the correct sequence with the command assembly Load/Start bit and the response assembly Load
Complete bit. Check for an error response by looking for the Error Response code 0x14 in the
Response Assembly Type field of the response assembly.
Bit 7
1
0
0
Bit 6
0
0
0
Bit 5
0
1
1
Bit 4
0
0
0
0
0x68
0x06
0x00
0x00
Bit 3
0
0
0
Bit 2
0
1
0
Bit 1
0
0
0
Bit 0
1
1
1
DeviceNet for S300/S600/S700 61
Polled I/O messages
5.2
5.2.1
12/2010
Kollmorgen
I/O Response Assemblies
Polled I/O Messaging is a method of transmitting a group of control bits and a data command and receiving back a group of status bits and a data value response. This method of communication is preferred, as explicit messaging can transmit only a single value at a time. Polled I/O Messaging is a method of communicating to devices a group of specific commands. This method of communication is preferred, as it is faster than explicit messaging. Polled I/O and Explicit Messaging may be used simultaneously for communications between the controller and the amplifier. In this section, the format of each Response Assembly is defined and examples of each are provided.
In Polled I/O Messaging, the amplifier transmits a response assembly when it receives a command assembly from the amplifier. The response assembly has status bits which are defined the same for each type of response. In addition to status bits, a response assembly can transmit one data value at a time (actual position, commanded position, actual velocity, actual torque or error values). The response type is specified in the Response Assembly Type field of the command assembly. A command assembly may contain both a Command Assembly Type and a Response Assembly Type to transmit a command and request a data value in the same assembly.
Status Bits and Data Fields
Byte
0
1
2
3
4
5
6
7
Bit 7
Enable state
Load complete
Bit 6
Reg level
Bit 5 Bit 4
Home level Current dir
Bit 3
General fault
Executing Block Number
Block fault
Following
Response Axis = 001 error
Negative
SW limit
Positive
SW limit
Bit 2 in position
Negative
HW limit
Bit 1
Block Executing
Positive
HW limit
Response Assembly Type
Data Low Byte
Data Low Middle Byte
Data High Middle Byte
Data High Byte
Bit 0 in Motion
Fault input active
Enable State This bit reflects the enable state of the amplifier. See also Enable
(class 0x25 Position Controller, attribute 0x11).
Registration Level The actual level of the registration input. Digital input 2 must be configured for registration.
Home Level This bit reflects the level of the Home Input of the amplifier.
Current Direction This bit reflects the actual direction of motion. When the drive is not in motion, this bit shows the direction of the last commanded move. See also Direction
(class 0x25 Position Controller, attribute 0x17).
General Fault This bit indicates whether or not a fault has occurred. See also General Fault
(class 0x24 Position Controller Supervisor, attribute 0x05).
in position This bit indicates whether or not the motor is on the last targeted position
(1=On Target). See also Incremental Position Flag
(class 0x25 Position Controller, attribute 0x0C).
Block Executing When set, indicates amplifier is running a block command program. See also
Block Execute (class 0x26 Block Sequencer, attribute 0x02).
Executing Block Indicates the number (instance) of the currently executing block when the
Number Block Executing bit is high (1). See also Current Block
(class 0x26 Block Sequencer, attribute 0x03).
In Motion This bit indicates whether a trajectory is in progress (1) or has completed (0).
This bit is set immediately when motion begins and remains set for the entire motion. See also Start Trajectory
(class 0x25 Position Controller, attribute 0x0B).
62 DeviceNet for S300/S600/S700
Kollmorgen
12/2010
Polled I/O messages
Load Complete
Block Fault
This bit indicates that the command data contained in the command message has been successfully loaded into the device. Used for handshaking between the controller and amplifier – see Data Handshaking.
This bit is set to indicate that an error has occurred in the command block program sequencing. Read the Block Fault Code (class 0x26 Block
Sequencer, attribute 0x05) to clear the error. See also Block Fault
(class 0x26 Block Sequencer, attribute 0x04).
Following Error This bit indicates when a following (static or dynamic) error occurs. Clear faults to continue motion (class 0x24 Position Controller Supervisor, attribute
0x64 – Clear Faults).
Negative SW Limit This bit indicates when the position is less than or equal to the Negative
Software Limit Position.
Positive SW Limit This bit indicates when the position is greater than or equal to the Positive
Software Limit Position.
Negative HW Limit This bit indicates the state of the Negative Hardware Limit Input.
Positive HW Limit This bit indicates the state of the Positive Hardware Limit Input.
Fault Input Active This bit indicates the state of the Emergency Stop input. One of the digital inputs 1-4 must be configured as an emergency stop, e.g. IN1MODE=27.
Response Axis The amplifier supports only one axis, so this value must always be 1.
The value is echoed from the command assembly.
Response
Assembly Type
Data Bytes
Set the response type in the command assembly to determine what data will be returned in the Data field of the response assembly. The actual position, target position, actual velocity, and actual torque are available. The response assembly echoes the Response Assembly Type from the command assembly, except when there is an error in the command assembly. If the command assembly is invalid, the response assembly’s Response Assembly Type will be set to 0x14 (Error Response) and an error code will be returned in the Data field.
Response data for the desired response type will be loaded into the data fields, least significant byte first.
DeviceNet for S300/S600/S700 63
Polled I/O messages
5.2.2
12/2010
Kollmorgen
Response Assembly 0x01 – Actual Position
This Polled I/O response assembly is used to return the Actual Position of the motor (in position units).
The actual position returned here corresponds to the Actual Position attribute of the Position Controller object (class 0x25, instance 1, attribute 0x0D). The value may also be accessed through the serial terminal command PFB.
Byte
0
1
2
5
6
7
3
4
Bit 7
Enable state
Load complete
Bit 6
Block fault
Response Axis = 001
Bit 5
Following error
Bit 4
Negative
SW limit
Bit 3
Reg level Home level Current dir
General fault
Executing Block Number
Positive
SW limit
Bit 2 in position
Negative
HW limit
Bit 1
Block Executing
Positive
HW limit
Response Assembly Type (00001)
Actual position Low Byte
Actual position Low Middle Byte
Actual position High Middle Byte
Actual position High Byte
Bit 0
In Motion
Fault input active
Byte
0
1
2
3
4
5
6
7
See Status Bits and Data Fields for definitions of the individual bits and fields.
Shown below is an example for the servo amplifiers. The actual position is 10,000 position units, or
0x00002710 in hexadecimal
Enable State = 1 (enabled)
Registration Level = 0 (not active)
Home Level = 0 (not on the home flag)
Current Direction = 1 (positive direction)
General Fault = 0 (no faults) in position = 1 (in position)
Block Executing = 0 (command block program not executing)
In Motion = 0 (not in motion)
Load Complete = 1 (Command Assembly data was loaded successfully)
Block Fault = 0 (no fault)
Following Error = 0 (no error)
Negative SW Limit = 0 (not on limit)
Positive SW Limit = 1 (on limit)
Negative HW Limit = 0 (Negative direction limit switch inactive)
Positive HW Limit = 1 (Positive direction limit switch active)
Fault Input Active = 0 (emergency stop inputs inactive)
Response Axis = 001
Response Assembly Type = 00001
Data = 0x00002710
Bit 7
1
1
0
Bit 6
0
0
0
Bit 5
0
0
1
Bit 4
1
0
0
0
0x10
0x27
0x00
0x00
Bit 3
0
1
0
Bit 2
1
0
0
Bit 1
0
1
0
Bit 0
0
0
1
64 DeviceNet for S300/S600/S700
Kollmorgen
5.2.3
12/2010
Polled I/O messages
Response Assembly 0x02 – Commanded Position
This Polled I/O response assembly is used to return the commanded position of the motor (in position units).
The value may also be accessed through the serial terminal command PTARGET.
Byte
0
1
2
3
4
5
6
7
Bit 7
Enable state
Bit 6
Reg level
Bit 5 Bit 4
Home level Current dir
Bit 3
General fault
Bit 2 in position
Bit 1
Block Executing
Load complete
Block fault
Following
Response Axis = 001 error
Executing Block Number
Negative
SW limit
Positive
SW limit
Negative
HW limit
Positive
HW limit
Response Assembly Type (00010)
Commanded position Low Byte
Commanded position Low Middle Byte
Commanded position High Middle Byte
Commanded position High Byte
Bit 0
In Motion
Fault input active
5
6
3
4
7
Byte
0
1
2
See Status Bits and Data Fields for definitions of the individual bits and fields.
Shown below is an example for the servo amplifiers. The commanded position is 10,000 position units, or 0x00002710 in hexadecimal.
Enable State = 1 (enabled)
Registration Level = 0 (not active)
Home Level = 0 (not on the home flag)
Current Direction = 1 (positive direction)
General Fault = 0 (no faults) in position = 1 (in position)
Block Executing = 0 (command block program not executing)
In Motion = 0 (not in motion)
Load Complete = 1 (Command Assembly data was loaded successfully)
Block Fault = 0 (no fault)
Following Error = 0 (no error)
Negative SW Limit = 0 (not on limit)
Positive SW Limit = 1 (on limit)
Negative HW Limit = 0 (Negative direction limit switch inactive)
Positive HW Limit = 0 (Positive direction limit switch inactive)
Fault Input Active = 0 (emergency stop inputs inactive)
Response Axis = 001
Response Assembly Type = 00010
Data = 0x00002710
Bit 7
1
1
0
Bit 6
0
0
0
Bit 5
0
0
1
Bit 4
1
0
0
0
0x10
0x27
0x00
0x00
Bit 3
0
1
0
Bit 2
1
0
0
Bit 1
0
0
1
Bit 0
0
0
0
DeviceNet for S300/S600/S700 65
Polled I/O messages
5.2.4
12/2010
Kollmorgen
Response Assembly 0x03 – Actual Velocity
This Polled I/O response assembly returns the actual velocity of the motor. The units are determined by the amplifier setup (VUNIT, Position Controller attributes 40-41).
The actual velocity returned here corresponds to the Actual Velocity attribute of the Position Controller object (class 0x25, instance 1, attribute 0x0E). The value may also be accessed through the serial terminal command PV. The units are determined by the amplifier setup (VUNIT, Position Controller attributes 40-41).
Byte
0
1
2
5
6
7
3
4
Bit 7
Enable state
Load complete
Bit 6
Reg level
Block fault
Bit 5
Following
Response Axis = 001 error
Bit 4
Home level Current dir
Bit 3
General fault
Bit 2 in position
Bit 1
Block Executing
Executing Block Number
Negative
SW limit
Positive
SW limit
Negative
HW limit
Positive
HW limit
Response Assembly Type (00011)
Actual velocity Low Byte
Actual velocity Low Middle Byte
Actual velocity High Middle Byte
Actual velocity High Byte
Bit 0
In Motion
Fault input active
Byte
0
1
2
3
4
5
6
7
See Status Bits and Data Fields for definitions of the individual bits and fields.
Shown below is an example for the servo amplifiers. The actual velocity is 10,000 position units/sec, or 0x00002710 in hexadecimal.
Enable State = 1 (enabled)
Registration Level = 0 (not active)
Home Level = 0 (not on the home flag)
Current Direction = 1 (positive direction)
General Fault = 0 (no faults) in position = 1 (in position)
Block Executing = 0 (command block program not executing)
In Motion = 0 (not in motion)
Load Complete = 1 (Command Assembly data was loaded successfully)
Block Fault = 0 (no fault)
Following Error = 0 (no error)
Negative SW Limit = 0 (not on limit)
Positive SW Limit = 1 (on limit)
Negative HW Limit = 0 (Negative direction limit switch inactive)
Positive HW Limit = 0 (Positive direction limit switch inactive)
Fault Input Active = 0 (emergency stop inputs inactive)
Response Axis = 001
Response Assembly Type = 00011
Data = 0x00002710
Bit 7
1
1
0
Bit 6
0
0
0
Bit 5
0
0
1
Bit 4
1
0
0
0
0x10
0x27
0x00
0x00
Bit 3
0
1
0
Bit 2
1
0
0
Bit 1
0
0
1
Bit 0
0
0
1
66 DeviceNet for S300/S600/S700
Kollmorgen
5.2.5
12/2010
Polled I/O messages
Response Assembly 0x05 – Torque
This Polled I/O response assembly returns the actual torque (current) of the motor.
The actual torque returned here corresponds to the Torque attribute of the Position Controller object
(class 0x25, instance 1, attribute 0x19). The value may also be accessed through the serial terminal command T.
Byte
0
1
2
3
4
5
6
7
Bit 7
Enable state
Load complete
Bit 6
Reg level
Bit 5 Bit 4
Home level Current dir
Bit 3
General fault
Executing Block Number
Block fault
Following
Response Axis = 001 error
Negative
SW limit
Positive
SW limit
Bit 2 in position
Negative
HW limit
Bit 1
Block Executing
Positive
HW limit
Response Assembly Type (00101)
Torque Low Byte
Torque Low Middle Byte
Torque High Middle Byte
Torque High Byte
Bit 0
In Motion
Fault input active
Byte
0
1
2
3
4
5
6
7
See Status Bits and Data Fields for definitions of the individual bits and fields.
Shown below is an example for the servo amplifiers. The actual torque (current) is 3.0A in a 6.0A
peak amplifier. Torque units are scaled to 3280=peak current, so the actual torque value is
3280*3.0/6.0=1640 torque units, or 0x00000668 in hexadecimal.
Enable State = 1 (enabled)
Registration Level = 0 (not active)
Home Level = 0 (not on the home flag)
Current Direction = 1 (positive direction)
General Fault = 0 (no faults) in position = 1 (in position)
Block Executing = 0 (command block program not executing)
In Motion = 1 (motion in progress)
Load Complete = 0 (no data loaded from the Command Assembly)
Block Fault = 0 (no fault)
Following Error = 0 (no error)
Negative SW Limit = 0 (not on limit)
Positive SW Limit = 0 (not on limit)
Negative HW Limit = 0 (Negative direction limit switch inactive)
Positive HW Limit = 0 (Positive direction limit switch inactive)
Fault Input Active = 0 (emergency stop inputs inactive)
Response Axis = 001
Response Assembly Type = 00101
Data = 0x00000668
Bit 7
1
0
0
Bit 6
0
0
0
Bit 5
0
0
1
Bit 4
1
0
0
0
0x68
0x06
0x00
0x00
Bit 3
0
0
0
Bit 2
1
0
1
Bit 1
0
0
0
Bit 0
1
0
1
DeviceNet for S300/S600/S700 67
Polled I/O messages
5.2.6
12/2010
Kollmorgen
Response Assembly 0x14 – Command/Response Error
This Polled I/O response identifies an error that has occurred. This response will always be returned in response to an invalid Command Assembly. The Response Assembly Type field of the response assembly usually echoes the matching field from the previous command assembly. In case of an invalid command assembly, the Response Assembly Type field of the response assembly will be set to 0x14 and error codes will be returned in the Data field.
Byte
0
1
2
5
6
3
4
7
Bit 7
Enable state
Bit 6
Reg level
Bit 5 Bit 4
Home level Current dir
Bit 3
General fault
Executing Block Number
Load complete
Block fault
Following
Response Axis = 001 error
Negative
SW limit
Positive
SW limit
Bit 2 in position
Negative
HW limit
Bit 1
Block Executing
Positive
HW limit
Response Assembly Type (10100)
Error code
Additional code
Copy of command message byte2 (command axis and type)
Copy of command message byte3 (response axis and type)
Bit 0
In Motion
Fault input active
Error Code (hex) Additional Code (hex) DeviceNet Error
0 FF NO ERROR
2
5
5
5
FF
FF
1
2
RESOURCE_UNAVAILABLE
PATH_UNKNOWN
COMMAND_AXIS_INVALID
RESPONSE_AXIS_INVALID
8
8
8
9
FF
1
2
FF
SERVICE_NOT_SUPP
COMMAND_NOT_SUPPORTED
RESPONSE_NOT_SUPPORTED
INVALID_ATTRIBUTE_VALUE
B
C
D
E
F
FF
FF
FF
FF
FF
ALREADY_IN_STATE
OBJ_STATE_CONFLICT
OBJECT_ALREADY_EXISTS
ATTRIBUTE_NOT_SETTABLE
ACCESS_DENIED
10
11
13
14
15
16
17
20
FF
FF
FF
FF
FF
FF
FF
FF
DEVICE_STATE_CONFLICT
REPLY_DATA_TOO_LARGE
NOT_ENOUGH_DATA
ATTRIBUTE_NOT_SUPP
TOO_MUCH_DATA
OBJECT_DOES_NOT_EXIST
FRAGMENTATION_SEQ_ERR
INVALID_PARAMETER
Byte
0
1
2
3
6
7
4
5
Shown below is an example for the servo amplifiers. The previous Command Assembly requested command 0x06 (not supported) and response 0x01. The amplifier returns Response Assembly
0x14 (Command/Response Error) with Error Code = 0x08 and Additional Code = 0x01 (COM-
MAND_NOT_SUPPORTED). Bytes 2 and 3 from the Command Assembly are echoed in the Error
Response Assembly.
Bit 7
1
Bit 6
0
Bit 5
0
Bit 4
1
Bit 3
0
Bit 2
1
Bit 1
0
Bit 0
1
0
0
0
0
0
1
0
1
0
0x08
0x01
0x26
0x21
0
0
0
1
0
0
0
0
68 DeviceNet for S300/S600/S700
Kollmorgen
6
6.1
6.1.1
12/2010
Appendix
Appendix
DeviceNet PLC Examples
Overview
DeviceNet provides three methods for controlling motion – Explicit Messages, Assembly Messages, and Command Block Sequences. Each method provides advantages over the others in certain situations. Typically, Explicit Messages are used to configure the amplifier, Assemblies are used to control movement, and Command Blocks are used when stored motion sequences may be executed without much PLC involvement.
Most PLC’s will support both Explicit and Polled I/O (Assembly) messaging simultaneously. The objects described in Section 4 are all accessed though Explicit Messaging. Section 5 describes the use of Polled I/O command and response assemblies. Command Block Sequences can be setup through Explicit Messsages and then controlled with either Explicit Messages or Polled I/O.
Explicit Messages allow you to access a single parameter value at a time. The desired parameter is selected by specifying the class number, instance number and attribute number in an explicit message. Assemblies combine many control and status bits into 8-byte command and response messages. They are less versatile than explicit messages (only certain parameters are accessible), but several control values may be changes within one message. For this reason, Explicit Messages are better for configuration and Assemblies are better for motion control.
Most drive configuration is done within the Position Controller Object, which encompasses most parameters necessary for motion control. Modify parameters in this object to set the operational mode (torque, velocity, position) and configure motion in the servo amplifier. View parameters in this object to read the drive parameters and status words. Additional drive configuration may be done through another supported object, the Parameter Object. This is a vendor-defined object which exposes vendor configuration parameters. Any drive parameter with a DPR number less than
256 (see the ascii.chm reference) may be accessed through the Parameter Object.
Polled I/O Assemblies are used for most motion control. Polled I/O consists of a Command Assembly from the PLC to the servo amplifier and a Response Assembly from the servo amplifier to the
PLC. Control bits in a command message are used to enable the amplifier, perform a controlled stop of the motor, initiate motion, or initiate stored motion block programs. Command messages can also set the target position, target velocity, acceleration, deceleration or torque parameters.
Status bits in a response message display error states and the general state of the amplifier.
Response messages can also display the actual position, commanded position, actual velocity or torque.
Motion sequences or tasks may be pre-programmed into the amplifier through the Command Block
Object class. These blocks correspond to the servo amplifier motion tasking feature. Positioning moves, time delays, and parameter modification blocks may be linked together to create a motion block program that is stored in the amplifier. Once the stored block program has been configured, it may be executed through either the Block Sequencer Object or with the Polled I/O Command Message block number field and start block bit.
DeviceNet for S300/S600/S700 69
Appendix
6.1.2
6.1.3
12/2010
Kollmorgen
Amplifier Setup for the Examples
To test our examples, start by configuring your amplifier to match our example setup.
In the Basic Setup screen, set:
Acceleration units = ms->VLIM
Velocity units = rpm
Position units = counts
In the Position->Position Data screen, set:
Resolution = 1000 counts / revolution
In the Digital IO screen, set:
DIGITAL-OUT 1 = 23: Reserved
(Digital output function 23 puts the digital output under field bus control).
Save parameters and restart the amplifier.
The examples in this section assume these units have been set. The amplifier must also be properly tuned and configured before continuing.
When the amplifier is properly configured, execute the following command sequence from the serial terminal to test. The motor shaft should rotate 1 revolution in 1 second when the MOVE 0 command is entered.
Command
OPMODE 8
EN
MH
O_C 8193
O_P 1000
O_V 60
O_ACC1 10
O_DEC1 10
MOVE 0
Description
Put the amplifier in position mode.
Enable
Move Home
Incremental move using user units
Move 1000 counts (1 revolution)
Velocity=60 RPM
Acceleration = 10ms to target velocity
Deceleration = 10ms to target velocity
Execution motion task 0
Polled I/O Assemblies
Assemblies are described thoroughly in the following sections: Typical Use of Explicit and Assembly
Messages, Command Assemblies, and Response Assemblies. See these sections for information on the structure and use of command and response assemblies.
For Polled I/O Assembly messaging, the PLC initiates communication with a Command Assembly and the amplifier responds with a Response Assembly. The PLC sends these messages at a regular ‘poll rate’. A handshaking protocol is used to ensure that data is transmitted correctly – see the
Data Handshaking section for a description of this protocol.
70 DeviceNet for S300/S600/S700
Kollmorgen
6.1.3.1
12/2010
Appendix
Sending Command Assemblies - ControlLogix
The servo amplifier may be controlled by Allen Bradley’s Logix 5000 Series PLC’s with DeviceNet
Scanners (1756-DNB) using Polled I/O Assembly Messages. Command Assemblies are sent from the PLC to the amplifier to control drive motion. The format of the command assembly is shown in
In order to communicate with the servo amplifier via Assemblies, the amplifier must first be mapped into the PLC’s scan list (mapping is not described in this document) and the Command Assembly must be mapped into the output memory of the PLC. See your DeviceNet Scanner manual for instructions on setting up a scan list and mapping input and output memory with RSNetworx.
Ensure that you are using the correct slot number. The servo amplifier command and response assemblies are both eight bytes long and are each mapped into two 32-bit words in the PLC. Bytes
0-3 of the assembly are mapped into bytes 0-3 of word 0 and bytes 4-7 of the assembly are mapped into bytes 0-3 of word 1.
If you have only a single servo amplifier in the PLC scan list and the scanner is in slot 1, your output file mapping may look like this:
Output Word
Local:1:O.Data
Local:1:O.Data[0]
Description
DN Scanner output memory
DN command word 0 (control flags, block number, command choice, response choice)
DN command word 1 (command data)
Unmapped area of DN Scanner (available for other devices)
Local:1:O.Data[1]
Local:1:O.Data[2-123]
Once the outputs are mapped, you may modify the Command Assembly being sent to the amplifier by writing to the appropriate output words. The new data will be transmitted on the next scan cycle and will be transmitted each scan cycle until the output file is modified again. To test, try setting the target velocity to 1000. The value can be checked through the terminal with the command O_V.
Change the PLC output command assembly (Scanner output data) to the following:
2
3
4
5
Byte Function
0
1
Command Flags – Disable
Block Number
06
7
Axis Instance; Command Assembly 2 – Target Velocity
Axis Instance; Response Assembly 1 – Actual Position
Target Velocity – Lower Word Lower Byte
Target Velocity – Lower Word Upper Byte
Target Velocity – Upper Word Lower Byte
Target Velocity – Upper Word Upper Byte
Data Value (hex)
0x00
0x00
0x22
0x21
0xE8
0x03
0x00
0x00
Mapping this to the PLC memory should look similar to the table shown below:
Output Word
Local:1:O.Data[0]
Local:1:O.Data[1]
Data Value (hex)
0x2122_0000
0x0000_03E8
For testing, you can modify the data directly from the Program Tags screen:
The command and data are now transmitted to the amplifier on each scan cycle, but the Data
Handshaking protocol must be used to load the data (see the Command Assemblies subsection
Data Handshaking for more information). Wait for the command assembly to transmit, then set the
Load Data bit high by writing 0x2122_0001 to command word 0 (Local:1:O.Data[0]). Now use the serial terminal to read the value of O_V – it should equal 1000.
DeviceNet for S300/S600/S700 71
Appendix
6.1.3.2
12/2010
Kollmorgen
Reading Response Assemblies - ControlLogix
A Response Assembly is a Polled I/O message sent to the PLC from the amplifier in reponse to a command assembly. The amplifier will send a response assembly each time it receives a command assembly from the PLC. If the command assembly is valid and the Response Assembly Type field contains a valid response type, the amplifier will also load the requested data into the response assembly. The data will be refreshed on each Polled I/O cycle until the command assembly changes.
The format of this assembly is shown in section 5.2.1.
The response assembly must be mapped into the input memory of the PLC. See your DeviceNet
Scanner manual for instructions on setting up a scan list and mapping the memory with RSNetworx.
Ensure that you are using the correct slot number. See the previous section for a mapping diagram.
If you have only a single servo amplifier in the PLC scan list and the scanner is in slot 1, your input file mapping may look like this:
Input Word
Local:1:I.Data
Local:1:I.Data[0]
Local:1:I.Data[1]
Local:1:I.Data[2-123]
Description
DN Scanner input memory
DN response word 0 (status flags, block number, response choice)
DN response word 1 (response data)
Unmapped area of DN scanner (available for other devices)
Once the inputs are mapped, you may read the latest Response Assembly received by the PLC by reading from the appropriate input file. The input files will be updated by the PLC on each scan cycle with data transmitted from the amplifier.
To test, use the output command assembly from the previous section. The example command assembly requests the actual position (Response Assembly Type = 1). After writing this command assembly to the output file, wait for the scan cycle to complete, then read the input file to get the latest response assembly. The response assembly should look something like the following, with the motor’s actual position in bytes 4-7:
3
4
5
6
7
Byte Function
0
1
2
Response Flags A – Disabled, In Position
Block Executing - none
Response flags B - Load complete, no errors
Axis instance 1; response assembly 1 - actual position
Actual position - lower word lower byte
Actual position - lower word upper byte
Actual position - upper word lower byte
Actual position - upper word upper byte
Data value (Hex)
0x04
0x00
0x80
0x21
0x00
0x00
0x00
0x00
Mapping this to the PLC memory should look similar to the table shown below:
Input Word
Local:1:I.Data[0]
Local:1:I.Data[1]
Data Value (hex)
0x2180_0004
0x0000_0000
72
You can view the data easily in the Program Tags screen.
The value in Local:1:I.Data[1] should change as you rotate the motor shaft by hand.
DeviceNet for S300/S600/S700
Kollmorgen
6.1.3.3
12/2010
Appendix
Data Handshaking - ControlLogix
Data handshaking is used to transmit data commands with Command Assemblies. To transmit a command to the amplifier, set the Command Type and load data into the data fields, then toggle the
Load/Start bit high. The amplifier will accept data only when Load/Start transitions from 0 to 1. If the data is loaded successfully, the amplifier will set the Load Complete response flag high. Load Complete will be cleared by the amplifier after Load/Start is cleared by the controller. See the Data
Handshaking section for more information.
The LoadData subroutine can be used to simplify data handshaking. The subroutine is shown below.
To use LoadData, first copy a proper command assembly into Local:1:O.Data[0-1]. Then set
LoadState=1 and call the LoadData subroutine until LoadState has been reset to 0.
DeviceNet for S300/S600/S700 73
Appendix
6.1.3.4
12/2010
Kollmorgen
Sending Command Assemblies - SLC500
The servo amplifier may be controlled by Allen Bradley’s SLC-5/0X Series PLC’s DeviceNet Scanners (1747-SDN/B) using Assembly Messages. Command Assemblies are sent from the PLC to the
amplifier to control motion. The format of the command assembly is shown in section 5.1.1.
In order to communicate with the servo amplifiers via Assemblies, the drive must first be mapped into the PLC’s scan list (mapping is not described in this document) and the Command Assembly must be mapped into the output memory of the PLC. See your DeviceNet Scanner manual for instructions on setting up a scan list and mapping input and output memory with RSNetworx.
Ensure that you are using the correct slot number. The amplifier command and response assemblies are both eight bytes long and are each mapped into four 32-bit words in the PLC:
If you have only a single servo amplifier in the PLC scan list and the scanner is in slot 1, your output file mapping may look like this:
Word 0
Byte 1 Byte 0
Byte 0
Byte 1
Byte 2
Byte 3
Word 1
Byte 3 Byte 2
Word 2
Byte 5 Byte 4
Byte 4
Byte 5
Byte 6
Byte 7
Word 3
Byte 7 Byte 6
Output Word
O:1.0
O:1.0/0
O:1.1
O:1.2
O:1.3
O:1.4
O:1.5-31
Description
DN Scanner Control Word
Enable DN Scanner Outputs
DN command word 0 (control flags, block number)
DN command word 1 (command, response)
DN command word 2 (data LSW)
DN command word 3 (data MSW)
Unmapped area of DN scanner (available for other devices)
Once the outputs are mapped, you may modify the Command Assembly being sent to the amplifier by writing to the appropriate output file. The new data will be transmitted on the next scan cycle and will be transmitted each scan cycle until the output file is modified again.
74 DeviceNet for S300/S600/S700
Kollmorgen
12/2010
Appendix
To test, try setting the target velocity to 1000. The value can be checked through the terminal with the command O_V. Change the PLC output command assembly (Scanner output data) to the following:
5
6
7
2
3
4
Byte
0
1
Function
Command Flags – Disable
Block Number
Axis instance, command assembly 2 - target velocity
Axis instance, response assembly 1 - actual position
Target velocity - lower word lower byte
Target velocity - lower word upper byte
Target velocity - lower word lower byte
Target velocity - upper word upper byte
Mapping this to the PLC memory should look similar to the table shown below:
Data value (hex)
0x00
0x00
0x22
0x21
0xE8
0x03
0x00
0x00
Output Word
O:1.1
O:1.2
O:1.3
O:1.4
Data Value (hex)
0000
2122
03E8
0000
For testing, you can modify the data directly from the Program Tags screen:
DeviceNet for S300/S600/S700 75
Appendix
12/2010
Kollmorgen
Alternately, a ladder program can load the desired values into the output words (note that the data is displayed here in decimal):
76
The command and data are now transmitted to the amplifier on each scan cycle, but the Data
Handshaking protocol must be used to load the data. Wait for the command assembly to transmit, then set the Load Data bit high by writing 0x0001 to command word 0 (Output Word O:1.1). Now use the serial terminal to read the value of O_V – it should equal 1000.
DeviceNet for S300/S600/S700
Kollmorgen
6.1.3.5
12/2010
Appendix
Reading Response Assemblies - SLC500
A Response Assembly is a Polled I/O message sent to the PLC from the amplifier in reponse to a command assembly. The amplifier will send a response assembly each time it receives a command assembly from the PLC. If the command assembly is valid and the Response Assembly Type field contains a valid response type, the amplifier will also load the requested data into the response assembly. The data will be refreshed on each Polled I/O cycle until the command assembly changes.
The format of this assembly is shown in section 5.2.1.
The response assembly must be mapped into the input memory of the PLC. See your DeviceNet
Scanner manual for instructions on setting up a scan list and mapping the memory with RSNetworx.
Ensure that you are using the correct slot number. See the previous section for a mapping diagram.
If you have only a single servo amplifier in the PLC scan list and the scanner is in slot 1, your input file mapping may look like this:
Input Word
I:1.0
I:1.1
I:1.2
I:1.3
I:1.4
I:1.5-31
Description
DN Scanner Status Word
DN response word 0 (control flags, block number)
DN response word 1 (command, response)
DN response word 2 (data LSW)
DN response word 3 (data MSW)
Unmapped area of DN scanner (available for other devices)
Once the inputs are mapped, you may read the latest Response Assembly received by the PLC by reading from the appropriate input file. The input files will be updated by the PLC on each scan cycle with data transmitted from the amplifier.
To test, use the output command assembly from the previous section. The example command assembly requests the actual position (Response Assembly Type = 1). After writing this command assembly to the output file, wait for the scan cycle to complete, then read the input file to get the latest response assembly. The response assembly should look something like the following, with the motor’s actual position in bytes 4-7:
4
5
2
3
6
7
Byte Function
0 Response Flags A – Disabled, In Position
1 Block Executing - none
Response flags B - load complete, no errors
Actual position - lower word lower byte
Actual position - lower word upper byte
Actual position - upper word lower byte
Actual position - upper word upper byte
Data value (hex)
0x04
0x00
0x80
Axis instance 1; Response assembly 1 - actual position 0x21
0x00
0x00
0x00
0x00
DeviceNet for S300/S600/S700 77
Appendix
12/2010
Mapping this to the PLC memory should look similar to the table shown below:
Input Word
I:1.1
I:1.2
I:1.3
I:1.4
Data Value (hex)
0000
2180
0000
0000
You can view the data easily in the Program Tags screen.
Kollmorgen
78 DeviceNet for S300/S600/S700
Kollmorgen
6.1.3.6
12/2010
Appendix
Data Handshaking - SLC500
Data handshaking is used to transmit data commands with Command Assemblies. To transmit a command to the amplifier, set the Command Type and load data into the data fields, then toggle the
Load/Start bit high. The amplifier will accept data only when Load/Start transitions from 0 to 1. If the data is loaded successfully, the amplifier will set the Load Complete response flag high. Load Complete will be cleared by the amplifier after Load/Start is cleared by the controller. See the Data
Handshaking section for more information.
The LoadData subroutine can be used to simplify data handshaking. The subroutine is shown below
To use LoadData, first copy a proper command assembly into I:1.1-4. Then set N47:0=1 and call the LoadData subroutine until N47:0 has been reset to 0.
DeviceNet for S300/S600/S700 79
Appendix
12/2010
Kollmorgen
6.1.4
Explicit Messages
Explicit Messages are described thoroughly in the following sections: Typical Use of Explicit and
Assembly Messages, Explicit Messages, Supported Services. See these sections for information on the structure and use of explicit messages.
Unlike Polled I/O Assembly Messages, Explicit Messages are sent only when explicitly requested by the PLC program. The servo amplifier will respond to each Explicit Message with either a success or error code.
80 DeviceNet for S300/S600/S700
Kollmorgen
6.1.4.1
12/2010
Appendix
Explicit Messages and ControlLogix
Use the ControlLogix message instruction MSG to transmit an explicit message to the servo amplifier.
The tag used in the MSG block (SetModeMsg in the example figure) is of type MESSAGE and is configured by clicking the ‘...’ button in the MSG block.
The Message Type for DeviceNet is ‘CIP Generic’. The section ‘Supported Services’ describes the services available in the servo amplifier. Set Attribute Single and Get Attribute Single are the most commonly used services. Select the Class, Instance and Attribute values for the parameter you wish to set/get. These values are provided in the section ‘Explicit Messages’. The example figure uses Class 0x25 – Position Controller Object, Instance 1 (only valid instance for the Position Controller Object), Attribute 3 (OpMode).
For a Set Attribute Single command, set Source Element to a variable holding the value you wish to transmit and Source Length to the byte count of the parameter. For a Get Attribute Single command, set Destination to the variable where you wish to store the parameter value.
Next, click on the Communication tab and enter the path to the servo amplifier. Click on Browse to find your scanner. The second element of the path will generally equal 2, referring to the external
DeviceNet connection – read your scanner manual for more information. The third element is the node address (MACID) of the servo amplifier.
If any communication errors occur, the ER output from the MSG block will bet set and the error code information will be printed on the bottom half of the message configuration screen. See the
Error Messages section for further information.
DeviceNet for S300/S600/S700 81
Appendix
6.1.4.2
6.1.4.2.1
12/2010
Kollmorgen
Explicit Messages and SLC500
With a SLC500 processor, explicit messages are transmitted by writing to the M0 file and received by reading from the M1 file. If the scanner is in slot 1, the explicit message request structure is a
32-byte area in M0:1.224-255 and the explicit message response structure is a 32-byte area in
M1:1.224-255. See your scanner manual for more information.
For this example, create a 32-byte output buffer and a 32-byte input buffer. Explicit Message requests are built in the output buffer, then copied to the M0 file. The response message in M1 is copied into the input buffer for further processing.
SLC500 Explicit Message Request Structure
Byte 1
TX_ID = 1
PORT= 0
SERVICE
Byte 0
TX_CMD = 1,4
MSG_SIZE (in bytes)
MAC ID (node address)
CLASS
INSTANCE
ATTRIBUTE
LOWER DATA WORD
UPPER DATA WORD
PLC output buffer
WORD 0
WORD 1
WORD 2
WORD 3
WORD 4
WORD 5
WORD 6
WORD 7
M0 Memory
WORD 224
WORD 225
WORD 226
WORD 227
WORD 228
WORD 229
WORD 230
WORD 231
TX_ID
TX_CMD
The Transaction ID is an index into the scanner’s explicit message queue.
The scanner can queue messages to multiple devices and send them when it is able.
For our purposes in this example, we always use Transaction ID 1.
The Transaction Command to perform on the transaction block specified by TX_ID.
01
04
Send Explicit Message.
Clear response buffer
(necessary before sending a new message with the same TX_ID).
PORT
MSG_SIZE Size in bytes of all data after the MAC ID (words 3-7). For a message which sets a boolean (1 byte) parameter, the message size will be 7; 2 bytes each for the class, instance and attribute plus 1 byte for the data value.
SERVICE
0 – Channel A. (typical choice)
1 – Channel B.
The DeviceNet service to perform. See the section Supported Services for more information.
0x0E – Get.
0x10 – Set.
MAC ID The DeviceNet ID of the servo amplifier as specified by the two MACID switches.
If the switches are set to 25 (the switches read as decimal), then this value is set to 19h.
CLASS DeviceNet class to access. Examples:
Parameter Object – 0x0F
Position Controller Supervisor – 0x24
Position Controller Object – 0x25
INSTANCE DeviceNet instance number. Examples:
Always 0x01 for Position Controller Object.
Parameter number (DPR number in ascii reference) for Parameter Object.
Port number for Analog and Digital I/O.
ATTRIBUTE The attribute number of the attribute being accessed (set or get).
LOWER/UPPER DATA WORD The data value for a Set service.
82 DeviceNet for S300/S600/S700
Kollmorgen
6.1.4.2.2
6.1.4.2.3
12/2010
Appendix
SLC500 Explicit Message Response Structure
Byte 1
TX_ID
PORT= 0
SERVICE
DATA
Byte 0
TX_STATUS
MSG_SIZE (in bytes)
MAC ID (in bytes)
PLC Input buffer
WORD 0
WORD 1
WORD 2
WORD 3 - 31
M1 Memory
WORD 224
WORD 225
WORD 226
WORD 227 - 255
TX_ID Transaction ID. Matches the TX_ID in the request message.
TX_STATUS The Transaction Status for the transaction block specified by TX_ID.
0 – Ignore block (empty)
1 – Transaction completed successfully
2-15 – Scanner error (see Scanner documentation)
PORT 0 – Channel A. (typical choice)
1 – Channel B.
MSG_SIZE Size in bytes of all data after MAC ID (the data field).
SERVICE Echoes the service code from the command message, setting the upper bit for a response.
0x1E – Get.
0x90 - Set.
0x94 – DeviceNet Error. Error code follows in the Data section.
MAC ID
DATA
The DeviceNet ID of the servo amplifier as specified by the two MACID switches.
Response data (length in bytes given by MSG_SIZE)
SLC500 Explicit Messaging Sequence
1.
2.
3.
4.
5.
6.
Create 32-byte request and response buffers. The example uses N11 for a request (output) buffer and N12 for a response (input) buffer.
Clear the scanner transaction block which you wish to use (selected with the TX_ID field) by loading TX_CMD 0x04 (clear response buffer). For example, to clear transaction block 1, set
TX_ID=0x01 and TX_CMD=0x04 in the output buffer (WORD 0 = 0x0104), then copy the request buffer into M0:1.224-255.
Build an Explicit Message Request in the output buffer. Set TX_ID=0x01 to use transaction block 1 and set TX_CMD=0x01 (transmit explicit message). Use the file copy instruction
(COP) to copy the data into M0:1.224-2554
Wait until the Explicit Message Response Available bit transitions to 1, indicating that an explicit response message has been received. The flag is bit 15 of the 1747-SDN Module
Status Register (typically mapped to word 0 of the input file so the bit is I:1/155)
Use the file copy instruction (COP) to copy the data from M1:1.224-255 into the response buffer
Test the TX_ID field to make sure it matches the TX_ID set in the request message. Test the TX_STATUS value for an error (1 = success). Test the SERVICE value for a DeviceNet error code (0x94 indicates an error).
7.
Clear the scanner transaction block by loading TX_CMD=0x04 into the request buffer and copying the buffer into M0:1.224-255. After the data is loaded, the Explicit Message
Response Available bit should transition to 0.
8.
Send the next Explicit Request Message by continuing at step 3.
Note: SLC500 PLC’s sometimes take up to 2 seconds to process an explicit message command.
This delay is not controlled by the S600 in any way, as it responds to an explicit message command in less than 5 ms.
DeviceNet for S300/S600/S700 83
Appendix
6.1.4.2.4
12/2010
Kollmorgen
SLC500 Explicit Messaging Example Code
The SLC500 example program includes the subroutine EXP_MSG to handle most of the explicit messaging sequence. To use the subroutine, simply build an Explicit Request Message in the request buffer N11. Ignore WORD 0 (TX_ID and TX_CMD) as this is controlled by the subroutine.
Set N13:0 = 1 to start the EXP_MSG state machine. N13:0 is reset to 0 after the response message has been loaded into the response buffer and the subroutine has completed.
84 DeviceNet for S300/S600/S700
Kollmorgen
12/2010
Appendix
6.1.5
Example 1: Simple Move
6)
7)
8)
9)
This example performs a simple operation, consisting of the following tasks:
1) Select positioning mode
2)
3)
4)
5)
Enable the servo amplifier
Home
Move one revolution
Wait until movement is complete
Set digital output 1 on
Delay 2 seconds
Set digital output 1off
Move back ½ revolution
DeviceNet for S300/S600/S700 85
Appendix
6.1.5.1
12/2010
Kollmorgen
Serial Command Sequence
This example may be executed manually from the serial terminal window in the amplifier setup software with the following commands:
Command
OPMODE 8
EN
MH
ACCR 10
DECR 10
O_V 60
O_P 1000
O_C 10240
O_C2 256
MOVE 0
O1 1
O1 0
O_P 500
MOVE 0
Description
Switch to position mode
Enable the S600
Move home acceleration time = 10ms deceleration time = 10ms target velocity = 60 RPM target position = 1000 counts (1 revolution) command word = 0x2800 - user units for position and velocity; absolute move; interpret O_C2 secondary command word = 0x100 - use ACCR and DECR for this motion task
Execute motion task 0 (wait for move to complete
Set digital output 1 high (wait 2 seconds for desired delay)
Set digital output 1 low
Set the target position to 500 counts (½ revolution)
Execute motion task 0
Test the example manually before continuing to ensure that the servo amplifier is configured properly.
86 DeviceNet for S300/S600/S700
Kollmorgen
6.1.5.2
12/2010
DeviceNet Command Sequence
DeviceNet Command
Set OpMode = Position_Mode
Explicit Msg Request: Service = 0x10, Class = 0x25, Instance=0x01,
Attribute = 0x03, Data = 0x00
Enable the amplifier
Polled I/O Command Assembly: set the Enable flag = 1 (byte 0, bit 7)
Word 0 = 0x2020_0080
Word 1 = 0x0000_0000
Move Home
Explicit Msg Request: Service = 0x10, Class = 0x0F, Instance = 141
(MH command in the ascii reference), Attribute = 0x01, Data = 0x01
Wait Until Homed – Read Amplifier Status Word
Explicit Msg Request: Service 0x0E, Class 0x25, Instance = 0x01, Attribute = 0x66
Set Acceleration Rate = 10
Polled I/O Command Assembly: use command 0x03
Word 0 = 0x2023_0080
Word 1 = 0x0000_000A
Toggle bit 0 high to load (Data Handshaking)
Set Deceleration Rate = 10
Polled I/O Command Assembly: use command 0x04
Word 0 = 0x2024_0080
Word 1 = 0x0000_000A
Toggle bit 0 high to load (Data Handshaking)
Set Target Velocity = 60
Polled I/O Command Assembly: use command 0x02
Word 0 = 0x2022_0080
Word 1 = 0x0000_003C
Toggle bit 0 high to load (Data Handshaking)
Set Target Position = 1000
Polled I/O Command Assembly: use command 0x01
Word 0 = 0x2021_0080
Word 1 = 0x0000_03E8
Toggle bit 0 high to load and begin motion (Data Handshaking).
Watch the Response Assembly – In Motion flag (byte 0, bit 0).
Wait until this bit transitions low (indicating that the move has completed).
Set Digital Output 1 On
Explicit Msg Request: Service = 0x10, Class = 0x09, Instance = 0x01 (for output 1),
Attribute = 0x03, Data = 0x01
Delay 2 seconds
Set Digital Output 1 Off
Explicit Msg Request: Service = 0x10, Class = 0x09, Instance = 0x01 (for output 1),
Attribute = 0x03, Data = 0x00
Set Target Position = 500
Polled I/O Command Assembly: use command 0x01
Word 0 = 0x2021_0080
Word 1 = 0x0000_01F4
Toggle bit 0 high to load and begin motion (Data Handshaking).
Appendix
Serial Terminal
Verification
OPMODE
8
READY
1
DRVSTAT bit 0x2000 is set
Home has completed
ACCR
10
DECR
10
O_V
60
O_P
1000
O_C
10240 = 0x2800
(user units,
1 revolution)
The In Motion flag should be high whenever the drive is in motion.
O1
1
(Set PLC timer to delay for 2 seconds)
O1
0
O_P
500
O_C
10240 = 0x2800
(user units,
- ½ revolution)
DeviceNet for S300/S600/S700 87
Appendix
6.1.5.3
6.1.5.4
6.2
6.3
6.4
12/2010
Kollmorgen
ControlLogix program
A ControlLogix program called S600_Example_1.ACD which implements this example is available from the website. The example assumes that a DeviceNet scanner is installed in slot 1 and that an servo amplifier at address 1 is mapped into the lowest words of the scanner.
To begin the example sequence, configure the amplifier as described in the section ‘Amplifier Setup for the Examples’, download the program to the processor, enter run mode, and set Ex1State=1.
SLC500 program
A SLC500 program called S600_Example_1.RSS which implements this example is available from the website. The example assumes that a DevieNet scanner is installed in slot 1 and that an servo amplifier at address 1 is mapped into the lowest words of the scanner.
To begin the example sequence, configure the amplifier as described in the section ‘Amplifier Setup for the Examples’, download the program to the processor, enter run mode, and set Ex1State
(N16:0) = 1.
Baud Rate Switch Settings
For servoamplifiers, the baud rate switch may be set to 0 (125 KBaud), 1 (250 KBaud) or 2 (500
KBaud). If the switch is set to a value greater than 2, the baud rate is configurable through the terminal parameter DNBAUD and through DeviceNet. If the switch is set from 0 to 2, the baud rate cannot be controlled with DNBAUD or DeviceNet.
MAC ID Switch Configuration
Values 0 to 63 are valid. If the switches are set to a value greater than 63, the MAC ID is configurable through the terminal parameter DNMACID and through DeviceNet. If the switches are set from 0 to 63, the MAC ID cannot be controlled with DNMACID or DeviceNet.
Network LED
The Network LED indicates the status of this device on the DeviceNet network.
Device state
Not powered / not online
Online, not connected
Online, connected
Connection time-out
Critical link failure
LED off flashing green green flashing red red
Details
Device is not on–line. Either network power is off or the device has not completed the Dup_MAC_ID test
Device is on–line but has no connections in the established state. The device has passed the Dup_MAC_ID test, is on–line, but has no established connections to other nodes. This device is not allocated to a master.
The device is on–line and has connections in the established state. The device is allocated to a Master.
The Polled I/O connection is in the timed-out state.
The device has detected an error that has rendered it incapable of communicating on the network (Duplicate MAC ID, or Bus–off).
6.5
Listing of DeviceNet Commands
This appendix cross-references DeviceNet messages (both Explicit Message class/instance/attribute mappings and Polled I/O Command/Response fields) to serial terminal commands. For information of each serial command, look for the matching section in ascii.chm.
88 DeviceNet for S300/S600/S700
Kollmorgen
6.5.1
Data Types
6.5.2
12/2010
Appendix
Type
BOOL
SINT
BYTE
USINT
INT
UINT
WORD
DINT
UDINT
DWORD
LINT
ULINT
LWORD
EPATH
Description
Boolean
Short Integer bit string - 8 bits
Unsigned Short Integer
Integer
Unsigned Integer bit string - 16-bits
Double Integer
Unsigned Double Integer bit string - 32-bits
Long Integer
Unsigned Long Integer bit string - 64-bits
DeviceNet path segments
Width (bytes)
1
1
1
1
2
2
2
4
4
4
8
8
8 variable
Min
-128
0
-32768
0
-2
31
0
-2
63
0
Max
127
255
32767
655351
2
31
-1
2
32
-1
2
63
-1
2
64
-1
Explicit Messages
Services:
Classes:
Reset=0x05, Get=0x0E, Set=0x10
0x01=Identity Object, 0x24=Position Controller Supervisor, 0x25=Position Controller
Object, 0x26=Block Sequencer, 0x27=Command Block, 0x0F=Parameter Object
Name
Identity Object
Reset
Cls Inst Attr Srvc Data Notes
0x01 0x01 0x00 R none Set value=1 to restart the amplifier. COLDSTART.
Default 0x01 0x01 0x01
Serial Number 0x01 0x01
Position Controller Supervisor Object
R none
Set value=1 to load default parameters and restart. RSTVAR, SAVE, COLDSTART.
0x06 G UDINT SERIALNO
General Fault
Clear Faults
Error Code
0x24
0x24
0x24
0x01
0x01
0x01
0x05 G BOOL
=1 if any amplifier faults (ERRCODE). Also set on warnings for n3 (position error), n8 (bad motion task), n9 (reference point not set)
0x65 G/S BOOL Set value=1 to clear faults. CLRFAULT.
ERRCODE. Returns the hex value of the error
0x64 G DINT code.
Position Controller Object
Mode
Target Position
Target Velocity
Acc
Dec
Incremental Flag
Load/Profile
Handshake in position
Actual Position
Actual Velocity
Enable
Smooth Stop
Hard Stop
0x25
0x25
0x25
0x25
0x25
0x25
0x25
0x25
0x25
0x25
0x25
0x25
0x25
0x01
0x01
0x01
0x01
0x01
0x01
0x01
0x01
0x01
0x01
0x01
0x01
0x01
0x03
0x08
G/S USINT
G/S DINT
0=Position (OPMODE 8). 1= velocity (OPMODE
0). 2=Torque (OPMODE 2).
0x06 G/S DINT
O_P. Sets O_C bits 0x2800 and O_C2 bits 0x100, units are SI and ACCR/DECR override
O_ACC1/O_DEC1.
0x07 G/S DINT O_V. Units determined by amplifier configuration.
Velocity Mode: ACC. Position Mode: ACCR. Units set by ACCUNIT,PGEARI.
0x09 G/S DINT
Velocity Mode: DEC. Position Mode: DECR. Units set by ACCUNIT,PGEARI.
0x0a G/S BOOL O_C bit 0. 0->ABS, 1->INCR.
0x0b G/S BOOL
Get: 1 if in motion. Set 1 to move (type depends on Mode - attr 3).
0x0c G BOOL INPOS
Get: read current position (PFB). Set: redefine po-
0x0d G/S DINT sition. ROFFS=X, NREF=0, MH
0x0e G DINT abs(PV)
0x11 G/S BOOL EN
0x14 G/S BOOL STOP. DECR is rate. Get returns 0.
0x15 G/S BOOL Emergency stop. DECSTOP is rate. Get returns 0.
DeviceNet for S300/S600/S700 89
Appendix
90
12/2010
Kollmorgen
Name
Jog Velocity
Direction
Reference Direction
Torque
Save parameters
Cls
0x25
0x25
0x25
0x25
0x25
Inst
0x01
0x01
0x01
0x01
0x01
Attr Srvc Data Notes
0x16 G/S DINT
J. Positive value – direction depends on Direction attr23 Units determined by amplifier configuration.
Used only in Velocity Mode.
0x17
0x18
G/S BOOL
G/S BOOL
Get: current direction of motion (not the flag). S: direction flag for J. 1->pos direction. 0->neg direction
DIR (inverse). 1=pos, 0=neg (0 -> CW is positive).
Can only set when amplifier is disabled. You must save and restart the amplifier after setting this variable.
0x19 G/S DINT
New torque value (set Load bit - attr 11 - to move).
Internal counts. 3280 = peak torque. Similar to the
T command, except the new torque command isn’t executed until the Load bit is set.
0x65 G/S BOOL
SAVE. Write 1 to save parameters to EPROM. Get returns 0.
0x66 G DINT DRVSTAT
0x67 G DINT TRJSTAT
Drive Status 0x25
Trajectory Status 0x25
Block Sequencer Object
0x01
0x01
Block
Block Execute
Current Block
Block Fault
Block Fault Code
0x26
0x26
0x26
0x26
0x26
0x01
0x01
0x01
0x01
0x01
0x01
0x02
0x03
G/S USINT
G/S BOOL
G/S USINT
1-255. Block number to execute (ORDER# for
MOVEx).
Set to begin block execution. Reads 1 while executing a block and 0 when complete. MOVE x.
Number of currently executing block. Reads 0 on jog. TASKNUM.
0x04
0x05
G/S BOOL
G/S BOOL
Set when a block error occurs. Reset when Block
Fault Code is read.
0=no fault, 1 = invalid or empty block data, 2 = command time out (Wait Equals), 3 = execution fault.
0x06 G/S DINT (positive) counter for block looping. M LOOPCNT.
Counter 0x26 0x01
Command Block Object (all)
Block Type 0x27 0x01-0xff 0x01 G/S USINT
Command to execute, e.g. 0x01=Modify Attribute
(see following sections). The value of Block Command determines the format of attributes 3-7. The block command is stored in the 2 low bytes of
O_C2 (see following sections for mapping of Block
Command value into O_C2). For motion tasks, bit
0x100 in O_C2 is set so that ACCR and DECR are used for the acceleration and deceleration rates.
Setting the block command also modifies O_C sets 0x800 (extended task type bit) for most tasks and 0x2800 for motion tasks.
Block Link # 0x27 0x01-0xff 0x02 G/S USINT
O_FN - Instance number of the next block to execute when this block is done. 0 means no following task.
Command Block Object (with Block Command=1 Modify Attribute)
Modify Attribute - set the value of any DeviceNet accessible attribute. Setting Block Command (attribute 1) =
Modify Attribute will also set O_C bit 0x800 and O_C2=6.
Class 0x27 0x01-0xff 0x03 G/S USINT
Class to access (e.g. 0x25 for Position Controller
Object). Stored in the upper byte of O_ACC1.
Instance 0x27 0x01-0xff 0x04 G/S USINT Instance to access. Stored in O_DEC1.
Attribute
Data
0x27
0x27
0x01-0xff
0x01-0xff
0x05
0x06
G/S USINT
G/S DINT
Attribute to access (must be settable). Stored in the lower byte of O_ACC1.
New attribute data. Stored in O_P.
Command Block Object (with Block Command=2 Wait for Parameter Value)
Wait for parameter value - delay until a DeviceNet accessible attribute equals a desired value. Setting Block
Command (attribute 1) = 2 will also set O_C bits 0x880 and O_C2=2.
Class
Instance
Attribute
0x27 0x01-0xff 0x03 G/S USINT
Class to access (e.g. 0x25 for Position Controller
Object). Stored in the upper byte of O_ACC1.
0x27 0x01-0xff 0x04 G/S USINT Instance to access. Stored in O_DEC1.
0x27 0x01-0xff 0x05 G/S USINT
Attribute to access (must be settable). Stored in the lower byte of O_ACC1.
DeviceNet for S300/S600/S700
Kollmorgen
12/2010
Appendix
Name
Time-out
Cls
0x27
Inst
0x01-0xff
Attr Srvc Data
0x06 G/S DINT
Notes
Maximum time to wait in ms. Fault if time-out is reached. 0 = no timeout. Stored in O_FT.
0x27 0x01-0xff 0x07 G/S DINT Value to wait for. Stored in O_P.
Compare Data
Command Block Object (with Block Command=3 Greater-Than Test)
Greater-than test - Test the value of a DeviceNet accessible attribute and branch to an alternate block if the attribute value is greater than the test value. Setting Block Command (attribute 1) = 3 will also set O_C bit 0x800 and O_C2=3.
Class
Instance
Attribute
0x27 0x01-0xff 0x03 G/S USINT
Class to access (e.g. 0x25 for Position Controller
Object). Stored in the upper byte of O_ACC1.
0x27 0x01-0xff 0x04 G/S USINT Instance to access. Stored in O_DEC1.
Attribute to access (must be settable). Stored in
0x27 0x01-0xff 0x05 G/S USINT the lower byte of O_ACC1.
Alternate Link
Number
Class
Instance
Attribute
0x27 0x01-0xff 0x06 G/S USINT Block to branch to if true. Stored in O_DEC2.
Compare Data 0x27 0x01-0xff 0x07 G/S DINT
If the Attribute is greater than Compare Data, ignore the normal link (attribute 2) and branch to
Alternative Link (attribute 6). Stored in O_P.
Command Block Object (with Block Command=4 Less-Than Test)
Less-than test - Test the value of a DeviceNet accessible attribute and branch to an alternate block if the attri bute value is less than the test value. Setting Block Command (attribute 1) = 4 will also set O_C bit 0x800 and
O_C2=4.
0x27 0x01-0xff 0x03 G/S USINT
Class to access (e.g. 0x25 for Position Controller
Object). Stored in the upper byte of O_ACC1.
0x27 0x01-0xff 0x04 G/S USINT Instance to access. Stored in O_DEC1.
Attribute to access (must be settable). Stored in
0x27 0x01-0xff 0x05 G/S USINT the lower byte of O_ACC1.
Alternate Link
Number
0x27 0x01-0xff 0x06 G/S USINT Block to branch to if true. Stored in O_DEC2.
Compare Data 0x27 0x01-0xff 0x07 G/S DINT
Command Block Object (with Block Command=5 Decrement Counter)
Decrement Counter - This block decrements the global counter in the Command Block Sequencer object. No additional attributes are defined for this command type. Setting Block Command (attribute 1) = 5 will also set
O_C bit 0x800 and O_C2=9.
Command Block Object (with Block Command=6 Delay)
If the Attribute is less than Compare Data, ignore the normal link (attribute 2) and branch to Alternative Link (attribute 6). Stored in O_P.
Delay - This block causes the sequencer to delay for a given number of milliseconds before continuing with the next block. The block must have a Block Link in attribute 2. Setting Block Command=6 will also set O_C bits
0x880 and O_C2=1.
Delay 0x27 0x01-0xff 0x03 G/S DINT Time to delay in ms. Stored in O_FT.
Command Block Object (with Block Command=8 Trajectory)
Trajectory - execute a positioning move. Setting Block Command=8 will also set O_C bit 0x3800 (SI units, extended task) and O_C2=0x100 (use global acceleration and deceleration rates).
Target Position
Target Velocity
Incremental
0x27 0x01-0xff 0x03 G/S DINT O_P
0x27 0x01-0xff 0x04 G/S DINT O_V
O_C bit 0. 0->absolute move, 1->incremental
0x27 0x01-0xff 0x05 G/S BOOL move.
Command Block Object (with Block Command=9 Velocity Change)
Velocity Change - execute a velocity profile. Setting Block Command=9 will also set O_C2=0x165 and O_C bits 0x3800. This type of block cannot have a next block link since the velocity profile doesn’t have a definite end.
Target Velocity 0x27 0x01-0xff 0x03 G/S DINT O_V
Parameter Object
The instance number in the parameter object corresponds to the DPR number specified in the ASCII serial-terminal command reference for drive parameters. Only parameters 1-255 are accessible.
Parameter Value
Descriptor
Data Size
0x0F 0x01-0xFF 0x01 G/S type
Actual value of the parameter. The value is read-only if bit 4 of attr#4 (descriptor-ReadOnly bit) is 1.
0x0F 0x01-0xFF 0x04 G WORD Read-only if bit 0x10 is set.
0x0F 0x01-0xFF 0x06 G USINT Length of the data in bytes.
DeviceNet for S300/S600/S700 91
Appendix
6.5.3
12/2010
Kollmorgen
Name Cls
Discrete Input Point Object
Inst
Value
Attr Srvc Data Notes
0x08 0x01-0x04 0x03 G BOOL
0=off; 1=on. Instance 1-4 —> IN1, IN2, IN3, IN4.
These are the onboard digital input available on connector X3.
Discrete Output Point Object
Value 0x09 0x01-0x02 0x03 S BOOL
0=off; 1=on. Settable only if O1MODE=23 /
O2MODE=23, else returns error 0x10 Device Conflict. Is reset to 0 on any fault. Instance 1,2 —>
O1, O2.
Analog Input Point Object
Value 0x0A 0x01-0x02 0x03 G INT
Voltage on the input, in mV. Instance 1,2 —>
ANIN1, ANIN2.
Analog Output Point Object
Value 0x0B 0x01-0x02 0x03 S INT
Instance 1,2 —> AN1TRIG,AN2TRIG. Set
ANOUT1/2 = 6 for DeviceNet control. Value is the voltage to output in mV. If ANOUT1/2 6, returns error 0x10 Device Conflict.
Polled I/O Messages
92
Name
Command Assembly
Byte Bit
Load Data/Start
Profile
Start Block
Incremental
Direction
Smooth Stop
Hard Stop
Reg Arm
Enable
Block Number
Command Type x00 No Operation x01 Target Position x02 Target Velocity x03 Acceleration x04 Deceleration x05 Torque
Command Axis
Response Type x00 No Operation
0
0
0
0
0
0
0
0
1
2
2
2
2
2
2
2
2
3
3
Value Notes
0
1
2
3
4
5
6
7
1-7
0-4
0-4
0-4
0-4
0-4
0-4
0-4
5-7
0/1
0/1
0/1
0/1
0-4 0-3,5,0x14
0-4
0/1
0/1
0/1
0/1
0-255
0-5
0
1
2
3
4
5
1
0
To load data into the amplifier, set the Command Type and
Data fields, then transition this bit 0->1 to initiate data handshaking.
If the command is accepted, the amplifier will set the Data
Loaded bit in the response assembly. If the command type matches the amplifier mode, movement will start (Position command in position mode, Torque command in torque mode, Velocity command in velocity mode).
Transition 0->1 to execute a Command Block or chain. The
Block Number is in byte 1 of the command assembly. Similar to MH [BlockNumber]
O_C bit 0. 0 = absolute position. 1 = incremental. (Positioning mode only)
Controls direction of the motor in velocity mode.
1 = forward, 0 = reverse. Only valid in velocity mode.
STOP. Immediate controlled stop. Uses DECR for rate.
DECSTOP. Immediate fast stop
Registration Arm.
EN. 1 = enable the amplifier. 0 = disable and stop motion.
Block number to execute on a positive Start Block edge.
MOVE [BlockNumber] command types follow. Set Load Data/Start Trajectory bit to load the command.
do nothing
O_P. Move will begin when this command is loaded in positioning mode.
position mode: O_V. velocity mode: J and move will begin when this command is loaded.
Velocity Mode: ACC. Position Mode: ACCR. Units set by AC-
CUNIT,PGEARI.
Velocity Mode: DEC. Position Mode: DECR. Units set by AC-
CUNIT,PGEARI.
T. Only works in torque mode.
This must always be 1. Any other value will invalidate the command assembly.
Response types follow. The response data will be in the next response assembly.
do nothing. Response data will be zeros.
DeviceNet for S300/S600/S700
Kollmorgen
12/2010
Appendix
Name x01 Actual Position x02 Commanded
Position x03 Actual Velocity x05 Torque
Byte
3
3
3
3
Bit
0-4
0-4
0-4
0-4 x14 Assembly Error
Response Axis
Command Data
Response Assembly
4-7
Profile in progress
Block in execution in position
General Fault
Current Direction
0
0
0
0
0
Home Flag
Reg Level
Enable
Executing Block #
Fault Input
Positive HW Limit
Negative HW Limit
Positive Software
Limit
Negative Software
Limit
Following Error
Block Fault
Load Complete
Response Type
Response Axis
Response Data
3
3
0
0
0
1
2
2
2
2
2
2
2
2
3
3
4-7
0-4
5-7
Value
1
2
3
5
0x14
1
Notes
PFB
PTARGET
I abs(PV). Steps/s. Absolute value of velocity.
Error code in response assembly: bytes 4-5=error code,
6-7=mirror command bytes 2-3.
ERROR CODES... Less than 8 bytes: x13 ff. Unsupported command: x08 01. Unsupported Response: x08 02. Unsupported command axis: x05 01. Unsupported response axis: x05 02. Get unsupported attribute: x14 02. Set unsupported attribute: x14 01. Set unsettable attribute: x0E FF. Set invalid value: x09 FF.
This must always be 1. Any other value will invalidate the command assembly.
Data depends on Command Type. Data bytes are in reverse order - the least significant byte is first.
0
1
2
3
5
6
7
0-7
0
1
2
3
4
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0/1
0-255
0/1
0/1
0/1
0/1
1 = a move has been commanded and is not complete.
DRVSTAT bit 0x10000
1 = a block is in execution. Block number given in byte 1.
INPOS. 1 = in position
1 = alarm. Faults, Warnings n3, n8, n9. ERRCODE.
Current Direction. 1 = Fwd. V positive or negative.
1=off the flag, 0=on the flag. Level of home input. DRVSTAT bit 0x40000
Registration input level. IN2MODE must = 26
1 = enabled. READY.
Block currently in execution. 0=no block executing. TAS-
KNUM.
1 = Fault Input is active. Using Emergency Stop inputs.
Check for input with INxMODE=27 and input level low (active level low is fault).
DRVSTAT bit 0x200. 1=active.
DRVSTAT bit 0x400. 1=active.
DRVSTAT bit 0x40. 1=active
4 0/1 DRVSTAT bit 0x20. 1=active
5
6
7
0-4 0-3,5,0x14
5-7
0/1
0/1
0/1
1
Following Error. DRVSTAT bit 0x04.
Error executing a block. 1 = Fault. Read Block Sequencer
Object attr#5 to clear.
Load Complete. Command data loaded successfully. Reset when Load/Start bit is low.
Echoes Response Type from Command Assembly. See description above.
Echoes Response Axis from Command Assembly.
Data depends on Response Type. Data bytes are in reverse order - the least significant byte is first.
6.6
Default Input/Output Configuration
For the servo amplifier, the following input configuration is applicable:
O1MODE=23 (DeviceNet control of digital output 1)
O2MODE=23 (DeviceNet control of digital output 2)
ANOUT1=6 (DeviceNet control of analog output 1)
ANOUT1=6 (DeviceNet control of analog output 1)
DeviceNet for S300/S600/S700 93
Appendix
6.7
12/2010
Kollmorgen
Error Messages
DeviceNet error messages are received when a command assembly or explicit request message cannot be handled successfully by the amplifier. This is often caused by either an invalid message or an invalid amplifier state.
The servo amplifier transmits an error response assembly in reply to a bad command assembly.
Response type 0x14 is loaded in the Response Assembly Type field and the error codes are loaded
in bytes 4-5. See section 5.2.6 for more information.
The servo amplifier will transmit an error explicit response message in reply to a bad explicit request message. This response will have service code 0x94 and the error codes in the first two data bytes.
Error Code (hex) Additional Code (hex) DeviceNet Error
0 FF NO ERROR
2
5
5
5
FF
FF
1
2
RESOURCE_UNAVAILABLE
PATH_UNKNOWN
COMMAND_AXIS_INVALID
RESPONSE_AXIS_INVALID
D
E
F
10
8
9
8
8
B
C
FF
1
2
FF
FF
FF
FF
FF
FF
FF
SERVICE_NOT_SUPP
COMMAND_NOT_SUPPORTED
RESPONSE_NOT_SUPPORTED
INVALID_ATTRIBUTE_VALUE
ALREADY_IN_STATE
OBJ_STATE_CONFLICT
OBJECT_ALREADY_EXISTS
ATTRIBUTE_NOT_SETTABLE
ACCESS_DENIED
DEVICE_STATE_CONFLICT
16
17
20
11
13
14
15
FF
FF
FF
FF
FF
FF
FF
REPLY_DATA_TOO_LARGE
NOT_ENOUGH_DATA
ATTRIBUTE_NOT_SUPP
TOO_MUCH_DATA
OBJECT_DOES_NOT_EXIST
FRAGMENTATION_SEQ_ERR
INVALID_PARAMETER
94 DeviceNet for S300/S600/S700
Kollmorgen
6.8
Index
A
B
C
D
I
E
M
O
Abbreviations . . . . . . . . . . . . . . . . . . 8
Additional documentation . . . . . . . . . . . . 7
Basic features . . . . . . . . . . . . . . . . . . 9
Communication faults . . . . . . . . . . . . . 16
Data transfer functions . . . . . . . . . . . . . 9
Data types . . . . . . . . . . . . . . . . . . . 21
DeviceNet bus cable . . . . . . . . . . . . . . 13
Error codes . . . . . . . . . . . . . . . . . . . 23
I/O response . . . . . . . . . . . . . . . . . . 64
Installation . . . . . . . . . . . . . . . . . . . 11
Motion objects . . . . . . . . . . . . . . . . . 18
Object class
Block sequencer . . . . . . . . . . . . . . 33
Command block . . . . . . . . . . . . . . 35
Connection (explicit) . . . . . . . . . . . . 51
Connection (polled I/O) . . . . . . . . . . 52
DeviceNet . . . . . . . . . . . . . . . . . 50
Identity . . . . . . . . . . . . . . . . . . . 49
Message router . . . . . . . . . . . . . . 50
Position controller . . . . . . . . . . . . . 25
Position controller supervisor . . . . . . . 23
12/2010
Appendix
P
S
T
U
Polled I/O. . . . . . . . . . . . . . . . . . . . 53
Position controller . . . . . . . . . . . . . . . 17
Positioning functions . . . . . . . . . . . . . . 9
Setup . . . . . . . . . . . . . . . . . . . . . . 16
Setup functions . . . . . . . . . . . . . . . . . 9
Supervisor attributes . . . . . . . . . . . . . . 23
Symbols . . . . . . . . . . . . . . . . . . . . . 8
System requirements . . . . . . . . . . . . . . 8
Target group . . . . . . . . . . . . . . . . . . . 7
Transmission procedure . . . . . . . . . . . . . 9
Transmission rate . . . . . . . . . . . . . . . . 9
Use as directed . . . . . . . . . . . . . . . . . 8
DeviceNet for S300/S600/S700 95
Service
We are committed to quality customer service. In order to serve in the most effective way, please contact your local sales representative for assistance.
If you are unaware of your local sales representative, please contact the Customer Support.
Europa
Kollmorgen Customer Support Europe
Internet www.kollmorgen.com
E-Mail [email protected]
Tel.: +49 (0)2102 - 9394 - 2250
Fax: +49 (0)2102 - 9394 -
3110
North America
Kollmorgen Customer Support North America
Internet www.kollmorgen.com
E-Mail [email protected]
Tel.: +1 - 540 - 633 - 3545
Fax: +1 - 540 - 639 - 4162
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 1 Cover page
- 3 Contents
- 7 1 General
- 7 1.1 About this manual
- 7 1.2 Target group
- 7 1.3 Hints for the online edition (PDF format)
- 8 1.4 Use as directed
- 8 1.5 System requirements
- 8 1.6 Symbols used
- 8 1.7 Abbreviations used
- 8 1.8 Application of this manual
- 9 1.9 Basic features implemented through DeviceNet
- 11 2 Installation / Setup
- 11 2.1 Installation
- 11 2.1.1 Safety notes
- 12 2.1.2 Install the expansion card
- 12 2.1.2.1 Combined Module / Network Status LED
- 12 2.1.2.2 Front view
- 12 2.1.2.3 Connection technology
- 13 2.1.2.4 Bus cable
- 15 2.1.2.5 Connection diagram
- 15 2.1.2.6 Setup of station address
- 15 2.1.2.7 Setup of transmission rate
- 15 2.1.2.8 Controller setup
- 16 2.2 Setup
- 16 2.2.1 Guide to Setup
- 16 2.2.2 Error handling
- 16 2.2.3 Response to BUSOFF communication faults
- 17 3 DeviceNet Overview
- 17 3.1 Functionality Chart
- 17 3.2 Overview of Explicit and Polled I/O (assembly) messages
- 18 3.3 Motion Objects with Explicit Messaging
- 18 3.3.1 Object: Parameter
- 18 3.3.2 Object: Position Controller Supervisor
- 18 3.3.3 Object: Position Controller
- 18 3.3.4 Object: Block Sequencer
- 18 3.3.5 Object: Command Block
- 19 3.4 I/O Objects
- 19 3.4.1 Object: Discrete Input Point
- 19 3.4.2 Object: Discrete Output Point
- 19 3.4.3 Object: Analog Input Point
- 19 3.4.4 Object: Analog Output Point
- 20 3.5 Communication Objects
- 20 3.5.1 Object: Identity
- 20 3.5.2 Object: Message Router
- 20 3.5.3 Object: DeviceNet
- 20 3.5.4 Object: Assembly
- 20 3.5.5 Object: Explicit Connection
- 20 3.5.6 Object: Polled I/O Connection
- 21 3.6 Firmware Version
- 21 3.7 Supported Services
- 21 3.8 Data Types
- 21 3.9 Saving to Non-volatile Memory
- 23 4 Explicit messages
- 23 4.1 Position Controller Supervisor Object (class 0x24)
- 23 4.1.1 Error Codes
- 23 4.1.1.1 Object State Conflicts – 0x0C
- 23 4.1.2 Supervisor Attributes
- 23 4.1.2.1 Attribute 0x05: General Fault
- 24 4.1.2.2 Attribute 0x0E: Index Active Level
- 24 4.1.2.3 Attribute 0x15: Registration Arm
- 24 4.1.2.4 Attribute 0x16: Registration Input Level
- 24 4.1.2.5 Attribute 0x64: Fault Code
- 24 4.1.2.6 Attribute 0x65: Clear Faults
- 25 4.2 Position Controller Object (class 0x25)
- 25 4.2.1 Error Codes
- 25 4.2.1.1 Object State Conflicts – 0x0C
- 25 4.2.2 Position controller attributes
- 25 4.2.2.1 Attribute 0x01: Number of Attributes
- 25 4.2.2.2 Attribute 0x02: Attribute List
- 26 4.2.2.3 Attribute 0x03: opmode
- 26 4.2.2.4 Attribute 0x06: Target Position
- 26 4.2.2.5 Attribute 0x07: Target Velocity
- 26 4.2.2.6 Attribute 0x08: Acceleration
- 26 4.2.2.7 Attribute 0x09: Deceleration
- 27 4.2.2.8 Attribute 0x0A: Move Type
- 27 4.2.2.9 Attribute 0x0B: Trajectory Start/Complete
- 27 4.2.2.10 Attribute 0x0C: In Position
- 27 4.2.2.11 Attribute 0x0D: Actual Position
- 27 4.2.2.12 Attribute 0x0E: Actual Velocity
- 27 4.2.2.13 Attribute 0x11: Enable
- 28 4.2.2.14 Attribute 0x14: Smooth Stop
- 28 4.2.2.15 Attribute 0x15: Hard Stop
- 28 4.2.2.16 Attribute 0x16: Jog Velocity
- 28 4.2.2.17 Attribute 0x17: Direction
- 28 4.2.2.18 Attribute 0x18: Reference direction
- 29 4.2.2.19 Attribute 0x19: Torque
- 29 4.2.2.20 Attribute 0x28: Feedback resolution
- 29 4.2.2.21 Attribute 0x29: Motor resolution
- 29 4.2.2.22 Attribute 0x65: Save Parameters
- 30 4.2.2.23 Attribute 0x66: Amplifier Status
- 30 4.2.2.24 Attribute 0x67: Trajectory Status
- 31 4.3 Parameter Object (class 0x0F)
- 31 4.3.1 Error Codes
- 31 4.3.2 Parameter Attributes
- 31 4.3.2.1 Attribute 0x01: Parameter Value
- 31 4.3.2.2 Attribute 0x04: Descriptor
- 32 4.3.2.3 Attribute 0x06: Data Length
- 32 4.3.2.4 Attribute 0x64: Parameter Number
- 33 4.4 Block Sequencer Object (class 0x26)
- 33 4.4.1 Attribute 0x01: Block
- 33 4.4.2 Attribute 0x02: Block Execute
- 33 4.4.3 Attribute 0x03: Current Block
- 33 4.4.4 Attribute 0x04: Block Fault
- 34 4.4.5 Attribute 0x05: Block Fault Code
- 34 4.4.6 Attribute 0x06: Counter
- 35 4.5 Command Block Object (class 0x27)
- 35 4.5.1 Block Types
- 36 4.5.2 Command 0x01 – Modify Attribute
- 36 4.5.2.1 Attribute 0x01: Block Type
- 36 4.5.2.2 Attribute 0x02: Block Link #
- 36 4.5.2.3 Attribute 0x03: Target Class
- 36 4.5.2.4 Attribute 0x04: Target Instance
- 37 4.5.2.5 Attribute 0x05: Attribute #
- 37 4.5.2.6 Attribute 0x06: Attribute Data
- 37 4.5.3 Command 0x02 – Wait Until Equals
- 37 4.5.3.1 Attribute 0x01: Block Type
- 37 4.5.3.2 Attribute 0x02: Block Link #
- 38 4.5.3.3 Attribute 0x03: Target Class
- 38 4.5.3.4 Attribute 0x04: Target Instance
- 38 4.5.3.5 Attribute 0x05: Attribute #
- 38 4.5.3.6 Attribute 0x06: Timeout
- 38 4.5.3.7 Attribute 0x07: Compare Data
- 39 4.5.4 Command 0x03 – Greater Than Test
- 39 4.5.4.1 Attribute 0x01: Block Type
- 39 4.5.4.2 Attribute 0x02: Block Link #
- 39 4.5.4.3 Attribute 0x03: Target Class
- 39 4.5.4.4 Attribute 0x04: Target Instance
- 40 4.5.4.5 Attribute 0x05: Attribute #
- 40 4.5.4.6 Attribute 0x06: Compare Link #
- 40 4.5.4.7 Attribute 0x07: Compare Data
- 41 4.5.5 Command 0x04 – Less Than Test
- 41 4.5.5.1 Attribute 0x01: Block Type
- 41 4.5.5.2 Attribute 0x02: Block Link #
- 41 4.5.5.3 Attribute 0x03: Target Class
- 41 4.5.5.4 Attribute 0x04: Target Instance
- 42 4.5.5.5 Attribute 0x05: Attribute #
- 42 4.5.5.6 Attribute 0x06: Compare Link #
- 42 4.5.5.7 Attribute 0x07: Compare Data
- 43 4.5.6 Command 0x05 – Decrement Counter
- 43 4.5.6.1 Attribute 0x01: Block Type
- 43 4.5.6.2 Attribute 0x02: Block Link #
- 44 4.5.7 Command 0x06 – Delay
- 44 4.5.7.1 Attribute 0x01: Block Type
- 44 4.5.7.2 Attribute 0x02: Block Link #
- 44 4.5.7.3 Attribute 0x03: Delay
- 45 4.5.8 Command 0x08 – Motion task
- 45 4.5.8.1 Attribute 0x01: Block Type
- 45 4.5.8.2 Attribute 0x02: Block Link #
- 45 4.5.8.3 Attribute 0x03: Target Position
- 45 4.5.8.4 Attribute 0x04: Target Velocity
- 45 4.5.8.5 Attribute 0x05: Incremental
- 46 4.5.8.6 Attribute 0x64: O_C
- 46 4.5.8.7 Attribute 0x65: O_ACC
- 46 4.5.8.8 Attribute 0x66: O_DEC
- 46 4.5.8.9 Attribute 0x67: O_TAB
- 46 4.5.8.10 Attribute 0x68: O_FT
- 47 4.5.9 Command 0x09 – Jog
- 47 4.5.9.1 Attribute 0x01: Block Type
- 47 4.5.9.2 Attribute 0x02: Block Link #
- 47 4.5.9.3 Attribute 0x03: Target Velocity
- 48 4.6 Digital Input Object (class 0x08)
- 48 4.6.1 Attribute 0x03: Value
- 48 4.7 Digital Output Object (class 0x09)
- 48 4.7.1 Attribute 0x03: Value
- 48 4.8 Analog Input Object (class 0x0A)
- 48 4.8.1 Attribute 0x03: Value
- 49 4.9 Analog Output Object (class 0x0B)
- 49 4.9.1 Attribute 0x03: Value
- 49 4.10 Identity Object (class 0x01)
- 50 4.11 Message Router Object (class 0x02)
- 50 4.12 DeviceNet Object (class 0x03)
- 51 4.13 Connection Object (class 0x05) - Explicit
- 52 4.14 Connection Object (class 0x05) - Polled I/O
- 53 5 Polled I/O messages
- 53 5.1 I/O Command Assemblies
- 54 5.1.1 Control Bits and Data Fields
- 55 5.1.2 Running a Stored Sequence through DeviceNet
- 56 5.1.3 Data Handshaking
- 57 5.1.4 Command Assembly 0x01 – Target Position
- 58 5.1.5 Command Assembly 0x02 – Target Velocity
- 59 5.1.6 Command Assembly 0x03 – Acceleration
- 60 5.1.7 Command Assembly 0x04 – Deceleration
- 61 5.1.8 Command Assembly 0x05 – Torque
- 62 5.2 I/O Response Assemblies
- 62 5.2.1 Status Bits and Data Fields
- 64 5.2.2 Response Assembly 0x01 – Actual Position
- 65 5.2.3 Response Assembly 0x02 – Commanded Position
- 66 5.2.4 Response Assembly 0x03 – Actual Velocity
- 67 5.2.5 Response Assembly 0x05 – Torque
- 68 5.2.6 Response Assembly 0x14 – Command/Response Error
- 69 6 Appendix
- 69 6.1 DeviceNet PLC Examples
- 69 6.1.1 Overview
- 70 6.1.2 Amplifier Setup for the Examples
- 70 6.1.3 Polled I/O Assemblies
- 71 6.1.3.1 Sending Command Assemblies - ControlLogix
- 72 6.1.3.2 Reading Response Assemblies - ControlLogix
- 73 6.1.3.3 Data Handshaking - ControlLogix
- 74 6.1.3.4 Sending Command Assemblies - SLC500
- 77 6.1.3.5 Reading Response Assemblies - SLC500
- 79 6.1.3.6 Data Handshaking - SLC500
- 80 6.1.4 Explicit Messages
- 81 6.1.4.1 Explicit Messages and ControlLogix
- 82 6.1.4.2 Explicit Messages and SLC500
- 82 6.1.4.2.1 SLC500 Explicit Message Request Structure
- 83 6.1.4.2.2 SLC500 Explicit Message Response Structure
- 83 6.1.4.2.3 SLC500 Explicit Messaging Sequence
- 84 6.1.4.2.4 SLC500 Explicit Messaging Example Code
- 85 6.1.5 Example 1: Simple Move
- 86 6.1.5.1 Serial Command Sequence
- 87 6.1.5.2 DeviceNet Command Sequence
- 88 6.1.5.3 ControlLogix program
- 88 6.1.5.4 SLC500 program
- 88 6.2 Baud Rate Switch Settings
- 88 6.3 MAC ID Switch Configuration
- 88 6.4 Network LED
- 88 6.5 Listing of DeviceNet Commands
- 89 6.5.1 Data Types
- 89 6.5.2 Explicit Messages
- 92 6.5.3 Polled I/O Messages
- 93 6.6 Default Input/Output Configuration
- 94 6.7 Error Messages
- 95 6.8 Index
- 95 Index
- 95 A
- 8 Abbreviations
- 7 Additional documentation
- 95 B
- 9 Basic features
- 95 C
- 16 Communication faults
- 95 D
- 9 Data transfer functions
- 21 Data types
- 13 DeviceNet bus cable
- 95 E
- 23 Error codes
- 95 I
- 64 I/O response
- 11 Installation
- 95 M
- 18 Motion objects
- 95 O
- 1 Object class
- 33 Block sequencer
- 35 Command block
- 51 Connection (explicit)
- 52 Connection (polled I/O)
- 50 DeviceNet
- 49 Identity
- 50 Message router
- 25 Position controller
- 23 Position controller supervisor
- 95 P
- 53 Polled I/O
- 17 Position controller
- 9 Positioning functions
- 95 S
- 16 Setup
- 9 Setup functions
- 23 Supervisor attributes
- 8 Symbols
- 8 System requirements
- 95 T
- 7 Target group
- 9 Transmission procedure
- 9 Transmission rate
- 95 U
- 8 Use as directed
- 96 Service