西門(mén)子6SN1145電源燈全不亮加不上使能維修
數(shù)據(jù)的*性
數(shù)據(jù)的*性( Consistency)又稱(chēng)為連續(xù)性。通信塊被執(zhí)行、通信數(shù)據(jù)被傳送的過(guò)程如果被一個(gè)更高優(yōu)先級(jí)的OB塊中斷,將會(huì)使傳送的數(shù)據(jù)不*(不連續(xù))。即被傳輸?shù)臄?shù)據(jù)一部分來(lái)自硬件中斷之前,一部分來(lái)自硬件中斷之后,因此這些數(shù)據(jù)是不連續(xù)的。
在通信中,有的從站用來(lái)實(shí)現(xiàn)復(fù)雜的控制功能,例如模擬量閉環(huán)控制或電氣傳動(dòng)等。從站與主站之間需要同步傳送比字節(jié)、字和雙字更大的數(shù)據(jù)區(qū),這樣的數(shù)據(jù)稱(chēng)為*性數(shù)據(jù)??梢杂孟到y(tǒng)功能SFC 14“DPRD_DAT”和SFC 15“DPWR_DAT”來(lái)訪問(wèn)要求具有*性的數(shù)據(jù)。
2.項(xiàng)目實(shí)例
在STEP 7中生成一個(gè)項(xiàng)目(見(jiàn)隨書(shū)光盤(pán)中的例程PB_MS_3),CPU 413- 2DP是S7 DP主站,CPU 315- 2DP是智能DP從站。主站和從站的組態(tài)與前面的項(xiàng)目PB_MS_2基本上相同,數(shù)據(jù)長(zhǎng)度為20B。其區(qū)別在于組態(tài)參數(shù)“*性”(見(jiàn)圖7-33)為“全部”,因此需要在用戶(hù)程序中調(diào)用SFC 15“DPWR_DAT”,將數(shù)據(jù)“打包”后發(fā)送;調(diào)用SFC 14“DPRD_DAT”,將接收到的數(shù)據(jù)“解包”??梢詡魉偷臄?shù)據(jù)長(zhǎng)度與CPU的型號(hào)有關(guān),SFC的參數(shù)中的地址區(qū)和長(zhǎng)度應(yīng)與組態(tài)的參數(shù)*。SFC 15“DPWR_DAT”用于將RECORD的連續(xù)數(shù)據(jù)傳送到DP從站,如果從站是模塊式結(jié)構(gòu),每次調(diào)用SFC 14或SFC 15只能訪問(wèn)一個(gè)模塊。
在主站和從站中分別生成數(shù)據(jù)塊DB l和DB 2,用數(shù)組定義數(shù)據(jù)塊的大小。
DP主站用SFC 15發(fā)送的輸出數(shù)據(jù)被智能從站用SFC 14讀出,并作為其輸入數(shù)據(jù)保存。反之也適用于智能從站發(fā)送給主站的數(shù)據(jù)的處理。
DP主站和智能從站OB1中的用戶(hù)程序基本上相同,下面是主站OB1中的程序:
程序段1:解開(kāi)IB100~IB119中的數(shù)據(jù)包,并將數(shù)據(jù)存放在DB 2的前20個(gè)字節(jié)中
CALL "DPRD_DAT” //SFC 14
LADDR :=W#16#64 //接收通信數(shù)據(jù)的輸入過(guò)程映像區(qū)起始地址IB100
RET_VAL :=MW2 //錯(cuò)誤代碼
RECORD := P#DB2.DBX0.0 BYTE 20 //存放讀取的用戶(hù)數(shù)據(jù)的目的數(shù)據(jù)區(qū)
L DB2.DBW2
T QW 0 //用對(duì)方的IW0控制本站的QW0

