Control of Hydraulic Pulse System Based on the PLC and State Machine Programming †
Abstract
:1. Introduction
2. Requirements for Pneumatic–Hydraulic Pulse System
3. Hardware Solution
3.1. Pneumatic–Hydraulic Parts
3.2. PLC Based Control System
3.3. User Interface Elements
3.4. Electrical Parts of System
3.5. Safety Measures
3.6. Network Connectivity of the Pneumatic–Hydraulic System
4. Software Solution
4.1. Basic PLC Functions
- Ladder diagram (LD), graphical
- Function block diagram (FBD), graphical
- Structured text (ST), textual
- Instruction list (IL), textual (deprecated in 3rd edition of the standard)
- Sequential function chart (SFC), has elements to organize programs for sequential and parallel control processing (IEC 1131-3: The International Programmable Controller Language Standard and)
4.2. List of Hardware Inputs and Outputs for PLC
4.3. Physical Layer Threads
4.4. Application Layer Threads
4.5. Description of the Master Control State Machine
4.6. Auxiliary Functions
4.7. Calibration of the System
5. Discussion
6. Conclusions
Supplementary Materials
Author Contributions
Funding
Conflicts of Interest
References
- Lamb, F. PLC Hardware and Programming Multi-Platform; AuthorHouse: New York, NY, USA, 2016; ISBN 13 978-1524648183. [Google Scholar]
- Collins, K. PLC Programming for Industrial Automation; Exposure Publishing: New York, NY, USA, 2007; ISBN 13 978-1846854965. [Google Scholar]
- Harel, D.; Lachover, H.; Naamad, A.; Pnueli, A.; Politi, M.; Sherman, R.; Shtull-Trauring, A.; Trakhtenbrot, M. STATEMATE: A working environment for the development of complex reactive systems. In Proceedings of the 11th International Conference on Software Engineering, Singapore, 11–15 April 1988. [Google Scholar]
- Harel, D. A Visual Formalism for Complex Systems. 1987. Available online: https://www.fceia.unr.edu.ar/asist/harel01.pdf (accessed on 19 November 2018).
- Merritt, H.E. Hydraulic Control Systems; John Wileys & Sons: Cincinnati, OH, USA, 1967. [Google Scholar]
- Phoenix Contact. Nanoline Base Units. Available online: https://www.phoenixcontact.com/online/portal/us/?uri=pxc-oc-itemdetail:pid=2700464&library=usen&pcck=P&tab=1&selectedCategory=ALL (accessed on 19 November 2018).
- Safety Relays-PSR-SCP-24UC/ESAM4/3X1/1X2/B-2900509. Available online: https://www.phoenixcontact.com/online/portal/us?uri=pxc-oc-itemdetail:pid=2900509&library=usen&pdfmode=direct&pdflanguage=en (accessed on 19 November 2018).
- Communication Module-NLC-COM-ENET-MB1-2701124. Available online: https://www.phoenixcontact.com/online/portal/us?uri=pxc-oc-itemdetail:pid=2701124&library=usen&pcck=P-21-03-03-01&tab=1 (accessed on 19 November 2018).
- OLIMEX. AVR-CAN Development Board Based on AT90CAN128. Available online: https://www.olimex.com/Products/AVR/Development/AVR-CAN/ (accessed on 19 November 2018).
- John, K.-H.; Tiegelkamp, M. IEC 61131-3: Programming Industrial Automation Systems: Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making Aids; Springer: Berlin/Heidelberg, Germany, 2010; ISBN 978-3-642-12015-2. [Google Scholar]
- Lewis, R.W. Programming Industrial Control Systems Using IEC 1131-3; The Institution of Electrical Engineers: New York, NY, USA, 1998; ISBN 0852969503. [Google Scholar]
- Wika Instruments. Hand-Held Pressure Indicator Model CPH 6200. Available online: http://www.wika.us/upload/DS_HPCPH6200___CPH6200_S2_en_us_17152.pdf (accessed on 19 November 2018).
- Phoenix Contact. Software-NLC-NAV-01–2701221. Available online: https://www.phoenixcontact.com/online/portal/us?uri=pxc-oc-itemdetail:pid=2701221&library=usen&tab=1 (accessed on 19 November 2018).
n. | Name of Hardware Signal | Signal Direction/Digital/Analog | Signal is Processed in the Independent Thread | Description of Physical Signal |
---|---|---|---|---|
1 | ERROR | I0-input | Physical layer 4_ERROR | From safety relay |
2 | MANUAL | I1-input | Physical layer 1_MANUAL | User input, manual control |
3 | AUTO | I2-input | Physical layer 2_AUTO | User input, pulse gen. |
4 | PULSE | I3-input | Physical layer 3_PULSE | User input, start of pulsing |
5 | RESET | I4-input | Physical layer 5_RESET | User input, stop of pulsing |
6 | AIR_ERROR | I5-input | Application layer 4_State_Func | From pressure air tank switch |
7 | LIQUID_ERROR | I6-input | Application layer 4_State_Func | From hydraulic tank switch |
8 | DISTANCE_ERROR | I7-input | Application layer 4_State_Func | From distance contact switch |
9 | PNEU_PUMP | Q0-output | Application layer 1_State_Func and 3_State_Func | For pneumatic pump control |
10 | PULSE_RELAY | Q1-output | Application layer 3_State_Func | For pulse control generation |
11 | HYDR_PRES_SENSOR | AI0-input | All application layers | From hydraulic pressure sensor |
12 | MANUAL_PRES_SET | AI1-input | Application layer 1_State_Func | From user man. potentiometer |
13 | PNEUMATIC_VALVE | AU0-output | Application layer 1_State_Func and 3_State_Func | For proportional valve control |
n. | Name of Thread | Signal Condition for Perform of the Thread | Program Switches the Flag to ON | Conditionally can Set also | Description of Program Thread |
---|---|---|---|---|---|
1 | 4_ERROR | Signal ERROR = ON | State_FLAGS_4_ERROR | PNEU_PUMP(OFF) PULSE_RELAY(OFF) | Safety relay output processing |
2 | 0_WAIT | Signal ERROR = ON | State_FLAGS_0_WAIT | Wait state | |
3 | 1_MANUAL | Signal MANUAL = ON AND ERROR = OFF | State_FLAGS_1_MAN | State_FLAGS_0_WAIT | User input, manual control mode |
4 | 2_AUTO | Signal AUTO = ON AND ERROR = OFF | State_FLAGS_2_AUTO | State_FLAGS_0_WAIT | User input, pulse generation mode |
5 | 3_PULSE | Signal PULSE = ON AND ERROR = OFF | State_FLAGS_3_PULSE | State_FLAGS_0_WAIT | User input, start of pulsing |
6 | 5_RESET | Signal RESET = ON AND ERROR = OFF | State_FLAGS_2_AUTO | START_BUTT_ON | User input, stop of pulsing |
n. | Name of Thread | Flag Condition for Perform of the Thread | Description of Program Thread, see Figure 4 Master Control State Diagram for Hydraulic Pulse System |
---|---|---|---|
1 | 0_State_Func | State_FLAGS_0_WAIT = ON AND ERROR = OFF | WAIT STATE, Initialization of calibration constants, zeroing of the ATE pressure sensor |
2 | 1_State_Func | State_FLAGS_1_MANUAL = ON AND ERROR = OFF | MANUAL STATE, manual control of output hydraulic pressure via manual potentiometer |
3 | 2_State_Func | State_FLAGS_2_AUTO = ON AND ERROR = OFF | AUTO STATE, setting of parameters for hydraulic pulse train: WAGON parameters numbers of TRAIN WAGON and number of TRAIN SEASSON, manual calibration constants inputs (sub state: 22_State_Func) |
4 | 3_State_Func | State_FLAGS_3_PULSE = ON AND ERROR = OFF | PULSE STATE, performing of hydraulic pulsation according of parameter settings, after finish of pulsing goes automatic to AUTO MODE (FLAGS_2_AUTO = ON, FLAGS_3_PULSE = OFF) |
5 | 4_State_Func | State_FLAGS_4_ERROR | ERROR STATE, Safety relay determined, determination of the error source |
6 | 5_State_Func | State_FLAGS_5 | Sub state of PULSE STATE, measurement of the maximum of the hydraulic pulse peak during PULSE MODE (during the pause time and during the pulse time) |
7 | 6_State_Func | State_FLAGS_21_QSET | Sub state of AUTO STATE, user setting of parameters for four TRAIN (T0, T1, COUNT, PRESSURE) |
8 | 7_State_Func | State_FLAGS_7 | Sub state of PULSE STATE, actual modification of parameters after one TRAIN SESSION |
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Pančík, J.; Maxera, P. Control of Hydraulic Pulse System Based on the PLC and State Machine Programming. Designs 2018, 2, 48. https://doi.org/10.3390/designs2040048
Pančík J, Maxera P. Control of Hydraulic Pulse System Based on the PLC and State Machine Programming. Designs. 2018; 2(4):48. https://doi.org/10.3390/designs2040048
Chicago/Turabian StylePančík, Juraj, and Pavel Maxera. 2018. "Control of Hydraulic Pulse System Based on the PLC and State Machine Programming" Designs 2, no. 4: 48. https://doi.org/10.3390/designs2040048