You are on page 1of 109

MagneMotion Independent Cart

Technology: Hands-on Experience


Important User Information
This documentation, whether, illustrative, printed, “online” or electronic (hereinafter “Documentation”) is intended for use only as
a learning aid when using Rockwell Automation approved demonstration hardware, software and firmware. The Documentation
should only be used as a learning tool by qualified professionals.

The variety of uses for the hardware, software and firmware (hereinafter “Products”) described in this Documentation, mandates
that those responsible for the application and use of those Products must satisfy themselves that all necessary steps have been
taken to ensure that each application and actual use meets all performance and safety requirements, including any applicable
laws, regulations, codes and standards in addition to any applicable technical documents.

In no event will Rockwell Automation, Inc., or any of its affiliate or subsidiary companies (hereinafter “Rockwell Automation”) be
responsible or liable for any indirect or consequential damages resulting from the use or application of the Products described in
this Documentation. Rockwell Automation does not assume responsibility or liability for damages of any kind based on the
alleged use of, or reliance on, this Documentation.

No patent liability is assumed by Rockwell Automation with respect to use of information, circuits, equipment, or software
described in the Documentation.

Except as specifically agreed in writing as part of a maintenance or support contract, equipment users are responsible for:
• properly using, calibrating, operating, monitoring and maintaining all Products consistent with all Rockwell Automation
or third-party provided instructions, warnings, recommendations and documentation;
• ensuring that only properly trained personnel use, operate and maintain the Products at all times;
• staying informed of all Product updates and alerts and implementing all updates and fixes; and
• all other factors affecting the Products that are outside of the direct control of Rockwell Automation.

Reproduction of the contents of the Documentation, in whole or in part, without written permission of Rockwell Automation is
prohibited.

Throughout this manual we use the following notes to make you aware of safety considerations:

Identifies information about practices or circumstances


that can cause an explosion in a hazardous environment,
which may lead to personal injury or death, property damage, or economic loss.

Identifies information that is critical for successful application and understanding of the product.

Identifies information about practices or circumstances that can lead to personal injury or death, property
damage, or economic loss. Attentions help you:
• identify a hazard
• avoid a hazard
• recognize the consequence

Labels may be located on or inside the drive to alert people that dangerous voltage may be present.

Labels may be located on or inside the drive to alert people that surfaces may be dangerous temperatures.
Commercial Engineering; Independent Cart Technology

Contents
Before you begin ........................................................................................................................................... 5
About this lab .................................................................................................................................................................................... 5
Tools & Prerequisites ........................................................................................................................................................................ 5
Network Setup .................................................................................................................................................................................. 6

Product Introduction ...................................................................................................................................... 7


Components and Architecture .......................................................................................................................................................... 7
Paths and Nodes .............................................................................................................................................................................. 8

Lab 1: Create and Upload a Node Configuration File (Estimated Time 25 minutes) ................................. 10
Create a Node Configuration File ................................................................................................................................................... 11
Verify the Configuration of Paths .................................................................................................................................................... 25
Verify the Configuration of Nodes ................................................................................................................................................... 30
Verify the Configuration of Node Controllers .................................................................................................................................. 31
Configure the Host Controller ......................................................................................................................................................... 38

Lab 2: Configuring a MagneMover Lite Node Controller for Simulation (Estimated Time 15 minutes) ..... 42
About this lab .................................................................................................................................................................................. 42
Connect to a Node Controller Using a Web Browser ...................................................................................................................... 42
Configure an Out-of-Box Node Controller for Simulation ................................................................................................................ 44
Upgrade an Out-of-Box Node Controller Software ......................................................................................................................... 47
Load Configuration Files into a Node Controller ............................................................................................................................. 51

Lab 3: Simulating Operation Using the NCHost TCP Interface Utility (Estimated Time 10 minutes) ......... 57
About This Lab ................................................................................................................................................................................ 57
Connect to and Startup a High Level Controller ............................................................................................................................. 57
Use Manual Vehicle Commands to Simulate Vehicle Motion ......................................................................................................... 64

Lab 4: Create PLC Application Code (Estimated Time 40 minutes) ........................................................... 69


About This Lab ................................................................................................................................................................................ 69
Generate Project file (ACD) using Application Code Manager (ACM) ............................................................................................ 69
Finalizing the ACD Project .............................................................................................................................................................. 95

3 of 109
Download and Run Program......................................................................................................................................................... 101

4 of 109
Before you begin

Prerequisite is to be familiar with Logix Designer software and programming.

About this lab


This lab is an introduction to the Independent Cart Technology motion products by working with a MagneMotion MagneMover
LITE (ML) simulated system.
After completing this lab, students should be able to:
• Describe the control system component function and architecture
• Identify the number of Paths, Node, and Node Controllers for a system layout
• Create and upload a Node Configuration File
• Startup a system and move vehicles
• Create PLC Application Code using Application Code Manager
• Adjust the logic station positions and velocities
This lab takes approximately 90 minutes to complete.

