變頻器與PLC的通信PPT課件_第1頁(yè)
變頻器與PLC的通信PPT課件_第2頁(yè)
變頻器與PLC的通信PPT課件_第3頁(yè)
變頻器與PLC的通信PPT課件_第4頁(yè)
變頻器與PLC的通信PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩51頁(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)介

1、變頻器與PLC的通信PLCPLC基本結(jié)構(gòu)基本結(jié)構(gòu)程序/數(shù)據(jù)存儲(chǔ)器處理器數(shù)字模擬脈沖數(shù)字模擬編程終端(PC或?qū)S镁幊唐鳎㏄LC基本結(jié)構(gòu)有些比較簡(jiǎn)易的PLC不全部具備上述的模塊,用戶可視應(yīng)用環(huán)境選擇選配模塊。選配模塊時(shí)注意電源模塊的供電能力。通信口PLCPLC的程序執(zhí)行的程序執(zhí)行一般情況下,PLC按順序循環(huán)掃描,同時(shí)用中斷程序處理中斷事件。輸入存儲(chǔ)器隨著物理輸入狀態(tài)的變化而更新執(zhí)行用戶編寫的程序由輸出存儲(chǔ)器更新物理輸出的狀態(tài)檢查存儲(chǔ)器中的程序可否執(zhí)行,RUN/STOP變化否以及其他的系統(tǒng)參數(shù)等內(nèi)部處理讀取輸入程序執(zhí)行更新輸出通信準(zhǔn)備工作通信準(zhǔn)備工作1、根據(jù)用戶的需求選擇合適的PLC,PLC必須具備

2、RS-232或RS-485通信接口或該 PLC有能提供該接口的可選件,如果PLC只提供RS-232接口,用戶又要求采用 RS-485通信,則需選擇RS232/485轉(zhuǎn)換器。2、準(zhǔn)備用于通信的接口(RS-232/485)必須能夠支持自由協(xié)議通信(有的PLC 又稱無(wú)協(xié)議通信),該類通信的特點(diǎn)是數(shù)據(jù)格式、波特率、幀起始字節(jié)、幀 結(jié)束字節(jié)、幀字節(jié)長(zhǎng)度、通信延時(shí)、通信超時(shí)等通信要素可以由用戶設(shè)定, 這里我們默認(rèn)選用RS485接口。3、設(shè)置變頻器的通信參數(shù)(控制方式,頻率給定方式,從機(jī)地址,通信數(shù)據(jù) 格式,波特率等)。4、接線。接線包括兩部分,一部分是PLC與編程設(shè)備如PC、專用編程器之間 的接線,詳情需

3、參考PLC說(shuō)明書;另一部分是PLC與變頻器之間的接線,該 部分的接線原則請(qǐng)參考本次培訓(xùn)的通信基礎(chǔ)部分。5、需要注意的是,不能帶電接線,否則容易損壞PLC或計(jì)算機(jī)通信口。特別 是當(dāng)PLC或編程設(shè)備與變頻器通信只能提供一個(gè)通信口時(shí)。在調(diào)試程序時(shí) 候必須等PLC的電源指示燈熄滅后,才能進(jìn)行通信口的插拔,而不僅僅 是拔掉PLC的電源。通信準(zhǔn)備工作通信準(zhǔn)備工作6、在進(jìn)行編程工作之前,必須先使編程設(shè)備(PC或?qū)S镁幊唐鳎┡cPLC互連 互通。這可能同時(shí)需要對(duì)PLC,編程電纜以及編程設(shè)備三者進(jìn)行設(shè)置。編程電纜編程電纜編程電纜大多是PLC廠家提供, 也有一些廠商(如OMRON)采用常用的RS-232結(jié)構(gòu),以減輕

4、用戶費(fèi)用,因此也可以自制,請(qǐng)根據(jù)廠家要求選擇。編程設(shè)備與編程設(shè)備與PLCPLC通信用通信口的設(shè)置通信用通信口的設(shè)置有一部分廠商將PLC與編程設(shè)備的通信設(shè)置放在編程電纜的撥碼開(kāi)關(guān)上,如西門子,但絕大多數(shù)廠家都支持在編程軟件中設(shè)置,如通信口的選擇、數(shù)據(jù)格式、波特率等,注意該設(shè)置與編程電纜配置必須吻合。PLCPLC與變頻器通信用通信口的設(shè)置與變頻器通信用通信口的設(shè)置該部分必須與變頻器的通信設(shè)置一致,用戶還必須注意當(dāng)兩個(gè)通信口的物理部分一樣時(shí),編程接口和變頻器到相應(yīng)口的接線不要混淆。通信準(zhǔn)備工作通信準(zhǔn)備工作PLCPLC通信程序的結(jié)構(gòu)通信程序的結(jié)構(gòu)程序初始化,包括各種控制寄存器,數(shù)據(jù)區(qū),輸入輸出,循環(huán)時(shí)

