Category Archives: HMI

Changing Landscape of PLC Programming

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

System Design:

The 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 question on what is required when installing a PLC system.

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

Additional Questions to Ask:

  • Drives / Motors  – What are you connecting to and 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/or controlled on a remote device such as a tablet or phone?
  • Do you need email and/or text messages sent out by the PLC?
  • Etc.

Programming:

PLC
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 PLC’s all will do a good job. It depends on how you were originally taught about programming and the experience that your have. Not all PLC’s will be able to program in the 5 different ways. Some will only provide a couple. You will have to see the programming manual of the make and model of the PLC that you want to program.
IEC 61131-3 is good, however this does not mean that every programmable controller will program the same way. It will look familiar between programming ladder in AB vs Siemens vs Omron vs Direct Automation, but the key strokes in the software will be different. Manufactures in my opinion will not come to an agreement 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 manufacturers HMI with their PLC. The communications is usually direct to the memory areas, and faster response time.

Computer
I believe it is always best to have some computer background information. All of our lives are based upon desktop, laptop, tablets and smart phones. Each of these will have an operating system like Windows, iOS, Android etc.
Higher level languages such as Visual Basic (VB6) will give you the ability to run self contained programs that can install on a computer and communicate to the network. I have used this to retrieve information out of the PLC’s on the production floor and save this information into a database.

The computer languages are not always the easiest to learn, but with the tutorials and information on the web this becomes easier. Once you learn 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 important. You cannot find a manufacturing plant without a computer network. This is usually confined to the ‘front office’ and is for email, engineering and accounting. We need to get the information from the plant floor to everyone on the Intranet and/or Internet. This can be done through setting up a web server and using basically HTML and ASP to deliver real time data to the network from the PLC.
http://www.w3schools.com/
W3school has help me to deliver real time data via email and web pages to the computer network.
HTML stands for hyper text markup language and is used for all web pages.
ASP stands for active server pages and is used to communicate from a database to web pages.
HTML, ASP, Javascript, VBscript, etc are all languages that are used to define information that gets shared on a computer network through a web server via a web client.

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

How do you see this change?
Let me know.
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.

Creating More Than Just A PLC Program

A collection of random thoughts on PLC programming and doing more than just basic logic. Making your program intuitive.

PLC programs usually just control the logic between the inputs and outputs. If this turns on and that is not on, then this output is on, bla bla bla. Programmable logic controller programs can go far beyond just the basic logic. Modern processing power has enabled allot more features that can be programmed.

Traditional PLC programs are written so everyone can understand the ladder programming. This is not the case anymore. There should be no need for anyone to review the ladder program. Error messages, alarms and sequencing should automatically make troubleshooting simple. If something is not working, your system should direct personal how and what to do to fix it.

Touch screens, LED indicators, stack lights, custom user error messages, display boards and logging software are just a few methods of displaying information to the operator, electrician, mechanic, supervisors, managers and even owners of the equipment.

Your program can track the basic hours of operation and trigger maintenance events from these hours. What needs to be done after 100, 500, 1000 hours? Just like the service on your car, you should plan for the service on your machine through the use of program.

If a pneumatic cylinder is used here are a few things that you can track in the program:

  • Number of cylinder cycles
    • Life expectancy
  • Time it takes to complete cycle (Sensors on both ends of the cylinder)
    • Determine if a seal is leaking
    • Pressure of the incoming supply if multiple cylinders are monitored

Here is a good reference for Bimba Cylinders.
https://www.bimba.com/sites/default/files/Library%20Archives/Catalogs/Bimba/Bimba_Reference_Handbook.pdf

Alarm Screens:

Alarms should be easily identified and located.
Remember: A picture is worth a thousand words.

Establish sequencing of events that can be stepped through forward and backwards can allow maintenance personal to easily troubleshoot the system without going through possibly hundreds of lines of ladder logic.
Please see the following links for sequencing your program:
Building a PLC Program That You Can Be Proud Of – Part 1
Building a PLC Program That You Can Be Proud Of – Part 2

With Ethernet connections built into most modern PLC CPUs, it is now  possible for the PLC to automatically send email to your exchange server.
Automation Direct Do-More CPU is one of these PLCs.
https://www.automationdirect.com/adc/Shopping/Catalog/Programmable_Controllers/Do-more_Series_(BRX,_H2,_T1H)_PLCs_(Micro_Modular_-a-_Stackable)

When programming PLC’s for logging data, information must be stored in the PLC for later retrieval. Most commercially available software for logging data does not consider the event of loosing the communication cable. If an interruption on your communication lines happen, data cannot be retrieved from the PLC. The PLC can use indirect addressing to store the logged information. Logging software can read the pointer to the logged data, read the data and then reset the pointer. The duration and amount of information that you are logging will determine the amount of time the communication can be disabled before loosing data. I usually log daily summaries as well as detailed information in the process. My detailed data will be lost in 2 hours but my log daily will take one month.

What other options do you see with a modern PLC?

I look forward to your comments,
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.