Inst ToolsInst ToolsInst Tools
  • Courses
  • Automation
    • PLC
    • Control System
    • Safety System
    • Communication
    • Fire & Gas System
  • Instrumentation
    • Design
    • Pressure
    • Temperature
    • Flow
    • Level
    • Vibration
    • Analyzer
    • Control Valve
    • Switch
    • Calibration
    • Erection & Commissioning
  • Interview
    • Instrumentation
    • Electrical
    • Electronics
    • Practical
  • Q&A
    • Instrumentation
    • Control System
    • Electrical
    • Electronics
    • Analog Electronics
    • Digital Electronics
    • Power Electronics
    • Microprocessor
  • Request
Search
  • Books
  • Software
  • Projects
  • Process
  • Tools
  • Basics
  • Formula
  • Power Plant
  • Root Cause Analysis
  • Electrical Basics
  • Animation
  • Standards
  • 4-20 mA Course
  • Siemens PLC Course
Reading: #3 PLC Best Practices – Leave Operational Logic in the PLC wherever feasible
Share
Font ResizerAa
Inst ToolsInst Tools
Font ResizerAa
  • Courses
  • Design
  • PLC
  • Interview
  • Control System
Search
  • Courses
  • Automation
    • PLC
    • Control System
    • Safety System
    • Communication
    • Fire & Gas System
  • Instrumentation
    • Design
    • Pressure
    • Temperature
    • Flow
    • Level
    • Vibration
    • Analyzer
    • Control Valve
    • Switch
    • Calibration
    • Erection & Commissioning
  • Interview
    • Instrumentation
    • Electrical
    • Electronics
    • Practical
  • Q&A
    • Instrumentation
    • Control System
    • Electrical
    • Electronics
    • Analog Electronics
    • Digital Electronics
    • Power Electronics
    • Microprocessor
  • Request
Follow US
All rights reserved. Reproduction in whole or in part without written permission is prohibited.
Inst Tools > Blog > PLC Tutorials > #3 PLC Best Practices – Leave Operational Logic in the PLC wherever feasible

#3 PLC Best Practices – Leave Operational Logic in the PLC wherever feasible

Leave as much operational logic e.g., totalizing or integrating, as possible directly in the PLC. The HMI does not get enough capacity.

Last updated: September 21, 2021 1:03 am
Editorial Staff
PLC Tutorials
No Comments
Share
5 Min Read
SHARE

Leave as much operational logic e.g., totalizing or integrating, as possible directly in the PLC. The HMI does not get enough updates to do this well.

Contents
Leave Operational Logic in the PLCExample
Security ObjectiveTarget Group
  The integrity of PLC logicProduct Supplier Integration / Maintenance Service Provider Asset Owner

Leave Operational Logic in the PLC

HMIs provide some level of coding capabilities, originally aimed to help operators enhance visualization and alarming, that some programmers have employed to create code that should rather stay in the PLC to remain complete and auditable.

Calculating values as close to the field as possible makes these calculations more accurate. The HMI does not get enough updates to do totalizing / integrating well.

Also, there is always latency between HMI and PLC. Further, when the code is in the PLC, and an HMI restarts, it can always receive totalizers/counts from a PLC.

In particular, HMI code to be avoided is anything related to security or safety functions such as interlocks, timers, holds or permissives.

For analyzing process data values over time, a process data historian is a better choice than the HMI. Use queries in a process historian database to compare totalized values (over a period, over a batch, over a process cycle) with totals aggregated locally in PLC logic.

Alert on a variance greater than that can be explained by differences in data granularity.

Leave Operational Logic in the PLC

Example

Code to establish conditions to enable/disable buttons: Enable/disable actions should be controlled on the PLC layer, otherwise, actions can be performed on the HMI (or through the network) in PLC, although not meeting (intended) conditions.

Timers to allow actions to the operator (delay timer for consecutive motor starts, timer to consider valves closed/open or motor stopped) should not be put on the HMI layer but in the PLC governing such motor/valve.

Thresholds for alarms have to be part of PLC codes although displayed on HMIs.

Water tank with changing volume: The PLC which controls flow in and out of the tank can easily totalize volume (and cross-validate totals).

The HMI could do this as well, but it would need to get the values from the PLC first. These values would need accurate time-stamps in order to get correct totals in case of latency or and might miss values if the HMI restarts.

Why?

