西門子S7-400模塊6ES7416-2FN05-0AB0


問:兩臺314-2DP,怎么把主站的REAL數(shù)據(jù)傳到從站去?例如,主站MD100里數(shù)據(jù)我通過觸摸屏輸入是1.5,把MD100通過MOVE傳送到QD50,主站QD50對應(yīng)從站ID50,怎么在從站里完整的讀到1.5,放到從站MD80里面?
問題補(bǔ)充:還有一問題,我主站上帶觸摸屏,從站也帶觸摸屏,主站與從站配置都*一樣,包括觸摸屏,目的就是控制一臺電機(jī)正反轉(zhuǎn),來控制閘門上升下降,那我在從站那里可以輸入預(yù)置高度1.5米,動了以后再在主站里預(yù)置1.9米,也動。當(dāng)我再在從站輸入預(yù)置高度時(shí)一直是主站給的數(shù)據(jù)了,請問,怎么來規(guī)避這個(gè)問題呢?就是對同一個(gè)MD120通過兩個(gè)觸摸屏都能設(shè)置,而又不相互影響,再怎么輸入都是后一次在觸摸屏上輸入有效,不管哪個(gè)觸摸屏。
答:實(shí)現(xiàn)Profibus主從站之間的MS通訊
通過圖解,說明2個(gè)CPU之間通過Profibus實(shí)現(xiàn)主從站之間的MS通訊。這個(gè)例子是結(jié)合某現(xiàn)場的實(shí)際情況來的,實(shí)際情況是在2套300系統(tǒng)之間進(jìn)行數(shù)據(jù)通訊,由于每個(gè)CPU300都帶有ET200M從站,所以317的主DP口和315的DP口都只能是主站而不能配置為從站。并且2套系統(tǒng)之間距離較遠(yuǎn),MPI不行,于是就利用了317的MPI/DP口配置成DP口來和315通訊。
1.首先,在STEP7中新建一個(gè)Project,分別插入2個(gè)S7-300站。
這里我們插入的一個(gè)CPU315-2DP,作為主站;一個(gè)CUP317-2作為從站,并且使用317-2的*個(gè)端口MPI/DP端口配置成DP口來實(shí)現(xiàn)和315-2DP的通訊。然后分別對每個(gè)站進(jìn)行硬件組態(tài):首先對從站CPU317-2進(jìn)行組態(tài):將317的*個(gè)端口MPI/DP端口組態(tài)為PROFIBUS類型,并且創(chuàng)建一個(gè)不同于CPU自帶DP口的PROFIBUS網(wǎng)絡(luò),設(shè)定地址。在操作模式頁面中,將其設(shè)置為DPSLAVE模式,并且選擇“Test,commissioning,routing”,是將此端口設(shè)置為可以通過PG/PC在這個(gè)端口上對CPU進(jìn)行監(jiān)控,以便于我們在通訊鏈路上進(jìn)行程序監(jiān)控。下面的地址用默認(rèn)值即可。
然后選擇Configuration頁面,創(chuàng)建數(shù)據(jù)交換映射區(qū)。這里我們創(chuàng)建了2個(gè)映射區(qū),圖中的紅色框選區(qū)域在創(chuàng)建時(shí)是灰色的,包括上面的圖中的Partner部分創(chuàng)建時(shí)也是空的,在主站組態(tài)完畢并編譯后,才會出現(xiàn)圖中所示的狀態(tài)。由于我們這里只是演示程序,所以創(chuàng)建的交換區(qū)域較小。組態(tài)從站之后,再組態(tài)主站。插入CPU時(shí),不需要創(chuàng)建新的PROFIBUS網(wǎng)絡(luò),選擇從站建立的第二條(也就是準(zhǔn)備用來進(jìn)行通訊的MPI/DP端口創(chuàng)建的那條)PROFIBUS網(wǎng)絡(luò)即可。組態(tài)好其它硬件,確認(rèn)CPU的DP口處于主站模式,從窗口右側(cè)的硬件列表中的已組態(tài)的站點(diǎn)中選擇CPU31X,拖放到主站的PROFIBUS總線上,
這時(shí)會彈出鏈接窗口,選擇以組態(tài)的從站,點(diǎn)擊Connect按鈕,然后進(jìn)入Configuration頁面,可以看到前面在從站中設(shè)定的映射區(qū)域,逐條進(jìn)行編輯(Edit…),確認(rèn)主從站之間的對應(yīng)關(guān)系。主站的輸入對應(yīng)從站的輸出,主站的輸出對應(yīng)從站的輸入。至此,硬件的組態(tài)完成,將各個(gè)站的組態(tài)信息下載到各自的CPU中。通過NetPro可以看到整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)圖。
2.編寫程序。
硬件組態(tài)完畢,下載,PLC運(yùn)行之后,數(shù)據(jù)并不會自動交換。需要通過程序來執(zhí)行。在組態(tài)中,input和output區(qū)域,也并不是實(shí)際硬件組態(tài)中的硬件地址,也就是說,input和output并不代表I/O模塊的地址和數(shù)據(jù)。但是映射區(qū)域組態(tài)用到的input和output地址,同時(shí)也占用了I/O模塊的組態(tài)地址,就是說,映射區(qū)的地址和I/O地址是并行的,不能重復(fù)使用。所以好在硬件的I/O模塊全部組態(tài)完畢之后再組態(tài)映射區(qū)。
映射區(qū)的數(shù)據(jù)交換是通過系統(tǒng)功能塊SFC14(DPRD_DAT——ReadConsistentDataofaStandardDPSlave)和SFC15(DPWR_DAT——WriteConsistentDatatoaStandardDPSlave)實(shí)現(xiàn)的。SFC14和SFC15是成對使用的,一個(gè)發(fā)送一個(gè)接收,缺一不可。數(shù)據(jù)的通訊也是交互的,可以相互交換數(shù)據(jù)。本例中,我們通過簡單的數(shù)據(jù)來驗(yàn)證通訊結(jié)果。
首先,我們在程序中插入數(shù)據(jù)區(qū)DB1,前面我們只建立了2個(gè)字(2Word)的映射區(qū),于是我們建立如下內(nèi)容的DB1,為了查看的方便,DB1的前半部分作為接收數(shù)據(jù)的存儲區(qū),后半部分用作發(fā)送數(shù)據(jù)的存儲區(qū)。在317和315中我們插入同樣的DB1,然后分別在OB1中編寫通訊程序。其中,程序的LADDR地址,對應(yīng)的是硬件的映射區(qū)組態(tài)時(shí)本站的LocalAddr中的地址,從站的LocalAddr我們組態(tài)的是0,對應(yīng)的PartnerAddr也就是主站的地址是4。需要注意的是這里的地址是需要用16進(jìn)制的格式來表示的,我們組態(tài)時(shí)是用10進(jìn)制表示的。
完成之后,我們在各站中插入OB82、OB86、OB122等程序塊,這些是為了保證當(dāng)通訊的一方掉電時(shí),不會導(dǎo)致另一方的停機(jī)。完成之后,將所有的程序分別下載到各自的CPU中,個(gè)站切換到運(yùn)行狀態(tài),通過PLC監(jiān)控功能,設(shè)定數(shù)據(jù)之后,我們監(jiān)控的結(jié)果如下:上面的表格內(nèi)容為主站315的數(shù)據(jù),下面的是從站317的數(shù)據(jù)??梢钥吹?,兩個(gè)站都分別將各自的DBB4—DBB7數(shù)據(jù)發(fā)送出去并被另一方成功接收后存儲在各自的DBB0—DBB3中。驗(yàn)證中,我們將一個(gè)站的CPU切換到STOP狀態(tài),可以看到,另一個(gè)站的CPU硬件SF指示燈報(bào)警,但PLC正常運(yùn)行不停機(jī)。待該站恢復(fù)之后,報(bào)警自動消失。
擴(kuò)展問題:在一個(gè)站的CPU掉站之后,另一個(gè)站的接收數(shù)據(jù)區(qū)顯示的仍然是后一次接收到的數(shù)據(jù),并且,即使在這種狀態(tài)下,居然仍然無法修改該數(shù)據(jù)區(qū)內(nèi)容。這樣就存在一個(gè)問題,當(dāng)前站需要知道當(dāng)前接收數(shù)據(jù)存儲區(qū)的內(nèi)容是否是實(shí)時(shí)的數(shù)據(jù)。如何判斷。
大概思路:
方法1,用以前的方法,在每個(gè)數(shù)據(jù)接收周期開始前,將已接收數(shù)據(jù)清空。這樣當(dāng)接收周期內(nèi)接收不到新的數(shù)據(jù)時(shí),就可以察覺到。但是問題是,SFC14和SFC15沒有接收是否完成、是否成功等標(biāo)識位,并且,在接收不到新的數(shù)據(jù)時(shí),原有數(shù)據(jù)不能修改。此方法不通。
方法2,通過別的方式方法檢測兩個(gè)站之間的通訊狀態(tài)。在SIEMENS的文檔中,有這樣的描述:主站:主站掌握總線中數(shù)據(jù)流的控制權(quán)。只要它擁有訪問總線權(quán)(令牌),主站就可在沒有外部請求的情況下發(fā)送信息。在PROFIBUS協(xié)議中,主站也被稱作主動節(jié)點(diǎn)。從站:從站是簡單的輸入、輸出設(shè)備。典型的從站為傳感器,執(zhí)行器以及變頻器。從站也可為智能從站,入S7-300/400帶集成口的CPU等。從站不會擁有總線的訪問*。從站只能確認(rèn)收到的信息或者在主站的請求下發(fā)送信息。從站也被稱作被動節(jié)點(diǎn)。另外,SIEMENS對SFC14/15的描述也分別是:用于讀取Profibus從站的數(shù)據(jù)/用于將數(shù)據(jù)寫入Profibus從站。
西門子S7-400模塊6ES7416-2FN05-0AB0