5、間等等串口初始化:包括數(shù)據(jù)格式,波特率,幀長(zhǎng)度,首尾字節(jié),延時(shí)等等,允許中斷否用戶程序處理:按程序編排的順序執(zhí)行結(jié)束開(kāi)始發(fā)中斷程序其它中斷程序收中斷程序需求分解需求分解1、編程之前,首先需要弄清楚用戶的需求,將用戶的需求分解為一個(gè)一個(gè)具體 的任務(wù),并為該任務(wù)分配相應(yīng)的觸發(fā)信號(hào)及發(fā)生觸發(fā)條件后程序應(yīng)采用的動(dòng) 作。2、動(dòng)作對(duì)變頻器通信來(lái)講就是相應(yīng)的控制命令或查詢命令以及PLC輸出的結(jié)果 。這類似計(jì)算機(jī)編程之前先畫一個(gè)流程圖。任 務(wù) 1 2 3 n用 戶 需 求1、對(duì)某一脈沖信號(hào)記數(shù),到達(dá)給定數(shù)目后觸發(fā)輸 出2、檢測(cè)X1信號(hào),如發(fā)生變化.n、每100mS查詢變頻器當(dāng)前運(yùn)行頻率例:例:要求PLC能控制

6、所有聯(lián)機(jī)的變頻器的起、停,并能查詢2#變頻器當(dāng)前的運(yùn)行頻率,同時(shí)對(duì)查詢頻率命令的所有發(fā)送次數(shù)和有效的接收次數(shù)進(jìn)行統(tǒng)計(jì),以確定系統(tǒng)的通信性能。需求分解需求分解用 戶 需 求功能1:X1上升沿廣播啟動(dòng)所有變頻器,發(fā)廣播幀功能2:X1下降沿廣播停止所有變頻器,發(fā)廣播幀功能3:利用系統(tǒng)提供的脈沖信號(hào)觸發(fā)頻率查詢命令,并接 收變頻器返回的當(dāng)前頻率。功能4:系統(tǒng)提供的脈沖信號(hào)每觸發(fā)一次,發(fā)送次數(shù)增1, PLC每有效接收一次,接收次數(shù)增1S7-200-CPU226 PLCS7-200-CPU226 PLC介紹介紹S7-200是西門子的一種小型PLC,CPU226是其中較好的一種,以下是S7-200-CPU2

7、26的主要技術(shù)指標(biāo):特性:特性:外形尺寸程序存儲(chǔ)器用戶數(shù)據(jù)存儲(chǔ)器用戶存儲(chǔ)器類型數(shù)據(jù)后備典型值190X80X624096字2560字EEPROM190HI/OI/O:本機(jī)數(shù)字量I/O映像區(qū)模擬量I/O映像區(qū)24入/16出,最多擴(kuò)展7個(gè)模塊128入/128出32入/32出S7-200-CPU226 PLCS7-200-CPU226 PLC介紹介紹通信:通信:通信口數(shù)量 支持協(xié)議2個(gè)RS-485 D型接口PPI,DP/T,自由口,NETR/NETW PORT 0 和 1其他:其他:內(nèi)置高速記數(shù)器(6H/W,20KHz);2路脈沖輸出;通訊發(fā)送中斷2個(gè),接收中斷4個(gè);定時(shí)器中斷2個(gè);硬件輸入中斷4個(gè),

8、輸入濾波器實(shí)時(shí)時(shí)鐘口令保護(hù)S7-200S7-200通信控制字通信控制字端口0端口1描述SMB30格式SMB130格式MSB:7 LSB:0 p p d b b b m m SM30.76SM130.76pp:奇偶選擇:00=無(wú)奇偶校驗(yàn),01=偶校驗(yàn),10=無(wú)奇偶校驗(yàn),11=奇校驗(yàn)SM30.5SM130.5d:每個(gè)字符的數(shù)據(jù)位。0=8位/字符;1=7位/字符SM30.42SM130.42bbb:自由口波特率:000=38.4K;001=19.2K;010=9.6K;011=4.8K;100=2.4K;101=1.2K;110=0.6K,111=0.3KSM30.10SM130.10Mm:協(xié)議選擇

