Page 2
Lenze AC Tech Corporation. The information and technical data in this manual are subject to change without notice. Lenze AC Tech makes no warranty of any kind with respect to this material, including, but not limited to, the implied warranties of its merchantability and fitness for a given purpose.
Page 6
Safety Information All safety information given in these Operating Instructions has a similar layout: Signal Word! (Characteristics the severity of the danger) Note (describes the danger and informs on how to proceed) Pictographs used in these instructions: Signal Words Icon DANGER! Warns of impending danger.
Introduction Introduction The PositionServo line of advanced general purpose servo drives utilizes the latest technology in power semiconductors and packaging. The PositionServo uses Field Oriented control to enable high quality motion. The PositionServo is available in four mains (input power) configurations: 400/480V (nominal) three phase input.
Introduction About These Instructions These Operating Instructions are provided to assist the user in connecting and commissioning the PositionServo drive with model number ending in “EX” or “RX”. Read this manual in its entirety and observe all safety instructions contained in this document. All persons working on or with the controller must have the Operating Instructions available and must observe the information and notes relevant for their work.
Introduction Liability • The information, data, and notes in these instructions met the state of the art at the time of publication. Claims on modifications referring to controllers that have already been supplied cannot be derived from the information, illustrations, and descriptions. •...
Page 10
Introduction Filter Part Number Designation E94Z Electrical Option in the 94 Series F = EMC Filter Filter Current Rating in Amps: 04 = 4.4 Amps 12 = 12 Amps 07 = 6.9 Amps 15 = 15 Amps 10 = 10 Amps 24 = 24 Amps Input Phase: S = Single Phase...
Technical Data Technical Data Electrical Characteristics Single-Phase Models 1~ Mains 1~ Mains Rated Peak Current Current Output Output Type Mains Voltage (doubler) (Std.) Current Current E94_020S1N_X 120V or 240V E94_040S1N_X E94_020S2F_X E94_040S2F_X 120 / 240V (80 V -0%...264 V +0%) E94_080S2F_X 15.0 E94_100S2F_X...
Technical Data Power Ratings Power Loss at Power Loss at Output kVA at Rated Output Rated Output Type Rated Output Leakage Current Current Current Current (8kHz) (8kHz) (16 kHz) Units Watts Watts E94_020S1N_X E94_040S1N_X E94_020S2F_X E94_040S2F_X E94_080S2F_X E94_100S2F_X E94_020Y2N_X Typically >3.5 mA. Consult factory for E94_040Y2N_X applications requiring...
Technical Data Digital I/O Ratings Scan Input Voltage Linearity Temperature Drift Offset Current Times Impedance Range Units Digital Inputs Depend on load 2.2 k 5-24 Digital Outputs 15 max 30 max Analog Inputs ± 0.013 0.1% per °C rise ± 0 adjustable Depend on load 47 k ±...
Technical Data PositionServo Dimensions dia = 4.57 4.57 S923 Type A (mm) B (mm) C (mm) D (mm) Weight (kg) E94_020S1N_X E94_040S1N_X E94_020S2F_X E94_040S2F_X E94_080S2F_X E94_100S2F_X E94_020Y2N_X E94_040Y2N_X E94_080Y2N_X E94_100Y2N_X E94_120Y2~_X E94_180T2~_X E94_020T4N_X E94_040T4N_X E94_050T4N_X E94_060T4~_X E94_090T4~_X The first “_” equals “P” for the Model 940 encoder based drive or “R” for the Model 941 resolver based drive. When the 10th digit is marked by “~”, “N”...
Installation Installation Perform the minimum system connection. Please refer to section 6.1 for minimum connection requirements. Observe the rules and warnings below carefully: DANGER! Hazard of electrical shock! Circuit potentials are up to 480 VAC above earth ground. Avoid direct contact with the printed circuit board or with circuit elements to prevent the risk of serious injury or fatality.
Installation Wiring DANGER! Hazard of electrical shock! Circuit potentials are up to 480 VAC above earth ground. Avoid direct contact with the printed circuit board or with circuit elements to prevent the risk of serious injury or fatality. Disconnect incoming power and wait 60 seconds before servicing the drive.
Installation Compliance with EN 61800-3:2004 In a domestic environment this product may cause radio interference. The user may be required to take adequate measures Noise emission Installation according to EMC Requirements Drive Models ending in the suffix “2F” are in compliance with class A limits according to EN 55011 if installed in a control cabinet and the motor cable length does not exceed 10m.
Installation Line Filtering In addition to EMI/RFI safeguards inherent in the PositionServo design, external filtering may be required. High frequency energy can be coupled between the circuits via radiation or conduction. The AC power wiring is one of the most important paths for both types of coupling mechanisms.
Interface Interface The standard PositionServo drive contains seven connectors: four quick-connect terminal blocks, one SCSI connector and one subminiature type “D” connector. These connectors provide communications from a PLC or host controller, power to the drive, and feedback from the motor. Prefabricated cable assemblies may be purchased from Lenze to facilitate wiring the drive, motor and host computer.
Interface P1 Pin Assignments (Input Power) Standard Models Doubler Models Name Function Name Function Protective Earth Protective Earth (Ground) (Ground) AC Power Neutral AC Power in (120V Doubler only) AC Power in AC Power in AC Power in AC Power in L2/N (3~ models only) (non-doubler operation)
Interface 4.1.3 P3 - Controller Interface P3 is a 50-pin SCSI connector for interfacing to the front-end of the controllers. It is strongly recommended that you use OEM cables to aid in satisfying CE requirements. Contact your Lenze representative for assistance. P3 Pin Assignments (Controller Interface) Name Function...
Interface 4.1.4 P4 - Motor Feedback / Second Loop Encoder Input For encoder-based 940 drives, P4 is a 15-pin DB connector that contains connections for an incremental encoder with Hall emulation tracks or Hall sensors. For synchronous servo motors, Hall sensors or Hall emulation tracks are necessary for commutation. If an asynchronous servo motor is used, it is not necessary to connect Hall sensor inputs.
Interface P4B Pin Assignments (Resolver Feedback - E94R Drives) Name Function Ref + Resolver reference connection Ref - No Connection Cos+ Resolver Cosine connections Cos- Sin+ Resolver Sine connections Sin- PTC+ Motor PTC Temperature Sensor PTC- 4.1.5 P5 - 24 VDC Back-up Power Input P5 is a 2-pin quick-connect terminal block that can be used with an external 24 VDC (500mA) power supply to provide “Keep Alive”...
Interface 4.1.7 Connector and Wiring Notes Note 1 - Buffered Encoder Inputs Each of the encoder output pins on P3 is a buffered pass-through of the corresponding input signal on P4, Refer to section 4.2.2 “Buffered Encoder Outputs”. This can be either from a motor mounted encoder/resolver, (primary feedback), or from an auxiliary encoder/resolver when an optional feedback module is used.
Interface 4.1.8 P11 - Resolver Interface Module (option) PositionServo drives can operate motors equipped with resolvers from either the (P4) connection, for a resolver-based (E94R) drive, or from the Resolver option module for an encoder-based (E94P) drive. The option module connections are made to a 9 pin D-shell female connector (P11) on the resolver option module E94ZARSV2 (scalable) or E94ZARSV3 (standard).
Interface Setting the Dip Switches To change the DIP SWITCH SETTING Loosen the three set screws on the module Detach the PCB board from the plastic cover Change the SW1 positions according to the table above Put the PCB board back in the plastic cover Tighten the three set screws When using a Lenze motor with resolver feedback and a Lenze resolver cable, the pins are already configured for operation.
Interface Digital I/O Details 4.2.1 Step & Direction / Master Encoder Inputs (P3, pins 1-4) You can connect a master encoder with quadrature outputs or a step and direction pair of signals to control position in step / direction operating mode (stepper motor emulation).
Interface 4.2.2 Buffered Encoder Output (P3, pins 7-12) There are many applications where it is desired to close the feedback loop to an external device. This feature is built into the PositionServo drive and is referred to as the “Buffered Encoder Output”. If a motor with encoder feedback is being used, the A+, A-, B+, B-, Z+ and Z- signals are directly passed through the drive through pins 7-12 with no delays, up to a speed of 25MHz.
Interface 4.2.4 Digital Inputs IN_Ax, IN_Bx, IN_Cx (P3.26-30, P3.31-35, P3.36-40) The PositionServo Drive has 12 optically isolated inputs. These inputs are compatible with a 5 - 24V voltage source. No additional series resistors are needed for circuit operation. The 12 inputs are segmented into three groups of 4, Inputs A1 - A4, Inputs B1 - B4, and Inputs C1 - C4.
Interface Analog I/O Details 4.3.1 Analog Reference Input AIN1+, AIN1- (P3.24 and P3.25) The analog reference input can accept up to a ±10V analog signal across AIN1+ and AIN1-. The maximum limit with respect to analog common (ACOM) on each input is ±18VDC.
Interface 4.3.2 Analog Output AO (P3.23) The analog output is a single-ended signal (with reference to Analog Common (ACOM) which can represent the following motor data: • Not Assigned • Phase R Current • Iq Current • RMS Phase Current •...
Interface 4.4.3 RS485 Communication Setup When establishing communication between MotionView and a PositionServo drive, a communication method must be selected. The connection choice can be either “UPP over RS485/RS232” or “Ethernet”. The “UPP over RS485/RS232” selection establishes a RS485 connection between MotionView and the first drive on the network. Multiple drives can then be added to the network via RS485.
Interface 4.5.2 Motor Over-temperature Protection If using a motor equipped with an encoder and PTC thermal sensor, the encoder feedback cable will have flying leads exiting the P4 connector to be wired to the P7.1 (T1) and P7.2 (T2) terminals. If using a motor equipped with a Resolver and a PTC sensor, the thermal feedback is pased directly to the drive via the resolver 9-pin D shell connector.
Interface Using a Custom Motor You can load a custom motor from a file or you can create a new custom motor. • To create a custom motor click “CREATE CUSTOM” and follow the instructions in the next section “Creating custom motor parameters”. •...
Interface 4.6.2 Autophasing The Autophasing feature determines important motor parameters when using a motor that is not in MotionView’s database. For motors equipped with incremental encoders, Autophasing will determine the Hall order sequence, Hall sensor polarity and encoder channel relationship (B leads A or A leads B for CW rotation). For motors equipped with resolvers, Autophasing will determine resolver angle offset and angle increment direction (“CW for positive”).
Page 37
Interface 4.6.3.1 Electrical constants Motor Torque Constant (Kt) Enter the value and select proper units from the drop-down list. NOTE Round the calculated result to 3 significant places. Motor Voltage Constant (Ke) The program expects Ke to be entered as a phase-to-phase Peak voltage. If you have Ke as an RMS value, multiply this value by 1.414 for the correct Ke Peak value.
Page 38
Interface Nominal Bus Voltage (Vbus) The Nominal Bus Voltage can be calculated by multiplying the Nominal AC mains voltage supplied by 1.41. When using a model with the suffix “S1N” where the mains are wired to the “Doubler” connection, the Nominal Bus Voltage will be doubled. Example: If the mains voltage is 230VAC, Vbus = 230 x 1.41 = 325V This value is the initial voltage for the drive and the correct voltage will be...
Page 39
Interface The Halls Order is obtained as follows: Look at the “Vrs” Output Voltage and determine the Hall Voltage that is lined up with (or in phase with) this voltage. To determine which Hall Voltage is in phase with the Vrs Output Voltage draw vertical lines at those points where it crosses the horizontal line (zero).
Page 40
Interface 4.6.3.3 For Resolver Equipped Motors Only If parameter “Resolver” is checked, following parameters appear on the form: Offset in degree (electrical) This parameter represents offset between resolver’s “0 degree” and motor’s windings “0 degree”. CW for positive This parameter sets the direction for positive angle increment. “Offset in degree”...
Parameters Parameters The PositionServo drive is configured through an RS485 or Ethernet interface. The drive has many programmable features and parameters accessible via a universal software called MotionView. Refer to the MotionView Manual for details on how to make a connection to the drive and change parameter values. This chapter covers the PositionServo’s programmable features and parameters in the order they appear in the Parameter Tree of MotionView.
Parameters Motor Group The motor group shows the data for the currently selected motor. Refer to section 4.5 for details on how to select another motor from the motor database or to configure a custom motor. Parameters 5.3.1 Drive Operating Modes The PositionServo has 3 operating mode selections: Torque, Velocity and Position.
Parameters 5.3.2 Drive PWM frequency This parameter sets the PWM carrier frequency. Frequency can be changed only when the drive is disabled. Maximum overload current is 300% of the drive rated current when the carrier is set to 8kHz. It is limited to 250% at 16kHz. 5.3.3 Current Limit The CURRENT LIMIT setting determines the nominal currents, in amps RMS per phase,...
Parameters 5.3.7 ACCEL/DECEL Limits (velocity mode only) The ACCEL setting determines the time the motor takes to ramp to a higher speed. The DECEL setting determines the time the motor takes to ramp to a lower speed. If the ENABLE ACCEL/DECEL LIMITS is set to DISABLE, the drive will automatically accelerate and decelerate at maximum acceleration limited only by the current limit established by the PEAK CURRENT LIMIT and CURRENT LIMIT settings.
Parameters 5.3.14 Regeneration Duty Cycle This parameter sets the maximum duty cycle for the brake (regeneration) resistor. This parameter can be used to prevent brake resistor overload. Use the following formula to calculate the maximum value for this parameter. If this parameter is set equal to the calculated value, the regeneration resistor is most effective without overload.
Parameters 5.3.15 Encoder Repeat Source This parameter sets the feedback source signal for the buffered encoder outputs (P3.7 -P3.12). The source can be the drive’s feedback input (P4) or an optional feedback module (resolver, second encoder etc.) 5.3.16 System to Master Ratio This parameter is used to set the scale between the reference pulse train (when operating in position mode) and the system feedback device.
Parameters The number entered into this field, 0-15, directly correlates to a different encoder resolution. Please reference the table herein. Resolver Track Configuration Resolver Resolution Resolver Track Resolution Track Before Quad Before Quad 1024 1000 1024 2000 2048 2500 2880 4096 5.3.23 Current Limit Max Overwrite If this parameter is set to “Disable”, the parameters “Current limit”, “8 kHz peak current...
Parameters 5.4.1.1 Manually Obtain the PositionServo Drive’s IP Address The PositionServo drive can be connected to a local PC or a private network if setting DHCP=0. In this mode, make sure to set DHCP = 0 via the diagnostic display LED, refer to section 7.1 for details.
Page 49
Parameters Select the connection you wish to set: “Local Area Connection”, the PC Default Port or “Local Area Connection x” your additional Ethernet port. Then double-click the icon to open the [Connection Status] details. To view the connection properties click the [Properties] button.
Parameters Select “Use the following IP address” and enter [192.168.124.1] for the IP address. Now enter the subnet mask [255.255.255.0], and then click the [OK] button. Note that one can use “Obtain an IP address automatically” after the PositionServo drive’s IP address has been configured under the same subnet to which the PC is connected.
Parameters 5.5.2 Analog Output Current Scale (Volt / amps) Applies scaling to all functions representing CURRENT values. 5.5.3 Analog Output Current Scale (mV/RPM) Applies scaling to all functions representing VELOCITY values. (Note: that mV/RPM scaling units are numerically equivalent to volts/kRPM). 5.5.4 Analog Input Dead Band Allows the setting of a voltage window (in mV) at the reference input AIN1+ and AIN1-...
Parameters 5.6.2 Hard Limit Switch Action Digital inputs IN_A1 and IN_A2 can be used as limit switches if their function is set to “Fault” or “Stop and Fault”. Activation of these inputs while the drive is enabled will cause the drive to Disable and go to a Fault state. The “Stop and Fault” action is available only in Position mode when the “Reference”...
Parameters Compensation 5.9.1 Velocity P-gain (proportional) Proportional gain adjusts the system’s overall response to a velocity error. The velocity error is the difference between the commanded velocity of a motor shaft and the actual shaft velocity as measured by the primary feedback device. By adjusting the proportional gain, the bandwidth of the drive is more closely matched to the bandwidth of the control signal, ensuring more precise response of the servo loop to the input signal.
Parameters 5.9.7 Gain Scaling Window Sets the total velocity loop gain multiplier (2 ) where n is the velocity regulation window. If, during motor tuning, the velocity gains become too small or too large, this parameter is used to adjust loop sensitivity. If the velocity gains are too small, decrease the total loop gain value, by deceasing this parameter.
Operation Operation This section offers guidance on configuring the PositionServo drive for operations in torque, velocity or position modes without requiring a user program. To use advanced programming features of PositionServo please perform all steps below and then refer to the PositionServo Programming Manual for details on how to write motion programs. Minimum Connections For the most basic operation, connect the PositionServo to mains (line) power at terminal P1, the servomotor power at P7 and the motor feedback as appropriate.
Page 56
Operation To configure drive: Ensure that the control is properly installed and mounted. Refer to section 4 for installation instructions. Perform wiring to the motor and external equipment suitable for desired operating mode and your system requirements. Connect the Ethernet port P2 on the drive to your PC Ethernet port. If connecting directly to the drive from the PC, a crossover cable is required.
Operation Position Mode Operation (gearing) In position mode the drive will follow the master reference signals at the 1-4 inputs of P3. The distance the motor shaft rotates per each master pulse is established by the ratio of the master signal pulses to motor encoder pulses (in single loop configuration). The ratio is set by “System to Master ratio”...
Operation Enabling the PositionServo Regardless of the selected operating mode, the PositionServo must be enabled before it can operate. A voltage in the range of 5-24 VDC connected between P3 pins 26 and 29 (input IN_A3) is used to enable the drive, refer to section 4.1.7, note 3. The behavior of input IN_A3 differs depending on the setting of “Enable switch function”.
Operation WARNING! During both the Velocity and Position tuning procedures the PositionServo drive will perform rotation (motion) of the motor shaft in the forward and reverse directions at velocities based on the settings made by the user. Ensure that the motor and associated mechanics of the system are safe to operate in the way specified during these procedures.
Page 60
Operation Compile and Download Indexer Program to Drive In the [Indexer program] folder in MotionView, select [Compile and Load with Source] from the pull down menu. The TuneV program will be compiled and sent to the drive. Select [Run] from the pull down menu to run the TuneV program. Do NOT enable the drive (via input A3) at this stage.
Page 61
Operation Gain Scaling set OK Motor Velocity resembles Commanded Velocity. Motor Velocity is reasonably close with a slight overshoot. Gain Scaling set too HIGH Motor Velocity shows significant overshoot following the acceleration periods. Gain Scaling set significantly too HIGH Motor Velocity exhibits instability throughout the steady state Commanded Velocity.
Page 62
Operation Step 2: Fine Tuning the Velocity P-Gain Slowly alter the Velocity P-Gain (increase and decrease) and observe the motor velocity waveform on the oscilloscope. As the P-Gain increases the gradient of the velocity during acceleration and deceleration will also increase as will the final steady state velocity that is achieved.
Page 63
Operation I-Gain set OK No error between Commanded steady state velocity and Actual steady state velocity with excellent stability. I-Gain set too HIGH Additional overshoot and oscillations are starting to occur. Steady state velocity regulation Step 4: Check Motor Currents Finally check the motor currents on the Oscilloscope.
Operation Good Current Trace Uniform current pulses during accel/ deceleration and stable current during steady state velocity. Instability in Drive Output Current (Note: Channel 2 trace has been removed for clarity). End Velocity Tuning Remove the Enable Input from input A3 (disable the drive). In MotionView, click on the [Indexer] folder for the drive.
Page 65
Operation Importing the Position Tuning Program Before importing the Position Tuning Program, the example programs must be installed from the Documentation CD that shipped with the drive. If this has not been done then please do so now. To load the TuneP program file to the drive, select [Indexer Program] in MotionView. Select [Import program from file] on the main toolbar.
Page 66
Operation Oscilloscope Settings Open the [Tools] folder]in MotionView and select the [Oscilloscope] tool. Click the [Set on Top] box to place a checkmark in it and keep the scope on top. In the Scope Tool Window, make the following settings: Channel 1: Signal = “Position Error”...
Page 67
Operation Increased Position P-Gain Shows improvement to the maximum error and the final positioning accuracy At some point while increasing the P-Gain, additional oscillations (Average Error) will start to appear on the position error waveform. Further Increased Position P-Gain Shows very good reduction to the maximum error but with additional oscillations starting to occur.
Page 68
Operation Step 3: Setting the Position I-Gain and Position I-Gain Limit The objective here is to minimize the position error during steady state operation and improve positioning accuracy. Start to increase the Position I-gain. Increasing the I-gain will increase the drive’s reaction time while the I-Limit will set the maximum influence that the I-Gain can have on the Integral loop.
Page 69
Operation Setting the Position Error Limits Look at the position error waveform on the oscilloscope. Note the maximum time that position errors exist (from the time axis of the scope) and the maximum peak errors being seen (from the value at the top of the screen). Use this values to set the position error limits to provide suitable position error protection for the application.
Reference Quick Start Reference This section provides instructions for External Control, Minimum Connections and Parameter Settings to quickly setup a PositionServo drive for External Torque, Velocity or Positioning Modes. The sections are NOT a substitute for reading the entire PositionServo User Manual. Observe all safety notices in this manual. Quick Start - External Torque Mode Mandatory Signals: These signals are required in order to achieve motion from the motor.
Reference Optional Parameter Settings: These parameters may require setting depending on the control system implemented. Folder / Sub-Folder Parameter Name Description Parameters Resolver Track PPR for simulated encoder on 941 Resolver drive IO / Digital IO Output 1 Function Set to any pre-defined function required Output 2 Function Set to any pre-defined function required Output 3 Function...
Page 72
Reference Mandatory Parameter Settings: These parameters are required to be set prior to running the drive. Folder/Sub-Folder Parameter Name Description Parameters Drive Mode Set to [Velocity] Reference Set to [External] Enable Velocity Accel / Decel Limits Enable Ramp rates for Velocity Mode Velocity Accel Limit Set required Acceleration Limit for Velocity command Velocity Decel Limit...
Reference Quick Start - External Positioning Mode Mandatory Signals: These signals are required in order to achieve motion from the motor. Connector-Pin Input Name Description P3-1 Position Reference Input for Master Encoder / Step-Direction Input P3-2 Position Reference Input for Master Encoder / Step-Direction Input P3-3 Position Reference Input for Master Encoder / Step-Direction Input P3-4...
Page 74
Reference Mandatory Parameter Settings: These parameters are required to be set prior to running the drive. Folder / Sub-Folder Parameter Name Description Parameters Drive Mode Set to [Position] Reference Set to [External] Step Input Type Set to [S/D] or [Master Encoder]. (S/D = Step + Direction) Set ‘Master’...
Diagnostics Diagnostics Display The PositionServo drives are equipped with a diagnostic LED display and 3 push buttons to select displayed information and to edit a limited set of parameter values. Parameters can be scrolled by using the “UP” and “DOWN” ( ) buttons.
Diagnostics LEDs The PositionServo has five diagnostic LEDs located around the periphery of the front panel display as shown in the drawing below. These LEDs are designed to help monitor system status and activity as well as troubleshoot any faults. S913 Function Description...
Page 77
Diagnostics Fault Code (Display) Fault Description Hardware overload Occurs when the phase current becomes higher than 400% of total drive’s F_15 protection current capability for more then 5ms. Arithmetic Error Statement executed within the Indexer Program results in a division by 0 F_18 Division by zero being performed.
Diagnostics 8.3.2 Fault Event When drive encounters any fault, the following events occur: • Drive is disabled • Internal status is set to “Fault” • Fault number is logged in the drive’s internal memory for later interrogation • Digital output(s), if configured for “Run Time Fault”, are asserted •...
Page 79
Diagnostics Problem Ready LED is on but motor does not run. Suggested Solution If in Torque or Velocity mode: Reference voltage input signal is not applied. Reference signal is not connected to the PositionServo input properly; connections are open. In MotionView program check <Parameters> <Reference> set to <External> For Velocity mode only: In MotionView check <Parameters> <Compensation><Velocity loop filter> P-gain must be set to value more then 0 in order to run. Without load motor will run with P-gain set as low as 20 but under load might not. If P-gain is set to 0 motor will not run at all. In Position mode with master encoder motion source (no program) Reference voltage input signal source is not properly selected.
Page 84
Lenze AC Tech Corporation 630 Douglas Street • Uxbridge, MA 01569 • USA Sales: (800) 217-9100 • Service (508) 278 9100 www.lenze-actech.com Document S94P01G-e1...
Page 85
PositionServo with MVOB Users Manual Valid for Hardware Version 2...
Page 86
Lenze AC Tech Corporation. The information and technical data in this manual are subject to change without notice. Lenze AC Tech makes no warranty of any kind with respect to this material, including, but not limited to, the implied warranties of its merchantability and fitness for a given purpose.
Page 87
Contents Introduction..............5 Safety Information .
About These Instructions This documentation pertains to the PositionServo drive with Hardware Version 2. This documentation contains important technical data regarding the installation, operation and commissioning of the drive. Observe all safety instructions. Read this document in its entirety before operating or servicing a PositionServo drive. Drive Hardware Version For hardware version 2, the drive dataplate (identification label) displays “2”...
Description Identification Nameplate CE Identification Manufacturer Lenze controllers are unambiguously In compliance with the EC Lenze AC Tech Corporation designated by the contents of the Low-Voltage Directive 630 Douglas Street nameplate Uxbridge, MA 01569 USA Application E94P or E94R servo controller as directed • must only be operated under the conditions prescribed in these Instructions.
Introduction Claim Description Liability • The information, data, and notes in these instructions met the latest design and implementation of the drive at the time of publication. Claims on modifications referring to controllers that have already been supplied cannot be derived from the information, illustrations, and descriptions. • The specifications, processes and circuitry described in these instructions are for guidance only and must be adapted to your own specific application. Lenze does not take responsibility for the suitability of the process and circuit proposals.
Introduction 1.3.3 Feedback Depending on the primary feedback, there are two types of drives: the Model 940 PositionServo encoder- based drive which accepts an incremental encoder with Hall channel inputs and the Model 941 PositionServo resolver-based drive which accepts resolver inputs. The feedback signal is brought back to the P4 connector on the drive.
Introduction Part Number Designation The table herein describes the part number designation for the PositionServo drive. The available filter and communication options are detailed in separate tables. 1.4.1 Drive Part Number Electrical Products in the 94x Series P = PositionServo Model 940 with Encoder Feedback R = PositionServo Model 941 with Resolver Feedback Drive Rating in Amps: 020 = 2 Amps...
Introduction 1.4.3 Option Part Number E94Z Electrical Option in the 94x Series A = Communication or Breakout Module Module Type: Communication: Breakout: CAN = CANopen COMM Module HBK = Motor Brake Terminal Module RS4 = RS485 COMM Module TBO = Terminal Block I/O Module DVN = DeviceNet COMM Module SCA = Panel Saver I/O Module PFB = PROFIBUS COMM Module...
Technical Data Technical Data Electrical Characteristics Single-Phase Models 1~ Mains 1~ Mains Rated Peak Type Mains Voltage Current Current Output Output (doubler) (Std.) Current Current E94_020S1N_~ 120V or 240V E94_040S1N_~ E94_020S2F_~ E94_040S2F_~ 120 / 240V (80 V -0%...264 V +0%) E94_080S2F_~ 15.0 E94_100S2F_~...
Technical Data Electrical Specifications applicable to all models: Acceleration Time Range (Zero to Max Speed) 0.1 … 5x10 RPM/sec Deceleration Time Range (Max Speed to Zero) 0.1 … 5x10 RPM/sec Speed Regulation (typical) ± 1 RPM Input Impedance (AIN+ to COM and AIN+ to AIN-) 47 kΩ...
Technical Data Fuse Recommendations AC Line Miniature AC Line Input Fuse DC Bus Input Type Input Fuse Circuit Breaker or Breaker (5) (6) Fuse (1ø/3ø) (1ø/3ø) (N. America) Amp Ratings E94_020S1N_~ M20/M10 C20/C10 20/10 E94_040S1N_~ M32/M20 C32/C20 30/20 E94_020S2F_~ E94_040S2F_~ E94_080S2F_~ E94_100S2F_~ E94_020Y2N_~...
Page 99
Technical Data Velocity Reference ± 10 VDC or 0…10 VDC; 12-bit; scalable Regulation ± 1 RPM Velocity-Loop Bandwidth Up to 200 Hz* Speed Range 5000:1 with 5000 ppr encoder Position Reference 0…2 MHz Step & Direction or 2 channels quadrature input; scalable Minimum Pulse Width 500 nanoseconds Loop Bandwidth...
Page 100
Technical Data PositionServo Dimensions dia = 4.57 4.57 Dimensions in mm S923 Type A (mm) B (mm) C (mm) D (mm) Weight (kg) E94_020S1N_~ E94_040S1N_~ E94_020S2F_~ E94_040S2F_~ E94_080S2F_~ E94_100S2F_~ E94_020Y2N_~ E94_040Y2N_~ E94_080Y2N_~ E94_100Y2N_~ E94_120Y2N_~ E94_180T2N_~ E94_020T4N_~ E94_040T4N_~ E94_060T4N_~ E94_090T4N_~ The first “_” equals “P” for the Model 940 encoder based drive or “R” for the Model 941 resolver based drive. The second “_”...
Page 101
Technical Data Clearance for Cooling Air Circulation >25mm >3mm >25mm S924 S94H201E_13426446_EN...
Page 102
Installation Installation Perform the minimum system connection. Refer to section 6.1 for minimum connection requirements. Observe the rules and warnings below carefully: DANGER! Hazard of electrical shock! Circuit potentials are up to 480 VAC above earth ground. Avoid direct contact with the printed circuit board or with circuit elements to prevent the risk of serious injury or fatality.
Page 103
Installation Wiring DANGER! Hazard of electrical shock! Circuit potentials are up to 480 VAC above earth ground. Avoid direct contact with the printed circuit board or with circuit elements to prevent the risk of serious injury or fatality. Disconnect incoming power and wait 60 seconds before servicing the drive.
Page 104
Installation Compliance with EN 61800-3:2004 In a domestic environment this product may cause radio interference. The user may be required to take adequate measures Noise emission Installation according to EMC Requirements Drive Models ending in the suffix “2F” are in compliance with class A limits according to EN 55011 if installed in a control cabinet and the motor cable length does not exceed 10m.
Page 105
Installation NOTE The ground connection from the filter must be wired to solid earth ground, not machine ground. If the end-user is using a CE-approved motor, the AC filter combined with the recommended motor and encoder feedback cables (maximum cable length of 10m), is all that is necessary to meet the EMC directives listed herein.
Interface Interface The standard PositionServo drive is equipped with seven connectors including: four quick-connect terminal blocks, one SCSI connector, one subminiature type “D” connector and one ethernet RJ45 connector. These connectors provide communications from a PLC or host controller, power to the drive, and feedback from the motor.
Page 107
Interface All conductors must be enclosed in one shield with a jacket around them. The shield on the drive end of the motor power cable should be terminated to the conductive machine panel using screen clamps as shown in section 3.2. The other end should be properly terminated at the motor shield. Feedback cable shields should be terminated in a like manner.
Page 108
Interface 4.1.3 P3 - Controller I/O P3 is a 50-pin SCSI connector to interface with the front-end of the controller. It is strongly recommended that OEM cables be used to aid in satisfying CE requirements. Contact your Lenze representative for assistance.
Page 109
Interface 4.1.4 P4 - Motor Feedback For encoder-based 940 drives, P4 is a 15-pin DB connector that contains connections for an incremental encoder with Hall emulation tracks or Hall sensors. For synchronous servo motors, Hall sensors or Hall emulation tracks are necessary for commutation. For pin assignments, refer to the Table P4A. Encoder inputs on P4 have 26LS32 or compatible differential receivers for increased noise immunity.
Page 110
Interface P4B Pin Assignments (Resolver Feedback - E94R Drives) Name Function Ref + Resolver reference connection Ref - No Connection Cos+ Resolver Cosine connections Cos- Sin+ Resolver Sine connections Sin- PTC+ Motor PTC Temperature Sensor PTC- STOP! Use only 10 V (peak to peak) or less resolvers. Use of higher voltage resolvers may result in feedback failure and damage to the drive.
Page 111
Interface 4.1.7 Connector and Wiring Notes Note 1 - Buffered Encoder Outputs Each of the encoder output pins on P3 is a buffered pass-through of the corresponding input signal on P4, Refer to section 4.2.2 “Buffered Encoder Outputs”. This can be either from a motor mounted encoder or an encoder emulation of the resolver.
Page 112
Interface 4.1.8 P8 - ISO 13849-1 Safety Circuit (option) If installed, the ISO 13849-1 Safety Circuit connector, P8, is located on the bottom of the PositionServo. P8, a 6-pin quick-connect terminal block. P8 Pin Assignments (ISO 13849-1 Safety Function) Name Function Bypass Voltage ISO 13849-1Bypass Voltage (+24VDC)
Interface Operation of the ISO 13849-1 Safety Circuit ISO 13849-1 Cat 3, PL d designates that the enable function of the drive be designed in such a way that a single fault in any of the parts of this enable circuit cannot lead to a loss of this safety function. The ISO 13849-1 safe torque off function has been designed and certified as meeting the requirements of this standard.
Page 114
Interface Evaluation and Testing of the ISO 13849-1 Safety Circuit As part of the regulations for ISO 13849-1 safety circuit provision must be made for the user to periodically test the safety circuits and that testing should be capable of identifying a single fault. The PositionServo drive uses the safety status output (Pin 3) in conjunction with the display of the drive to allow the testing of the safety circuits.
Page 115
Interface Guidance of setting up the drive to allow testing on the ISO 13849-1 circuit: External Reference: If the drive is getting its command signal from an external reference then Parameters should be set accordingly. From the Parameter Folder: From the Digital IO Folder: In this mode your external analog input will command movement.
Page 116
Interface Test Action Drive Display Safety Status Output Failed Test Step Indication Indication Indication Deactivate Safety ‘F EF’ ‘Activated’ No Trip on display (F_EF) = Safety Input 2 failed to deactivate. Input 2. Set Input A3 Status Output Deactivated = Safety Input 1 Failed to activate to Enable Set Input A3 to disable ‘Dis’...
Page 117
Interface Digital I/O Details 4.2.1 Step & Direction/Master Encoder Inputs (P3, pins 1-4) A master encoder with quadrature outputs or a step and direction pair of signals can be connected to the PositionServo to control position in the external positioning operating mode. These inputs are optically isolated from the rest of the drive circuits and from each other.
Page 118
Interface 4.2.2 Buffered Encoder Output (P3, pins 7-12) There are many applications where it is desired to close the feedback loop to an external device. This feature is built into the PositionServo drive and is referred to as the “Buffer Encoder Output”. If a motor with encoder feedback is being used, the A+, A-, B+, B-, Z+ and Z- signals are directly passed through the drive through pins 7-12 with no delays, up to a speed of 2MHz.
Page 119
Interface 4.2.4 Digital Inputs IN_Ax, IN_Bx, IN_Cx (P3.26-30, P3.31-35, P3.36-40) The PositionServo drive has 12 optically isolated inputs. These inputs are compatible with a 5 - 24V voltage source. No additional series resistors are needed for circuit operation. The 12 inputs are segmented into three groups of 4, Inputs A1 - A4, Inputs B1 - B4, and Inputs C1 - C4.
Page 120
Interface Analog I/O Details 4.3.1 Analog Reference Input AIN1+, AIN1- (P3.24 and P3.25) The analog reference input can accept up to a ±10V analog signal across AIN1+ and AIN1-. The maximum limit with respect to analog common (ACOM) on each input is ±18VDC. The analog signal will be converted to a digital value with 12 bit resolution (11-bit plus sign).
Page 121
Interface 4.3.2 Analog Output AO (P3.23) The analog output is a single-ended signal (with reference to Analog Common (ACOM) which can represent the following motor data: • Not Assigned • Phase R Current • Iq Current • RMS Phase Current •...
Interface 4.4.3 Modbus RTU Support The RS485 interface is configured through the MotionView program. When configured for Modbus operation, the baud rate for RS485 is set using the parameter “RS485 baud rate”. Modbus RTU requires 8 data bits. The Modbus RTU slave interface protocol definitions can be found on the MotionView CD in “Product Manuals”, P94MOD01.
Interface 4.4.6 PROFIBUS DP Interface An optional PROFIBUS DP communication module (E94ZAPFB1) is available for the PositionServo drive. Installed in Option Bay 1 as P24, the PROFIBUS DP module is optically isolated from the rest of the drive’s circuitry. The PROFIBUS module is a female DB-9 connector. Refer to the PS PROFIBUS Communications Reference Guide (P94PFB01) for detailed information.
Parameters Parameters The PositionServo drive has many programmable features accessible via the universal software MotionView. This chapter covers the drive’s programmable features and parameters in the order they appear in the Parameter Tree of MotionView. Programmable parameters are divided into folders. Each folder contains one or more user adjustable parameters.
Parameters Drive Identification At the top of the Node Tree, click the Drive name [E94P 240V 04Amp ...]. The drive ID string, device family, firmware revision, vector processor revision, hardware revision, MotionView OnBoard revision, motor database revision, indexer compiler revision, serial number, drive name and group ID are displayed as illustrated herein.
Parameters Motor The motor folder displays the data for the currently selected motor. A motor may be selected from the database or a custom motor may be configured. 5.2.1 Motor Setup Select the [Motor] folder in the right-hand “Parameter View Window”. To select a new motor click the [Change Motor] button.
Parameters NOTE To help prevent the motor from drawing to much current and possibly overheating it is recommended that the drive’s “Current Limit” be checked against the motors “Nominal Phase Current” and set accordingly. 5.2.2 Using a Custom Motor Follow these instructions to load a custom motor from a file or create a new custom motor. From the Parameter tree select the [Motor] folder.
Parameters NOTE Save the file even if the autophasing feature will be used and some of the final parameters are not known. After autophasing is completed, the corrected motor file can be updated before loading it to memory. Click [Close] to exit from the Motor Parameters dialog. MotionView will prompt to autophase/not autophase the custom motor.
Parameters Click [Save File] to save the completed motor file (use same filename as the initial data in step 1). Click [Update Drive] to load the motor data to the drive. 5.2.5 Custom Motor Data Entry A Custom Motor file is created by entering motor data into the “Motor Parameters” dialog box. This box is divided up into four sections: Electrical constants, Mechanical constants, Feedback and Gain Scaling.
Page 130
Parameters NOTE If the phase current rating is not given, use this equation to obtain the nominal continuous phase-to-phase winding current: In = Continuous Stall Torque / Motor Torque Constant (Kt) The same force x distance units must be used in the numerator and denominator in the equation above. If torque (T) is expressed in units of pound-inches (lb-in), then Kt must be expressed in pound-inches per Amp (lb-in/A).
Page 131
Parameters S912 The Halls Order is obtained as follows: 1. Look at the “Vrs” Output Voltage and determine the Hall Voltage that is lined up with (or in phase with) this voltage. To determine which Hall Voltage is in phase with the Vrs Output Voltage draw vertical lines at those points where it crosses the horizontal line (zero).
Page 132
Parameters B leads A for CW This is the encoder phase relationship for CW/CCW shaft rotation. When you obtain the diagram for your motor phasing similar to shown above, it’s assumed by the software that the motor shaft rotates CW when looking at the rear of the motor.
Page 133
Parameters Parameters Parameters List - Top Parameters List - Bottom S94H201E_13426446_EN...
Parameters 5.3.1 Drive Mode The PositionServo has 3 operating mode selections: Torque, Velocity and Position. For Torque and Velocity modes the drive will accept an analog input voltage on the AIN1+ and AIN1- pins of P3 (refer to section 4.3.1). This voltage is used to provide a torque or speed reference. For Position mode the drive will accept step and direction logic signals or a quadrature pulse train on pins P3.1- P3.4.
Parameters 5.3.3 Drive PWM Frequency This parameter sets the PWM carrier frequency. Frequency can be changed only when the drive is disabled. Maximum overload current is 300% of the drive rated current when the carrier is set to 8kHz. It is limited to 250% at 16kHz.
Parameters 5.3.9 Motor Temperature Sensor This parameter enables / disables motor over-temperature detection. It must be disabled if the motor PTC sensor is not wired to either P7.1-2 or to the resolver feedback input (P4 or P11). 5.3.10 Motor PTC Cutoff Resistance This parameter sets the cut-off resistance of the PTC that defines when the motor reaches the maximum allowable temperature.
Parameters 5.3.12 Master Encoder Input Type (position mode only) This parameter sets the type of input for position reference the drive expects to see. Signal type can be step and direction [Step & Direction] type or quadrature pulse-train [Master Encoder]. Refer to section 4.2.1 for details on these inputs.
Parameters Communication The Communication folder contains four sub-folders: Ethernet, RS-485, CAN and PROFIBUS plus sub-sub folders to program the parameters specific to the communication type. Select the Fieldbus used from the pull-down menu (None, CANOpen Simple 301, DeviceNet or PROFIBUS). NOTE Ethernet is always enabled regardless of the fieldbus selected.
Parameters Analog I/O 5.5.1 Analog Output The PositionServo has one analog output with 10-bit resolution on P3 pin 23. The signal is scaled to ±10V. The analog output can be assigned to the following functions: • Not Assigned • Phase current RMS •...
Parameters 5.5.6 Analog Input Dead Band Allows the setting of a voltage window (in mV) at the reference input AIN1+ and AIN1- (P3 pins 24 and 25) such that any voltage within that window will be treated as zero volts. This is useful if the analog input voltage drifts resulting in motor rotation when commanded to zero.
Parameters The inhibit function allows input A3 to inhibit (prevent) power being applied to the motor but does not provide the enable or disable command for the drive. This function is typically used in a centralized system where the drive’s internal programming determines when the drive should enable or disable (these statements are executed within the drive programming).
Parameters Position Limits 5.8.1 Position Error Specifies the maximum allowable position error in the primary (motor mounted) feedback device before enabling the “Max error time” clock. When using an encoder, the position error is in post-quadrature encoder counts. When using a resolver, position error is measured at a fixed resolution of 65,536 counts per motor revolution.
Parameters 5.9.3 Position P-gain (proportional) Position P-gain adjusts the system’s overall response to position error. Position error is the difference between the commanded position of the motor shaft and the actual shaft position. By adjusting the proportional gain, the bandwidth of the drive is more closely matched to the bandwidth of the control signal, ensuring more precise response of the servo loop to the input signal.
Page 144
Parameters 5.9.10 Set Default Gains Click the [Set Default Gains] button to access the Default Gains parameter. Selecting [Set Default Gains] will reset the gains to the default values in the motor file. 5.9.11 Feedback and Loop Filters Hardware Version 2 provides for the use of 1 feedback filter and 2 cascaded loop filters. Loop filters are identical in structure and operation.
Page 145
Parameters 5.10 Tools The [Tools] folder contains two action buttons: Oscilloscope and Parameter I/O View. These tools allow the user to perform real-time diagnostics. 5.10.1 Oscilloscope The Oscilloscope tool provides a real-time display of the different electrical signals inside the PositionServo drive.
Page 146
Parameters Signal Name The user can customize the information presented on the Scope tool by choosing the drop-down box in each channel. The set of available signals depends on the drive mode. Refer to the Oscilloscope Parameters table for the list of the signals. Scale Scale sets the sensitivity of the display.
Page 147
Parameters To edit a parameter’s value, double click the [Decimal] field of the parameter. When the text is double- clicked, the background color will change. The parameter value will stop updating allowing you to change the value. However, if the interface device or user’s program manipulates the value of the parameter, then your change will be overwritten in a concurrent manner.
Page 148
Parameters NOTE The [Clear Faults] operation will disrupt motion and the program being executed. It is recommended not to clear faults while running an application. 5.12 Monitor The Monitor window displays common diagnostic information for the drive’s status. Click the [Set on Top] box to keep the Monitor displayed while manipulating other screens in MotionView.
Operation Operation This section offers guidance on configuring the PositionServo drive for operations in torque, velocity or position modes without requiring a user program. To use advanced programming features of PositionServo please perform all steps below and then refer to the PositionServo Programming Manual for details on how to write motion programs.
Page 150
Operation NOTE For any PC that will need regular configuration to communicate with a PositionServo Drive and if the default PC Ethernet port on your computer is already being used for another purpose (such as email, web browsing, etc,) then it may be more convenient for the operator to add an additional Ethernet port to the PC.
Page 151
Operation It is most common for the PositionServo drive IP address to be left at its default value (192.168.124.120) and to configure the PC Ethernet port to communicate on this subnet. If more than one drive needs to be connected to the PC at any one time then the IP_4 parameter can be accessed via the keypad and changed to provide a unique IP address on the network for each drive.
Operation 6.2.1.3 Configuring the IP Address Automatically (Dynamic Address) When connecting a PositionServo drive onto a network domain with a DHCP enabled server (where all devices have dynamic IP addresses assigned by the server) the IP address of the PositionServo drive can also be assigned automatically by the server.
Page 153
Operation Start Menus - Windows XP Category (Default) View Classic View One of the following screens will be displayed, depending on the user’s configuration of Windows XP software. Control Panel Displays - Windows XP Category (Default) View Classic View S94H201E_13426446_EN...
Page 154
Operation Regardless of the Windows XP viewing mode the following [Network Connections] screen will appear. Hereafter all configuration screens are the same regardless of selected Windows XP viewing mode. Select the connection you wish configure. [Local Area Connection] is typically the standard or local Ethernet port on the PC (the port supplied with the PC), with any additional hardwire ports displayed as [Local Area Connection x] (with x being a numerical value).
Page 155
Operation Select [Use the following IP address]. The IP address and Subnet mask text boxes can now be edited. Enter an IP address for the PC. This IP address will need to be unique to the PC (different to any other device on the network) but still allow communication on the same subnet that the drive is set to.
Page 156
Operation Physically connect the Drive to the PC: To connect directly between a PC and a PositionServo drive it is recommended that a CAT 5e crossover cable be connected between the P2 port on the PositionServo drive and the Ethernet port on the PC. PC/Laptop Drive Ethernet Port...
Page 157
Operation MotionView OnBoard Splash Screen WARNING Statement on Initial MotionView Display Once MotionView has launched, verify motor is safe to operate, click [YES, I have] then select [Connect] from the Main toolbar (top left). Initial MotionView Display S94H201E_13426446_EN...
Page 158
Operation The Connection dialog box will appear. Connection Dialog Box Select [Discover] to find the drive(s) on the network available for connection. NOTE [Discover] may fail to find the drive’s IP address on a computer with both a wireless network card and a wired network card.
Page 159
Operation Parameter Storage and EPM Operation 6.3.1 Parameter Storage All settable parameters are stored in the drive’s internal non-volatile memory. Parameters are saved automatically when they are changed. In addition, parameters are copied to the EPM memory module located on the drive’s front panel. In the unlikely event of drive failure, the EPM can be removed and inserted into the replacement drive, thus making an exact copy of the drive being replaced.
Page 160
Operation Configuration of the PositionServo Regardless of the mode in which the user wishes to operate, he must first configure the PositionServo for his particular motor, mode of operation, and additional features if used. Drive configuration consists of following steps: • Motor Selection • Mode of operation selection • Reference source selection (Very Important)
Page 161
Operation Position Mode Operation (gearing) In position mode the drive will follow the master reference signals at the 1-4 inputs of P3. The distance the motor shaft rotates per each master pulse is established by the ratio of the master signal pulses to motor encoder pulses (in single loop configuration).
Operation Drive Tuning The PositionServo Drive will likely require some tuning of its gains parameters in order to achieve best performance in the application in which it is being applied. Only when the drive is placed in Torque Mode are the gain values not required to be tuned.
Page 163
Operation 6.7.2 Manually Tuning the Drive in Velocity Mode The PositionServo drive may also be tuned manually. Follow the procedure in this paragraph to tune the drive in Velocity mode. Parameter Setup Set up the motor as per the instructions given in the relevant section of this manual. The motor must be configured correctly prior to tuning taking place.
Page 164
Operation Oscilloscope Settings Open the [Tools] folder in MotionView and select the [Oscilloscope] tool. Click the [Set on Top] box to place a checkmark in it and keep the scope on top. In the Scope Tool Window make the following settings: Channel 1: Signal = “Commanded Velocity”...
Page 165
Operation Gain Scaling set OK Motor Velocity resembles Commanded Velocity. Motor Velocity is reasonably close with a slight overshoot. Gain Scaling set too HIGH Motor Velocity shows significant overshoot following the acceleration periods. Gain Scaling set significantly too HIGH Motor Velocity exhibits instability throughout the steady state Commanded Velocity.
Page 166
Operation Step 2: Fine Tuning the Velocity P-Gain Slowly alter the Velocity P-Gain (increase and decrease) and observe the motor velocity waveform on the oscilloscope. As the P-Gain increases the gradient of the velocity during acceleration and deceleration will also increase as will the final steady state velocity that is achieved. The application of too much P-Gain will eventually result in an overshoot in the motor velocity, and further increases will result in larger overshooting to the point that instability (continuous oscillation) occurs.
Page 167
Operation I-Gain set OK No error between Commanded steady state velocity and Actual steady state velocity with excellent stability. I-Gain set too HIGH Additional overshoot and oscillations are starting to occur. Steady state velocity regulation Step 4: Check Motor Currents Finally check the motor currents on the Oscilloscope.
Page 168
Operation Good Current Trace Uniform current pulses during accel/ deceleration and stable current during steady state velocity. Instability in Drive Output Current (Note: Channel 2 trace has been removed for clarity). End Velocity Tuning Remove the Enable Input from input A3 (disable the drive). In MotionView, click on the [Indexer] folder for the drive.
Page 169
Operation Editing the Position Tuning Program The Tune Position Program performs trapezoidal moves in the forward and reverse direction separated by a defined pause (or time delay). The Accel, Decel, and MaxV variables within the TuneP program define the ramps and steady state velocity that will be used to execute the motion commands.
Page 170
Operation Compensation Folder Open the [Compensation] folder in MotionView. Leave the Velocity P-Gain and Velocity I Gain unchanged, as they should already have been setup during velocity tuning. Do not adjust the Gain Scaling Parameter during this procedure. Set the [Position P-gain] to a low value (e.g. 100) and set the [Position I-Gain] and [Position D-Gain] to 0. Gain Tuning The system should now be ready to start tuning the position loop.
Page 171
Operation Further Increased Position P-Gain Shows very good reduction to the maximum error but with additional oscillations starting to occur. Step 2: Setting the Position D-Gain Slowly increase the D-Gain while watching the position error waveform on oscilloscope Channel 1. As the D-Gain is increased, the position error oscillation caused by the P-Gain, should start to decrease.
Page 172
Operation Step 4: Check Motor Currents Set the oscilloscope channel 2 to ‘Phase Current RMS’ Channel 2: Signal = “Phase Current RMS” Scale = as appropriate to peak current limit set in drive parameters (MotionView) Timebase: = as appropriate to the “Period” of the moves being generated Trigger: = Ch1 Rising Edge Level:...
Operation In this particular example maximum error in pulses is 95.0. The time this peak error occurs can be read from the oscilloscope at approximately ½ of a division with each division equal to 100ms, hence the error pulse lasts approximately 50mS. Suitable settings for position error within this application might be as follows, although looser or tighter limits could be applied depending on the requirements of the application.
Quick Start Reference Quick Start Reference This section provides instructions for External Control, Minimum Connections and Parameter Settings to quickly setup a PositionServo drive for External Torque, Velocity or Positioning Modes. The sections are NOT a substitute for reading the entire PositionServo User Manual. Observe all safety notices in this manual. Quick Start - External Torque Mode Mandatory Signals: These signals are required in order to achieve motion from the motor.
Page 175
Quick Start Reference Optional Parameter Settings: These parameters may require setting depending on the control system implemented. Folder / Sub-Folder Parameter Name Description Parameters Resolver Track PPR for simulated encoder on 941 Resolver drive IO / Digital IO Output 1 Function Set to any pre-defined function required Output 2 Function Set to any pre-defined function required...
Page 176
Quick Start Reference Mandatory Parameter Settings: These parameters are required to be set prior to running the drive. Folder / Sub-Folder Parameter Name Description Parameters Drive Mode Set to [Velocity] Reference Set to [External] Enable Velocity Accel / Decel Limits Enable Ramp rates for Velocity Mode Velocity Accel Limit Set required Acceleration Limit for Velocity command...
Page 177
Quick Start Reference Quick Start - External Positioning Mode Mandatory Signals: These signals are required in order to achieve motion from the motor. Connector-Pin Input Name Description P3-1 Position Reference Input for Master Encoder / Step-Direction Input P3-2 Position Reference Input for Master Encoder / Step-Direction Input P3-3 Position Reference Input for Master Encoder / Step-Direction Input P3-4...
Page 178
Quick Start Reference Mandatory Parameter Settings: These parameters are required to be set prior to running the drive Folder / Sub-Folder Parameter Name Description Parameters Drive Mode Set to [Position] Reference Set to [External] Step Input Type Set to [S/D] or [Master Encoder]. (S/D = Step + Direction) Set ‘Master’...
Diagnostics Diagnostics Diagnostic Display Apply power to the drive and wait until “ ” shows on the display. For anything other than “ ”, refer to the chart below before proceeding. Drive Display Fault Remedy EPM missing Insert EPM -EP- Format EPM Reformatting EPM FEP?
Diagnostics Display Description Ehternet DHCP Configuration: 0=”dHCP” is disabled; 1=”dHCP is enabled. dHCP IP Adress Octet 4 IP_4 IP Adress Octet 3 IP_3 IP Adress Octet 2 IP_2 IP Adress Octet 1 IP_1 Displays the motor ptc resistance in ohms Displays the voltage on Drive Analog Input 1 (Ain1) ain1 Displays the voltage on Drive Analog Input 2 (Ain2)
Page 181
Diagnostics Faults 8.4.1 Fault Codes Faults in the drive are immediately shown on the drive display. The fault condition is also recorded to the drive trip log and the DFaults register inside the drive. The various trip conditions, as they appear on the display of the drive are listed in the table below.
Page 182
Diagnostics Fault Code (Display) Fault Description Byte code interpreter error; May occur when program is missing the closing END Unknown statement; when subroutine has no RETURN statement; or if data in EPM is corrupted at F_26 byte code run-time Attempt to execute motion while drive is disabled. Drive programming error (error in drive Drive disabled F_27 source code).
Page 183
Diagnostics 8.4.2 Fault Event When the drive encounters any fault, the following events occur: • Drive is disabled • Internal status is set to “Fault” • Fault number is logged in the drive’s internal memory for later interrogation • Digital output(s), if configured for “Run Time Fault”, are asserted •...
Page 184
Diagnostics Problem Ready LED is on but motor does not run. Suggested Solution If in Torque or Velocity mode: Reference voltage input signal is not applied. Reference signal is not connected to the PositionServo input properly; connections are open. In MotionView program check <Parameters> <Reference> set to <External> For Velocity mode only: In MotionView check <Parameters>...
Page 186
Lenze Americas Corporation • Lenze AC Tech Corporation 630 Douglas Street • Uxbridge, MA 01569 • USA Sales: (800) 217 9100 • Service (508) 278 9100 www.lenze.com S94H201E-e1...
Page 187
S929 PositionServo with RS-232 Users Manual...
Safety Information All safety information given in these Operating Instruction has a similar layout: Signal Word! (Characteristics the severity of the danger) Note (describes the danger and informs on how to proceed) Pictographs used in these instructions: Signal Words Icon DANGER! Warns of impending danger.
Introduction Introduction The PositionServo line of advanced general purpose servo drives utilizes the latest technology in power semiconductors and packaging. The PositionServo uses Field Oriented control to enable high quality motion. The PositionServo Model 940 is available in four mains (input power) configurations: 400/480V (nominal) three phase input.
Introduction Scope of Supply Scope of Supply Important • 1 Model 940 Servo type E94P... After reception of the delivery, check immediately • 1 Users Manual (English) whether the scope of supply matches the • 1 MotionView CD ROM including accompanying papers. Lenze does not accept any - configuration software liability for deficiencies claimed subsequently. - documentation (Adobe Acrobat) Claim • visible transport damage immediately to the forwarder...
Technical Data Technical Data Electrical Characteristics Single-Phase Models 1~ Mains 1~ Mains Current Current Rated Output Peak Output Mains Voltage (1) Current (4) Current (5) Type (doubler) (Std.) E94P020S1N 120V or 240V E94P040S1N E94P020S2F E94P040S2F 120 / 240V (80 V -0%...264 V +0%) E94P080S2F 15.0 E94P100S2F...
Technical Data Operating Modes Torque Reference ± 10 VDC 16-bit; scalable Torque Range 100:1 Current-Loop Bandwidth Up to 1.5 kHz* Velocity Reference ± 10 VDC or 0…10 VDC; scalable Regulation ± 1 RPM Velocity-Loop Bandwidth Up to 200 Hz* Speed Range 5000:1 with 5000 ppr encoder Position Reference...
Technical Data Power Ratings Output kVA at Rated Leakage Power Loss at Rated Power Loss at Rated Type Output Current (8kHz) Current Output Current (8kHz) Output Current (16 kHz) Units Watts Watts Typical: E94P020S1N >3.5mA* E94P040S1N E94P020S2F E94P040S2F Typical: >3.5mA* E94P080S2F E94P100S2F E94P020Y2N...
Installation Installation Perform the minimum system connection. Please refer to section 6.1 for minimum connection requirements. Observe the rules and warnings below carefully: DANGER! Hazard of electrical shock! Circuit potentials are up to 480 VAC above earth ground. Avoid direct contact with the printed circuit board or with circuit elements to prevent the risk of serious injury or fatality.
Installation UL INSTALLATION INFORMATION • Suitable for use on a circuit capable of delivering not more than 200,000 rms symmetrical amperes, at the maximum voltage rating marked on the drive. • Use Class 1 wiring with minimum of 75ºC copper wire only. •...
Installation Compliance with EN 61800-3/A11 This is a product of the restricted sales distribution class according to IEC 61800-3. In a domestic environment this product may cause radio interference in which the user may be required to take adequate measures Noise emission Installation according to EMC Requirements...
Installation NOTE The ground connection from the filter must be wired to solid earth ground, not machine ground. If the end-user is using a CE-approved motor, the AC filter combined with the recommended motor and encoder cables, is all that is necessary to meet the EMC directives listed herein.
Interface Interface The standard PositionServo 940 drive contains seven connectors: four quick-connect terminal blocks, one SCSI connector and two subminiature type “D” connectors. These connectors provide communications from a PLC or host controller, power to the drive, and feedback from the motor. Prefabricated cable assemblies may be purchased from Lenze to facilitate wiring the drive, motor and host computer.
Interface P7 PIN ASSIGNMENTS (OUTPUT POWER) Terminal Function Thermistor (PTC) Input Thermistor (PTC) Input Motor Power Out Motor Power Out Motor Power Out Protective Earth (Chassis Ground) 4.1.2 P2 - Serial Communications Port P2 is a 9-pin D-sub connector that is used to communicate with a host computer via standard RS-232 interface using a proprietary Point-to-Point Protocol (PPP).
Interface Name Function Buffered Encoder Output: Channel B- Buffered Encoder Output: Channel Z+ Buffered Encoder Output: Channel Z- 13-19 Empty AIN2+ Positive (+) of Analog signal input AIN2- Negative (-) of Analog signal input ACOM Analog common Analog output AIN1+ Positive (+) of Analog signal input AIN1 - Negative (-) of Analog signal input...
Page 206
Interface The PositionServo 940 buffers encoder feedback from P4 to P3. Encoder Feedback channel A on P4, for example, is Buffered Encoder Output channel A on P3. The Hall sensors from the motor must be wired to the 15-pin connector (P4). STOP! Use only +5 VDC encoders.
Interface 4.1.5 P5 - 24 VDC Back-up Power Input P5 is a 2-pin quick-connect terminal block that can be used with an external 24 VDC (500mA) power supply to provide “Keep Alive” capability: during a power loss, the logic and communications will remain active. Applied voltage must be greater than 20VDC. P5 PIN ASSIGNMENTS (BACK-UP POWER) Name Function...
Interface Note 3 - Digital Input A3 The ENABLE pin (IN_A3, P3.29) must be wired through a switch or an output on a front-end controller to digital input common (IN_ACOM, P3.26). If a controller is present, it should supervise the PositionServo 940’s enable function. The ENABLE circuit will accept 5-24V control voltage.
Interface P11 PIN ASSIGNMENTS (Resolver Feedback) Name Function Ref + Resolver reference connection Ref - No Connection Cos+ Resolver Cosine connections Cos- Sin+ Resolver Sine connections Sin- PTC+ Thermal sensor PTC- STOP! Use only 10 V (peak to peak) or less resolvers. Use of higher voltage resolvers may result in feedback failure and damage to the resolver option module.
Interface Digital I/O Details 4.2.1 Step & Direction / Master Encoder Inputs (P3, pins 1-4) You can connect a master encoder with quadrature outputs or a step and direction pair of signals to control position in step / direction operating mode (stepper motor emulation). These inputs are optically isolated from the rest of the drive circuits and from each other.
Interface 4.2.2 Digital Outputs There are a total of five digital outputs (“OUT1” - “OUT4” and “RDY”) available on the PositionServo 940 drive. These outputs are accessible from the P3 connector. Outputs are open collector type that are fully isolated from the rest of the drive circuits. See the following figure for the electrical diagram.
Interface 4.2.3 Digital Inputs IN_Ax, IN_Bx, IN_Cx (P3.26-30, P3.31-35, P3.36-40) The PositionServo 940 Drive has 12 optically isolated inputs. These inputs are compatible with a 5 -24V voltage source. No additional series resistors are needed for circuit operation. The 12 inputs are segmented into three groups of 4, Inputs A1 - A4, Inputs B1 - B4, and Inputs C1 - C4.
Interface Analog I/O Details 4.3.1 Analog Reference Input AIN+, AIN1- (P3.24 and P3.25) The analog reference input can accept up to a ±10V analog signal across AIN1+ and AIN2-. The maximum limit with respect to analog common (ACOM) on each input is ±18VDC.
Interface Communication Interfaces 4.4.1 RS232 Interface (standard) Programming and diagnostics of the 940 drive is done over the standard RS232 communication port. The baud rate for this port can be configured to one of 7 different settings, ranging from 2400 to 115200. Drives are addressable with up to 32 addresses from 0-31.
Interface 4.4.4 MODBUS RTU Support As a default, the RS232 and RS485 interfaces are configured to support MotionView program operations. In addition, the RS485 interface can be configured to support the MODBUS RTU slave protocol. The interface can be configured through the MotionView program.
Interface 4.5.3 Motor Set-up Once you are connected to the PostionServo 940 via MotionView a “Parameter Tree” will appear in the “Parameter Tree Window”. The various parameters of the drive are shown here as folders and files. If the “Motor” folder is selected, all motor parameters can be viewed in the “Parameter View Window”.
Interface Using a Custom Motor You can load a custom motor from a file or you can create a new custom motor. • To create a custom motor click “CREATE CUSTOM” and follow the instructions in the next section “Creating custom motor parameters”. • To load a custom motor click “OPEN CUSTOM” button then select the motor file and click the “OPEN“...
Interface 4.6.2 Autophasing The Autophasing feature determines important motor parameters when using a motor that is not in MotionView’s database. For motors equipped with incremental encoders, Autophasing will determine the Hall order sequence, Hall sensor polarity and encoder channel relationship (B leads A or A leads B for CW rotation). For motors equipped with resolvers, Autophasing will determine resolver angle offset and angle increment direction (“CW for positive”).
Page 219
Interface 4.6.3.1 Electrical Constants Motor Torque Constant (Kt) Enter the value and select proper units from the drop-down list. NOTE Round the calculated result to 3 significant places. Motor Voltage Constant (Ke) The program expects Ke to be entered as a phase-to-phase Peak voltage. If you have Ke as an RMS value, multiply this value by 1.414 for the correct Ke Peak value.
Page 220
Interface Nominal Bus Voltage (Vbus) The Nominal Bus Voltage can be calculated by multiplying the Nominal AC mains voltage supplied by 1.41. When using a model with the suffix “S1N” where the mains are wired to the “Doubler” connection, the Nominal Bus Voltage will be doubled. Example: If the mains voltage is 230VAC, Vbus = 230 x 1.41 = 325V This value is the initial voltage for the drive and the correct voltage will be calculated...
Page 221
Interface Halls Order Each hall signal is in phase with one of the three phase-phase voltages from the motor windings. Hall order number defines which hall sensor matches which phase-phase voltage. Motor phases are usually called R-S-T or U-V-W or A-B-C. Phase-Phase voltages are called Vrs, Vst, Vtr.
Page 222
Interface The phases that correspond to the Vrs Vst Vtr voltages are Hall B then Hall C then Hall A or Halls number 2 then 3 then 1. Referring to the following table, we find that 2-3-1 sequence is Halls Order number 3. We would enter 3 for the Halls Order field in motor dialog.
Parameters Parameters PositionServo 940 series drives are configured through one of the interfaces: RS232, RS485 or Ethernet. The drives have many programmable and configurable features and parameters. These features and parameters are accessible via a universal software called MotionView. Please refer to the MotionView Manual for details on how to make a connection to the drive and change parameter values.
Parameters 5.1.3 EPM Fault If the EPM fails during operation or the EPM is removed from the EPM Port the drive will generate a fault and will be disabled (if enabled). The fault is logged to the drives memory. Further operation is not possible until the EPM is replaced (inserted) and the F_EP drive’s power is cycled.
Parameters 5.3.1.3 Position Mode In this mode the drive reference is a pulse-train applied to P3.1-4 terminals, if the parameter “Reference” is set to “External”. Otherwise the reference is taken from the drive’s internal variables. (Refer to Programmer’s manual for details). P3.1-4 inputs can be configured for two types of signals: step and direction and Master encoder quadrature signal.
Parameters 5.3.7 ACCEL/DECEL Limits (Velocity Mode Only) The ACCEL setting determines the time the motor takes to ramp to a higher speed. The DECEL setting determines the time the motor takes to ramp to a lower speed. If the ENABLE ACCEL\DECEL LIMITS is set to DISABLE, the drive will automatically accelerate and decelerate at maximum acceleration limited only by the current limit established by the PEAK CURRENT LIMIT and CURRENT LIMIT settings.
Parameters 5.3.14 Regen Duty Cycle This parameter sets the maximum duty cycle for the brake (regen) resistor. This parameter can be used to prevent brake resistor overload. Use the following formula to set the correct value for this parameter. D = P * R / (Umax) * 100% where: D (%)
Parameters 5.3.19 Group ID Refer to the Programmer’s manual for details. This parameter is only needed for operations over an Ethernet network. 5.3.20 Enable Switch Function If set to “Run”, input IN_A3 (P3.29) acts as an “Enable” input when the user program is not executing.
Parameters 5.5.2 Analog Output Current Scale (Volt / amps) Applies scaling to all functions representing CURRENT values. 5.5.3 Analog Output Velocity Scale (mV/RPM) Applies scaling to all functions representing VELOCITY values. (Note: that mV/RPM scaling units are numerically equivalent to volts/kRPM). 5.5.4 Analog Input Dead Band Allows the setting of a voltage window (in mV) at the reference input AIN1+ and...
Parameters 5.6.2 Hard Limit Switch Action Digital inputs IN_A1-IN_A2 can be used as limit switches if their function is set to “Fault” or “Stop and Fault”. Activation of this input while the drive is enabled will cause the drive to Disable and go to a Fault state. The “Stop and Fault” action is available only in Position mode when the “Reference”...
Parameters Compensation 5.9.1 Velocity P-gain (Proportional) Proportional gain adjusts the system’s overall response to a velocity error. The velocity error is the difference between the commanded velocity of a motor shaft and the actual shaft velocity as measured by the primary feedback device. By adjusting the proportional gain, the bandwidth of the drive is more closely matched to the bandwidth of the control signal, ensuring more precise response of the servo loop to the input signal.
Parameters 5.9.7 Gain Scaling Window Sets the total velocity loop gain multiplier (2 ) where n is the velocity regulation window. If, during motor tuning, the velocity gains become too small or too large, this parameter is used to adjust loop sensitivity. If the velocity gains are too small, decrease the total loop gain value, by deceasing this parameter.
Operation Operation This section offers guidance on configuring the PositionServo drive for operations in torque, velocity or position modes without requiring a user program. To use advanced programming features of PositionServo please perform all steps below and then refer to the Programmer’s Manual for details on how to write motion programs.
Operation To configure drive: Ensure that the control is properly installed and mounted. Refer to Section 3 for installation instructions. Perform wiring to the motor and external equipment suitable for desired operating mode and your system requirements. Connect the serial port P2 on the drive to your PC serial port. Make sure that the drive is disabled.
Operation Position Mode Operation (gearing) In position mode the drive will follow the master reference signals at the P3. 1-4 inputs. The distance the motor shaft rotates per each master pulse is established by the ratio of the master signal pulses to motor encoder pulses (in single loop configuration). The ratio is set by “System to Master ratio”...
Operation Enabling the PositionServo Regardless of the selected operating mode, the PositionServo must be enabled before it can operate. A voltage in the range of 5-24 VDC connected between P3.26 and 3.29 (input IN_A3) is used to enable the drive. There is a difference in the behavior of input IN_A3 depending on how the “Enable switch function”...
Operation WARNING! During both the Velocity and Position tuning procedures the PositionServo drive will perform rotation (motion) of the motor shaft in the forward and reverse directions at velocities based on the settings made by the user. Ensure that the motor and associated mechanics of the system are safe to operate in the way specified during these procedures.
Page 238
Operation Compile and Download Indexer Program to Drive In the [Indexer program] folder in MotionView, select [Compile and Load with Source] from the pull down menu. The TuneV program will be compiled and sent to the drive. Select [Run] from the pull down menu to run the TuneV program. Do NOT enable the drive (via input A3) at this stage.
Page 239
Operation Gain Scaling set OK Motor Velocity resembles Commanded Velocity. Motor Velocity is reasonably close with a slight overshoot. Gain Scaling set too HIGH Motor Velocity shows significant overshoot following the acceleration periods. Gain Scaling set significantly too HIGH Motor Velocity exhibits instability throughout the steady state Commanded Velocity.
Page 240
Operation Step 2: Fine Tuning the Velocity P-Gain Slowly alter the Velocity P-Gain (increase and decrease) and observe the motor velocity waveform on the oscilloscope. As the P-Gain increases the gradient of the velocity during acceleration and deceleration will also increase as will the final steady state velocity that is achieved.
Page 241
Operation I-Gain set OK No error between Commanded steady state velocity and Actual steady state velocity with excellent stability. I-Gain set too HIGH Additional overshoot and oscillations are starting to occur. Steady state velocity regulation Step 4: Check Motor Currents Finally check the motor currents on the Oscilloscope.
Operation Good Current Trace Uniform current pulses during accel/ deceleration and stable current during steady state velocity. Instability in Drive Output Current (Note: Channel 2 trace has been removed for clarity). End Velocity Tuning Remove the Enable Input from input A3 (disable the drive). In MotionView, click on the [Indexer] folder for the drive.
Page 243
Operation Importing the Position Tuning Program Before importing the Position Tuning Program, the example programs must be installed from the Documentation CD that shipped with the drive. If this has not been done then please do so now. To load the TuneP program file to the drive, select [Indexer Program] in MotionView. Select [Import program from file] on the main toolbar.
Page 244
Operation Oscilloscope Settings Open the [Tools] folder]in MotionView and select the [Oscilloscope] tool. Click the [Set on Top] box to place a checkmark in it and keep the scope on top. In the Scope Tool Window, make the following settings: Channel 1: Signal = “Position Error”...
Page 245
Operation Increased Position P-Gain Shows improvement to the maximum error and the final positioning accuracy At some point while increasing the P-Gain, additional oscillations (Average Error) will start to appear on the position error waveform. Further Increased Position P-Gain Shows very good reduction to the maximum error but with additional oscillations starting to occur.
Page 246
Operation Step 3: Setting the Position I-Gain and Position I-Gain Limit The objective here is to minimize the position error during steady state operation and improve positioning accuracy. Start to increase the Position I-gain. Increasing the I-gain will increase the drive’s reaction time while the I-Limit will set the maximum influence that the I-Gain can have on the Integral loop.
Page 247
Operation Setting the Position Error Limits Look at the position error waveform on the oscilloscope. Note the maximum time that position errors exist (from the time axis of the scope) and the maximum peak errors being seen (from the value at the top of the screen). Use this values to set the position error limits to provide suitable position error protection for the application.
Reference Quick Start Reference This section provides instructions for External Control, Minimum Connections and Parameter Settings to quickly setup a PositionServo drive for External Torque, Velocity or Positioning Modes. The sections are NOT a substitute for reading the entire PositionServo User Manual. Observe all safety notices in this manual. Quick Start - External Torque Mode Mandatory Signals: These signals are required in order to achieve motion from the motor.
Reference Optional Parameter Settings: These parameters may require setting depending on the control system implemented. Folder / Sub-Folder Parameter Name Description Parameters Resolver Track PPR for simulated encoder on 941 Resolver drive IO / Digital IO Output 1 Function Set to any pre-defined function required Output 2 Function Set to any pre-defined function required Output 3 Function...
Page 250
Reference Mandatory Parameter Settings: These parameters are required to be set prior to running the drive. Folder/Sub-Folder Parameter Name Description Parameters Drive Mode Set to [Velocity] Reference Set to [External] Enable Velocity Accel / Decel Limits Enable Ramp rates for Velocity Mode Velocity Accel Limit Set required Acceleration Limit for Velocity command Velocity Decel Limit...
Reference Quick Start - External Positioning Mode Mandatory Signals: These signals are required in order to achieve motion from the motor. Connector-Pin Input Name Description P3-1 Position Reference Input for Master Encoder / Step-Direction Input P3-2 Position Reference Input for Master Encoder / Step-Direction Input P3-3 Position Reference Input for Master Encoder / Step-Direction Input P3-4...
Page 252
Reference Mandatory Parameter Settings: These parameters are required to be set prior to running the drive. Folder / Sub-Folder Parameter Name Description Parameters Drive Mode Set to [Position] Reference Set to [External] Step Input Type Set to [S/D] or [Master Encoder]. (S/D = Step + Direction) Set ‘Master’...
Diagnostics Diagnostics Display The PositionServo 940 drives are equipped with a diagnostic LED display and 3 push buttons to select displayed information and to edit a limited set of parameter values. Parameters can be scrolled by using the “UP” and “DOWN” ( ) buttons.
Diagnostics LEDs The PositionServo has five diagnostic LEDs mounted on the periphery of the front panel display as shown in the drawing below. These LEDs are designed to help monitor system status and activity as well as troubleshoot any faults. S913 Function Description...
Page 255
Diagnostics Fault Code Fault Description (Display) Statement executed within the Indexer Program results in a value being Arithmetic Error F_19 generated that is too big to be stored in the requested register. Drive Register overflow programming error (error in drive source code). Exceeded 32 levels subroutines stack depth.
Diagnostics 8.3.2 Fault Event When drive encounters any fault, the following events occur: • Drive is disabled • Internal status is set to “Fault” • Fault number is logged in the drive’s internal memory for later interrogation • Digital output(s), if configured for “Run Time Fault”, are asserted •...
Page 257
Diagnostics Problem Ready LED is on but motor does not run Suggested Solution If in Torque or Velocity mode: Reference voltage input signal is not applied. Reference signal is not connected to the PositionServo input properly; connections are open. In MotionView program check <Parameters> <Reference> set to <External> For Velocity mode only: In MotionView check <Parameters>...
Page 262
Lenze AC Tech Corporation 630 Douglas Street • Uxbridge, MA 01569 • USA Sales: (800) 217-9100 • Service: (508) 278-9100 www.lenze-actech.com (S94P01B2) S94P01B2-e2...
Page 263
MotionView Configuration and Programming Software USER’S MANUAL IM94MV01C...
Safety Warnings WARNING! • Hazard of unexpected motor starting! When using MotionView software, or otherwise operating the PositionServo drive over RS-3/485, CANopen or Ethernet, the motor may start unexpectedly, which may result in damage to equipment and/or injury to personnel. Make sure the equipment is free to operate in this manner, and that all guards and covers are in place to protect personnel.
MotionView Software overview MotionView is the setup and management tool for SimpleServo and PositionServo Drives. The user interface is intuitive in the way information is arranged and is logically divided into groups for viewing and editing. This manual covers the concept and basic operations of the MotionView program, please refer to the corresponding product’s User and Programmer Manuals for further details on MotionView features and capabilities.
1.2 Main Screen The user interface or Motion View main screen consists of 3 main panels: the Node Tree, the List View, and the Message Window as illustrated in Figure . Node Tree List View Message Window Figure 2: MotionView Screen 1.2.1 Node Tree Drives and Parameter files appear in the Node Tree on the left hand side of the screen. The Drive and Parameter files contain sub folders (denoted by a + symbol) with parameter groups and different tools needed to work with the selected Drive (Parameter file).
1.2.4 How to Change Parameters To change any parameter, click on the parameter of interest on the list view. The dialog box opens and the user can then change the value. There are several different types of dialog boxes depending on the parameter being changed: •...
Some groups from the Node Tree have Action buttons in the List View. They will perform the action listed against the buttons in the list view. (Refer to Figure 6). Example: clicking “Load fault history” loads the fault history from the PositionServo drive. Figure 6: Action Buttons embedded in List View 1.2.5 Main Menu and Toolbar The functions of MotionView are accessible in two ways: via the Main Menu or the Toolbar as illustrated in Figure 7.
1.3 Managing Projects Multiple parameter files and drives can be opened at the same time. Information about which files and drives are open and the current window layout is defined as a Project. A Project can be saved as a file to the PC’s hard drive. Future sessions will allow opening a project to automatically load the desired files and drives into the node tree and restore the windows layout.
1.4.1 Connection using PPP over RS-232/RS485 The first time in a session, click [Project] then [Connection Setup] or click the [ ] icon and select the proper inter- face from the list. Optionally click on the [Properties] button to change “COM Port” number and/or baud rate if necessary. Note that baud rate assigned in MotionView must be the same as the baud rate set on the drive.
Page 273
Select [Control Panel] from the Start menu. Figure 10b: Network Connections Select [Network Connections] in the Control Panel menu. Select the [Local Area Connection] with the number next to it. Figure 10c: Local Area Connection IM94MV01C...
Page 274
Under the General tab, select [Internet Protocol (TCP/IP)]. Figure 10d: Internet Protocol TCP/IP Click [Properties]. Select [Use the following IP Address] Type “19.168.14.1” in the IP address window. Figure 10e: Use the following IP address The Subnet Mask window will automatically populate with 55.55.55.0. Click [OK]. The IP address of the PC has been configured.
Configure IP Address of Drive: The first time in a session, click [Project] then [Connection Setup] or click the [ ] icon and select the proper inter- face from the list. Select [Node] then [Connect drive] or click the [ ] icon.
1.5 Build RS-485 Connection List Figure 11: Build RS 485 Connection List This window shows a list of drives currently connected. To be This window shows a list of available drives that could be connected Cancel Dismiss dialog box without any action. Help Access contents of MotionView Help folder Scan Find and connect all drives on the network.
1.7 File Operations 1.7.1 Opening and Closing Parameter Files. To open an existing configuration file, click [Node] on the main menu then [Open configuration file] from the pull-down menu. Select the configuration file with extension “.dcf” in the open window. The File will appear in the Node Tree on the left. To save the file, click [Node] on the main menu then [Save configuration file] from the pull-down menu.
2.2 Motor After configuring the interface of the PositionServo drive, the motor needs to be setup if one is attached. To select a motor, click on the [Motor] folder. Click on the action button [Click here to change the motor] to bring up the motor parameters screen. Set the motor vendor and motor model number.
Table 3: E94P09T4N Drive Parameters Parameter Name Value Units Drive name Drive mode Torque Drive PWM frequency 16kHz Current limit 0.0000 9.0000 8kHz peak current limit 7.000 0.0000 7.0000 16kHz peak current limit 7.000 0.0000 .500 Analog input (current scale) 0.9000 A/volt -1.8000 1.8000...
2.4.2 RS485 and Modbus The [RS485 and Modbus] folder contains the configuration parameters of the Modbus interface. Click on any Modbus parameter to change it. Table 4 lists the range and default value of each RS485 Modbus parameter. Table 4: RS 485 Modbus Parameters Parameter Range Default Value...
2.5.2 Analog I/O The [Analog I/O] folder contains the parameters of one output and one input plus an action button [Adjust analog input zero offset] that permits the user to change the analog zero offset. Table 7: Analog Input/Output Parameters Parameter Range Default Value Analog output...
2.8 Indexer Program Click on the [Indexer program] folder to open the MotionView Studio (the List View window is gray when MotionView Studio is selected). The user can type program code in the MotionView Studio or import it from a file, compile the program, step in/over it, run it , then compile with the option of sending the compiled program directly to the drive.
Page 283
Figure 16: Oscilloscope Display Signal Name You can customize the information presented by the Scope tool by choosing the drop-down box in each channel. The set of available signal depends on the drive model. Refer to the User’s Manual appropriate for your drive model to see the list of the signals.
Always on top Select this button to display the oscilloscope window on top all other windows. Options Select this button to change the channel mode, display mode and channel width settings. The default settings are: channel mode: normal, display mode: connected lines and channel width: average maximum. 2.9.2 Run Panels The [Run panels] folder permits the user to check the phasing of the motor.
Page 285
AC Technology Corporation • 630 Douglas Street • Uxbridge, MA 01569 • USA +1 (508) 278-9100 IM94MV01C...
Page 286
***************************** HEADER *************************************** ;Title: Pick and Place example program ;Author: Lenze - AC Technology ;Description: This is a sample program showing a simple sequence that picks up a part, moves to a set position and drops the part ;**************************** I/O List ************************************ Input A1 not used...
About These Instructions This documentation applies to the programming of the PositionServo drive with model numbers ending in “EX” and “RX”. This documentation should be used in conjunction with the PositionServo User Manual (Document S94P01) that shipped with the drive. These documents should be read in their entirety as they contain important technical data and describe the installation and operation of the drive.
Introduction Introduction Definitions Included herein are definitions of several terms used throughout this programming manual and the PositionServo user manual. PositionServo: The PositionServo is a programmable digital drive/motion controller, that can be configured as a stand alone programmable motion controller, or as a high performance torque and velocity drive for centralized control systems.
Introduction Programming Flowchart MotionView utilizes a BASIC-like programming structure referred to as SimpleMotion Programming Language (SML). SML is a quick and easy way to create powerful motion applications. With SML the programmer describes his system’s logistics, motion, I/O processing and user interaction using the SML structured code.
Introduction MotionView / MotionView Studio There are two versions of MotionView Software: one which resides inside the drive’s memory, referred to as “MotionView on Board” (MVOB); and one supplied as a PC-installed software package, referred to simply as MotionView. This manual describes the PC-installed MotionView software for PositionServo drives with P/N ending in EX or RX.
Page 294
Introduction Table 3a: Main Menu Text Pull-Down Folders Main Menu Node Project Tools View Help New configuration file New project Browse motor database Toolbar MotionView help Open configuration file Open project Clear output window Status Bar Product manuals Save configuration file Close project About MotionView Load configuration file...
Introduction 1.3.2 Program Toolbar To view the Program Toolbar, click on the [Indexer Program] folder in the Node Tree. Click anywhere inside the gray Indexer program in the right-hand parameter window to bring up the program toolbar. This paragraph contains a brief description of the programming tools: Compile, Load with Source, Run, Reset, Stop, Step Over, Step Into, Set Breakpoint and Remove Breakpoint.
Introduction 1.3.3 MotionView Studio - Indexer Program The MotionView Studio provides a tool suite used by MotionView to enter, compile, load and debug the user program. To view and develop the user program, select the [Indexer Program] folder in the Parameter (Node) Tree window. Once selected the program toolbar is displayed.
Introduction Stop program execution Select [Indexer Program] in the Node Tree. Select [Stop] on the program toolbar. The program will stop after completing the current statement. Select [Run] to resume the program from the same point. IMPORTANT! The [Stop] button only stops the execution of the program code. It does not stop motion or disable the drive.
Page 298
Introduction Basic Motion Program Select [Indexer program] from the Node Tree. The Parameter View window will display the current User Program stored in the drive. Note that if there is no valid program in the drive’s memory the program area will be empty. WARNING! This program will cause motion.
Page 299
Introduction The program has now been compiled without errors. Select [Compile & Load W Source] to load the program to the drive’s memory. Click [OK] to dismiss the dialog box. To Run the program, input A3 must be active to remove the hardware inhibit. Select the [Run] icon on the program toolbar.
Page 300
Introduction ;********************** Initialize and Set Variables *********************** UNITS = 1 ACCEL = 75 DECEL =75 MAXV = 10 ;V1 = ;V2 = ;********************** Events ********************************************* ;Set Events handling here ;No events are currently defined in this program ;********************** Main Program ************************************** RESET_DRIVE: ;Place holder for Fault Handler Routine...
Page 301
Introduction Motion source (Reference) The PositionServo can be set up to operate in one of three modes: Torque, Velocity, or Position. The drive must be given a command before it can initiate any motion. The source for commanding this motion is referred to as the “Reference”.
Page 302
Introduction Faults When a fault condition has been detected by the drive, the following actions will occur: Drive will Immediately be placed in a Disabled Condition. Motion Stack will be flushed of any Motion Commands Execution of the user program will be terminated and program control will be handed over to the Fault Handler section.
Page 303
Introduction With Fault Handler Add the following code to the end of your sample program. While the program is running, switch the ENABLE input IN_A3, to the off state. This will cause the drive to generate an F_36 fault (Drive Disabled) and put the drive into a Fault Mode.
Introduction Using Advanced Debugging Features To debug a program or view the I/O, open the Diagnostic window by clicking on the [Tools] in the Parmeter (Node) Tree list then click on the [Parameter & I/O View] button. The Diagnostic window will open. This window allows the programmer to monitor and set variables, and to view status of drive digital inputs and outputs.
Page 305
Introduction Digital Inputs The PositionServo has twelve digital inputs that are utilized by the drive for decision making in the User Program. Example uses: travel limit switches, proximity sensors, push buttons and hand shaking with other devices. Each input can be assigned an individual debounce time via MotionView. From the Parameter Tree, select [IO]. Then select the [Digital Input] folder.
Page 306
Introduction Read Digital Inputs The Pick and Place example program has been modified below to utilize the “WAIT UNTIL” inputs statements in place of the “WAIT TIME” statements. IN_A1 and IN_A4 will be used as proximity sensors to detect when the pick and place arm is extended and when it is retracted.
Page 307
Introduction Table 6: Bin Location, Inputs & Index Values Bin Location Input State INDEX Value Bin 1 Input B1 is made Bin 2 Input B2 is made Bin 3 Inputs B1 and B2 are made Bin 4 Input B3 is made Bin 5 Inputs B1 and B3 are made Bin 6...
Page 308
Introduction NOTE Any one of the 12 inputs can be assigned as a bit position within the INDEX variable. Only bits 0 through 7 can be used with the INDEX variable. Bits 8-31 are not used and are always set to 0. Unassigned bits in the INDEX variable are set to 0.
Introduction Figure 7: Digital IO Folder Events A Scanned Event is a small program that runs independently of the main program. An event statement establishes a condition that is scanned on a regular basis. Once established, the scanned event can be enabled and disabled in the main program.
Introduction ;*********************** Events ******************************************** EVENT SPRAY_GUNS_ON APOS>25 ;Event will trigger as position passes 25 in pos dir. OUT3=1 ;Turn on the spray guns (out 3 on) ENDEVENT ;End event EVENT SPRAY_GUNS_OFF APOS>75 ;Event will trigger as position passes 75 in pos dir. OUT3=0 ;Turn off the spray guns (out 3 off) ENDEVENT...
Introduction IF/ELSE example: This example checks the value of Variable V1. If V1 is greater than 3, then V2 is set to 1. If V1 is not greater than 3, then V2 is set to 0. IF V1>3 V2=1 ELSE V2=0 ENDIF Whether you are using an IF or IF/ELSE statement the construct must end with ENDIF keyword.
Introduction 1.10.1 Drive Operating Modes There are three modes of operation for the PositionServo: Torque, Velocity and Position. Torque and Velocity modes are generally used when the command reference is from an external device, (Ain). Position mode is used when the command comes from the drives User Program, or from an external device, encoder or a step and direction pulse.
Introduction Trapezoidal Move Profile Current accel value Top Velocity Triangular Move Profile Velocity Time Figure 10: Trapezoidal Move 1.10.3 Segment Moves MOVED and MOVEP commands facilitate simple motion to be commanded, but if the required move profile is more complex than a simple trapezoidal move, then the segment move MDV can be used. The profile shown in Figure 11 is divided into 8 segments or 8 MDV moves.
Introduction Here is the user program for the segment move example. The last segment move must have a “0” for the end velocity, (MDV 5 , 0). Otherwise, fault F_24 (Motion Queue Underflow), will occur. ;Segment moves LOOP: WAIT UNTIL IN_A4==0 ;Wait until input A4 is off before starting the move MDV 3 , 56 ;Move 3 units accelerating to 56 User Units per sec...
Introduction 1.10.5 S-Curve Acceleration Very often it is important for acceleration and deceleration of the motor to be as smooth as possible. For example, using a smooth acceleration/deceleration profile could minimize the wear and tear on a machine tool, smoothing the transition from accel/decel to steady state velocity.
Introduction ;**************************** Main Program ******************************** PROGRAM_START: ;Place holder for main program loop ENABLE ;Enable output from drive to motor WAIT UNTIL IN_A4==1 ;Make sure Arm is retracted before starting the program MOVEP 0 ;Move to position 0 to pick part OUT1 = 1 ;Turn on output 1 to extend Pick arm WAIT UNTIL IN_A1==1...
Page 318
Introduction 1.11.2 Loops SML language supports WHILE/ENDWHILE block statement which can be used to create conditional loops. Note that IF-GOTO statements can also be used to create loops. The following example illustrates calling subroutines as well as how to implement looping by utilizing WHILE / ENDWHILE statements.
Introduction Programming Program Structure One of the most important aspects of programming is developing the program’s structure. Before writing a program, first develop a plan for that program. What tasks must be performed? And in what order? What things can be done to make the program easy to understand and allow it to be maintained by others? Are there any repetitive procedures? Most programs are not a simple linear list of instructions where every instruction is executed in exactly the same order each time the program runs.
Page 320
Introduction Events - Define Event name, Trigger and Program Statements ;***************************** Events ************************************** EVENT SPRAY_GUNS_ON APOS > V1 ;Event will trigger as position passes 25 in pos dir. OUT3= Output_On ;Turn on the spray guns (out 3 on) ENDEVENT ;End event EVENT SPRAY_GUNS_OFF APOS >...
Programming The Events section contains all scanned events. Remember to execute the EVENT <eventname> ON statement in the main program to enable the events. Please note that not all of the SML statements are executable from within the EVENT body. For more detail, reference “EVENT” and “ENDEVENT” in Section 3 of the manual. The GOTO statement can not be executed from within the Event body.
Programming There are two types of variables in the PositionServo drive - User Variables and System Variables. User Variables are a fixed set of variables that the programmer can use to store data and perform arithmetic manipulations. All variables are of a single type. Single type variables, i.e. typeless variables, relieve the programmer of the task of remembering to apply conversion rules between types, thus greatly simplifying programming.
Programming Arithmetic Expressions Table 8 lists the four arithmetic functions supported by the Indexer program. Constants as well as User and System variables can be part of the arithmetic expressions. Examples. V1 = V1+V2 ;Add two user variables V1 = V1-1 ;Subtract constant from variable V2 = V1+APOS ;Add User and System (actual position) variables...
Programming 2.4.2 Boolean Operators Table 10 lists the boolean operators supported by the Indexer program. Boolean operators are used in logical expressions. Table 10: Supported Boolean Operators Operator Symbol && Examples: IF APOS >2 && APOS <6 || APOS >10 && APOS <20 {statements if true} ENDIF The above example checks if APOS (actual position) is within one of two windows;...
Programming System Variables and Flags System variables are variables that have a predefined meaning. They give the programmer/user access to drive parameters and functions. Some of these variables can also be set via the parameters in MotionView. In most cases the value of these variables can be read and set in your program or via a Host Interface.
Programming 2.7.2 Memory Access Through Special System Variables MEM_INDEX holds the value that will be read or written to the RAM file. MEM_INDEX points to the position in the RAM file (0 to 32767) and MEM_INDEX_INCREMENT holds the value that MEM_INDEX is going to modify after the read or write operation is completed.
Programming In the RAM memory access program example, the values of PE (position error) are stored sequentially in the RAM file every 100ms for 10 seconds. (100 samples). After collection is done the data is read from the file one by one and compared with limit.
Programming When retrieving data with MEMGET statements memory locations will be sequentially copied to variables starting from the one with smallest index in the list to the last with biggest index. Consider the list for the MEMGET statement: [V2,V3,V5-V7] RAM file memory Data1 Data2 Data3...
Programming Index Variable Access Variable Description Units PHCUR Motor phase current A(mpere) QDECEL Quick Deceleration for STOP MOTION QUICK statement User Units/Sec RPOS Registration position. Valid when system flag F_REGISTRATION set User Units RPOS_PLS Registration position Feedback Pls Commanded acceleration User units/Sec TPOS Theoretical/commanded position...
Programming Flag logic is shown herein. TPOS-INPOSLIM < APOS < TPOS+INPOSLIM && F_MCOMPLETE && F_MQUEUE_EMPTY F_IN_POSITION = TRUE ELSE F_IN_POSITION = FALSE ENDIF For VELOCITY mode F_MCOMPLETE and F_MQUEUE_EMPTY flags are ignored and assumed TRUE. Control Structures Control structures allow the user to control the flow of the program’s execution. Most of the power and utility of any programming language comes from its ability to change statement order with structure and loops.
Programming The flowchart and code segment in Figure 15 illustrate the syntax for the WHILE instruction. WHILE <condition> Start …statements ENDWHILE Is input A3 ON? …statements WHILE IN_A3 MOVED 3 Move DIstance 3 units. Delay 2 WAIT TIME 2000 seconds ENDWHILE …statements Figure 15: WHILE Code and Flowchart...
Programming 2.9.4 IF Structure The “IF” statement is used to execute an instruction or block of instructions one time if a condition is true. The simplified syntax for the IF statement is: IF condition …statement(s) ENDIF The flowchart and code segment in Figure 17 illustrate the use of the IF statement. Start …statements Input A2 ON?
Programming 2.9.6 WAIT Statement The WAIT statement is used to suspend program execution until or while a condition is true, for a specified time period (delay) or until motion has been completed. The simplified syntax for the WAIT statement is: WAIT UNTIL <condition>...
Page 334
Programming Scanned events may also be used with a timer to perform an action on the periodic time basis. The program statements contained in the action portion of the scanned event can be any legal program statement except the following statements: Subroutine calls (GOSUB), DO/WHILE, WHILE, WAIT, GOTO and also motion commands: MOVED,MOVEP, MDV, STOP, MOTION SUSPEND/RESUME.
Programming 2.11 Motion 2.11.1 How Moves Work The position command that causes motion to be generated comes from the profile generator or profiler for short. The profile generator is used by the MOVE, MOVED, MOVEP, MOVEPR, MOVEDR and MDV statements. MOVE commands generate motion in a positive or negative direction, while or until certain conditions are met.
Programming MOVE 1 MOVE 2 Velocity Velocity max velocity < 20 Velocity = 20 Time Time Move1- 4 units Move2 - 1.5 units Trapezoidal moves MOVE 3 MOVE 4 Velocity Velocity Velocity = 20 max velocity < 20 Time Time Move3- 4 units Move4 - 1.5 units S-curve moves...
Programming 2.11.5 Registration (MOVEDR MOVEPR) Moves MOVEPR and MOVEDR are used to move to position or distance respectively just like MOVEP and MOVED. The difference is that while the statements are being executed they are looking for a registration signal or registration input (C3).
Programming Po nt Point Point Point Point Point Point Point Point Distance (units) S824 Figure 20: MDV Segment Example Table 16 lists the supporting data for the graph in Figure 20. Table 16: MDV Segment Example Segment Number Distance moved during segment Velocity at the end of segment ;Segment moves 3 , 56...
Programming 2.11.8 S-curve Acceleration Instead of using a linear acceleration, the motion created using segment moves (MDV statements) can use S-curve acceleration. The syntax for MDV move with S-curve acceleration is: <distance>,<velocity>,S Segment moves using S-curve acceleration will take the same amount of time as linear acceleration segment moves. S-curve acceleration is useful because it is much smoother at the beginning and end of the segment, however, the peak acceleration of the segment will be twice as high as the acceleration used in the linear acceleration segment.
Programming 2.11.11 Motion Queue and Statement Execution while in Motion By default when the program executes a MOVE, MOVED or MOVEP statement, it waits until the motion is complete before going on to the next statement. This effectively will suspend the program until the requested motion is done. Note that “EVENTS”...
Page 341
Programming To Motion Profiler Queue Empty flag Queue locations MOVED 20 MDV 10,5 User Program MDV 20,5 MDV 10,0 {...Statements} ..MOVEP 0 MOVED 20,C MDV 10,5 EMPTY MDV 20,5 Queue INPUT pointer MDV 10,0 MOVEP 0,C Pointer alwayes positions to next ..
Programming 2.12 System Status Register (DSTATUS register) System Status Register, (DSTATUS), is a Read Only register. Its bits indicate the various states of the PositionServo’s subsystems as listed in Table 17. Some of the flags are available as System Flag Variables and summarized in Table13.
Programming Table 18: Encoding for Extended Status Bits (Variable #83 EXSTATUS): Bit # Function Comment Reserved Velocity in specified window Velocity in limits as per parameter #59: VAR_VLIMIT_SPEEDWND Reserved Velocity at 0 (zero) Velocity 0: Zero defined by parameter #58: VAR_VLIMIT_ZEROSPEED Reserved Bus voltage below under-voltage limit Utilized to indicate drive is operating from +24V keep alive and a valid DC bus voltage level is not present.
Programming 2.15 Homing 2.15.1 What is Homing? Predefined (firmware based) homing functionality is available on PositionServo drives with firmware 3.03 or later. In addition custom homing functionality can be created by the programmer within the user program by utilizing the programming command set available.
Programming 2.15.3 Home Offset The home offset is the difference between the zero position for the application and the machine home position (found during homing). During homing the home position is found and once the homing is completed the zero position is offset from the home position by adding the home offset to the home position.
Programming 2.15.8 Homing Method VAR_HOME_METHOD (#244) The Home Method establishes the method that will be used for homing. All supported methods are summarized in Table 22 and described in sections 2.15.9.1 through 2.15.9.25. These homing methods define the location of the home position.
Programming 2.15.9 Homing Methods There are several types of homing methods but each method establishes the: • Homing signal (positive limit switch, negative limit switch, home switch ,or index pulse) • Direction of actuation and, where appropriate, the direction of the index pulse. The homing method descriptions and diagrams in this manual are based on those in the CANopen Profile for Drives and Motion Control (DSP 402).
Programming 2.15.9.1 Homing Method 1: Homing on the Negative Limit Switch Using this method, the initial direction of movement is negative if the negative limit switch is inactive (here shown as low). The home position is at the first index pulse to the positive of the position where the negative limit switch becomes active.
Programming 2.15.9.3 Homing Method 3: Homing on the Positive Home Switch & Index Pulse Using this method the initial direction of movement is positive (if the homing switch is inactive). The home position is the first index pulse to the negative of the position where the homing switch becomes active. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Programming 2.15.9.5 Homing Method 5: Homing on the Negative Home Switch & Index Pulse Using this method the initial direction of movement is negative (if the homing switch is inactive). The home position is the first index pulse to the positive of the position where the homing switch becomes active. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Programming 2.15.9.7 Homing Method 7: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is positive (if the homing switch is inactive). The home position is the first index pulse to the negative of the position where the homing switch becomes active. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Programming 2.15.9.8 Homing Method 8: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is negative (if the homing switch is active). The home position is the first index pulse to the positive of the position where the homing switch becomes inactive. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Programming 2.15.9.9 Homing Method 9: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is positive. The home position is the first index pulse to the negative of the position where the homing switch becomes inactive on its negative edge. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Programming 2.15.9.10 Homing Method 10: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is positive. The home position is the first index pulse to the positive of the position where the homing switch becomes inactive. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Programming 2.15.9.11 Homing Method 11: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is negative (if the homing switch is inactive). The home position is the first index pulse to the positive of the position where the homing switch becomes active. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Programming 2.15.9.12 Homing Method 12: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is positive (if the homing switch is active). The home position is the first index pulse to the negative of the position where the homing switch becomes inactive. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Programming 2.15.9.13 Homing Method 13: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is negative. The home position is the first index pulse to the positive of the position where the homing switch becomes inactive on its positive edge. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Programming 2.15.9.14 Homing Method 14: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is negative. The home position is the first index pulse to the negative of the position where the homing switch becomes inactive. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Programming 2.15.9.15 Homing Method 17: Homing without an Index Pulse Method 17 is similar to method 1, except that the home position is not dependent on the index pulse but only on the negative limit switch translation. Using this method the initial direction of movement is negative. The home position is the leading edge of the Negative limit switch.
Programming 2.15.9.16 Homing Method 18: Homing without an Index Pulse Method 18 is similar to method 2, except that the home position is not dependent on the index pulse but only on the Positive limit switch translation. Using this method the initial direction of movement is positive. The home position is the leading edge of the Positive limit switch.
Programming 2.15.9.17 Homing Method 19: Homing without an Index Pulse Using this method the initial direction of movement is positive (if the homing switch is inactive). The home position is the leading edge of the homing switch. Axis will accelerate to fast homing velocity in the positive direction and continue until the homing switch is activated (rising edge) shown at position A.
Programming 2.15.9.18 Homing Method 21: Homing without an Index Pulse Using this method the initial direction of movement is negative (if the homing switch is inactive). The home position is the leading edge of the homing switch. Axis will accelerate to fast homing velocity in the negative direction and continue until the homing switch is activated (rising edge) shown at position A.
Programming 2.15.9.19 Homing Method 23: Homing without an Index Pulse Using this method the initial direction of movement is positive (if the homing switch is inactive). The home position is the leading edge of the homing switch. Axis will accelerate to fast homing velocity in the positive direction and continue until the homing switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Programming 2.15.9.20 Homing Method 25: Homing without an Index Pulse Using this method the initial direction of movement is positive. The home position is the negative edge of the homing switch. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Programming 2.15.9.21 Homing Method 27: Homing without an Index Pulse Using this method the initial direction of movement is negative. The home position is the negative edge of the homing switch. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Programming 2.15.9.22 Homing Method 29: Homing without an Index Pulse Using this method the initial direction of movement is negative (if the homing switch is inactive). The home position is the leading edge of the homing switch. Axis will accelerate to fast homing velocity in the negative direction and continue until the homing switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Programming 2.15.9.23 Homing Method 33: Homing to an Index Pulse Using this method the initial direction of movement is negative. The home position is the first index pulse to the negative of the shaft starting Position. Axis will accelerate to fast homing velocity in the negative direction and continue until the rising edge of the first index pulse (position 33) is detected.
Programming 2.15.10 Homing Mode Operation example The following steps are needed to execute the homing operation from the user program or under interface control. 1. Set Fast homing speed: Variable #242 2. Set Slow homing speed: Variable #243 3. Set Homing accel/decel: Variable #239 4.
Reference Reference Program Statement Glossary Each statement, system variable or operand is documented using the tabular format shown in Tables 23 and 24. The field label is still shown even if there is no information for a particular field. The individual program statements are listed in this section in alphabetical order with detailed descriptions in Tables 25 through 60.
Page 371
Reference Table 25: ASSIGN ASSIGN Assign Input As Index Bit Statement Purpose Assign keyword causes a specified input to be assigned to a particular bit of system variable INDEX. Up to 8 digital inputs can be assigned to the first eight bits (bits 0 - 7) of the INDEX system variable in any order or combination.
Page 372
Reference Table 26: DEFINE DEFINE Define name Pseudo-statement Purpose DEFINE is used to define symbolic names for User Variables, constants, and Digital I/O for programming convenience. Define statements greatly enhance program understanding by allowing the user to program using symbolic strings (names)relevant to their application. DEFINE can be used also to substitute a symbolic string.
Page 373
Reference Table 28: DO UNTIL DO UNTIL Do/Until Statement Purpose The DO / UNTIL statement is used to execute a statement or set of statements repeatedly until a logical condition becomes true. The Do / Until statements enclose the program code to be repeatedly executed with the UNTIL statement containing the logical statement for exit of the loop.
Page 374
Reference Table 31: EVENT EVENT Starts Event handler Statement Purpose EVENT keyword is used to create scanned events within the user program. Statement also sets one of 4 possible types of events. Syntax Any one of the 4 syntax examples herein may be used: EVENT <name>...
Page 375
Reference Table 32: ENDEVENT ENDEVENT END of Event handler Statement Purpose Indicates end of the scanned event code Syntax ENDEVENT Remarks See Also EVENT, EVENT ON, EVENT OFF EVENT InputRise IN_B4 RISE Example: V0=V0+1 ENDEVENT Table 33: EVENT ON/OFF EVENT ON/OFF Turn events on or off Statement Purpose...
Page 376
Reference Table 34: EVENTS ON/OFF EVENTS OFF/ON Globally Disables/enables events Statement Purpose EVENTS OFF command when executed will disable any events currently enabled (running). EVENTS ON Command re-enables any events previously disabled through the events off command. EVENTS ON is not a global enable of all declared events. Events status is indicated through bit #30 of the DSTATUS register or by system flag ‘F_EVENTSOFF’.
Page 377
Reference Table 36: GOSUB GOSUB Go To subroutine Statement Purpose GOSUB transfers control to subroutine. Syntax GOSUB <subname> <subname> a valid subroutine name Remarks After return from subroutine program resumes from next statement after GOSUB See Also GOTO, JUMP, RETURN Example: GOSUB CALCMOVE ;Go to CALCMOVE Subroutine...
Page 378
Reference Table 39: HOME HOME Execute homing routine Statement Purpose Used to initiate homing. Syntax HOME Remarks This statement is convenient when writing event driven programs. See Also Example: {Statements…} HOME ;initiate homing routine Table 40: ICONTROL ON/OFF ICONTROL ON/OFF Enables interface control Statement Purpose...
Page 379
Reference Table 41: IF IF/ENDIF Statement Purpose The IF statement tests for a condition and then executes the specific action(s) between the IF and ENDIF statements if the condition is found to be true. If the condition is false, no action is taken and the instructions following the ENDIF statement are executed.
Page 380
Reference Table 43: MDV Segment Move Statement Purpose MDV defines individual motion segment by specifying distance and final velocity (for each segment) in User Units. Acceleration (or deceleration) is calculated automatically based on these two parameters. This technique allows complicated moves to be created that consist of many segments. Each MDV sequence (series of MDV segments) starts and ends with a velocity of 0.
Page 381
Reference Table 45: MEMSET MEMSET Memory access statements MEMSET Statement Purpose MEMSET provides command for simplified storage of data to the drives RAM memory file through transfer of data from variables V0-V31. Using this statement any combinations of variables V0-V31 can be stored in the RAM file with a single statement.
Page 382
Reference Table 48: MOVE MOVE Move Statement Purpose MOVE UNTIL performs motion until condition becomes TRUE. MOVE WHILE performs motion while conditions stays TRUE. The statement suspends the programs execution until the motion is completed, unless the statement is used with C modifier. Syntax MOVE [BACK] UNTIL <condition>...
Page 383
Reference Table 50: MOVEDR MOVEDR Registered Distance Move Statement Purpose MOVEDR performs incremental motion, specified in User Units. If during the move the registration input becomes activated (goes high) then the current position is recorded, and the displacement value (the second argument in the MOVEDR statement) is added to this position to form a new target position.
Page 384
Reference Table 52: MOVEPR MOVEPR Registered Distance Move Statement Purpose MOVEPR performs absolute position moves specified in User Units. If during a move the registration input becomes activated, i.e., goes high, then the end position of the move is altered to a new target position.
Page 385
Reference Table 53: ON FAULT/ENDFAULT ON FAULT/ ENDFAULT Defines Fault Handler Statement Purpose This statement initiates the Fault Handler section of the User Program. The Fault Handler is a piece of code which is executed when a fault occurs in the drive. The Fault Handler program must begin with the “ON FAULT”...
Page 386
Reference Table 55: RESUME RESUME Resume Statement Purpose This statement redirects the code execution form the Fault Handler routine back to in the User Program. The specific line in the User Program to be directed to is called out in the argument <label> in the “RESUME”...
Page 387
Reference Table 57: SEND / SEND TO SEND/SEND TO Send network variable(s) Statement Purpose This statement is used to share the value of Network Variables between drives on an Ethernet network. Network Variables are variables NV0 through NV31. The variables to be sent out or synchronized with, are called out in the “SEND”...
Page 388
Reference Table 59: VELOCITY ON/OFF VELOCITY ON/OFF Velocity Mode Statement Purpose The VELOCITY ON statement enables velocity mode in the drive. The VELOCITY OFF statement disables velocity mode and returns drive to its default mode. (Default mode is Positioning). The velocity value for this mode is set by writing to the System Variable “VEL”.
Page 389
Reference Table 61: WHILE / ENDWHILE WHILE/ ENDWHILE While Statement Purpose The WHILE <expression> executes statement(s) between keywords WHILE and ENDWHILE repeatedly while the expression evaluates to TRUE. WHILE <expression> Syntax {statement(s)}… ENDWHILE Remarks WHILE block of statements has to end with ENDWHILE keyword. See Also DO/UNTIL Example:...
Reference Variable List Table 62 provides a complete list of the accessible PositionServo variables. These variables can be accessed from the user’s program or any supported communications interface protocol. From the user program, any variable can be accessed by either its variable name or by its index value (using the syntax: @<VARINDEX> , where <VARINDEX> is the variable index from Table 62).
Page 391
Reference Table 62: PositionServo Variable List Index Name Type Format EPM Access Description Units VAR_IDSTRING Drive’s identification string VAR_NAME Drive’s symbolic name VAR_SERIAL_NUMBER Drive’s serial number VAR_MEM_INDEX Position in RAM file (0 - 32767) VAR_MEM_VALUE Value to be read or written to the RAM file Holds value the MEM_INDEX will modify VAR_MEM_INDEX_INCREMENT once the R/W operation is complete...
Page 392
Reference Index Name Type Format EPM Access Description Units Enable switch function VAR_ENABLE_SWITCH_TYPE 0 - inhibit only 1 - Run VAR_CURRENTLIMIT Current limit [A]mp VAR_PEAKCURRENTLIMIT16 Peak current limit for 16kHz operation [A]mp VAR_PEAKCURRENTLIMIT Peak current limit for 8kHz operation [A]mp PWM frequency selection VAR_PWMFREQUENCY 0 - 16kHz...
Page 393
Reference Index Name Type Format EPM Access Description Units VAR_PI_LIMIT Position loop integral gain limit Short Name: PGAIN ILIM Range: 0 - 20000 VAR_SEI_GAIN Not Used Gains scaling coefficient VAR_VREG_WINDOW Range: -16 to +4 Software Enable/Disable VAR_ENABLE 0 - disable 1 - enable Drive’s reset (Disables drive, Stops running program if any, reset active fault)
Page 394
Reference Index Name Type Format EPM Access Description Units Use DHCP VAR_IP_DHCP 0-manual 1- use DHCP service VAR_AIN1 Analog Input AIN1 current value [V]olt Short Name: AIN1 VAR_AIN2 Analog Input AIN2 current value [V]olt Short Name: AIN2 VAR_BUSVOLTAGE Bus voltage [V]olt Heatsink temperature Returns: 0 - for temperatures <...
Page 395
Reference Index Name Type Format EPM Access Description Units Analog output function range: 0 - 8 0 - Not assigned 1 - Phase Current (RMS) 2 - Phase Current (Peak Value) 3 - Motor Velocity VAR_AOUT_FUNCTION 4 - Phase Current R 5 - Phase Current S 6 - Phase Current T 7 - Iq current...
Page 396
Reference Index Name Type Format EPM Access Description Units Writing value executes Move negative direction while input true (active). Value specifies input # VAR_MOVE_NWI1 0 - 3 : A1 -A4 4 - 7 : B1 - B4 8 - 11 : C1 - C4 Writing value executes Move negative direction while input false (not active).
Page 397
Reference Index Name Type Format EPM Access Description Units VAR_V20 User variable General purpose user defined variable Short Name: V20 VAR_V21 User variable Short Name: V21 General purpose user defined variable VAR_V22 User variable General purpose user defined variable Short Name: V22 VAR_V23 User variable General purpose user defined variable...
Page 398
Reference Index Name Type Format EPM Access Description Units VAR_NV2 User defined Network variable. Short Name: NV2 Variable can be shared across Ethernet network. VAR_NV3 User defined Network variable. Short Name: NV3 Variable can be shared across Ethernet network. VAR_NV4 User defined Network variable.
Page 399
Reference Index Name Type Format EPM Access Description Units VAR_NV29 User defined Network variable. Short Name: NV29 Variable can be shared across Ethernet network. VAR_NV30 User defined Network variable. Short Name: NV30 Variable can be shared across Ethernet network. VAR_NV31 User defined Network variable.
Page 400
Reference Index Name Type Format EPM Access Description Units VAR_APOS_PULSES Actual position in encoder pulses Short Name: APOS PLS VAR_POSERROR_PULSES Position error in encoder pulses Short Name: PERROR PLS VAR_CURRENT_VEL_PPS Set-point (target) velocity in PPS Set-point (target) acceleration (demanded VAR_CURRENT_ACCEL_PPSS PPSS value) value Input A1 de-bounce time in mS...
Page 401
Reference Index Name Type Format EPM Access Description Units VAR_RPOS Registration position Short Name: RPOS VAR_POS Target position Short Name: TPOS VAR_APOS Actual position Short Name: APOS VAR_POSERROR Position error Short Name: PERROR VAR_CURRENT_VEL Set-point (target) velocity (demanded value) UU/S Short Name: TV VAR_CURRENT_ACCEL Set-point (target) acceleration (demanded...
Page 402
Reference Index Name Type Format EPM Access Description Units CAN Bus Parameter: Baud Rate: 1 - 8 1 - 10k 2 - 20k 3 - 50k VAR_CAN_BAUD_EPM 4 - 125k 5 - 250k 6 - 500k 7 - 800k 8 - 1000k VAR_CAN_ADDR_EPM CAN Bus Parameter: Address: 1-127 CAN Bus Parameter: Boot-up Mode: 0 - 2...
Page 403
Reference Index Name Type Format EPM Access Description Units VAR_M_I2T Motor Indicates type of ABS encoder for models VAR_M_EABSOLUTE with ABS encoder support. Otherwise ignored Motor Encoder Feedback: B leads A VAR_M_ABSWAP 0 - No Action 1 - B leads A for forward checked (active) Motor Encoder Feedback: Halls VAR_M_HALLS_INVERTED 0 - No Action...
Reference Quick Start Examples Contained in the following four paragraphs are the connections and parameter settings to quickly setup a PositionServo drive for External Torque/Velocity, External Positioning, Internal Torque/Velocity and Internal Positioning modes. These Quick Start reference tables are NOT a substitute for reading the PositionServo User Manual. Observe all safety notices in the PositionServo User and Programming Manuals.
Page 405
Reference Table 64: Parameter Settings for External Torque/Velocity Mode MV Folder Sub-Folder Setting Parameters Parameter Name Description Drive Mode Set to [Torque] for Torque Mode; [Velocity] for Velocity Mode Analog Input (Current Scale) Torque Mode Only: Set to Required Amps per Volt Analog Input (Velocity Scale) Velocity Mode Only: Set to Required RPM per Volt Enable Accel/Decel Limits...
Page 407
Reference Table 66: Parameter Settings for External Positioning Mode MVOB Folder Sub-Folder Setting Parameters Parameter Name Description Drive Mode Set to [Position] for Position Mode Reference Set to [External] for external Position Mode Step Input Type Set to either [Step and Direction ] or [Master Encoder] to match the Position Controller System to Master Ratio Set Electronic Gear Ratio on Reference Signal to the PositionServo...
Page 408
Reference 3.3.3 Quick Start - Internal Torque/Velocity Table 67: Internal Torque/Velocity Mode Connections for Internal Torque/Velocity: I/O (P3) Variable References for Internal Torque/Velocity Name Function Index Name Description AIN2+ Positive (+) of Analog signal input VAR_ENABLE_SWITCH_TYPE Enable switch function: 0-inhibit only, 1- Run AIN2- Negative (-) of Analog signal input VAR_DRIVEMODE...
Page 409
Reference Example Internal Torque Program ;Program slowly increases Motor Torque until nominal motor current is reached VAR_DriveMode = 0 ;Set Drive to Torque mode VAR_Reference = 1 ;Set Reference to Internal control Program Start: IREF = 0 ;Reset Torque Reference to 0(Amps) Wait While !In_A3 ;Wait while Enable input is OFF Enable...
Page 410
Reference 3.3.4 Quick Start - Internal Positioning Table 68: Internal Positioning Connections: I/O (P3) Name Function IN_A_COM Digital input group A COM terminal IN_A1 Digital input A1 IN_A2 Digital input A2 IN_A3 Digital input A3 IN_A4 Digital input A4 IN_B_COM Digital input group B COM terminal IN_B1 Digital input B1...
Page 411
Reference PositionServo Reference Diagrams This section contains the process flow diagrams listed in Table 69. These diagrams are for reference only. Table 69: PositionServo Process Flow Diagrams Drawing # Description S999 Position and Velocity Regulator S1000 Motion Commands -> Motion Queue -> Trajectory Generator S1001 Current Command ->...
Page 419
Lenze AC Tech Corporation 630 Douglas Street • Uxbridge, MA 01569 • USA Sales 800 217 9100 • Service 508 278 9100 www.lenze-actech.com PM94P01C...
***************************** HEADER *************************************** ;Title: Pick and Place example program ;Author: Lenze - AC Technology ;Description: This is a sample program showing a simple sequence that picks up a part, moves to a set position and drops the part ;**************************** I/O List ************************************ Input A1 not used...
Page 421
Lenze AC Tech Corporation. The information and technical data in this manual are subject to change without notice. Lenze AC Tech Corporation makes no warranty of any kind with respect to this material, including, but not limited to, the implied warranties of its merchantability and fitness for a given purpose. Lenze AC Tech Corporation assumes no responsibility for any errors that may appear in this manual and makes no commitment to update or to keep current the information in this manual.
Page 422
Contents Introduction ..........................4 Definitions ..........................4 Programming Flowchart ......................5 MotionView / MotionView Studio ....................6 1.3.1 Main Toolbar ..........................6 1.3.2 Program Toolbar ........................7 1.3.3 MotionView Studio - Indexer Program ..................9 Programming Basics ......................10 Using Advanced Debugging Features ..................17 Inputs and Outputs .........................
Page 424
About These Instructions This documentation applies to the programming of the PositionServo drive with model numbers ending in S or M. This documentation should be used in conjunction with the PositionServo User Manual (Document S94H201) that shipped with the drive. These documents should be read in their entirety as they contain important technical data and describe the installation and operation of the drive.
Page 425
Introduction Introduction Definitions Included herein are definitions of several terms used throughout this programming manual and the PositionServo user manual. PositionServo: The PositionServo is a programmable digital drive/motion controller, that can be configured as a stand alone programmable motion controller, or as a high performance torque, velocity or position amplifier for centralized control systems.
Page 426
Introduction Programming Flowchart MotionView utilizes a BASIC-like programming structure referred to as SimpleMotion Programming Language (SML). SML is a quick and easy way to create powerful motion applications. With SML the programmer describes his system’s motion, I/O processing and process flow using the SML structured code.
Page 427
Introduction MotionView / MotionView Studio There are two versions of MotionView Software. The current version of MotionView resides inside the drive’s memory and is referred to as “MotionView on Board” or MVOB. Previous versions were supplied as a PC-installed software package and were referred to simply as MotionView.
Page 428
Introduction [Discover] button automatically discovers all drives on the network that are available for connection. Once drives have been discovered they are listed in the ‘Connect to drive’ list box. To connect one or more drives highlight their IP address in this window and press the [Connect] button. The [Ctrl] key on the keyboard can be used to select multiple drives for connection.
Page 429
Introduction Reload the text source file presently stored in the selected drive back into the MotionView Reload Indexer program folder. Export text source file (User program). Saves a copy of the program from the Indexer Export Program folder as a text file on the PC. Import text source file (User program).
Page 430
Introduction 1.3.3 MotionView Studio - Indexer Program The MotionView Studio provides a tool suite used by MotionView OnBoard to enter, compile, load and debug the user program. To view and develop the user program, select the [Indexer Program] folder in the Parameter (Node) Tree window.
Page 431
Introduction Set Breakpoint(s) in the program Select [Indexer Program] in the Parameter (Node) Tree. Place the cursor in the ‘Breakpoint’ Column next to the line number on which a breakpoint is to be added. Right-click and select Add Breakpoint (or Clear Breakpoint). A convenient way to debug a user program is to insert breakpoints at critical junctions throughout the program.
Page 432
Introduction Basic Motion Program Select [Indexer program] from the Parameter (Node) Tree. The Parameter View window will display the current User Program stored in the drive. Note that if there is no valid program in the drive’s memory the program editing window will be empty. WARNING! This program will cause motion.
Page 433
Introduction The program has now been compiled without errors. Select [Load W Source] to load the program to the drive’s memory. Click [OK] to dismiss the dialog box. To Run the program, input A3 must be active to remove the hardware inhibit. Select the [Run] icon on the program toolbar.
Page 434
Introduction ;********************** Initialize and Set Variables *********************** UNITS = 1 ACCEL = 75 DECEL =75 MAXV = 10 ;V1 = ;V2 = ;********************** Events ********************************************* ;Set Events handling here ;No events are currently defined in this program ;********************** Main Program ************************************** RESET_DRIVE: ;Place holder for Fault Handler Routine...
Page 435
Introduction Click [OK] to dismiss this dialog box. MotionView will then load the selected file to the drive. When complete, a second dialog box will appear indicating ‘indexer program compiled and downloaded successfully’. Click [OK] too clear this message. Load of the configuration file is now complete. Motion source (Reference) The PositionServo can be set up to operate in one of three modes: Torque, Velocity, or Position.
Page 436
Introduction When the “Enable switch function” parameter is set to Inhibit, and Input A3 is on, the drive will be disabled and remain disabled until the ENABLE statement is executed by the User Program. Select [IO] then [Digital IO] from the Parameter Tree Window. Select “Enable switch function”...
Page 437
Introduction With Fault Handler Add the following code to the end of your sample program. When the program is running, switch the ENABLE input IN_A3, to the off state. This will cause the drive to generate an F_36 fault ((Hardware disable while drive enabled in inhibit mode) and put the drive into a Fault Mode.
Page 438
Introduction Using Advanced Debugging Features To debug a program or view the I/O, open the Diagnostic panel by clicking on the [Tools] in the Parmeter (Node) Tree list then click on the [Parameter & I/O View] button. The Diagnostic panel will open. This panel allows the programmer to monitor and set variables, and to view status of drive digital inputs and outputs.
Page 439
Introduction Digital Inputs The PositionServo has twelve digital inputs that are utilized by the drive for decision making in the User Program. Example uses: travel limit switches, proximity sensors, push buttons and hand shaking with other devices. Each input can be assigned an individual debounce time via MotionView. From the Parameter Tree, select [IO]. Then select the [Digital Input] folder.
Page 440
Introduction Read Digital Inputs The Pick and Place example program has been modified below to utilize the “WAIT UNTIL” statement in place of the “WAIT TIME” statement. IN_A1 and IN_A4 will be used as proximity sensors to detect when the pick and place arm is extended and when it is retracted.
Page 441
Introduction Table 5: Bin Location, Inputs & Index Values Bin Location Input state INDEX Value Bin 1 Input B1 is made Bin 2 Input B2 is made Bin 3 Inputs B1 and B2 are made Bin 4 Input B3 is made Bin 5 Inputs B1 and B3 are made Bin 6...
Page 442
Introduction NOTE Any one of the 12 inputs can be assigned as a bit position within the INDEX variable. Only bits 0 through 7 can be used with the INDEX variable. Bits 8-31 are not used and are always set to 0. Unassigned bits in the INDEX variable are set to 0.
Page 443
Introduction Figure 7: Digital IO Folder Events A Scanned Event is a small program that runs independently of the main program. An event statement establishes a condition that is scanned on a regular basis. Once established, the scanned event can be enabled and disabled in the main program.
Page 444
Introduction ;************************** Events ************************************************ EVENT SPRAY_GUNS_ON APOS>25 ;Event will trigger as position passes 25 in pos dir. OUT3=1 ;Turn on the spray guns (out 3 on) ENDEVENT ;End event EVENT SPRAY_GUNS_OFF APOS>75 ;Event will trigger as position passes 75 in pos dir. OUT3=0 ;Turn off the spray guns (out 3 off) ENDEVENT...
Page 445
Introduction ;*************************** Initialize and Set Variables ****************************** UNITS = 1 ;Define units for program, 1=revolution of motor shaft ACCEL = 5 ;Set Acceleration rate for Motion command DECEL = 5 ;Set Deceleration rate for Motion command MAXV = 10 ;Maximum Velocity for Motion commands V1 = 25 ;Set Variable V1 equal to 25 V2 = 75...
Page 446
Introduction IF/ELSE example: This example checks the value of Variable V1. If V1 is greater than 3, then V2 is set to 1. If V1 is not greater than 3, then V2 is set to 0. IF V1>3 V2=1 ELSE V2=0 ENDIF Whether you are using an IF or IF/ELSE statement the construct must end with ENDIF keyword.
Page 447
Introduction 1.10.1 Drive Operating Modes There are three modes of operation for the PositionServo: Torque, Velocity and Position. Torque and Velocity modes are generally used when the command reference is from an external device (via analog input 1), however mechanisms also exist for operation in these modes from within the internal user program.
Page 448
Introduction Trapezoidal Move Profile Steady State Velocity Velocity (De ned by 'DECEL' variable) Acceleration Rate (De ned by 'ACCEL' variable) Triangular Move Pro le Deceleration Rate (Defined by 'DECEL' variable) Acceleration & Deceleration Rates Only (Defined by 'ACCEL' and 'DECEL' variables) Time Figure 10: Trapezoidal Move 1.10.3 Segment Moves...
Page 449
Introduction Here is the user program for the segment move example. The last segment move must have a “0” for the end velocity, (MDV 5 , 0). Otherwise, fault F_24 (Motion Queue Underflow), will occur. ;Segment moves LOOP: WAIT UNTIL IN_A4==0 ;Wait until input A4 is off before starting the move MDV 3 , 56 ;Move 3 units accelerating to 56 User Units per sec...
Introduction 1.10.5 S-Curve Acceleration/Deceleration It is often necessary, particularly for very dynamic applications, to smooth transition between periods of acceleration / deceleration and steady state velocity. A smoothing of this transition could improve the results of tuning and hence improve overall performance of the system. Additionally smoothing the ramp rates can have the effect of minimizing wear and tear on the system’s mechanical components.
Page 451
Introduction ;**************************** Main Program ******************************** WAIT UNTIL IN_A3 ;Make sure the Enable input is made before continuing ENABLE OUT1 = 0 ;Initialize Pick Arm - Place in Retracted Position WAIT UNTIL IN_A4==1 ;Check Pick Arm is in Retracted Position PROGRAM_START: MOVEP 0 ;Move to position 0 to pick part OUT1 = 1...
Page 452
Introduction 1.11.2 Loops SML language supports WHILE/ENDWHILE block statement which can be used to create conditional loops. Note that IF-GOTO and DO/UNTIL statements can also be used to create loops. The following example illustrates calling subroutines as well as how to implement looping by utilizing WHILE / ENDWHILE statements.
Page 453
Programming Programming Program Structure One of the most important aspects of programming is developing the program’s structure. Before writing a program, first develop a plan for that program. What tasks must be performed? And in what order? What things can be done to make the program easy to understand and allow it to be maintained by others? Are there any repetitive procedures? Most programs are not a simple linear list of instructions where every instruction is executed in exactly the same order each time the program runs.
Page 454
Programming Events - Define Event name, Trigger and Program Statements ;***************************** Events ************************************** EVENT SPRAY_GUNS_ON APOS > 25 ;Event will trigger as position passes 25 in pos dir. OUT3= Output_On ;Turn on the spray guns (out 3 on) ENDEVENT ;End event EVENT SPRAY_GUNS_OFF APOS >...
Page 455
Programming The Events section contains all scanned events. Remember to execute the EVENT <eventname> ON statement in the main program to enable the events. Please note that not all of the SML statements are executable from within the EVENT body. For more detail, reference “EVENT” and “ENDEVENT” in Section 3 of the manual. The GOTO statement can not be executed from within the Event body.
Programming There are two types of variables in the PositionServo drive - User Variables and System Variables. User Variables are a fixed set of variables that the programmer can use to store data and perform arithmetic calculations. All variables are of a single type. Single type variables, i.e. typeless variables, relieve the programmer of the task of remembering to apply conversion rules between types, thus greatly simplifying programming.
Page 457
Programming Arithmetic Expressions Table 7 lists the four arithmetic functions supported by the Indexer program. Constants as well as User and System variables can be part of the arithmetic expressions. Examples. V1 = V1+V2 ;Add two user variables V1 = V1-1 ;Subtract constant from variable V2 = V1+APOS ;Add User and System (actual position) variables...
Page 458
Programming 2.4.2 Boolean Operators Table 9 lists the boolean operators supported by the Indexer program. Boolean operators are used in logical expressions. Table 9: Supported Boolean Operators Operator Symbol && Examples: IF (APOS >2 && APOS <6) || (APOS >10 && APOS <20) {statements if true} ENDIF The above example checks if APOS (actual position) is within one of two windows;...
Page 459
Programming System Variables Storage Organization The PositionServo drive contains dual variable storage locations, the operational memory (RAM), that is the volatile operating memory, and the EPM memory, that is the non-volatile configuration memory. When the PositionServo is turned on it copies the retained settings from the EPM non-volatile memory into the RAM memory for use during program execution.
Page 460
Programming 2.7.2 Memory Access Through Special System Variables VAR_MEM_VALUE holds the value that will be read or written to the RAM file. VAR_MEM_INDEX points to the position in the RAM file (0 to 32767) that data will be read from or written to, and VAR_MEM_INDEX_INCREMENT holds the value that will be modified after the read or write operation is completed.
Page 461
Programming In the RAM memory access program example, the values of PE (position error) are stored sequentially in the RAM file every 100ms for 10 seconds. (100 samples). After collection is done the data is read from the file one by one and compared with limit value set.
Page 462
Programming When retrieving data with MEMGET statements memory locations will be sequentially copied to variables starting from the one with lowest index in the list to the last with highest index. Consider the list for the MEMGET statement: [V2, V5-V7, V3] RAM file memory Data1 Data2...
Page 463
Programming System Variables and Flags Summary 2.8.1 System Variables Section 3.2 provides a complete list of the system variables. Every aspect of the PositionServo can be controlled by the manipulation of the values stored in the System Variables. All System Variables start with a “VAR_” followed by the variable name.
Page 464
Programming Example: AOUT=100 , AOUT will be assigned value of 10. V0=236 VOUT=V0, VOUT will be assigned 10 and V0 will be unchanged. 2.8.2 System Flags Flags don’t have an Index number assigned to them. They are the product of a BIT mask applied to a particular system variable within the drive and are available to the programmer only from the User’s program.
Page 465
Programming Control Structures Control structures allow the user to control the flow of the program’s execution. Most of the control and flexibility of any programming language comes from its ability to change statement order with structure and loops. 2.9.1 IF Structure The flowchart and code segment in Figure 17 illustrate the use of the IF statement.
Page 466
Programming 2.9.2 DO/UNTIL Structure The flowchart and code segment in Figure 14 illustrate the use of the DO/UNTIL statement. This statement is used to execute a block of code one time and then continue executing that block until a condition becomes true (satisfied). The difference between DO/UNTIL and WHILE statements is that the DO/UNTIL instruction tests the condition after the block is executed so the conditional statements are always executed at least one time.
Page 467
Programming 2.9.5 GOTO Statement and Labels The GOTO statement can be used to transfer program execution to a section of the Main Program identified by a label. This statement is often executed conditionally based on the logical result of an If Statement. The destination label may be above or below the GOTO statement in the application program.
Page 468
Programming 2.10 Scanned Event Statements A Scanned Event is a small program that runs independently of the main program. SCANNED EVENTS are very useful when it is necessary to trigger an action (i.e. handle I/O) while the motor is in motion or other tasks within the Main Program are executing.
Page 469
Programming 2.11 Motion 2.11.1 How Moves Work The position command that causes motion to be generated comes from the profile generator or profiler for short. The profile generator is used by the MOVE, MOVED, MOVEP, MOVEPR, MOVEDR and MDV statements. MOVE commands generate motion in a positive or negative direction, while or until certain conditions are met.
Page 470
Programming MOVE 1 MOVE 2 Velocity Velocity Velocity Limit (20) Velocity Limit (20) Move 1: 4 Units Time Move 2: 1.5 units Time Trapezoidal moves MOVE 3 MOVE 4 Velocity Velocity Velocity Limit (20) Velocity Limit (20) Time Time Move 3: 4 units, with S-curve Move 4: 1.5 units, with S-curve S-curve moves Figure 19: Move Illustration...
Page 471
Programming 2.11.5 Registration (MOVEDR MOVEPR) Moves MovePR and MoveDR are move commands subject to (modified by) the drive registration input (C3) activating. They are defined as registration moves as their function is to capture a position based on a sensor input and then move to a subsequent position determined by the captured position plus an offset.
Page 472
Programming The profile shown in Figure 20 can be broken up into 8 MDV moves. The first segment defines the distance between point 1 and point 2 and the velocity at point 2. So, if the distance between point 1 and 2 was 3 units and the velocity at point 2 was 56 Units/S, the command would be: MDV 3 , 56.
Page 473
Programming 2.11.8 S-curve Acceleration/Deceleration Instead of using a linear acceleration/deceleration, the motion created using segment moves (MDV statements) can use S-curve acceleration/deceleration. The syntax for MDV move with S-curve acceleration/deceleration is: <distance>,<velocity>,S Segment moves using S-curve acceleration/deceleration will take the same amount of time as linear acceleration/ deceleration segment moves.
Page 474
Programming 2.11.11 Motion Queue and Statement Execution while in Motion By default when the program executes a MOVE, MOVED or MOVEP statement, it waits until the motion is complete before going on to the next statement. This effectively will suspend the program until the requested motion is complete. Note that “EVENTS”...
Page 475
Programming To Motion Profiler Queue Empty flag Queue locations MOVED 20 MDV 10,5 User Program MDV 20,5 MDV 10,0 {...Statements} ..MOVEP 0 MOVED 20,C MDV 10,5 EMPTY MDV 20,5 Queue INPUT pointer MDV 10,0 Pointer always positions MOVEP 0,C to next available location ..
Page 476
Programming 2.12 System Status Register (DSTATUS register) System Status Register, (DSTATUS), is a Read Only register. Its bits indicate the various states of the PositionServo’s subsystems. Some of the bits are available as System Flag Variables and previously summarized in Table 12. Table 16: DSTATUS Register Bit in register Description...
Page 477
Programming Table 17: Extended Status Bits (Variable #83 EXSTATUS) Bit # Function Comment Reserved Velocity in specified window Velocity in limits as per parameter #59: VAR_VLIMIT_SPEEDWND Reserved Velocity at 0 (zero) Velocity 0: Zero defined by parameter #58: VAR_VLIMIT_ZEROSPEED Reserved Utilized to indicate drive is operating from +24V keep alive and a valid DC Bus voltage below under-voltage limit bus voltage level is not present.
Page 478
Programming Fault Associated flags Description in status register Subroutine stack underflow. Executing RETURN statement without preceding call to subroutine. Variable evaluation stack overflow. Expression too complicated for compiler to process. Motion Queue overflow. 32 levels depth exceeded Motion Queue underflow. Last queued MDV statement has non 0 target velocity Unknown opcode.
Programming 2.15 Homing 2.15.1 What is Homing? Homing is the method by which a drive seeks the home position (also called the datum, reference point, or zero point). There are various methods of achieving this using: • limit switches at the ends of travel, or •...
Page 480
Programming 2.15.4 Homing Velocity There are two homing velocities: fast and slow. These velocity variables are used to find the home switch and to find the index pulse. How the two velocities are implemented within the homing routines depends on the homing routine selected.
Page 481
Programming 2.15.8 Homing Method VAR_HOME_METHOD (#244) The Home Method variable establishes the method that will be used for homing. All supported methods are summarized in Table 21 and described in sections 2.15.9.1 through 2.15.9.25. These homing methods define the required operation of the drive in location of the home position.
Page 482
Programming 2.15.9 Homing Methods There are several types of homing methods but each method establishes the: • Homing signal (positive limit switch, negative limit switch, home switch ,or index pulse) • Direction of actuation and, where appropriate, the direction of the index pulse. The homing method descriptions and diagrams in this manual are based on those in the CANopen Profile for Drives and Motion Control (DSP 402).
Page 483
Programming 2.15.9.1 Homing Method 1: Homing on the Negative Limit Switch & Index Pulse Using this method, the initial direction of movement is negative if the negative limit switch is inactive (here shown as low). The home position is at the first index pulse to the positive side of the position where the negative limit switch becomes active.
Page 484
Programming 2.15.9.3 Homing Method 3: Homing on the Positive Home Switch & Index Pulse Using this method the initial direction of movement is positive (if the homing switch is inactive). The home position is the first index pulse to the negative side of the position where the homing switch becomes active. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Page 485
Programming 2.15.9.5 Homing Method 5: Homing on the Negative Home Switch & Index Pulse Using this method the initial direction of movement is negative (if the homing switch is inactive). The home position is the first index pulse to the positive side of the position where the homing switch becomes active. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Page 486
Programming 2.15.9.7 Homing Method 7: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is positive (if the homing switch is inactive). The home position is the first index pulse to the negative side of the position where the homing switch becomes active. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Page 487
Programming 2.15.9.8 Homing Method 8: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is negative (if the homing switch is active). The home position is the first index pulse to the positive side of the position where the homing switch becomes inactive. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Page 488
Programming 2.15.9.9 Homing Method 9: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is positive. The home position is the first index pulse to the negative side of the position where the homing switch becomes inactive on its negative edge. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Page 489
Programming 2.15.9.10 Homing Method 10: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is positive. The home position is the first index pulse to the positive side of the position where the homing switch becomes inactive. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Page 490
Programming 2.15.9.11 Homing Method 11: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is negative (if the homing switch is inactive). The home position is the first index pulse to the positive side of the position where the homing switch becomes active. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Page 491
Programming 2.15.9.12 Homing Method 12: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is positive (if the homing switch is active). The home position is the first index pulse to the negative side of the position where the homing switch becomes inactive. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Page 492
Programming 2.15.9.13 Homing Method 13: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is negative. The home position is the first index pulse to the positive side of the position where the homing switch becomes inactive on its positive edge. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Page 493
Programming 2.15.9.14 Homing Method 14: Homing on the Home Switch & Index Pulse Using this method the initial direction of movement is negative. The home position is the first index pulse to the negative side of the position where the homing switch becomes inactive. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Page 494
Programming 2.15.9.15 Homing Method 17: Homing to Negative Limit Switch (without index pulse) Method 17 is similar to method 1, except that the home position is not dependent on the index pulse but only on the negative limit switch translation. Using this method the initial direction of movement is negative.
Page 495
Programming 2.15.9.16 Homing Method 18: Homing to Positive Limit Switch (without index pulse) Method 18 is similar to method 2, except that the home position is not dependent on the index pulse but only on the Positive limit switch translation. Using this method the initial direction of movement is positive.
Page 496
Programming 2.15.9.17 Homing Method 19: Homing to Homing Switch (without index pulse) Using this method the initial direction of movement is positive (if the homing switch is inactive). The home position is the leading edge of the homing switch. Axis will accelerate to fast homing velocity in the positive direction and continue until the homing switch is activated (rising edge) shown at position A.
Page 497
Programming 2.15.9.18 Homing Method 21: Homing to Homing Switch (without index pulse) Using this method the initial direction of movement is negative (if the homing switch is inactive). The home position is the leading edge of the homing switch. Axis will accelerate to fast homing velocity in the negative direction and continue until the homing switch is activated (rising edge) shown at position A.
Page 498
Programming 2.15.9.19 Homing Method 23: Homing to Homing Switch (without index pulse) Using this method the initial direction of movement is positive (if the homing switch is inactive). The home position is the leading edge of the homing switch. Axis will accelerate to fast homing velocity in the positive direction and continue until the homing switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Page 499
Programming 2.15.9.20 Homing Method 25: Homing to Homing Switch (without index pulse) Using this method the initial direction of movement is positive. The home position is the negative edge of the homing switch. Axis will accelerate to fast homing velocity in the positive direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Page 500
Programming 2.15.9.21 Homing Method 27: Homing to Homing Switch (without index pulse) Using this method the initial direction of movement is negative. The home position is the negative edge of the homing switch. Axis will accelerate to fast homing velocity in the negative direction and continue until Homing Switch (selectable via Var_Home_Switch_Input Variable) is deactivated (falling edge) shown at position A.
Page 501
Programming 2.15.9.22 Homing Method 29: Homing to Homing Switch (without index pulse) Using this method the initial direction of movement is negative (if the homing switch is inactive). The home position is the leading edge of the homing switch. Axis will accelerate to fast homing velocity in the negative direction and continue until the homing switch (selectable via Var_Home_Switch_Input Variable) is activated (rising edge) shown at position A.
Page 502
Programming 2.15.9.23 Homing Method 33: Homing to an Index Pulse Using this method the initial direction of movement is negative. The home position is the first index pulse to the negative side of the shaft starting Position. Axis will accelerate to fast homing velocity in the negative direction and continue until the rising edge of the first index pulse (position 33) is detected.
Page 503
Programming 2.15.10 Homing Mode Operation Example The following steps are needed to execute the homing operation from the user program or under interface control. 1. Set Fast homing speed: Variable #242 2. Set Slow homing speed: Variable #243 3. Set Homing accel/decel: Variable #239 4.
Page 504
Reference Reference Program Statement Glossary Each programming statement is documented using the tabular format shown in Tables 22 and 23. The individual program statements are listed in this section in alphabetical order with detailed descriptions in Tables 24 through 62. Table 22: Language Format KEYWORD Description...
Page 505
Reference Table 24: ASSIGN ASSIGN Assign Input As Index Bit Statement Purpose Assign keyword causes a specified input to be assigned to a particular bit of system variable INDEX. Up to 8 digital inputs can be assigned to the first eight bits (bits 0 - 7) of the INDEX system variable in any order or combination.
Page 506
Reference Table 25: DEFINE DEFINE Define name Pseudo-statement Purpose DEFINE is used to define symbolic names for User Variables, constants, and Digital I/O for programming convenience. Define statements greatly enhance program understanding by allowing the user to program using symbolic strings (names) relevant to their application. DEFINE can be used also to substitute a symbolic string.
Page 507
Reference Table 27: DO UNTIL DO UNTIL Do/Until Statement Purpose The DO / UNTIL statement is used to execute a statement or set of statements repeatedly until a logical condition becomes true. The Do / Until statements enclose the program code to be repeatedly executed with the UNTIL statement containing the logical statement for exit of the loop.
Page 508
Reference Table 30: EVENT EVENT Starts Event handler Statement Purpose EVENT keyword is used to create scanned events within the user program. Statement also sets one of 4 possible types of events. Syntax Any one of the 4 syntax examples herein may be used: EVENT <name>...
Page 509
Reference Table 31: ENDEVENT ENDEVENT END of Event handler Statement Purpose Indicates end of the scanned event code Syntax ENDEVENT Remarks See Also EVENT, EVENT ON/OFF, EVENTS ON/OFF EVENT InputRise IN_B4 RISE Example: V0=V0+1 ENDEVENT Table 32: EVENT ON/OFF EVENT ON/OFF Turn events on or off Statement Purpose...
Page 510
Reference Table 33: EVENTS ON/OFF EVENTS OFF/ON Globally Disables/re-enables events Statement Purpose EVENTS OFF command when executed will disable any events currently enabled (running). EVENTS ON Command re-enables any events previously disabled through the EVENTS OFF command. EVENTS ON is not a global enable of all declared events. Events status is indicated through bit #30 of the DSTATUS register or by system flag ‘F_EVENTSOFF’.
Page 511
Reference Table 35: GOSUB GOSUB Go To subroutine Statement Purpose GOSUB transfers control to subroutine. Syntax GOSUB <subname> <subname> a valid subroutine name Remarks After return from subroutine program resumes from next statement after GOSUB See Also GOTO, JUMP, RETURN Example: GOSUB CALCMOVE ;Go to CALCMOVE Subroutine...
Page 512
Reference Table 38: HOME HOME Execute homing routine Statement Purpose Used to initiate homing. Syntax HOME Remarks Homing is initiated from the user program using the ‘HOME’ command. The HOME command is a blocking instruction that prevents further execution of the Main Program until homing operation is completed.
Page 513
Reference Table 40: IF IF/ENDIF Statement Purpose The IF statement tests for a condition and then executes the specific action(s) between the IF and ENDIF statements if the condition is found to be true. If the condition is false, no action is taken and the instructions following the ENDIF statement are executed.
Page 514
Reference Table 42: LOADVARS LOADVARS EPM access statements LOADVARS Statement Purpose LOADVARS is the command to retrieve the values of the user variables (V0-V31) from the drive’s EPM. Using this statement any combinations of variables V0-V31 can be retrieved from the EPM with a single statement.
Page 515
Reference Table 44: MEMGET MEMGET Memory access statements MEMGET Statement Purpose MEMGET provides command for simplified retrieval of data from the drives RAM memory file through transfer of data to the variables V0-V31. Using this statement any combinations of variables V0-V31 can be retrieved from the RAM file with a single statement.
Page 516
Reference Table 47: MOTION SUSPEND MOTION SUSPEND Suspend Statement Purpose This statement is used to temporarily suspend execution of motion. The Motion Suspend command does not flush the Motion Queue of any accumulated motion commands but will suspended further motion until the Motion Resume command is processed. If this statement is executed while a motion profile is already being processed, then the motion will not be suspended until after the completion of of the current motion profile.
Page 517
Reference Table 49: MOVED MOVED Move Distance Statement Purpose MOVED performs incremental motion (distance) specified in User Units. This statement will suspend the program’s execution until the motion is completed, unless the statement is used with the “C” modifier. If the “S”...
Page 518
Reference Table 51: MOVEP MOVEP Move to Position Statement Purpose MOVEP performs motion to a specified absolute position in User Units. This statement will suspend the program’s execution until the motion is completed unless the statement is used with the “C” modifier. If the “S”...
Page 519
Reference Table 53: ON FAULT/ENDFAULT ON FAULT/ Defines Fault Handler Statement ENDFAULT Purpose This statement defines the Fault Handler section of the User Program. The Fault Handler is a section of code which is executed when a fault occurs in the drive. The Fault Handler program must begin with the “ON FAULT”...
Page 520
Reference Table 55: RESUME RESUME Resume Statement Purpose This statement redirects the code execution form the Fault Handler routine back to in the User Program. The specific line in the User Program to be directed to is called out in the argument <label> of the “RESUME”...
Page 521
Reference Table 57: SEND / SEND TO SEND/SEND TO Send network variable(s) Statement Purpose This statement is used to share the value of Network Variables between drives on an Ethernet network. Network Variables are variables NV0 through NV31. The variables to be sent out or synchronized between drives, are called out in the “SEND”...
Page 522
Reference Table 59: STOREVARS STOREVARS EPM access statements STOREVARS Statement Purpose STOREVARS is the command to store the values of the user variables (V0-V31) to the drive’s EPM. Using this statement any combinations of variables V0-V31 can be stored to the EPM with a single statement.
Page 523
Reference Table 61: WAIT WAIT Wait Statement Purpose This statement suspends the execution of the program until logical condition or conditions are met. Conditions can include logical expressions, time expiration, or completion of motion commands. Syntax WAIT UNTIL <expression> wait until expression becomes TRUE WAIT WHILE <expression>...
Page 524
Reference Variable List Table 63 provides a complete list of the accessible PositionServo variables. These variables can be accessed from the user’s program or any supported communications interface protocol. From the user program, any variable can be accessed by either its variable name or by its index value (using the syntax: @<VARINDEX> , where <VARINDEX> is the variable index from Table 63).
Page 525
Reference Table 63: PositionServo Variable List Index Name Type Format Access Description Units VAR_IDSTRING Drive’s identification string VAR_NAME Drive’s symbolic name VAR_SERIAL_NUMBER Drive’s serial number VAR_MEM_INDEX Position pointer in RAM file (0 - 32767) VAR_MEM_VALUE Value to be read or written to the RAM file Holds value the MEM_INDEX will increment VAR_MEM_INDEX_INCREMENT once the R/W operation is complete...
Page 526
Reference Index Name Type Format Access Description Units Enable switch function VAR_ENABLE_SWITCH_TYPE 0 - inhibit only 1 - Run VAR_CURRENTLIMIT Current limit [A]mp VAR_PEAKCURRENTLIMIT16 Peak current limit for 16kHz operation [A]mp VAR_PEAKCURRENTLIMIT Peak current limit for 8kHz operation [A]mp PWM frequency selection VAR_PWMFREQUENCY 0 - 16kHz 1 - 8kHz...
Page 527
Reference Index Name Type Format Access Description Units VAR_SEI_GAIN Not used Gains scaling coefficient VAR_VREG_WINDOW Range: -16 to +4 Software Enable/Disable VAR_ENABLE 0 - disable 1 - enable Drive reset. Disables drive, halts program execution, reset active fault VAR_RESET 0 - no action 1 - reset drive VAR_STATUS Drive’s status register...
Page 528
Reference Index Name Type Format Access Description Units Use DHCP VAR_IP_DHCP 0-manual 1- use DHCP service VAR_AIN1 Analog Input AIN1 current value [V]olt Short Name: AIN1 VAR_AIN2 Analog Input AIN2 current value [V]olt Short Name: AIN2 VAR_BUSVOLTAGE Bus voltage current value [V]olt Heatsink temperature Returns: 0 - for temperatures <...
Page 529
Reference Index Name Type Format Access Description Units Analog output function range: 0 - 8 0 - Not assigned 1 - Phase Current (RMS) 2 - Phase Current (Peak Value) 3 - Motor Velocity VAR_AOUT_FUNCTION 4 - Phase Current R 5 - Phase Current S 6 - Phase Current T 7 - Iq current...
Page 530
Reference Index Name Type Format Access Description Units Writing value executes Move negative direction while input true (active). Value specifies input # VAR_MOVE_NWI1 0 - 3 : A1 -A4 4 - 7 : B1 - B4 8 - 11 : C1 - C4 Writing value executes Move negative direction while input false (not active).
Page 531
Reference Index Name Type Format Access Description Units VAR_V21 User variable Short Name: V21 General purpose user defined variable VAR_V22 User variable Short Name: V22 General purpose user defined variable VAR_V23 User variable Short Name: V23 General purpose user defined variable VAR_V24 User variable Short Name: V24...
Page 532
Reference Index Name Type Format Access Description Units VAR_NV4 User defined Network variable. Short Name: NV4 Variable can be shared across Ethernet network. VAR_NV5 User defined Network variable. Short Name: NV5 Variable can be shared across Ethernet network. VAR_NV6 User defined Network variable. Short Name: NV6 Variable can be shared across Ethernet network.
Page 533
Reference Index Name Type Format Access Description Units VAR_NV31 User defined Network variable. Short Name: NV31 Variable can be shared across Ethernet network. VAR_SERIAL_ADDRESS RS485 drive ID. Range: 0 - 254 Baud rate for ModBus operations: 2 - 9600 3 - 19200 VAR_MODBUS_BAUDRATE 4 - 38400 5 - 57600...
Page 534
Reference Index Name Type Format Access Description Units VAR_CURRENT_VEL_PPS Set-point (target) velocity in PPS Set-point (target) acceleration (demanded VAR_CURRENT_ACCEL_PPSS PPSS value) value Input A1 de-bounce time in mS VAR_IN0_DEBOUNCE Range: 0 - 1000 Input A2 de-bounce time in mS VAR_IN1_DEBOUNCE Range: 0 - 1000 Input A3 de-bounce time in mS VAR_IN2_DEBOUNCE...
Page 535
Reference Index Name Type Format Access Description Units VAR_APOS Actual position Short Name: APOS VAR_POSERROR Position error Short Name: PERROR VAR_CURRENT_VEL Set-point (target) velocity (demanded value) UU/S Short Name: TV VAR_CURRENT_ACCEL Set-point (target) acceleration (demanded UU/S Short Name: TA value) Target position advance.
Page 536
Reference Index Name Type Format Access Description Units CAN Bus Parameter: Baud Rate: 1 - 8 1 - 10k 2 - 20k 3 - 50k VAR_CAN_BAUD_EPM 4 - 125k 5 - 250k 6 - 500k 7 - 800k 8 - 1000k VAR_CAN_ADDR_EPM CAN Bus Parameter: Address: 1-127 CAN Bus Parameter: Boot-up Mode: 0 - 2...
Page 537
Reference Index Name Type Format Access Description Units Initiate / accept drive motor parameters entered in motor data PIDs. Motor parameters are variables whose VAR_M_VALIDATE_MOTOR identifier starts with VAR_M_xxxxxx 0 - No Action 1 - Validate Motor Data VAR_M_I2T Not used Indicates type of ABS encoder for models VAR_M_EABSOLUTE with ABS encoder support.
Page 538
Reference Index Name Type Format Access Description Units Datalink “B” for output assembly VAR_CIP_LINK_B_OUT_CTRL (Refer to Ethernet/IP manual for details) Datalink “C” for output assembly VAR_CIP_LINK_C_OUT_CTRL (Refer to Ethernet/IP manual for details) Datalink “D” for output assembly VAR_CIP_LINK_D_OUT_CTRL (Refer to Ethernet/IP manual for details) Data format control for Ethernet/IP VAR_CIP_DAT_REG_CTRL assemblies...
Page 539
Reference Index Name Type Format Access Description Units NOTE: PIDs 283 - 309 are for REFERENCE ONLY. These variables are set through MotionView. Do NOT use directly. PBUS_ADDR Profibus address Number of Profibus Data Out channels PBUS_DOUT_SIZE Range: 0 - 12 Number of Profibus Data In channels PBUS_DIN_SIZE Range: 0 - 12...
Page 540
Reference Index Name Type Format Access Description Units VAR_RPDO_5_COM VAR_RPDO_6_COM VAR_RPDO_7_COM VAR_RPDO_8_COM VAR_RPDO_1_MAP1 RPDO Mapping VAR_RPDO_1_MAP2 VAR_RPDO_1_MAP3 VAR_RPDO_1_MAP4 VAR_RPDO_2_MAP1 VAR_RPDO_2_MAP2 VAR_RPDO_2_MAP3 VAR_RPDO_2_MAP4 VAR_RPDO_3_MAP1 VAR_RPDO_3_MAP2 VAR_RPDO_3_MAP3 VAR_RPDO_3_MAP4 VAR_RPDO_4_MAP1 VAR_RPDO_4_MAP2 VAR_RPDO_4_MAP3 VAR_RPDO_4_MAP4 VAR_RPDO_5_MAP1 VAR_RPDO_5_MAP2 VAR_RPDO_5_MAP3 VAR_RPDO_5_MAP4 VAR_RPDO_6_MAP1 VAR_RPDO_6_MAP2 VAR_RPDO_6_MAP3 VAR_RPDO_6_MAP4 VAR_RPDO_7_MAP1 VAR_RPDO_7_MAP2 VAR_RPDO_7_MAP3 VAR_RPDO_7_MAP4 VAR_RPDO_8_MAP1...
Page 541
Reference Index Name Type Format Access Description Units VAR_TPDO_7_COM VAR_TPDO_8_COM VAR_TPDO_1_MAP1 TPDO Mapping VAR_TPDO_1_MAP2 VAR_TPDO_1_MAP3 VAR_TPDO_1_MAP4 VAR_TPDO_2_MAP1 VAR_TPDO_2_MAP2 VAR_TPDO_2_MAP3 VAR_TPDO_2_MAP4 VAR_TPDO_3_MAP1 VAR_TPDO_3_MAP2 VAR_TPDO_3_MAP3 VAR_TPDO_3_MAP4 VAR_TPDO_4_MAP1 VAR_TPDO_4_MAP2 VAR_TPDO_4_MAP3 VAR_TPDO_4_MAP4 VAR_TPDO_5_MAP1 VAR_TPDO_5_MAP2 VAR_TPDO_5_MAP3 VAR_TPDO_5_MAP4 VAR_TPDO_6_MAP1 VAR_TPDO_6_MAP2 VAR_TPDO_6_MAP3 VAR_TPDO_6_MAP4 VAR_TPDO_7_MAP1 VAR_TPDO_7_MAP2 VAR_TPDO_7_MAP3 VAR_TPDO_7_MAP4 VAR_TPDO_8_MAP1 VAR_TPDO_8_MAP2 VAR_TPDO_8_MAP3...
Page 542
Reference Index Name Type Format Access Description Units VAR_TPDO_7_COM_ET VAR_TPDO_8_COM_ET VAR_TPDO_1_COM_IT VAR_TPDO_2_COM_IT VAR_TPDO_3_COM_IT VAR_TPDO_4_COM_IT VAR_TPDO_5_COM_IT VAR_TPDO_6_COM_IT VAR_TPDO_7_COM_IT VAR_TPDO_8_COM_IT CAN Heartbeat rate (0x1017) VAR_CAN_HEARTBEAT Range: 0 - 65335 milliseconds VAR_PBUS_STATUS PROFIBUS Status VAR_PBUS_MASTER_TIMEOUT_VAL Timeout Value for PROFIBUS master Data Exchange Timeout for PROFIBUS VAR_PBUS_DATA_EXCHANGE_TIMEOUT Range: 0 - 327680 milliseconds VAR_PTC_RX...
Page 543
Reference Quick Start Examples Contained in the following four sections are the connections and parameter settings to quickly setup a PositionServo drive for External Torque/Velocity, External Positioning, Internal Torque/Velocity and Internal Positioning modes. These Quick Start reference tables are NOT a substitute for reading the PositionServo User Manual. Observe all safety notices in the PositionServo User and Programming Manuals.
Page 544
Reference Table 65: Parameter Settings for External Torque/Velocity Mode MVOB Folder Sub-Folder Setting Parameters Parameter Name Description Drive Mode Set to [Torque] for Torque Mode; [Velocity] for Velocity Mode Analog Input (Current Scale) Torque Mode Only: Set to Required Amps per Volt Analog Input (Velocity Scale) Velocity Mode Only: Set to Required RPM per Volt Enable Accel/Decel Limits...
Page 546
Reference Table 67: Parameter Settings for External Positioning Mode MVOB Folder Sub-Folder Setting Parameters Parameter Name Description Drive Mode Set to [Position] for Position Mode Reference Set to [External] for external Position Mode Step Input Type Set to either [Step and Direction ] or [Master Encoder] to match the Position Controller System to Master Ratio Set Electronic Gear Ratio for Reference Signal to the PositionServo...
Page 547
Reference 3.3.3 Quick Start - Internal Torque/Velocity Table 68: Internal Torque/Velocity Mode Connections for Internal Torque/Velocity: I/O (P3) Variable References for Internal Torque/Velocity Name Function Index Name Description AIN2+ Positive (+) of Analog signal input VAR_ENABLE_SWITCH_TYPE Enable switch function: 0-inhibit only, 1- Run AIN2- Negative (-) of Analog signal input VAR_DRIVEMODE...
Page 548
Reference Example Internal Torque Program ;Program slowly increases Motor Torque until nominal motor current is reached VAR_DriveMode = 0 ;Set Drive to Torque mode VAR_Reference = 1 ;Set Reference to Internal control Program Start: IREF = 0 ;Reset Torque Reference to 0(Amps) Wait While !In_A3 ;Wait while Enable input is OFF Enable...
Page 549
Reference 3.3.4 Quick Start - Internal Positioning Table 69: Internal Positioning Connections: I/O (P3) Name Function IN_A_COM Digital input group A COM terminal IN_A1 Digital input A1 IN_A2 Digital input A2 IN_A3 Digital input A3 IN_A4 Digital input A4 IN_B_COM Digital input group B COM terminal IN_B1 Digital input B1...
Page 550
Reference Example Internal Positioning Program ;********************************************** HEADER ********************************************** ;Title: Pick and Place example program ;Author: 940 Product Management ;Description: This is a sample program that shows a simple application that picks up a part moves to a set position and drops the part ;******************************************** I/O List ********************************************...
Page 551
Reference PositionServo Reference Diagrams This section contains the process flow diagrams listed in Table 70. These diagrams are for reference only. Table 70: PositionServo Process Flow Diagrams Drawing # Description S999 Position and Velocity Regulator S1000 Motion Commands -> Motion Queue -> Trajectory Generator S1001 Current Command ->...
Page 555
Reference Analog Inputs PM94H201B_13xxxxxx_EN...
Page 556
Reference Analog Output PM94H201B_13xxxxxx_EN...
Page 557
Reference Digital Inputs PM94H201B_13xxxxxx_EN...
Page 558
Reference Digital Outputs PM94H201B_13xxxxxx_EN...
Page 559
Lenze AC Tech Corporation 630 Douglas Street • Uxbridge, MA 01569 • USA Sales 800 217 9100 • Service 508 278 9100 www.lenzeamericas.com PM94201B...
Page 560
Dynamic Link Library (DLL ) Communication Reference Guide P94DLL01A...
Page 561
About These Instructions This documentation applies to the implementation of DLL with the PositionServo drive and should be used in conjunction with the PositionServo User Manual (S94P01) that shipped with the drive. These documents should be read carefully as they contain important technical data and describe the installation and opera- tion of the drive.
Page 562
Table of Contents Safety Information ................4 Warnings, Cautions & Notes ..............4 Reference Documents .................5 PositionServo DLL Overview ............. 6 Files in the DLL Library ..............6 Communication Flowchart ..............7 DLL Functions Overview ..............8 Return Codes ................8 DLL Functions Usage Examples ............
Safety Information Warnings, Cautions & Notes General Some parts of Lenze controllers (frequency inverters, servo inverters, DC controllers) can be live, with the potential to cause attached motors to move or rotate. Some surfaces can be hot. Non-authorized removal of the required cover, inappropriate use, and incorrect installation or operation creates the risk of severe injury to personnel or damage to equipment.
Operation Systems including controllers must be equipped with additional monitoring and protection devices accord- ing to the corresponding standards (e.g. technical equipment, regulations for prevention of accidents, etc.). You are allowed to adapt the controller to your application as described in the standards documentation. DANGER! •...
PositionServo DLL Overview This reference guide assumes that the reader has a working knowledge of DLL protocol and familiarity with the programming and operation of motion control equipment. This guide is intended as a reference only. PositionServo Communication Dynamic-link Library (DLL) provides a set of functions to control, configure and monitor PositionServo drives over Ethernet, RS-485 or RS- interfaces.
Communication Flowchart The flowchart in Figure 1 provides the instructions of how to use DLL functions for communication over Ethernet or serial communications ports. Begin Ethernet Ethernet or Serial Port Communication? Serial Port Unknown Drive’s Symbolic Name Known? Execute function: SS940_EnableSerialInterface Known Execute function:...
DLL Functions Overview Every aspect of the PositionServo drive can be manipulated by writing or reading the variable(s) inside the drive. All variables are addressable by their respective index number. See the full list of variables in the Appendix A “Complete list of variables” in PositionServo Model Programming Manual (Document No PM94P01).
DLL Functions All functions in the DLL library are described in detail in paragraphs 8.1 “Connection Services Functions” and 8. “Data Manipulation Functions”. Connection Services Functions There are six DLL Connection Service functions applicable to the PositionServo drive. The function names are identified by bold italic text.
long SS940_CloseInterface ( SHANDLE handle ) Purpose: To close the communication interface to device with the specific handle. to the previously opened interface by the function SS940_OpenInterfaceB. Inputs: handle Return: error code long SS940_FindByName ( char* name, BYTE* ip_address, BYTE* ser_num, int timeout ) Purpose: To find PositionServo drives on the network by their names and retrieve their IP addresses and serial address numbers.
Page 570
long SS940_GetParamAsDouble ( SHANDLE h, int pid, double& param ) Purpose: To read a RAM (run time) variable as a DOUBLE type with index specified by pid and return it in argument parameter. handle to interface opened by the function SS940_OpenInterfaceB Inputs: variable (parameter) index Returns:...
Page 571
long SS940_SetParamAsDouble ( SHANDLE h, int pid, double param ) Purpose: To write the RAM (run time) variable as a DOUBLE type with index specified by pid and return it in argument parameter. handle to interface opened by the function SS940_OpenInterfaceB Inputs: variable (parameter) index Returns:...
Page 572
long SS940_SetArrayAsDouble ( SHANDLE h, long* pids, double* params, int count ) Purpose: To write the RAM (run time) array of variables (up to 10 variables) as a DOUBLE type with in- dexes specified by elements of array pids and return it in array parameter. handle to interface opened by the function SS940_OpenInterfaceB Inputs: pids...
Page 573
AC Technology Corporation www.actech.com 60 Douglas Street Uxbridge, MA 01569 Telephone: (508) 78-9100 Facsimile: (508) 78-787 P94DLL01A...
Page 574
CANopen Communication Module Communications Interface Reference Guide P94CAN01B...
Page 575
CAN Bus High Shield CAN H CAN Bus High No connection Addendum ADPS01D June 2009 Lenze AC Tech Corporation • 630 Douglas Street • Uxbridge MA 01569 • USA • Sales (800) 217-9100 • Service (508) 278 9100 • www.lenze-actech.com...
Page 576
About These Instructions This documentation applies to the optional CANopen Communication Module for the PositionServo drive and should be used in conjunction with the PositionServo User Manual (S94P01) that shipped with the drive. These documents should be read carefully as they contain important technical data and describe the installation and operation of the drive and this option module.
Page 578
Control Loops ..........................51 Control Loop Configuration ....................51 7.1.1 Nested Control Loops ........................51 7.1. The Position Loop ..........................5 7.1. The Velocity Loop ..........................5 7.1.4 The Current Loop ...........................54 Position Loop Configuration Objects .................. 55 Velocity Loop Configuration Objects .................. 59 Current Loop Configuration Objects ...................
Safety Information Warnings, Cautions & Notes General Some parts of Lenze controllers (frequency inverters, servo inverters, DC controllers) can be live, with the potential to cause attached motors to move or rotate. Some surfaces can be hot. Non-authorized removal of the required cover, inappropriate use, and incorrect installation or operation creates the risk of severe injury to personnel or damage to equipment.
Page 580
The standards documentation contains information about installation in compliance with EMC (shielding, grounding, filters and cables). These notes must also be observed for CE-marked controllers. The manufacturer of the system or machine is responsible for compliance with the required limit values demanded by EMC legislation.
Reference Documents • CAN and CANopen Specifications: “CAN in Automation (CiA)”; visit: http://www.can-cia.de/ • PositionServo Programming Manual: PM94P01; Refer to: http://www.actech.com • PositionServo User Manual: S94P01; Refer to: http://www.actech.com • MotionView Software Manual: IM94MV01; Refer to: http://www.actech.com Conventions for Object Descriptions In this manual, object descriptions are as illustrated in the sample below.
Commonly Used Terms, Acronyms & Definitions Control Area Network CANopen Communication protocol to open and communicate with the Control Area Network CAN-based Message Specification COB-ID Communication Object Identifier Communication Profile Cyclic Redundancy Check Device Configuration File: an ASCII file containing a description of the object configuration of an individual device Device Profile: defines the OD objects for a particular type of device Electronic Data Sheet:...
Installation Mechanical Installation Install the CAN Communications Module as illustrated in Figure 1. Disconnect power from drive and wait minutes. Remove the two COMM module screws that secure Option Bay 1. With a flat head screwdriver, pry up the Option Bay 1 cover plate. Install the CAN COMM Module (E94ZACAN1) in Option Bay 1.
Electrical Installation Table 1 and Figure illustrate the pinout of the PositionServo CAN Module connector. This connector provides -wire plus isolated ground connection to the network. Table 1: CAN Bus Interface Pin Assignments Terminal Name Description ICOM Isolated Common CAN L CAN Bus Low CAN H...
Introduction This reference guide assumes that the reader has a working knowledge of CANopen protocol and familiarity with the programming and operation of motion control equipment. This guide is intended as a reference only. The optional CANopen communication module (P/N E94ZACAN1) is required for the PositionServo drive to communicate on a CAN network.
Master Controller Module CANopen CAN Network CANopen CANopen Module Module PositionServo Drive PositionServo Drive . . . to 127 nodes Sensor Sensor Motor Motor Node 1 Node 2 Figure 5: CANopen Network Bit Number Function Code Node-ID Figure 6: 11-bit CAN Identifier Example of a CANopen Move Sequence: •...
Page 587
• CAN Boot Up Mode Pre-Operational, Operational or Pseudo Master modes are available after power up. • Pre-Operational default mode for CAN Open slave. Drive will await message from master to enter Operational mode • Operational drive will enter Operational mode immediately after power up without receiving activation message from master.
NOTE: 1. The user program is disabled while in CAN control mode and attempting to access it will result in a warning message. The program however is not erased from the memory and will be made available for execution upon return from CANopen mode ([CAN Control] set to Disable). .
Page 589
CAN Message ID Every CAN message has a CAN message ID. The message ID plays two important roles: • It provides the criteria by which the message is accepted or rejected by a node. • It determines the message’s priority. CAN Message Priority The priority of a CAN message is encoded in the message ID.
The organization of the dictionary is specified in the profiles, as shown herein. Index Range Objects 0000 not used 0001-001F Static Data Types 000-00F Complex Data Types 0040-005F Manufacturer Specific Complex Data Types 0060-007F Device Profile Specific Static Data Types (including those specific to motion control) 0080-009F Device Profile Specific Complex Data Types (including those specific to motion control) 00A0-0FFF...
The Communication Profile requires the support of at least one SDO per device. (Without an SDO, there would be no way to access the object dictionary.) It also specifies default parameters for four PDOs. AC Tech CANopen amplifiers each support 1 SDO and 16 PDOs (eight transmit PDOs and eight receive PDOs). 3.4.2 SDOs: Description and Examples Each PositionServo amplifier provides one SDO.
Segmented, Expedited and Block Transfers As in the example above, most SDO transfers consist of an initial transfer request from the client, followed by series of confirmed eight-byte messages. Each message contains one byte of header information and a segment (up to seven bytes long) of the data being transferred. For the transfer of short blocks of data (four bytes or less), the Communication Profile specifies an expedited SDO method.
Page 593
Default PDO Mappings The Profile for Drives and Motion Control specifies default mappings for the first eight transmit PDOs and the first eight receive PDOs. AC Tech CANopen amplifiers are shipped with these default PDO mappings. These default PDO mappings can be re-mapped by the programmer. Mappable Objects Not all objects in a device’s object dictionary can be mapped to a PDO.
Here are some other examples: • On the device designated as the SYNC message and time stamp producer, map a transmit PDO to transmit the high-resolution time stamp message on a periodic basis. Map receive PDOs on other devices to receive this object.
To Map a Receive PDO The general procedure for mapping a receive PDO is listed in Table 4. The procedure for mapping a transmit PDO is similar. Table 4: Mapping a Receive PDO Stage Step Sub-Steps / Comments Disable the PDO In the PDO’s mapping object (Receive PDO Mapping Parameters, index 0x1601), set the sub-index 0 (NUMBER OF MAPPED OBJECTS) to zero.
Page 596
Object Index Sub-Index RECEIVE PDO COMMUNICATION PARAMETERS 0x1200 Type Access Units Range Map PDO Memory Record Description These objects allow configuration of the communication parameters of each receive PDO. Subindex 0 contains the number of sub-elements of this record. Object Index Sub-Index PDO COB-ID...
Page 597
Object Index Sub-Index Number of Mapped Objects 0x1600 – 7 Type Access Units Range Map PDO Memory Unsigned 8 0 - 8 Description This value gives the total number of objects mapped to this PDO. It can be set to 0 to disable the PDO operation and must be set to 0 before changing the PDO mapping.
Page 598
Object Index Sub-Index PDO Type 0x1800 – 7 Type Access Units Range Map PDO Memory Unsigned 8 Refer to Description EVENT Description This object identifies which events trigger a PDO transmission: Code Behavior The PDO is transmitted on the next SYNC message following a PDO event. See PDO Events, below, for a description of a PDO event. 1-40 The PDO is transmitted every N SYNC messages, where N is the PDO type code.
Network Management This chapter describes the messages, methods, and objects used to manage devices on a CANopen network. Network Management Overview Network Management Objects Network Management Overview This section describes the objects, messages, and methods used to control the CANopen network. 4.1.1 Network Management Services and Objects Network management services on the CANopen network include device state control, device monitoring,...
State Control Messages NMT messages can be used to control state changes on network devices. The following NMT messages are sent by the network manager to control these state changes. Each of these messages can be either sent to a single node (by node ID), or broadcast to all nodes: NMT Message Cause/Effect...
4.1.4 Time Stamp PDOs The device designated as the time stamp producer should have a transmit PDO mapped for the high-resolution time stamp message. This PDO should be configured for synchronous transmission, based on the SYNC message. It is recommended to send this message approximately every 100 milliseconds. Every other device (all time stamp consumers) should have a receive PDO mapped for the high resolution time stamp message.
Network Management Objects This section describes objects closely related to network management. They include: COB-ID SYNC MESSAGE INDEX 0X1005 PRODUCER HEARTBEAT TIME INDEX 0X1017 EMERGENCY OBJECT ID INDEX 0X1014 EMERGENCY OBJECT ID INHIBIT TIME INDEX 0X1015 Object Index Sub-Index COB-ID SYNC MESSAGE 0X1005 Type Access...
Device Configuration and Control through Native Variables List Native Control Objects to Access Drive Variables Native Control Every aspect of the PositionServo can be manipulated by writing or reading the drive’s internal variable(s). All variables are addressed by their respective index number. Variables are listed in the “complete list of variables” in the PositionServo Programmer’s Manual.
Object Index Sub-Index RAM VARIABLES 0X3000-0X33FF Type Access Units Range Map PDO Memory Float Description Objects in this range: • Write corresponding internal drive’s RAM and EPM copies of the variables as Integer values. • Read corresponding internal drive’s EPM copies of the variables as Integer values Object Index to access particular variable calculated as: Object Index = 0x000 + VarID, where: VarID is the variable ordinal index from the variable table.
Page 605
Control Word (0x6040) Digital Device Control Function Block Fault Operation Mode State Machine Homing; Modes of Operation (0x6060) Profile Position; Profile Velocity; Current; Voltage Status Word (0x6041) Figure 8: Control and Status Words Operation Modes As mentioned elsewhere in this manual, AC Tech CANopen amplifiers support these operation modes: •...
Quick Stop Active The drive parameters may be changed. The quick stop function is being executed. The drive function is enabled and power is applied to the motor. If the ‘Quick-Stop- Option-Code’ is switched to 5 (Stay in Quick-Stop), the amplifier cannot exit the Quick-Stop-State, but can be transmitted to ‘Operation Enable’...
Page 607
State Changes Diagram Legend From State To State Event/Action Startup Not Ready to Switch On Event: Reset. Action: The drive self-tests and/or self-initializes Not Ready to Switch On Switch On Disabled Event: The drive has self-tested and/or initialized successfully. Action: Activate communication and process data monitoring Switch On Disabled Ready to Switch On Event: ‘Shutdown’...
Device Control and Status Objects This section describes the objects used to control the status of an amplifier including: CONTROL WORD INDEX 0X6040 STATUS WORD INDEX 0X6041 QUICK STOP OPTION CODE INDEX 0X605A SHUTDOWN OPTION CODE INDEX 0X605B DISABLE OPERATION OPTION CODE INDEX 0X605C MODE OF OPERATION INDEX 0X6060...
Page 609
Object Index Sub-Index QUICK STOP OPTION CODE 0X605A Type Access Units Range Map PDO Memory Unsigned 16 Refer to Description Description This object defines the behavior of the amplifier when a quick stop command is issued. The following values are defined: Value Description Disable the amplifier’s outputs...
Page 610
Object Index Sub-Index MODE OF OPERATION DISPLAY 0X6061 Type Access Units Range Map PDO Memory Unsigned 8 Refer to Description Description This object displays the current mode of operation. Refer to Mode of Operation (index 0x6060, paragraph 6., page 5). Object Index Sub-Index...
Object Index Sub-Index EXTENDED STATUS REGISTER 0X2053 Type Access Units Range Map PDO Memory Unsigned Refer to Description Description This -bit object is a bit-mapped extended status register with the following fields: Bit in register Description DSP subsystem in run mode Velocity in specified velocity window Registration input detected DSP system in fault state...
Page 612
Object Index Sub-Index NUMBER OF ERRORS 0X1003 Type Access Units Range Map PDO Memory Unsigned 8 0 - 8 Description This object provides the number of errors in the error history (number of sub-index objects 1-8). Writing a 0 deletes the error history (empties the array).
Page 613
Object Index Sub-Index FAULT STATUS 0X2009 Type Access Units Range Map PDO Memory Unsigned Refer to Description Description This object allows latching fault conditions to be viewed. When the object is read, any set bit will indicate a latching fault condition: Fault ID Associated Flags* Description...
Basic Amplifier Configuration Objects Objects described in this section provide access to basic amplifier parameters. They include: DEVICE TYPE INDEX 0X1000 DEVICE NAME INDEX 0X1008 HARDWARE VERSION STRING INDEX 0X1009 SOFTWARE VERSION NUMBER INDEX 0X100A IDENTITY OBJECT INDEX 0X1018 VENDOR ID INDEX 0X1018 SUB-INDEX 1 PRODUCT CODE...
Page 615
Object Index Sub-Index DEVICE NAME 0X1008 Type Access Units Range Map PDO Memory Visible String Description An ASCII string which gives the amplifier’s model number. Object Index Sub-Index HARDWARE VERSION STRING 0X1009 Type Access Units Range Map PDO Memory String Const Description Describes amplifier hardware version.
Page 616
Object Index Sub-Index REVISION NUMBER 0X1018 Type Access Units Range Map PDO Memory Unsigned Description Identifies the revision of the CANopen interface. Object Index Sub-Index SERIAL NUMBER 0X1018 Type Access Units Range Map PDO Memory Unsigned Description Identifies the amplifier’s serial number. Object Index Sub-Index...
Page 617
Object Index Sub-Index SUPPORTED DRIVE MODES 0X6502 Type Access Units Range Map PDO Memory Unsigned Refer to Description Description This bit-mapped value gives the modes of operation supported by the amplifier. The standard device profile (DSP40) defines several modes of operation.
Page 618
Object Index Sub-Index AMPLIFIER SERIAL NUMBER 0X6510 Type Access Units Range Map PDO Memory Integer Description Gives the amplifier serial number. Object Index Sub-Index AMPLIFIER BUILD AND DATE CODE NUMBER 0X6510 Type Access Units Range Map PDO Memory Visible String Description This ASCII string gives the manufacturing build code.
Page 619
Object Index Sub-Index AMPLIFIER MINIMUM VOLTAGE 0X6510 Type Access Units Range Map PDO Memory Integer 16 0.1 V Description Minimum bus voltage rating for amplifier in 0.1-volt units. Over-voltage hysteresis for amplifier in 0.1-volt units. Object Index Sub-Index AMPLIFIER MAXIMUM TEMPERATURE 0X6510 Type Access...
Basic Motor Configuration Objects Objects described in this section provide access to basic motor parameters. They include: MOTOR MODEL NUMBER INDEX 0X640 MOTOR MANUFACTURER INDEX 0X6404 MOTOR DATA INDEX 0X6410 MOTOR TYPE INDEX 0X6410 SUB-INDEX 1 MOTOR TYPE INDEX 0X6410 SUB-INDEX SYMBOLIC MOTOR MODEL INDEX 0X6410...
Page 621
Object Index Sub-Index MOTOR DATA 0X6410 Type Access Units Range Map PDO Memory Record Description This record holds a variety of motor parameters. Note that all motor parameters are stored to non-volatile memory on the amplifier. The programmed values are preserved across power cycles. Sub-index 0 contains the number of sub-elements of this record. Object Index Sub-Index...
Page 622
Object Index Sub-Index FEEDBACK CONFIGURATION 0X6410 Type Access Units Range Map PDO Memory Integer 16 Refer to Description Description Describes motor’s feedback device configuration data as follows: Value Description reserved encoder feedback resolver feedback Absolute encoder (BiSS, SPI) Absolute encoder (EnDat) Absolute encoder (HyperFace) Object Index...
Page 623
Object Index Sub-Index MOTOR INERTIA 0X6410 Type Access Units Range Map PDO Memory Integer 0.000001 kg / cm 0 -,147,48,647 Description M_JM - kg / m^ Value in * 10e - gives kg/m^ - write to PID Motor inertia in units of 0.000001 kg / cm. Object Index Sub-Index...
Page 624
Object Index Sub-Index MOTOR MAX VELOCITY 0X6410 Type Access Units Range Map PDO Memory Integer 16 1 RPM 0 - ,767 Description M_MAXVELOCITY -> direct Motor maximum velocity in RPM. Object Index Sub-Index MOTOR POLES 0X6410 Type Access Units Range Map PDO Memory Integer 16...
Control Loops This chapter describes the nested control loop model used by AC Tech amplifiers to control the position of the motor. Control Loop Configuration Position Loop Configuration Objects Velocity Loop Configuration Objects Current Loop Configuration Objects Control Loop Configuration This section provides an overview of the control loops.
Page 626
Basic Attributes of All Control Loops These loops (and servo control loops in general) share several common attributes including command input, limits, feedback, gain and outputs. Loop Attribute Description Command Input Every loop is given a value which it will attempt to control. For example, the velocity loop receives a velocity demand that is the desired motor speed.
Page 627
Position Loop Gains The following gains are used by the position loop to calculate the output value: PP, PI, PL, and PD. Gain Description PP - Position loop proportional The loop calculates its position error as the difference between the Position Actual Value and the Position Demand Value.
Page 628
Velocity Loop Gains The velocity loop uses the following gains. Refer to the Velocity Loop Gains object (index 0x60F9, paragraph 7., page 60). Gain Name Description Velocity loop proportional The velocity error (the difference between the actual and the limited commanded velocity) is multiplied by this gain.
Position Loop Configuration Objects This section describes the objects used to configure the position control loop. POSITION DEMAND VALUE INDEX 0X606 POSITION ACTUAL VALUE INDEX 0X606 POSITION ACTUAL VALUE INDEX 0X6064 FOLLOWING ERROR WINDOW INDEX 0X6065 FOLLOWING ERROR TIME INDEX 0X6066 POSITION WINDOW INDEX 0X6067 ACTUAL VELOCITY...
Page 630
Object Index Sub-Index POSITION ACTUAL VALUE 0X6064 Type Access Units Range Map PDO Memory Integer encoder counts Description This object holds the same value as Position Actual Value object (index 0x606). Object Index Sub-Index FOLLOWING ERROR WINDOW 0X6065 Type Access Units Range...
Page 631
Object Index Sub-Index ACTUAL VELOCITY 0X606C Type Access Units Range Map PDO Memory Integer 0.1 enc counts / sec Description This object contains exactly the same information as object 0x6069. Object Index Sub-Index FOLLOWING ERROR 0X60F4 Type Access Units Range Map PDO Memory...
Page 632
Object Index Sub-Index POSITION LOOP INTEGRAL GAIN LIMIT 0X60FB Type Access Units Range Map PDO Memory Integer 16 0 –000 Description This value limits influence of the integral gain (object 0x60FB sub index .) term. This value internaly scaled to 1/000 meaning that 000 would represent 100% of the term influence.
Velocity Loop Configuration Objects This section describes the objects used to configure the velocity control loop including: VELOCITY LOOP MAXIMUM ACCELERATION INDEX 0X44C VELOCITY LOOP MAXIMUM DECELERATION INDEX 0X44D VELOCITY LIMITS ENABLED INDEX 0X04B ANALOG INPUT VELOCITY SCALE INDEX 0X44 PROGRAMMED VELOCITY INDEX 0X48B VELOCITY LOOP GAINS...
Object Index Sub-Index PROGRAMMED VELOCITY 0X248B Type Access Units Range Map PDO Memory Float -50 to +50 Description Gives the commanded velocity value when running in velocity follower mode (Operating mode= -) Object Index Sub-Index VELOCITY LOOP GAINS 0X60F9 Type Access Units Range...
Page 635
Object Index Sub-Index USER PEAK CURRENT LIMIT16 0X241F Type Access Units Range Map PDO Memory Float Amps (RMS) 0 – 50 Description Specifies a peak current limit in phase Amps (RMS) when drive PWM carrier frequency is set to 16kHz Object Index Sub-Index...
Non Profiled Operating Modes This chapter describes the operation of an amplifier in non-profiles modes such as velocity follower and current follower. Contents include: Current Follower Mode Velocity Follower Mode Current Follower Mode Current follower mode is set by setting the Mode of Operation object (index 0x6060, paragraph 6., page 5) to -1.
Page 637
9.1.1 Homing Overview What is Homing? Homing is the method by which a drive seeks the home position (also called the datum, reference point, or zero point). There are various methods of achieving this using: • limit switches at the ends of travel, or •...
9.1.2 Homing Methods There are several homing methods, each supported by objects described later in this chapter. Each method establishes the: • Homing signal (positive limit switch, negative limit switch, home switch) • Direction of actuation and, where appropriate, the position of the index pulse. Legend to Homing Method Descriptions Homing method descriptions and diagrams in this manual are based on those in theCANopen Profile for Drives and Motion Control (DSP 40).
9.1.4 Homing Method 2: Homing on the Positive Limit Switch Using this method the initial direction of movement is rightward if the positive limit switch is inactive (here shown as low). The position of home is at the first index pulse to the left of the position where the positive limit switch becomes inactive.
9.1.6 Homing Methods 5 and 6: Homing on the Negative Home Switch and Index Pulse Using methods 5 or 6, the initial direction of movement depends on the state of the home switch. The home position is at the index pulse to either to the left or the right of the point where the home switch changes state. If the initial position is located so that the direction of movement must reverse during homing, the point at which the reversal takes place is anywhere after a change of state of the home switch.
Figure 19 illustrates a homing sequence on the home switch and index pulse with a negative initial move. Method 11 - 14: Homing on the Home Switch & Index Pulse with a Negative Initial Move Index Pulse Home Switch Negative Limit Switch Figure 19: Homing on the Home Switch &...
9.1.11 Homing Methods 31 and 32: Reserved Homing methods 1 and are reserved for future use. 9.1.12 Homing Methods 33 and 34: Homing on the Index Pulse Using methods or 4 the direction of homing is negative or positive respectively. The home position is at the index pulse found in the selected direction.
Homing Mode Operation Objects This section describes the objects that control the operation of the amplifier in homing mode. They include: HOMING METHOD INDEX 0X6098 HOMING SPEEDS INDEX 0X6099 HOME VELOCITY – FAST INDEX 0X6099 SUB-INDEX 1 HOME VELOCITY – SLOW INDEX 0X6099 SUB-INDEX HOMING ACCELERATION...
Page 644
Object Index Sub-Index HOMING SPEEDS 0X6099 Type Access Units Range Map PDO Memory Array Description This array holds the two velocities used when homing. Sub-index 0 contains the number of subelements of this record. Object Index Sub-Index HOME VELOCITY – FAST 0X6099 Type Access...
Profile Position and Profile Velocity Mode Operation This chapter describes the operation of an amplifier in profile position and profile velocity modes. Contents include: 10.1 Profile Position Mode Operation 10. Profile Velocity Mode Operation 10.1 Profile Position Mode Operation Overview This section provides an overview of profile position mode operation.
Relative vs. Absolute Moves In a relative move, the target position is added to the instantaneous commanded position, and the result is the destination of the move. In an absolute move, the target position is offset from the home position.The instantaneous commanded position (called the demand position in the CANopen specification) is the output of the trajectory generator.
Velocity Position Figure 4: One Continuous Profile The Profile for Drives and Motion Control refers to this method as the “set of setpoints” method. AC Tech CANopen amplifiers allow use of this method with trapezoidal or S-curve types of moves. 10.1.3 Point-to-Point Move Parameters and Related Data Move Parameters Each point-to-point move is controlled by a set of parameters, accessed through the following objects.
Page 648
Move-Related Control Word and Status Word Bit Settings An amplifier’s Control Word (index 0x6040) and Status Word (index 0x6041) play an important role in the initiation and control of point-to-point move sequences, as described herein. Object Name Object ID Bit# Bit Name Description Control Word...
10.1.4 Point-To-Point Move Sequence Examples Figures 5 and 6 illustrate how to perform: • A series of moves treated as a Series of Discrete Profiles • A series of trapezoidal or S-curve position multi-segment moves treated as One Continuous Profile Clear Control Word bit 5 Action done by CANopen Master...
Clear Control Word bit 5 Action done by CANopen Master Action done by Set More Parameters Set Profile Type Amplifier (Drive) Control Word bit 4 Set to 0 Status Word bit 12 Wait until Cleared Set Control Word bit 4 (to 1) Amplifier sees bit 4: 0 ->...
10.3 Profile Position, Profile Velocity Mode Objects. This section describes the objects that control the operation of the amplifier in profile position mode. They include: TARGET POSITION INDEX 0X607A PROFILE VELOCITY INDEX 0X6081 TARGET VELOCITY INDEX 0X60FF PROFILE ACCELERATION INDEX 0X608 PROFILE DECELERATION INDEX 0X6084 QUICK STOP DECELERATION...
Page 652
Object Index Sub-Index PROFILE ACCELERATION 0X6083 Type Access Units Range Map PDO Memory Integer 10 encoder cnts/sec 0 -00,000,000 Description In profile position mode, this value (specified in units of 10 encoder counts / second ) is the acceleration that the trajectory generator attempts to achieve.
Page 653
Object Index Sub-Index MOTION PROFILE TYPE 0X6086 Type Access Units Range Map PDO Memory Integer 16 Refer to Description Description Type of trajectory profile to use when running in profile position mode. Supported values are: Mode Description Trapezoidal profile mode. S-curve profile mode.
Page 654
AC Technology Corporation www.actech.com 60 Douglas Street Uxbridge, MA 01569 Telephone: (508) 78-9100 Facsimile: (508) 78-787 P94CAN01B...
Page 655
PositionServo CANopen Communication Module Communications Interface Reference Guide...
Lenze AC Tech Corporation. The information and technical data in this manual are subject to change without notice. Lenze AC Tech Corporation makes no warranty of any kind with respect to this material, including, but not limited to, the implied warranties of its merchantability and fitness for a given purpose. Lenze AC Tech Corporation assumes no responsibility for any errors that may appear in this manual and makes no commitment to update or to keep current the information in this manual.
Page 658
Contents CANopen Object Dictionary ..................................14 What is the CANopen Object Dictionary? ..........................14 5.1.1 Object Format ..............................14 5.1.2 Object Dictionary Layout ...........................14 5.1.3 Accessing the Object Dictionary ........................15 Communication Profile Area ..............................15 5.2.1 Device Type ..............................16 5.2.2 Error Register ..............................16 5.2.3 Pre-defined Error Field............................16 5.2.4...
Page 659
Contents Process Data Objects ..................................... 29 What are Process Data Objects? ............................29 PDO Configuration in MotionView ............................29 7.2.1 COB ID and Mode .............................29 7.2.2 Transmission Type ............................30 7.2.3 Event Time ...............................31 7.2.4 Inhibit Time ..............................31 Mapping PDOs ..................................32 7.3.1 Amount and Size of PDOs ..........................32 7.3.2 Receive (Rx) PDOs ............................32 7.3.3...
Safety Information Safety Information Warnings, Cautions and Notes 1.1.1 General Some parts of Lenze controllers (frequency inverters, servo inverters, DC controllers) can be live, moving and rotating. Some surfaces can be hot. Non-authorized removal of the required cover, inappropriate use, and incorrect installation or operation creates the risk of severe injury to personnel or damage to equipment.
Safety Information 1.1.4 Electrical Connection When working on live drive controllers, applicable national regulations for the prevention of accidents (e.g. VBG 4) must be observed. The electrical installation must be carried out in accordance with the appropriate regulations (e.g. cable cross-sections, fuses, PE connection). Additional information can be obtained from the regulatory documentation.
Introduction Introduction The following information is provided to explain how the PositionServo drive operates on a CANopen network; it is not intended to explain how CANopen itself works. Therefore, a working knowledge of CANopen is assumed, as well as familiarity with the operation of the PositionServo drive. Fieldbus Overview The CANopen fieldbus is an internationally accepted communications protocol designed for commercial and industrial installations of factory automation and motion control applications.
Installation Installation Mechanical Installation 1. Ensure that for reasons of safety, the AC supply, DC supply and +24VDC backup supply have been disconnected before opening the option bay cover. 2. Remove the two COMM module screws that secure Option Bay 1. With a flat head screwdriver, lift the Option Bay 1 cover plate and remove.
Installation CANopen Module Installed in Option Bay 1 as P21, the CANopen module (E94ZACAN1) is optically isolated from the rest of the drive’s circuitry. The 3-pin CANopen module is for HW/SW 1A10 and the 5-pin CANopen module is for HW/ SW 1B10 or higher.
Installation 3.3.4 Network Termination In high speed fieldbus networks such as CANopen it is essential to install the specified termination resistors, i.e. one at both ends of a network segment. Failure to do so will result in signals being reflected back along the cable which will cause data corruption.
Commissioning Commissioning Overview It is assumed that the user has familiarised themselves with how to set parameters using MotionView software. Refer to the PositionServo Programming Manual (PM94M01) for details on MotionView software. The details that follow provide a step-by-step guide to quickly and easily set-up a PositionServo drive to communicate on a CANopen fieldbus network, in a basic format.
Commissioning 5. Configure the slave node address, ensuring that each node has a unique and individual address. 6. Configure each slave’s PDO data mapping relationship to the master interface. 7. If utilising Master based slave configuration refer to section 5, the Object Dictionary, for a list and description of supported objects.
Commissioning Figure 6: Connection Box with Discovered Drive In the lower left of the MotionView display, the Message WIndow will contain the connection status message. The message “Successfully connected to drive B04402200450_192.168.124.120” indicates that the drive B04402200450 with IP address 192.168.124.120 is connected. 4.3.3 Communication Module Selection In the left-hand node tree of MotionView OnBoard, click on the [Communications] folder.
Commissioning Figure 8: REBOOT Message 4.3.5 Node Address Figure 9: CAN Node Address and Baud Rate The default address is 63. The permissible address range is: 0 – 127. Each node on the network must have an individual address, if two of more nodes have duplicate addresses this may prevent the network from functioning correctly.
Commissioning 4.3.7 CAN Bootup Mode The PositionServo CANopen Bootup Mode is accessed by clicking on the [CANopen] folder. Figure 10: CAN Bootup Mode The default mode is Pre-Operational. The permissible modes are listed in Table 4. Table 4: PID236 CAN Bootup Mode Mode Comment Pre-Operational...
Commissioning 4.3.9 Data Mapping • The PositionServo CANopen module can support up to 8 Process Data Objects (PDOs) in each direction. • PDO Configuration is described in full in section 7, Process Data Objects. • The default mappings for PositionServo CANopen is 4 RxPDO and 4 TxPDO each with one mapped object.
CANopen Object Dictionary CANopen Object Dictionary What is the CANopen Object Dictionary? • CANopen is an object based protocol and as such everything is orientated around these objects. • The Object Dictionary is essentially a grouping of objects accessible via the network in an ordered and pre-defined fashion.
CANopen Object Dictionary 5.1.3 Accessing the Object Dictionary The Object Dictionary can be accessed primarily in two ways: • Confirmed access using Service Data Object (SDO) access • Unconfirmed access using Process Data Object (PDO) access, i.e. no handshake . Every message sent via CANopen network contains an address to identify the node the message is destined for.
CANopen Object Dictionary 5.2.1 Device Type Device Type Object Index: 0x1000 Sub-index: 00 Default: 00020192 Range: -- Access: RO Type: Unsigned 32 Units: -- PDO mappable: No This object describes the device type and its functionality. The 32-bit value is composed of two components. Table10: Device Type format Byte 3 Byte 2...
CANopen Object Dictionary 5.2.4 SYNC COB ID SYNC COB ID Object Index: 0x1005 Sub-index: 00 Default: 0x80 Range: -- Access: RW Type: Unsigned 32 Units: -- PDO mappable: No This object defines the COB-ID of the Synchronisation Object the drive will use for PDOs that use transmission types 0-254.
CANopen Object Dictionary 5.2.9 Inhibit Time EMCY Inhibit Time EMCY Object Index: 0x1015 Sub-index: 00 Default: 0 Range: -- Access: RW Type: Unsigned 16 Units: 100ms PDO mappable: No This object specifies the inhibit time for the Emergency Object transmitted by the PositionServo. If a value greater than 0 is set then once an Emergency Object has been transmitted all other Emergency Object transmissions are prohibited until the specified time has elapsed.
• Sub-index 0: Lists how many elements there are to the Identity • Sub-index 1: Vendor ID for Lenze AC Tech which is 0x19C • Sub-index 2: Lenze AC Tech product code for PositionServo which is 0x3AC (940 decimal) • Sub-index 3: CANopen module revision number •...
CANopen Object Dictionary These objects are used to configure the TxPDOs. Also refer to section 7 for full details on Process Data Objects (PDOs). • Sub-index 0: Specifies how many sub indexes there are to this object • Sub-index 1: Specifies the Communication Object ID used by the PDO •...
CANopen Object Dictionary Manufacture Specific Profile Area Objects in the range 0x2000 to 0x5FFF are free for manufacturers to utilise. In the case of PositionServo, these objects are used to provide access to drive parameters, user variables and Index program commands.
SDO Access Service Data Objects What are Service Data Objects? • Service Data Objects (SDOs) is the name given to the method used to provide non-cyclic access to all objects in the CANopen object dictionary. • SDO messages are always instigated from a host device such as a CANopen master/client. •...
SDO Access Abort Code (Hex) Description 0504 0005 Out of memory 0601 0000 Unsupported access to an object 0601 0001 Attempt to read a write-only object 0601 0002 Attempt to write to a read-only object 0602 0000 Object does not exist in the object dictionary 0604 0041 Object cannot be mapped to the PDO 0604 0042...
Page 684
SDO Access 6.5.1 Specifier Table 15 lists the BIT functions with the Specifier byte. Table 15: Specifier Byte Function Description S: Size indicator Only used for write requests and read responses 0 – data size not indicated 1 – data size in N field E: Transfer type Only used for write requests and read responses 0 –...
PDO Access Process Data Objects What are Process Data Objects? • Process Data Objects (PDOs) is the name given to the method used to transfer routine process data between the network nodes. • Process Data Objects are usually pre-configured in the CANopen master and downloaded to the PositionServo during network initialisation.
PDO Access To edit the COB ID un-tick the default option to unlock the COB ID number. The Mode function controls whether PDOs are Enabled of Disabled. RxPDO #1 TxPDO #1 COB ID Default COB ID Default Mode Enable Mode Enable Transmission Type Transmission Type...
PDO Access 7.2.3 Event Time Independent of the Transmission Type, an Event Timer can be used to generate TxPDOs. • Event Timer value of 0 disables the Event Timer function. • Event Timer value greater than 0 sets the fixed interval for the TxPDO to be transmitted. TxPDO #1 COB ID Default...
PDO Access Mapping PDOs 7.3.1 Amount and Size of PDOs The CANopen module supports up to 8 RxPDOs and 8 TxPDOs. Each PDO can map up to 64-bits of data, in the case of PositionServo, the MotionView interface automatically controls how many object mapping selectors are available to prevent overmapping / oversizing the PDO.
PDO Access 7.3.3 Transmit (Tx) PDOs The CANopen module can map up to a maximum of 8 TxPDOs. TxPDO mapping is set via the MVOB [Communications] [CANopen] folder. Each mapped object selector lists all the CANopen objects that are available. Figure 19: CAN TxPDO Mapping - Four 16-bit Objects Figure 20: CAN TxPDO Mapping - 64bit limit reached P94CAN01C...
Emergency Objects Emergency Objects What is an Emergency Object? • Emergency Objects is the name given to the method used to provide diagnostic information when an error or trip(s) occurs. • Emergency Objects are produced by slave devices upon a fault or error condition so that appropriate action can be taken by the network master.
Emergency Objects 8.2.2 Error Register The Error register byte is also available as object 0x1001. The error register is used to indicate that an error has occurred. If bit 0 is set to 1, then an error has occurred. In addition to object 0x1001, object 0x1003 records the last drive trip to occur. Refer to section 5.2.3 for further details.
Emergency Objects Error Code Description 0x0336 No TPDO are available (Communication parameters) 0x0337 No RPDO are available (Communication parameters) 0x0338 No TPDO are available (Mapped Parameters) 0x0339 No RPDO are available (Mapped Parameters) 0x0402 Fail to set receive filter for RPDO 0x0403 Fail to transmit PDO 0x0404...
Drive Control and Status Drive Control and Status Overview The control and status words provide a means for the digital control and monitoring of the drive using a single data word. Each control bit has a particular function and provides a method of controlling the output functions of the drive, such as run and direction.
Drive Control and Status 9.2.4 Stop Motion PID136 - Stop Motion Default: N/A Range: 0 - 1 Access: WO Type: Integer This is the VAR_STOP_MOTION function. 0 - no action 1 - stops motion Status Word There are several status words and individual status bits/flags available within PositionServo that can be read from through PDO or SDO communications.
Drive Control and Status Bit in register Description Set if registration variable was updated from DSP after last trigger Set if motion module at fault Set if motion suspended Set if program requested to suspend motion Set if system waits completion of motion Set if motion command completed and motion Queue is empty Set if byte-code task requested reset If set interface control is disabled.
Advanced Features Advanced Features 10.1 CAN Baud Rate PID234 - CAN_BAUD_EPM Default: 63 Range: 0 - 127 Access: RW Type: Integer This is VAR_ CAN_OPERMODE_EPM. Its function is the same as the CAN Boot-up Mode from within MotionView as described in section 4.3.5. If editing from within MotionView, select the appropriate baud rate from the drop down menu.
Advanced Features Table 33: PID236 CAN Bootup Mode PID236 Value Mode Comment Pre-Operational Drive enters the “PRE_OPERATION” state after bootup Operational Drive enters the “OPERATIONAL” state after bootup In addition to the drive entering the “OPERATIONAL” state after bootup the drive will also (after the Pseudo Master delay period set by the CAN Bootup Delay parameter) broadcast a command for all other CANopen nodes to go in to the “OPERATIONAL”...
Advanced Features 10.6 PDO Configuration The drive's PDOs can be configured in 4 ways: • With MotionView simple to use drop down menus • Direct from a CAN NMT master* • From within the PositionServo Index program • Via Ethernet communications NOTE: * - PDO configuration settings from a NMT CAN master is volatile.
Page 703
Advanced Features Table 35: PDO COM Functions Byte Nibble Function Description 0x000 - Set if default Mode is enabled COB-ID 0x001 to 0xFFF - COB-ID set for non-default mode 4 - Default Mode 5 - non-defualt / unlocked Transmission Type Scheduling Description RxPDO...
Advanced Features 10.6.2 PDO Mapping RxPDO Mapping Mapping PIDs 319 - 348 are configured internally by the GUI. Users do not set these PIDs directly. Refer to section 7.3 for proper operation. TxPDO Mapping Mapping PIDs 359 - 388 are configured internally by the GUI. Users do not set these PIDs directly. Refer to section 7.3 for proper operation.
Parameter Reference Reference 11.1 PID List with CANopen Values This is a condensed PID List to show the corresponding CANopen Registers for PIDs 1-413. For the complete variable list refer to the PositionServo Programming Manual (PM94P01 or PM94M01). These variables can be accessed from the user’s program or any supported communications interface protocol.
Page 706
Parameter Reference Table 36: PID List with CANopen Values Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 VAR_IDSTRING Drive’s identification string 2001 2401...
Page 707
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 VAR_ Motor thermal protection function 0 - disabled 2027 2427 3027...
Page 708
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 VAR_OUTPUT Digital outputs states. Writing to this variables Output 1 Bit 0 2042 2442...
Page 709
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 VAR_AOUT_CURSCALE Analog output scale for current related Range: 0 - 10 2057 2457 3057...
Page 710
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 VAR_V28 User variable 2080 2480 3080 3480 VAR_V29 User variable 2081 2481...
Page 711
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 VAR_NV31 User defined Network variable 20AB 24AB 30AB 34AB VAR_SERIAL_ADDRESS RS485 drive ID...
Page 712
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 VAR_IN11_DEBOUNCE Input C4 de-bounce time in mS Range: 0 - 20CD 24CD 30CD...
Page 713
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 VAR_CAN_BAUD_EPM CAN Bus Parameter: Baud Rate: 1 - 8 1 - 10k 20EA 24EA...
Page 714
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 RESERVED Do NOT use 2100 2500 3100 3500 RESERVED Do NOT use 2101...
Page 715
Parameter Reference Name Description Range Units Register Register Reg Copy Reg Copy 32bit Integer 32bit Float 32bit Integer 32bit Float Access Access Access Access Address Address Address Address 0x2000 0x2400 0x3000 0x3400 PBUS_IN_LINK1 Profibus Data In, Channel link 1 PID map 212A 252A 312A...
Page 720
About These Instructions This documentation applies to DeviceNet communications for the PositionServo drive and should be used in conjunction with the PositionServo User Manual (S94PM01) and the PositionServo Programming Manual (PM94M01). These documents should be read in their entirety as they contain important technical data and describe the installation and operation of the drive.
Safety Information Safety Information 1.1 Warnings, Cautions & Notes 1.1.1 General Some parts of Lenze controllers (frequency inverters, servo inverters, DC controllers) can be live, with the potential to cause attached motors to move or rotate. Some surfaces can be hot. Non-authorized removal of the required cover, inappropriate use, and incorrect installation or operation creates the risk of severe injury to personnel or damage to equipment.
Safety Information 1.1.4 Electrical Connection When working on live drive controllers, applicable national regulations for the prevention of accidents (e.g. VBG 4) must be observed. The electrical installation must be carried out according to the appropriate regulations (e.g. cable cross-sections, fuses, PE connection). Additional information can be obtained from the national regulatory documentation.
Introduction Introduction The following information is provided to explain how the PositionServo drive operates on a DeviceNet network; it is not intended to explain how DeviceNet itself works. Therefore, a working knowledge of DeviceNet is assumed, as well as familiarity with the operation of the PositionServo drive. 2.1 Fieldbus Overview The DeviceNet Fieldbus is an internationally accepted communications protocol designed for commercial and...
Installation Installation 3.1 Mechanical Installation Ensure that for reasons of safety, the AC supply and +24V DC backup supply have been disconnected before opening the bay cover plate. Remove the two COMM module screws that secure Option Bay 1 and with the aid of a flat head screw driver, gently pry up the Option Bay 1 cover plate and remove.
Installation 3.3 Electrical Installation 3.3.1 Cable Types Due to the high data rates used on DeviceNet networks, it is paramount that correctly specified cable is used. The use of low quality cable will result in excess signal attenuation and data loss. Several types of cable are available for DeviceNet networks: flat cable, thicknet, mid cable and thinnet.
Installation 3.3.3 Connections and Shielding • ODVA specifies to ground the DeviceNet network at one location only. • The ground location should be done on the node that is closest to the physical center of the network to maximize the performance and minimize the effect of outside noise. •...
Commissioning Configuring Drive for DeviceNet Communication 4.1 Connect to the Drive with MotionView OnBoard With the drive power disconnected, install the DeviceNet module and connect the network cable as instructed in the preceeding sections. Ensure the drive Run/Enable terminal is disabled then apply the correct voltage to the drive (refer to drive's user manual for voltage supply details). Refer to the PositionServo User Manual, section 6.2 for full detail on configuring &...
Commissioning Figure 8: Successfully Connected 4.2 Set up the CAN network To configure the PositionServo drive for DeviceNet communication, the drive must first be configured for a CAN network. Several parameters need to be set to enable the PositionServo to operate on a CAN network. These parameters are listed under the [Communication], [CAN] and [DeviceNet] folders in the MotionView OnBoard software.
Commissioning 4.2.1 Enable DeviceNet Communication Click on the [Communications] folder in the Node Tree and click on the down arrow next [q] to [Fieldbus Selection]. Select [DeviceNet] from the pull down menu. Figure 9: Enable DeviceNet Fieldbus Protocol To activate any changes made the drive has to be reinitialized. Hence the warning within MotionView Figure 10: REBOOT Message This can be done by cycling the power to the drive.
Commissioning Figure 11: Set CAN Baud Rate & Address 4.2.3 Set CANOpen Parameters The [CANOpen] folder contains the configuration parameters for the CANOpen Industrial Protocol. To change a CANOpen parameter, use the pull-down menu to select a pre-defined value or click in the box adjacent to the parameter and enter a numeric value that is within the parameter’s specified range.
Commissioning 4.2.4 Set DeviceNet Parameters The [DeviceNet (CIP)] folder contains the configuration parameters for the DeviceNet Industrial Protocol. To change a DeviceNet parameter, use the pull-down menu to select a pre-defined value or click in the box adjacent to the parameter and enter a numeric value that is within the parameter’s specified range. Table 6 lists the range and default value for each DeviceNet parameter.
Commissioning 4.4 Drive-Specific Error Codes The description of the standard PositionServo Fault Codes can be found in the drive’s user manual (S94PM01). The DFAULT parameter (PID 9) indicates the last drive fault. In addition, a new error code (43) is introduced to indicate a problem in the DeviceNet Polled I/O message format.
Cyclic Data Access Polled I/O “OUT data and “IN data” describe the direction of data transfer as seen by the DeviceNet master controller. For polled I/O messaging, there are two assemblies: the Command (Output) Assembly - Instance 1, and the Response (Input) Assembly - Instance 2. The poll operation works as follows: The DeviceNet Master (PLC) sends an I/O Command Poll Assembly initialized with the desired command and the desired response types.
Cyclic Data Access 5.1.1 Byte 0 – Control Word Table 8: Ouput Assembly - Control Word Name Description Note Enable 0 – disable drive This bit controls PID 52 1 – enable drive The Enable bit takes precedence over the rest of the command bits and the command type.
Cyclic Data Access 5.1.3 Byte 3 - Response Type Response Axis (bits 7 to 5) The values of these bits should always be 001 since the PositionServo has only 1 axis per drive. Response Assembly Type (bits 4 to 0) This field specifies the type of the response assembly that this command requests. For list of all available response assembly types refer to section 5.2.
Cyclic Data Access 5.2.1 Byte 0 - Status Byte 1 Table 11: Status Word 1 Name Description Note Enable State 0 – drive disabled Bit 0 of the drive status PID 54 1 – drive enabled Reg Level 1 – registration event has occurred Bit 19 of the drive status PID 54 Home Level 1 –...
Cyclic Data Access 5.2.4 Byte 3 - Response Type Response Axis (bits 7 to 5) The values of these bits should be always 001 since the PositionServo has only 1 axis per drive. Response Assembly Type (bits 4 to 0) The Response Assembly Type ranges from 0x0 to 0x14 as listed in Table 12. Table 12: Response Assembly Type Type Response...
Explicit Messaging Explicit Messaging 6.1 Objects 64h and 65h The PositionServo system objects 64h and 65h encapsulate all valid PositionServo variables (Property IDs or PIDs). Object 64h covers PIDs in range 1-255. Object 65h covers PIDs in range 256 and up. Each PositionServo PID is represented by an instance of a System940 object. For object 64h the instance number matches the PID’s index.
Reference Reference 7.1 Reference Documents • DeviceNet Information: http://www.odva.org • PositionServo Programming Manual (PM94M01): http://www.lenze-actech.com • PositionServo User Manual (S94PM01): http://www.lenze-actech.com • PositionServo CANOpen Communications Reference (P94CAN01): http://www.lenze-actech.com NOTE: The complete list of variables can be found in the PositionServo Programming Manual (PM94P01).
Reference 7.3 Parameter Quick Reference Table 14 lists each parameter number and provides its function, default value and access rights. Table 14: Parameter Quick Reference Parameter Function Default Value Access Rights Cross Reference PIDxxx Network Protocol Ethernet 4.2.1 Enable DeviceNet Communication PID234 CAN Baud Rate 125k 4.2.2 Set CAN Parameters PID235...
Page 744
AC Technology Corporation 630 Douglas Street Uxbridge, MA 01569 Telephone: (508) 278-9100 Facsimile: (508) 278-7873 www.lenze-actech.com P94DVN01A...
Page 746
Lenze AC Tech makes no warranty of any kind with respect to this material, including, but not limited to, the implied warranties of its merchantability and fitness for a given purpose. Lenze AC Tech assumes no responsibility for any errors that may appear in this manual and makes no commitment to update or to keep current the information in this manual.
Safety Information Safety Information Warnings, Cautions & Notes Some parts of Lenze controllers (frequency inverters, servo inverters, DC controllers) can be live, with the potential to cause attached motors to move or rotate. Some surfaces can be hot. Non-authorized removal of the required cover, inappropriate use, and incorrect installation or operation creates the risk of severe injury to personnel or damage to equipment.
Safety Information Additional information can be obtained from the national regulation documentation. In the United States, electrical installation is regulated by the National Electric Code (nec) and NFPA 70 along with state and local regulations. The documentation contains information about installation in compliance with EMC (shielding, grounding, filters and cables).
Introduction Introduction EtherNet/IP just like its close siblings DeviceNet and ControlNet, uses CIP (Common Industrial Protocol a.k.a. Control and Information Protocol) to exchange data between devices on an Ethernet network. AC Tech implementation of CIP follows the standard supported by the ODVA (governing organization) and supports the two main types of EtherNet/IP communication: Explicit Messaging and I/O Messaging.
Introduction 2.2.1 MultiCast Configuration By default the PositionServo drive automatically generates the multicast address used for I/O messaging. The default multicast TTL (time to leave) value is 1 which means that the multicast I/O packets will be propagated over the local subnet only. The user is allowed to explicitly set the drive’s multicast address and TTL values but this feature should be used carefully.
Installation Installation Ethernet/IP communication is not supported by the RS232-based PositionServo drive even if the RS232-based drive has the Ethernet option module E94ZAETH1 installed. Ethernet/IP is also not supported by the MVCD PositionServo drives (part number ending in “X”). Ethernet/IP is supported by the MVOB equipped PositionServo drives (part number ending in “M”...
Installation 3.7.4 Firewalls A firewall allows separate networks to be connected together similar to a router, however the firewall offers more security features and control. Typical features include address translation, port filtering, protocol filtering, URL filtering, port mapping, service attack prevention, monitoring and virus scanning. A firewall is the preferred method of allowing traffic from a manufacturing network to the business network.
Page 756
Installation 3.8.3 Single PC to Multiple PositionServo Drives and Multiple Switches (Switch to Switch) Non crossover or crossover cable depends on switch Switch 1 Switch 2 Non crossover cable Non crossover cable Non crossover cable (Drives to Switch) (Drives to Switch) (PC to Switch) PC/Laptop PositionServo Drives...
Commissioning Configuring EtherNet/IP To setup an Ethernet/IP network, the ethernet port on each device that will be part of the network must be configured. For the example illustrated in sections 4 through 6 of this manual, the devices on the network include an Allen-Bradley 1769-L32E CompactLogix controller, a PC and a PositionServo drive.
Page 758
Commissioning A connection needs to be setup only once per session or any time the communication settings are changed. If the work is saved to a project file then the connection does not need to be setup unless different communication settings are used.
Page 759
Commissioning Figure 11: REBOOT Message Ethernet Hardware Settings The Ethernet folder displays the IP Address, Subnet Mask and Default Gateway for the drive selected in the Node Tree. The TCP Reply Delay can be set in 1 millisecond increments from 0 to 15ms. To obtain the IP address via DHCP, check the box adjacent to [Obtain IP address using DHCP].
Commissioning EtherNet/IP Parameters Defined by the Ethernet hardware settings, the EtherNet/IP folder contains the configuration parameters for the EtherNet/IP (Industrial Protocol). To change an EtherNet/IP parameter, use the pull-down menu to select a pre-defined value or click in the box adjacent to the parameter and enter a numeric value that is within the parameter’s specified range.
Commissioning Configuring a Scanner or Bridge To configure a simple network like the network illustrated in Figure 14, follow the steps in paragraphs 4.3 through 4.5. This example uses an Allen-Bradley 1769-L32E CompactLogix controller to communicate with PositionServo drives using implicit I/O messaging over an ethernet network. The controller has a scanner (bridge) that needs to be configured.
Page 763
Commissioning For CompactLogix and SoftLogix only: Right click on [Backplane, 1789-A17/A Virtual Chassis] to choose the Ethernet adapter. Select [New module] and the “Select Module” dialog box will open. Under the “By Category” tab, click the [+] icon to expand the [Communications] folder Select the EtherNet/IP scanner or bridge used by your controller.
Commissioning Set the “New Module” properties using the information in Table 6 Table 6: “New Module” Fields Type Name A name to identify the scanner or bridge. Slot The slot # of the EtherNet/IP scanner or bridge in the rack. Revision The minor revision of the firmware in the scanner.
Page 765
Commissioning 3. Select [ETHERNET-MODULE] to configure, and then click [OK]. The Module Properties dialog box will open as shown in Figure 20. Figure 20: Module Properties Dialog Box 4. In the General tab, edit the adapter information as specified in Table 7. Table 7: Adapter Properties Type Name...
Page 766
Commissioning 6. Click [Next >] to display the next page. 7. In the Requested Packet Interval (RPI) box, set the value to 5.0 milliseconds or greater. This value determines the maximum interval that a controller should use to move data to or from the adapter. To conserve bandwidth, use higher values for communicating with low priority devices.
Commissioning Saving the Configuration After adding the scanner (or bridge) and the adapter to the I/O configuration, the configuration must be downloaded to the controller. The configuration should also be saved to a file on your computer. 1. On the top toolbar, click [Communications] then select [Download] from the pull down menu. The Download dialog box will open.
Cyclic Data Access I/O Messaging Overview of I/O Messaging Typically I/O messaging is used for the data exchange between a scanner and an adapter device in a cyclic manner. Therefore it is used for data that needs to be updated periodically. A good example is the reference set point value for velocity or torque.
Cyclic Data Access Using Assemblies for Control and Status/Data Monitoring Output assemblies are commonly used for controlling the enable/disable state of the drive and for supplying the velocity or torque reference. Input assemblies are commonly used to monitor the drive status and run-time quantities such as current velocity, current, actual position and position error.
Cyclic Data Access Enable: Enable the transfer data Format: Data presentation format 0 = U32 (32 bit integer) 1 = F32 (Real) variable ID, link uses data from/for Example: A DataLink needs to be configured to the transfer data of the Phase Current in REAL format. The ID of VAR_ PHCUR (Phase current) is 188 (dec).
Page 771
Cyclic Data Access NOTE: The Variable ID is the PositionServo variable’s index number. Refer to the PositionServo Programming Manual (PM94H201) STATUS2 WORD format The STATUS2 WORD includes bits from the PositionServo STATUS (#53) and EXSTATUS (#54) system variables as shown in Table 17. Table 17: STATUS2 Word Byte Bit7...
Cyclic Data Access Table 20: Assembly #106 PositionServo Basic Control 32-bit Word Variable ID Type Name DRIVE ENABLE: Non 0 = enabled, 0 = disabled REFERENCE: Velocity mode = velocity in RPS; Current mode = current in phase A(rms) Table 21: Assembly #108: PositionServo Extended Control. 32-bit Word Variable ID Type...
Page 773
Cyclic Data Access Click on the [+] icon next to the tag name to expand the tags and reveal the output and input configuration. The output tag for this example program requires two REAL data words as shown in Figure 22. The input tag for this example requires nine REAL data words (Figure 23) and input status tag requires two 32-bit words SimpleServo:I {.
Page 774
Cyclic Data Access This example uses the I/O assemblies mapped as shown previously Figures 20 and 21. Main Routine - Ladder Diagram Page 1 CompactLogix1: Main Task: Main Program mm/dd/yyyy hh:mm:ss PM Total number of rungs in routine: 6 CompactLogix1.ACD This is a simple example of IO messaging with the SimpleServo drive.
Risk of injury to personnel and/or damage to equipment exists. The examples in this publication are intended solely for purposes of example. Lenze AC Tech Corporation does not assume responsibility or liability (to include intellectual property liability) for actual use of the examples shown in this publication.
Page 776
Acyclic Data Access NOTE: To display the Message Configuration dialog box in RSLogix 5000, add a message instruction (MSG), create a new tag for the message (properties: Base tag type, MESSAGE data type, controller scope), and click the Configure button. Table 22: Configuration Dialog Fields for Explicit Message in RSLogix 5000 Description Message Type...
Acyclic Data Access Performing Explicit Messages There are five basic events in the Explicit Messaging process as defined herein and illustrated in Figure 27. The details of each step will vary depending on the controller (ControlLogix, PLC, or SLC). Refer to the documentation for your controller.
Acyclic Data Access Explicit Message Example To format and execute a [Get Attribute Single] or [Set Attribute Single] Explicit Message using a CompactLogix controller, use this example program. Message Formats When formatting an example message, refer to Formatting Explicit Messages in this chapter for an explanation of the content of each box.
Page 779
Acyclic Data Access 6.3.1 Example of Get Attribute Single Message (Rung 1 of Figure 31) Figure 29 illustrates the configuration of the message to read the value from the drive to the PLC controller memory. In this example, the PLC reads instance #100 (User Variable V0) from the PositionServo system variables class 64(h) and stores it in the controller tag Value_Get.
Page 780
Acyclic Data Access 6.3.2 Example of Set Attribute Single Message (Rung 2 of Figure 31) Figure 30 illustrates the configuration of the message to write the value from the PLC controller memory to the drive. In this example, the PLC writes instance #100 (User Variable V0) from the controller tag Value_Set. Table 24: Message Configuration Parameters for Set Attribute Single Step 1 Step 2...
Page 781
Acyclic Data Access Main Routine - Ladder Diagram Page 1 CompactLogix1: Main Task: Main Program mm/dd/yyyy hh:mm:ss PM Total number of rungs in routine: 3 CompactLogixExplicitMessaging.ACD This is a simple example that allows the user to send and receive data by executing Explicit Messages. It uses the Get Attribute Single and Set Attribute Single methods to read/write data.
Acyclic Data Access Ethernet/IP Objects Section 7 contains information about the Ethernet/IP objects that can be accessed using Explicit Messages. For information on the format of Explicit Messages and example ladder logic programs, refer to section 6. Table 25: Ethernet/IP Objects Object Class Code Identity...
Acyclic Data Access PositionServo System Object The PositionServo system object encapsulates all valid PositionServo variables. Each PositionServo variable is represented by an instance of a System940 object. The instance number therefore matches the variable’s index. A complete list of PositionServo variables with their corresponding indices is in the PositionServo Programming Manual (PM94H201).
Acyclic Data Access Assembly Object An Assembly Object is the “assembly” or mapping of data from different instances of various classes into a single attribute. With assembly mapping, the I/O data is produced in one block. An assembly object can be used to configure a device using one block of data instead of setting the individual device parameters.
Acyclic Data Access Ethernet Link Object The Ethernet Link object is the network link object that defines the CIP as Ethernet, DeviceNet or ControlNet. Class Code 0xF6 Class Attributes: Revision Max Instance Number Instance Class Services: Get_Attribute_All() Get_Attribute_Single() Instance Attributes Interface Speed Interface Flags Physical Address...
Applications Applications Application Example 1 - Velocity Control This application illustrates how to control velocity using an Allen-Bradley PLC and an AC Tech PositionServo drive. Objective: This example shows how to use I/O messaging (I/O scan) to control the PositionServo drive in velocity mode using Ethernet/IP communication protocol.
Page 787
Applications Requirements: A PositionServo drive must be configured before this example can be executed. The PositionServo drive can be configured in 2 ways: by using MotionView software or by running a short user’s program. Note that setup can also be performed using Explicit messages (refer to section 8.3). The configuration file (for use with MotionView) and the user’s program are both provided on the same CD this example resides.
Page 788
Applications Main Routine - Ladder Diagram Page 1 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 9 SoftLogixVelocityControl.ACD SIM_IO_Enable CMD_Enable <Local:4:I.Data[1].0> CMD_Enable Compute Dest Drive125:O.Data[0] Expression CMD_Enable Compute Dest Drive125:O.Data[0] Expression ATTENTION: Set up the drive as follows: Operating mode = Velocity Input Reference = Internal Use the setup user’s code program...
Applications Application Example 2 - Indexing This application illustrates how to index using an Allen-Bradley PLC and an AC Tech PositionServo drive. Objective: This example shows how to use explicit messages to configure indexing parameters and issue indexing commands. I/O messaging (I/O scan) is used to monitor real time data such as status, velocity target and actual position etc.
Page 790
Applications Requirements: A PositionServo drive must be configured before this example can be executed. The PositionServo drive can be configured in 2 ways: by using MotionView software or by running a short user’s program. Note that setup can also be performed using Explicit messages (refer to section 8.3). The configuration file (for use with MotionView) and the user’s program are both provided on the same CD this example resides.
Page 791
Applications Example Details: 1. The simulated software I/O module 1789-SIM is used to control the application. You can substitute your I/O with one from your taget PLC or create BOOL type tags and use them instead of the I/O to control the application.
Page 792
Applications Main Routine - Ladder Diagram Page 1 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 11 SoftLogixIndexing.ACD This program shows simple indexing. Move indexes. Index0 and Index1 of simulated I/O (inputs 8 and 9 of 1789 soft module) provide a choice of 4 indexes.
Page 793
Applications Main Routine - Ladder Diagram Page 2 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 11 SoftLogixIndexing.ACD This rung sets the necessary profile ACCEL, DECEL and VELOCITY. Sends new values for move profile to 94P CNTRL_ChangeAccel StorageBits register for ONS instructions...
Page 794
Applications Main Routine - Ladder Diagram Page 3 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 11 SoftLogixIndexing.ACD CMD_Enable Compute Dest Drive125:O.Data[0] Drive’s Status flag Expression Set when motion is completed Motion Completed <Drive 125:S.Data[0].24> Local:4:O.Data[0].1 (End) RSLogix 5000...
Applications Application Example 3 - Configuration Using Explicit Messages This application illustrates how to configure a PositionServo drive using explicit messages. Objective: This example shows how to configure a PositionServo drive by sending a list of explicit messages. Equipment: 1. PositionServo drive (firmware revision 3.4 or later) 2.
Page 796
Applications Main Routine - Ladder Diagram Page 1 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss PM Total number of rungs in routine: 17 SoftLogixConfigurationMessages.ACD This example shows how to control the 94P drive in velocity mode using I/O messaging. It also shows an example of how to use an explicit message to configure the drive prior to using it.
Page 797
Applications Main Routine - Ladder Diagram Page 2 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 17 SoftLogixConfigurationMessages.ACD CMD_Enable Compute Dest Drive125:O.Data[0] Expression Preset speed control. There are two preset inputs on the 1789 simulation I/O. You can replace them with your real I/O or register bits by redefining the alias tags PresetInput0 and PresetInput1.
Page 798
Applications Main Routine - Ladder Diagram Page 3 SoftLogixMSGgen: Main Task: Main Program mm/dd/yyyy hh:mm:ss AM Total number of rungs in routine: 17 SoftLogixConfigurationMessages.ACD Status_DriveFault Drive_Fault_LED <Drive125:S.Data[0].1> <Local:4:O.Data[0].16> CMD FaultReset <Local:4:I.Data[1].4> Compute TrueValue Dest Expression Type - CIP Generic MSG_940ResetFault . . . Message Control (End) RSLogix 5000...
Page 799
Applications SoftLogixMSGgen - User Defined Data Type Page 1 SoftLogixMSGgen (Controller) mm/dd/yyyy hh:mm:ss AM SoftLogixConfigurationMessages.ACD Data type Name: Msg_List_Control Description: Messages list control structure Size: 184 byte(s) Name Data Type Style Description State DINT Decimal ListLength DINT Decimal MsgIndex DINT Decimal ListDone BOOL...
Page 800
Applications Rung 4 Indicates on the I/O that the full configuration list is done. This status interlocks rung 5 to prevent the ENABLE command before configuration is completed. Rung 5-13,15 Same as in original example. Rung 14 This rung is a “Convenience” entry. This rung never becomes true. It is needed to configure the MSG instruction field with constants (drive address, message type etc.).
Page 801
Applications CASE Config_list.State of //it is idle state , just return If Config_list.List_Start AND NOT Config_list.List_latch then Config_list.State:=1; END_IF; Config_list.List_latch:=Config_list.List_Start; //State Start Config_list.MsgIndex :=0; //reset index Config_list.ListDone:=0; //reset DONE flag Config_list.ListErr:=0; //reset error flag MSG_Set940PID.Instance:=Config_list.List_instance[Config_list.MsgIndex]; //this is normally should be done in state2 Config_list.List_CurrentValue:=Config_list.List_Value[Config_list.MsgIndex];...
Applications Application Note - Detection of EtherNet/IP Exclusive Ownership Loss The PositionServo provides bits in the extended status register to detect a loss of exclusive ownership over EtherNet/IP. The user can use these bits in a logical program to detect this condition and take action as necessary for their application, such as to prevent a runaway condition in velocity or torque mode.
Page 803
Lenze AC Tech Corporation 630 Douglas Street • Uxbridge, MA 01569 • USA Sales: 800 217-9100 • Service: 508 278-9100 www.lenzeamericas.com P94ETH01D...
Page 804
PositionServo PROFIBUS-DP Communication Module Communications Interface Reference Guide...
Page 805
About These Instructions This documentation applies to the optional PROFIBUS DP communications module for the PositionServo drive and should be used in conjunction with the PositionServo User Manual (Document S94PM01) that shipped with the drive. These documents should be read in their entirety as they contain important technical data and describe the installation and operation of the drive.
Safety Information Safety Information 1.1 Warnings, Cautions and Notes 1.1.1 General Some parts of Lenze controllers (frequency inverters, servo inverters, DC controllers) can be live, moving and rotating. Some surfaces can be hot. Non-authorized removal of the required cover, inappropriate use, and incorrect installation or operation creates the risk of severe injury to personnel or damage to equipment.
Safety Information 1.1.4 Electrical Connection When working on live drive controllers, applicable national regulations for the prevention of accidents (e.g. VBG 4) must be observed. The electrical installation must be carried out in accordance with the appropriate regulations (e.g. cable cross-sections, fuses, PE connection). Additional information can be obtained from the regulatory documentation.
Introduction Introduction The following information is provided to explain how the PositionServo drive operates on a PROFIBUS network; it is not intended to explain how PROFIBUS itself works. Therefore, a working knowledge of PROFIBUS is assumed, as well as familiarity with the operation of the PositionServo drive. 2.1 Fieldbus Overview The PROFIBUS DP fieldbus is an internationally accepted communications protocol designed for commercial...
Installation Installation 3.1 Mechanical Installation Ensure that for reasons of safety, the AC supply, DC supply and +24V DC backup supply have been disconnected before opening the bay cover plate. Remove the two COMM module screws that secure Option Bay 1. With the aid of a flat head screw driver, gently pry up the Option Bay 1 cover plate and remove.
Installation 3.2 PROFIBUS DP Connector Table 2 identifies the terminals and describes the function of each. Figure 3 illustrates the PROFIBUS DP DB-9 connector. Table 2: PROFIBUS DP D-Type Connections Pin Number Function Description Shield Cable Shield Connection No Connection RxD / TxD-P Data Line B (Red) No Connection DGND...
Installation 3.3 Electrical Installation 3.3.1 Cable Types Due to the high data rates used on PROFIBUS DP networks it is paramount that correctly specified quality cable is used. The use of low quality cable will result in excess signal attenuation and data loss. Cable specifications and approved manufacturers are available from the official PROFIBUS website at: http:// www.profibus.com 3.3.2 Network Limitations...
Installation 3.3.3 Connections and Shielding The PositionServo PROFIBUS DP module is equipped with a D sub-type connector. Always ensure that any connectors used on the network are fully approved for use with PROFIBUS DP. Some available connector types have built in termination that allows the network to be isolated, which can be very useful when fault finding.
Commissioning Commissioning 4.1 Overview It is assumed that the user has familiarised themselves with how to set parameters using MotionView software. Refer to the PositionServo with MVOB User Manual (S94PM01) for more details. The details that follow provide a step-by-step guide to quickly and easily set-up a PositionServo drive to communicate on a PROFIBUS DP fieldbus network, in a basic format.
Commissioning PROFIBUS DP Additional Field Devices General Drives Lenze PositionServo Lenze SMVector Switching Devices Gateway Compatible PROFIBUS DP Slaves CiR Object Figure 5: PROFIBUS DP Master Setup Save the configuration and download to the master. 4.3 Configuring the PositionServo PROFIBUS DP Module 4.3.1 Connecting With the drive power disconnected, install the PROFIBUS DP module and connect the network cable as instructed in the preceeding sections.
Commissioning Highlight the drive (or drives) to be connected and click [Connect] in the dialog box. Figure 6: Connection Box with Discovered Drive In the lower left of the MotionView display, the Message WIndow will contain the connection status message. The message “Successfully connected to drive B04402200450_192.168.124.120”...
Commissioning 4.3.5 Node Address Figure 10: PROFIBUS DP Node Address PID283 - Node Address Default: 126 Range: 0 - 126 Access: RW Type: Integer Set PID283 to the required value. The default address is 126. The permissible address range is: 0 – 125. Each node on the network must have an individual address, if two of more nodes have duplicate addresses this may prevent the network from functioning correctly.
Commissioning 4.3.8 Re-Initialising To activate any changes made the drive has to be reinitialized. Hence the warning within MotionView Figure 11: REBOOT Message This can be done by cycling the power to the drive. 4.3.9 Non-Module Parameter Settings In addition to configuring the PROFIBUS-DP option module and depending upon the application there may be several drive based parameters that will need to be set using MotionView or an Indexer program or via the PROFIBUS parameter access channel.
Cyclic Data Access Cyclic Data Access 5.1 What is Cyclic Data? • Cyclic / Process / Polled data is the name given to the method used to transfer routine process data between the network master and slave nodes. • Cyclic data transfer must be configured during network setup. •...
Cyclic Data Access 5.3 Mapping Cyclic Data 5.3.1 Data IN (Din) Channels • The PROFIBUS-DP module has 12 cyclic IN channels each of which utilises 4 Bytes of data. • The amount of IN channels activated and mappable is set by PID285. • IN data mapping can be set via the MVOB [Communications] [PROFIBUS DP] folder: Figure 13: PROFIBUS DP Communications folder •...
Cyclic Data Access 5.3.2 Data OUT (Dout) Channels • The PROFIBUS-DP module has 12 cyclic OUT channels each of which utilises 4 Bytes of data. • The amount of OUT channels activated and mappable is set by PID284. • OUT data mapping can be set via the MVOB [Communications] [PROFIBUS DP] folder: Figure 14: PROFIBUS DP Communications folder •...
Acyclic Parameter Access Acyclic Parameter Access 6.1 What is Acyclic Data? • Acyclic / non-cyclic / Service access provides a method for the network master to access any drive or module parameter. • This kind of parameter access is typically used for monitoring or low priority non-scheduled parameter access.
Acyclic Parameter Access 6.2.2 Acyclic Mode 1 PID310 = 1 (Mode 1 – 8BAD-F) Setting this mode configures the PROFIBUS-DP module to expect 8 additional cyclic bytes at the FRONT of all normal process cyclic data. 6.2.3 Acyclic Mode 2 PID310 = 2 (Mode 2 – 8BAD-E) Setting this mode configures the PROFIBUS-DP module to expect 8 additional cyclic bytes at the END of all normal process cyclic data.
Page 826
Acyclic Parameter Access 6.3.1 8BAD - Function Code (Byte 0) Table 9 lists the Function Code, Byte 0, of the 8BAD format. Table 9: Function Code Byte Description 0 – Idle 1 – Read RAM integer 2 – Read RAM float 3 – Read EPM integer 4 –...
Acyclic Parameter Access 6.3.3 8BAD – PID Index (Bytes 2 and 3) This is the drive parameter index number to be Read or Written to from the master. For the reply message from the drive this will contain the drive parameter index number that message corresponds to. 6.3.4 8BAD – Data (Bytes 4 to 7) The actual PID data is present in these 4 bytes.
Acyclic Parameter Access 6.4.2 Example 2: Write to Velocity Accel Limit Example 2: Write to Velocity Accel Limit, PID76 / VAR_ACCEL_LIMIT with a value of 1500. This second example provides a valid send/receive transmission and an invalid send/receive transmission for a write operation to PID76. Valid Transmission: SEND: message consisting of: Byte 0 Byte 1...
Drive Control and Status Drive Control and Status 7.1 Overview The control and status words provide a means for the digital control and monitoring of the drive using a single data word. Each control bit has a particular function and provides a method of controlling the output functions of the drive, such as run and direction.
Drive Control and Status 7.2.4 Stop Motion PID136 - Stop Motion Default: N/A Range: 0 - 1 Access: WO Type: Integer This is the VAR_STOP_MOTION function. 0 - no action 1 - stops motion 7.3 Status Word There are several status words and individual staus bits / flags available within PositionServo that can be read from through cyclic or acyclic communications 7.3.1 Status Flags Register PID54 - DSTATUS...
Drive Control and Status Bit in register Description Set if system waits completion of motion Set if motion command completed and motion Queue is empty Set if byte-code task requested reset If set interface control is disabled. This flag is set/clear by ICONTROL ON/OFF statement. Set if positive limit switch reached Set if negative limit switch reached Events disabled.
Advanced Features Advanced Features 8.1 Module Firmware PID412 - Module Firmware Default: N/A Range: 0 - 0xFFFFFF Access: RO Type: Integer Displays the module firmware revision as a hexidecimal number that is divided into two bytes. Example: 0x104 = 0x01, 0x04 = version 1.04 8.2 Node Address Lock Some PROFIBUS-DP masters have the capability to set the node address remotely.
Advanced Features Function Description Reserved Clear Out Data Unfreeze Freeze Sync and Freeze Status Unsync Refer to section 8.5 dor details. Sync Reserved Reserved 16 - 31 Reserved 8.4 PROFIBUS DP Timeout Action The Module Timeout, Master Monitor Timeout and Data Exchange Timeout settings are used to configure the drive's response when a network or module error occurs.
Advanced Features 8.4.2 Master Monitor Timeout Action PROFIBUS DP Timeout Action Module Timeout Action No Action Master Monitor Timeout Action No Action Data Exchange Timeout Action No Action Fault This parameter controls the action to be taken in the event of a Master Monitoring Timeout. The timeout period is set by the network master during the parameterization phase.
Advanced Features 8.5 Sync and Freeze 8.5.1 Sync and Freeze Overview The network master can put cyclic data into groups which allows multiple cyclic channels to be suspended and updated using the SYNC and FREEZE commands. The SYNC Command: • Controls data to the drive. (Dout) •...
Diagnostics Diagnostics 9.1 Faults In addition to the normal drive fault codes, the additional codes listed in Table 16 may be generated by the option module during a fault condition Table 16: Fault Codes Fault Code Definition Remedy F046 Module timout Module to drive communications time out.
Parameter Reference 10 Parameter Quick Reference Table 18 lists each parameter number and provides its function, default value and access rights. Table 18: Parameter Quick Reference Parameter Function Default Value Access Rights Cross Reference PID283 Node Address 4.3.5 Node Address PID284 OUT Data Size 5.2 Channel Data Sizes PID285 IN Data Size 5.2 Channel Data Sizes...
Page 838
AC Technology Corporation 630 Douglas Street, Uxbridge MA 01569 Sales: 800-217-9100 * Service: 508-278-9100 www.lenze-actech.com P94PFB01A...
Page 840
Lenze AC Tech Corporation. The information and technical data in this manual are subject to change without notice. Lenze AC Tech Corporation makes no warranty of any kind with respect to this material, including, but not limited to, the implied warranties of its merchantability and fitness for a given purpose. Lenze AC Tech Corporation assumes no responsibility for any errors that may appear in this manual and makes no commitment to update or to keep current the information in this manual.
Safety Information Safety Information Warnings, Cautions & Notes General Some parts of Lenze controllers (frequency inverters, servo inverters, DC controllers) can be live, with the potential to cause attached motors to move or rotate. Some surfaces can be hot. Non-authorized removal of the required cover, inappropriate use, and incorrect installation or operation creates the risk of severe injury to personnel or damage to equipment.
Safety Information The documentation contains information about installation in compliance with EMC (shielding, grounding, filters and cables). These notes must also be observed for CE-marked controllers. The manufacturer of the system or machine is responsible for compliance with the required limit values demanded by EMC legislation.
Introduction Introduction The following information is provided to explain how the PositionServo drive operates on a Modbus network; it is not intended to explain how Modbus itself works. Therefore, a working knowledge of Modbus is assumed, as well as familiarity with the operation of the PositionServo drive. Fieldbus Overview Modbus is an internationally accepted asynchronous serial protocol designed for commercial and industrial automation applications.
Introduction Ethernet Port • Supported baudrates: 100Mbps and 10Mbps • Supports two simultaneous Modbus TCP/IP connections on port 502 • Complies with IEEE 802.3 • Standard screened RJ45 connector with integrated status LEDs • On open connections with no activity for more then 75 seconds, the PositionServo Drive sends a TCP keep- alive message every 75 seconds to check the connection status.
Installation Installation Section 3.1 is only applicable to Modbus RTU communication with the EIA-485 (RS485) option module, E94ZARS41. Modbus TCP/IP communication uses the P2 Ethernet port on the front of the PositionServo. Mechanical Installation 1. Ensure that for reasons of safety, the AC supply, DC supply and +24VDC backup supply have been disconnected before opening the option bay cover.
Installation Connectors 3.2.1 EIA-485 Module Table 2 and Figure 3 illustrate the pinout of the PositionServo EIA-485 (RS485) Option Module E94ZARS41. The 3-pin connector provides 2-wire plus isolated ground connection to the network. Table 2: EIA-485 (RS485) Interface Pin Designation Terminal Name Description...
Installation Electrical Installation 3.3.1 Cable Types Due to the high data rates used on Modbus networks it is paramount that correctly specified quality cable is used. The use of low quality cable will result in excess signal attenuation and data loss. For EIA-485 it is recommended to use a good quality shielded twisted pair cable with characteristic impedance of 120W.
Installation • Maximum cable length for UTP/STP CAT5e cable is typically 100m. For other categories consult the cable data sheet. • Use fiber optic segments to: • Extend networks beyond normal cable limitations. • Overcome different ground potential problems. • Overcome very high electromagnetic interference. • Spurs or T connections are not permitted on an Ethernet cable.
Installation 3.3.5 Connections and Shielding: Ethernet The use of pre-fabricated cables is recommended as this reduces the chances of connections mistakes and poor quality connections. If cable connections are assembled on site then it is strongly recommended that these cables are tested with a suitable Ethernet cable tester STP cables are the preferred solution as they provide a screen/shield surrounding the inner cores and have an integrated screened surround on the RJ45 connector for quick and easy connection.
Commissioning Commissioning Overview It is assumed that the user has familiarised themselves with how to set parameters using MotionView software. Refer to the PositionServo with MVOB User Manual (S94PM01) for more details. The details that follow provide a step-by-step guide to quickly and easily set-up a PositionServo drive to communicate on a Modbus network Configuring the Network Master/Client The method for configuring master/client devices differs greatly between manufacturers.
Page 854
Commissioning Figure 10: Example Modbus Register Assignment 6. Repeat steps 3 to 5 for each required slave/server node Figure 11: Example Modbus Master/Client Configuration 7. Save the configuration and download to the master/client P94MOD01C...
Commissioning Configuring the PositionServo Slave/Server 4.3.1 Connecting With the drive power disconnected, install the EIA-485 (RS485) module and connect the network cable as instructed in the preceeding sections. Ensure the drive Run/Enable terminal is disabled then apply the correct voltage to the drive (refer to drive’s user manual for voltage supply details). 4.3.2 Connect to the Drive with MotionView OnBoard Refer to the PositionServo User Manual, section 6.2 for full details on configuring and connecting a drive...
Commissioning 4.3.3 Modbus RTU Slave Node Settings If using the EIA-485 (RS485) module, open MotionView and click on the [Communication] folder. Then select the [RS485] folder to set/change the RS485 parameters: Configuration, Baud Rate, Parity, Stop Bits and Address. Figure 14: RS-485 Folder Configuration: ‘Modbus slave’...
Commissioning Figure 15: Modbus RTU Folder 4.3.4 Modbus TCP/IP Server Node Settings The IP address of the PositionServo drive is composed of four sub-octets that are separated by three dots. Each sub-octet can be configured with a number between 1 and 254. As shipped from the factory the default IP address of a drive is: 192.168.124.120.
Page 858
Commissioning 4.3.4.2 Configuring the IP Address Manually (Static Address) When connecting directly from PositionServo drive to the PC without a DHCP server or when connecting to a private network (where all devices have static IP addresses) the IP address of the PositionServo drive will need to be assigned manually.
Commissioning To disable DHCP, click the box again. Power must be cycled for any changes to [Configure IP Address] to take effect. On changing any ethernet parameter value, the dialog box in Figure 17 will appear. Click [Ok] and cycle power for changes to take effect.
Commissioning Drive Monitoring The master/client can read the drive parameters as long as Modbus communications are enabled. NOTE: The complete list of variables can be found in the PositionServo Programming Manual (PM94P01, PM94M01). Controlling the Drive Controlling the drive over Modbus is essentially identical to controlling the drive from the User’s program. The list of variables and their functionality is identical for both User’s program and Modbus control.
Commissioning Ethernet Parameters Drive variables #67-70 are Ethernet communication programming parameters specifically for configuration of the ethernet interface. Table 6: Ethernet Variables - Excerpted from PS Variable List Variable Name Type Format EPM Access Description Units Ethernet IP address. IP address changes at VAR_IP_ADDRESS next boot up.
Protocol Implementation Modbus Implementation Supported Function Codes The Modbus function codes supported by the PositionServo drive are: 03 – Read Holding Register 16 – Preset (write) Multiple Registers Data Format, Size and Memory Area Modbus registers are limited by protocol definition to a length of 16-bits per register. The user must use two consecutive 16-bit registers to read/write one 32-bit register.
Protocol Implementation To access the <variable index> as EPM-float, use the following formula to calculate this register address (maximum address allowed is 2047): <register address> = 1536 + 2 * <variable index> + 1; Two special methods are created for those terminals that can ony handle 16-bit registers: To access the <variable index>...
Protocol Implementation Endian Format Modbus uses “big-endian” representation of the register data. This means that when a numerical value that is larger than a single byte is transmitted, the MOST significant byte (MSB) is sent first, e.g. • 16-bit integer value 0x1234 = 2 bytes of 0x12 and 0x34 • 32-bit integer value 0x12345678 = 4 bytes of 0x12, 0x34, 0x56 and 0x78 Registers Access • Care should be taken when accessing registers from multiple sources such as multiple clients or the drive...
Protocol Implementation Exception Responses If an invalid message is received, the drive will respond with a Modbus Exception as per the “Modbus application Protocol specification V1.1”, i.e. the exception function code = the request function code + 0x80 (an exception code is provided to indicate the reason of the error).
Protocol Implementation If no error occurs related to the Modbus function requested in a properly received Modbus ADU, the data field of a response from a slave/server to a master/client contains the data requested. If an error related to the Modbus function requested occurs, the field contains an exception code that the server application can use to determine the next action to be taken.
Reference Reference PID List with Modbus Values This is a condensed PID List to show the corresponding Modbus 4X Registers for PIDs 1-256. Modbus RTU can not access beyond PID256. For the complete variable list refer to the PositionServo Programming Manual (PM94P01 or PM94M01).
Page 868
Reference NOTE: In true Modbus, 3X and 4X Registers are numbered starting at 1. This is known as ‘one based’ addressing. However, when transmitted to a slave over the serial link, the actual address transmitted is one less. Some Modbus masters will allow for the first register number to be 0. This is known as ‘zero based’ addressing.
Page 872
Reference Name Description Range Unit Registers Register Reg Copy Reg Copy Register 32bit 32bit 32bit 32bit 16bit INT16 Integer Float Integer Float Signed Access Access Access Access Integer Register # Register # Register # Register # Register # Register # VAR_V21 User variable 1267...
Page 873
Reference Name Description Range Unit Registers Register Reg Copy Reg Copy Register 32bit 32bit 32bit 32bit 16bit INT16 Integer Float Integer Float Signed Access Access Access Access Integer Register # Register # Register # Register # Register # Register # VAR_NV22 User defined Network variable 1349...
Page 874
Reference Name Description Range Unit Registers Register Reg Copy Reg Copy Register 32bit 32bit 32bit 32bit 16bit INT16 Integer Float Integer Float Signed Access Access Access Access Integer Register # Register # Register # Register # Register # Register # VAR_IN9_DEBOUNCE Input C2 de-bounce time in mS 0 - 1000...
Page 875
Reference Name Description Range Unit Registers Register Reg Copy Reg Copy Register 32bit 32bit 32bit 32bit 16bit INT16 Integer Float Integer Float Signed Access Access Access Access Integer Register # Register # Register # Register # Register # Register # VAR_CAN_BAUD_EPM CAN Bus Parameter: Baud Rate: 1 - 8 1 - 8...
Page 876
Lenze AC Tech Corporation 630 Douglas Street • Uxbridge, MA 01569 • USA Sales: 800 217 9100 • Service: 508 278-9100 www.lenze-actech.com P94MOD01D...
Preface & General Info Preface and General Information How to use these Operating Instructions • These Operating Instructions are intended for safety-relevent opertion on and with the module. They contain safety information which must be observed. • All personnel working on and with the module must have these Operating Instructions available and observe the information and notes relevent for them.
Safety Info Safety Information Persons responsible for safety Operator • An operator is any natural or legal person who uses the drive system or on behalf of whom the drive system is used. • The operator or his safety personnel is obliged to ensure - the compliance with all relevant regulations, instructions, and legislation.
Technical Data Technical data Related documents • MODBUS Application Protocol Specification V1.1 http://www.modbus.org/default.htm It can be found at: • MODBUS over Serial Line Specification & Implementation guide V1.0 General Modbus protocol description The MODBUS protocol defines a simple protocol data unit (PDU) independent of the underlying communication layers.
Technical Data Configuration Drive 94 supports Modbus communication protocol through its RS485 optional card. The following Communication parameters are available: RS485 configuration – If the value of this parameter is ‘Modbus slave’ the modbus slave protocol is enabled on the RS485 port. If the value is ‘Normal’ the RS485 works in PPP mode. Modbus baud rate –...
Parameter Setting Parameter setting Register Memory 4.1.1 Read Only or Input Registers The following read only ModBus registers (drive variables) accessible only through the ModBus function • 03 (0x03) Read Holding Registers 4.1.2 Read/Write or Holding Registers The following read/write ModBus registers (drive variables) accessible only through the ModBus functions •...
Page 884
Parameter Setting ModBus Register Type Controller Variable Description 16 bit address 32 bit float VelocityAnalogInput See Drive 94 manual W: EPROM & memory. Low word starts first 16 bit word AccDecFlag See Drive 94 manual W: EPROM & memory. 32 bit float AccelLimit See Drive 94 manual W: EPROM &...
Page 885
Parameter Setting ModBus Register Type Controller Variable Description 16 bit address 32 bit float SeMaxErrTime See Drive 94 manual W: EPROM & memory. Low word starts first 16 bit word AnalogOutput See Drive 94 manual W: EPROM & memory. 32 bit float CurrentScale See Drive 94 manual W: EPROM &...
Parameter Setting ModBus Register Type Controller Variable Description 16 bit address 16 bit word InBounceDelay for input 2 See Drive 94 manual W: EPROM & memory. 16 bit word OutFunc for output 1 See Drive 94 manual W: EPROM & memory. 16 bit word OutFunc for output 2 See Drive 94 manual...
Page 887
AC Technology Corporation • 630 Douglas Street • Uxbridge, MA 01569 • USA +1 (508) 278-9100...
Need help?
Do you have a question about the PositionServo E94 040S1N Series and is the answer not in the manual?
Questions and answers