程序段2:將DB 1的前20個(gè)字節(jié)的數(shù)據(jù)打包,通過(guò)QB100~ QB119發(fā)送出去
L IW 0
T DB1.DBW 2 //用本站的IW0控制對(duì)方的QW4
CALL "DPWR_DAT” //SFC 15
LADDR :=W#16#64 //輸出映像區(qū)的起始地址QB100
RECORD :=P#DB1.DBX0.0 BYTE 20 //存放要發(fā)送的用戶(hù)數(shù)據(jù)的源數(shù)據(jù)區(qū)
RET_VAL := MW4 //錯(cuò)誤代碼
為了動(dòng)態(tài)地觀察通信的數(shù)據(jù),在雙方的OB35中將DB1. DBW0加1。圖7-37給出了通信雙方的信號(hào)關(guān)系圖。
圖7-37 DP主站與智能從站的通信
1.生成DP智能從站
可以將自動(dòng)化任務(wù)劃分為用多臺(tái)PLC控制的若干個(gè)子任務(wù),這些子任務(wù)分別用幾PU獨(dú)立和有效地進(jìn)行處理,這些CPU在DP網(wǎng)絡(luò)中作DP主站的智能從站。
DP主站不是直接訪問(wèn)智能從站的物理I/O區(qū),而是通過(guò)從站組態(tài)時(shí)的通信雙方的I/O區(qū)來(lái)交換數(shù)據(jù)。
主站與從站之間的數(shù)據(jù)交換是由PLC的操作系統(tǒng)周期性自動(dòng)完成的,不需要用戶(hù)編程,但是用戶(hù)必須對(duì)主站和智能從站之間的通信連接和數(shù)據(jù)交換區(qū)組態(tài)。這種通信方式稱(chēng)為主/從( Master/Slave)通信方式,簡(jiǎn)稱(chēng)為MS方式。
在STEP 7中創(chuàng)建一個(gè)項(xiàng)目(見(jiàn)隨書(shū)光盤(pán)中的例程PB_MS_2),CPU為CPU 413- 2DP。
用鼠標(biāo)右鍵點(diǎn)擊SIMATIC管理器屏幕左邊上面的項(xiàng)目對(duì)象,在打開(kāi)的快捷菜單中選擇命令“插入新對(duì)象”→“SIMATIC 300站點(diǎn)”,插入新的站。選中新站后,雙擊“硬件”圖標(biāo),對(duì)該站的硬件組態(tài)。首先生成該站的機(jī)架,將CPU 315- 2DP模塊插入2號(hào)槽,電源模塊插入1號(hào)槽,信號(hào)模塊插入4~8號(hào)槽。
將CPU放到機(jī)架上時(shí),將會(huì)自動(dòng)打開(kāi)DP接口屬性對(duì)話框的“參數(shù)”選項(xiàng)卡。設(shè)置PROFIBUS站地址為4,不連接到PROFIBUS(1)子網(wǎng)絡(luò)。點(diǎn)擊“確定”按鈕返回HW Config。雙擊CPU中DP所在的行,打開(kāi)DP屬性對(duì)話框。在“工作模式”選項(xiàng)卡將該站設(shè)置為DP從站,點(diǎn)擊“確定”按鈕確認(rèn)。在“HW Config”中保存對(duì)S7-300站的組態(tài)。因?yàn)榇藭r(shí)還沒(méi)有將從站連接到DP網(wǎng)絡(luò)上,還不能成功地編譯S7-300的硬件組態(tài)信息。
不是所以的CPU都能作DP從站,具體的情況可以查閱有關(guān)的手冊(cè)或產(chǎn)品樣本。在HW Config的硬件目錄窗口下面,可以看到對(duì)選中的硬件的簡(jiǎn)要介紹。
2.將智能DP從站連接到DP主站系統(tǒng)
選中SIMATIC管理器中的S7- 400站,雙擊右邊窗口的“硬件”圖標(biāo),打開(kāi)HW Config,組態(tài)S7- 400站的硬件(見(jiàn)圖7-31),生成一個(gè)DP子網(wǎng)絡(luò)。

