小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【干貨】西門(mén)子S7-1200博途用LAD和SCL語(yǔ)言控制步進(jìn)電機(jī)程序分析

 換位思考0429 2021-08-06
關(guān)于啟程

啟程自動(dòng)化培訓(xùn)成立于2012年,培訓(xùn)項(xiàng)目主打西門(mén)子PLC編程系統(tǒng)集成、工業(yè)機(jī)器人編程、EPLAN電氣設(shè)計(jì)、視覺(jué)等培訓(xùn)與技術(shù)服務(wù)的機(jī)構(gòu)。推薦高薪就業(yè),越努力越幸運(yùn)

西門(mén)子S7-1200PLC控制步進(jìn)電機(jī)的梯形圖程序

西門(mén)子S7-1200PLC控制步進(jìn)電機(jī)的梯形圖程序,也可以用結(jié)構(gòu)化編程的思路來(lái)編程。

首先,新建一個(gè)FB,編程語(yǔ)言選擇LAD(梯形圖)。

然后,在FB編程區(qū)編寫(xiě)程序段1~19。

程序段1,M1.2為系統(tǒng)存儲(chǔ)器始終為1。手/自動(dòng)開(kāi)關(guān)為1時(shí),自動(dòng)模式開(kāi)啟;手/自動(dòng)開(kāi)關(guān)為0時(shí),手動(dòng)模式開(kāi)啟。

程序段2,M1.2為系統(tǒng)存儲(chǔ)器始終為1。啟動(dòng)使能按鈕一個(gè)上升沿在步進(jìn)電機(jī)未使能時(shí),置位軸使能;啟動(dòng)使能按鈕一個(gè)上升沿在步進(jìn)電機(jī)已使能時(shí),復(fù)位軸使能。

▼ 程序段1、2

圖片

程序段3,步進(jìn)電機(jī)啟動(dòng)使能,調(diào)用MC_Power指令程序。

程序段4,步進(jìn)電機(jī)點(diǎn)動(dòng)模式,調(diào)用MC_MoveJog指令程序。

▼ 程序段3、4

圖片

程序段5,在手動(dòng)模式下,按復(fù)位按鈕,復(fù)位指令啟動(dòng)。

程序段6,步進(jìn)電機(jī)復(fù)位模式,調(diào)用MC_Reset指令程序。

程序段7,步進(jìn)自動(dòng)轉(zhuǎn)換為手動(dòng)模式的一個(gè)脈沖時(shí),觸發(fā)暫停模式。

▼程序段5、6、7

圖片

程序段8,步進(jìn)電機(jī)暫停模式,調(diào)用MC_Halt指令程序。

程序段9,在自動(dòng)模式下,按復(fù)位按鈕,回原點(diǎn)指令啟動(dòng)。

▼程序段8、9

圖片

程序段10,步進(jìn)電機(jī)回原點(diǎn)模式,調(diào)用MC_Home指令程序。

程序段11,在自動(dòng)模式下,按自動(dòng)啟動(dòng)按鈕,開(kāi)始執(zhí)行定位運(yùn)行。

▼ 程序段10、11

圖片

程序段12,步進(jìn)電機(jī)原點(diǎn)OK情況下,確認(rèn)原點(diǎn)的偏差范圍為-0.5~+0.5,則認(rèn)為是原點(diǎn)位置。確認(rèn)位置1、2的定位偏差范圍為-0.5~+0.5。

▼ 程序段12

圖片

程序段13,自動(dòng)開(kāi)始啟動(dòng)按鈕按下,如在原點(diǎn)位置,則調(diào)用15.0的定位速度和位置1的定位位置;如在位置1處,則調(diào)用20.0的定位速度和位置2的定位位置;

▼ 程序段13

圖片

程序段14,定位1、2的觸發(fā),統(tǒng)一為定位觸發(fā)。

程序段15,絕對(duì)定位模式,通過(guò)上幾步的設(shè)置為步進(jìn)電機(jī)進(jìn)行定位。

▼ 程序段14、15

圖片

程序段16,自動(dòng)指示燈程序。

程序段17,手動(dòng)指示燈程序。

程序段18,步進(jìn)電機(jī)啟動(dòng)使能程序

程序段19,步進(jìn)電機(jī)使能異常報(bào)警程序。

▼程序段16、17、18、19

圖片

最后,我們要在主程序塊下調(diào)用FB程序,直接在項(xiàng)目樹(shù)中拖過(guò)來(lái)放開(kāi)即可,這里要為FB的輸入、輸出分配好實(shí)參地址。

▼ 主程序塊調(diào)用FB

圖片

好了,西門(mén)子S7-1200PLC控制步進(jìn)電機(jī)的部分梯形圖程序就介紹到這里,實(shí)際工程應(yīng)用大家自行增減。



西門(mén)子S7-1200PLC控制步進(jìn)電機(jī)的SCL語(yǔ)言編程

