Click here to learn the biblical way to get to heaven! (The most important page on this site)


Disclaimer: This document is written in the hope that you can utilize for your own education to gain knowledge of PLC systems (should you decide to utilize this document). Although I believe the information in this document to be accurate, it is YOUR responsibility to verify this information before implementing it in any way, especially when damage to personnel or equipment could result. By continuing to read this document, you agree to hold no one who writes, modifies, or distributes this document liable in any way (even negligence). Due to the wide variety of plant applications, some of the examples in this document may be prohibited at your location, or could cause damage to equipment, or harm personnel.
[Visit my Church Website] -- [Return to Index Page] -- [View Training Courses] -- [Contact ATI for Training] *Copyright 2005
Author: Ricky Bryce (Montgomery County, IL)
VPS Hosting Referral Code MJDCDJYou can have your very own virtual server though VPSLink! Using REFERRAL code MJDCDJ you will receive a 10% discount on your new account, and I will get a service credit on my account. My personal preference is the Link 2 package running XEN for starting out (You can upgrade any time). You can choose from a variety of Linux distributions such as CENTOS, Fedora, Debian, and Ubuntu. This is a great package for learning Linux, and setting up your own web page, or email server.

Add New Axis


Now that we have a project, and we told the controller to connect to the motion module, we must now tell the motion module to connect to a drive over the SERCOS link. The procedure for establishing this connection is the same as most all connections in a ControlLogix system. Since we already told the processor to connect to the motion module, we must now right click the motion module and tell it to connect to the drive, and then the dirve must be configured.



  1. Right click the motion module in the I/O Configuration tree, and select new module.


  2. Select the catalog number of the drive you are using. In this example, we are using the 2098-DSD-005-SE Ultra3000 drive with SERCOS interface. Then press OK.


  3. Next, configure your drive similar to the image shown below. You must choose a name for the drive, and enter the node number of the drive on the SERCOS ring. This node number can be found from dials on the front of the Ultra3000 drive. Click 'Next' when finished.

  4. Click next again since we do not want to fault the processor or inhibit the module.


  5. If an axis has already been configured, you could associate this drive with the axis. Since the axis has not yet been configured, you must select 'New Axis'.


  6. Next configure the axis tag similar to the image shown below. This is going to be a Controller Scoped tag, and since we are configuring a servo drive, note the data type is AXIS_SERVO_DRIVE. Press OK when finished creating the axis tag.



  7. Now associate Node 1 with the axis tag you just created.




  8. Next, click the Elipsis next to the axis you just created, so we can configure a motion group for the axis to be part of, and associate the axis with the motion drive.


  9. For our configuration, you can select full servo mode, or feedback only. We will leave the confiuration as servo. Associate this axis to the drive at node 1 as shown by clicking the pull down tab.


  10. Next we must create a motion group that will scan the new axis. The ControlLogix processor only supports one motion group, so if a motion group has already been created, the 'New Group' button will be disabled. Click 'New Group'.


  11. Configure your motion group tag as shown. The purpose of grouping axis together is so they can all be scanned by the processor at certain intervals, and enabled or disabled as one group. Press the OK button when finished.


  12. Use the pull-down tab on the axis configuration wizard to associate the axis with the group you just created. When finished your axis configuration should look similar to what is shown in the image. Click Next.


  13. If you are utilizing cam targets, specify the number of cam targets you are using. Special motion instructions such as MDOC utilize cam profiles. For this example, leave the cam targets set to zero. You can think of cams in controllogix as being the electronic equivalent of a cam on a motor. A start point and endpoint can be specified within a cam profile. The delay compensation and filters can be left at default. These are used to compensate for the communication lag between a master and slave axis. Click Next.


  14. On the UNITS screen of the axis wizard, set the position units to 'mm' (for millimeters) We will think about this drive as one that causes linear motion. The Average Velocity time base is used to calculate the average velocity of the motor. This should be small enough so the calculation is not sluggish and calculates significant changes in velocity, yet large enough not to so the average velocity does not appear to be noisy. A value of .25 to .50 should work well for most applications. Press Next.

  15. Configure the Drive/Motor screen as shown in the image.

    1. You can select the amplifier catalog number from the pull down list since we already entered it on I/O configuration.

    2. Press 'Change Catalog' to set the catalog number of your motor. Ours is Y-1002-H. These settings will automatically configure some of the other parameters of the axis.

    3. The configuration we will use is Position Servo. For more detailed information on other possible selections, you may press the help button on this dialog screen.

    4. Drive resolution is 2000 counts per revolution.

    5. Input checking is off. If this is selected, the drive can alert another motion module of a fault via the drive fault input.


    6. You can select up to two attributes of the drive the can be accessed via a GSV instruction (Or Get Attribute List service). We are using Velocity Feedback, and Position Feedback.

  16. Click 'Next once the Drive/Motor screen is set up properly.


  17. There is nothing to configure on the motor feedback screen. RSLogix knows that type of motor we have, and therefore knows what type of feedback the motor provides. Click 'Next' to continue.


  18. Since the drive does not have auxilliary feedback, no options are available on this screen. If we would have had a second feedback device, we would be able to configure that device according to it's product specifications. Click 'Next'.





  19. Next, we must configure how many counts we have per millimeter of movement. For this example leave the value at 200000.0. This will give us 100 revolutions per milimeter allowing for precise linear movement. If you would have chosen Rotary for the positioning mode, you would be able to enter an unwind value which can be used by several motion instructions to unwind the axis. Click 'Next'.

  20. There are a few things we need to discuss about the homing tab. Homing is often done through use of the Motion Axis Home (MAH) command in logic. Below is a description of the options you have avalable on the homing screen:

    1. There are three modes of homing:

      1. Active: The drive will move to the home position by a home limit switch and/or the encoder marker.

      2. Passive: The absolute home position is redefined to be the current position. This can be used to recalibrate the absolute home position for an uncontrolled axis. This is the option used for our example.

      3. Absolute: This mode extablishes the absolute home home position using an absolute feedback device.

    2. The home position for this example will be 0.0 mm (or at the beginning of travel).

    3. With the sequence set to immediate, the current position will be redefined as the absolute position when the MAH command is executed. If the sequence is set to marker, the homing sequence will redefine the home position when it sees the encoder marker. Another option is to use a limit switch to define the home position. In that case you would need to define whether the switch is normally open or normally closed. An Offset can be applied if the switch is not exactly at the home position.

    4. For active homing, you can define a direction and speed. Click the help button on this screen if you wish to see a more detailed explanation of these options.


    5. Click 'Next'



  21. Since we are offline, we will execute the hookup test later. The hookup test helps to ensure the drive and feedback device are wored corectly. Click 'Next'.


  22. While Online, RSLogix 5000 can automatically tune the loop. The loop can be though of as the PLC generating a command that goes to the amplifier, which controls the motor. The motor then turns the feedback device (encoder) which sends a signal back to the PLC. This gives the PLC information about the motor such as position and velocity. This information can be used to set certain parameters such as Proportional and Integral gain for the servo system's inner velocity loop. We will tune this system later when we are online. Leave the settings to default for now. Click 'Next'.


  23. The dynamics of the motor such as max speed, accel and decel are initially set during the tuning process. They can later be manually adjusted. For now, leave these values at default, and click 'Next'.


  24. The gains are set as well during the tuning process and can be manually adjusted at a later time. Since this information is beyond the scope of this course, you can access information about gains by clicking the help button at the bottom of the dialog window. Click 'Next' to continue on to the next screen.


  25. The some of the output parameters were set by the type of motor you chose, or will be set by the scaling process as well. Click 'next'

  26. Next is the LIMITS screen.

    1. If Hardware Travel limits is selected, a periodic text will be executed that monitors the current state of the overtravel limit switch inputs if set to Linear mode. If this box is checked, and the axis moves beyond the overtravel switch, a hard overtravel fault will occur.

    2. If Soft Travel limits is selected, and the axis moves outside the Max Positive or Max Negative limits you have specified, a software overtravel fault will occur. You can specify the action to take in the event on the fault screen.

    3. The Position Error Tolerance and Lock tolerance are set by the tune process. The Error tolerance specifies how much error the servo will tolerate before generating a position error, and the lock tolerance indicates how close the servo must be to a position to report that it has locked onto the position.

    4. The Peak Torque/Force limit field specifies at which point the TorqueLimitStatus property of the DriveStatus attribute is set.

    5. The Continuous Torque/Force Limit specifies the maxiumum percentage of the drive's rated Torque Capacity is acceptable for continuous operation.

    6. Leave this window at default for now then click Next.



  27. If the axis is command to move a small amount, it will have a small amount of error. This small amount of error may not cause enough output to break the axis loose from friction to cause movement. This phenomena is also known to as 'stiction'. You can add a certain percentage of output within a specified window. The amount of output you add should be sufficient to break the stiction, but not enough to cause the axis to dither once is reaches the target. On this window you can also provide compensation for backlash. Backlash happens in mechanical devices such as gearboxes. When the motor reverses direction, it may travel some distance before it actually engages the load as the gearbox begins to wear out. If this happens, you can end up with motor movement without actual axis movement. Because the velocity and torque are calculated at the course update time, you could experience some error in the calculated values. On this screen, you can compensate for those errors. We have no need to allow for any of this compensation for the training units, so click next.

  28. Next, we have the Fault screen. On this screen, we specify the action we want to take for various faults. Leave this screen at default. Click Next.





  1. This screen just contains some information about the axis tag itself. We have already seen this information when the tag was initially created. Click FINISH!!!


  2. Click finish on the module properties screen as well.


  3. You are almost finished, but before the axis can operate, we have to define who is the coordinated system time (CST) Master. Right click on the controller at the top of the controller organizer window, and select properties.


  4. On the Date/Time tab, Make this controller the Coordinated System Time Master. Then press OK.