9、。01=自由口協(xié)議注:每種配置都有一個(gè)停止位要實(shí)現(xiàn)S7-200與變頻器進(jìn)行RS485通訊,首先必須為所指定通訊用端口0或1配置相應(yīng)控制字,格式如下:S7-200S7-200通信控制字通信控制字例:例:如與變頻器通信:波特率為9.6K,1起始位,8數(shù)據(jù),1停止位,無(wú)奇偶校驗(yàn),使用PORT 0或PORT 1口,則分別設(shè)為: SMB30=00001001,即09,對(duì)應(yīng)PLC語(yǔ)句為: SMB30=16#09SMB130=00001001,即09,對(duì)應(yīng)PLC語(yǔ)句為:SMB130=16#09注意:注意:1、自由通訊協(xié)議只有在PLC處于運(yùn)行模式下才有效,一旦PLC處于停止 狀態(tài),則端口又自動(dòng)回到PPI協(xié)議狀

10、態(tài)。2、對(duì)于S7-200-CPU226,共有兩個(gè)PORT 口,一般我們只要使用任意一個(gè) 口即可作為PPI編程口,實(shí)現(xiàn)對(duì)PLC編程。如該口在用戶軟件中設(shè)定 為自由協(xié)議口后,一旦PLC運(yùn)行,則該口和上位機(jī)之間的PPI協(xié)議立刻 無(wú)效,轉(zhuǎn)為自由協(xié)議口,通訊將中斷。端口0端口1描述SMB86SMB186MSB:7 LSB:0 n r e 0 0 t c pn=1,用戶通過(guò)禁止命令結(jié)束接收信息r=1,接收信息結(jié)束,輸入?yún)?shù)錯(cuò)誤或缺少起始和結(jié) 束條件e=1,收到結(jié)束字符t=1,接收信息結(jié)束,超時(shí)c=1,接收信息結(jié)束字符數(shù)超長(zhǎng)p=1,接收信息結(jié)束,奇偶校驗(yàn)錯(cuò)誤SMB88SMB188指定一數(shù)據(jù)幀的起始字符SMB

11、89SMB189指定一數(shù)據(jù)幀的結(jié)束字符S7-200S7-200通信控制字通信控制字用戶可根據(jù)變頻器協(xié)議的要求設(shè)定起始字符SMB88(188)和結(jié)束字SMB89(189),也可以不指定或部分指定,如只指定結(jié)束字符,SMB89=16#0D。用戶可通過(guò)SMB86的內(nèi)容判斷當(dāng)前通信的狀態(tài)。端口0端口1描述SMB90,91SMB190,191空閑線時(shí)間段,以毫秒記。只有當(dāng)該時(shí)間段溢出后,PLC才開(kāi)始接收字符。該時(shí)間段類似于變頻器功能碼設(shè)置的通信延時(shí)。對(duì)SIEMENS PLC,該時(shí)間段可為0,對(duì)有些PLC,如FX2N,還有臺(tái)達(dá)的,該時(shí)間段不能為0,具體是多少和程序循環(huán)一周時(shí)間有關(guān)系。目前,只有EV2000

12、有通訊時(shí)間延時(shí)功能碼,其他系列變頻器還沒(méi)有,如需設(shè)置該參數(shù)需使用非標(biāo)程序。SMB92,93SMB192,193中間字符/信息定時(shí)器溢出值,以毫秒計(jì),如超過(guò)該時(shí)間段,則終止接收字符。SM92是高有效字節(jié),SM93是低有效字節(jié)。程序中SMW92=16#7F,即255毫秒。需要根據(jù)具體情況恰當(dāng)?shù)卦O(shè)置該值。因?yàn)楫?dāng)通訊出現(xiàn)故障,導(dǎo)致PLC無(wú)法收到變頻器發(fā)出的幀尾時(shí),需要靠該字設(shè)置的時(shí)間值來(lái)判斷是否結(jié)束本次接收。如果不結(jié)束本此接收,則PLC無(wú)法跳出接收狀態(tài)。該值相當(dāng)于通信超時(shí)的時(shí)間設(shè)定。SMB94SMB194要接收的最大字符數(shù),可以是1256,程序中設(shè)置為140。S7-200S7-200通信控制字通信控制

