西門子S7-1200PLC編程及應(yīng)用教程 課件 第9章 S7-1200通信(LAD-SCL)_第1頁(yè)
西門子S7-1200PLC編程及應(yīng)用教程 課件 第9章 S7-1200通信(LAD-SCL)_第2頁(yè)
西門子S7-1200PLC編程及應(yīng)用教程 課件 第9章 S7-1200通信(LAD-SCL)_第3頁(yè)
西門子S7-1200PLC編程及應(yīng)用教程 課件 第9章 S7-1200通信(LAD-SCL)_第4頁(yè)
西門子S7-1200PLC編程及應(yīng)用教程 課件 第9章 S7-1200通信(LAD-SCL)_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第九章

S7-1200通信LAD&SCL第九章S7-1200通信LAD&SCL-2-

通信簡(jiǎn)介1

S7通信2

開(kāi)放式用戶通信39.1通信簡(jiǎn)介通信是指一地與另一地之間的信息傳遞。PLC通信是指PLC與計(jì)算機(jī)、PLC與PLC、PLC與人機(jī)界面(觸摸屏)、PLC與變頻器、PLC與其他智能設(shè)備之間的數(shù)據(jù)傳遞。1.通信方式(1)有線通信和無(wú)線通信(2)并行通信與串行通信:串行通信又可分為異步通信和同步通信。PLC與其他設(shè)備通信主要采用串行異步通信方式。在串行通信中,根據(jù)數(shù)據(jù)的傳輸方向不同,可分為3種通信方式:?jiǎn)喂ねㄐ拧腚p工通信和全雙工通信。9.1通信簡(jiǎn)介單工通信:顧名思義數(shù)據(jù)只能往一個(gè)方向傳送的通信,即只能由發(fā)送端傳輸給接收端。半雙工通信:數(shù)據(jù)可以雙向傳送,但在同一時(shí)間內(nèi),只能往一個(gè)方向傳送,只有一個(gè)方向的數(shù)據(jù)傳送完成后,才能往另一個(gè)方向傳送數(shù)據(jù)。全雙工通信:數(shù)據(jù)可以雙向傳送,通信的雙方都有發(fā)送器和接收器,由于有兩條數(shù)據(jù)線,所以雙方在發(fā)送數(shù)據(jù)的同時(shí)可以接收數(shù)據(jù)。9.1通信簡(jiǎn)介2.通信傳輸介質(zhì)有線通信采用傳輸介質(zhì)主要有雙絞線電纜、同軸電纜和光纜。(1)雙絞線電纜:RS-232C、RS-422和RS-485等接口多用雙絞線電纜進(jìn)行通信。(2)同軸電纜:同軸電纜的結(jié)構(gòu)是從內(nèi)到外依次為內(nèi)導(dǎo)體(芯線)、絕緣線、屏蔽層及外保護(hù)層。(3)光纜:光纜是由石英玻璃經(jīng)特殊工藝?yán)杉?xì)絲結(jié)構(gòu),這種細(xì)絲的直徑比頭發(fā)絲還要細(xì),但它能傳輸?shù)臄?shù)據(jù)量卻是巨大的。9.1通信簡(jiǎn)介3.RS-485標(biāo)準(zhǔn)串行接口RS-485接口是在RS-422基礎(chǔ)上發(fā)展起來(lái)的一種EIA標(biāo)準(zhǔn)串行接口,采用“平衡差分驅(qū)動(dòng)”方式。RS-485接口滿足RS-422的全部技術(shù)規(guī)范,可以用于RS-422通信。RS-485接口常采用9引腳連接器。RS-485接口的引腳功能如表9-1所示。9.1通信簡(jiǎn)介表9-1RS-485接口的引腳功能連接引腳示意圖引腳號(hào)信號(hào)名稱信號(hào)功能1SG或GND外殼接地224V回流邏輯地(公共端)3RXD+或TXD+RS-485信號(hào)B,數(shù)據(jù)發(fā)送/接收+端4發(fā)送申請(qǐng)RTS(TTL)55V回流邏輯地(公共端)6+5V+5V輸出,100Ω串聯(lián)電阻7+24V+24V輸出8RXD-或TXD-RS-485信號(hào)A,數(shù)據(jù)發(fā)送/接收-端9未用程序員檢測(cè)(輸入)外殼屏蔽外殼接地9.1通信簡(jiǎn)介S7-1200CPU具有一個(gè)集成的PROFINET端口,支持以太網(wǎng)和基于TCP/IP的通信標(biāo)準(zhǔn)。S7-1200CPU支持以下應(yīng)用協(xié)議:(1)傳輸控制協(xié)議(TCP)(2)ISOonTCP(RFC1006)(3)用戶數(shù)據(jù)報(bào)協(xié)議(UDP)(4)S7通信9.1通信簡(jiǎn)介a)計(jì)算機(jī)與PLC連接b)觸摸屏與PLC連接c)兩臺(tái)PLC直接連接d)三臺(tái)PLC+觸摸屏多臺(tái)設(shè)備連接圖9-1PROFINET通信的連接方式9.1通信簡(jiǎn)介圖9-1a是計(jì)算機(jī)與PLC連接;圖9-1b是觸摸屏與PLC連接;圖9-1c兩臺(tái)PLC直接連接,它們均為直接連接;圖9-1d為三臺(tái)PLC+觸摸屏多臺(tái)設(shè)備連接,它們通過(guò)CSM1277以太網(wǎng)交換機(jī)連接在一起。圖9-1d中的“1”就是SiemensCSM1277,它是4端口以太網(wǎng)交換機(jī),其可以用于連接PLC和HMI等其它支持PROFINET的設(shè)備。9.1通信簡(jiǎn)介1.工業(yè)以太網(wǎng)IP地址:設(shè)備的以太網(wǎng)接口具有一個(gè)默認(rèn)IP地址,用戶可以更改該地址。如果具有通信功能的模塊支持TCP/CP協(xié)議,則IP參數(shù)可見(jiàn)。通常對(duì)于所有以太網(wǎng)模塊都是這樣。IP地址由4個(gè)0到255之間的十進(jìn)制數(shù)字組成。各十進(jìn)制數(shù)字相互之間用點(diǎn)隔開(kāi),例如:192.168.0.3。IP地址包括IP子網(wǎng)的地址和設(shè)備的地址。子網(wǎng)掩碼:子網(wǎng)掩碼將這兩個(gè)地址拆分。它確定IP地址的哪一部分用于網(wǎng)絡(luò)尋址,哪一部分用于設(shè)備尋址。子網(wǎng)掩碼的設(shè)置位確定IP地址的網(wǎng)絡(luò)部分。例如:子網(wǎng)掩碼255.255.0.0=11111111.11111111.00000000.00000000。9.1通信簡(jiǎn)介IP地址和默認(rèn)子網(wǎng)之間的關(guān)系:有關(guān)IP地址范圍與“默認(rèn)子網(wǎng)掩碼”的分配存在具體的規(guī)定。IP地址中的第一個(gè)十進(jìn)制數(shù)字(從左邊起)決定默認(rèn)子網(wǎng)掩碼的結(jié)構(gòu)。如表9-2所示,它決定數(shù)值“1”(二進(jìn)制)的個(gè)數(shù)。IP地址的第一個(gè)十進(jìn)制數(shù)字也可以是224和255之間的值(地址類別D等),但由于對(duì)這些值不進(jìn)行地址檢查,因此不建議使用該方法。表9-2子網(wǎng)掩碼IP地址(十進(jìn)制)IP地址(二進(jìn)制)地址類別默認(rèn)子網(wǎng)掩碼0-1260xxxxxxx.xxxxxxxx....A255.0.0.0128-19110xxxxxx.xxxxxxxx...B255.255.0.0192-223110xxxxx.xxxxxxxx...C255.255.255.09.1通信簡(jiǎn)介以太網(wǎng)(MAC)地址:在PROFINET網(wǎng)絡(luò)中,制造商會(huì)為每個(gè)設(shè)備都分配一個(gè)“介質(zhì)訪問(wèn)控制”地址(MAC地址)以進(jìn)行標(biāo)識(shí)。MAC地址由六組數(shù)字組成,每組兩個(gè)十六進(jìn)制數(shù),這些數(shù)字用連字符(-)或冒號(hào)(:)分隔并按傳輸順序排列(例如01-23-45-67-89-AB或01:23:45:67:89:AB)。每個(gè)CPU在出廠時(shí)都已裝載了一個(gè)永久、唯一的MAC地址。您無(wú)法更改CPU的MAC地址。MAC地址印在CPU正面左下角位置。9.1通信簡(jiǎn)介IP路由器:路由器是LAN之間的鏈接。通過(guò)使用路由器,LAN中的計(jì)算機(jī)可向其它任何網(wǎng)絡(luò)發(fā)送消息,這些網(wǎng)絡(luò)可能還隱含著其它LAN。如果數(shù)據(jù)的目的地不在LAN內(nèi),路由器會(huì)將數(shù)據(jù)轉(zhuǎn)發(fā)給可將數(shù)據(jù)傳送到其目的地的另一個(gè)網(wǎng)絡(luò)或網(wǎng)絡(luò)組。使用“ipconfig”和“ipconfig/all”命令檢查編程設(shè)備的IP地址:Windows操作系統(tǒng)在“運(yùn)行”(Run)對(duì)話框的“打開(kāi)”(Open)區(qū)域中輸入“cmd”,然后單擊“確定”(OK)按鈕。在顯示的“C:\WINDOWS\system32\cmd.exe”對(duì)話框中,輸入命令“ipconfig”。使用“ipconfig”命令9.1通信簡(jiǎn)介使用“ipconfig/all”命令使用“ipconfig/all”命令可顯示更多信息。在此可找到編程設(shè)備的適配器卡類型和以太網(wǎng)(MAC)地址。9.1通信簡(jiǎn)介2.以太網(wǎng)設(shè)備的互聯(lián)設(shè)置在拓?fù)湟晥D中,可以指定以太網(wǎng)端口的物理互連。特別是要確定設(shè)備的哪個(gè)以太網(wǎng)端口將通過(guò)以太網(wǎng)電纜(預(yù)設(shè)拓?fù)洌┡c另一個(gè)設(shè)備的特定以太網(wǎng)端口相連。在網(wǎng)絡(luò)視圖中,指定哪些設(shè)備將通過(guò)以太網(wǎng)子網(wǎng)互連。不指定用于設(shè)備互連的以太網(wǎng)端口(這是端口互連的工作)。(1)創(chuàng)建網(wǎng)絡(luò)連接(2)網(wǎng)絡(luò)視圖9.1通信簡(jiǎn)介2.以太網(wǎng)設(shè)備的互聯(lián)設(shè)置在拓?fù)湟晥D中,可以指定以太網(wǎng)端口的物理互連。特別是要確定設(shè)備的哪個(gè)以太網(wǎng)端口將通過(guò)以太網(wǎng)電纜(預(yù)設(shè)拓?fù)洌┡c另一個(gè)設(shè)備的特定以太網(wǎng)端口相連。在網(wǎng)絡(luò)視圖中,指定哪些設(shè)備將通過(guò)以太網(wǎng)子網(wǎng)互連。不指定用于設(shè)備互連的以太網(wǎng)端口(這是端口互連的工作)。(1)創(chuàng)建網(wǎng)絡(luò)連接操作結(jié)果選擇“網(wǎng)絡(luò)視圖”(Networkview)以顯示要連接的設(shè)備。選擇一個(gè)設(shè)備上的端口,然后將連接拖到第二個(gè)設(shè)備上的端口處。釋放鼠標(biāo)按鈕以創(chuàng)建網(wǎng)絡(luò)連接。9.1通信簡(jiǎn)介(2)網(wǎng)絡(luò)視圖網(wǎng)絡(luò)視圖是硬件和網(wǎng)絡(luò)編輯器的三個(gè)工作區(qū)中的一個(gè)。在此處可執(zhí)行以下任務(wù)組態(tài)和分配設(shè)備參數(shù)、設(shè)備間組網(wǎng)、編輯設(shè)備名稱。①切換開(kāi)關(guān):設(shè)備視圖/網(wǎng)絡(luò)視圖/拓?fù)湟晥D②網(wǎng)絡(luò)視圖的工具欄③設(shè)備視圖的圖形區(qū)域④總覽導(dǎo)航⑤設(shè)備視圖的表格區(qū)域9.2S7通信對(duì)于S7通信,S7-1200PLC的PROFINET通信口只支持S7通信的服務(wù)器端,所以在編程和建立連接方面,S7-1200PLC的CPU只做服務(wù)器(主站),不用做任何工作,只需在S7-200SMART、S7-300等其它的CPU一側(cè)建立單邊連接即可,并使用單邊編程方式PUT、GET指令進(jìn)行通信,如圖9-6所示。如果是兩臺(tái)S7-1200之間的連接,那么我們也是一樣只需要在主站編寫通信,從站干活。在實(shí)際工作中,我們往往都是主站接按鈕、開(kāi)關(guān)等司令元件,從站接輸出控制元件居多。圖9-6S7通信指令9.2S7通信使用指令“GET”,可以從遠(yuǎn)程CPU讀取數(shù)據(jù)。在控制輸入REQ的上升沿啟動(dòng)指令,要讀出的區(qū)域的相關(guān)指針(ADDR_i)隨后會(huì)發(fā)送給伙伴CPU?;锇镃PU則可以處于RUN模式或STOP模式?;锇镃PU返回?cái)?shù)據(jù):如果回復(fù)超出最大用戶數(shù)據(jù)長(zhǎng)度,那么將在STATUS參數(shù)處顯示錯(cuò)誤代碼“2”。下次調(diào)用時(shí),會(huì)將所接收到的數(shù)據(jù)復(fù)制到已組態(tài)的接收區(qū)(RD_i)中。如果狀態(tài)參數(shù)NDR的值變?yōu)椤?”,則表示該動(dòng)作已經(jīng)完成。只有在前一讀取過(guò)程已經(jīng)結(jié)束之后,才可以再次激活讀取功能。如果讀取數(shù)據(jù)時(shí)訪問(wèn)出錯(cuò),或如果未通過(guò)數(shù)據(jù)類型檢查,則會(huì)通過(guò)ERROR和STATUS輸出錯(cuò)誤和警告。“GET”指令不會(huì)記錄伙伴CPU上所尋址到的數(shù)據(jù)區(qū)域中的變化。9.2S7通信表9-5“GET”指令的參數(shù)表參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明REQInputBOOLI、Q、M、D、L或常量控制參數(shù)request,在上升沿時(shí)激活數(shù)據(jù)交換功能。IDInputWORDI、Q、M、D、L或常量用于指定與伙伴CPU連接的尋址參數(shù)。NDROutputBOOLI、Q、M、D、L狀態(tài)參數(shù)NDR:0:作業(yè)尚未開(kāi)始或仍在運(yùn)行。1:作業(yè)已成功完成。ERROROutputBOOLI、Q、M、D、L狀態(tài)參數(shù)ERROR和STATUS,錯(cuò)誤代碼:ERROR=0STATUS的值為:0000H:既無(wú)警告也無(wú)錯(cuò)誤<>0000H:警告,詳細(xì)信息請(qǐng)參見(jiàn)STATUS。ERROR=1出錯(cuò)。STATUS提供了有關(guān)錯(cuò)誤類型的詳細(xì)信息。STATUSOutputWORDI、Q、M、D、LADDR_1InOutREMOTEI、Q、M、D指向伙伴CPU上待讀取區(qū)域的指針。指針REMOTE訪問(wèn)某個(gè)數(shù)據(jù)塊時(shí),必須始終指定該數(shù)據(jù)塊。示例:P#DB10.DBX5.0字節(jié)10。ADDR_2InOutREMOTEADDR_3InOutREMOTEADDR_4InOutREMOTERD_1InOutVARIANTI、Q、M、D、L指向本地CPU上用于輸入已讀數(shù)據(jù)的區(qū)域的指針。RD_2InOutVARIANTRD_3InOutVARIANTRD_4InOutVARIANT“ERROR”和“STATUS”參數(shù)表ERRORSTATUS(十進(jìn)制)說(shuō)明011警告:由于前一作業(yè)仍處于忙碌狀態(tài),因此未激活新作業(yè)。025已開(kāi)始通信。作業(yè)正在處理。11通信故障,例如:1、連接描述信息未加載(本地或遠(yuǎn)程)2、連接中斷(例如:電纜故障、CPU關(guān)閉或者CP處于STOP模式)3、尚未與伙伴建立連接121、接收到伙伴設(shè)備的否定應(yīng)答。該功能無(wú)法執(zhí)行。2、遠(yuǎn)程站的響應(yīng)超出了用戶數(shù)據(jù)的最大長(zhǎng)度。3、伙伴CPU上的訪問(wèn)保護(hù)已激活。在CPU設(shè)置中禁用訪問(wèn)保護(hù)。14指向數(shù)據(jù)存儲(chǔ)RD_i的指針出錯(cuò):1、參數(shù)RD_i和ADDR_i的數(shù)據(jù)類型彼此不兼容。2、RD_i區(qū)域的長(zhǎng)度小于待讀取的ADDR_i參數(shù)的數(shù)據(jù)長(zhǎng)度。18訪問(wèn)伙伴CPU時(shí)出錯(cuò)。110無(wú)法訪問(wèn)本地用戶存儲(chǔ)器(例如,訪問(wèn)某個(gè)已經(jīng)刪除的數(shù)據(jù)塊)。1201、已超出并行作業(yè)的最大數(shù)量。2、該作業(yè)當(dāng)前正在執(zhí)行,但優(yōu)先級(jí)較低(首次調(diào)用)。9.2S7通信“GET”指令LAD與SCL對(duì)照表LADSCL

