西門子 S7-200系列變頻器是自控市場上有重要地位的PLC,Siemens公司為S7-200PLC專門編寫了USS4通訊子程序,用于與Siemens自己的MicroMaster系列變頻器通訊。由于USS協(xié)議與Danfoss丹佛斯 RS485通訊協(xié)議非常相似,所以只要作很小的改動就能使Siemens的USS4通訊子程序?qū)崿F(xiàn)S7-200 PLC與丹佛斯 FC300、VLT2800、2900,5000系列變頻器的通訊控制。
一、硬件接線:
接線對照表如下:

RS485 P和RS485 N兩根通訊線應該使用屏蔽雙絞線,屏蔽層在Danfoss變頻器側(cè)壓接地;如果通訊干擾很厲害,可以將PLC和變頻器的RS485通訊口的地連接在一起,常有奇效。
二、USS協(xié)議與Danfoss RS485通訊禎格式對照比較:
SIEMENS USS通訊協(xié)議完全說明可以從support.automation.siemens.com網(wǎng)站上下載。下面只作簡要說明。
1.通訊速率:
- USS協(xié)議的波特率為300,600,1200,2400,4800,9600,19200,38400,57600,76800,93750,115200,187500;
- S7-200 USS4通訊子程序支持的波特率為1200,2400,4800,9600,19200;
- 以Danfoss FC300以例, RS485通訊協(xié)議支持的波特率為2400,4800,9600,19200,38400,115200;
- 上海津信建議使用Danfoss的出廠默認值9600 Bd。
2.起始位、數(shù)據(jù)長度、校驗位、停止位:
USS協(xié)議的起始位為1位,數(shù)據(jù)長度為8位,校驗為偶校驗,停止位為1位,與Danfoss RS485通訊協(xié)議的規(guī)定完全相同。

三、USS協(xié)議與Danfoss RS485通訊協(xié)議報文格式對照比較:
S7-200 USS4通訊子程序支持的USS協(xié)議報文格式如下:

首先說明,USS協(xié)議的報文框架結(jié)構(gòu)與Danfoss RS485通訊協(xié)議的完全相同,下面就其具體定義進行比較:
1. 起始字符:
USS協(xié)議的起始字符為ASCII字符STX (02HEX),與Danfoss RS485通訊協(xié)議相同。
2. 數(shù)據(jù)長度LGE:
USS協(xié)議的數(shù)據(jù)長度是指LGE后面所跟的字節(jié)數(shù),此定義與Danfoss RS485通訊協(xié)議相同。
3. 從站地址ADR:
USS協(xié)議的從站地址定義為RS485標準格式,Danfoss RS485通訊協(xié)議也支持RS485標準地址格式(Danfoss自定義的專用地址格式就不能用了)。
4. 校驗碼BCC:
USS協(xié)議的校驗碼是報文中BCC校驗碼前面所有字節(jié)作“異或”運算的結(jié)果,與Danfoss RS485通訊協(xié)議的定義相同。
5. 過程數(shù)據(jù)區(qū):
雖然USS協(xié)議支持n個PCD過程數(shù)據(jù)字,但是S7-200 USS4子程序只支持2個PCD,因此過程數(shù)據(jù)區(qū)的長度與Danfoss RS485通訊協(xié)議的定義相同。
6. 過程數(shù)據(jù)區(qū)的PCD1:
USS協(xié)議定義PCD1為控制字/狀態(tài)字,與Danfoss RS485通訊協(xié)議相同,只是控制字/狀態(tài)字的位功能定義不同。
7. 過程數(shù)據(jù)區(qū)的PCD2:
USS協(xié)議定義PCD2為主設定值/主實際值,與Danfoss RS485通訊協(xié)議相同;Siemens此數(shù)據(jù)有兩種規(guī)格化方式,其一為16進制4000HEX對應100%,與Danfoss定義相同;另一種規(guī)格化方式為“絕對值”方式,16進制4000HEX為16384,對應163.84Hz,與Danfoss定義不同。
8. 參數(shù)命令數(shù)據(jù)區(qū)的參數(shù)特征字PCA:

- 位0-10,對應參數(shù)號的b0-b10位,USS協(xié)議的定義與Danfoss的相同。
- 位11,雖然USS協(xié)議中定義為參數(shù)變動自發(fā)信息,但S7-200 USS4通訊子程序沒用到,因此與Danfoss的定義也就相同了,填入0。
- 位12-15,任務標識表,主機發(fā)給從機時:

- 位12-15,任務標識表,從機應答主機時:

- S7-200 USS4通訊子程序中用到的任務標識與Danfoss的定義相同。
9. 參數(shù)命令數(shù)據(jù)區(qū)的索引IND:
USS協(xié)議將此字的12-15位定義為擴展參數(shù)號,單對于Danfoss變頻器而言,暫時還用不到擴展參數(shù)號,填入0。
其余位USS4通訊子程序中的定義與Danfoss的相同。
10. 參數(shù)命令數(shù)據(jù)區(qū)的參數(shù)值PVA(PWE):
USS協(xié)議主站發(fā)送命令時參數(shù)值PVA可以為1個字或2個字,而Danfoss RS485通訊協(xié)議固定為2個字,這是一個關鍵差異。接收時,無論單字還是雙字PVA,USS4通訊子程序都能正常接收。
四、USS協(xié)議與Danfoss VLT變頻器通訊需要做的改動:
綜上所述,S7-200 PLC USS4通訊子程序與Danfoss RS485通訊協(xié)議其實只有一個地方不兼容:USS4中有的通訊命令報文格式的參數(shù)值PVA是單字長度,而Danfoss要求固定長度雙字。
為了保持程序的通用性,我們盡量做最小的程序改動。
分析S7-200 USS4通訊子程序,總共由17個子程序構(gòu)成,其中Danfoss VLT變頻器要用的,涉及參數(shù)值PVA,并且PVA長度只有單字的子程序其實只有2個:
- USS4_DRV_CTRL,控制字及總線給定子程序
- USS_RPM,讀參數(shù)子程序
將這2個子程序發(fā)送的PVA長度從單字改為雙字,就能與Danfoss變頻器正常通訊了。而且由于Siemens Micro Master變頻器能識別雙字PVA,所以改動后的程序不影響S7-200 PLC與SIEMENS變頻器之間的通訊。