Changing Landscape of PLC Programming

With today’s new processing and networking power, the future looks bright for programmable logic controllers and their programming. This has allowed the role of the PLC to expand.

System Design:

PLC design has changed significantly. Computer processing power has now added the following to programmable controllers:

  • Micro USB slots (Data Storage)
  • Ethernet ports
  • WiFi
  • RS232 / RS422 / RS485 (Serial Ports)
  • Canbus
  • Profibus
  • DeviceNet
  • Several digital I/O bus systems like ASi Bus

System design, more than ever, is done by asking even more questions about what is required when installing a PLC system.

Traditional Questions to Ask:
  • The number of input signals? Voltage levels? (Discrete on/off inputs.)
  • The number of output signals? Voltage levels? (Discrete on/off outputs.)
  • The number of analog input signals? Voltage and Current levels?
  • The number of analog output signals? Voltage and Current levels?
  • Is an operator Interface required? HMI – Human Machine Interface – This is a touch or functions key LCD or LED screen.
  • Etc.

Additional Questions to Ask:

  • Drives / Motors  – What are you connecting to, and what is the communication system required?
  • Computer network – Will this join your computer network? What is the connection cable and communication protocol?
  • Do you need data collection?
    • Do you need data displayed and controlled on a remote device such as a tablet or phone?
  • Do you need email and text messages sent out by the PLC?
  • Etc.


There has been a movement to standardize PLC programming. IEC 61131-3 is the standard for PLC programming. It defines three programming methods:
  1. Ladder Diagram – Graphical structure
  2. Function Block Diagram – Graphical structure
  3. Structured Text – Textual structure
  4. Instruction List – Textual structure
  5. Sequential Function Chart – Graphical and Textual structure
The above methods to program PLCs will all do a good job. It depends on how you were initially taught about programming and your experience. Not all PLCs will be able to program in five different ways. Some will only provide a couple. You will have to see the programming manual of the make and model of the PLC you want to program.
IEC 61131-3 is suitable; however, this does not mean every programmable controller will program the same way. It will look familiar between the programming ladder in AB vs. Siemens vs. Omron vs. Direct Automation, but the keystrokes in the software will be different. In my opinion, manufacturers will not agree to have the software exactly the same for all PLC programming. Why should they take away from their market share?
HMI – Human Machine Interface

Just about every manufacturer’s HMI screen will be programmed with different software. Due to the proprietary nature of communications, I would always use the manufacturer’s HMI with their PLC. The communications are usually directed to the memory areas and have a faster response time.

All our lives are based on desktops, laptops, tablets, and smartphones. Each of these will have an operating system like Windows, iOS, Android, etc. I believe it is always best to have some computer background information.
Higher-level languages such as Visual Basic (VB6) will allow you to run self-contained programs that can install on a computer and communicate with the network. I have used this to retrieve information from the PLCs on the production floor and save this information into a database.

Computer languages are not always the easiest to learn, but with online tutorials and information, this becomes easier. Once you know one language well, then this will create a building block of knowledge for you to understand even more.
Microsoft Visual Studio is a free download and fully functional computer environment. This will include the latest visual basic product.

Computer Network
The ability to share information in the company is essential. You cannot find a manufacturing plant without a computer network. We need to get the data from the plant floor to everyone on the Intranet and Internet. This can be done by setting up a web server and using basic HTML and ASP to deliver real-time data to the network from the PLC. This is usually confined to the ‘front office’ and is for email, engineering, and accounting.
W3school help me to deliver real-time data via email and web pages to the computer network.
HTML stands for hypertext markup language and is used for all web pages.
ASP stands for active server pages and communicates from a database to web pages.
HTML, ASP, Javascript, VBScript, etc., are all languages used to define the information shared on a computer network through a web server via a web client.

We have an abundance of information and ways to learn to program. The language and way will change depending on what you want to do. PLC programming is not just the logic behind discrete inputs and outputs on a machine but the entire system. It is the sharing and use of information for the organization.
I believe we are going and growing in the right direction with information sharing…

How do you see this change?
Let me know.

If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLCs are not challenging to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimals, Hexadecimal, ASCII, and Floating Points.

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.

2 thoughts on “Changing Landscape of PLC Programming”

  1. Hi Garry,
    I find this topic really interesting and I´m wondering if you have done already some practical use case covering this concepts related with the so called industry 4.0, e.g., real time systems retrieving data from the production floor into a database, allowing for the development of monitoring tools for supervision and/or subsequent analysis.

    Thanks for the great work.
    Pedro Macedo


Leave a Comment