日本JAPANESE熟睡人妻_久久99热只有频精品6狠狠_欧美一区内射最近更新_美女露100‰奶头18禁_日韩性生活一级片_国产三级无码内射在线看

jony7788
級(jí)別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 50 個(gè)
工控威望: 2003 點(diǎn)
下載積分: 2023 分
在線時(shí)間: 240(小時(shí))
注冊(cè)時(shí)間: 2023-02-25
最后登錄: 2025-05-19
查看jony7788的 主題 / 回貼
樓主  發(fā)表于: 2024-12-22 20:41
圖片:
一圈360度,分為12個(gè)段點(diǎn),每個(gè)段點(diǎn)30度,每個(gè)段點(diǎn)都有一個(gè)開(kāi)關(guān)。
當(dāng)開(kāi)關(guān)打開(kāi)的區(qū)間,步進(jìn)電機(jī)以正常速度旋轉(zhuǎn),并在段點(diǎn)停留0.5秒,沒(méi)有打開(kāi)段點(diǎn)的區(qū)間,以快于正常速度進(jìn)行旋轉(zhuǎn),且不做停留。

以下例,1、2,5、6,9,10這幾個(gè)區(qū)間是正常速度,其它區(qū)間是快速通過(guò)。
償了下幾種方式,效果都不好,大多都是快速時(shí)跑過(guò)了頭,把正常區(qū)間都越過(guò)了。
PLC是三菱FX3U

希望老師們能指點(diǎn)下思路,感謝。

nightblueblu
道阻且長(zhǎng),窮且益堅(jiān)。
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1039 個(gè)
工控威望: 1862 點(diǎn)
下載積分: 291 分
在線時(shí)間: 1150(小時(shí))
注冊(cè)時(shí)間: 2017-02-09
最后登錄: 2025-05-20
查看nightblueblu的 主題 / 回貼
1樓  發(fā)表于: 2024-12-26 17:46
寫(xiě)了一個(gè),沒(méi)有測(cè)試,實(shí)現(xiàn)方式和15樓基本一致,上代碼
----------------------------------------------------------------------------分割線-------------------------------------------------------------
FUNCTION_BLOCK FB_啟動(dòng)定位
(*一圈360度,分為12個(gè)段點(diǎn),每個(gè)段點(diǎn)30度,每個(gè)段點(diǎn)都有一個(gè)開(kāi)關(guān),每個(gè)開(kāi)關(guān)可以任意設(shè)置ON和OFF狀態(tài)。
  當(dāng)開(kāi)關(guān)打開(kāi)的區(qū)間,步進(jìn)電機(jī)以正常速度旋轉(zhuǎn),并在段點(diǎn)停留0.5秒,
  沒(méi)有打開(kāi)段點(diǎn)的區(qū)間,以快于正常速度進(jìn)行旋轉(zhuǎn),且不做停留*)
VAR_INPUT      
    Sen1  :BOOL;//位置狀態(tài)設(shè)置1
    Sen2  :BOOL;
    Sen3  :BOOL;
    Sen4  :BOOL;
    Sen5  :BOOL;
    Sen6  :BOOL;
    Sen7  :BOOL;
    Sen8  :BOOL;
    Sen9  :BOOL;
    Sen10:BOOL;
    Sen11:BOOL;
    Sen12:BOOL;//位置狀態(tài)設(shè)置12

    Start          :BOOL;//啟動(dòng)
        Stop          :BOOL;//停止
    Auto          :BOOL;//手自,TRUE:自動(dòng);FALSE:手動(dòng)
    Done         :BOOL;//定位完成信號(hào)
    Now_Ang  :REAL;//當(dāng)前角度
    Tim            :REAL;//TRUE位停頓時(shí)間,單位:s
END_VAR
VAR_OUTPUT
    rRun_F    :REAL;//快速運(yùn)行距離(FALSE段角度)
    bRun_F   :BOOL;//快速定位啟動(dòng)(FALSE段)
    rRun_T    :REAL;//正常速度運(yùn)行距離(TRUE段角度)
    bRun_T   :BOOL;//正常速定位啟動(dòng)(TRUE段)        
END_VAR
VAR    
        Pto                  :BOOL;//定位啟動(dòng)信號(hào)
    nums:INT        :=12;//位置個(gè)數(shù)
    Now_posi        :INT;//轉(zhuǎn)盤(pán)當(dāng)前位置
    StatsAry          :ARRAY[1..12]OF BOOL;//各位置檢測(cè)傳感器狀態(tài)存儲(chǔ)數(shù)組
    rtri                   :BOOL;//位置計(jì)算觸發(fā)
    i,j                     :INT;//循環(huán)變量
    False_Gap      :INT;//距離下一個(gè)FALSE信號(hào)需要轉(zhuǎn)動(dòng)的位置個(gè)數(shù)
    num                     :INT;//定位中的段記錄
    rstr,rsto,rdon    :R_TRIG;//啟動(dòng),停止,轉(zhuǎn)動(dòng)一個(gè)角度的觸發(fā)沿
    rton                  :TON;//間隔定時(shí)
