Nick Trolley Posted March 31, 2011 Report Posted March 31, 2011 I'm new to using automation direct plc's they seem fairly straight forward with their basic logic but their timers counters comparison instructions and the like are messing with me a bit. What i'm attempting to do is the following - design a program to test a new piece of equipment during an 8 hour cycle. the equipment in question is a Print and apply application where all i am looking to do is provide a series of FIRE commands at rates ranging from 3 per second and increasing up to a max of 15 per second. what i have so far is this. A free running timer set to 30 seconds runs constantly - every time it resets its also increasing a counter with a preset of 16 im using "equal too" statements to check the acc of the counter to a fixed value, for example when it is 1 i using a LD command & and OUT command to move a K33 value to V2000 the value in the V2000 area will be used as the preset for another free running timer as the time between fire pulses i also plan to use a second counter to count those fire pulses - -and then use a whole string of "greater then or equal to & less then or equal to" statements to set a "duty cycle" were out of 100 pulses it only fires for a total of 80-90 does this idea seem like im on the right track? if i was using an alllen bradley or omron or semens plc my approch would be different but there seems to be limitations to the timer counter and compairison instructions with the AD plcs
b_carlton Posted March 31, 2011 Report Posted March 31, 2011 It is hard to tell if what you have written will accomplish the desired end. For example, nowhere in your description: is 'duty cycle' mentioned yet you are planning for it. Your description of the operation must be exact including all restrictions. It should detail exactly the test. Then post your program which should have extensive documentation. Only then can someone form an opinion.
Nick Trolley Posted March 31, 2011 Author Report Posted March 31, 2011 i also plan to use a second counter to count those fire pulses - -and then use a whole string of "greater then or equal to & less then or equal to" statements to set a "duty cycle" were out of 100 pulses it only fires for a total of 80-90 - is this not how i could set a duty cycle of fire pulses in groups - with a number of pulses not triggering the fire output? I'll post the zip of the project files shortly
Nick Trolley Posted March 31, 2011 Author Report Posted March 31, 2011 here is my program so far - will it work as my description intends? MAZI BOARD TESTING.rar
b_carlton Posted March 31, 2011 Report Posted March 31, 2011 Why don't you just divide 100 by the rate and place that in V2000? You don't need a bunch of compare, LD and OUT commands.
Nick Trolley Posted March 31, 2011 Author Report Posted March 31, 2011 Because i don't want it to just fire 80 times in a row out of 100. thats not a real-world test of the load the heads would be under, on a fruit label machine it might fire 10-15 times in a row - then sit out the next 6 pulses because the fruit cups were empty - then fire another 9 then sit 3 ect ect in the end it works out to be like an 80-90% duty cycle but its not just 80 straight fires - thats what all of compairs give me is a way to break up the fire rate.
b_carlton Posted April 1, 2011 Report Posted April 1, 2011 Here's the problem in helping, you keep changing the requirements. Write out, without thinking about how it would be programmed, exactly what you want the testing system to do to the "Print and apply" application. This must include exact timings (or time variations) that you want. Only when it is exactly defined can you judge whether a given program meets the requirements.
Nick Trolley Posted April 1, 2011 Author Report Posted April 1, 2011 the requirements are exactly the same as they were listed in the first post? the system will ramp up from 3 fire signals a second to 15 - in 30 second intervals - - then once it reaches 15 it resets to 3 and continues the cycle. the various values you see being loaded in to v2000 are the millisecond values that would be used to set the second timers preset value - based on the number of fires per second. all of the greater than-equal too, and less than statements - - allow me to vary the intervals at which the fire output is turned on based on the counter.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now