How to test a PLC program?

yfcarer

Member
Join Date
Apr 2006
Location
Tianjin
Posts
82
Hi, all.

I am a new guy in PLC field and now working with CompactLogix L35E.

Now I have the processor but no IO card. I can download the program. But I don't know how to test my program? Can anybody give me some guide on how to test or debug a PLC program under RS5000?

What is your usual test procedure?

Thanks in advance!
 
You will not be able to test it until you get some Input and Output cards. With an Input card you can connest temporary test switches and pushbuttons to simulate the program. Digital outputs can usually be simulated with the output LED indicators on the Output cards. Analog inputs and outputs are more difficult to simulate. You need some test equipment to simulate thoes.
 
YFCARER,

With a CLX processor, you can define your I/O and then in RSLogix 5k you can inhibit the entire IO bus for testing purposes. Right click on the icon for CompactBus Local and on the connections tab, tick off the "inhibit module" checkbox and the processor will go into run mode without faulting.

Really nice feature of RSL5K.
 
I have the processor but no IO card. I can download the program.
YFCARER,

With a CLX processor, you can define your I/O and then in RSLogix 5k you can inhibit the entire IO bus for testing purposes. Right click on the icon for CompactBus Local and on the connections tab, tick off the "inhibit module" checkbox and the processor will go into run mode without faulting.

Really nice feature of RSL5K.
+1

I only use RSEmulator when I don't have a real controller.
 
Just make spoofed I/O tags and use those throughout your program. You can write to inputs at will then.
 
I do a combination of the above...inhibit all your io modules in the io configuration. Then you can write 1s and 0s to the i/o at will....I'll then usually create a simple routine to simulate what I want.
 
YFCARER,

With a CLX processor, you can define your I/O and then in RSLogix 5k you can inhibit the entire IO bus for testing purposes. Right click on the icon for CompactBus Local and on the connections tab, tick off the "inhibit module" checkbox and the processor will go into run mode without faulting.

Really nice feature of RSL5K.

That is the best way to test if you have the PLC. Then when you go live you only need to enable the cards again.
 
We used to inhibit the IOs and create a test routine in PLC program. However we wanted something more general between programs and use it during PLC program development.

So we have created a simple app for automated testing if anyone's interested https://www.controlx.io/

Now we have a PLC on the desk without the IO cards which we are using with PLC Logic Prover for testing.
 
One of the best ways if using a real controller is map all the I/O into internal bits/words in blocks but do not call them, use the mapped bits in the program(s) and create a simulation block to simulate the I/O by turning on or off the mapped bits (example: A Valve: if Output (mapped bit) start timer, set open mapped bit do the same for others etc. ) after all simulation is like making outputs change inputs that change outputs.
before download for testing remove or disable calls to I/O mapping, enable calls to simulation. After simulation enable mapping & either remove or disable simulation blocks. that way you are not trying to use real I/O, on many processors you cannot force inputs on programmatically so is a no brainer if you do not have a simulation program.
 
We used to inhibit the IOs and create a test routine in PLC program. However we wanted something more general between programs and use it during PLC program development.

So we have created a simple app for automated testing if anyone's interested https://www.controlx.io/

Now we have a PLC on the desk without the IO cards which we are using with PLC Logic Prover for testing.

Hi Alex and welcome, most of the time we delete what is considered spam on the site, please dont dig up old post (14 years old), instead stick around and help out, trust me you will get a chance to post your links and your work
 
Thanks @parky, it is a great approach. We map IOs in one routine and just don't call the routine during testing.

Thanks @geniusintraining! Yes, this post is quite old. I didn't want to appear as a spammer. This forum helped me so many times and wanted to contribute. Our tool is free and it helped my mates in Australia, so I thought to mention it here.
 
Thanks @geniusintraining! Yes, this post is quite old. I didn't want to appear as a spammer. This forum helped me so many times and wanted to contribute. Our tool is free and it helped my mates in Australia, so I thought to mention it here.

I did not think you wanted to or it would of been removed, I do think your product is a good tool and would help a lot of people, this is the reason I gave you the advice of helping here, there are a lot of people that visit this site and use it as a tool, there are also a lot of people that dont like the old post brought back to life and for good reasons, 2006 was when this was posted and as you know in our world a LOT has changed since then so most of it will be just noise.

Please do check in from time to time and contribute

🍻
 

Similar Topics

Hello dear experts! In my new project I plan to use 1756-L85E processor from a new ControlLogix 5580 line. After installation of the Studio 5000...
Replies
26
Views
22,436
See code at the bottom. Hi all. For the story, this is my first complete project using a Rockwell PLC, I've been mostly working with Unity Pro...
Replies
7
Views
767
Hey Guys, I am looking to bring some new guys onto my team and I was pondering the idea of doing a basic test just to weed out some peoeple that...
Replies
17
Views
2,749
Hello everyone I have a Siemens S7-300 CPU 315-2DP, CP343-2P and ASI module .AC2459 I want to using it for test input output . as show in below...
Replies
18
Views
4,194
Hi All, Im looking for an off the shelf product that generates test sheets from templates that easy to manage with an easy to use interface. We...
Replies
5
Views
2,398
Back
Top Bottom