END_VAR
----------------------------------------------------------------------------分割線-------------------------------------------------------------
(*==============================參數(shù)初始化==============================*)
StatsAry[1]:=Sen1;StatsAry[2]:=Sen2;StatsAry[3]:=Sen3;StatsAry[4]:=Sen4;StatsAry[5]:=Sen5;StatsAry[6]:=Sen6;
StatsAry[7]:=Sen7;StatsAry[8]:=Sen8;StatsAry[9]:=Sen9;StatsAry[10]:=Sen10;StatsAry[11]:=Sen11;StatsAry[12]:=Sen12;

rRun_T:=(2*3.14159265)/nums;
Now_posi:=REAL_TO_INT((Now_Ang*nums)/(2*3.14159265))+1;
(*==============================觸發(fā)沿==============================*)
rstr(CLK:=Start);//啟動(dòng)沿
rsto(CLK:=Stop);//停止沿
rdon(CLK:=Done);//定位完成沿
rton(IN:=num=2,PT:=REAL_TO_TIME(Tim*1000.0));//間隔定時(shí)

IF rsto.Q OR (rton.Q AND NOT Auto) THEN//停止或者在手動(dòng)狀態(tài)下單次定位結(jié)束
    bRun_F:=FALSE;
    bRun_T:=FALSE;
    num:=0;
END_IF
IF rdon.Q THEN//對(duì)定位次數(shù)進(jìn)行計(jì)數(shù)
    num:=num+1;
END_IF
(*==============================尋找下一次轉(zhuǎn)動(dòng)的TRUE信號(hào)的位置==============================*)
IF rstr.Q OR (rton.Q AND Auto)THEN//啟動(dòng)計(jì)算
    num:=0;
    rtri:=TRUE;
END_IF
IF rtri THEN
    IF Now_posi<>nums THEN//TRUE位置在當(dāng)前位置前方
        FOR i:=Now_posi+1 TO nums BY 1 DO
            IF StatsAry THEN
                False_Gap:=i-Now_posi-1;//TRUE位置在當(dāng)前位置前方
                rRun_F:=rRun_T*False_Gap;    
                Pto:=TRUE;
                rtri:=FALSE;
                EXIT;
            END_IF
        END_FOR
    END_IF
    IF Now_posi<>1 THEN//TRUE位置在當(dāng)前位置后方
        FOR j:=1 TO Now_posi BY 1 DO
            IF StatsAry[j] THEN
                False_Gap:=nums-j+Now_posi-1;//TRUE位置在當(dāng)前位置后方
                rRun_F:=rRun_T*False_Gap;
                Pto:=TRUE;
                rtri:=FALSE;
                EXIT;
            END_IF
        END_FOR
    END_IF
END_IF

(*==============================執(zhí)行邏輯==============================*)
IF Pto THEN//啟動(dòng)定位,或自動(dòng)狀態(tài)下定時(shí)器達(dá)到計(jì)時(shí)
    bRun_T:=FALSE;
    bRun_F:=TRUE;
END_IF
IF num=1 THEN//完成FALSE段的定位,進(jìn)行TRUE段定位
    bRun_F:=FALSE;
    bRun_T:=TRUE;
END_IF
本帖最近評(píng)分記錄:
  • 下載積分:+5(jony7788) 熱心助人!
  • Your happiness is everything.

    主站蜘蛛池模板: 久久精品人人做人人综合 | 国产精品妇女一二三区 | 又粗又大内射免费视频小说 | 国产在线一区视频播放 | 欧美韩一区| 免费午夜福利不卡片在线 | 一个人看的日本hd免费 | 亚洲av无码成人精品区日韩 | 欧美又大又粗又硬又色A片 ww污污污网站在线看com | 精品国产综合乱码久久久久久 | 国产激情av | 老师办公室被吃奶好爽在线观看 | 日韩啪啪免费视频 | 欧洲少妇性喷潮 | 亚洲午夜精品视频 | h无码动漫在线观看人 | 国产免费无码一区二区三区 | 毛片一级免费看 | 在线视频一区二区 | 亚洲精品乱码久久久久久久久久久久 | 久久无码av三级 | 久久久久久亚洲av毛片大全 | 亚洲综合无码精品一区二区三区 | 久久这里只有精品23 | 国产AV偷闻女邻居内裤被发现 | 一级a性色生活片久久无码 成人黄色毛片 | 天堂黄网 | 加勒比色综合久久久久久久久 | 99国内精品视频 | 加勒比久在线 | 亚洲欧美综合精品二区 | 久草在线免费福利 | 国产精品激情av久久久青桔 | 亚洲AV久久无码 | 中国大陆精品视频XXXX | 18禁美女黄网站色大片免费网站 | 久久97国产 | 亚洲精品无码不卡 | 亚洲欧美综合区丁香五月小说 | 无码人妻久久久一区二区三区 | 国产精品午夜福利麻豆 |