Testing a program

There is a Emulator that comes as part of the Studio 5000 Professional Edition. You can add it to any version of Studio but it will cost some $$ It basically puts a virtual PLC on your computer. You can download to it and test I/O. I have only seen it work as I never really had the need for it but it may be what you are looking for.
 
Could someone kindly explain the purpose of the emulator and how it helps? Couldn't you just toggle your i/o in RS Logix 500/5k while offline and see the outputs come on and then go from there?

Is there a way to trend the i/o on the emulator, so you can see which bits come on and off all at once? I don't see how it is useful, even for those who do not have the machine ready to begin testing the code. Maybe for a medium/large plc project (like 500 rungs+) but I don't see myself using it for anything less than 100 rungs? Thanks,
 
Could someone kindly explain the purpose of the emulator and how it helps? Couldn't you just toggle your i/o in RS Logix 500/5k while offline and see the outputs come on and then go from there?

Is there a way to trend the i/o on the emulator, so you can see which bits come on and off all at once? I don't see how it is useful, even for those who do not have the machine ready to begin testing the code. Maybe for a medium/large plc project (like 500 rungs+) but I don't see myself using it for anything less than 100 rungs? Thanks,

When you toggle IO in RSLogix offline, the outputs do not come on. You can not actually watch the logic execute. I've tried RSEmulate but not really used it for any project. I ended up using Softlogix a few months ago to test some MSG instructions. It was very useful because I could toggle some bits, watch the MSG instructions get Enabled, watch them error out, then watch the error logic execute. Don't know if there is any way to trend IO on RSEmulate or Softlogix.
 
Yes, if you don't have another controller handy you will need an emulator like RSLogix5000 Emulate. Just be aware that the emulator does NOT emulate 100%, there are a couple of gotchas that I know of. You just can't beat having the, or an identical model, of the actual hardware you will be using.

But to fully test your software "offline" you will also need to simulate the plant or process you are controlling. Software that reads your outputs, and writes your inputs, mostly autonomously for valves/pumps etc., but you always have control over what it gives as feedbacks so you can simulate faults etc.

We always used PICS simulation software, now badged by various people, just google "PICS simulation software"
 
I have just posted a reply on a similar link, you don't need a simulator providing you have enough memory and possibly an HMI just copy the inputs into memory areas give the same symbol but add an extra character I.e. I0.0 = B100.0 (V001_Open_PX = V001_Open_PX_M) into a program file but do not call it for simulation then use the memory bits in the program then write some extra simulation programs i.e. O:2.0 = V001_Open_PX_M
Not O:2.0 = V001_Closed_PX_M and if real time response required use timers
At the end remove the calls to simulation programs and call the Input to memory program.
You can do this for all inputs, outputs and analog and simulate even filling a tank etc. so to summarise, copy inputs to memory bits memory bits to outputs ditto for analogs, use memory in program call simulation, when finished take calls out for simulation put calls in for I/O. However you do need a processor but do not need I/O.
 
I agree that you do not need an emulator, again if you have enough memory copy the real I/O into internal bits, in a separate program block but don't call it for testing, use the internal bits in your logic then create extra blocks to emulate the I/O for example, valves with feedback create logic in these temporary blocks so when the output (mapped bits) is energised run a timer that turns on the inputs for the valve limits (mapped bits) this way you can simulate real world conditions even analogues etc. Have done this many times even in a simulation package you do the same thing. when testing done remove (or delete the block) the call to the simulation blocks and enable the calls to the I/O mapping.
A good way to map the I/O is for example if the symbol for an input is TKO1_PX01 then the mapped bit would be TKO1_PX01_M so even though you use the mapped bits in your program they mean the same as the real I/O how you symbolise these is up to you. If you have an HMI you can also create simulation screens to force some values, again you can remove or disable these on commissioning.
 
It all depends on what kind of "testing" you want to do.

It is possible to disable all the I/O modules in the PLC program so that that they do not scan. Thus when you download your program, you are free to write values to the I/O registers without affecting the actual equipment, and without the actual equipment overwriting whatever values you want set.

You can get fancy and automate your simulation: when the motor output is ON, drive the Input from the Aux contact:
  Motor1        Motor1_Aux
Local:O:0.0 Local:I:0.0
-----| |-----------( )


This sort of simulation logic looks "wrong" -- outputs driving inputs instead of the other way around -- but it's perfectly valid.

Analog signals can also be simulated: If valve XYZ is open, increase the Input signal by 1; if valve ZYX is open, decrease the value by 1. You can get as fancy as you want with this sort of thing, adding timers, proportional control, etc.

Put all this simulation code in it's own routine, so you can disable it easily.

I've simulated large processes with this technique, running dozens of batches and watching them on the HMI, long before the actual equipment is functional. You find lots of bugs this way, but keep in mind that your simulation will only be as good as your model: the laws of physics have the last say. And you have to be careful to recognize if the problem you see is with the regular code or the simulation logic.

But it's great not having to wait for an hour to get a tank up to temperature.
 

Similar Topics

Hi, I have a program I need to modify offline and test prior to commissioning. Its developed in Logix V30. I have no L8x controllers available...
Replies
15
Views
4,913
I have a BTEC assignment that requires me to answer the following question: Relating to PLC programming standards and/or commercial products...
Replies
11
Views
2,601
Good Morning , I upgraded a machine a few weeks ago . To continue making improvements without shutting down the machine , I would like to...
Replies
6
Views
2,132
Hi. I'm a college student and I'm currently working on my Siemens 1200 based palletizer machine project. It took me very long time to build and...
Replies
24
Views
7,553
I have two AB MicroLogix 1500s that I want to be able to communicate with each other via two Transnet 900 radios (one master, one remote). Using...
Replies
2
Views
1,570
Back
Top Bottom