Tools & Prerequisites


For this hands-on lab, we have provided you with the following materials that will allow you to complete the labs in the workbook.

Software
▪ MagneMotion ML Configurator Tool
▪ Google Chrome
▪ Studio 5000 Version 33
▪ Application Code Manager Version 4.01
▪ Machine Builder Libraries (April 2021)
▪ Independent Cart Technology Libraries (April 2021)

Hardware (Remote)
▪ Node Controller (w/ AC adapter)
▪ Compact GuardLogix™ 5380
▪ Lab PC
▪ Ethernet Cables

5 of 109
Network Setup

6 of 109
Product Introduction

Components and Architecture


MagneMotion Linear Synchronous Motor (LSM) System has three product lines to meet the requirements of many different
applications. This lab focuses on the MagneMover LITE (ML) system, which can accelerate payloads up to 2 kg at 2 m/s2. The
other products are the QuickStick 100 (QS 100) and QuickStick High Thrust (QSHT) which produce more thrust and can be used
for payloads as high as 4,500 kg.
The basic components for all MagneMotion systems are magnet arrays and motors. The magnet arrays are neodymium magnets
arranged in an array of north-south-north poles. ML systems have one array size while QuickStick systems can have longer
magnet arrays to yield more thrust. The motors contain coils that energize to move the magnets along the motors.
The system architecture for all MagneMotion systems is shown here:

The Host Controller can be a PLC or PC that communicates to the MagneMotion system via Ethernet/IP or TCP/IP.
MagneMotion provides sample logic for Allen-Bradley PLCs, and we will use a Compact GuardLogix™ 5380 PLC for this lab.
There is only one Host Controller per system. It manages all system activities and vehicles by sending and receiving messages
from the High Level Controller (HLC).
The HLC is a software component that is run on one Node Controller (NC) in the system. The HLC communicates with the PLC.
There is only one HLC per system. It distributes commands from the PLC to the rest of the system and sends status and
responses to the PLC.
NCs manage the interaction between the HLC and the motors.
Motor Controllers translate commands from the node controllers into motion profiles and energize the coils of the motors to move
vehicles. Motor Controllers are internal to the motor casing on ML and QS 100, but are external on the QSHT. The Motor
Controllers manage all motion profiles and collision avoidance.

7 of 109
Paths and Nodes
MagneMotion systems are split into separate Paths, which are connected by Nodes. A Path is defined as an uninterrupted string
of motors placed end-to-end. When one Path ends, a new Path or Paths begin. Nodes are located at the junction between Paths.
You can also think of Nodes as logical decision points.
In the diagram below, each Path is represented by a different colored arrow, and the Nodes are circled.

Nodes are the software that manage how vehicles move from one Path to the next. Each Node is assigned and controlled by a
NC. In the example below, there are three separate paths (red, green, and blue), and they are connected to a single NC that
controls them.

There are different types of Nodes to accommodate different motor layouts. They use the processing load capability of the NCs
that are measured in Load Units. Here are some of the most commonly used Node Types and their load units:
Simple Node
▪ For the beginning of a Path when vehicles do not enter or exit the Path (i.e. no loop)
▪ Negligible load to a Node Controller
Relay Node
▪ To connect the end of one Path to the beginning of the next Path
▪ Split long Paths into separate smaller segments
▪ Connect the beginning and end of a continuous loop
▪ 1 Load Unit on a Node Controller
Merge Node
▪ When two separate Paths merge into one Path
▪ 1 Load Unit on a Node Controller
Diverge Node

8 of 109
▪ When one Path splits into two separate Paths
▪ 1 Load Unit on a Node Controller

9 of 109
Lab 1: Create and Upload a Node Configuration File (Estimated Time 25 minutes)

For Lab 1, we will create and upload a Node Configuration file. A Node Configuration File is an XML file that defines all system
components and parameters. The MagneMotion ML Configurator is used to generate the configuration file.
The Node Configuration File will contain all system components for a simulated “8 shape” system. This system consists of 3
Paths, with a Merge Node and another Diverge Node. This is what the physical system would look like.

Then, we will use the Node Controller Web Interface to upload the configuration file. The terminology for upload and download is
opposite of Rockwell PLCs. In the MagneMotion software environment, you “upload” a file from your PC to the Node Controller,
and you “download” a file from the Node Controller to your PC.

10 of 109
Create a Node Configuration File

1. Start the MagneMotion ML Configurator Tool


From the Taskbar, click on the MagneMotion ML Configurator Tool icon.

2. Move the Global MagneMover® LITE Settings Up


Hover your mouse over the slider between the graphics pane and the settings pane. When your mouse looks like , click
and drag downward until MM LITE Track Symbols pane is fully visible.

11 of 109
As seen in the track layout for the figure-eight demo shown below, we will choose a convenient starting location to begin
building the layout. This location has no relevance other than preference. Furthermore, we can add track elements in any
order we would like. However, for this example, we will lay the track in order.

