Professional Documents
Culture Documents
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 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
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
3 of 109
Download and Run Program......................................................................................................................................................... 101
4 of 109
Before you begin
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
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
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.
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:
25 of 109
Notice that, with Path 1 selected in the Configuration Tree, the upper branch of the track drawing is
highlighted in red:
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:
28 of 109
29 of 109
You should now have a total of 8 simulated vehicles dispersed across path 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.
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.
32 of 109
33 of 109
4. Remove the node 2’s ownership from the NC 2. First change the Node ID to 2:
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:
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:
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:
41 of 109
Lab 2: Configuring a MagneMover Lite Node Controller for Simulation (Estimated Time 15 minutes)
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:
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:
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.
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:
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:
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.
56 of 109
Lab 3: Simulating Operation Using the NCHost TCP Interface Utility (Estimated Time 10 minutes)
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:
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.
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:
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.
68 of 109
Lab 4: Create PLC Application Code (Estimated Time 40 minutes)
• 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
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’:
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:
97 of 109
6. Now let us do the same for all other 3 stations. Station 1 in MM_Stations01 routine:
98 of 109
8. Station 3 in MM_Stations03 routine:
99 of 109
9. This is what our stations were configured like:
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.
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.
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