"GET_DB"(REQ:=_bool_in_,ID:=_word_in_,NDR=>_bool_out_,ERROR=>_bool_out_,STATUS=>_word_out_,ADDR_1:=_remote_inout_,ADDR_2:=_remote_inout_,ADDR_3:=_remote_inout_,ADDR_4:=_remote_inout_,RD_1:=_variant_inout_,RD_2:=_variant_inout_,RD_3:=_variant_inout_,RD_4:=_variant_inout_);SCL編程只需要對(duì)REQ、ID、ADDR_1、RD_1進(jìn)行定義即可,但沒(méi)有

組態(tài)按鈕,那么我們?cè)撊绾芜M(jìn)行組態(tài)呢?左鍵單擊“GET_DB”處就會(huì)出現(xiàn)開(kāi)始組態(tài)按鈕,點(diǎn)擊進(jìn)入圖9-9所示頁(yè)面,在紅框處“伙伴”選擇自己需要的從站設(shè)備,若只有2臺(tái)PLC,那就只有1個(gè)伙伴,若是3臺(tái)PLC則會(huì)2個(gè)伙伴(以此類推),對(duì)每一個(gè)伙伴均要每次使用該指令進(jìn)行每一個(gè)從站的組態(tài)設(shè)置。9.2S7通信9.2S7通信可使用“PUT”指令將數(shù)據(jù)寫入一個(gè)遠(yuǎn)程CPU。在控制輸入REQ的上升沿啟動(dòng)指令,寫入?yún)^(qū)指針(ADDR_i)和數(shù)據(jù)(SD_i)隨后會(huì)發(fā)送給伙伴CPU?;锇镃PU則可以處于RUN模式或STOP模式。從已組態(tài)的發(fā)送區(qū)域中(SD_i)復(fù)制了待發(fā)送的數(shù)據(jù)?;锇镃PU將發(fā)送的數(shù)據(jù)保存在該數(shù)據(jù)提供的地址之中,并返回一個(gè)執(zhí)行應(yīng)答。如果沒(méi)有出現(xiàn)錯(cuò)誤,下一次指令調(diào)用時(shí)會(huì)使用狀態(tài)參數(shù)DONE=“1”來(lái)進(jìn)行標(biāo)識(shí)。上一作業(yè)已經(jīng)結(jié)束之后,才可以再次激活寫入過(guò)程。如果寫入數(shù)據(jù)時(shí)訪問(wèn)出錯(cuò),或如果未通過(guò)執(zhí)行檢查,則會(huì)通過(guò)ERROR和STATUS輸出錯(cuò)誤和警告。9.2S7通信表9-5“PUT”指令的參數(shù)表參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明REQInputBOOLI、Q、M、D、L或常量控制參數(shù)request,在上升沿時(shí)激活數(shù)據(jù)交換功能。ADDR_1InOutREMOTEI、Q、M、D指向伙伴CPU上用于寫入數(shù)據(jù)區(qū)域的指針。指針REMOTE訪問(wèn)某個(gè)數(shù)據(jù)塊時(shí),必須始終指定該數(shù)據(jù)塊。示例:P#DB10.DBX5.0字節(jié)10。傳送數(shù)據(jù)結(jié)構(gòu)(例如Struct)時(shí),參數(shù)ADDR_i處必須使用數(shù)據(jù)類型CHAR。IDInputWORDI、Q、M、D、L或常量用于指定與伙伴CPU連接的尋址參數(shù)。ADDR_2InOutREMOTEDONEOutputBOOLI、Q、M、D、L狀態(tài)參數(shù)DONE:0:作業(yè)未開(kāi)始或仍在執(zhí)行之中。1:作業(yè)已成功完成,且無(wú)錯(cuò)誤。ADDR_3InOutREMOTEERROROutputBOOLI、Q、M、D、L狀態(tài)參數(shù)ERROR和STATUS,錯(cuò)誤代碼:ERROR=0STATUS的值為:0000H:既無(wú)警告也無(wú)錯(cuò)誤<>0000H:警告,詳細(xì)信息請(qǐng)參見(jiàn)STATUS。ERROR=1出錯(cuò)。有關(guān)該錯(cuò)誤類型的詳細(xì)信息,請(qǐng)參見(jiàn)STATUS。

