Motor running hours are an extremely important parameter in industrial automation. It is necessary to calculate it for efficient performance, maintenance, and switching of multiple motors.
Motor Running Hours PLC Program
In the PLC program, motor running hours can be implemented with the help of timers and counters. In this post, we will see how to write a PLC program for calculating and controlling motor running hours using functional block diagram language in the Studio 5000 platform.
Let us understand the scenario first. We simply have a motor run feedback which we use to calculate the running hours. As the run feedback is received, the values start to accumulate in seconds, minutes, and hours.
We have a total runtime of 32000. After these hours, the counting will stop and the operator needs to press the reset button to again restart the counting.
Allen Bradley Studio 5000
For this, we use Studio 5000 software (Rockwell Automation) and implement it in functional block diagram language.
Let us understand the logic now. Refer to the below image. We will see each and every link one by one. We will use the following tags for HMI – I_Run_Cmd, I_Reset_Pb, DutyRunHrs_S_Pv, DutyRunHrs_S_Pv and DutyRunHrs_S_Pv.
We will first start with counting seconds. Refer to the below image, which has all the links for a seconds counter. The blue color highlighted shows the link to this counter.
For counting the counter, we use an AND logic of run feedback, seconds pulse, and a negated version of the hours counter done bit. So, when the total hours are counted, it will block further counting.
We reset the counter when the minute counter is incremented every time. For this, we use a CU or count-enabled bit of the counter. Due to this, the succeeding counter will be incremented first and the preceding counter will be reset afterwards.
The accumulated value of this counter is written in a tag – DutyRunHrs_S_Pv. The done bit of this counter is used to increment the minutes counter. We use a set value of 60 for this counter.
We next do counting minutes. Refer to the below image, which has all the links for a minutes counter. The blue color highlighted shows the link to this counter. For counting the counter, we use an AND logic of seconds counter done bit and a negated version of minutes counter done bit.
We reset the counter when the hour counter is incremented every time. For this, we use CU or count enabled bit of the counter. Due to this, the succeeding counter will be incremented first and the preceding counter will be reset afterwards.
The accumulated value of this counter is written in a tag – DutyRunHrs_M_Pv. The done bit of this counter is used to increment the hours counter. We use a set value of 60 for this counter.
We next do counting hours. Refer to the below image, which has all the links for a hours counter. The blue color highlighted shows the link to this counter. For counting the counter, we use an AND logic of minutes counter done bit and a negated version of hours counter done bit.
We reset the counter when the user presses the reset button. The accumulated value of this counter is written in a tag – DutyRunHrs_H_Pv. The done bit of this counter is used to block the seconds counter. We use a set value of 32000 for this counter.
When the hours timer is done, the whole counting is stopped and not counted until the user presses the reset button. After this, the counting will start again from zero.
In this way, we saw how to write a PLC program for motor running hours using functional block diagram language.
Read Next:
- Motor Starter Logic using Siemens PLC Logic
- Structured Text PLC Logic for Motor Interlock
- Car Wash Program Functional Block Diagram
- Siemens VFD Configure TIA Portal Start drive
- Configure PID Controller in Schneider PLC