worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 115 個
工控威望: 294 點(diǎn)
下載積分: 723 分
在線時間: 280(小時)
注冊時間: 2008-08-01
最后登錄: 2024-12-07
查看worker02的 主題 / 回貼
樓主  發(fā)表于: 2018-05-10 11:47
圖片:
實(shí)例為 6臺穿梭小車(穿梭車臺數(shù)可以實(shí)際情況增減),其中5臺設(shè)為目標(biāo),一臺為本地穿梭車。功能塊有分別輸出有:警告啟動、減速啟動、停車啟動、兩車間隙值等。
源代碼如下:
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;//警告啟動
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

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



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

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;//警告啟動
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


這樣看起來舒服些-------
yiyang1
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 303 個
工控威望: 448 點(diǎn)
下載積分: 1174 分
在線時間: 392(小時)
注冊時間: 2012-11-11
最后登錄: 2024-12-21
查看yiyang1的 主題 / 回貼
4樓  發(fā)表于: 2018-05-10 20:15
支持共享支持共享
1336547704
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 86 個
工控威望: 205 點(diǎn)
下載積分: 31495 分
在線時間: 344(小時)
注冊時間: 2017-03-31
最后登錄: 2024-07-29
查看1336547704的 主題 / 回貼
5樓  發(fā)表于: 2018-05-11 09:27
警告距離1設(shè)定和警告2設(shè)定對的區(qū)別是什么呀
worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 115 個
工控威望: 294 點(diǎn)
下載積分: 723 分
在線時間: 280(小時)
注冊時間: 2008-08-01
最后登錄: 2024-12-07
查看worker02的 主題 / 回貼
6樓  發(fā)表于: 2018-05-11 11:34
圖片:
5樓的朋友你看看這張圖就應(yīng)該明的為何都要設(shè)定2種距離了。
shanyao0028
專業(yè)電鍍編程
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 79 個
工控威望: 363 點(diǎn)
下載積分: 2313 分
在線時間: 85(小時)
注冊時間: 2017-03-20
最后登錄: 2024-09-22
查看shanyao0028的 主題 / 回貼
7樓  發(fā)表于: 2018-07-29 22:41
雖然看不懂西門子的,還是很牛啊。三菱能實(shí)現(xiàn)不?對我們很有用啊,一直想研究這方面的,如果可以的話,可以合作!
專業(yè)電鍍編程,13921525199
langui
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1541 個
工控威望: 1764 點(diǎn)
下載積分: 6257 分
在線時間: 642(小時)
注冊時間: 2014-06-16
最后登錄: 2024-12-12
查看langui的 主題 / 回貼
8樓  發(fā)表于: 2018-07-30 08:00
都是匯編語言高手。只能用一個字形容,牛
wangnaizhi
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1273 個
工控威望: 1449 點(diǎn)
下載積分: 5484 分
在線時間: 896(小時)
注冊時間: 2015-08-31
最后登錄: 2024-12-21
查看wangnaizhi的 主題 / 回貼
9樓  發(fā)表于: 2018-07-30 08:31
能講一下工藝嗎  是不是穿梭車在另外5輛車運(yùn)動的過程中穿梭?
泰山之石
A
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 2236 個
工控威望: 2469 點(diǎn)
下載積分: 11646 分
在線時間: 913(小時)
注冊時間: 2008-11-12
最后登錄: 2024-12-19
查看泰山之石的 主題 / 回貼
10樓  發(fā)表于: 2018-07-30 08:38
西門子的PLC的程序看樣子不是一般人會的啊
工控菜鳥
菜鳥一只
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 954 個
工控威望: 1131 點(diǎn)
下載積分: 13860 分
在線時間: 295(小時)
注冊時間: 2017-04-12
最后登錄: 2024-12-18
查看工控菜鳥的 主題 / 回貼
11樓  發(fā)表于: 2018-07-30 09:19
水平有限看的一臉懵逼