Beneficial for…?Why?
Security1. Allows consistency in verifying code changes. HMI coding has its change control apart from PLC, generally not with the same rigor (especially in construction and commissioning phases), not allowing system owners to have a complete view, and even losing important considerations.

HMI’s do not include “forced signals” or changed value lists as PLCs or SCADAs, so HMI level changes are more difficult to be detected, practically impossible to be part of an authorization change management plan.

2.   For an attacker, it is harder to manipulate totals distributed over many PLCs than to manipulate totals all calculated in the HMI.

3.   If a portion of the enable/disable functions are not in the PLC, attackers might be able to manipulate the PLC and I/O without having to work the HMI portion as the proper information is already obfuscated on the operator screen.
            Reliability1.   Calculations are more efficient and accurate if closer to the field. Also, totals and counts will still be available if HMI restarts (PLCs do not restart as often and usually store these values in non-volatile memory).

2.   Different sources for inputs and interlocks may mean non-expected failures. There can be different technologies for HMIs in a plant (SCADA layer, but also field controller panels), and changes in one of those will fail to be disseminated through the rest of the layers, leading to inconsistencies in visualization and possible failures in operation.
  MaintenanceCoding is easy to understand and transfer from PLC to PLC, not so much from HMIs to HMIs.

References

Standard/frameworkMapping
  MITRE ATT&CK for ICSTactic:  TA010 – Impair Process Control
Technique:  T0836 – Modify Parameter
ISA 62443-3-3SR 3.6: Deterministic Output
ISA 62443-4-2CR 3.6: Deterministic Output

Source: PLC Security

Don't Miss Our Updates
Be the first to get exclusive content straight to your email.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address
You've successfully subscribed !

Continue Reading

How to Use ModScan Software for Testing Modbus Communication?
PLC Programming for Loss in Weight Liquid Systems
How to Backup and Restore from Simatic Prosave HMI?
Ladder Logic for Control of Double-acting Pneumatic Cylinder
Siemens HMI Training – Using UDTs with Faceplates
Learn about SCADA and HMI Systems
Share This Article
Facebook Whatsapp Whatsapp LinkedIn Copy Link
Share
Leave a Comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Stay Connected

128.3kFollowersLike
69.1kFollowersFollow
210kSubscribersSubscribe
38kFollowersFollow

Categories

Explore More

PLC Digital Input and Digital Output Modules
Hardware Troubleshooting Steps for PLC Automation Systems
PLC Analog I/O and Network I/O
How to Create New Project Using Simatic Manager
PLC Tag Naming Conventions
Five Types of PLC Programming languages
PLC Program for Automatic Mixing Control in a Tank
AENT Module in Rockwell PLC – Remote IO Adapter

Keep Learning

PLC Memory Organization - Data Files and Program Files

PLC Memory Organization – Data Files and Program Files

Free Download PLC Book

Free Download Programmable Logic Controller (PLC) Book

OMRON PLC program for waste-burning automation

Waste-Burning System OMRON PLC Program Example

Examples of PLC Programming using Boolean Functions

Examples of PLC Programming using Boolean Functions

DCS Commissioning Steps

DCS Commissioning Steps

Advantages of Redundant System

Redundant Automation Systems – Need and Advantages

PLC Automation for Product Weighing and Labeling

PLC Controlled Conveyor and Weighing with Labeling Automation

Top Free PLC Software

Top Free PLC Software

Learn More

Weir Diaphragm Valve

Diaphragm Valves Construction, Types, Stem & Bonnet Assembly

Functional Safety Engineering

SIS Safety Requirements

Stainless Steel CNC Machined Parts

Everything You Need to Know About Stainless Steel CNC Machined Parts

How to Test a Thermocouple with a Multimeter

Testing a Thermocouple With a Multimeter

Clamp Meter

Things to Know When Measuring Current

PID Controller Tunning Manually

PID Controller Parameters Tuning Manually

What is a Fuse

What is a Fuse ?

Temperature Controller Problem

Temperature Controller Problem

Menu

  • About
  • Privacy Policy
  • Copyright

Quick Links

  • Learn PLC
  • Helping Hand
  • Part Time Job

YouTube Subscribe

Follow US
All rights reserved. Reproduction in whole or in part without written permission is prohibited.
Welcome Back!

Sign in to your account

Username or Email Address
Password

Lost your password?