Nifty feature in AB SLC5/05


Thread Starter

R A Peterson

By accident I have discovered a nifty feature of the AB SLC5/05. I am not sure how many of the SLC5s do this but its a great help in creating simulation routines as part of checkout. It is possible to write to input addresses in the PLC program! By disabling the slot the input is in, the PLc will not update the inputs, and you can write a simulation routine that actually writes to the input bit. usually I have written simulation routines using intermediate buffers for the inputs, but this adds a layer of complexity that is not now necessary, at least in a 5/05. typical simulation routines: turn on motor feedback bits when the program turns on the control output ramp up PVs for loops when loop is put into auto ramp up flow meters when valve opens to test integration routines this allows you to do extensive testing without having any actual inputs.
This works in 5/03s, 5/04s & 5/05s. Rather than writing test code in the same SLC, I often write a simulation program in another SLC and control the bits over DH+ or DH485. =================================== Mark Erdle Alpha Geek The Boolean Embassy ===================================

Troy Stearns

Bob, I beleive this "feature" is actually a product defect which appeared very early in the SLC developement lifecycle. Since the SLC's were released with this "feature" it was not possible to correct in subsequent releases without breaking applications, created with earlier releases, that made use of this "feature", as you have. One person's "bug" is quite often another persons "feature". Troy Stearns

Anthony Kerstens

Do you mean using the input address in an OTE, or doing a MOV or MVM to a range of input addresses? Anthony Kerstens P.Eng.

Lillie, Dave

That is a feature of the SLC family, specifically the slot enable bits, and was a planned OEM feature (I worked in the SLC group when this feature was created.... wow - that was 14 years ago!!) Dave Lillie ** Program Manager Rockwell Software Inc.

Allen Nelson

This feature is in both the SLC and PLC5. And from what I understand, it is a feature, not a bug. The basic idea is to write a "debug" program file which is used by AB's emulation software (but the debug ladder file doesn't get downloaded into the SLC/PLC by the RSLogix/AI software.) And yes, when using it, you write odd looking rungs like: XIC O:1/0 OTE I:0/0 (energizing the input based on the condition of the output.) When doing the simulation, it helps to disable the I/O scanning (SLC: S:11-12; PLC5: S:78), so that the "real" values don't overwrite your simulated ones.

Kinner, Russ

I wrote a paper about using the capability to program simulation and write to a PLC-5 Input word to simulate processes and presented it at the first Automation Fair in Philadelphia in 1992. I don't know if any of the proceedings are available online, but I do have a paper copy that could be scanned if anyone is interested. Yes it is a bit dated, but the concepts presented are still valid. I was in a session about program simulation and testing along with several vendors who sold PC based packages ($3-5K) that perform the same task. I doubt I made any friends in that group (Ian Suttie of S-S presented his paper on simulation later in the day). Their product did provide some nice visuals on the PC CRT and their system exercised the remote I/O so if there were some critical timing issues they might become apparent. The method you described of writing to the input words/bits doesn't use any external port, but it does accomplish 90+% of what they did for no additional hardware or software cost. I did show examples of a few rungs that can roughly simulate analog I/O and introduce some "randomness" to the returning values. I also introduced timing variations for digital I/O response (i.e., delays to allow a valve to change position and have a limit switch close). Sorry for the delay in response to this post (I had a large package to get out for bid and everything else was put on hold last week). Sometimes we do have to make some money so we can play with all these goodies! Regards, Russ Kinner AVCA Corporation Maumee, OH USA
I'd be interested in your paper. I searched online but was unable to find anything concerning your presentation. I'm currently trying to come up with a way to "dry test" a PLC program using an Excel spreadsheet to generate inputs to an AB PLC. The spreadsheet would then display the outputs also. I was thinking of using DDE to establish communications. Anyway its in the thinking stages right now and your method of simulating inputs is intriguing to me. Thanks, Craig

Andrew Piereder

There are many such applications already commercially available, either using DDE or real-time drivers. The one that I am most familiar with is PICS-WIN (programmable industrial control simulation). Its a scaleable program that can simulate several thousand I/O for multiple PLCs of different types (including of course, Allen-Bradley). I can send a demo CD if you are interested in having a look. Andy Piereder Pinnacle IDC
The paper is scanned and is now available in electronic form. Please contact me off list for a copy if you are interested. Note that the main paper is about 500K and the appendix is about 900K in size. I have broken the appendix into 2 smaller portions so most e-mail systems will accept messages with these attachments. Russ Kinner AVCA Corporation Maumee, OH USA

Josep M Lario

SLC's is a 'smart' dude who is able to know when a module is missing or mismaching. When hardware doesen't match your logic it will warn you and fault the processor preventing you from using a program with non existing (or matching) I/O modules. However you could wish to run that program anyway and in fact you can (under your responsability) do it by the 'inhibition' of the selected slot/s. (S2 File), thus no fault will happen in the processor. As a consequence of this method, I/O data table created for that module/s will not be updated (that's why you can ""force"" them). I'd just like to note that obviously it's not a BUG, is a helpfull feature, the consequence of a 'conscient' action, (slot inhibition). Then you are free to modify I/O data associated to the slot: keep the last state, reset, set,... whatever... as you did using this method as 'kind' of emulator ;) Best regards