12 of 109
3. From the MM Lite Track Symbols library on the left, drag a Left Switch LSM onto the drawing pane and drop
it:

13 of 109
4. Using the Zoom slider, zoom to 100%:

5. Using the red dot above the Left Switch LSM in the drawing, rotate the element so that it is oriented as shown
below:

14 of 109
6. Drag and drop a 90 Degree Curve LSM such that it is connected to the Left Switch LSM as shown below:

15 of 109
7. Drag and drop a 1 Meter Straight LSM such that it is connected to the 90 Degree Curve LSM:

8. Continue adding track elements around the loop until the outer loop is complete, and then add the middle 1
Meter Straight LSM to complete the layout. Be sure to use a Right Switch LSM for the switch on the right of
the track, as it switches between right and straight, rather than left and straight, as in the switch on the left:

Now that we have the layout sketched, we need to provide a starting point, in the form of a node, for the Walk the
Paths tool. This starting node can be any of the required nodes.
However, be aware that the starting node selected for the Walk the Path tool will automatically be assigned as node 1.
In this example, we require a node at the switch on the right that will be node 2, and another at the switch on the left

16 of 109
that will be node 1. Thus, we choose the node at the switch on the left as the starting point for the Walk the Paths tool
so that it will be created as node 1.

17 of 109
9. Drag and drop a Node such that it is connected to the top of the Left Switch LSM on the left of the drawing.
Note that a red target square will appear when the node has been dragged into the proper location for it to be
connected to the track element:

10. In the Node Type Selection window that appears, expand the dropdown select Merge for the type and then click
the OK button:

18 of 109
11. Drag and drop a Forward Direction arrow as shown below:

19 of 109
Now we will generate a starting configuration by using the Walk the Paths tool. To do so, however, we must first select the
starting node for the tool.

12. Select the merge node in your drawing.

Note that there are two ribbon menus in this application: one for the drawing, and one for the configurator tool itself. From
this point on, we refer to these as the drawing ribbon menu and the top ribbon menu.

13. In the drawing ribbon menu, expand Export and select Walk the Paths:

20 of 109
14. Click the OK button:

15. Notice that the Paths, Nodes, and Node Controllers for our configuration have been added to the Configuration
Tree:

21 of 109
These items merely provide a good starting point for our configuration. As we will see, we still need to verify and possibly
modify them to match our desired configuration exactly. Be aware that we also could have manually built our configuration
by adding individual items to the Configuration Tree. Let’s save our drawing so, if we need to modify it later, we will be able
to reload it.
16. In the drawing ribbon menu, expand File and select Save As:

17. Navigate to Desktop\LabFiles, name the file Figure8_Drawing, and click the Save button:

22 of 109
Click the Save button:

23 of 109
Now, if we have to reopen the overall .XML file for future edits, we will be able to load this .NDX drawing.

24 of 109
Verify the Configuration of Paths
In this section of the lab, you will verify the path configurations created by the Walk the Paths tool and modify them
as necessary for the given application.
1. In the Configuration Tree, select Path 1:

2. Adjust the right two viewing panes:


a. Drag the middle bar up so that the properties pane takes up approximately three-fourths of the display.
b. Adjust the drawing pane zoom so that you can see the whole track:

25 of 109
Notice that, with Path 1 selected in the Configuration Tree, the upper branch of the track drawing is
highlighted in red:

3. In the Configuration Tree, select Path 2:

26 of 109
Notice that, with Path 2 selected in the Configuration Tree, the middle branch of the track drawing is highlighted in
red. This also matches specification and requires no modification:

4. In the Configuration Tree, select Path 3 and verify that it is the bottom branch, as specified.
We have now verified that the configured paths match specification. Be aware that, if we expand a path, we
can inspect and modify the motors that make up the path. In this case, the default configuration works for our
application.
Since we would like to simulate operation using a single node controller, we will want to add the desired
simulation vehicles to path 1.

5. In the top ribbon menu, expand Options and select Show Simulated Vehicles:

27 of 109
6. In the Configuration Tree, expand Path 1:

7. Right-click Simulated Vehicles and select Add To End… :

8. Select the newly-added Simulated Vehicle 1 and configure it as follows:

9. Continue adding and configuring simulated vehicles on path 1 as shown below:

28 of 109
29 of 109
You should now have a total of 8 simulated vehicles dispersed across path 1.

Verify the Configuration of Nodes


In this section of the lab, you will verify the node configurations created by the Walk the Paths tool and modify them
as necessary for the given application.
1. In the Configuration Tree, select Node 1:

Note that, in the configuration window, node 1 is the merge node located on the left of our track layout. The
reason why this is the Node 1 is because we selected the merge node as the starting point for the Walk the
Paths tool:

30 of 109
2. In the Configuration Tree, select Node 2.
Now, in the configuration window, we can see that node 2 is the diverge node on the right. Notice that we may
also verify which paths enter and exit these nodes.

Verify the Configuration of Node Controllers