13、字t1tt2t0PLC發(fā)出幀變頻器響應(yīng)幀在圖中,t0是變頻器功能碼設(shè)置的通信延遲時(shí)間,該時(shí)間必須大于等于在PLC的SMW90中設(shè)置的空閑線事件段,否則,PLC將遺失變頻器響應(yīng)幀的頭幾個(gè)字節(jié)而導(dǎo)致錯(cuò)誤。同時(shí),用戶也應(yīng)恰當(dāng)設(shè)置t2即SMW92,以確保當(dāng)通信偶爾出現(xiàn)問(wèn)題時(shí)能正確處理。S7-200S7-200通信控制字通信控制字端口0端口1描述SMB87SMB187MSB:7 LSB:0 en sc ec il c/m tmr bk 0 En: 1=允許接收信息,0=禁止接收信息Sc: 1=使用SMB88的值檢測(cè)起始字節(jié),0=忽略起始字節(jié)Ec: 1=使用SMB89的值檢測(cè)結(jié)束字節(jié),0=忽略結(jié)束字節(jié)il

14、: 1=通信延遲檢測(cè),C/m: 1=定時(shí)器是信息定時(shí)器,0=定時(shí)器是內(nèi)部字符定時(shí)器Tmr:1,超時(shí)檢測(cè)Bk: 0=忽略中斷條件,1=使用中斷條件來(lái)檢測(cè)起始信息在PLC編程中,可結(jié)合從機(jī)變頻器的通訊特點(diǎn),設(shè)定SMB87,如對(duì)TD2000變頻器,可設(shè)定SMB87=16#BC(10111100):允許接收信息,忽略起始字節(jié),使用結(jié)束字符0D,通信延遲時(shí)間設(shè)為0ms,信息定時(shí)器,設(shè)置超時(shí)時(shí)間,忽略中斷條件。當(dāng)發(fā)生超時(shí)或奇偶校驗(yàn)錯(cuò)誤時(shí),自動(dòng)結(jié)束接收過(guò)程。S7-200S7-200通信控制字通信控制字S7-200S7-200通信指令通信指令發(fā)送指令發(fā)送指令XMTXMT:激活發(fā)送數(shù)據(jù)緩沖區(qū)(TBL)中的數(shù)據(jù)。

15、緩沖區(qū)TBL的第一個(gè)數(shù)據(jù)指令了要發(fā)送的字節(jié)數(shù),PORT口指明用于發(fā)送的端口。簡(jiǎn)單的情況下,可以只用發(fā)送指令(XMT)向其他串口設(shè)備發(fā)送信息。字符數(shù)MESSAGEXMT緩沖區(qū)格式注意:XMT指令緩沖區(qū)是不包含幀頭和幀尾字符的,即使在程序中已經(jīng)指定,但在發(fā)送時(shí)幀頭幀尾還是發(fā)送的。SM4.5和SM4.6反映XMT的當(dāng)前狀態(tài)。當(dāng)PORT0(PORT1)發(fā)送空閑時(shí),特殊控制寄存器位SM4.5(SM4.6)將置1。如果有一個(gè)中斷程序連接到發(fā)送結(jié)束事件上,在發(fā)完緩沖區(qū)中的最后一個(gè)字符時(shí)會(huì)產(chǎn)生一個(gè)中斷(事件9或26)接收指令接收指令RCVRCV:該指令可以接收一個(gè)或多個(gè)(最多256)個(gè)字符,這些字符存儲(chǔ)在用戶

