We will now look at the productivity 1000 plc modbus tcp rtu communication to the BX-MBIO controller.
The Productivity 1000 PLC can communicate to a remote I/O (input and output) controller modules using the Modbus protocol for communications. The BX-MBIO provides both Modbus RTU and Modbus TCP interfaces. Modbus RTU is a serial communication and Modbus TCP is an Ethernet communication. Modbus RTU is supported over an RS-485 serial connection. Modbus TCP is supported over an Ethernet connection. They function as listening/replying devices (slave, server) and can connect with any mastering (master, client) device that communicates using the Modbus protocol.
Previously we looked at the BX-MBIO Modbus RTU TCP Remote IO Controller wiring and configuration. Modbus RTU TCP Remote IO Controller BX-MBIO
– BX-MBIO Hardware Video
– BX-MBIO Powering and Configuring Video
We will connect the Productivity 1000 PLC to the Modbus remote IO. This will be done using the Modbus TCP and Modbus RTU protocol. Ethernet and serial RS485 communication to the BX-MBIO unit will be the media.
The BX-MBIO remote I/O expansion units feature the following:
• RJ45 Ethernet port for communications via Modbus TCP
• RS485 serial port for communications via Modbus RTU
• Supports up to 8 additional Expansion Modules (Add the discrete or analog I/O you require)
• AC and DC powered units available
• AC powered units include an integral 24VDC auxiliary output power supply
• Power connector and serial port connector included
Let’s get started. Keep on Reading!
PID Ramp Soak Instruction
The purpose of a ramp soak instruction is to make gradual, controlled changes in temperature (Ramp), followed by a temperature hold (Soak) period.
We will be using our Proportional-Integral-Derivative PID Instruction that we looked at last time to apply the ramp/soak instruction.
Using the immersion heater in a cup of water to keep the temperature at a constant value, we will be adjusting the profile of the temperature as we increase the set point (Ramp) and hold that set point for a predetermined time. (Soak)
We will be modifying our existing program from our PID loop instruction. Let’s get started. Continue Reading!
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!
Advanced HMI is a powerful, adaptable HMI/SCADA (Supervisory Control and Data Acquisition) development package that takes advantage of Visual Studio. There is no coding required and you can simply drag and drop items onto the page. The best thing is that the software is free. We will look at using AdvancedHMI with the Productivity 1000 Series PLC.
Our sample Productivity 1000 PLC program will display a digital panel meter and a gauge of a value in the PLC. Stop and start momentary pushbuttons on the HMI will allow this number to increase or stop. An indication will turn green when the number is increasing and red when it has stopped. The AdvancedHMI package will communicate Modbus TCP over Ethernet to the Productivity 1000 PLC. We will be able to monitor our process via the AdvancedHMI window. Let’s get started. Continue Reading!
Firmware is usually PLC operating system code that is written into a read only memory. The BIOS (Basic Input Output System) of a PC (personal computer) is a good example of firmware. It provides the low level interface between the hardware and software. The firmware for the productivity series of PLC’s must be downloaded separately from the programming software.
We will be updating our firmware of our Productivity 1000 PLC from 22.214.171.124 to the latest version 126.96.36.199. 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. Ethernet protocols like Modbus TCP can be utilized with the RJ45 port on this PLC. Modbus TCP is an open (published) protocol that uses the Server (Master) / Client (Slave) architecture. It’s a very common protocol used in industrial automation controls.
We will be using the RJ45 (Ethernet) port to communicate to a Click PLC. Modbus TCP will be the protocol used on this Ethernet communication media. The Productivity 1000 PLC will be the server and the Click PLC will be the client. We will be creating a network between the two PLC units. A heartbeat will be used so if communications is lost, the server (slave) will know. The throughput time will be timed by using a small program in the Click PLC. 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!
We will look at a PLC programming example of delaying the start of 7 motors. Each motor will be on a switch that the operator can select at any time. The motor outputs should have a 5 second delay between the outputs coming on.
This question originally came from PLCTalk.net. An original solution to the problem came from Peter Steinhoff. His solution is what we will be presenting. It is simple and straight forward.
PLC programs are normally written in a special application on a personal computer, then downloaded to the PLC. This downloaded program is similar to compiled code to keep the program efficient. The program is stored in the PLC either in battery-backed-up RAM or some other non-volatile flash memory.
Albert Einstein said “The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking” PLC programming languages have evolved to both adapt and change the way we program these units. We will look at all five programming languages as defined by the IEC 61131-3 Standard.
Structured Text (ST)
Function Block Diagram (FBD)
Sequential Function Chart (SFC)
Instruction List (IL)
Ladder Diagram (LD)
Not all of these programmable controller languages are available in every PLC. Ladder logic programming is by far the largest percentage of use in PLC’s today. Fundamental concepts of PLC programming are common to all manufacturers. Differences in I/O addressing, memory organization, and instruction sets mean that PLC programs are never interchangeable between different makers. Even within the same product line of a single manufacturer, different models may not be directly compatible. This is true when looking at manufactures that private label other controllers.
Estimates are as high as 95% of installations use ladder logic programming in the programmable logic controller.
The PLC programming language that is used can be decided when you look at the following:
Maintenance and troubleshooting
Knowledge of language
Acceptance of the country, location, or individual plant
Application of the PLC
Ease of changing the PLC program
The actual programming of the PLC is the second last step in the development of programs. The five steps to PLC program development is a good method to follow before picking what programming language to use. As mentioned before the languages supported by each PLC may differ. Please refer to the types of programming that are available for your model and version of PLC.
Let’s quickly review some of the different programming languages for the PLC.
Structured Text (ST) is a high-level programming language that closely resembles Pascale programming. Statements are used to define what to execute.
Function Block Diagram (FBD) is a graphical representation of AND, NAND, OR, NOR gates, etc. that are drawn. It will describe the function between input and output variables.
Sequential Function Chart (SFC) is like a flowchart of your program. It defines the steps through which your program moves.
Instruction List (IL) can also be referred to as the mnemonic code and statement list. It contains simple instructions for looking at your variables.
Ladder Diagram (LD) is the most popular programming language for the PLC. It was written to mimic the mechanical relays in the panel that the programmable logic controller replaced. It has two vertical rails and a series of horizontal rungs between them. Controllers will usually scan from left to right top to bottom. The output of one rung is available for the next rung.
PLC programming methods are evolving. PLC Open is an organization that is defining new methods to take advantage of the latest computer innovations. They have defined the IL method of programming to XML (Extended Markup Language) which is used for web development. This, in my opinion, keeps moving the ideal method, to a standard way to program PLCs.
If you have any questions or need further information please contact me.
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.