ADDR_4InOutREMOTESD_1InOutVARIANTI、Q、M、D、L指向本地CPU上包含要發(fā)送數(shù)據(jù)的區(qū)域的指針。僅支持BOOL、BYTE、CHAR、WORD、INT、DWORD、DINT和REAL數(shù)據(jù)類型。傳送數(shù)據(jù)結(jié)構(gòu)(例如Struct)時(shí),參數(shù)SD_i處必須使用數(shù)據(jù)類型CHAR。STATUSOutputWORDI、Q、M、D、LSD_2InOutVARIANTSD_3InOutVARIANTSD_4InOutVARIANT9.2S7通信“ERROR”和“STATUS”參數(shù)表ERRORSTATUS(十進(jìn)制)說(shuō)明011警告:由于前一作業(yè)仍處于忙碌狀態(tài),因此未激活新作業(yè)。025已開(kāi)始通信。作業(yè)正在處理。11通信故障,例如:1、連接描述信息未加載(本地或遠(yuǎn)程)2、連接中斷(例如:電纜故障、CPU關(guān)閉或者CP處于STOP模式)3、尚未與伙伴建立連接121、伙伴CPU的否定應(yīng)答。該功能無(wú)法執(zhí)行。2、未授予對(duì)伙伴CPU的訪問(wèn)權(quán)限。在CPU設(shè)置中激活訪問(wèn)。14指向數(shù)據(jù)存儲(chǔ)RD_i的指針出錯(cuò):1、參數(shù)SD_i和ADDR_i的數(shù)據(jù)類型彼此不兼容。2、SD_i區(qū)域的長(zhǎng)度大于待寫入的ADDR_i參數(shù)的數(shù)據(jù)長(zhǎng)度。3、不能訪問(wèn)SD_i。4、已經(jīng)超過(guò)了最大用戶數(shù)據(jù)大小。5、參數(shù)SD_i和ADDR_i的數(shù)量不一致。18訪問(wèn)伙伴CPU時(shí)出錯(cuò)(例如,數(shù)據(jù)塊未加載或不受寫保護(hù))。110無(wú)法訪問(wèn)本地用戶存儲(chǔ)器(例如,訪問(wèn)某個(gè)已經(jīng)刪除的數(shù)據(jù)塊)。1201、已超出并行作業(yè)的最大數(shù)量。2、該作業(yè)當(dāng)前正在執(zhí)行,但優(yōu)先級(jí)較低(首次調(diào)用)。9.2S7通信“PUT”指令LAD與SCL對(duì)照表LADSCL

