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