User Tools

Site Tools

한국어

cubloc:on_ladderint:index

On LadderInt

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:

Go CUBLOC home

cubloc/on_ladderint/index.txt · Last modified: 2016/07/25 08:57 by COMFILE Technology