"PUT_DB"(REQ:=_bool_in_,ID:=_word_in_,DONE=>_bool_out_,ERROR=>_bool_out_,STATUS=>_word_out_,ADDR_1:=_remote_inout_,ADDR_2:=_remote_inout_,ADDR_3:=_remote_inout_,ADDR_4:=_remote_inout_,SD_1:=_variant_inout_,SD_2:=_variant_inout_,SD_3:=_variant_inout_,SD_4:=_variant_inout_);9.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟??刂迫蝿?wù):現(xiàn)有2臺(tái)S7-1200PLC各控制1臺(tái)電動(dòng)機(jī)的啟動(dòng)與停止,控制要求:1.按下主站PLC的本地啟動(dòng)按鈕SB11或本地停止按鈕SB12可以對(duì)主站本地電動(dòng)機(jī)進(jìn)行啟動(dòng)或停止操作。2.按下主站遠(yuǎn)程啟動(dòng)按鈕SB13或遠(yuǎn)程停止按鈕SB14可以對(duì)從站遠(yuǎn)程電動(dòng)機(jī)進(jìn)行啟動(dòng)或停止操作。3.按下從站PLC的本地啟動(dòng)按鈕SB21或本地停止按鈕SB22可以對(duì)從站本地電動(dòng)機(jī)進(jìn)行啟動(dòng)或停止操作。4.按下從站遠(yuǎn)程啟動(dòng)按鈕SB23或遠(yuǎn)程停止按鈕SB24可以對(duì)主站遠(yuǎn)程電動(dòng)機(jī)進(jìn)行啟動(dòng)或停止操作。5.電路均有熱過(guò)載保護(hù)、短路保護(hù)、欠壓失壓保護(hù)。步驟:1.I/O分配表

