sihu国产精品永久免费_日韩午夜在线视频_久久99中文字幕伊人_古代男男嗯…啊h总攻

醉湮邃虞
醉湮邃虞話老黑
級別: 略有小成
精華主題: 0
發帖數量: 229 個
工控威望: 409 點
下載積分: 1577 分
在線時間: 209(小時)
注冊時間: 2009-01-16
最后登錄: 2015-03-18
查看醉湮邃虞的 主題 / 回貼
樓主  發表于: 2009-04-30 23:02
第二節   讓PLC控制步進電機
上次是閑的無聊,今天是酒醉方歸,打了會兒游戲,暈暈乎乎,實在無聊,想起了我曾寫過一篇--脈沖,還沒進行第二節,歪歪扭扭做在電腦前,這回應該是【醉言醉語話--步進】了。

書接上回  http://bbs.ymmfa.com/read-gktid-34771.htm,,上次已經利用PLC的Q0.1發出了脈沖,這個脈沖已經可以使步進電機轉動了,只是需要方向信號,我們隨便使用個其他Q點來改變方向,例如Q0.3,其1為正向,0為反向運轉。只需在上貼主程序的網絡3中加入方向即可,
如果讓步進電機以200速度正向行走2000脈沖,在M11.1的上升沿后加入,S Q0.3
如果讓步進電機以200速度反向行走2000脈沖,在M11.1的上升沿后加入,R Q0.3

可見改變方向還是比較簡單的,不再論述。

在步進電機應用中,大都是旋轉變直(弧)線運動,而且需要在某些位置進行一些動作,比如200脈沖打開閥1,到300脈沖時,關閉閥1,500脈沖時回返,回返100脈沖時,打開閥2,回返到100脈沖時,關閉所有閥,然后重新開始,基于這樣的假定,比較好理解的編程方法是,先發送200脈沖,完成后開閥1,再繼續行走100脈沖,關閉閥1,以此類推其他的控制。這種編程方法雖然好理解和編程,但若中間動作很多,則編出的程序會非常龐大。
如果電機在運轉過程中一直是恒速運轉,若能掌握當前電機的運動位置,情況就變的簡單了,在PLS指令中,不能回返當前位置,但PLC提供了一個高速計數器可以記錄當前發出了多少脈沖,如果能充分利用,情況就變得的簡單多了。PLC的高速計數器HSC0,和HSC3可以分別記錄PLS0和PLS1發出的脈沖,只需要在SM0.1控制下初始化一次:

LD SM0.1
HDEF 3, 12
這段程序定義了,HSC3工作在模式12,用來記錄Q0.1發出的脈沖,我們就可以利用計數器來數數共發出了多少脈沖了。


if HSC3>=200 and HSC3<=300 than SET Q1.0
情況就變的非常簡單了,需要做的就是在適當的時候對HSC3進行清零、正向計數、反向計數的控制了

計數器清零
MOVB 16#D0, SMB137
MOVD 0, SMD138
HSC 3

正向計數控制
MOVB 16#98, SMB137
HSC 3

反向計數控制
MOVB 16#90, SMB137
HSC 3


所有這些我們可以加在前貼的主程序對子程序的調用中
比如正向行走,需要在M11.1上升沿后加入
SET Q0.3
MOVB 16#98, SMB137
HSC 3
此時電機以200速度,正向行走2000脈沖,同時計數器進行計數

當然需要把所有這些都放在子程序中,這樣使用太不方便了,可一般電機運轉的長度單位是毫米,如果在屏幕上用脈沖來表示長度,將給客戶帶來極大的不便,因此還需要換算,另外一個直線運動還需要一個基點,所有這些我們都可以做在子程序中,待下回再無聊時一并論述。

酒勁上來了,暈暈乎乎寫了這些,希望沒誤導朋友。
本帖最近評分記錄:
  • 下載積分:+5(sjm213) 支持原創!
  • 棋牌比賽免費得實物,閑暇好去處
    http://www.jj.cn/indexTG.html?promoterid=108502812
    xyljlx
    級別: *
    精華主題: * 篇
    發帖數量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看xyljlx的 主題 / 回貼
    1樓  發表于: 2010-04-15 09:46
    樓主:還有嗎?請繼續