PID Loop (PID) Instruction (Auto Tuning)
A Proportional-Integral-Derivative algorithm is a generic Control Loop feedback formula widely used in industrial control systems. A PID algorithm attempts to correct the Error between a measured process variable and the desired setpoint by calculating and then outputting a corrective action that can adjust the process accordingly and rapidly, to keep the Error to a minimum.
The following links will explain the PID instruction. https://www.csimn.com/CSI_pages/PIDforDummies.html http://www.ni.com/white-paper/3782/en/ https://en.wikipedia.org/wiki/PID_controller
We will be using an immersion heater in a cup of water to keep the temperature at a constant value. Using the Productivity Suite software we will perform an autotune on our PID instruction.
Our immersion heater will be controlled through a relay using time proportional control from our PID output. Let’s get started. Continue Reading!
Secure PLC Email messaging is now available in the latest version of the Productivity Programming suite. SMTP or Transport layer security (TLS) email with an attachment and/or latest data log files can be sent. To be able to use this feature you must have installed Productivity programming suite v3.4 or higher and then load the latest firmware to the Productivity CPU. We can set up 4 different accounts in our PLC project. Account templates are already installed for some of the more common email servers.
We will be sending an email using a Gmail account with authentication. This will also include attached logged data files, error and event files. Our message will also include a switch and register current values when sending our email. We will also discuss how the PLC can send a text (SMS) message. Let’s get started. Continue Reading!
The productivity series of PLCs comes with 4 built-in communication ports for easy connectivity to your PC or various industrial networks. Serial protocols like Modbus RTU can be utilized with either the RS232 or RS485 ports on this PLC. Modbus RTU is an open (published) protocol that uses the Master / Slave architecture. It’s a very common protocol used in industrial automation controls.
We will be using the RS485 (2-wire) port to communicate to a Solo Process Temperature Controller. Modbus RTU will be the protocol used on this serial communication media. The PLC will be the master and the Solo process temperature controller will be the slave. You will soon see how the Productivity Series of PLC’s is the best way to handle communication to other devices. Let’s get started. Continue Reading!
The productivity series of PLCs has a built in web server. This web server function can make a non secure (HTTP) connection to the CPU. This is done with your browser. You can then view read only system tags and open, save or delete files stored on the micro SD drive.
Previously we stored data logged files on the USB (Micro SD) storage device. We will now start and configure the web server function. Look at the files from our data logger and view the system files available. Let’s get started. Continue Reading!
The productivity series of PLCs has a built in data logger. This easy data logger will log up to 64 tag values on a USB (Micro SD) storage device connected to the CPU. The logs will be stored in CSV (Comma Separated Values) file format. Logging can be triggered by the rising edge transition of a Boolean tag (event) or configured to occur at regular intervals (scheduled).
A USB storage device should be normally connected if logging data. The CPU maintains an internal 73KB buffer for temporarily logging data while no USB storage device is present. Data in the buffer will not be retained through a power cycle. Let’s get started. Continue Reading!
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. Continue Reading!
The program control method and instructions will allow us to specify what parts of the logic get solved and when this happens. This will control how the PLC will scan and solve your logic in your program using a synchronous PLC Scan. Understanding the PLC program scan will explain the synchronous and asynchronous program scanning.
Individual ladder logic programs get solved left to right, top to bottom. The result of the rung before is available for the next rung. The Task Management provides a method to clearly see the overall flow of your PLC program. Looking into the folders of the task management we can see blocks of code. These blocks of contain the ladder logic that will solve our logic. Instructions within the ladder logic code can also determine how the PLC will solve the logic.
We will be looking at using program control in the Productivity 1000 Series PLC.
Let’s get started. Continue Reading!
An array is a storage area for a group of common data type tags. They usually have some relationship to each other and need to be manipulated as a group.
Previously we defined an array and use this in an indirect addressing program. It sequenced bits in an output card indirectly. We then looked at the following instructions: Array Statistics (STA), Copy Array (CPA), Fill Array (FLA) and Shift / Rotate Array (SRA). We will now look at the final four array instructions: Pack Boolean Array (PBA) – Pack an Array of Boolean tags into a destination Word Array Pack Word Array (PWA) – Convert one 8 bit or 16 bit array into a 16 or 32 bit Destination Array tag. UnPack Boolean Array (UPBA) – Unpack an Array of Word tags into a destination Boolean Array. UnPack Word Array (UPWA) – Convert one 32 or 16 bit array source tag into four 8 or 16 bit array tags.
Let’s get started with our final look at arrays in our Productivity 1000 Series PLC. Continue Reading!
An array is a storage area for a group of common data type tags. They usually have some relationship to each other and need to be manipulated as a group. We can use arrays for motion control, recipe management, sequencing (indirect addressing), math, etc. The Productivity 1000 Series PLC uses arrays which are programmed using the Productivity Suite Software.
We will be defining an array and use this in an indirect addressing program. This will sequence bits in an output card indirectly.
Let’s get started with the Productivity 1000 Series PLC arrays. Continue Reading!
Data handling instructions are used to perform movement and manipulations of the memory in the programmable logic controller. The Productivity 1000 Series PLC has fifteen different data handling instructions that can be used in a wide variety of applications. In this second part we will be looking at the following instructions: Lookup Table (LKUP) – Find a value within an XY Table by looking at the intercept of a referenced X Axis value and Y Axis value. Pack Bits (PKB) – Convert up to 32 Boolean Tag Bits or Constant Bits into an Output Integer Tag. Pack Word (PKW) – Convert up to four 8 bit tags or two 16 bit tags, or four Constants into a 16 or 32 bit Destination Tag. Shift / Rotate Bits (SFR) – Shift or Rotate Bits of a Tag or Constant value. Sign Magnitude (SMAG) – Convert Sign Plus Magnitude data type values to 2’s Complement or Convert 2’s Complement data type values to Sign Plus Magnitude. UnPack Bits (UPKB) – Convert up to a 32 Bit Integer Tag or Constant into Boolean Tags. UnPack Word (UPKW) – Convert one 32 bit or 16 bit source tag into four 8 bit tags or two 16 bit tags.
A review of data handling instructions part 1 can be found here. Here is a link to the video.
Let’s get started with the Productivity 1000 Series PLC data handling instructions part 2. Continue Reading!