In this section of the lab, you will verify the node controller configurations created by the Walk the Paths tool and
modify them as necessary for the given application.
1. In the Configuration Tree, select Node Controller 1:

31 of 109
2. In the configuration, change the IP Address to 192.168.1.90. Notice that right now only Node 1 is owned by this
controller:

However, we only have one physical NC, and the Walk the Paths tool has configured 2 NCs, each owning a
node. Let us correct that.

3. In the Configuration Tree, select Node Controller 2:

32 of 109
33 of 109
4. Remove the node 2’s ownership from the NC 2. First change the Node ID to 2:

5. And then, click on Remove ownership:

34 of 109
6. Now, we delete the Node Controller 2 since we have no need for it. Right click on Node Controller 2 in the
Configuration Tree and click on Delete:

7. Now we go back to NC 1 to make it the owner of Node 2. In the Configuration Tree, select Node Controller 1:

35 of 109
8. Select Node ID 2:

9. Finally, click on Take Ownership:

36 of 109
This completes our track configuration.

37 of 109
Configure the Host Controller
In this section of the lab, you will specify a path to the Host Controller, and configure the communications between it
and the High Level Controller.
1. In the Configuration Tree, select PLC EtherNet/IP:

2. In the PLC EtherNet/IP Settings:


a. Check the Use a PLC for Host Control checkbox
b. Configure the PLC IP Address as ‘192.168.1.32’
c. The PLC CPU Slot remains 0, since we are using a Compact Guard Logix controller.
d. Since our demo unit only uses eight vehicles, set the PLC Max Vehicle ID to ‘8’.
As noted in the software, this will prevent us from using any more controller memory than is
necessary for our application.

38 of 109
e. Set the Vehicle Records per Status Period to ‘8’.
Now we will receive a status update for each of our eight vehicles each time status data is sent to the
Host Controller.
f. Enter ‘100’ for the Send Vehicle Status Period.
This is comparable to the Requested Packet Interval (RPI). Status information sent from the High
Level Controller to the Host Controller is implicit, just like data from any other Rockwell Automation
module. So, in this example, the 1756-L85E will receive a status update every 100 ms.
g. Configure the Tag Request Retry Timeout as ‘250’.
This is the timeout period for TCP/IP communications between the High Level Controller and the Host
Controller, such as when a connection is first established.
h. Select None for the PLC Host Disconnect Action.
Normally, we would probably want to suspend operation in the case of lost communication between
the High Level Controller and the Host Controller. However, by selecting none, we will still be able to
simulate operation using the NCHost TCP Interface Utility, even if the Host Controller is not present.

This completes the creation of our figure 8 demonstration configuration file, so we can save the file
and create the track file.
3. In the top ribbon menu, expand File and select Save As… :

39 of 109
4. Navigate to Destop\LabFiles, name the file Figure8_Configuration, and click the Save button:

Note that, if you accidentally chose save as from the drawing ribbon menu, rather than the top ribbon menu,
the file extension would be .ndx, rather than .xml. This is NOT the file that we need, so we need to be certain
we save the .xml file from the top ribbon menu.
This configuration XML file will be loaded into the High Level Controller at your workstation for simulation. Now
we need to create the track file for use with the NCHost TCP Interface Utility when we perform our simulation.
This file allows us to see the simulated vehicles move about the track, directly from within the NCHost utility.

5. In the top ribbon menu, expand File and select Create Track File from Config :

40 of 109
6. Navigate to Desktop\LabFiles, name the file Figure8_Track, and click the Save button:

7. Click the OK button:

8. Close the MagneMotion Configurator Tool.

You have finished this section of the lab.

41 of 109
Lab 2: Configuring a MagneMover Lite Node Controller for Simulation (Estimated Time 15 minutes)

About this lab


A MagneMover® Lite node controller may function as a Node Controller, a High Level Controller, or a High Level Controller for
Simulation. This must be configured from within the provided webpage interface. Furthermore, when configuring a node
controller, we must upload software images and configuration files to fully prepare the controller for simulation. In this lab you
will:
• Connect to a node controller using a web browser
• Configure an out-of-box node controller for simulation
• Upgrade an out-of-box node controller software
• Load configuration files into a node controller

It should take approximately 15 minutes to complete this lab.

Connect to a Node Controller Using a Web Browser


Just as with a new ControlLogix controller, we must load the desired firmware into an out-of-box node controller.
Furthermore, we must load our configuration file, and, for simulation, we must configure the controller as a simulation
High Level Controller. In this section of the lab, you will configure an out-of-box node controller for simulation.
1. Start Google Chrome.
From the Taskbar, click on the Microsoft Edge icon.

2. Type in the Node Controller IP Address


In the URL bar, type in the IP Address of the Node Controller: 192.168.1.90.

3. Enter the Username and Password


Enter the username and password to sign-in to the Node Controller.
Username: admin

42 of 109
Password: admin

43 of 109
Configure an Out-of-Box Node Controller for Simulation

The first page displayed is the General Status page. This provides information on the status of the system, such as
the system functions, uptime, and software version.

