PLC Newbie Omron Zen V2

Join Date
Jan 2018
Location
Dublin
Posts
4
Hi, after 30 years involved with automation I'm actually writing my first PLC program and am struggling a fair bit. My background is mechanical but have been involved for years with special purpose machine building, equipment maintenance, install and commissioning. So although I've probably programmed in excess of 50 robots over the years and can fault find at PLC level the PLC's have always been programmed by someone else, up to now that is.

I'm modifying a special purpose leak testing machine by adding extra clamping and sequencing. The system originally came from the vendor with some existing on-board I/O capability but what I need to do exceeds the capability of that non-expandable I/O. The easiest option is to let the tester do what its good at and add an Omron Zen plc to handle part clamping sequence and to initiate the testing. The hardware part is completed and by simulating the I/O I've verified that everything works as it should. I just need to convert that to an automated program.

Essentially the Zen will just have to deal with with 4 inputs (external start button, Light curtain OK from safety relay, Test Pass from tester, Test Fail from tester) and drive seven outputs (6 x pneumatic solenoids, 1 x Start-Test signal to Tester). The pneumatic cylinders are actuated by 5/2 solenoids such that they are fully retracted the un-energised state. So a held-on output drives cylinders forward, removing the output sends them back. I also want to improve the safety of the system. As delivered the system only inhibited start if the light curtain was broken, it didn't stop a sequence once initiated. I've hard wired the "clear" signal from the safety relay through a normally close solenoid that dumps pneumatic air supply if the curtain is broken. In addition I want to monitor that output in the PLC such that any output that drives a cylinder is conditional of the light curtain being clear.
 
Last edited:
Sequence is as follows:

External start button initiates clamp sequence controlled by the Zen PLC, at end of clamp sequence the Zen sends "start test" signal to the tester (+24V). The leak tester is essentially stand-alone and performs a test-plan on the product which is controlled by its own processor. On completion of test it sends one of two outputs to the Zen PLC: Test Pass (I2) and Test Fail (I3). I need to make the unclamp sequence conditional on the test result. For a pass the product is unclamped in reverse order and the table with the product being tested shuttles out. In the event of a fail I need to do the unclamp sequence as for a pass but hold the table in (Q0) until the operator acknowledges the failed test by pressing the start button once. I'm struggling with how to do that conditional process with the Zen. See attached, I've only got as far as programming up to a Pass Test sequence.

zen.jpg
 

Attachments

  • Leaktest.ZIP
    1,012 bytes · Views: 8
Last edited:
Are the test fail and pass outputs from the tester momentary or latched?


I presume you don't want the next piece to come forward on the reset, or does that not matter?
 
Last edited:
Iv'e just timed it, the test pass and test fail inputs from the leak tester are held high (+24v) for 4 seconds so that would probably need to set an internal relay. Essentially when the tester gives a pass result I just need the unclamp sequence to run to the end and the table to shuttle out. If there is a fail I need the operator to acknowledge it, so unclamp the part but table stays in until the operator momentarily presses the start button then the table shuttles out.
 
Last edited:
Ok, so yes you can create a latching circuit for the fail option, and use that to do the unclamp and prevent the table going out.


I've never used Omron but I presume you have a rising edge and a falling edge contact. If you create your self sealing circuit for the test fail, you can use a rising edge from that to trigger the unclamp as below



Test fail M1

--][-------------------+-----------------------------()
M1 Start |

--][-----------]/[-----+





Test pass T0 Q3

--][---------------------+---------------][----------()
|
M1(rising edge) |

--]R[--------------------+






Then to get the table out once the start button has been pressed something like below



Safety Relay T0 M1 Q0

--][-------------------------------------][---]/[--+-()
Safety Relay M1(falling edge) |

--][--------------]F[------------------------------+






Other people may have different ideas but that should achieve what you want if my understanding of your set up is correct. Just make sure that you've covered all the safety aspects etc.


You will also have to inhibit the start button energising M0.
 
Cheers for that, I've done something very similar to what you have suggested and the pass/fail condition works. :p The issue I have that stops this working are the timers. No matter what I do with the settings I cant make the delay on the output work at all. If its a normally closed timer the next output shifts immediately with no delay, if it's a normally opened timer with start or stop delay the rung just hangs at the timer in Simulation mode (see attached). Speaking to a mate who's a Siemens/AB programmer it seems like I'm doing this correctly but it may be a quirk of Zen programming and I'm missing a trick somewhere. I can't lose the timers as its the only way I can sequence the actuators properly as they don't have position sensors. I possibly need a Zen expert to look at this.

zen2.JPG
 
Last edited:
I've just downloaded the Zen software to check my suspicions, and I've confirmed them. You have to have a coil for the timer, you can't just define a contact. Bizarrely the contact defines the time, but the coil has to be activated to start the time if that makes sense.


See the attached picture.

Screenshot_20180105_092146_.png
 
I'm not very familiar with the Zen. In the past and using a different PLC brand, I have moved the timer coil to the top of the ladder as Jonnie R shows in post #7. It made a difference.

Also, you can make a self resetting timer rung to drive a counter. That will allow you to have retentive values if needed, plus you could then use the "P" instruction for comparison.
 

Similar Topics

I am new to PLCs and I bought an Omron Zen and I am trying to write some logic for a pneumatic crimper. Basically the pneumatics will get air to...
Replies
9
Views
3,059
Hello all, I'm an 'Instrumentation & Control System' final year student. Currently I'm doing my final year project and using PLC (OMRON) as my...
Replies
5
Views
6,881
I picked up a Siemens S7 1200 from a buddy and I want to start fiddling around with it to learn about PLC's. I don't want to spend a lot of bucks...
Replies
0
Views
2,461
Hi Guys I completed a PLC course a few weeks ago and I've decided to build myself a PLC training rig. I'm using an s7 200 as I managed to pick...
Replies
7
Views
3,128
Hopefully I'll have a legitimate copy of RS500 to program micrologix and SL500 series PLCs. A guy in another group is going to mail me his old...
Replies
6
Views
1,834
Back
Top Bottom