Knowledge Base /
Technical Notes
Migrating Rockwell Automation RSTestStand™ to Mimic Simulation
By Anna Ivarson
Product: Mimic Simulation

As the Rockwell Encompass Partner for dynamic simulation, MYNAH Technologies offers users the option to manually convert simulation projects from Rockwell Automation’s RSTestStand™ to Mimic Simulation Software or to utilize our expertise through cost effective model migration services.

For users who wish to do this conversion themselves, MYNAH has collaborated with Rockwell Automation to develop a procedure to be used in transitioning from RSTestStand™ to Mimic. This manual solution outlined here has been tested and is fully supported.

In this procedure, it is assumed that the user has access to RSTestStand™ software, can use the “Logic View” on each resource template as needed, and can view the variables/tags used to configure these resources. The table below outlines the major sections of the procedure for converting each piece of the RSTestStand™ project into its equivalent part of Mimic.

RSTestStand™ Mimic Simulation Software
Resource Model
Tags/Variables SIOTags (Ethernet/IP IO Definition)
SIOTags (OPC IO Definition)
Operator Console Graphic View

Jump to:
Converting Resources to Models
Converting Tags into SIOTags
Converting an Operating Console to a Graphic View
Some Troubleshooting
More Resources for RSTestStand™ to Mimic Migration

Converting Resources to Models

There are a few important differences between the two simulation programs that may prevent a migrated project from being completely identical to the original. First, time does not run the same way in models as it does in the logic flowcharts in resources; “scans” are used as time in Mimic. Where some logic flowcharts will show a block featuring “Pulse (0.25),” for example, Mimic would perform this task once each scan instead of each 0.25 seconds. Mimic defaults to one second between scans.

Along these lines, the Delay Time resource cannot be modeled in Mimic because the duration of a time cannot be declared at runtime. This resource would be equivalent to a Dead Time Block if the block’s duration was dynamic. It could be possible to do this with a loop structure in a Calculation (Calc) Block using the TIME variable, but the Calc Block’s loop until functionality is limited to 100 iterations.

Additionally, the Excel Data Array resource does not have a Mimic equivalent. This functionality cannot be captured as is because Mimic does not support the ability to read data from an external source in the way that this resource references columns from an excel spreadsheet to populate an array.

Aside from the exceptions above, all remaining standard resources (those with templates available in the RSTestStand™ Software) can be converted into an equivalent or nearly equivalent Mimic model. Standard resources and their matching blocks are shown in the table below. For more detailed information about each block in Mimic, the Help Files can be accessed by right-clicking on the block and selecting “What is this?”.

RSTestStand™ Resource Mimic Block(s) to Make Model
Simple Axis Simple Axis
Rotary Axis Rotary Axis
Velocity_Position Axis Velocity Position
Sine Wave Generator Signal Generator
Duty Cycle Timer Pulse Generator
Random Amplitude Generator Randomizer
Shift Register Shift Register
Action_Reaction_Reset Retention Timer
Generic VFD Generic VFD
Fixed Speed ON Pump Simple Pump with RPM Calc Block
Variable Speed Pump Simple Pump with Variable RPM Calc Block
One_Shot One Shot
Timer Delay Dead Time
Flip Flop RS Flip-Flop
Message Array Example Message Array
Momentary Latched MOV Momentary Latched MOV
On_Off Valve On Off Valve
Motor Operated Valve Motor Operated Valve
Analog Valve Analog Valve
Integrator Integrator and check limits with Conditional
Limiter Minimum with IParam set to limit
Multiplier Multiplication Operator
Second Order Lag Second Order Filter
First Order Lag First Order Filter
Scale Function Scaler

For users that need to convert custom RSTestStand™ resources to Mimic models, Calc Blocks should be used. These blocks allow the user to specify the script carried out by the block. Following the suggestions below should help the user to generate a Mimic model based on the flowchart provided in the “logic view” of the resource.

  • Check the available Mimic blocks to see if a block with the desired functionality is already available.
  • Write the functionality of each path one-by-one.
  • Determine if the paths in the flowcharts need a specific execution order, and write the Calc Block accordingly.
  • If there are paths that should not run concurrently (ex. conveyer belt moving left and conveyer belt moving right), ensure they are written into an if-else statement.
  • In RSTestStand™, when the MoveLinear function is called on a capability variable, the variable increases from 0-100% over the given duration. This can be modeled by increasing a variable in the Calc Block by an increment variable such that IncrementVariable = (100 / duration) / ModelScanRate. Alternatively the Ramp Block can be used.

There are also a few blocks in Mimic, but not RSTestStand™, that are needed in conjunction with the mentioned modeling blocks in order to fully simulate a resource in Mimic. An Input Parameter (Iparam) Block will be needed for each variable that is an input to the resource (found by going to the “Variables” tab of the “Properties” window for the resource). Output variables that need to be referenced will also need similar accommodations (using an Output Parameter, or Oparam, Block).

Variables associated with tags will also need to use separate blocks to communicate with Mimic’s Simulated IO Tags (SIOTags). This is done with Analog Input or Analog Output Blocks. Writing from the model to the controller requires an Analog Input (AI) block, while reading from the controller requires an Analog Output (AO) block. Block references will need to be specified via arrows connecting blocks or by using path references to connect blocks in the same or different models.