This Node Controller is acting as both a Node Controller and a High Level Controller for this system. It is
communicating out of its Ethernet port to the motors, so it is a Node Controller. It is also the point of contact with the
PLC, so it is the High Level Controller as well. Notice that, upon connecting to a new, out-of-box node controller, the
Node Controller Status shows as Down and the Node Controller Configuration shows as Invalid.
4. From the menu on the left, select IP Settings:

44 of 109
The IP address setting was already previously correctly set. There’s no need to change anything here.

In addition to the IP address settings, we must choose how this node controller will be employed. In this case,
we will be using the node controller as a High Level Controller for simulation.
5. Under Configured Functions, check the This box is a High Level Controller Simulator checkbox and then click
the Apply Changes button:

6. Upon successful completion, notice that the controller must be rebooted:

45 of 109
However, we also must reboot the High Level Controller following the image update, which we will be doing
shortly. Furthermore, the reboot can take a couple of minutes. Thus, we can kill two birds with one stone, and
save a couple of minutes, if we wait to reboot until after we have updated the image. Now we can begin
upgrading the node controller software to the latest versions.

46 of 109
Upgrade an Out-of-Box Node Controller Software
In this section of the lab, you will upgrade the node controller software image.
1. From the menu on the left, select Upgrade Software:

2. In the Node Controller Software Images on Flash section of the Upgrade Software page, click the Choose
File button:

47 of 109
3. Navigate to C:\RA\10004407702_ML_Platooning15.10.30\Node Controller, select the controller_image file,
and click the Open button:

4. Click the Upload File button:

The upload process can take up to 2 minutes, due to the nature of the cloud based infrastucture.

48 of 109
5. Once the file has been successfully uploaded, click the Activate button for the new file:

Once the new software image is activated, you must reboot the controller to start executing the new image.

6. From the menu on the left, select Reboot Controller:

49 of 109
7. In the Reboot Controller window, click the Reboot Controller button:

8. IF the lost connection icon appears (this does not always happen), simply click General Status in the menu
on the left. Otherwise, wait until the General Status appears on its own.

9. Notice that the High Level Controller Status has updated to Running Simulator:

At this point, if we were preparing a High Level Controller for a physical system (rather than simulation) we
would need to add the appropriate Motor ERF images from our firmware package. These would then be used
to program the physical motors. In this case, we will only be simulating with this node controller, so we can skip
adding the Motor ERF files.

50 of 109
Load Configuration Files into a Node Controller
The node controller requires three types of configuration files. First, it requires the configuration file created for the specific
application in the Configurator Tool. Second, it requires motor type files. And, finally, the node controller requires magnet array
type files. The versions of the Configurator Tool and the type files must match (i.e., they must all come from the same package
downloaded from the PCDC site). In this section of the lab, you will upload your configuration file, motor type files, and magnet
array type files.
1. From the menu on the left, select Configuration Files:

2. Under the Node Controller Configuration File section of the Configuration File page, click the Choose
File button:

51 of 109
3. Navigate to Desktop\LabFiles, select the Figure8_Configuration.XML file that you created, and click the
Open button:

4. Click the Upload File button:

At this point, if we were preparing a High Level Controller for a physical system (rather than simulation) we
would need to add the appropriate MagneMotion Information and Configuration Services (MICS) file which
maps the physical motors, their IP addresses and their MAC addresses to their position on the system layout
(position on a path).

5. Under the Motor Type Files section of the Configuration File page, click the Choose File button:

52 of 109
6. Navigate to C:\RA\10004407702_ML_Platooning15.10.30\MagneMover Motor Type Files, select the
ML_Gen4_motor_type.XML file, and click the Open button:

53 of 109
7. Click the Upload File button:

8. Under the Magnet Array Type Files section of the Configuration File page, click the Choose File button:

9. Navigate to C:\RA\10004407702_ML_Platooning15.10.30\MagneMover Motor Type Files, select the


ML_Halbach_magnet_array_type.XML file, and click the Open button:

54 of 109
10. Click the Upload File button:

We have now uploaded all of the necessary configuration files. However, upon completion of uploading the
configuration files, we must restart the services to use the new configuration.
11. From the menu on the left, select Reboot Controller:

12. In the Reboot Controller window, click the Restart Services button:

55 of 109
13. When the General Status page reappears, notice that the High Level Controller Status is Running
Simulator and the High Level Controller Configuration is Valid:

14. Close the Chrome web browser. Our node controller is now fully configured and ready for simulation in the
NC Host TCP Interface Utility.

You have finished this section of the lab.

56 of 109
Lab 3: Simulating Operation Using the NCHost TCP Interface Utility (Estimated Time 10 minutes)

About This Lab


The MagneMover® Lite NCHost TCP Interface Utility provides the capability to connect to, reset, and startup a High
Level Controller. We may use the utility to monitor operation and troubleshoot a system. Furthermore, the utility
provides a couple of methods for commanding motion, simulating commands from a Host Controller, allowing us to
test and demonstrate operation of both simulated as well as physical systems. In this lab you will:
• Connect to and startup a High Level Controller
• Use manual vehicle commands to simulate vehicle motion

