worker02
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 114 個(gè)
工控威望: 292 點(diǎn)
下載積分: 718 分
在線時(shí)間: 279(小時(shí))
注冊(cè)時(shí)間: 2008-08-01
最后登錄: 2024-10-19
查看worker02的 主題 / 回貼
樓主  發(fā)表于: 2018-05-10 11:47
圖片:
實(shí)例為 6臺(tái)穿梭小車(穿梭車臺(tái)數(shù)可以實(shí)際情況增減),其中5臺(tái)設(shè)為目標(biāo),一臺(tái)為本地穿梭車。功能塊有分別輸出有:警告啟動(dòng)、減速啟動(dòng)、停車啟動(dòng)、兩車間隙值等。
源代碼如下:
FUNCTION_BLOCK FB1026
VAR_INPUT
   CarData1:DINT;//目標(biāo)穿梭車1位置值
   CarData2:DINT;//目標(biāo)穿梭車2位置值
   CarData3:DINT;//目標(biāo)穿梭車3位置值
   CarData4:DINT;//目標(biāo)穿梭車4位置值
   CarData5:DINT;//目標(biāo)穿梭車5位置值
   CarLocaL:DINT;//本地穿梭車位置值
   Warning_JL1:DINT;//警告距離1設(shè)定
   Warning_JL2:DINT;//警告距離2設(shè)定
   Decelerate_JL1:DINT;//減速距離1設(shè)定
   Decelerate_JL2:DINT;//減速距離2設(shè)定
   StopCar_JL1:DINT;//停車距離1設(shè)定
   StopCar_JL2:DINT;//停車距離2設(shè)定
  
END_VAR  
VAR
    I:INT;
    InData:ARRAY[1..5] OF DINT;
END_VAR
VAR_OUTPUT
Out_Warning:BOOL;//警告啟動(dòng)
Out_Decelerate:BOOL;//減速啟動(dòng)
Out_Stop:BOOL;//停車啟動(dòng)
D_Value:DINT;//兩車之間值
END_VAR;
   InData[1]:=CarData1;
   InData[2]:=CarData2;
   InData[3]:=CarData3;
   InData[4]:=CarData4;
   InData[5]:=CarData5;
    FOR I:= 1 TO 5 BY 1 DO
        IF (InData[I]>0)AND(((CarLocaL-InData[I]<0)AND(CarLocaL-InData[I]>=Warning_JL1))OR( CarLocaL-InData[I]>=Warning_JL2))THEN//判定是否已到警告距離
           Out_Warning:=1;//警告啟動(dòng)
           D_Value:=CarLocaL-InData[I];
           ELSE
           Out_Warning:=0;
           Out_decelerate:=0;
           Out_Stop:=0;
           D_Value:=0;
    END_IF;
        IF OUT_Warning THEN  
       IF ((CarLocaL-InData[I]<0)AND(CarLocaL-InData[I]>=Decelerate_JL1))OR( CarLocaL-InData[I]>=Decelerate_JL2)THEN//判定是否已到減速距離
         Out_decelerate:=1;//減速啟動(dòng)
    ELSE
         Out_decelerate:=0;
    END_IF;
        IF((CarLocaL-InData[I]<0)AND(CarLocaL-InData[I]>=StopCar_JL1))OR( CarLocaL-InData[I]>=StopCar_JL2)THEN//判定是否已到停車距離
         Out_Stop:=1;//停車啟動(dòng)
    ELSE
        Out_Stop:=0;
    END_IF;
    EXIT;
    END_IF;
          END_FOR;
    
END_FUNCTION_BLOCK

worker02
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 114 個(gè)
工控威望: 292 點(diǎn)
下載積分: 718 分
在線時(shí)間: 279(小時(shí))
注冊(cè)時(shí)間: 2008-08-01
最后登錄: 2024-10-19
查看worker02的 主題 / 回貼
1樓  發(fā)表于: 2018-05-11 11:34
圖片:
5樓的朋友你看看這張圖就應(yīng)該明的為何都要設(shè)定2種距離了。