

An array of 20 DINTs with a built-in one-shot instruction. The instruction has a built-in one-shot, so you can drive it with a single bit like I have at the beginning of the rung.įigure 1. My control tag has a ‘control tag’ in it that I created for this and my length is set to 20 (the size of my array). In the logic in Figure 1, you can see how I set my source as whatever the current count is on my timer. The final entry is the position and is provided by the control tag- though it can be manually manipulated if needed. To set up the load Instruction, the LFL, we need source data to put into the array, a LIFO array to manipulate, a control tag, and a length. The first instruction loads data into the array and the second instruction pulls data out. The LIFO system comes in two instructions. The LFL Instruction - Last In, First Out Load The last one you put on is on top and this it becomes the first one you remove as you pull the top paper off. This can be compared to setting pieces of paper onto a pile.

In this case, the last piece of data you put in is the first piece of data to be pulled out. LIFO is an acronym for Last In, First Out. When you remove a sheet, you take the one in the front-the first one you originally put in.

The first one you put in is at the front and you set the next piece of data behind it. You can think of this like putting pieces of paper into a file. For this method, the first piece of data you put in is the first one to be removed.
#Eetech smart timer user manual how to#
The fifth section will demonstrate how to cycle data through an array so that it flows in the front and drops out the back using CPS instructions.įIFO is the acronym for First In, First Out. These instructions are the LFL, LFU, FFL, and FFU. The first four sections will address pre-defined instructions that are used for loading and unloading data from arrays in particular orders. In this article, we will cover a few different strategies for moving data through arrays in Allen-Bradley’s Studio 5000 and RSLogix 5000 Logic Designers. Hopefully you can use the above description to "interpret" the TIMER_SEC macro at your site and come to the same conclusion.Īnd, yes, I was referring 'Tip o' the day'-which sometimes can provide very helpful information and tips on using some of the lesser-known features and "tools" in the ToolboxST box of tools.See our previous articles covering PLC programming commands: One thing to learn, at least with the version of ToolboxST I'm working with, is that the lower-case parameters of the macro correspond to the lower-case parameters in the expanded view of the macro (the one visible when the macro is expanded, or when it's left-clicked on and the macro "opens" in the main pane of the ToolboxST window). Macros can be understood-but it requires looking at the various blocks used to construct it and how they work and how they are "connected." It's not an easy task, but it's not impossible, either. If no parameter is passed to either of these macro parameters, then neither can be monitored during operation. If one assigned signal names to either the macro 'pu_cur' or the macro 'do_cur' then one could monitor the status of the pick-up delay or the drop-out delay. If the macro 'pu_del' was 10, and the macro 'do_del' was 10, then ten seconds after the macro 'log_in' goes to a logic "1" the macro 'log_out' will go to a logic "1" and will remain a logic "1" as long as the macro 'log_in' remains a logic "1", and the macro 'log_out' will remain a logic "1" for 10 seconds after the macro 'log_in' goes to a logic "0" and will then transition to log "0".Īt least that's how I believe the BFILT primitive block, which is the "main component" of the TIMER_SEC macro works. The 'log_out' of TIMER_SEC will be a logic "1" as soon as the 'log_in' goes to a logic "1", and will remain a logic "1" for 20 seconds after the macro 'log_in' goes to a logic "0".

So, let's say the 'pu_del' for the macro is 0, and the macro 'do_del' is 20. The block passes a falling False value on the IN pin to the OUT pin if IN remains False for DO_DEL (in milliseconds). The "main" component of the macro seems to be the BFILT primitive block, and the description (Item Help Block Help) for BFILT says:The Boolean Filter block passes a rising True value on the IN pin to the OUT pin if IN remains True for PU_DEL (in milliseconds) time. I left-clicked on the macro block and it opened the macro to be able to see the primitive blocks used to build it.
#Eetech smart timer user manual code#
I happen to be at a site today looking at some Belfort Mark VIe application code (which just defies logic and normal programming practice) and I ran across a TIMER_SEC macro.