16、指定的緩沖區(qū)中。RCV緩沖區(qū)格式:結(jié)束字符EGASSEM起始字符字符數(shù) 如果有一個(gè)中斷程序連接到接收完成事件上,在接收到緩沖區(qū)最后一個(gè)字符時(shí),會(huì)產(chǎn)生接收中斷(中斷事件23或24)。通過(guò)此中斷程序可以完成對(duì)接收信號(hào)的處理??梢酝ㄟ^(guò)監(jiān)視前面介紹的狀態(tài)字SMB86(PORT0)或SMB186(PORT1)狀態(tài)的變化,來(lái)確定當(dāng)前接收的狀態(tài),注意不是用中斷進(jìn)行信息接收。當(dāng)RCV郵箱正在接收時(shí),對(duì)應(yīng)的狀態(tài)字為0,接收結(jié)束或不接收時(shí),對(duì)應(yīng)的狀態(tài)字不為0。S7-200S7-200通信指令通信指令中斷連接與分離指令中斷連接指令(ATCH)將一個(gè)中斷事件和一個(gè)中斷程序聯(lián)系起來(lái),并允許該事件。中斷分離指令(DTCH

17、)截?cái)嘁粋€(gè)中斷事件和中斷程序的聯(lián)系,并禁止該中斷事件。在激活一個(gè)中斷程序前,必須在中斷事件和該事件發(fā)生時(shí)希望執(zhí)行的那段程序間建立聯(lián)系。即ATCH的功能。多個(gè)中斷事件可以調(diào)用同一個(gè)中斷程序,但一個(gè)中斷事件不能同時(shí)指定多個(gè)中斷程序。全局中斷指令DISI禁止所有中斷,全局中斷允許指令ENI允許中斷。S7-200S7-200中斷和通信中斷和通信- -中斷指令中斷指令事件號(hào)8923242526中斷優(yōu)先級(jí)000111中斷描述端口0接收字符端口0發(fā)送信息完成端口0接收信息完成端口1接收信息完成端口1接收字符端口1發(fā)送信息完成PLC為每一種中斷事件指定了一個(gè)唯一的事件號(hào),下表列出了通信相關(guān)的中斷事件。我們需要

18、注意接收中斷事件8和23(以PORT0為例)的區(qū)別。中斷事件8是當(dāng)PORT0接收到一個(gè)有效的字符后即進(jìn)入中斷處理程序,而接收到的字符存放在SMB2。中斷事件23是接收到一完整數(shù)據(jù)幀才進(jìn)入中斷處理程序,接收到的字符存放在用戶指定的數(shù)據(jù)區(qū)中。而完整數(shù)據(jù)幀是靠定義幀的長(zhǎng)度或幀尾來(lái)判斷的。如指定事件23,則必須用接收指令RCV。假設(shè)一可以指定幀尾的數(shù)據(jù)幀由5個(gè)字符組成,如果分別由中斷事件8和中斷事件23接收,則中斷事件8所指定的中斷程序會(huì)進(jìn)入5次,而中斷事件23所指定的中斷程序則只進(jìn)入一次。S7-200S7-200中斷和通信中斷和通信- -中斷事件中斷事件以下系統(tǒng)完成功能如下:1、廣播起、停變頻器。2

19、、對(duì)站號(hào)為2(或1)的變頻器進(jìn)行當(dāng)前運(yùn)行頻率查詢3、統(tǒng)計(jì)發(fā)送次數(shù)和有效接收次數(shù)。同時(shí)HMI顯示PLC讀取的結(jié)果。S7-200S7-200通信實(shí)例通信實(shí)例TD2000/3000Hiteck HMIS7-200-CPU226通信系統(tǒng)示意圖PORT 0PORT 1注意:1、由于TD2000和TD3000的協(xié)議完全不同,所以要完成同樣任務(wù),需要 不同的程序處理方式。2、TD2000由于有固定的幀尾,可采用幀中斷(中斷事件號(hào)23)來(lái)進(jìn)行 。在通訊發(fā)生異常時(shí),通過(guò)奇偶校驗(yàn)錯(cuò)誤或接收超時(shí)來(lái)結(jié)束接收過(guò) 程。3、TD3000用字節(jié)中斷(中斷事件號(hào)8)進(jìn)行,在通訊發(fā)生異常時(shí),通過(guò) 指定的定時(shí)器中斷來(lái)結(jié)束接收過(guò)程。

20、4、這里必須指出的是:TD3000還是TD2000都可以采用上述兩種中斷方 式來(lái)完成相應(yīng)的通信功能,但上述方法值得推薦。S7-200S7-200通信實(shí)例通信實(shí)例軟硬件配置:Siemens PLC S7-200 CPU226,Hiteck PWS1711 HMI,TD2000變頻器。PLC編程軟件為 V3.1 Step7 MicroWin32。 變頻器PORT-CABLE-PLC PORT0 RS485 9 Pin 485+ -3 DATA+485 - -8 DATA-HMI-COM1 9 Pin Male-CABLE-PLC PORT1 RS485 9Pin RXD/TXD 1 -3 DATA

