PROFIBUS現(xiàn)場(chǎng)總線中數(shù)據(jù)連續(xù)交換的實(shí)現(xiàn)
PROFIBUS現(xiàn)場(chǎng)總線中數(shù)據(jù)連續(xù)交換的實(shí)現(xiàn)
PROFUBUS協(xié)議采用了ISO/OSI模型中的第1層、第2層以及必要時(shí)還采用了第7層。第1層和第2層的導(dǎo)線和傳輸協(xié)議依據(jù)美國標(biāo)準(zhǔn)EIARS485、國際 標(biāo)準(zhǔn)iec870-5-1和歐洲標(biāo)準(zhǔn)EN60870-5-1。PROFUBS-DP使用了第1層、第2層和用戶接口層,第3~7層未使用,這種精簡(jiǎn)的結(jié)構(gòu)確保了高速數(shù)據(jù)傳 輸。直接數(shù)據(jù)鏈路映像程序(DDLM)提供對(duì)第2層的訪問,在用戶接口中規(guī)定了PROFIBUS-DP設(shè)備的應(yīng)用功能以及各種類型的系統(tǒng)和設(shè)備的行為特性。這種為高速傳輸用戶數(shù)據(jù)而優(yōu)化的PROFBUS協(xié)議,特別適用于可編程控制器與現(xiàn)場(chǎng)級(jí)分散的I/O設(shè)備之間的通信。用戶程序?qū)ΥB接到SIMATICS7系統(tǒng)的分散I/O視同這些輸入和輸出被本地連接在中央機(jī)架或擴(kuò)展機(jī)架中一樣。與DP從站的數(shù)據(jù)通信是通過CPU的過程映像輸入和輸入表或由用戶程序中的直接I/O存取命令來處理。由于PROFIBUS網(wǎng)絡(luò)頻繁地使用多于 4 B數(shù)據(jù)結(jié)構(gòu)的相連續(xù)的數(shù)據(jù)區(qū)域,因此,與具有復(fù)雜功能和復(fù)雜數(shù)據(jù)結(jié)構(gòu)的DP從站的數(shù)據(jù)通信不能由用戶程序中的簡(jiǎn)單I/O存取命令來處理。
SIMATICS7系統(tǒng)提供特殊的系統(tǒng)功能用于與這類DP從站的通信。這就是系統(tǒng)功能SFC14DPRD_DAT和SFC15DPWR_DAT。功能調(diào)用圖如圖1所示。
工作原理 SFC的參數(shù)LADDR是一個(gè)指針,他指向要讀出的輸入數(shù)據(jù)區(qū)或指向要寫入的輸出數(shù)據(jù)區(qū)域。在SFC參數(shù)中,DP從站的輸入或輸出模塊的起始地址必須與早先用HWConfig程序組態(tài)時(shí)規(guī)定的地址相同,而且這些地址用十六進(jìn)制數(shù)表示。SFC的參數(shù)RECORD為CPU上的數(shù)據(jù)定義相關(guān)的源或止的區(qū)域,對(duì)于輸入和輸出的描述如表1和表2所示。
實(shí)例項(xiàng)目 下面的實(shí)例項(xiàng)目解釋SFC14和SFC15的使用。實(shí)例中所使用的硬件(S7-300/CPU315-2DP)作為I從站),但此項(xiàng)目限于一個(gè)S7DP主站(S7- 300)和一個(gè)I從站(S7- 300)用合適的PROFIBUS電纜將2個(gè)S7- 300的DP接口彼此連接,并接通設(shè)備的電源。
從站的2個(gè)連續(xù)的輸入/輸出數(shù)據(jù)區(qū)域每個(gè)都有10 B,且參數(shù)“Consistency”設(shè)置為“TotalLength”。這就是說,在I從站上和DP主站的輸入/輸出數(shù)據(jù)通信必須使用系統(tǒng)功能SFC14和SFC15。用SFC14和SFC15進(jìn)行大于4 B的存取如圖2所示。
二、系統(tǒng)配置
1、系統(tǒng)硬件配置
工控機(jī)2臺(tái)分別與主/從站相連,進(jìn)行上位監(jiān)控及上傳程序。
主站S7- 300 CPU315/2DP,SM331,SM334,F(xiàn)M350,CP343-1。
從站S7- 300 CPU315/2DP,SM331,SM334, FM350。
2、系統(tǒng)軟件配置
(1)用于主/從站的用戶程序
因?yàn)镾IMATICS7-300控制器的CPU不識(shí)別編址錯(cuò)誤,因此對(duì)于CPU315/2DP可以將用SFC發(fā)送的I/O數(shù)據(jù)放在另外的未被占用的過程映像區(qū)域中,例如可以用IB100~I(xiàn)B109和QB100~QB109。因此在用戶程序中,就可以用簡(jiǎn)單的位、字節(jié)、字和雙字指令來編址這個(gè)數(shù)據(jù)。
為了能容易監(jiān)視DP主站上的數(shù)據(jù)通信,用適當(dāng)?shù)难b載和傳送指令將所接收的第1個(gè)數(shù)據(jù)字節(jié)(IB100)轉(zhuǎn)送到要被發(fā)送的第1個(gè)數(shù)據(jù)字節(jié)(QB100)。此后,將拷貝來的從站輸入數(shù)據(jù)區(qū)域的由DP主站發(fā)送的第1個(gè)數(shù)據(jù)字節(jié)立刻返回到從站的輸出數(shù)據(jù)區(qū)域,然后返回DP主站。
從站程序如下:
(2)測(cè)試DP主站和從站的數(shù)據(jù)交換
為了測(cè)試輸入/輸出數(shù)據(jù)的交換,對(duì)此項(xiàng)目選擇在線查看。在SIMATICManager中,選擇View→online。確保PG/PC與主/從站CPU之間的MPI電纜連接正確。選擇PLC→MONITOR/MODIFYVARIABLES,輸入需要監(jiān)視的變量,就可以在線觀察,并且可以打開主從站同時(shí)觀察。如圖3所示。
三、結(jié)束語
在本系統(tǒng)中需要注意的是,為了避免因不存在診斷和出錯(cuò)OB而使DP主站CPU進(jìn)入STOP,應(yīng)在DP主站CPU上建立OB82和OB86。使用數(shù)據(jù)塊DB10和DB20作為I從站的輸入/輸出數(shù)據(jù)的數(shù)據(jù)區(qū)域。要保證有足夠的空間用于這些DB塊。