摘要: 本文以三菱FX2N PLC為基礎,介紹了PLC的深度開發及運用于電鍍自動線的實例。該自動線具有行車動作可靈活設定、動態修改,自動尋位、斷電恢復等實用功能。此外還介紹了PLC和上位微機的通訊,以及觸摸顯示屏作為人機界面的實現。
關鍵詞: 電鍍自動線;PLC;人機界面
Abstract: On the basis of Mitsubishi FX2N PLC, this paper introduces the deep development of PLC and its application in an electroplating autoline. It has the functions such as flexible setting,dynamic modifying, original position recognized and recovers after power failed. The communication between PLC and PC and a Man-Machine Interface are introduced too.
Keywords: electroplating autoline PLC Man-Machine Interface
1 引言
可編程控制器(PLC)以其運行可靠、易學易用、抗干擾性強等特點,在工業控制中得到廣泛應用。然而較多的應用只是根據工藝編制相應的梯形圖,用以代替傳統的繼電器電器控制線路,功能非常有限。近年來各種型號的PLC 在功能上已經有了極大的提,允許用戶做許多底層操作,幾乎可以象單片機一樣靈活,加上有眾多的外圍設備可以選用,這就給軟件、硬件設計帶來了很大的靈活性和先進性。本文通過三菱FX2N-PLC 在一條電鍍自動線上的應用,說明如何充分開發PLC 的先進功能,達到行車動作的靈活設定、動態修改的功能,
以及斷電恢復、通訊、新型人機界面的應用。
2 系統簡介
系統采用集散控制,參見圖1,上位機使用工控微機,負責工藝調度、質量管理等宏觀控制;下位機使用三菱FX2N-PLC,控制行車的動作。行車吊勾(提升電鍍工件用)的垂直定位采用接近開關,水平定位采用旋轉編碼器,垂直和水平的運動都使用變頻控制普通交流異步電機來驅動,控制面板使用三菱的F940GOT 觸摸屏人機界面。
3 PLC 的應用
3.1 動作表
行車動作無非就是上下左右受控移動,按照的順序(即動作表)完成一系列的動作。要求有幾套動作表可以選擇,動作可以靜態修改,也可以在運行時由上位機動態修改。這種要求若是僅用簡單的梯形圖是無法實現的,因為動作都是由梯形圖中的觸點指令實現,而梯形圖指令在運行時是不能修改的,F在的FX2N-PLC 增加了許多應用指令(底層操作,相當于微機的匯編指令),以及提供了許多可供用戶使用的數據存儲單元,并且有間接尋址功能,這就使表結構操作成為可能。在這里,我們把行車的一個動作定義為:“到幾號工位上升,再到幾號工位下降”,或者是“延時幾秒”,每個動作由一個字(16 位)組成,每個動作表由若干個動作字組成,放在PLC 的數據寄存器里,動作表由PLC 程序初始化,也可以在運行時通過串行通訊由上位機讀取和修改,PLC 程序在運行時只是不斷地解釋和執行動作表。
3.2 動作的解釋和執行
動作字有3 種:行車動作字、延時動作字、結束標志。
(1) 行車動作字:
動作字的字節表示“上升所到的工位號”, 低字節表示“下降所到的工位號”,例如:“0205”表示讓行車開到02 號工位,上升,再開到05 號工位,下降。
由于一個行車動作字表示的是宏動作,由:“前進或后退,水平到位,上升,上到位,再前進或后退,水平到位,下降,下到位,完成”幾個微動作組成,通過FX2N-PLC 的步進階梯指令STL 實現非常合適。我們可以把行車的宏動作分解為幾個狀態,在到位時進行狀態
轉移。參見圖2 的STL 狀態轉移圖。
垂直到位比較簡單,用上下到位接近開關直接控制即可。
水平到位稍微復雜一些。在程序初始化時將每個工位的準確位置送到數據寄存器里,稱做工位位置表,每個工位的實際位置數據通過實測得到。動作表、工位位置表、行車水平運動的關系請參見圖3。運行時通過旋轉編碼器得到行車的當前位置,每毫米大約發3 個脈沖。在做水平動作時,先取出動作字,分離低字節,得到目標工位號,將此工位號作為工位位置表的偏移量,用間接尋址方法得到目標工位位置,若當前位置大于目標位置則令行車后退,反之則前進,直到行車到目標位置前一個提前量時,令行車轉為慢速;當行車到目標位置前另一個提前量時,令行車制動。這二個提前量都根據實際情況加以調整,慢速提前量通常為半個工位間隔,制動提前量根據實際的行車速度、慣性而定。經過調整,終定位精度可以達到±1mm 左右。
圖4 是行車水平處理子程序,在二個水平進退STL 狀態中先設置好目標工位,再調用該子程序,行車就會前進或后退,直到目標位置停下來,發出完成標志M86,即可轉入下一STL狀態。