Logic or programming in PLC is done using Ladder logic or other formats. In general there are some terms that are used is programming to identify how they will interact with other system.
These terms include:-
Permissives are minimum perquisites that are required for drive or system to operate. Like lubrication system should be on before a drive starts etc.
Protection prevent a drive or logic from a harmful condition and start/ stop system to prevent human or mechanical damage. Like high current will trip a motor to prevent damage. These code act without any checks for permissives as they are typically a last resort kind of stuff.
Lastly Interlocks are code or conditions that are execute when another action happens and change how the drive or code was working to provide a smooth running process.
For example if 2 motors (say motor A & motor B) are there and only one is generally used but necessary 24 x 7. Then I will add an interlock in logic of motor A that if the other motor B turns off due to error then start drive A.
Interlocks are often used to start auxiliary equipment, standby drives, or to prevent starting of systems for smooth operations.
A key note is that Interlocks will require permissives to be followed, that is only interlock is not sufficient the permissives are also to be met.
Interlocks do jobs that can be executed by operator action also but provide some ease in operation and reduce human error.
credits - Satish Pradhan