How to Create a user-defined Function Block (FB) for Motor Control Logic in Programmable Logic Controllers (PLC).
Function Block Motor Logic
There is one industrial motor and we need to control with FB block logic. Also, consider all interlock like a trip signal, maintenance, etc. Write the PLC program for this logic and configuration.
For this example, we will use the Function block (FB) for motor control logic. Normally START and STOP buttons are used for motor control.
With FBs, the input, output, in/out, and static variables are saved in the instance DB specified in the call statement. The temporary variables are stored in the L stack.
Function block (FB) logic is used for multiple logic applications. For example, there are two industrial motors in the application. Both the motors are operated in the same logic independently. So we will write logic in FB block for one motor function and use the same for other motors as well. (call FB 1 and FB 2 in OB 1).
List of Inputs:-
- I0.0:- Industrial Motor 1 Start
- I0.1:- Industrial Motor 1 Stop
- I0.2:- Industrial Motor 1 Trip
- I0.3: Maintenance lamp Reset
List of Outputs:-
- Q0.0:- Industrial Motor On
- Q0.1:- Fault lamp
- Q0.2:- Maintenance lamp
- M0.0:- Motor on command
- MW10:- Counter value
Organization block for industrial motor 1 logic. FB 1 is called in OB 1.
Here we are using FB1 block only for one motor control. Generally, FB blocks can be called multiple times in a logic depends on the number of motors to control.
If there are more motors in the application, FB 1 can be called for other motors also, no need to write logic every time.
Function Block (FB1):-
Function block for logic. In this block, we have declared all temporary variables for motor logic.
The below-shown ladder logic will be added in our function block FB1, so every time when you call the function block (FB1), it will perform the function as written in the ladder logic.
You can also compare the inputs & outputs labels in the function block (FB1)with respect to the below ladder logic. The function block (FB1) will have the function, inputs, outputs based on this ladder logic only.
In this network, motor START/STOP logic is used as per normal motor control logic.
Motor 1 can be started by pressing the START BUTTON (I0.0) and sopped by pressing STOP PB (I0.1).
If trip input (I0.2) triggered, motor ON command (M0.0) will be OFF and motor will be stopped.
When motor command ON, industrial motor (Q0.0) will be ON (Started).
If the Trip command (I0.3) is activated, the fault lamp (Q0.1) will be ON.
In this network, counter logic is used for a maintenance lamp. If START BUTTON (I0.0) is pressed for 50 times, the maintenance lamp (Q0.2) will be ON. The counter will be reset after 50 counts.
The maintenance lamp (Q0.2) can be reset by pressing MAINTENANCE RESET BUTTON (I0.4).
As the above explanation, you can write the logic for other motors also. Call FB in OB1 for the second motor and configure the inputs and outputs.
Note:- This is the simple example for FB function used for motor logic in PLC, we can use this concept in other examples also.