西門子 S7-200系列是自控市場上有重要地位的PLC,Siemens公司為S7-200PLC專門編寫了USS4通訊子程序,用于與Siemens自己的MicroMaster系列變頻器通訊。由于USS協議與Danfoss丹佛斯 RS485通訊協議非常相似,所以只要作很小的改動就能使Siemens的USS4通訊子程序實現S7-200 PLC與丹佛斯 FC300、VLT2800、2900,5000系列變頻器的通訊控制。
一、硬件接線:
接線對照表如下:
RS485 P和RS485 N兩根通訊線應該使用屏蔽雙絞線,屏蔽層在Danfoss變頻器側壓接地;如果通訊干擾很厲害,可以將PLC和變頻器的RS485通訊口的地連接在一起,常有奇效。
二、USS協議與Danfoss RS485通訊禎格式對照比較:
SIEMENS USS通訊協議完全說明可以從
support.automation.siemens.com網站上下載。 下面只作簡要說明。
1. 通訊速率:
l USS協議的波特率為300,600,1200,2400,4800,9600,19200,38400,57600,76800,93750,115200,187500;
l S7-200 USS4通訊子程序支持的波特率為1200,2400,4800,9600,19200;
l 以Danfoss FC300以例, RS485通訊協議支持的波特率為2400,4800,9600,19200,38400,115200;
上海津信建議使用Danfoss的出廠默認值9600 Bd。
2.起始位、數據長度、校驗位、停止位:
USS協議的起始位為1位,數據長度為8位,校驗為偶校驗,停止位為1位,與Danfoss RS485通訊協議的規定完全相同。
三、USS協議與Danfoss RS485通訊協議報文格式對照比較:
S7-200 USS4通訊子程序支持的USS協議報文格式如下:
首先說明,USS協議的報文框架結構與Danfoss RS485通訊協議的完全相同,下面就其具體定義進行比較:
1. 起始字符:
USS協議的起始字符為ASCII字符STX (02HEX),與Danfoss RS485通訊協議相同。
2. 數據長度LGE:
USS協議的數據長度是指LGE后面所跟的字節數,此定義與Danfoss RS485通訊協議相同。
3. 從站地址ADR:
USS協議的從站地址定義為RS485標準格式,Danfoss RS485通訊協議也支持RS485標準地址格式(Danfoss自定義的專用地址格式就不能用了)。
4. 校驗碼BCC:
USS協議的校驗碼是報文中BCC校驗碼前面所有字節作“異或”運算的結果,與Danfoss RS485通訊協議的定義相同。
5. 過程數據區:
雖然USS協議支持n個PCD過程數據字,但是S7-200 USS4子程序只支持2個PCD,因此過程數據區的長度與Danfoss RS485通訊協議的定義相同。
6. 過程數據區的PCD1:
USS協議定義PCD1為控制字/狀態字,與Danfoss RS485通訊協議相同,只是控制字/狀態字的位功能定義不同。
7. 過程數據區的PCD2:
USS協議定義PCD2為主設定值/主實際值,與Danfoss RS485通訊協議相同;Siemens此數據有兩種規格化方式,其一為16進制4000HEX對應100%,與Danfoss定義相同;另一種規格化方式為“絕對值”方式,16進制4000HEX為16384,對應163.84Hz,與Danfoss定義不同。
8. 參數命令數據區的參數特征字PCA:
位0-10,對應參數號的b0-b10位,USS協議的定義與Danfoss的相同。
位11,雖然USS協議中定義為參數變動自發信息,但S7-200 USS4通訊子程序沒用到,因此與Danfoss的定義也就相同了,填入0。
位12-15,任務標識表,主機發給從機時:
位12-15,任務標識表,從機應答主機時:
S7-200 USS4通訊子程序中用到的任務標識與Danfoss的定義相同。
9. 參數命令數據區的索引IND:
USS協議將此字的12-15位定義為擴展參數號,單對于Danfoss變頻器而言,暫時還用不到擴展參數號,填入0。
其余位USS4通訊子程序中的定義與Danfoss的相同。
10. 參數命令數據區的參數值PVA(PWE):
USS協議主站發送命令時參數值PVA可以為1個字或2個字,而Danfoss RS485通訊協議固定為2個字,這是一個關鍵差異。接收時,無論單字還是雙字PVA,USS4通訊子程序都能正常接收。
四、USS協議與Danfoss VLT變頻器通訊需要做的改動:
綜上所述,S7-200 PLC USS4通訊子程序與Danfoss RS485通訊協議其實只有一個地方不兼容:USS4中有的通訊命令報文格式的參數值PVA是單字長度,而Danfoss要求固定長度雙字。
為了保持程序的通用性,我們盡量做最小的程序改動。
分析S7-200 USS4通訊子程序,總共由17個子程序構成,其中Danfoss VLT變頻器要用的,涉及參數值PVA,并且PVA長度只有單字的子程序其實只有2個:
1.
USS4_DRV_CTRL,控制字及總線給定子程序
2.
USS_RPM,讀參數子程序
將這2個子程序發送的PVA長度從單字改為雙字,就能與Danfoss變頻器正常通訊了。而且由于Siemens Micro Master變頻器能識別雙字PVA,所以改動后的程序不影響S7-200 PLC與SIEMENS變頻器之間的通訊。
?