21、+RXD/TXD 6 -8 DATA-PLC與變頻器和HMI的接口連接如下圖:S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000任務(wù)分解:任務(wù)分解:廣播開(kāi)機(jī)觸發(fā)信號(hào):M0.0或I0.0的上升沿對(duì)應(yīng)幀:7e|37|46|30|32|30|30|30|33|30|31|41|32|0D廣播停機(jī)觸發(fā)信號(hào):M0.0或I0.0的下降沿對(duì)應(yīng)幀:7e|37|46|30|32|30|30|30|37|30|31|41|36|0D運(yùn)行頻率查詢SM0.5或I0.1的脈沖信號(hào)對(duì)應(yīng)幀:7e|30|31|30|31|30|30|30|30|30|31|38|32|0D需正確接收變頻器的反饋幀,提取頻率值并

22、對(duì)發(fā)送和接收進(jìn)行計(jì)數(shù)備注:觸發(fā)信號(hào)都有兩個(gè),是因?yàn)榧瓤梢詮亩俗佑|發(fā),也可以由HMI來(lái)觸發(fā)。SM0.5是PLC的特殊存儲(chǔ)器位,是周期為1S,占空比50%的時(shí)鐘脈沖。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000接收成功接收中斷處理子程序定時(shí)器1中斷子程序結(jié)束本次收發(fā)結(jié)束本此收發(fā)結(jié)束本此收發(fā)發(fā)送中斷處理子程序定時(shí)器0中斷子程序數(shù)據(jù)發(fā)送發(fā)送成功NYYNS7-200S7-200通信實(shí)例通信實(shí)例- -通信處理思路通信處理思路繼續(xù)發(fā)送1、主程序:變頻器地址為1,通訊控制,其他為默認(rèn)設(shè)置。PLC和變頻器之間的通信采用幀中斷的方式進(jìn)行,程序由1個(gè)主程序,6個(gè)子程序和4個(gè)中斷程序構(gòu)成。說(shuō)明:S

23、M0.1:PLC的特殊位寄存器,它只在程序首次運(yùn)行時(shí)置1,其后置0,因此,初始化部分只進(jìn)行一次,這樣可以避免程序每循環(huán)一次都初始化一次。|P|代表上升沿,|N|代表下降沿,必須使用沿信號(hào)作為幀發(fā)送的觸發(fā)信號(hào),如果使用電平信號(hào)觸發(fā),則在每次程序循環(huán)掃描時(shí)因觸發(fā)條件都成立而觸發(fā)發(fā)送。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000SM0.5的作用在前面已經(jīng)介紹。并用VW214記錄查詢發(fā)送的次數(shù)。M0.1是由HMI觸發(fā)的信號(hào),表示允許查詢。避免PLC一運(yùn)行就開(kāi)始進(jìn)行頻率查詢。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD20002、初始化子程序SBR0SM0.0:PLC的特

24、殊寄存器位,該位始終為1,表示只要調(diào)用該子程序的條件成立,則子程序就執(zhí)行。SMB30:PORT0,9.6K波特率,1起始,8數(shù)據(jù),1停機(jī),無(wú)校驗(yàn)的數(shù)據(jù)格式SMB87:允許接收功能,忽略起始字節(jié),使用結(jié)束字符檢測(cè),允許通信延遲時(shí)間和超時(shí)時(shí)間起作用。SMB89:結(jié)束字符為0D。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000SMW90=0說(shuō)明通信延時(shí)時(shí)間為0ms。因?yàn)槟壳霸赥D3000/TD2000/TD1000系列的標(biāo)準(zhǔn)產(chǎn)品中都默認(rèn)通信延遲時(shí)間為0。SMW92=7F,說(shuō)明通信超時(shí)時(shí)間為255ms。SMB94=140,說(shuō)明允許接收的最大字符數(shù)為140。ENI:開(kāi)放中斷語(yǔ)句。因?yàn)橥ㄐ?/p>

25、是通過(guò)幀中斷來(lái)進(jìn)行的,所以需要開(kāi)放中斷。下面三個(gè)語(yǔ)句都是初始化數(shù)據(jù)區(qū),置0。至此,程序的初始化工作完成。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD20001、廣播開(kāi)機(jī)子程序SBR1(各字節(jié)意義見(jiàn)TD2000協(xié)議,并調(diào)用發(fā)送子程序SBR5) 說(shuō)明:PLC可以使用XMT指令發(fā)送數(shù)據(jù),可以發(fā)送一個(gè)或多個(gè),最多256個(gè)字符。其帶兩個(gè)參數(shù),一個(gè)是端口號(hào),一個(gè)是發(fā)送緩沖區(qū)的首址,并且該首址內(nèi)容指定要發(fā)送的緩沖區(qū)字符數(shù)。我們將緩沖區(qū)首址設(shè)定為VB99,其值為14,說(shuō)明共發(fā)送14個(gè)字符。廣播幀的內(nèi)容放在VB100VB113。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000當(dāng)廣播幀

