精品一区二区国产-精品一区二区国产在线观看-精品一区二区精品在线蜜桃-精品一区二区免费-精品一区二区免费vr-精品一区二区免费视频

worker02
級別: 略有小成
精華主題: 0
發帖數量: 116 個
工控威望: 296 點
下載積分: 713 分
在線時間: 281(小時)
注冊時間: 2008-08-01
最后登錄: 2025-04-03
查看worker02的 主題 / 回貼
樓主  發表于: 2018-05-10 11:47
圖片:
實例為 6臺穿梭小車(穿梭車臺數可以實際情況增減),其中5臺設為目標,一臺為本地穿梭車。功能塊有分別輸出有:警告啟動、減速啟動、停車啟動、兩車間隙值等。
源代碼如下:
FUNCTION_BLOCK FB1026
VAR_INPUT
   CarData1:DINT;//目標穿梭車1位置值
   CarData2:DINT;//目標穿梭車2位置值
   CarData3:DINT;//目標穿梭車3位置值
   CarData4:DINT;//目標穿梭車4位置值
   CarData5:DINT;//目標穿梭車5位置值
   CarLocaL:DINT;//本地穿梭車位置值
   Warning_JL1:DINT;//警告距離1設定
   Warning_JL2:DINT;//警告距離2設定
   Decelerate_JL1:DINT;//減速距離1設定
   Decelerate_JL2:DINT;//減速距離2設定
   StopCar_JL1:DINT;//停車距離1設定
   StopCar_JL2:DINT;//停車距離2設定
  
END_VAR  
VAR
    I:INT;
    InData:ARRAY[1..5] OF DINT;
END_VAR
VAR_OUTPUT
Out_Warning:BOOL;//警告啟動
Out_Decelerate:BOOL;//減速啟動
Out_Stop:BOOL;//停車啟動
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_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;//減速啟動
    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;//停車啟動
    ELSE
        Out_Stop:=0;
    END_IF;
    EXIT;
    END_IF;
          END_FOR;
    
END_FUNCTION_BLOCK

ranbin
學無止境!
級別: 略有小成
精華主題: 0
發帖數量: 326 個
工控威望: 449 點
下載積分: 6547 分
在線時間: 44(小時)
注冊時間: 2018-04-04
最后登錄: 2020-10-22
查看ranbin的 主題 / 回貼
1樓  發表于: 2018-05-10 13:36
引用
引用樓主worker02于2018-05-10 11:47發表的 西門子PLC多臺環循穿梭車防撞及排隊算法 :
實例為 6臺穿梭小車(穿梭車臺數可以實際情況增減),其中5臺設為目標,一臺為本地穿梭車。功能塊有分別輸出有:警告啟動、減速啟動、停車啟動、兩車間隙值等。
源代碼如下:
FUNCTION_BLOCK FB1026
VAR_INPUT
   CarData1:DINT;//目標穿梭車1位置值
.......



路過看看,坐坐沙發!既然寫最好把相關工藝流程一并寫來。
ranbin
學無止境!
級別: 略有小成
精華主題: 0
發帖數量: 326 個
工控威望: 449 點
下載積分: 6547 分
在線時間: 44(小時)
注冊時間: 2018-04-04
最后登錄: 2020-10-22
查看ranbin的 主題 / 回貼
2樓  發表于: 2018-05-10 13:42
沙發坐空了!

FUNCTION_BLOCK FB1026

VAR_INPUT
   CarData1:DINT;//目標穿梭車1位置值
   CarData2:DINT;//目標穿梭車2位置值
   CarData3:DINT;//目標穿梭車3位置值
   CarData4:DINT;//目標穿梭車4位置值
   CarData5:DINT;//目標穿梭車5位置值
   CarLocaL:DINT;//本地穿梭車位置值
   Warning_JL1:DINT;//警告距離1設定
   Warning_JL2:DINT;//警告距離2設定
   Decelerate_JL1:DINT;//減速距離1設定
   Decelerate_JL2:DINT;//減速距離2設定
   StopCar_JL1:DINT;//停車距離1設定
   StopCar_JL2:DINT;//停車距離2設定  
END_VAR  

VAR
    I:INT;
    InData:ARRAY[1..5] OF DINT;
END_VAR

VAR_OUTPUT
Out_Warning:BOOL;//警告啟動
Out_Decelerate:BOOL;//減速啟動
Out_Stop:BOOL;//停車啟動
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_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;//減速啟動
    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;//停車啟動
    ELSE
        Out_Stop:=0;
    END_IF;
    EXIT;
    END_IF;
          END_FOR;
    
END_FUNCTION_BLOCK


這樣看起來舒服些-------

主站蜘蛛池模板: 日本性色 | 欧美+日韩+中文字幕 | 国产无人区码一码二码三mba | 日韩激情中文字幕一区二区 | 国产欧美日韩视频 | 国产肉丝袜在线播放一区二 | 成人一区二区 | 国产精品美女在线露脸 | 青春草在线视频免费观看 | 99r8| 亚洲人成网址在线播放 | 国产精品成人a在线观看 | 老少配老妇老熟女中文 | 亚洲人成伊人成 | 日韩精品极品 | 欧美人伦禁忌dvd放荡欲情 | 美日韩一区二区 | 国产性色αv | 不卡在线播放中文字幕在线 | 99爱在线精品视频免费观看9 | 国偷自产一区二区免费视频 | 欧美精品一级人爱aa视频 | 免费人成在线观看 | 综合五月天堂 | 国语自产偷拍精品视频偷最新 | 国产精品免费一级高清 | 国产亚洲精品片 | 激情综合在线亚洲五月天 | 亚洲国精产| 美女裸身网站免费看免费网站 | 午夜激成人免费视频在线观看 | 日产美产国产一区 | 每日更新在线观看 | 国产又黄又大又粗的视频 | 成人拍拍拍在线观看 | 欧美日韩在线观看免费 | 精品免费一区二区三 | 另类99精品国产 | 国产成年女人 | 韩国理伦电影午夜三级 | 浪货叫的再浪一点张开 |