S7-200自由口通信知識分享(5)
盧思敏
發(fā)布于2017-08-14 14:18
650
0
標(biāo)簽:S7-200
在前面主要跟大家分享了下自由口通信中的一些基本概念,使用的指令及自由口通信的接收功能中如何進(jìn)行消息起始的判斷,那么今天跟大家分享下自由口通信中使用接收功能接收信息時,如果進(jìn)行消息結(jié)束條件的判斷。因為只有當(dāng)PLC接收到結(jié)束條件時 ,PLC才會認(rèn)為是消息接收完成,此時才會關(guān)斷PLC端口的接收功能,同時產(chǎn)生一個接收完成中斷。
在自由口通信接收功能中,消息結(jié)束條件的判斷,主要會用三種方式:
種方式使用結(jié)束符作為消息的結(jié)束判斷(若有特定的結(jié)束符的時候,可以使用結(jié)束符作為消息的結(jié)束條件判斷)。
第二種,使用消息定時器作為消息的結(jié)束條件判斷。
第三種,通過字符定時器作為消息結(jié)束條件的判斷。
對于種通過結(jié)束符作為消息的結(jié)束判斷,在自由口通信知識分享(3)這篇文章中已經(jīng)有跟大家提到過,今天我們主要說說第二種的消息結(jié)束判斷方式——消息定時器作為消息的結(jié)束判斷條件。這里主要跟大家分享下消息定時器用于判斷消息結(jié)束的過程已經(jīng)如何使用。
消息定時器判斷消息結(jié)束的過程:
所謂的消息定時器,并不是說需要編程人員去編寫一個定時的程序來做判斷,而是PLC自動會去做判斷,跟我們在前面一篇文章中提到的空閑線時間的檢查一樣的道理。
若設(shè)定了消息的結(jié)束判斷條件為消息定時器,PLC會在消息的起始條件滿足后, 開始計時,當(dāng)計時時間到后,關(guān)斷接收功能,這段計時的時間就是消息定時器定時的時間,如下圖所示:
當(dāng)消息起始條件滿足后,PLC會開始進(jìn)行字符的接收,并把接收到的字符存儲到接收緩沖區(qū)中,同時啟動消息定時器,開始檢查消息定時器的條件,在消息定時器所規(guī)定的時間還沒有到時,接收到的字符都會存入到接收緩沖區(qū)中,當(dāng)消息定時器設(shè)定的定時時間到后,PLC會關(guān)斷接收功能,終止接收,消息定時器時間到后,發(fā)送過來的字符,PLC不進(jìn)行接收。
如果把這個接收過程比喻成我們?nèi)伺c人交流,例如,A在給B匯報一件事情,這一件事情的內(nèi)容,就是我們通信中的信息,當(dāng)A開始匯報的時候,按照預(yù)算,這個匯報多十分鐘,可以匯報完,那如果給A十五分鐘的時間做匯報,能否匯報完呢?答案當(dāng)然是肯定的。而消息定時器,就是類似于這種原理。
在這里面有 兩個三個條件需要我們?nèi)ピO(shè)置,首先,如何告訴PLC是消息定時器?其次,在什么時候開始計時?后,定時器的時間長度如何設(shè)置,設(shè)置到哪里?設(shè)置多長時間合適?
如何告訴PLC使用消息定時器作為消息的結(jié)束條件判斷:
通過對控制字節(jié)的設(shè)置,可以告訴PLC接收功能中判斷消息的結(jié)束條件是以消息定時器作為消息的結(jié)束條件的判斷。
如上圖所示,我們需要告知PLC使用消息定時器作為消息的結(jié)束條件,我們需要設(shè)置控制字節(jié)中的SM87.2和SM87.3(以PORT0為例),要使用消息定時必須設(shè)置SM87.3=1,SM87.2=1.
什么時候開始啟用消息定時計數(shù):
消息定時器的啟動,需要配合起始條件來實現(xiàn),當(dāng)消息的起始條件滿足后,CPU會自動啟動消息定時器。
定時器的時間長度如何設(shè)置,設(shè)置多長時間合適?
通常,指定一個從消息開始算起的允許接收消息的大時間。消息定時器的典型值約為在選定波特率下接收長消息所需時間值的 1.5 倍。 當(dāng)然在使用的過程中,并不一定按照這么嚴(yán)格的計算,有可能會超過1.5倍的時間長度。假設(shè)一個字符加起始位,停止位,奇偶校驗位為,數(shù)據(jù)位,為11個bit位,波特率為9.6kbps。則接受10個字符的時間需要的長度,我們可以設(shè)置為20ms。
時間計算出來后,如何設(shè)置?設(shè)置到哪里呢? PLC有提供系統(tǒng)存儲器用于設(shè)定消息定時的定時時間長度,對于port0來講,我們需要把時間存儲到SMW92這個系統(tǒng)存儲器中,可以使用傳送指令把20傳送到SMW92中。
我們以空閑線作為消息接收的起始條件,以消息定時器作為消息接收的結(jié)束條件,來說明下如何進(jìn)行設(shè)置:

以上為個人理解,如有不對之處請給予指正,希望對大家在學(xué)習(xí)自由口通信時,有所幫助,謝謝?。。?/span>
(待續(xù)。。。)
來源:微信號(我愛學(xué)PLC)
作者:技成培訓(xùn)網(wǎng)(曾鑫)
本文為原創(chuàng)作品,盜取必究!
推薦學(xué)習(xí)相關(guān)視頻:
西門子S7-300使用指南
西門子s7-300中高級應(yīng)用技術(shù)
西門子S7-200PLC從入門到精通
西門子S7-200 SMART PLC編程應(yīng)用入門