--*******************************************************************************
-- The RETURN statement is used in a routine to restore execution control
-- from a routine to the calling routine or program.
-- The following rules apply when returning from a routine:
-- • In a procedure, the RETURN statement cannot include a value.
-- • If no RETURN statement is executed, the END statement restores control to the calling program or routine.
-- Procedure RETURN Statements illustrates some examples of using the RETURN statement in a procedure.
-- 返回语句在例程中用于将执行控制从例程恢复到调用例程或程序。
-- 从例程返回时适用以下规则:
-- •在过程中,返回语句不能包含值。
-- •如果没有执行返回语句,则END语句将控制恢复到调用程序或例程。
--***********************************************************************************
-- 过程返回语句说明了在过程中使用返回语句的一些示例,【如下示例说明】
PROGRAM Proc_RETURN
----------------------------------------------------
-- Creation date: 2023.08.11
-- Created by:
----------------------------------------------------
-- Version: 0.0.0.0 - 00
----------------------------------------------------
-- Function:
----------------------------------------------------
-- Last modified: 2023.08.11
-- Last modified by:
----------------------------------------------------
%COMMENT = 'Proc_RETURN'
%ALPHABETIZE
%INCLUDE KLEVKEYS
%INCLUDE KLEVKMSK
%INCLUDE KLEVCCDF
%INCLUDE KLIOUOP
%INCLUDE KLIOTYPS
-- CONST
CONST
tp_device = TP_PANEL
tp_window = SPI_TPUSER
-- TYPE
-- VAR
VAR
Input_num1 :INTEGER
Input_num2 :INTEGER
ROUTINE gun_on (error_flag: INTEGER)
--performs some operation while a "gun" is turned on
--returns from different statements depending on what,
--if any, error occurs.
VAR gun: INTEGER
BEGIN
---------------------------------
IF error_flag = 1 THEN
--abnormal exit from routine, returns before
--executing WHILE loop
WRITE('【error_flag = 1】',CR)
RETURN
ENDIF
----------------------------------
--【用这个信号的端口测试】
WHILE DIN[gun] = TRUE DO
--continues until gun is off
WRITE('【current State Gun Is Off】',CR)
----------------------------------
IF error_flag = 2 THEN
--abnormal exit from routine, returns from
--within WHILE loop
WRITE('【error_flag = 2】',CR)
RETURN
ENDIF
----------------------------------
ENDWHILE --gun is off
END gun_on --normal exit from routine
----------------------------------------------------
-- BEGIN Proc_RETURN
----------------------------------------------------
BEGIN
----进行测试程序
FORCE_SPMENU(tp_device,tp_window,1)
WRITE(CHR(128),CHR(137))
WRITE('输入一个数值',CR)
READ(Input_num1)
gun_on(Input_num1)---实参Input_num1=1 传递
WRITE('输入一个数值',CR)
READ(Input_num2)
gun_on(Input_num2)---实参Input_num2=2 传递
END Proc_RETURN