The productivity series of PLCs has a Drum and Sequencer instruction.
Drum instructions are great tools. They mimic an electromagnetically drum sequencer. Have you ever seen the mechanisms of a music box? Ok so it’s a little drum with pegs that catch and flick the chimes in a particular sequence to play whatever tune is on the drum. So in the PLC you can have a drum driven by an event, (input from a limit switch or button), or by time.
Sequencers are similar to the drum instruction. The sequencer output can have up to 16 Boolean, Integer or Numerical Tags per step. Drum instruction outputs are limited to the same 16 bit (Boolean) outputs. Each step in the sequencer can be defined by time or /and event and specified outputs can be set going into and out of the step.
We have done similar Drum instructions for the BRX Series PLC and the Click PLC.
BRX PLC Drum Instruction – Video
Click PLC Drum Instruction – Video
We will be discussing the drum and sequencer instructions in the Productivity Series PLC. Simple examples will be done to demonstrate the power of these instructions. Let’s get started.
Previously in this Productivity 1000 series PLC we have discussed:
System Hardware – Video
Installing the Software – Video
Establishing Communication – Video
First Program – Video
Documenting the Program – Video
Monitoring and Testing the Program – Video
Online Editing and Debug Mode – Video
Numbering Systems and Tag Database – Video
Contact and Coil Instructions – Video
Timer Instructions – Video
Counter Instructions – Video
Math Instructions – Video
Data Handling Instructions Part 1 – Video
Data Handling Instructions Part 2 – Video
Array Functions Part 1 – Video
Array Functions Part 2 – Video
Array Functions Part 3 – Video
Program Control – Video
Productivity Drum (DRM) Instruction
The drum instruction will allow you to address simple repetitive processes consisting of up to 200 steps and a maximum of 16 discrete (Boolean) outputs.
Time Unit – This is the time unit for the instruction. The default is seconds but we will set this up for milliseconds. (msec)
Structure – We will set this instruction up to use a structure called Drum. This will set up all of the parameters that we need like current step number, elapsed time in current step and the done bit.
Tagname Mapping
This is where we will determine the Boolean outputs. In our case we are using structure so the outputs will be already determined.
Example: Drum.Output01
Drum Table
The number of steps can be selected up to a maximum of 200. In our case we will have 45.
This table is where we see the steps and the corresponding bit status along the top. For each of the vertical step numbers, we can determine the on/off status of each of the bits that we are controlling.
Duration – This is the timed duration of each step. In our case all of the steps will be set for 200. Since our time base is milliseconds, each step will be 200 msec.
Condition
The condition for each step to advance to the next step can be set individually.
Event – Conditional requirement to complete the step. The result of the event condition will be true or false only. Example: Tag > 5
D and E – Both the duration and event must be done in order to move to the next step.
D or E – The duration of the time or the event must be true to move to the next step.
Here is our completed instruction. Click OK.
We can now add our conditions to the instruction.
Switch1 will enable the drum instruction.
Switch2 will act as my jog and Switch3 will be the reset of the drum. The reset will return the drum to the initial step 1.
We also use the Drum.Done bit to reset the instruction. This will allow the sequence keep repeating from the beginning again.
Individual outputs are assigned to the bits that we are controlling in the drum instruction.
Watch the video below to see this instruction in action.
Productivity Sequencer (SEQ) Instruction
The sequencer instruction will allow you to address complex repetitive processes consisting of up to 200 steps in a single instruction with a maximum of 16 Boolean, Integer or Numerical Tags per step.
Time Unit – This is the time unit for the instruction. The default is seconds but we will set this up for milliseconds. (msec)
Structure – We will set this instruction up to use a structure called Sequencer. This will set up all of the parameters that we need like current step number, current cycle number, elapsed time in current step and the done bit.
Limit Cycles – This will limit the total number of cycles that the sequencer makes.
Initial Step – This will allow you to specify the starting step number for each cycle.
Disable Lower Number Steps – This will allow the steps below the initial step cycle to be skipped.
Number of Steps – This will specify the total number of steps in the cycle.
A table can be seen above in the picture. The outputs for each step can be seen by hitting the button Show.
The SEQ Output Setup window will appear. You can enter up to 16 output tags and specify the start value and end value. The start value is used going into the step. The end value is used going out of the step.
Duration – This is the timed duration of each step.
Condition
The condition for each step to advance to the next step can be set individually.
Duration – Minimum time only for each step
Event – Conditional requirement to complete the step. The result of the event condition will be true or false only. Example: Tag > 5
D and E – Both the duration and event must be done in order to move to the next step.
D or E – The duration of the time or the event must be true to move to the next step.
We can also disable a step in our sequencer. A comment can be entered for each of our steps to fully document what we want to happen in the program.
We will set up a tag called SEQ_Bit_Output. This is an unsigned 16 bit register.
Our sequence will be to turn one bit on in the 16 bits and have it rotate to the end and back again. (Similar to Knight Rider KITT lights.) This will take 30 steps to accomplish. Step 31 will have all of the bits off and Step 32 will have all of the bits on. We will use switch 8 to toggle between having all of the lights flashing on and off every 2 seconds and the KITT lights.
Program Instruction
The sequencer instruction will have three inputs; Enable, Jog and Reset.
Switch 4 will be our enable and Switch 5 will be the jog.
Switch 6 will be a reset or if Switch 8 is not on and the sequencer step number is greater than 30, the sequencer will reset.
If switch 8 is on we compare the sequencer step number to 1. If it is equal we will move the number 31 into our sequencer step number. This will cause all of the lights to turn off.
Note: Step 32 (last step) will cause all of the lights to turn on.
We use the unpack bits instruction to move the bits from our SEQ_Bit_Output tag to our individual 16 outputs.
Here is the entire ladder program for our sequencer. Watch the video below to see this in operation.
Programming repetitive sequences are easily done using the Drum and Sequencer instructions in your automation project. Not every controller has the ability to do this as easily as the Automation Direct Productivity Series. This software provides a number of different ways to manipulate your code to get the result you want.
Download the PLC program here.
Watch the video below to see the drum and sequencer instructions that we created in action running on our Productivity 1000 Series PLC.
Productivity 1000 Series PLC from Automation Direct
Overview Link (Additional Information on the Unit)
Configuration (Configure and purchase a system – BOM)
User Manual and Inserts (Installation and Setup Guides)
Productivity Suite Programming Software (Free Download Link)
This software contains all of the instruction sets and help files for the Productivity Series.
Next time we will look at the Data Logger in the Productivity 1000 Series PLC.
Watch on YouTube : Productivity 1000 Series PLC Drum Sequencer Instructions
If you have any questions or need further information please contact me.
Thank you,
Garry
If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLC’s are not difficult to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimal, Hexadecimal, ASCII and Floating Point.
To get this free article, subscribe to my free email newsletter.
Use the information to inform other people how numbering systems work. Sign up now.
The ‘Robust Data Logging for Free’ eBook is also available as a free download. The link is included when you subscribe to ACC Automation.