2.PLC外部接線圖

3.編寫程序9.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟??刂圃O(shè)備名稱輸入點(diǎn)輸出點(diǎn)輸入編號(hào)注釋輸出編號(hào)注釋主站PLCI0.0SB11主站本地啟動(dòng)Q0.0KM1主站電動(dòng)機(jī)I0.1SB12主站本地停止---I0.2SB13主站遠(yuǎn)程啟動(dòng)---I0.3SB14主站遠(yuǎn)程停止---從站PLCI0.0SB21從站本地啟動(dòng)Q0.0KM2從站電動(dòng)機(jī)I0.1SB22從站本地停止---I0.2SB23從站遠(yuǎn)程啟動(dòng)---I0.3SB24從站遠(yuǎn)程停止---9.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟??刂?.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟??刂浦髡镜淖兞繌恼镜淖兞?.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟停控制PUT的組態(tài)GET的組態(tài)9.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟??刂七B接機(jī)制要勾選兩臺(tái)PLC的設(shè)備和網(wǎng)絡(luò)9.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟??刂浦髡綪LC的LAD程序9.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟停控制從站PLC的LAD程序

本案例在組態(tài)的時(shí)候需要注意勾選每一臺(tái)PLC的“連接機(jī)制”,需要允許來(lái)之遠(yuǎn)程對(duì)象的PUT/GET通信訪問(wèn),主站與從站均要勾選。

