ABBロボティクスは、ルーチンメソッドを呼び出します

方法の一つ:ルーチン名を呼び出すルーチンを直接使用

単純すぎる、説明されません

方法2:コール%

%「PROC名」%コールルーチン

 

 コードは示しています。

MODULE CommonMain
    PROCメイン()
        ヌムpathnumのVAR: = 0 ;
        私の目標のn YES: = 0 ;
        VAR num個のtargettest: = 10 ;
        
        " MoveRail "00 ;!日常パラメトリック検定通常
        " MoveRail "0 \正確な、0 ;!スイッチとの日常パラメトリック検定  
        " MoveRail "00 \ターゲット:= targettest ;! オプションのパラメータを持つルーチン試験 
        " Rob1_Side " + NumToStr(pathnum、0)+ " _ " + NumToStr(targetnum、0)%;! 共通経路スタイルのテストコール
    ENDPROC
    
    PROC MoveRail(NUM movedistance \ 切り替える正確な、NUM transdis \ スイッチローム\ のvar num個のターゲット)
        存在する場合(正確な)THEN
            TPWrite " 2、正確な" ;
        そうしないと
            存在する場合(ターゲット)THEN
                TPWrite " 3、ターゲット:= " \のNum:= ターゲット。
            そうしないと
                TPWrite 1、無正確な
            ENDIF
        ENDIF
    ENDPROC
    
    PROC Rob1_Side0_0()
       TPWrite " Rob1_Side0_0 " 
    ENDPROC
ENDMODULE

エラー処理、読み込みエラーが存在する可能性があります

エラー
    TEST ERRNO
    ケースERR_LOADED;
        エラー処理
     デフォルトノーマル!    

方法3:CallByVar命令

 

 

 

 コードは示しています。

PROC CallPath(NUM TrackDistance、文字列のPathName \ スイッチ家)
        VAR NumLenのNUM: = 0 ;
        VARの文字列PROCNAME。
        VARの文字列NumName。
        VAR CGrdSpdのNUM: = 0 ;
        VARのブールチェック:= FALSE;
        VAR NUMミントはラック: = 0 ;

        IF StrMatch(PathName,1,"Up")<(StrLen(PathName)+1) THEN
            MinTrack:=MinTrack_up;
        ELSEIF StrMatch(PathName,1,"Mid")<(StrLen(PathName)+1) THEN
            MinTrack:=MinTrack_mid;
        ELSEIF StrMatch(PathName,1,"Down")<(StrLen(PathName)+1) THEN
            MinTrack:=MinTrack_down;
        ENDIF

        NumLen:=StrLen(PathName)-DivideLen;
        ProcName:=StrPart(PathName, 1, DivideLen);
        NumName:=StrPart(PathName,DivideLen+1,NumLen);
        Check:=StrToVal(NumName, ProcNumber);

        IF TrackDistance+wobj_x_displace<MinTrack THEN
            rHome;
        ELSE
        IF Present(home)=TRUE THEN
            MoveRail TrackDistance, RailSpeed, wobj_x_displace\Rhome;
        ELSE
            MoveRail TrackDistance, RailSpeed, wobj_x_displace;
        ENDIF
            bladeWobj.uframe.trans.x:=(CarriagePositionActualCom/100-wobj_x_displace);
            CallByVar ProcName, ProcNumber;
        ENDIF
    ENDPROC

おすすめ

転載: www.cnblogs.com/xyb617/p/12106235.html