USS協(xié)議(Universal Serial Interface Protocol,通用串行接口協(xié)議)是西門子公司所有傳動產(chǎn)品的通用通信協(xié)議,它是一種基于串行總線進(jìn)行數(shù)據(jù)通信的協(xié)議。USS協(xié)議是主一從結(jié)構(gòu)
的協(xié)議,規(guī)定了在USS總線上可以有一個主站和最多31個從站;總線上的每個從站都有一個站地址(在從站參數(shù)中設(shè)定),主站依靠它識別每個從站;每個從站也只對主站發(fā)來的報文作出響應(yīng)并防靜電鞋 , 防靜電服回送報文,從站之間不能直接進(jìn)行數(shù)據(jù)通信。另外,還有一種廣播通信方式,主站可以同時給所有從站發(fā)送報文,從站在接收到報文并作出相應(yīng)的響應(yīng)后可不回送報文。
1.USS協(xié)議庫的功能
S7 200可以采用通用的串行接口協(xié)議USS與MicroMaster系列變頻器進(jìn)行通信。所有西門子的變頻器均帶有一個RS一485串行通信口。在使用USS協(xié)議指令之前,需要先安裝西門子的指令庫防靜電鞋 , 防靜電服。USS協(xié)議指令在STEP 7一Micro/WIN指令樹的庫文件中,指令庫提供14個子程序、3個中斷程序和8條指令來支持USS協(xié)議,調(diào)用一條USS指令時,將會自動增加一個或多個相關(guān)的子程序。這些子程序的內(nèi)容西門子公司沒有公開,用戶也無須了解,只需正確設(shè)置USS指令的相關(guān)參數(shù),便可以實(shí)現(xiàn)CPU 22X與變頻器的正常通信。用戶即使不十分了解USS協(xié)議的具體內(nèi)容,也可以很好地控制變頻器。
2.使用USS指令的要求
USS指令使用S7 200中的下列資源。
①USS指令是一個由中斷驅(qū)動的應(yīng)用程序,在最不利的情況下,接收信息中斷程序最多需要2.5ms來執(zhí)行;在這段時間內(nèi),所有其他中斷事件都將排隊,等待接收信息中斷程序執(zhí)行完成后
再執(zhí)行。
②初始化USS協(xié)議將端口0專門用在USS通信,使用USS—INIT指令為端口0選擇USS或PPI協(xié)議。在選擇使用USS協(xié)議與變頻器通信后,端口0不能再作其他目的,包括與STEP 7-Micro/WIN通防靜電鞋 , 防靜電服信。在使用USS協(xié)議進(jìn)行程序開發(fā)的過程中,應(yīng)使用CPU224XP、CPU226或EM277 Profibus—DP模塊連接到計算機(jī)中的Profibus CP卡匕。STEP7-Micro/WIN可以利用第二個通信口在USS協(xié)議中運(yùn)行時監(jiān)視程序。
③USS指令影響所有的與端口0自由口通信相關(guān)的SM區(qū)。
④USS指令使用14個子程序和3個中斷程序。
⑧不能在PLC應(yīng)用程序的中斷程序中使用USS指令。
⑥USS指令使用用戶程序?qū)Υ鎯臻g的需求最多可增加3050字節(jié);根據(jù)所使用的特定USS指令,這些指令所支持的路徑使控制程序?qū)Υ鎯臻g的分?jǐn)傇黾又辽?150字節(jié),最多3050字節(jié)。
(z)USS指令的變量需要400字節(jié)的V存儲區(qū),該區(qū)域的起始地址由用戶指定并保留給USS變量。
⑧有一些USS指令還要求16字節(jié)的通信緩存區(qū);作為一個指令的參數(shù),需要為該緩存區(qū)提供一個V區(qū)的起始地址。建議為每一條USS指令指定一個單獨(dú)的緩存區(qū)。
⑨在執(zhí)行計算時,USS指令使用累加器AC0~AC3;如果在程序中使用了這些累加器,其數(shù)值會被USS指令改蠻。
要將端口0恢復(fù)為PPI,使之與STEP 7一Micro/WIN通信,可以使用另外一條USS—INIT指令重新設(shè)定端口0,還可以將s7—200的模式開關(guān)設(shè)為STOP,這樣就復(fù)位了端口0的參數(shù)。注意:
停止與變頻器的通信就停止了變頻器。
3.計算與變頻器通信的時間
s7—200的循環(huán)掃描和變頻器的通信是異步的。s7—200在完成一個變頻器的通信之前,通常要完成若干個循環(huán)掃描,所需要的時間與S7—200的當(dāng)前變頻器數(shù)、波特率和掃描時間有關(guān)。例
如,通信速率為9600bps時,與一臺變頻器的通信時間為50ms,s7—200系統(tǒng)手冊給出了詳細(xì)的通信時間表。有一些變頻器在使用參數(shù)訪問指令時要求更長的時延。參數(shù)訪問對時間的需求量取
決于變頻器的類型和要訪問的參數(shù)。
4.使用USS指令應(yīng)遵循的步驟
①在用戶程序中插入USS—INIT指令。該指令只在一個循環(huán)周期內(nèi)執(zhí)行一次,用USS—NIT指令啟動或改變USS通信參數(shù)。當(dāng)插入USS—INIT指令時,若干個隱藏的子程序和中斷程序會自動加
入到用戶程序中。
②在程序中為每個激活的變頻器只使用一個USS_CTRL指令。用戶可以按需求盡可能多地使用USS—RPM—x和USS WPM_x指令,但是在同一時刻,這些指令中只能有一條是激活的。
③在指令樹中選中程序塊圖標(biāo)(Program Block),右擊顯示彈出菜單,選擇庫存儲區(qū)選項,為USS指令庫使用的V存儲區(qū)指定起始地址。
④組態(tài)變頻器參數(shù)使之與程序中所用的波特率和站地址相匹配。
⑤連接s7—200和變頻器之間的通信電纜。注意:具有不同參考電位的設(shè)備相互連接時會在連接中形成電流,這些電流會導(dǎo)致通信錯誤或設(shè)備損壞。要確保所有通過通信電纜連接在一起的
設(shè)備共享一個公共參考點(diǎn),或者彼此隔離以避免產(chǎn)生電流,屏蔽層必須接到底盤地或9針接頭的針1。建議將MiroMaster變頻器上的接線端2(0V)接到外殼地上。
5.USS協(xié)議指令
(1)初始化指令USS—INIT
‘USS INIT指令用來使能、初始化或禁止MiroMaster變頻器的通信。USS—INIT指令必須無錯誤地執(zhí)行,才能夠執(zhí)行其他的USS指令。指令完成后,在繼續(xù)進(jìn)行下一條指令之前,Done位被立
即置位,USS INIT指令示。