2012年7月12日 星期四

PLC不難-伺服馬達控制part1

前幾篇,把一個順序、邏輯控制介紹了,PLC真的不難入門。

這一篇要寫到伺服馬達的控制,
伺服馬達控制,寫PLC的人,就會想到一些ZRN、PLSV、DRVI..等等指令。

其實真的有必要用到那些指令嗎??
從基本說起你就知道。

-|X0|-(Y0)-    <<==完成了伺服馬達運動的程式了,就是這麼簡單。

-|X0|-(Y0)
-|X1|-(Y1)
又完成了,可以控制轉向的伺服馬達控制程式。真的不難啊!





伺服馬達&步進馬達,
對PLC來說只是一個/兩個 輸出點的控制而已。
控制Y點,就能夠控制伺服馬達。

下圖就是伺服馬達的控制方式,把Pulse=Y0,Sign=Y1,
看脈波列+符號那邊,不就是我寫的程式嗎??
當X0=OFF->ON,伺服馬達就會走一步。


35 則留言:

  1. 大大您好,我是PLC新手,那張圖可以麻煩您解說一下嗎?

    回覆刪除
    回覆
    1. 其實只是控制的方式選擇而已,
      把pulse 跟sign ,各當成一輸出點(y)來送信號,
      如果選擇脈波列+符號,你就不可以送ab相脈波.
      這個伺服馬達控制選擇,通常是伺服馬達的參數設定裡。

      刪除
  2. 請教一下,所以這樣發送出去的脈波頻率是?預設的速度嗎?

    回覆刪除
    回覆
    1. 這種方法,只是最單純的測試接線,及伺服馬達的控制方式是否有誤。

      這種寫法,是建立在 脈波列+符號(方向)
      只要x0,觸發一次,伺服馬達就會跳動一個編碼器脈波距離。
      (電子齒輪比1:1的情形下)

      如果編碼器是1000pulse/rev
      那x0觸發一次,馬達就會轉360/1000(0.36)圈

      觸發x0的速度,就是馬達轉動的速度。

      注意:這個只適用在學習&測試伺服馬達接線、參數。
      一般伺服馬達控制用此種方法,會太慢。(跟scan time有關)

      刪除
  3. 請問步進寫法也相同嗎?

    回覆刪除
    回覆
    1. 步進這種寫法,也會「動」!

      但這種寫法,只是讓您認識伺服/步進 動作的原理,
      如果真的用這種方式來做運動控制,會很慢。

      步進如果是0.5度/步,要轉一圈,代表你要發720個脈波,要觸發720次輸出點,
      太累了!

      刪除
  4. 其實仔細看馬達說明
    可以
    模式可以選位置模式
    再依說明配線
    可以設定點位
    當這個點被觸發就會轉到這個位置

    回覆刪除
    回覆
    1. 是的,那是伺服的自定位功能!!
      前提是要點位先寫入,或是用通訊再寫入

      先初學者來說,都是比較難的,
      這種脈波輸出是最普遍,也比較容易debug的用法

      刪除
  5. 我想請問一下. 為什麼Y1(ON)之後再送脈波,馬達就會反轉?

    回覆刪除
    回覆
    1. 您可以看文章下方的圖,就是代表伺服馬達控制方式,
      脈波列+符號的控制方式,就是
      Y0=脈波數量\步數
      Y1=方向控制 OFF=正轉 ON=反轉

      刪除
    2. 喔喔。。如果今天我想要按1次鈕就執行反轉,那我可以把Y0和Y1合併在一起嗎? 會不會有問題

      刪除
    3. y0是要一直on/off伺服馬達才會連續轉動,
      而y1是持續性功能 on就正轉,off就反轉

      兩者不同信號格式,如何合併?

      除非是另外控制y0馬達的轉動

      刪除
    4. -|X0|--[DRVI K1000 K10 Y0 Y5]
      |
      |-------------------------------(Y5)

      像這樣OK嗎?

      刪除
  6. 下面的Y5因該是要放在X0的後面才對,格式自己跑到前面去了SORRY

    回覆刪除
    回覆
    1. 你對DRVI的指令認知不對,
      Y5是根據 K1000的值,會自動ON/OFF

      如果是K-1000 Y5就會反向。

      刪除
    2. 恩. 我大概了解了 , 謝謝你回這麼快

      刪除
  7. 請問 邏輯觀念 正邏輯與負邏輯差異在哪裡

    回覆刪除
    回覆
    1. PNP(正邏輯) & NPN(負邏輯)

      PNP 正電壓時,為ON「1」信號
      NPN 0V時,為ON「1」信號

      刪除
  8. 請問為何我就算Y1是OFF,步進馬達依舊是反轉呢?(台達DVP-SX2)

    回覆刪除
    回覆
    1. 在附圖中,有三種控制方式,
      我的程式是屬於第三種; 脈波列+符號。

      如果你Y1改變後,還是同方向,
      那應該就是 正轉脈波列/反轉脈波列的控制方式

      那你可以輸出(on/off變化) Y1 看是否會反轉

      刪除
    2. 我的馬達驅動器是

      輸入脈波信號+
      輸入脈波信號-
      輸入方向信號+
      輸入方向信號-

      有點搞不清楚到底該怎麼做~"~

      刪除
    3. 我現在的指令是這樣
      |-|M0|---------------(Y0)
      |-|M1|---------------(Y1)
      |-|M2|--[PLSV 1000 Y0 Y1]

      刪除
    4. 你不需要M0 M1 這兩行 因為PLSV會蓋過去。

      如果接線正確,應該是
      先測:
      PLSV 10 Y0 Y1
      再改成:
      PLSV -10 Y0 Y1
      應該會慢慢的動。

      改10 是讓你看得到Y0的變化,
      1000太快,看不出

      刪除
    5. 把脈波數改成負的之後,Y1的指示燈終於亮了,但正負脈波還是都只轉一個方向耶.

      刪除
    6. 那我覺得,伺服驅動器的脈波型式,應該是「正轉脈波列/反轉脈波列的控制方式」

      測試方式:
      |-|M0|-|/Y0|----(Y0)--|
      讓Y0 ON/OFF變化
      看馬達是否轉動。
      ==
      再把程式改成
      |-|M0|-|/Y1|----(Y1)--|
      看是否會反向轉動

      如果是就是伺服的控制方式設錯了

      刪除
    7. 請問測試時,PLSV這指令還要保留嗎?

      刪除
    8. 為了避免讓大大誤會,我先說一下我的馬達規格

      兩相四線步進馬達+馬達驅動機器,馬達的四條線上面是標註A+A-B+B-

      刪除
    9. plsv指令不要了,
      只要一行
      |-|M0|-|/Y0|----(Y0)--|

      步進馬達 的型號是什麼??

      我看東方步進馬達,都是CW/CCW的方式,
      就是正轉脈波列/反轉脈波列的控制方式

      刪除
  9. 我用的是42步進馬達,因為我都還在自學,所以只能買這種的...
    http://goods.ruten.com.tw/item/show?21518186263238

    回覆刪除
    回覆
    1. 步進驅動器的手冊是這個:
      http://www.61mcu.com/upload/N-TB6560-T1-Manual.pdf

      那你的接線是怎麼接的?
      第4頁的部份。
      如果公共電源給5V,除非PLC是高速輸出接點,不然應該不能接。
      如果公共電源給24V,要+電阻,不然會燒驅動器

      刪除
    2. 成功了!依照手冊還有依照大大您說的正負脈波,就能正反轉了,真的非常感謝!好開心~

      刪除
  10. 請問大大 三菱伺服驅動器 MR-JE_B 走SSCNET III 方式 需要接那些線??
    我是用QD77MS模組 需要跟QD77MS連接訊號線嗎還是用 SSCNET III 方式就可以不用

    回覆刪除