On LadderInt GoSub label
If Register F40 turns on in Ladder Logic, and the On LadderInt GoSub
command is used, then the processor will jump to the routine (label
)
specified by On LadderInt
.
This can be used when a Ladder Logic program needs to trigger a specific procedure in BASIC.
Please use the SETOUT
and DF
command to write 1 to the register F40.
When the BASIC interrupt routine is finished, register F40 can be cleared by
writing a zero to it.
During the interrupt service routine(ISR) execution, writing a 1 to register F40 will not allow another interrupt to occur. If register F40 is cleared from BASIC, it signals the end of the ISR and can process another interrupt.
UsePin 0,In Set Ladder On Set Display 0,0,16,77,50 On LadderInt GoSub msg1_rtn Dim i As Integer Low 1 Do i=i+1 ByteOut 1,i Delay 200 Loop msg1_rtn: Locate 0,0 Print "ON LadderInt",Dec i Reverse 1 Return
When P0 turns on, register F40 turns on and the msg1_rtn
interrupt routine
in BASIC is executed. In the ISR, a String is printed to the LCD.
Although there is only one register, F40, with which call an ISR in BASIC from Ladder Logic, we can use data register D to process many different types of interrupts.
Given the ladder above, when P0 turns on, D0 gets 3 and the interrupt routine is executed. If P2 turns on, D0 gets 2 and the interrupt routine is executed. In the ISR, the user can then process the type of interrupt based on the value stored in D0.
msg1_rtn: If _D(0)=3 Then Locate 0,0 Print "ON Ladderint",Dec i End If If _D(0)=2 Then Locate 0,0 Print "TEST PROGRAM",Dec i End If Return
For a short version of the ladder above the user can use an INTON
command, which accomplishes both WMOV
and SETOUT
in one command.
The following is an equivalent shortened version of the ladder above: