資源描述:
《s7200的uss多從站輪詢》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、S7200的USS多從站輪詢USS_CTRL功能塊使用了PZD數(shù)據(jù)讀寫機(jī)制。USS_CTRL里面包含了命令源(數(shù)字量啟停)和給定源(頻率給定)。USS參數(shù)讀寫指令采用與USS_CTRL功能塊不同的數(shù)據(jù)傳輸方式。由于許多驅(qū)動裝置把參數(shù)讀寫指令用到的PKW數(shù)據(jù)處理作為后臺任務(wù),參數(shù)讀寫的速度要比控制功能塊慢一些。個人理解:USS_CTRL需要用到PZD,而USS參數(shù)讀寫指令用到的是PKW。對應(yīng)的MM430的P2012-USSPZD長度。對于P2012有如下說明:PZD發(fā)送一個控制字和給定值(請求報文)或者狀態(tài)字和實際值(應(yīng)答報文
2、)。一個USS電報中PZD字的數(shù)量由參數(shù)P2012確定,其中前2個字(P2012≥2)為:控制字和主給定值,或者狀態(tài)字和實際值。個人理解:PZD的第1個字在請求報文時為控制字(啟停),或者在應(yīng)答報文中為狀態(tài)字(運行或故障狀態(tài)等)。PZD的第2個字在請求報文時為給定值(頻率設(shè)定),或者在應(yīng)答報文中為實際值(頻率反饋)。限制:如果串行接口控制變頻器(P0700或P0719),則第1個控制字必須被傳送到第1個PZD字中。如果由P1000或P0719選擇給定值源,則必須傳送在第2個PZD字中的主給定值。如果串行接口控制變頻器(P07
3、00或P0719)。當(dāng)P2012大于或等于4時,則必須傳送在第4個PZD字中的附加控制字(這句話繞口,意思是附加控制字要放在第4個PZD字中)??刂颇J剑含F(xiàn)有兩臺補(bǔ)水泵,兩臺泵的啟停均采用端子控制,變頻器的運行和故障反饋、頻率給定和反饋以及電流反饋均走USS通訊。自己剛開始編程的時候,最大的疑問就是:既然啟停走端子控制,那么還需要用USS_CTRL么?自己嘗試了不用USS_CTRL,用USS_WPM寫MM430的P1000以進(jìn)行頻率給定。顯然這是不可行的,因為P1000的定義是選擇給定源。自己還有一個疑問,啟停采用端子控制,
4、那么USS_CTRL功能塊是否還有用?答案是肯定有用,啟停采用端子控制并不影響USS_CTRL的使用。針對上述模式,采用USS_CTRL進(jìn)行頻率給定和頻率反饋,頻率給定通過Speed_SP(范圍為-100%-100%,這里的“-”表示轉(zhuǎn)向反向),頻率反饋通過Speed(范圍為-100%-100%,需要將其換算為0-50Hz)。Run_EN和Fault分別對應(yīng)變頻器運行和故障。P2012=2,即2個PZD字。這里由于狀態(tài)字要占用第1個PZD字,而給定值和實際值始終在第2個PZD字,所以PZD為2。個人認(rèn)為,只要使用了USS_C
5、TRL功能塊,P2012就應(yīng)該≥2。如何輪詢?USS單站通訊比較容易實現(xiàn)。對于多從站輪詢,程序的結(jié)構(gòu)有所變化,下面結(jié)合具體實例來講解。步驟一:將USS進(jìn)行初始化,這里要輪詢兩臺變頻器,USS站號地址分別為0和1。將V1.5(一號補(bǔ)水泵讀電流信號)、V3.5(二號補(bǔ)水泵讀電流信號)、V1.6(一號補(bǔ)水泵讀電流完成)、V3.6(二號補(bǔ)水泵讀電流完成)初始化置0。如果上述讀電流信號和讀電流完成變量不置0的話,就會出現(xiàn)下述情況:將程序下載至PLC后,打到RUN狀態(tài),程序輪詢讀電流正常,然后將PLC由RUN打到STOP狀態(tài),然后再打到
6、RUN狀態(tài),就會出現(xiàn)讀從站電流參數(shù)故障。該故障表現(xiàn)為讀電流完成信號(V1.6或V3.6)始終為1或0,即不再進(jìn)行讀參數(shù)輪詢,但不影響USS_CTRL指令的輪詢。詳情見附錄的圖10和11。步驟二:將用到的所有USS讀寫指令,按輪詢順序編寫好之后,放在USS_CTRL功能塊的前面。在任一時刻USS主站內(nèi)只能有一個參數(shù)讀寫功能塊有效,否則會出錯。因此如果需要讀寫多個參數(shù)(來自一個或多個驅(qū)動裝置),必須在編程時進(jìn)行讀寫指令之間的輪替處理。這里讀兩個補(bǔ)水泵電流的輪替方式為,V1.6(一號補(bǔ)水泵讀電流完成)信號將V3.5(二號補(bǔ)水泵讀電
7、流信號)置1,將V1.5(一號補(bǔ)水泵讀電流信號)置0。V3.6(二號補(bǔ)水泵讀電流完成)信號將V1.5(一號補(bǔ)水泵讀電流信號)置1,將V3.5(二號補(bǔ)水泵讀電流信號)置0。如此輪替。注意PLC首次掃描周期時,是不能調(diào)用讀參數(shù)指令的。所以網(wǎng)絡(luò)7中的V1.5(一號補(bǔ)水泵讀電流信號)首次置1放在所有讀參數(shù)指令(USS_RPM)的后面。如果在PLC的首次掃描周期中就調(diào)用了USS_RPM指令,則USS_RPM指令將無法讀取參數(shù)。步驟三:通過USS_RPM讀取的參數(shù)不能直接利用,即USS_RPM指令中的針腳Value的值不能直接利用。必須
8、通過MOVE_R指令取用,見圖4和圖6。不能直接調(diào)用的原因是,當(dāng)USS_RPM讀參數(shù)完成時,USS_RPM的Value為參數(shù)的實際值,當(dāng)USS_RPM讀參數(shù)未完成時,USS_RPM的Value為0。見附錄的圖12和圖13。而USS_CTRL中的Speed值是可以直接利用的。因為不管從站是否