本案例不涉及到DB數(shù)據(jù)塊,若讀者需要用到DB數(shù)據(jù)塊時(shí),還需要在數(shù)據(jù)塊屬性去掉“優(yōu)化的塊訪問(wèn)”,讓其數(shù)據(jù)塊出現(xiàn)偏移量,只有這樣方可在PUT/GET的從站部分進(jìn)行一一對(duì)應(yīng)。

因?yàn)锽ool數(shù)據(jù)類型在RD/SD中只能輸入單個(gè)位,所當(dāng)用戶想多個(gè)使用時(shí),我們可以把Bool量打包為Byte或Word或DWord數(shù)據(jù)類型,這樣就可以節(jié)省通道數(shù)的使用了。

從本案例編程情況來(lái)看,從站只需要進(jìn)行IP的設(shè)定、連接機(jī)制的勾選、或數(shù)據(jù)塊取消“優(yōu)化的塊訪問(wèn)”等組態(tài)操作即可,在指令方面無(wú)須編輯,直接編寫程序,賦值遠(yuǎn)程控制內(nèi)容,即“PUT”或“GET”指令的ADDR_1至4引腳即可。9.2.3案例27:兩臺(tái)電動(dòng)機(jī)異地啟停控制主站PLC的SCL程序主站PLC的SCL程序從站PLC的SCL程序9.3開(kāi)放式用戶通信開(kāi)放式用戶通信的協(xié)議主要是CPU的集成PROFINET端口支持的多種以太網(wǎng)網(wǎng)絡(luò)上的通信標(biāo)準(zhǔn),如傳輸控制協(xié)議(TCP)、ISO-on-TCP(RFC1006)用戶數(shù)據(jù)報(bào)協(xié)議(UDP)。開(kāi)放式用戶通信的主要特點(diǎn)是在所傳送的數(shù)據(jù)結(jié)構(gòu)方面具有高度的靈活性。這就允許CPU與任何通信設(shè)備進(jìn)行開(kāi)放式數(shù)據(jù)交換,前提是這些設(shè)備支持該集成接口可用的連接類型。此通信僅由用戶程序中的指令進(jìn)行控制,因此可建立和終止事件驅(qū)動(dòng)型連接。在運(yùn)行期間,也可以通過(guò)用戶程序修改連接。具體通信方式如圖9-18所示。具體通信指令如圖9-19所示。9.3開(kāi)放式用戶通信圖9-18開(kāi)放式用戶通信圖9-19開(kāi)放式用戶通信指令9.3開(kāi)放式用戶通信開(kāi)放式用戶通信指令的連接ID以下示例顯示了兩個(gè)CPU之間的通信,這兩個(gè)CPU使用2個(gè)單獨(dú)的連接來(lái)發(fā)送和接收數(shù)據(jù)。其連接如圖9-20所示,其連接表述如下:1、CPU_1中的TSEND_C指令通過(guò)第一個(gè)連接(CPU_1和CPU_2上的“連接ID1”)與CPU_2中的TRCV_C鏈接。2、CPU_1中的TRCV_C指令通過(guò)第二個(gè)連接(CPU_1和CPU_2上的“連接ID2”)與CPU_2中的TSEND_C鏈接。TCON_IP_V4連接描述的結(jié)構(gòu)(TCON_IP_V4):與TCP一起使用。具體參數(shù)見(jiàn)表9-12所示。9.3開(kāi)放式用戶通信圖9-20使用2個(gè)單獨(dú)的連接來(lái)發(fā)送和接受數(shù)據(jù)圖9-21使用1個(gè)連接來(lái)發(fā)送和接收數(shù)據(jù)9.3開(kāi)放式用戶通信表9-12“TCON_IP_V4”的參數(shù)表字節(jié)參數(shù)數(shù)據(jù)類型說(shuō)明0到1InterfaceIdHW_ANYIE接口子模塊的硬件標(biāo)識(shí)符2到3IDCONN_OUC對(duì)該連接的引用:值范圍:1(默認(rèn)值)到4095。在ID下,為TSEND_C、TRCV_C或TCON指令指定該參數(shù)的值。4ConnectionTypeByte連接類型:11:TCP/IP(默認(rèn))17:TCP/IP(為了兼容老系統(tǒng),包含該連接類型。推薦使用“11:TCP/IP(默認(rèn))”。)19:UDP5ActiveEstablishedBool主動(dòng)/被動(dòng)建立連接:TRUE:主動(dòng)連接(默認(rèn))FALSE:被動(dòng)連接6到9RemoteAddressIP_V4IP地址6ADDR[1]Byte八位位組17ADDR[2]Byte八位位組28ADDR[3]Byte八位位組39ADDR[4]Byte八位位組410到11RemotePortUInt遠(yuǎn)程UDP/TCP端口號(hào)12到13LocalPortUInt本地UDP/TCP端口號(hào)9.3開(kāi)放式用戶通信指令“TSEND_C”它在博途里區(qū)分CPUS7-1200固件版本V4.0(含)以下和以上。本例講解固件版本為V4.0以上版本。使用“TSEND_C”指令設(shè)置和建立通信連接。設(shè)置并建立連接后,CPU會(huì)自動(dòng)保持和監(jiān)視該連接。該指令異步執(zhí)行且具有設(shè)置并建立通信連接,通過(guò)現(xiàn)有的通信連接發(fā)送數(shù)據(jù),終止或重置通信連接的功能。本指令在內(nèi)部已經(jīng)使用通信指令“TCON”、“TSEND”、“T_DIAG”、“T_RESET”和“TDISCON”?!癟SEND_C”指令的參數(shù)CONT控制連接的建立,而與REQ參數(shù)無(wú)關(guān)。REQ每當(dāng)有上升沿時(shí)就啟動(dòng)發(fā)送數(shù)據(jù)1次。9.3開(kāi)放式用戶通信表9-13“TSEND_C”指令的參數(shù)表參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明REQInputBOOLI、Q、M、D、L或常量在上升沿啟動(dòng)發(fā)送作業(yè)。DATAInOutVARIANTI、Q、M、D、L指向發(fā)送區(qū)的指針,該發(fā)送區(qū)包含要發(fā)送數(shù)據(jù)的地址和長(zhǎng)度。傳送結(jié)構(gòu)時(shí),發(fā)送端和接收端的結(jié)構(gòu)必須相同。CONTInputBOOLI、Q、M、D、L控制通信連接:0:斷開(kāi)通信連接。1:建立并保持通信連接。ADDRInOutVARIANTDUDP需使用的隱藏參數(shù)。此時(shí),將包含指向系統(tǒng)數(shù)據(jù)類型TADDR_Param的指針。接收方的地址信息(IP地址和端口號(hào))將存儲(chǔ)在系統(tǒng)數(shù)據(jù)類型為TADDR_Param的數(shù)據(jù)塊中。LENInputUDINTI、Q、M、D、L或常量可選參數(shù)(隱藏)要通過(guò)作業(yè)發(fā)送的最大字節(jié)數(shù)。如果在DATA參數(shù)中使用具有優(yōu)化訪問(wèn)權(quán)限的發(fā)送區(qū),LEN參數(shù)值必須為“0”。COM_RSTInOutBOOLI、Q、M、D、L可選參數(shù)(隱藏)重置連接:0:不相關(guān)1:重置現(xiàn)有連接。COM_RST參數(shù)通過(guò)“TSEND_C”指令進(jìn)行求值后將被復(fù)位,因此不應(yīng)靜態(tài)互連。CONNECTInOutVARIANTD指向連接描述結(jié)構(gòu)的指針:設(shè)定連接:1.對(duì)于TCP或UDP,使用TCON_IP_v4系統(tǒng)數(shù)據(jù)類型。2.對(duì)于具有securecommunication功能的TCP或UDP,使用結(jié)構(gòu)TCON_IP_V4_SEC或TCON_QDN_SEC。3.對(duì)于ISO-on-TCP,使用TCON_IP_RFC系統(tǒng)數(shù)據(jù)類型。4.對(duì)于ISO,使用TCON_ISOnative系統(tǒng)數(shù)據(jù)類型(CP15431/CP15451)。5.連接SMS客戶端時(shí),可使用TCON_PHONE系統(tǒng)數(shù)據(jù)類型。6.使用CM15425進(jìn)行FDL連接時(shí),需使用系統(tǒng)數(shù)據(jù)類型TCON_FDL組態(tài)連接:對(duì)于現(xiàn)有連接,使用TCON_Configured系統(tǒng)數(shù)據(jù)類型。DONEOutputBOOLI、Q、M、D、L狀態(tài)參數(shù),可具有以下值:0:發(fā)送作業(yè)尚未啟動(dòng)或仍在進(jìn)行。1:發(fā)送作業(yè)已成功執(zhí)行。此狀態(tài)將僅顯示一個(gè)周期。如果在處理(連接建立、發(fā)送、連接終止)期間成功完成中間步驟且“TSEND_C”的執(zhí)行成功完成,將置位輸出參數(shù)DONE。BUSYOutputBOOLI、Q、M、D、L狀態(tài)參數(shù),可具有以下值:0:發(fā)送作業(yè)尚未啟動(dòng)或已完成。1:發(fā)送作業(yè)尚未完成。無(wú)法啟動(dòng)新發(fā)送作業(yè)。ERROROutputBOOLI、Q、M、D、L狀態(tài)參數(shù),可具有以下值:0:無(wú)錯(cuò)誤1:建立連接、傳送數(shù)據(jù)或終止連接時(shí)出錯(cuò)。由于“TSEND_C”指令或在內(nèi)部使用的通信指令出錯(cuò),可置位輸出參數(shù)ERROR。STATUSOutputWORDI、Q、M、D、L指令的狀態(tài)(參見(jiàn)“參數(shù)ERROR和STATUS”說(shuō)明)。9.3開(kāi)放式用戶通信表9-15“TSEND_C”指令LAD與SCL對(duì)照表LADSCL