26、的全部數(shù)據(jù)都放到發(fā)送緩沖區(qū)后,調(diào)用發(fā)送子程序SBR5。2、廣播停機(jī)子程序SBR2 S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000我們可以觀察到,停機(jī)廣播命令和開(kāi)機(jī)廣播命令在程序的處理上完全一樣,只是發(fā)送的具體字符不同。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD20003、頻率查詢子程序SBR3 S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000頻率查詢命令和停機(jī)廣播命令,開(kāi)機(jī)廣播命令在程序結(jié)構(gòu)上也是完全一樣,只是發(fā)送的具體字符不同。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD20004、數(shù)據(jù)幀發(fā)送子程序SBR5 使用XMT發(fā)送數(shù)據(jù),如果

27、有一個(gè)中斷程序連接到發(fā)送結(jié)束事件上,則在發(fā)完緩沖區(qū)的最后一個(gè)字符時(shí),會(huì)產(chǎn)生一個(gè)中斷。對(duì)端口0為中斷事件9。因此本文將中斷事件9連接到中斷程序INT_0上。當(dāng)發(fā)送完數(shù)據(jù)幀后,程序會(huì)轉(zhuǎn)而執(zhí)行INT_0。定時(shí)時(shí)鐘在TD2000程序中無(wú)作用。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD20005、發(fā)送結(jié)束中斷程序0當(dāng)發(fā)送結(jié)束時(shí),將發(fā)送結(jié)束中斷和中斷程序INT_0連接,一旦進(jìn)入INT_0,則需斷開(kāi)該連接,以便下次進(jìn)入。同時(shí)需在接收中斷事件和接收中斷程序間建立連接。還需要指明接收的首地址。PLC中PORT0的接收結(jié)束中斷事件指定為中斷事件23。接收指令為RCV ,其參數(shù)分別是端口號(hào)和接收數(shù)據(jù)存

28、放的首地址。在接收完成后,首地址存放的內(nèi)容是所接收一幀數(shù)據(jù)的字符數(shù)。在程序中,我們指定首地址為VB116。定時(shí)中斷事件在TD2000程序中沒(méi)有用。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD20006、幀接收中斷2進(jìn)入幀接收程序后,首先斷開(kāi)中斷事件和中斷程序的連接。然后對(duì)所接收字節(jié)進(jìn)行校驗(yàn),如校驗(yàn)正確,則將接收記數(shù)加1。并對(duì)頻率參數(shù)進(jìn)行ASCII碼到BCD碼的轉(zhuǎn)換。 SBR4是按照TD2000協(xié)議進(jìn)行的幀校驗(yàn)子程序,用檢查所接收數(shù)據(jù)的正確性,而后將校驗(yàn)結(jié)果放在VW202當(dāng)中S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000ATH是ASCII碼轉(zhuǎn)換到16進(jìn)制碼的指令,程

29、序中表示將VB130VB133(接收到變頻器傳來(lái)的校驗(yàn)碼)連續(xù)四個(gè)ASCII碼轉(zhuǎn)換成16進(jìn)制的數(shù)放在VW202當(dāng)中。隨后進(jìn)行比較:1、接收字符數(shù)是否是18?2、校驗(yàn)碼能否吻合?如果接收無(wú)誤,則接收次數(shù)增1,并提取頻率值。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD20007、校驗(yàn)子程序:在前述程序中,我們將接收字符放在以VB116開(kāi)始的緩沖區(qū)當(dāng)中,并且VB116存放接收字符的總數(shù)。根據(jù)TD2000協(xié)議,我們知道變頻器反饋的字符數(shù)是18個(gè),各字符在數(shù)據(jù)區(qū)中存放地址如下:116117118119120121122123124125126127128129130131132133134字

