<big id="a5mua"></big>

      <tt id="a5mua"><dfn id="a5mua"></dfn></tt>
      <wbr id="a5mua"><sup id="a5mua"></sup></wbr>

        
        

      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        jony7788
        級別: 工控俠客
        精華主題: 0
        發帖數量: 51 個
        工控威望: 2005 點
        下載積分: 4908 分
        在線時間: 256(小時)
        注冊時間: 2023-02-25
        最后登錄: 2025-12-25
        查看jony7788的 主題 / 回貼
        樓主  發表于: 2024-12-22 20:41
        圖片:
        一圈360度,分為12個段點,每個段點30度,每個段點都有一個開關。
        當開關打開的區間,步進電機以正常速度旋轉,并在段點停留0.5秒,沒有打開段點的區間,以快于正常速度進行旋轉,且不做停留。

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

        希望老師們能指點下思路,感謝。

        nightblueblu
        道阻且長,窮且益堅。
        級別: 論壇先鋒
        精華主題: 0
        發帖數量: 1050 個
        工控威望: 1871 點
        下載積分: 309 分
        在線時間: 1166(小時)
        注冊時間: 2017-02-09
        最后登錄: 2025-12-23
        查看nightblueblu的 主題 / 回貼
        1樓  發表于: 2024-12-26 17:46
        寫了一個,沒有測試,實現方式和15樓基本一致,上代碼
        ----------------------------------------------------------------------------分割線-------------------------------------------------------------
        FUNCTION_BLOCK FB_啟動定位
        (*一圈360度,分為12個段點,每個段點30度,每個段點都有一個開關,每個開關可以任意設置ON和OFF狀態。
          當開關打開的區間,步進電機以正常速度旋轉,并在段點停留0.5秒,
          沒有打開段點的區間,以快于正常速度進行旋轉,且不做停留*)
        VAR_INPUT      
            Sen1  :BOOL;//位置狀態設置1
            Sen2  :BOOL;
            Sen3  :BOOL;
            Sen4  :BOOL;
            Sen5  :BOOL;
            Sen6  :BOOL;
            Sen7  :BOOL;
            Sen8  :BOOL;
            Sen9  :BOOL;
            Sen10:BOOL;
            Sen11:BOOL;
            Sen12:BOOL;//位置狀態設置12

            Start          :BOOL;//啟動
                Stop          :BOOL;//停止
            Auto          :BOOL;//手自,TRUE:自動;FALSE:手動
            Done         :BOOL;//定位完成信號
            Now_Ang  :REAL;//當前角度
            Tim            :REAL;//TRUE位停頓時間,單位:s
        END_VAR
        VAR_OUTPUT
            rRun_F    :REAL;//快速運行距離(FALSE段角度)
            bRun_F   :BOOL;//快速定位啟動(FALSE段)
            rRun_T    :REAL;//正常速度運行距離(TRUE段角度)
            bRun_T   :BOOL;//正常速定位啟動(TRUE段)        
        END_VAR
        VAR    
                Pto                  :BOOL;//定位啟動信號
            nums:INT        :=12;//位置個數
            Now_posi        :INT;//轉盤當前位置
            StatsAry          :ARRAY[1..12]OF BOOL;//各位置檢測傳感器狀態存儲數組
            rtri                   :BOOL;//位置計算觸發
            i,j                     :INT;//循環變量
            False_Gap      :INT;//距離下一個FALSE信號需要轉動的位置個數
            num                     :INT;//定位中的段記錄
            rstr,rsto,rdon    :R_TRIG;//啟動,停止,轉動一個角度的觸發沿
            rton                  :TON;//間隔定時
        END_VAR
        ----------------------------------------------------------------------------分割線-------------------------------------------------------------
        (*==============================參數初始化==============================*)
        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;
        (*==============================觸發沿==============================*)
        rstr(CLK:=Start);//啟動沿
        rsto(CLK:=Stop);//停止沿
        rdon(CLK:=Done);//定位完成沿
        rton(IN:=num=2,PT:=REAL_TO_TIME(Tim*1000.0));//間隔定時

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

        (*==============================執行邏輯==============================*)
        IF Pto THEN//啟動定位,或自動狀態下定時器達到計時
            bRun_T:=FALSE;
            bRun_F:=TRUE;
        END_IF
        IF num=1 THEN//完成FALSE段的定位,進行TRUE段定位
            bRun_F:=FALSE;
            bRun_T:=TRUE;
        END_IF
        本帖最近評分記錄:
      2. 下載積分:+5(jony7788) 熱心助人!
      3. Your happiness is everything.

        主站蜘蛛池模板: 日韩无人区码卡1卡2卡| 日韩精品一区二区亚洲av| 免费福利视频一区二区三区高清 | 无码熟妇人妻av影音先锋| 中文字幕无码日韩专区免费| 日韩高清福利视频在线观看| 亚洲第一国产综合| 强奷乱码中文字幕| 亚洲人成网线在线播放VA | 日本亚洲一区二区精品久久| 日本不卡三区| 国产精品户外野外| 亚洲欧美中文日韩v在线97| 婷婷99视频精品全部在线观看 | 亚洲精品97久久中文字幕无码 | 亚洲人成小说网站色在线| 日韩精品一卡二卡三卡在线| 国内精品大秀视频日韩精品 | 精品剧情V国产在线观看| 国产偷窥熟女高潮精品视频 | 日本丰滿岳乱DVD| 少妇精品视频一码二码三| 自拍视频在线观看一区| 99久久亚洲综合精品网| 囯产精品久久久久久久久久妞妞| 激情综合网激情综合| 亚洲成av人片在www色猫咪| 91中文字幕在线一区| 亚洲最大成人网色| 日韩欧国产精品一区综合无码 | 国产资源站| 亚洲旡码欧美大片| 啦啦啦高清视频在线观看| 亚洲精品一区二区妖精| 亚洲av成人在线网站| 2019亚洲午夜无码天堂| 中文字幕日韩有码av| 国产睡熟迷奷系列网站| 欧美黑人激情性久久| 日韩精品亚洲专区在线观看| 欧美天天综合色影久久精品|