如果需要將STEP 7 V5.x項(xiàng)目移植到STEP 7專業(yè)版(TIA博圖),必須滿足以下軟件需求。
1.軟件需求
在希望執(zhí)行項(xiàng)目移植的計(jì)算機(jī)上,以下軟件必須安裝
STEP 7 專業(yè)版(TIA 博途) V11或更高版本
STEP 7 V5.4+SP5或更高版本及相關(guān)許可證
被移植項(xiàng)目中使用的 STEP 7選項(xiàng)包也必須安裝
2.項(xiàng)目*性
一個(gè)完整的STEP 7 V5.x項(xiàng)目(包括S7程序,硬件和網(wǎng)絡(luò)組態(tài))必須是*的。每種情況下執(zhí)行檢查*性的相應(yīng)功能,以便檢查并保證*性。更多*性檢查的信息參考如下條目,ID: 5416540,也可參閱 STEP 7 V5.x 的相關(guān)幫助。
在STEP 7 V5.x的SIMATIC Manager中可以在程序文件夾下只存儲程序(沒有CPU)。*性程序移植之后在STEP 7(TIA Portal)中會創(chuàng)建一個(gè)非的CPU。
注意
執(zhí)行塊*性檢查會導(dǎo)致工藝對象 (例如 PID 功能塊) 的背景 DB 中的變量恢復(fù)缺省值。 帶配方的數(shù)據(jù)塊也會出現(xiàn)這種情況。建議采取下列的補(bǔ)救措施:
在進(jìn)行塊*性檢查前備份背景數(shù)據(jù)塊,之后再將備份的數(shù)據(jù)塊拷貝到原文件夾。
不使用塊*性檢查恢復(fù)塊的*性。生成一個(gè)新的背景 DB,然后復(fù)制所有數(shù)據(jù)從舊的(不*的)背景 DB 到新的(*性的)背景 DB。
對于早期 STEP7版本編譯的項(xiàng)目
如果需要移植早期STEP7版本(例如V5.3)項(xiàng)目到STEP7專業(yè)版(TIA博途),必須在STEP7 V5.4+SP5(或更高版本)中重新編譯項(xiàng)目。
3. 硬件組件
默認(rèn)移植過程中只移植軟件,并為原項(xiàng)目中的每個(gè)設(shè)備在目標(biāo)項(xiàng)目中創(chuàng)建非的設(shè)備。硬件和網(wǎng)絡(luò)組態(tài)以及網(wǎng)絡(luò)連接不移植。
如果想要移植STEP7 V5.x項(xiàng)目中的硬件組件,必須在“Migrate project”對話框里勾選 “Include hardware configuration”選項(xiàng)。

圖.1
注意
如果進(jìn)行硬件組態(tài)移植,STEP7 V5.x項(xiàng)目中所有的硬件組件必須包含在TIA博圖硬件對話框中。能夠訂購并且到2007年10月1日之前沒有停止供貨的模塊可以被 TIA博圖支持,并存儲在 STEP7(TIA 博圖)的硬件對話框中。如果項(xiàng)目包含STEP7(TIA博圖)硬件對話框中沒有的硬件組件,移植操作會被終止。
4.塊保護(hù)
可以移植帶保護(hù)塊的項(xiàng)目到TIA博途中,然后下載這些塊到CPU中。在這里,不支持 STEP 7 V5.5中使用了“S7 Block Privacy”加密的塊。在這個(gè)情況下,注意以下限制:
TIA博途不支持STEP 7 V5.x所用的塊保護(hù)機(jī)制(KNOW_HOW_PROTECT 及 S7 Block Privacy 加密),TIA博途使用一種改進(jìn)的塊加密機(jī)制。不能打開或編輯這些塊。