1 引言

PLC輸出的集成脈沖可通過步進電機進行定位控制。關(guān)于定位控制,調(diào)節(jié)和控制操作之間存在一些區(qū)別。步進電機不需要連續(xù)的位置控制,而在控制操作中得到應用。在以下的程序例子中,借助于CPU214所產(chǎn)生的集成脈沖輸出,通過步進電機來實現(xiàn)相對的位置控制。雖然這種類型的定位控制不需要參考點,本例還">

      技術(shù)頻道

      西門子S7-200在步進電機定位控制中的應用

      1 引言

      PLC輸出的集成脈沖可通過步進電機進行定位控制。關(guān)于定位控制,調(diào)節(jié)和控制操作之間存在一些區(qū)別。步進電機不需要連續(xù)的位置控制,而在控制操作中得到應用。在以下的程序例子中,借助于CPU214所產(chǎn)生的集成脈沖輸出,通過步進電機來實現(xiàn)相對的位置控制。雖然這種類型的定位控制不需要參考點,本例還是粗略地描述了確定參考點的簡單步驟。因為實際上它總是相對一根軸確定一個固定的參考點,因此,用戶借助于一個輸入字節(jié)的對偶碼(Dual coding)給CPU指定定位角度。用戶程序根據(jù)該碼計算出所需的定位步數(shù),再由CPU輸出相關(guān)個數(shù)的控制脈沖。

      2 系統(tǒng)結(jié)構(gòu)


      如圖1所示。

      圖1 系統(tǒng)結(jié)構(gòu)

      3 硬件配置
      如表1所示。

      4 軟件結(jié)構(gòu)


      4.1 PLC的輸入信號與輸出信號
      PLC的部分輸入信號與輸出信號,以及標志位如表2所示。
      4.2 系統(tǒng)軟件設計
      PLC的程序框圖如圖2所示。


      4.3 初始化
      在程序的第一個掃描周期(SM0.1=1),初始化重要參數(shù)。選擇旋轉(zhuǎn)方向和解除聯(lián)鎖。


      4.4 設置和取消參考點
      如果還沒有確定參考點,那么參考點曲線應從按“START”按扭(I1.0)開始。CPU有可能輸出最大數(shù)量的控制脈沖。在所需的參考點,按“設置/取消參考點”開關(guān)(I1.4)后,首先調(diào)用停止電機的子程序。然后,將參考點標志位M0.3置成1,再把新的操作模式“定位控制激活”顯示在輸出端Q1.0。

      如果I1.4的開關(guān)已激活,而且“定位控制”也被激活(M0.3=1),則切換到“參考點曲線”參考點曲線。在子程序1中,將M0.3置成0,并取消“定位控制激活”的顯示(Q1.0=0)。此外,控制還為輸出最大數(shù)量的控制脈沖做準備。當再次激活I(lǐng)1.4開關(guān),便在兩個模式之間切換。如果此信號產(chǎn)生,同時電機在運轉(zhuǎn),那么電機就自動停止。

      實際上,一個與驅(qū)動器連接的參考點開關(guān)將代替手動操作切換開關(guān)的使用,所以,參考點標志能解決模式切換。

      4.5 定位控制
      如果確定了一個參考點(M0.3=1)而且沒有聯(lián)鎖,那么就執(zhí)行相對的定位控制。在子程序2中,控制器從輸入字節(jié)IBO讀出對偶碼方式的定位角度后,再存入字節(jié)MB11。與此角度有關(guān)的脈沖數(shù),根據(jù)下面的公式計算:
      N=φ/360°×S
      式中:N-控制脈沖數(shù)
      φ-旋轉(zhuǎn)角度
      S-每轉(zhuǎn)所需的步數(shù)
      該程序所使用的步進電機采用半步操作方式(S=1000)。在子程序3中循環(huán)計算步數(shù),如果現(xiàn)在按“START”按鈕(I1.0),CPU將從輸出端Q0.0輸出所計算的控制脈沖個數(shù),而且電機將根據(jù)相應的步數(shù)來轉(zhuǎn)動,并在內(nèi)部將“電機轉(zhuǎn)動”的標志位M0.1置成1。
      在完整的脈沖輸出之后,執(zhí)行中斷程序0,此程序?qū)0.1置成0,以便能夠再次起動電機。

      4.6 停止電機
      按“STOP”(停止)按扭(I1.1),可在任何時候停止電機。執(zhí)行子程序0中與此有關(guān)的指令。

      5 程序和注釋


      //標題:用脈沖輸出進行定位控制
      //主程序
      LD SM0.1
      //僅首次掃描周期SM0.1才為1。
      R M0.0,128
      //MD0至MD12復位
      ATCH 0,19
      //把中斷程序0分配給中斷事件19(脈沖串終止)
      ENI
      //允許中斷
      //脈沖輸出功能的初始化
      MOVW 500,SMW68
      //脈沖周期T=500us
      MOVW 0,SMW70
      //脈沖寬度為0(脈沖調(diào)制)
      MOVD 429496700,SMD72
      //為參考點設定的最大脈沖數(shù)
      //設置逆時針旋轉(zhuǎn)
      LDN M0.1 //若電機停止
      A I1.5 //且旋轉(zhuǎn)方向開關(guān)=1
      S Q0.2,1 //則逆時針旋轉(zhuǎn)(Q0.2=1)
      //設置順時針旋轉(zhuǎn)
      LDN M0.1 //若電機停止
      AN I1.5 //且旋轉(zhuǎn)方向開關(guān)=0
      R Q0.2,1 //則逆時針旋轉(zhuǎn)(Q0.2=0)
      //聯(lián)鎖
      LD I1.1
      //若按“STOP”(停止)按鈕
      S M0.2,1 //則激活聯(lián)鎖(M0.2=1)
      //解除聯(lián)鎖
      LDN I1.1
      //若“START”(啟動)按鈕松開
      AN I1.0
      //且“STOP”(停止)按鈕松開
      R M0.2,1 //則解除聯(lián)鎖(M0.2=0)
      //確定操作模式(參考點定位控制)
      LD I1.4
      //若按“設置/取消參考點”按鈕
      EU //上升沿
      CALL 1 //則調(diào)用子程序1
      //啟動電機
      LD I1.0
      //若按“START”(啟動)按鈕
      EU //上升沿
      AN M0.1 //且電機停止
      AN M0.2 //且無聯(lián)鎖
      AD≥ SMD72,1
      //且步數(shù)≥1,則
      MOVB 16#85,SMB67
      //置脈沖輸出功能(PTO)的控制位
      PLS 0 //啟動脈沖輸出(Q0.0)
      S M0.1,1
      //“電機運行”標志位置位(M0.1=1)
      //定位控制
      LD M0.3
      //若已激活“定位控制” 操作模式
      AN M0.1 //且電機停止
      CALL 2 //則調(diào)用子程序2
      //停止電機
      LD I1.1
      //若按“STOP”(停止)按鈕
      EU //上升沿
      A M0.1 //且電機運行,則
      CALL 0 //則調(diào)用子程序0
      MEND //主程序結(jié)束
      //子程序1
      SBR 0 //子程序0停止電機
      MOVB 16#CB,SMB67
      //激活脈寬調(diào)制
      PLS 0 //停止輸出脈沖到Q0.0
      R M0.1,1
      //“電機運行”標志位復位(M0.1=0)
      RET //子程序0結(jié)束
      SBR1
      //子程序1,“確定操作模式”
      LD M0.1 //若電機運行
      CALL 0
      //則調(diào)用子程序0,停止電機
      //申請“參考點曲線”
      LD M0.3
      //若已激活“定位控制”,則
      R M0.3,1
      //參考點標志位;復位(M0.3=0)
      R Q1.0,1
      //取消“定位控制激活”信息(Q1.0=0)
      MOVD 429496700,SMD72
      //為新的“參考點曲線”設定最大的脈沖數(shù)。
      CRET
      //條件返回到主程序。
      //申請“定位控制”
      LDN M0.3
      //若未設置參考點(M0.3=0),則
      S M0.3,1
      //參考點標志位置位(M0.3=1)
      S Q1.0,1
      //輸出“定位控制激活”信息(Q1.0=1)
      RET //子程序1結(jié)束
      //子程序2
      SBR2 //子程序2,“定位控制”
      MOVB IB0,MB11
      //把定位角度從IBO拷到MD8的最低有效字節(jié)MB11。
      R M8.0,24
      //MB8至MB10清零
      DIV 9,MD8
      //角度/9=q1+r1
      MOVW MW8,MW14
      //把r1存入MD12
      MUL 25,MD8
      //q1×25→MD8
      MUL 25,MD12
      DIV 9,MD12
      // r1×25/9= q2+r2
      CALL 3
      //在子程序3中循環(huán)步數(shù)
      MOVW 0,MW12 //刪除r2
      +D MD12,MD8
      //把步數(shù)寫入MD8
      MOVD MD8,SMD72
      //把步數(shù)傳到SMD72
      RET //子程序2結(jié)束
      //子程序3
      SBR3 //子程序3,“循環(huán)步數(shù)”
      LDW≥MW12,5 //如果r2≥5/9,則
      INCW MW14 //步數(shù)增加1。
      RET
      //子程序3結(jié)束
      //中斷程序0,“脈沖輸出終止”
      INT0 //中斷程序0
      R M0.1,1
      //“電機運行”標志位復位(M0.1=0)
      RET //子程序0結(jié)束

      6 結(jié)束語

      通過對硬件和軟件的合理設計,用較為價廉的西門子S7-200系列PLC作為核心控制部件,構(gòu)成的定位系統(tǒng)能夠達到精確定位的目的。特別應指出的是通過靈活、巧妙的應用PLC的指令系統(tǒng),可使系統(tǒng)實現(xiàn)高精度定位。


      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 国产成人精品第一区二区| 国产伦精品一区二区三区无广告| 极品少妇一区二区三区四区| 福利一区在线视频| 亚洲午夜一区二区三区| 性色AV一区二区三区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产一区二区三区小向美奈子| 国产精品制服丝袜一区| 曰韩精品无码一区二区三区| 四虎永久在线精品免费一区二区| 欧洲精品一区二区三区| 亚洲av无码片vr一区二区三区| 国产精品夜色一区二区三区 | 麻豆文化传媒精品一区二区 | 国产精品久久久久一区二区| 中文字幕AV一区二区三区 | 本免费AV无码专区一区| 亚洲AⅤ无码一区二区三区在线| 色一情一乱一伦一区二区三区日本 | 亚洲国产精品乱码一区二区| 免费无码一区二区三区蜜桃| 在线观看免费视频一区| 中文字幕一区二区视频| 蜜桃传媒视频麻豆第一区| 亚洲AV无码一区二区乱孑伦AS| 日本中文字幕一区二区有码在线| 亚洲AV无码一区东京热| 91精品一区二区综合在线| 中文字幕人妻AV一区二区| 无码人妻一区二区三区av| 国产一区美女视频| 亚洲成人一区二区| 无码国产精品一区二区免费式芒果 | 女同一区二区在线观看| 无码人妻一区二区三区精品视频| 精品国产日韩亚洲一区| 性色A码一区二区三区天美传媒| 亚洲熟妇无码一区二区三区| 日韩视频在线一区| 亚洲熟妇av一区二区三区|