▼ 函數(shù)塊SCL語(yǔ)言程序

圖片

#軸使能啟動(dòng)(Axis:='步進(jìn)電機(jī)',

       Enable:=#軸使能_1,

       StartMode:=1,

       StopMode:=1);

#復(fù)位啟動(dòng)(Axis:='步進(jìn)電機(jī)',

      Execute:=#手動(dòng)模式_1 AND #復(fù)位按鈕);

'回原點(diǎn)啟動(dòng)'(Axis:='步進(jìn)電機(jī)',

        Execute:=#自動(dòng)模式_1 AND #復(fù)位按鈕,

        Position:=0,

        Mode:=3);

#點(diǎn)動(dòng)模式啟動(dòng)(Axis:='步進(jìn)電機(jī)',

        JogForward:=#正向點(diǎn)動(dòng) AND #手動(dòng)模式_1,

        JogBackward:=#負(fù)向點(diǎn)動(dòng) AND #手動(dòng)模式_1);

#絕對(duì)定位啟動(dòng)(Axis:='步進(jìn)電機(jī)',

        Execute:=#絕對(duì)定位模式_1,

        Position:=#位置,

        Velocity:=#速度);

#上升沿檢測(cè)(CLK:=#手動(dòng)模式_1);

#暫停模式啟動(dòng)(Axis:='步進(jìn)電機(jī)',

        Execute:=#上升沿檢測(cè).Q);

//以上為指令塊調(diào)用

#上升沿檢測(cè)2(CLK:=#啟動(dòng)使能按鈕);

IF #上升沿檢測(cè)2.Q AND NOT #軸使能啟動(dòng).Status THEN

    #軸使能_1 := 1 ;

END_IF;

IF #上升沿檢測(cè)2.Q AND  #軸使能啟動(dòng).Status THEN

    #軸使能_1 := 0 ;

END_IF;

#自動(dòng)模式_1 := #'自/手動(dòng)切換';

#手動(dòng)模式_1 := NOT #'自/手動(dòng)切換';

//以上為按鈕的狀態(tài)

#步進(jìn)啟動(dòng)2 := #自動(dòng)模式_1 AND #自動(dòng)啟動(dòng) AND '步進(jìn)電機(jī)'.StatusBits.HomingDone;

//以上絕對(duì)定位方式的自動(dòng)啟動(dòng)

IF #步進(jìn)啟動(dòng)2 THEN

    CASE #程序步 OF

        0:

            #程序步 := 10;

            ;

        10:

            #位置 := #位置1設(shè)置值;

            #速度 := #速度1設(shè)置值;

            #絕對(duì)定位模式_1 := 1;

            #延時(shí)處理 := 0;

            IF #絕對(duì)定位啟動(dòng).Done THEN

                #絕對(duì)定位模式_1 := 0;

            #程序步:= 15;

             END_IF;

        15:

             #IEC_Timer_0_Instance(IN:=#延時(shí)處理,

                               PT:=t#0s);

         #延時(shí)處理 := 1;

            IF #IEC_Timer_0_Instance.Q THEN

                #位置 := #位置2設(shè)置值;

                #速度 :=#速度2設(shè)置值;

                #絕對(duì)定位模式_1 := 1;

            END_IF;

            IF #絕對(duì)定位啟動(dòng).Done THEN

                #絕對(duì)定位模式_1 := 0;

                #延時(shí)處理 := 0;

            #程序步:= 20;

            END_IF;

        20:

            #IEC_Timer_0_Instance_1(IN:=#延時(shí)處理,

                                    PT:=t#10s);

            #延時(shí)處理 := 1;

            IF #IEC_Timer_0_Instance_1.Q THEN

                #位置 := #位置3設(shè)置值;

                #速度 := #速度3設(shè)置值;

                #絕對(duì)定位模式_1 := 1;

            END_IF;

            IF #絕對(duì)定位啟動(dòng).Done THEN

                #絕對(duì)定位模式_1 := 0;

                #延時(shí)處理 := 0;

                #程序步 := 10;

            END_IF;

    END_CASE;

ELSE

    #位置 := 0;

    #速度 := 0;

    #自動(dòng)模式_1 := 0;

    #程序步 := 0;

END_IF;

//以上為三個(gè)位置的定位,預(yù)留延時(shí)功能

#自動(dòng)指示燈_1 := #自動(dòng)模式_1;

#手動(dòng)指示燈_1 := #手動(dòng)模式_1;

#報(bào)警指示燈_1 := #軸使能啟動(dòng).Error;

#軸使能指示燈 := #軸使能啟動(dòng).Status;

#原點(diǎn)指示燈_1 := '步進(jìn)電機(jī)'.StatusBits.HomingDone;

//以上為輸出指示燈

▼ Main程序塊調(diào)用函數(shù)塊

圖片


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多