It should take approximately 25 minutes to complete this lab.

Connect to and Startup a High Level Controller


In this section of the lab, you will use the NCHost TCP Interface Utility to connect with your node controller and start up the
system in preparation for simulation.

1. From the Task bar or the desktop shortcut, open the MagneMotion ML NCHost TCP Interface Utility .
2. In the Host Interface section of the utility:
1. Enter ‘192.168.1.90’ for the HLC IP Address
2. Select Control from the dropdown
Choosing control allows us to issue commands to the High Level Controller (HLC), while status only
provides feedback on what’s going on in the controller. In this case, by choosing control, the NCHost
TCP Interface Utility will give us some of the functionality of a Host Controller, permitting startup and
testing of system operation.
3. Click the Connect button:

57 of 109
3. Looking at the Host Interface pane, you should see that the HLC State is Operational:

4. Furthermore, looking in the Diagnostic Output pane, you should see Log Message output showing the
connection being established:

To see graphically what is going on with our vehicles, we need to upload the track file that we created in the
ML Configurator Tool and then open the graphics.
5. In the Host Interface pane, click the Track button:

58 of 109
6. Navigate to Desktop\LabFiles, select the Figure8_Track.mmtrk file that you created, and click the Open
button:

7. In the Host Interface pane, click the Graphics button:

59 of 109
8. Arrange the NCHost utility and the Graphics window side-by-side so that you can both issue commands and
view what is happening on the track:

60 of 109
9. Using the slider at the bottom of the Graphics window, zoom in so that you can more easily view the track:

Prior to starting up a system, it is always a good idea to first reset the system. This will clear out any existing
vehicle data in preparation for the startup.
10. In the Host Commands pane, verify that the Path ID is set to 0 and click the Reset button:

Note that, when the Path ID is set to zero, the command is issued to all paths in the system.

61 of 109
11. In the Diagnostic Output pane, wait for the Command: “Reset” status “Complete” path ID: # status
message to return for each of the three paths:

Note that, if you get ahead of the system and issue a startup command before the reset is complete, you will
receive errors and the system will not startup.
12. In the Host Commands pane, verify that the Path ID is set to 0 and click the Startup button:

The startup command has the HLC sense and populate either simulated or actual vehicle locations. Simulated
vehicles will be located as configured, while physical vehicles will appear in their actual, physical locations.
Note that, for MagneMover Lite systems, physical vehicles are not “homed”, so no motion should occur during
the startup of a physical system. However, be aware that, for QuickStick products, there may indeed be motion
during startup.

62 of 109
13. Upon completion of the startup, notice that the Vehicle pane has populated with the simulation vehicles that
you added to the configuration in the Configurator Tool:

63 of 109
14. Furthermore, looking at the Track Graphics window, notice that the vehicles have been placed at their
designated locations:

The High Level Controller is now ready for simulation of motion using Manual Vehicle Commands.

Use Manual Vehicle Commands to Simulate Vehicle Motion


If you are familiar with Rockwell Automation integrated motion control, manual vehicle commands in the NCHost utility are
somewhat comparable to Motion Direct Commands. They are issued individually by the user while online with the controller.
These commands may be used both in simulation as well as with a running physical system. In this section of the lab, you will
use manual vehicle commands to move the simulation vehicles around your track.
1. In the Manual Vehicle Commands pane:
1. Enter a Vehicle ID of ‘7’
This is the vehicle that will move upon issuing the command.
2. Select Backward from the directional dropdown
Since our configured forward direction is clockwise, this will command the vehicle to reach the
specified destination in the counter-clockwise direction.

64 of 109
3. Enter a Path ID of ‘3’
This is the path to which the vehicle will move.
4. Enter a Position of ‘1.65’
This is the absolute position on the specified path to which the vehicle will move. Absolute positions
are relative to the upstream start of the path, which, in turn, is relative to the configured forward
direction of travel, beginning at 0.0 meters. Recall that we configured the forward direction of travel as
clockwise. A position of 1.65 meters on path 3 should put the vehicle close to the downstream end of
path 3:

5. Enter an Acceleration of ‘2’ meters per second squared


6. Enter a Velocity of ‘2’ meters per second
7. Click the Execute button:

65 of 109
2. Notice that vehicle 7 has moved as far as it can in the counterclockwise direction:

3. Furthermore, notice in the Diagnostic Output pane that the command has been Accepted, and in the Vehicle
pane that the vehicle has a destination of 1.650 on path 3, but it is obstructed (by vehicle 8) and is currently at
position 0.4368 on path 1:

Let’s move vehicle 8 out of the way so that vehicle 7 can continue on to its destination.