"TSEND_C_DB"(REQ:=_bool_in_,CONT:=_bool_in_,LEN:=_udint_in_,DONE=>_bool_out_,BUSY=>_bool_out_,ERROR=>_bool_out_,STATUS=>_word_out_,CONNECT:=_variant_inout_,DATA:=_variant_inout_,ADDR:=_variant_inout_,COM_RST:=_bool_inout_);新建好兩臺(tái)PLC后,首先要進(jìn)行“設(shè)備組態(tài)”,在PLC的“防護(hù)與安全”→“連接機(jī)制”,勾選“允許來(lái)自遠(yuǎn)程對(duì)象的PUT/GET通信訪問(wèn)”。然后在“PROFINET接口[X1]”→“以太網(wǎng)地址”→“接口連接到”處點(diǎn)“添加新子網(wǎng)”,確保主站與從站的IP地址在同一個(gè)網(wǎng)關(guān)且不同IP地址即可。9.3開(kāi)放式用戶通信圖9-23“TSEND_C”進(jìn)行組態(tài)圖9-24組態(tài)<新建>DB塊內(nèi)容9.3開(kāi)放式用戶通信指令“TRCV_C”它在博途里區(qū)分CPUS7-1200固件版本V4.0(含)以下和以上。本例講解固件版本為V4.0以上版本。使用“TRCV_C”指令異步執(zhí)行并會(huì)按設(shè)置并建立通信連接,通過(guò)現(xiàn)有的通信連接接收數(shù)據(jù),終止或重置通信連接的順序進(jìn)行工作。本指令在內(nèi)部已經(jīng)使用通信指令“TCON”、“TRCV”、“T_DIAG”、“T_RESET”和“TDISCON”。“TRCV_C”指令的參數(shù)CONT控制連接的建立,而與EN_R參數(shù)無(wú)關(guān)。當(dāng)EN_R為1則打開(kāi)接收數(shù)據(jù)的功能,為0時(shí)則關(guān)閉接收功能,但關(guān)閉接收功能時(shí),通信連接仍然不受影響。9.3開(kāi)放式用戶通信表9-16“TRCV_C”指令的參數(shù)表參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明EN_RInputBOOLI、Q、M、D、L或常量啟用接收功能CONNECTInOutVARIANTD指向連接描述結(jié)構(gòu)的指針:設(shè)定連接:1.對(duì)于TCP或UDP,使用TCON_IP_v4系統(tǒng)數(shù)據(jù)類型。2.對(duì)于具有securecommunication功能的TCP或UDP,使用結(jié)構(gòu)TCON_IP_V4_SEC或TCON_QDN_SEC。3.對(duì)于ISO-on-TCP,使用TCON_IP_RFC系統(tǒng)數(shù)據(jù)類型。4.對(duì)于ISO,使用TCON_ISOnative系統(tǒng)數(shù)據(jù)類型(CP1543-1/CP15451)。5.連接SMS客戶端時(shí),可使用TCON_PHONE系統(tǒng)數(shù)據(jù)類型。6.使用CM1542-5進(jìn)行FDL連接時(shí),需使用系統(tǒng)數(shù)據(jù)類型TCON_FDL組態(tài)連接:對(duì)于現(xiàn)有連接,使用TCON_Configured系統(tǒng)數(shù)據(jù)類型。CONTInputBOOLI、Q、M、D、L控制通信連接:0:斷開(kāi)通信連接。1:建立并保持通信連接。LENInputUDINTI、Q、M、D、L或常量要接收數(shù)據(jù)的最大長(zhǎng)度。如果在DATA參數(shù)中使用具有優(yōu)化訪問(wèn)權(quán)限的接收區(qū),LEN參數(shù)值必須為“0”。ADHOCInputBOOLI、Q、M、D、L或常量可選參數(shù)(隱藏)TCP協(xié)議選項(xiàng)使用Ad-hoc模式。如果未使用TCP協(xié)議,則ADHOC的值需為FALSE。9.3開(kāi)放式用戶通信表9-16“TRCV_C”指令的參數(shù)表參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明參數(shù)聲明數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明DATAInOutVARIANTI、Q、M、D、L指向接收區(qū)的指針。傳送結(jié)構(gòu)時(shí),發(fā)送端和接收端的結(jié)構(gòu)必須相同。BUSYOutputBOOLI、Q、M、D、L狀態(tài)參數(shù),可具有以下值:0:接收尚未啟動(dòng)或已完成。1:接收尚未完成。無(wú)法啟動(dòng)新發(fā)送作業(yè)。ADDRInOutVARIANTDUDP需使用的隱藏參數(shù)。此時(shí),將包含指向系統(tǒng)數(shù)據(jù)類型TADDR_Param的指針。接收方的地址信息(IP地址和端口號(hào))將存儲(chǔ)在系統(tǒng)數(shù)據(jù)類型為TADDR_Param的數(shù)據(jù)塊中。ERROROutputBOOLI、Q、M、D、L狀態(tài)參數(shù),可具有以下值:0:無(wú)錯(cuò)誤1:在連接建立、數(shù)據(jù)接收或連接終止過(guò)程中出錯(cuò)。由于“TRCV_C”指令或在內(nèi)部使用的通信指令出錯(cuò),可置位輸出參數(shù)ERROR。COM_RSTInOutBOOLI、Q、M、D、L可選參數(shù)(隱藏)重置連接:0:不相關(guān)1:重置現(xiàn)有連接。COM_RST參數(shù)通過(guò)“TRCV_C”指令進(jìn)行求值后將被復(fù)位,因此不應(yīng)靜態(tài)互連。STATUSOutputWORDI、Q、M、D、L指令的狀態(tài)(參見(jiàn)“參數(shù)ERROR和STATUS”說(shuō)明)。DONEOutputBOOLI、Q、M、D、L狀態(tài)參數(shù),可具有以下值:0:接收尚未啟動(dòng)或仍在進(jìn)行。1:接收已經(jīng)成功完成。此狀態(tài)將僅顯示一個(gè)周期。如果在處理(連接建立、接收、連接終止)期間成功完成中間步驟且“TRCV_C”的執(zhí)行成功完成,將置位輸出參數(shù)DONE。RCVD_LENOutputUDINTI、Q、M、D、L實(shí)際接收到的數(shù)據(jù)量(以字節(jié)為單位)9.3開(kāi)放式用戶通信表9-18“TRCV_C”指令LAD與SCL對(duì)照表LADSCL

"TRCV_C_DB"(EN_R:=_bool_in_,CONT:=_bool_in_,LEN:=_udint_in_,ADHOC:=_bool_in_,DONE=>_bool_out_,BUSY=>_bool_out_,ERROR=>_bool_out_,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論