When multiple bits of a word contained in a SIOTag need to be written to or read from, the Boolean Fan In/Boolean Fan Out (BFI/BFO) Block will need to be used. Note that the controller indexes for the bits start at zero, so the index in Mimic will be one greater. For example if the tags in RSTestStand™ are Local:1:I.Data/6 and Local:1:I.Data/7 and the values are being read from the controller, the model would require that the AO Block feeds into a BFO Block so that outs 7 and 8 can be selected exclusively and connected to Output Parameter Blocks.

Conversely, if the RSTestStand™ was writing to Local:1:I.Data/4 and Local:1:I.Data/5, the values will be written into a BFI block as shown.

Example of Boolean Fan Blocks used to replace an RSTestStand™ write

In this case, we cannot simply write into the 5th and 6th bits of Local:1, because the state of all of the other bits need to be saved. To fix this, BFO and AO Blocks reading from the same tag are used to keep all of the other bits constant.

Converting Tags into SIOTags

Two different options for users to create IO Definitions are outlined here. Users may choose to create Ethernet/IP or OPC IO Definitions based on the connection they wish to simulate. After the instructions for generating each of these IO Definitions, the steps to connecting the SIOTags to the blocks in the models are listed.

EtherNet/IP IO Definition:

  1. In RSLogix™ 5000, export the tags as an .L5K file.
  2. In Mimic, create a new EtherNet/IP IODefinition. Near the bottom left corner of the Mimic Explorer, there is a button to open the tree of IO Definitions. Open this and right-click the database name at the top of the hierarchy (next to the small yellow cylinder) and select “Add” to create a new Ethernet IP type IO Definition.
  3. Right-click on this IO Definition and select “Add Device.” Select “UCMM Tag Access”, Processor Type "Logix”, and enter the IP address at which the device can be found.
  4. Right click the device and select “Add Tag Data Source” and click “OK” in the Import Dialog.
  5. Right click on the IODef Network and select “Import Ctlr” and click “OK”.
  6. Browse for the .L5K and select the newly created device.
  7. Finally, expanding the device in the tag browser will show all the tags from the .L5K file. Find the matching tags used in the RSTestStand™ project and add those tags to Mimic by right clicking them and selecting “Add to Mimic IO Definition”. The added tag should be highlighted in green.

OPC IO Definition:

  1. Create an Open OPC IODefinition in the Mimic Explorer. Near the bottom left corner of the Mimic Explorer, there is a button to open the tree of IO Definitions. Open this and right-click the database name at the top of the hierarchy (next to the small yellow cylinder) and select “Add” to create a new Open OPC type IO Definition.
  2. Right click on the IO Definition, and select “Properties.” Under the Connection tab, browse for a server machine.
  3. Still in the Connection tab, click the browse button (three dots). Select the OPC server that RSTestStand™ is communicating with (in this case RSLinx OPC).
  4. In the explorer, add the needed SIOTags. In the description field put the name of the RSTestStand™ variable that the Tag is connected to. The direction field will be Read if the RSTestStand™ variable is Sink, Write if it is Source, and Read/Write if Duplex. Finally browse for the SIOTag in the controller in the Item Path field.

Connection SIOTags:

Now that all of the SIOTags are created, all of the AO and AI Blocks in the models can be connected.

  1. Expand the node containing the appropriate areas and models. Right-click on the branch labeled “SIOTags” and select “New” and “Add Existing” to add the desired tags.
  2. Select each AI and AO Block in Simulation Studio models, double click the OUT.SIOTag parameter, and browse for the corresponding SIOTag. Keep in mind the potential need for Boolean Fan Blocks.

Converting an Operating Console to a Graphic View

Creating a Graphic View in Mimic is done by right clicking “Views” in Mimic’s Simulation Database and selecting “New” and “Graphic View.” With this view, components can be added to create a visual based on a P&ID, organize training scenarios, simulate a control panel, and more. Nearly all Op Console Devices have an equivalent Mimic Component. The table below shows the Components that correspond to Devices in RSTestStand™. Each component can be configured and customized by right clicking on it and selecting “Properties.”

RSTestStand™ Op Console Device Mimic Component(s)
2 State Feedback Switch, AI Block, Dead Time Block, AI Block, and LED
E_Stop Switch
Indicator Lamp Switch
LED Display Label
Message Display Label
Meter Vertical/Horizontal Bar Graph
Push Button Push Button
Selector Switch Knob + Conditional Block
Slider Vertical/Horizontal Slider
Strip Chart Right-Click “Views,” and select “New” and then “Trend View”
Text Box Comment Block
Thumb Wheel Vertical Slider with limits [0, (10^Digits)-1]
Toggle Switch Switch

Some Troubleshooting

If the error message “Could not browse the service list: Could not create the OPCEnum Instance. Access is Denied” appears while creating the Open OPC IO Definition, then OPC items are not being enumerated from the target machine or credentials need to be corrected.

While generating IO Defintions, if the server required is not listed, ensure it is running on the server machine entered into the SERVER_MACHINE field.

More Resources for RSTestStand™ to Mimic Migration

MYNAH has many other articles available online prepared to help all users of Mimic. For those new to Mimic, our Quickstart Guide and Help Files are very informative starting points. Our support team is also available to answer questions and troubleshoot issues. Contact us using the information below or login and open a support ticket on our website.

For users that would prefer to use our consulting services for this migration, quotes can be requested by contacting MYNAH at or by calling +1.636.728.2000 for more information.

MYNAH Technologies LLC
390 South Woods Mill Road, Suite 100
Chesterfield, MO 63017 USA
Tel: +1.636.728.2000
Fax: +1.636.728.2001