66 of 109
4. In the Manual Vehicle Commands pane:
1. Enter a Vehicle ID of ‘8’
2. Select Backward from the directional dropdown
3. Enter a Path ID of ‘2’
4. Enter a Position of ‘0.7’
5. Enter an Acceleration of ‘2’ meters per second squared
6. Enter a Velocity of ‘2’ meters per second
7. Click the Execute button:

67 of 109
5. Notice that the vehicles have indeed moved to their commanded positions:

You can leave the NC Host open for now, we will come back to it later.

You have finished this section of the lab.

68 of 109
Lab 4: Create PLC Application Code (Estimated Time 40 minutes)

About This Lab


Machine Builder Libraries (MBL) and Independent Cart Technology (ICT) Libraries are part of Rockwell Automation®
Application Content. Application Content helps engineers create automation projects from standardized, lifecycle
managed, application-focused libraries in an efficient and sustainable way. The Library is a predefined collection of
coded objects that offer proven strategies, functionality, and known performance for your machine or equipment.
The goal of the Independent Cart Technology Libraries is to reduce cost, time to market and risk while increasing
value and helping the management of machine lifecycle.
ICT Libraries help design machines faster, delivering specific functionality and best-in-class performance in a
modular approach. They are available in Studio 5000® Application Code Manager (ACM) as a Rockwell Automation
Library.
ACM allows the creation and management of your own library objects for reuse on other projects. The use of ICT
Libraries as components of your own libraries facilitates the management of the lifecycle of your application code.
Throughout this lab, you will create the PLC application code for the MML system you have configured so far from
scratch, leveraging the ease of use of MBL, ICT Libraries and ACM.

In this lab you will:

• Configure an ACM project to generate the code necessary to run our application
• Generate the Project file (ACD) using Application Code Manager (ACM)
• Finalize some details on the ACD Project
• Download and run the program
• Analyze some of the program’s functionalities

It should take approximately 25 minutes to complete this lab.

Generate Project file (ACD) using Application Code Manager (ACM)


In this section you will use ACM to scale and generate a project file.

1. Open Application Code Manager from the Taskbar:

2. Start a new project file by selecting the new icon on the top left.

69 of 109
3. Under (RA-LIB) ACM 2.00 select (RA-LIB) ACM 2.00 Project and press next.

4. When prompted to give the project a name use ‘MM_Lab’ then press finish.

70 of 109
9. We will now add our controller to the project. In the Class View window right click on Controllers then select
‘Add New…’.

71 of 109
10. Confirm that the libraries are sorted by LibraryType. Expand Controller (9 items) then select the
MachineBuilder_CompactGuardLogix (2.1) and press Next.

72 of 109
11. Name the Controller ‘MM_Lab’. Ensure the SoftwareRevision is 33, ProcessorType is L3100ERMS2, and the
EtherNetIPMode is set to A1/A2: Dual-IP. Then press Finish.

73 of 109
As you add components ACM will automatically start generating your project and you will be able to see those changes in
your Controller Preview as shown below. Here the Machine Builder definition of a controller already generated several
Periodic Tasks which we will take advantage of later.
In the Class View you will see the ACM objects that can be redefined at any time by selecting them. For example, if you want
to switch the EtherNet/IP mode to Linear/DLR you can select the MM_Lab controller in the Class View and change its
Parameters.

74 of 109
75 of 109
12. Now you will add the MagneMotion Device Handler. Do so by right clicking on the MM_Lab controller then on
‘Add New…’. This step will be repeated every time we want to add a new object.

13. To select the MagneMotion Device Handler expand the Device library type and select raM_Dvc_DH_MM, then
press Next.

76 of 109
14. Add the Device Handler to the ms0008p08 task. If you want to save controller memory configure the parameters
like the image below. If not, you can leave them as they are. Then select Next.

77 of 109
15. Now you must add all the dependencies for the Device Handler. Do so by clicking on Auto Create:

78 of 109
16. At this step, the system is automatically creating the Device Handler as well as some other basic objects that are
necessary for the DH to work properly. Click OK to continue.

79 of 109
17. To finish click on Finish:

5. Next, we will add a routine that monitors the status of the system. It is also used to link the system’s status to an
HMI status object as well. As before, add a new object to the MM_Lab controller in Class View, and filter the
libraries per Category in the Object Configuration Wizard. Then expand the Asynchronous Motion – Asset
section, select the raM_LD_MM_DeviceStatus object and then click Next:

80 of 109
6. For this object add it to the ms0008p08 task and create a new program called ‘P01_MM_Main’:

7. Change the name to ‘P01_MM_Main’ and then click on Finish:

81 of 109
8. Click on Finish again to finalize creating the routine and the program:

82 of 109
18. Now we will add the MM_StartupSequence design pattern. This routine is used to automatically start the track
for you. To add this, just as before, right click on the MM_Lab controller and Add New. From the
Asynchronous Motion section choose the MM_StartupSequence (1.2) and then click Next:

83 of 109
19. Select the ms0008p08 task and the P01_MM_Main program. Configure the Network Configurations as
shown below, and then click on Finish:

