傳統(tǒng)的PLC與變頻器之間的接口大多采用的是依靠PLC的數(shù)字量輸出來控制變頻器的啟停,依靠PLC的模擬輸出來控制變頻器的速度給定,這樣做存在以下問題:
1、需要控制系統(tǒng)在設(shè)計時采用很多硬件,價格昂貴
2、現(xiàn)場的布線多容易引起躁聲和干擾
3、PLC和變頻器之間傳輸?shù)男畔⑹苡布南拗疲粨Q的信息量很少。
4、在變頻器的啟??刂浦杏捎诶^電器接觸器等硬件的動作時間有延時,影響控制精度。
5、通常變頻器的故障狀態(tài)由一個接點輸出,PLC能得到變頻器的故障狀態(tài),但不能準確的判斷當故障發(fā)生時,變頻器是何種故障。
如果PLC通過與變頻器進行通訊來進行信息交換,可以有效地解決上述問題,通訊方式使用的硬件少,傳送的信息量大,速度快,等特點可以有效地解決上述問題,另外,通過網(wǎng)絡(luò),可以連續(xù)地對多臺變頻器進行監(jiān)視和控制,實現(xiàn)多臺變頻器之間的聯(lián)動控制和同步控制,通過網(wǎng)絡(luò)還可以實時的調(diào)整變頻器的參數(shù)。
目前各個廠家的變頻器都相繼的開發(fā)出了支持連網(wǎng)的功能,比如,很多變頻器都有了支持現(xiàn)場總線(如:DEVICENET、PROFIBUS、AS_I)等的接口協(xié)議,可以很方便的與PLC進行數(shù)據(jù)通信。現(xiàn)在主要介紹西門子S7-200和MicroMaster變頻器之間的通訊協(xié)議USS,使用USS通訊協(xié)議,用戶可以通過程序調(diào)用的方式實現(xiàn)S7-200和MicroMaster變頻器之間的通信,編程的工作量小,通訊網(wǎng)絡(luò)由PLC和變頻器內(nèi)置的RS485通訊口和雙絞線組成,一臺S7-200最多可以和31臺變頻器進行通訊,這是一種費用低、使用方便的通訊方式。
一、USS通訊協(xié)議介紹
USS通訊協(xié)議的功能,所有的西門子變頻器都帶有一個RS485通訊口,PLC作為主站,最多允許31個變頻器作為通訊連路中的從站,根據(jù)各變頻器的地址或者采用廣播方式,可以訪問需要通訊的變頻器,只有主站才能發(fā)出通訊請求報文,報文中的地址字符指定要傳輸數(shù)據(jù)的從站,從站只有在接到主站的請求報文后才可以向從站發(fā)送數(shù)據(jù),從站之間不能直接進行數(shù)據(jù)交換。在使用USS協(xié)議之前,需要先安裝西門子的指令庫。USS協(xié)議指令在STEP7—MICRO/WIN32指令樹的庫文件夾中,STEP7—MICRO/WIN32指令庫提供14個子程序、3個中斷程序和8條指令來支持USS協(xié)議。調(diào)用一條指令時,將會自動地增加一個或幾個子程序。
USS協(xié)議使用CPU的下列資源:
1)USS協(xié)議占用PLC的通訊端口0或1,使用USS——INIT指令可以選擇PLC的端口是使用USS協(xié)議還是PPI協(xié)議,選擇USS協(xié)議后PLC的相應(yīng)端口不能在做其它用途,包括與STEP7-WICRO/WIN32的通訊,只有通過執(zhí)行另外一條USS指令或?qū)LC——CPU的模式開關(guān)撥到RUN或STOP狀態(tài),才能鐘新在進行PPI通訊,當PLC和與變頻器通訊中斷時,變頻器將停止運行,所以在本例中選擇CPU226因為它有兩個通訊端口,當?shù)谝粋€口用于USS通訊時,第二個端口可以用于程序監(jiān)控,USS指令要占用2300~3600字節(jié)的程序存儲空間和400個字節(jié)的變量存儲區(qū)間
2)變頻器的通訊與CPU的掃描時異步的,完成一次變頻器的通訊通常需要幾個CPU的掃描周期,通訊時間和鏈路上變頻器的臺數(shù)、波特率和掃描周期有關(guān),本例中通訊的波特率設(shè)定為19200,變頻器的臺數(shù)為3臺,經(jīng)實際調(diào)試檢測通訊時間大約為50ms.
二、使用USS協(xié)議的步驟:
1)安裝指令庫后在STEP7-Micro/win32指令樹的/指令/庫/USSPROTOOL文件夾中將出現(xiàn)8條指令,用它門來控制變頻器的運行和變頻器參數(shù)的讀寫操作,這些子程序是西門子公司開發(fā)的用戶不需要關(guān)注這些指令的內(nèi)部結(jié)構(gòu),只需要在程序中調(diào)用即可。
2)調(diào)用USS—INIT初始化改變USS的通訊參數(shù),只需要調(diào)用一次即可,在用戶程序中每一個被激活的變頻器只能用一條USS-DRIVE-CTRL指令,可以任意使用USS-RPM-X或USS-WPM-X指令,但是每次只能激活其中的一條指令。
3)為USS指令庫分配V存儲區(qū)。在用戶程序中調(diào)用USS指令后,用鼠標點擊指令書中的程序塊圖標,在探出的菜單中執(zhí)行庫內(nèi)存命令,為USS指令庫使用的397個字節(jié)的V存儲區(qū)指定起始地址,
4)用變頻器的操作面板設(shè)置變頻器的通訊參數(shù),使之與用戶程序中所用的波特率和從站地址相一致。
5)連接CPU和變頻器之間的通訊電纜,為了提高看干擾能力最好采用屏蔽電纜。
三、USS指令說明
1、初始化指令USS-INIT
初始化指令USS-INIT用于允許或禁止PLC和變頻器之間的通訊,在執(zhí)行其他USS協(xié)議前,必須先成功的執(zhí)行一次USS-INIT指令,只有當該指令成滾執(zhí)行完成后其完成位(DONE)置位后,才能繼續(xù)執(zhí)行下面的指令。次USS-INIT指令的參數(shù)如表1所示:
4、寫變頻器參數(shù)的USS_WPM_X指令
寫變頻器參數(shù)的指令包括USS_WPM_W;USS_WPM_D;USS_WPM_R三條指令,分別用于向指定變頻器寫入一個無符號字,一個無符號雙字和一個實數(shù)類型的參數(shù),該指令的參數(shù)如表4所示:
四、在使用USS協(xié)議時變頻器的相關(guān)參數(shù)設(shè)定如下(以MM440為例)
1、P0003=3允許訪問變頻器的所有參數(shù)。2、P0970=1允許變頻器通過參數(shù)復位。3、P0700=5變頻器的控制方式選擇為通訊方式。4、P2010[2>=6變頻器的USS波特率選擇為96005、P2011[0>=11變頻器的USS地址0~31
五、應(yīng)用實例
1、控制說明
自動化生產(chǎn)線運載小車是工業(yè)自動化生產(chǎn)過程中一種非常實用的機械,它主要用在工廠的自動化生產(chǎn)上不同的生產(chǎn)線之間以及不同的工位之間的物料搬運。它的一個完整的動作周期包括:當一個工位需要裝配零件時,該工位的操作者在該工位的操作盤上輸入需要的零件名稱,輸入的信號通過MIS(或ERP)系統(tǒng)生成一個作業(yè)信息,該作業(yè)信息包括所需零件的存放位置,零件的外型尺寸及所需工位的工位號,然后,MIS(或ERP)系統(tǒng)把該作業(yè)信息發(fā)送到運載小車的控制系統(tǒng)中,如果運載小車正在作上次接收到作業(yè),則本次下發(fā)的作業(yè)信息存儲到運載小車的作業(yè)隊列中,前面所接收到作業(yè)做完后執(zhí)行該作業(yè),執(zhí)行該作業(yè)的步驟是運行到取料位置,根據(jù)零件的外型尺寸,決定取料時升降和左、右的運行位移,取料完成后,帶載運行到所需零件的工位.運載小車動作過程可分為前進、后退;上升、下降;向左、向右,三個方向的運動,在控制系統(tǒng)的設(shè)計上,前后運行采用一臺變頻器,上升下降運行采用一臺變頻器;左右運行采用一臺變頻器??刂葡到y(tǒng)采用西門子S7-200系列的CPU226,CPU226和三臺變頻器之間采用USS協(xié)議進行通訊,