Turn on PL1 when PB1 has been pressed for 2 seconds, use TON

To accomplish this task, we will utilize the TON (Timer ON Delay) function block. The TON function block is used when we want to introduce a delay in turning on a device (in this case, PL1). Here is a sample code for this implementation:

```iecst
PROGRAM Main
VAR
PB1 : BOOL := FALSE; (*Button PB1 state*)
PL1 : BOOL := FALSE; (*Light PL1 state*)
Timer1 : TON; (*Timer to introduce delay*)
END_VAR

METHOD RunSequence
IF PB1 THEN (*If PB1 is pressed*)
Timer1(IN := TRUE, PT := T#2s); (*Start the timer with a delay of 2 seconds*)
IF Timer1.Q THEN (*If timer elapsed*)
PL1 := TRUE; (*Turn on PL1*)
END_IF
ELSE
Timer1(IN := FALSE); (*Reset the timer if PB1 is not pressed*)
PL1 := FALSE; (*Turn off PL1*)
END_IF
END_METHOD
```

In the above code, we define the PB1 (button) and PL1 (light) as Boolean variables. We also create a TON timer instance to introduce a delay.

In the `RunSequence` method, we check if PB1 is pressed. If pressed, we start the timer with a delay of 2 seconds. Once the timer's delay has elapsed, we turn on PL1. If PB1 is not pressed, we reset the timer and turn off PL1.