打開(kāi)右邊的硬件目錄窗口中的“\PROFIBUS DP\Configured Stations”(已組態(tài)的站)文件夾,將其中的“CPU 31x”拖放到屏幕左上方的PROFIBUS網(wǎng)絡(luò)線上。“DP從站屬性”對(duì)話框的“連接”選項(xiàng)卡(見(jiàn)圖7-32)被自動(dòng)打開(kāi),選中列表框中的“CPU 315- 2DP”,點(diǎn)擊“連接”按鈕,該站被連接到DP網(wǎng)絡(luò)中。連接好后”斷開(kāi)連接”按鈕上的字符由灰色變?yōu)楹谏?。點(diǎn)擊該按鈕,可將從站從網(wǎng)絡(luò)上斷開(kāi)。
3.主站與智能從站主從通信的組態(tài)
DP從站屬性對(duì)話框中的“組態(tài)”選項(xiàng)卡用于為主一從通信配置通信雙方的輸入/輸出區(qū)地址(見(jiàn)圖7-33)。
點(diǎn)擊圖中的“新建”按鈕,出現(xiàn)“DP從站屬性一組態(tài).行1”對(duì)話框。點(diǎn)擊“編輯”按鈕,可以編輯選中的行,點(diǎn)擊“刪除”按鈕,可以刪除選中的行。
可以用“組態(tài)”對(duì)話框上部的“模式”列表框選擇“MS”(主從)或“DX”(直接數(shù)字交換)模式。每次可以設(shè)置智能從站與主站一個(gè)方向的通信使用的I/O地址區(qū)。設(shè)置好后點(diǎn)擊“確定”鍵,返回DP從站屬性對(duì)話框的“組態(tài)”選項(xiàng)卡。
組態(tài)的通信雙方使用的輸入/輸出區(qū)起始字節(jié)地址均為100(IB100和QB100),并不要求一定要將它們的地址設(shè)置得相同。它們不能與實(shí)際硬件占用的過(guò)程映像輸入/輸出區(qū)(包括主站的I/Q地址區(qū)和非智能從站的I/Q地址區(qū))重疊。
4.智能從站與主站通信的編程
在主站和從站中分別生成數(shù)據(jù)塊DB 1和DB 2,用數(shù)組定義數(shù)據(jù)塊的大小。
在DP從站屬性對(duì)話框的“組態(tài)”選項(xiàng)卡中設(shè)置的輸入/輸出地址區(qū),實(shí)際上是通信用的緩沖區(qū),雙方的用戶(hù)程序?qū)⑿枰l(fā)送的數(shù)據(jù)傳送到組態(tài)時(shí)設(shè)置的本站的輸出區(qū),將設(shè)置的本站輸入?yún)^(qū)中接收到的數(shù)據(jù)傳送到需要的站內(nèi)的地址。
圖7-34給出了例程中主站與從站之間的數(shù)據(jù)傳送關(guān)系。
圖7-34 變量的傳送關(guān)系
下面是CPU 413- 2DP的081中的程序,CPU 315- 2DP的用戶(hù)程序與CPU 413- 2DP的基本上相同。
程序段1:要發(fā)送的部分?jǐn)?shù)據(jù)傳送到發(fā)送用的輸出區(qū)
OPN DB 1
L DBW 0
T QW 100 //動(dòng)態(tài)變化的DB1.DBW0傳送到發(fā)送緩沖區(qū)首字
L IW 0
T QW 102 //用本站的IW0控制對(duì)方的QW4
L DBW 18
T QW 118 //DB1.DBW18傳送到發(fā)送緩沖區(qū)后一個(gè)字