84 of 109
This will point the PLC to the MagneMotion HLC. The parameter for the EthernetPort will define if you are going
through the front port of the PLC or the back plane (for ControlLogix systems). This setup will be implemented on
all the messages that are used to communicate with the MagneMotion system.

20. Let us now add the raM_LD_MM_Clear operation, which will allow us to clear faults in the system. Add a new
object to the MM_Lab controller, pick raM_LD_MM_Clear (1.2) from the Asynchronous Motion section. Put it
in the ms0008p08 task and P01_MM_Main program. This routine will clear Device Handler faults.

85 of 109
86 of 109
16. To finalize our PLC application, we will now add the logical stations which will be used to control vehicles and
send them to specific destinations. These stations represent where the movers will go to for the manufacturing
processes to happen. Add a new object to the MM_Lab controller, then select the MM_Stations (1.2) design
pattern from the Asynchronous Motion section.

87 of 109
17. Add it to the ms0008p08 task and P01_MM_Main program. Configure the parameters like shown below, then
click Next:

88 of 109
18. The required AOIs are not yet included in the project. In the Linked Libraries click Auto Create to have ACM
automatically import all required AOIs.

89 of 109
19. Then press OK:

90 of 109
20. Now you can press Finish.

21. Notice that ACM has added 4 routines, one for each Station that we configured while adding the object. We will
configure each station further after we generate our ACD file for our project.

91 of 109
22. Now let us finally generate an ACD file from ACM. Right click on MM_Lab controller and select Generate
Controller:

92 of 109
23. Tick the Create ACD checkbox only and click the ‘…’ button to change the Save Path:

24. Change the location to the Desktop\LabFiles folder and click OK:

93 of 109
25. Then click Generate:

ACM will automatically generate an ACD file for you. If for example you choose to change the controller version or
some of the definitions, you can simply regenerate an ACD project and that will allow you to make your
programing more flexible.

94 of 109
Finalizing the ACD Project

Now that we have generated an ACD file from Application Code Manger we must now finalize the project in Studio
5000.

1. Open the MM_Lab Project you just created from the folder Desktop\LabFiles:

2. Next, we will configure the position of each Station on the track, and change the timers preset time to simulate
different processes taking place. Open the MM_Stations00 Routine under the P01_MM_Main Program:

95 of 109
3. The stations come with a pre-built command to trigger them and release the vehicle to the next station (in this
case the Cmd_MM_Stations00 XIC). We will be using a timer to keep the vehicle in that station and simulate
the process time of the station.

96 of 109
4. For Station00, let us configure the raM_Tec_MM_Station AOI as follows:

5. Change the preset time for this station’s process to 1000ms:

97 of 109
6. Now let us do the same for all other 3 stations. Station 1 in MM_Stations01 routine:

7. Station 2 in MM_Stations02 routine:

98 of 109
8. Station 3 in MM_Stations03 routine:

99 of 109
9. This is what our stations were configured like:

10. And their sequence goes as follows:

100 of 109
Download and Run Program

1. Now it is time to download the program to the controller. Open the Who Active window, Expand the Ethernet,
Ethernet driver and select the 192.168.1.32, 5069-L3100ERMS2 controller and Download the project.

2. When the Warning Prompt pops up, click on Download:

101 of 109
Please be patient while the Download process takes place. Since we are using a cloud-based environment, it
is normal for this process to take longer than we are used to when working locally. The Download can take
several minutes.

3. Make sure that after the download your controller is in Run Mode.

102 of 109
4. Open the MM_DeviceStatus routine in the P01_MM_Main program and verify the Device Handler is in
Connected and Idle state. This means that the HLC can communicate with the PLC.

5. Resize the Logix Designer application and expand the NCHost Utility and its track graphics such that you can
view all three windows simultaneously:

6. Navigate to the MM_StartupSequence routine and toggle the CMD_Startup Bit to startup the system.

103 of 109
7. Notice that you can see that the system starts up as if you would have given a Startup command from the
NCHost tool. Also notice that the simulated vehicles populate the Track Graphics.

104 of 109
8. We will now enable all the stations. The station AOIs will not command vehicles or movers to each other until
the stations are enabled. Go to the MM_Stations00 routine and enable the station by toggling the
Cmd_MM_Station00 bit and leaving it high. Notice that the vehicles will start moving to the Station 00.

9. Repeat this step for Stations 01 through 03.

105 of 109
10. After we have all Stations enabled the system will keep running on its own.

106 of 109
11. Let us check the status of our movers. Go to the raM_Dvc_DH_MM program and open its Parameters and
Local Tags. Scroll down and look for Mover, then expand Mover[1].Status to view the vehicle’s status (please
note that Mover[0] is not used). It is possible to see the mover’s actual position, velocity and path. You can
also see the station towards which the mover is going, from the tag TargetID.

107 of 109
12. You can see that mover/vehicle 1’s TargetID, PathID and Position should all be changing. The mover will
continue to move from station to station indefinitely.

108 of 109
This concludes this lab.

109 of 109

You might also like