30、符數(shù)幀頭變頻器地址響應(yīng)索引頻率值校驗(yàn)碼幀尾根據(jù)協(xié)議,需要對(duì)VB118VB129共12個(gè)字節(jié)求和。在程序中使用FORNEXT語(yǔ)句實(shí)現(xiàn)S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000注意:程序采用指針進(jìn)行,VB118地址是32位,因此必須用雙字。累加可能會(huì)溢出,因此必須將字節(jié)轉(zhuǎn)化為字后進(jìn)行累加。結(jié)果存放在VW202當(dāng)中。S7-200S7-200通信實(shí)例通信實(shí)例TD2000TD2000TD2000交流與討論TD3000通信程序所要實(shí)現(xiàn)的功能和TD2000基本一樣,它是采用字符中斷形式進(jìn)行,也就是每次只接收一個(gè)字符,通信參數(shù)設(shè)置和TD2000略有差別,但總體程序結(jié)構(gòu)相差不多。變頻器地址

31、為2,通訊控制,其他為默認(rèn)設(shè)置。PLC和變頻器之間的通信采用字符中斷的方式進(jìn)行,程序由1個(gè)主程序,6個(gè)子程序和4個(gè)中斷程序構(gòu)成 觸發(fā)幀內(nèi)容廣播開(kāi)機(jī)I0.0上升沿7E|7F|04|7F|13|88|9F廣播停機(jī)I0.0下降沿7E|7F|04|7E|13|88|9E運(yùn)行命令查詢I0.1脈沖7E|02|13|88|S7-200S7-200通信實(shí)例通信實(shí)例TD3000TD3000主程序:主程序和TD2000完全一樣S7-200S7-200通信實(shí)例通信實(shí)例TD3000TD30001、初始化子程序SBR0在初始化子程序中,將PORT0設(shè)置為自由口通信,9600BPS,(1、8、1、0)的數(shù)據(jù)格式,至于在T

32、D2000中設(shè)置的通信延時(shí),超時(shí)等問(wèn)題都因?yàn)橛枚〞r(shí)器中斷而解決,這將在后面詳細(xì)說(shuō)明。因?yàn)樵诔绦蛑姓f(shuō)明所接收的字符數(shù),所以也不用指定幀尾作為接收結(jié)束的依據(jù)。事實(shí)上TD3000也無(wú)固定的幀尾。S7-200S7-200通信實(shí)例通信實(shí)例TD3000TD30002、廣播開(kāi)機(jī)子程序SBR1(各字節(jié)意義見(jiàn)TD3000協(xié)議,并調(diào)用發(fā)送子程序SBR5) S7-200S7-200通信實(shí)例通信實(shí)例TD3000TD30003、廣播停機(jī)子程序SBR2 S7-200S7-200通信實(shí)例通信實(shí)例TD3000TD30004、頻率查詢子程序SBR3 若VB100=7,則說(shuō)明在該程序以前已有變頻器控制字的存在(PLC已發(fā)出過(guò)廣播

33、停機(jī)、開(kāi)機(jī)、查詢等命令),而查詢頻率不能改變當(dāng)前的控制字,因此不能直接給相關(guān)字節(jié)賦值,而必須使用原先的控制字,為做到這一點(diǎn),調(diào)用了子程序4。若VB1007,,說(shuō)明以前PLC沒(méi)有控制過(guò)變頻器,則直接發(fā)停機(jī)命令,根據(jù)TD3000協(xié)議,會(huì)自動(dòng)返回頻率信息。S7-200S7-200通信實(shí)例通信實(shí)例TD3000TD30005、校驗(yàn)子程序 SBR4TD3000協(xié)議采用的是字節(jié)異或校驗(yàn),校驗(yàn)的結(jié)果存放在VB107。S7-200S7-200通信實(shí)例通信實(shí)例TD3000TD30006、數(shù)據(jù)幀發(fā)送子程序SBR5 發(fā)送指令XMT進(jìn)行數(shù)據(jù)幀的發(fā)送,其首址為VB100,值為7,存放的是需發(fā)送的字符數(shù)。在發(fā)送指令動(dòng)作后,可能會(huì)出現(xiàn)兩種情況:1、發(fā)送成功結(jié)束,產(chǎn)生結(jié)束中斷,該事件9對(duì)應(yīng)為中斷事件INT_0。2、發(fā)送不成功,必須人為結(jié)束本次中斷,判斷發(fā)送不成功的依據(jù)是定時(shí)器T0。程序給定時(shí)器T0(SMB34)賦值30ms。目的是當(dāng)發(fā)送命令執(zhí)行30ms后,如果沒(méi)有正常的發(fā)送結(jié)束中斷事件產(chǎn)生,則用定時(shí)器T0中斷來(lái)結(jié)束本此發(fā)

溫馨提示

  • 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)論