What is a PLC
Essentially it has:
- Inputs connected to different detection and measurement elements: photocells, inductive, transducers, etc.
- Outputs controlling actuators such as solenoid valves, motors, servos, inverters, etc.
- Communication with other elements: operator screens, alarm centres, report generators and databases.
Once the industrial process to be carried out has been defined, the next step is to design the automation that will carry it out.
And within this automation, the PLC will be in charge of orchestrating all the elements involved and controlling the variables of the process.
In this way, it can carry out the control required by the industrial process.
The programme and its parts
Making a good programme is not only about getting it right at a given time, but also about being able to introduce changes quickly and safely.
While every programmer has his or her own style, there are certain methodologies that allow for greater flexibility and reliability in changes.
Well-established best practices in the IT industry such as SOLID, DRY and Hexagonal Architecture among others can be applied.
The use of the following is also appreciated:
- Naming conventions for variables and functions
- Clear and concise comments
Priority to code portability
- Modularity, reusability and scalability
- Focusing development on performance testing
Ultimately, good software is achieved with solid methodologies, modularity, reusability, scalability and exhaustive testing.
Where to improve
Reduce cycle time
Time is money, and reducing machine cycle time translates into direct gains.
The market demands new features and new models. We can update the programme to accommodate them.
Remove obsolete parts
Often obsolete parts are left behind "just in case". This slows down and hinders future planned changes.
Reduce energy costs
Processes can be optimised to minimise their energy consumption.
Being able to make changes quickly and with the assurance that they will not affect other parties.
Automatic data extraction
The data is sent in real time to the database to be analysed with programmes such as PowerBI or Tableau.
Records degraded checks and deactivated pokayokes. Prevents customer rejections.