Modular PLC Programming
My University Part C Dissertation

 

CCE Tools

Tools used for Virtual Engineering

 

5 State FB

5 State Function Block Outline

 

The test system using an HMI

HMI test Station

Abstract

W

ithin the automation industry today, there is a lack of holistic design approaches to aid the development and implementation of control logic for use with a Programmable Logic Controller (PLC). Within Loughborough University a set of powerful design tools are being designed to meet this need for a total “Virtual Engineering” solution.

This engineering tool allows the creation of virtual machines, which have the potential to be manipulated and controlled similar to that of a real system. By doing this, it is possible to design software that can automate PLC control logic based upon the virtual system.
This control logic makes use of a library of Function Blocks (FBs) that have been designed and implemented throughout this project.

By using these FBs it is possible to create a totally automated system for generating PLC control programmes.

During the development of the FBs, various methods to solve problems such as PLC timing and alarm transmission were found, leading to numerous ways in which to solve the problem.

The Rig

T

he test rig located in T117 of the Wolfson Engineering Department at Loughborough University is designed to be a replica of a potential rig that would typically be used within industry. It has been designed to be used as an educational aid to a person wishing to develop automation skills. The rig conforms to the IEC standards in terms of hardware and is developed with real systems in mind. The rig has been setup to use both a Schneider PLC system as well as a Siemens PLC system. The rig contains numerous pneumatic as well as electromechanical components, for example:

  • Drill
  • Photoelectric Switch
  • Pressure Switch
  • Swinging Arm

The rig uses a part that is a circular block with some internal geometry. The parts are contained within a hopper at the beginning of the system and are slowly fed into the system as and when they are required.

 

Picture of a Swinger Arm

Typical component to use a 5 State Function Block

 

Snippet of code from 5 State Function Block

 

A Ladder Logic representation of the FB


If you have any questions or wish to discuss the project please don’t hesitate to use the contact page and get in touch, thanks.

Please navigate various parts with the drop down menus below:

Overview

A Programmable Logic Controller (PLC) is a small, robust, electrical piece of hardware that can be used to control system components such as drills, pushers and other machine components.

The project was to design Function Blocks that interact between the Logic Engine and the system components on a software level.

The Function Blocks contain a pre-defined set of inputs and outputs that relate to its use within the system.

Test the FB against the Logic Engine specification.

The Need

Lack of versatile engineering tools to help with the development and implementation of modular programming techniques.

The advancement of standardisation has allowed a modular style to be designed that will function with many different PLC manufacturers.

To acheive a complete virtual engineering solution, that allows thorough design and implementation of a PLC system

Virtual Engineering

The tools that are being developed are known as the Core Component Editor tools.

Allows for the generation of a virtual test rig, and the implementation of system control logic.

The user can design a complete system within a virtual environment.

This is then used to produce working PLC code that can be downloaded to a PLC and used to run the system, part of this code is the Logic Engine.

The Logic Engine

The Logic Engine is part of the Loughborough Control System. Designed to structure and maintain the organisation of components and processes within a PLC program. It runs on the PLC and takes direct control over the Function Blocks that have been designed.

The Logic Engine has been designd to be generated automatically, using the Virtual Engineering Tools.

The Function Block

Provides modular control over many different components with similar behaviour.
Can design libraries of FBs to allow complete control over a system.
The FB must communicate between the LE and the component whilst being flexible and highly re-usable.
Various different states are required for components, for example, a two state component such as a drill or five state component such as a swinger arm. (pictured above)

Evaluation

The Function Blocks performed well on the Siemens S7 PLC.

They performed all the necessary functions that they were specified to do. During testing on a Schneider PLC certain aspects did not work, however, work alternative solutions were found to solve this.

Overall the project was a success and it has allowed the Logic Engine to be further developed. In order to make total modular, virtual engineering possible.