程序段2:將輸入?yún)^(qū)中接收到的數(shù)據(jù)傳送到需要的地址
OPN DB 2
L IW 100 //接收到的通信伙伴的DB1.DBW0
T DBW 0 //送本地的DB2.DBW0
L IW 102
T QW 0 //用對(duì)方的IW0控制本站的QW0
L IW 118 //接收到的通信伙伴的DB1. DBW18
T DBW 18 //送本地的DB2.DBW18
下面是CPU 413- 2DP的OB35中的程序,每100ms將DB1. DBW0加1。
L DB1.DBW 0
+ 1
T DB1.DBW 0
5.通信過(guò)程的監(jiān)控
用電纜連接兩塊CPU集成的MPI通信接口和計(jì)算機(jī)上的CP 5613的MPI接口,將用戶(hù)程序和組態(tài)信息下載到兩臺(tái)PLC。用電纜連接兩塊CPU集成的DP接口,將CPU切換到RUN模式。同時(shí)打開(kāi)CPU 315- 2DP和CPU 413- 2DP的變量表,將它們的窗口縮小。
圖7-35和圖7-36是同時(shí)看到的兩臺(tái)PLC與通信有關(guān)的變量,由于兩臺(tái)CPU的DB1.DBW0分別送到對(duì)方的DB2. DBW0,可以看到它們基本上分別同步變化。在變量表中修改DB 1的數(shù)據(jù),可以看到通信伙伴的DB 2中對(duì)應(yīng)的數(shù)據(jù)隨之變化。
6.與DP從站有關(guān)的中斷的處理
(1)診斷中斷(OB82)
具有診斷功能的分布式I/O模塊通過(guò)產(chǎn)生診斷中斷來(lái)報(bào)告事件,例如部分節(jié)點(diǎn)故障、信號(hào)模塊導(dǎo)線斷開(kāi)、線路短路、模擬量模塊的電源故障等。當(dāng)DP主站的CPU從RUN模式切換到STOP模式時(shí),智能從站將調(diào)用組織塊OB82(診斷中斷)。產(chǎn)生診斷中斷時(shí),CPU的操作系統(tǒng)將調(diào)用處理診斷中斷的組織塊OB82。
(2)優(yōu)先級(jí)錯(cuò)誤中斷(OB85)
在以下情況下將會(huì)觸發(fā)優(yōu)先級(jí)錯(cuò)誤中斷:
1)產(chǎn)生了一個(gè)中斷事件,但是對(duì)應(yīng)的OB塊沒(méi)有下載到CPU。
2)訪問(wèn)一個(gè)系統(tǒng)功能塊的背景數(shù)據(jù)塊時(shí)出錯(cuò)。
3)刷新過(guò)程映像表時(shí)I/O訪問(wèn)出錯(cuò),模塊不存在或有故障。
出現(xiàn)故障的DP從站的輸入/輸出值裝入S7 CPU的過(guò)程映像表時(shí),就可能發(fā)生上述情況。
(3)機(jī)架故障中斷(OB86)
如果DP從站由于掉電、總線導(dǎo)線斷開(kāi)或某些其他原因引起故障,CPU的操作系統(tǒng)將調(diào)用組織塊OB86(機(jī)架故障)。故障出現(xiàn)和消失時(shí)都將調(diào)用OB86。
(4) I/O訪問(wèn)錯(cuò)誤中斷(OB122)
CPU訪問(wèn)有故障的I/O模塊、不存在的或有故障的DP從站的輸入/輸出數(shù)據(jù),或者訪問(wèn)了一個(gè)CPU不能識(shí)別的I/O地址,此時(shí)CPU的操作系統(tǒng)將會(huì)調(diào)用OB122。
在DP從站出現(xiàn)故障時(shí),如果沒(méi)有下載上述對(duì)應(yīng)的組織塊,CPU將切換到STOP狀態(tài)。
生成和下載OB82、OB85、OB86和OB122后,即使沒(méi)有在模塊中編寫(xiě)任何程序,在DP從站出現(xiàn)上述故障時(shí),CPU也不會(huì)進(jìn)入STOP模式。當(dāng)然在中斷程序中編寫(xiě)記錄和處理故障的程序,以便在出現(xiàn)故障時(shí),迅速地查明故障的原因和采取相應(yīng)的措施。

西門(mén)子6SN1145電源燈全不亮加不上使能維修