Simulation of I/O from HMI, A-B ControlLogix

OA_74

Member
Join Date
Feb 2016
Location
Norway
Posts
3
Hi guys,

I want to gather some ideas on how to simulate a PLC application for Allen-Bradley ControlLogix. I do have a small rack (4 slots), but the only modules are CPU (L72) and Ethernet (EN2T). With this equipment I want to simulate a complete control system consisting of one rack with CPU and communications, plus several rack of I/O modules.

I'm using RSLogix5000 V20 and FactoryTalk View V7.

I have performed simulations with this setup earlier with success, but I'm not sure I'm doing it the most efficient way.

So my question essentially is:
- How do you normally do your simulation of control systems?

Any idea is welcome :)

Note that I'm NOT talking about simulation on a live system at site, but at a remote position with no I/O connected.
This might be for trouble shooting (files sent to office from field service rep), for internal testing before installing a new control system, for FATs prior to shipping, etc. The key is to be able to perform a safe and reliable test without all I/O connected.

Some more information about the way I normally do this:

Without any connected I/O, I'm not able to do any hardwired simulation from switches and potmeters, etc.
I will have to do it all through software.

The FactoryTalk View is fully capable of talking to most every tag in the PLC, however, not to the input registers, which will have to be forced directly in RSLogix5000. Forcing is too time consuming, and is not an option.

I make some additional tags that holds the simulated values. These can be structured similar to the I/O module layout for easier readability. Arrays with aliases may be a nice way of structuring, and makes it easier to copy large amount of data with a FOR TO loop.

Then I add a separate routine to handle the simulation part, and off-course some logic that automatically will turn off any simulation after boot-up, also logic to prevent activating simulation mode based on safety criterias, etc.

I also make a dedicated test/simulation HMI in FactoryTalk View just for this purpose, an HMI that never will follow the project to the destination. When enabled, the simulation will ignore the input registers and only read values from the test HMI.

With a bit of structured layout on the HMI, I can line upp all the inputs with buttons and values for each input module.
With a creative layout, I also place the same inputs on a process screen to get a better understanding and accessibility during process testing.

I have also used a second "test PLC" for the simulation and utilized produced/consumed tags. This way I can make complex models to simulate the process with valid values for different situations without altering the project software.
Anyway, for this solution I still have to make a simulation mode in the project and accept the simulated values in the logic when the real I/O is unavailable.

I was playing with the thought of having an external device talking to the PLC and act as a remote I/O rack. Is this possible? Perhaps there is a solution for this already? If so, the PLC would recognize the rack and believe it is real I/O.

Is there a way to perform full simulation without adding or altering any logic inside the CPU?
For existing (old) projects this would be beneficial, but for now I see that I have to add the simulation mode in the logic in order to perform the tests.
For new projects, I'm able to design the I/O handling with a simulation mode from the beginning, but it is still nice to get ideas on how other people are doing this.

Sorry for the long text :)
Hopefully, this question hasn't been asked before, but I couldn't find anything like this when searching.

Best regards
OA
 
I use the emulator, or an actual PLC. Disable all IO modules (which can be done using code tied to a Sim bit). Make a subroutine called Z_Simulation (which I export and then delete when done). Make a UDT called Z_Sim with a bunch of timers, counter, real, bool etc. Then create a tag called Z_Sim with type Z_Sim. Then using those tags write code to simulate each part of the process. With the IO modules disabled you can have an OTE to an input. I have code I also use to simulate (very basic mind you) analog signals. For example, if an inlet valves opens on a tank increase the level by X every Y seconds.
 
Thanks for the replies.

From JaxGTO, I really got a very nice input, even if his method is pretty much what I'm doing already.
I just didn't think of writing to the input register.

I performed a small test of this right now.
My current setup is a main rack with 1756-L72 and EN2T installed, plus 2 empty slots configured with communication modules with I/O racks connected. Then I have configured several racks of I/O connected to each of these com modules. None of these are physically present at the moment.

In my simulation routine, I added some logic to write to one of the digital inputs on two separate modules.

Without disabling the modules, the input is flickering ON and OFF continuously (verified by Trend window).

When disabling each module individually, I get the programmed value without flickering.
I also tried to disable the module in the main rack, and I realized that I got the same results. By doing this, I'm able to write to all inputs with just disabling a few com modules in the main rack, wich saves me a lot of time :)

Thank you so much for pointing out this possibility for me. I will still have to add some tags and UDTs to store the simulated values from the HMI, and I need my simulation logic to write to the inputs, but I don't need to alter the original input logic in any way.
 
I buffer ALL of my IO, with one routine to scan inputs, and one to update outputs.
Simply not scanning those routines allows for very simple simulation.
For more complicated things, I'll make a copy of those routines, and install logic to actually respond (outputs driving inputs) as needed.
 

Similar Topics

hello every one. i'm new to tiaportal, i have created new project and HMI screen the program works fine with PLC-sim, but when i try to cntrol the...
Replies
9
Views
315
I use the HMI simulation as our production lines are pretty big and we've put an upgrade in over the last couple of months and I've used it most...
Replies
3
Views
668
Hello, I have been using TIA Portal V16 on a project (S7-1500) and when I am online to the PLC (all devices, FB's, FC' DB's etc. are green)...
Replies
11
Views
10,667
Hello, I was trying to make a HMI simulation and i found that my HMI can’t affect the inputs in RUN Mode. When i press the button in Stop mode i...
Replies
3
Views
2,202
So I just purchased a Weintek MT8103iE and I'm wondering if easybuilder has a way to simulate the HMI so that I can connect to my actual PLC for...
Replies
4
Views
3,620
Back
Top Bottom