999久久久精品国产消防器材,国产成人久久综合77777,√最新版天堂资源网在线,精品久久久久区二区8888,卡一卡二卡三乱码视频

技成培訓(xùn)網(wǎng) 技成學(xué)習(xí)APP 技成工具箱 技成企業(yè)服務(wù)

歡迎回到技成培訓(xùn)網(wǎng)

技成培訓(xùn)網(wǎng)

電工題庫寶典

技成電工課堂

PLC練習(xí)題

技成PLC課堂

變頻器故障查詢

技成PLC學(xué)吧

伺服驅(qū)動故障查詢

技成PLC網(wǎng)校

當(dāng)前位置:技成首頁 > 文章中心 > 西門子PLC > 【玩轉(zhuǎn)485】5.數(shù)據(jù)的接收3【連載5】

【玩轉(zhuǎn)485】5.數(shù)據(jù)的接收3【連載5】

林慧玲 發(fā)布于2015-02-13 15:41 2411 0 標(biāo)簽:通訊

上一篇文章向大家介紹了通過起始字符和結(jié)束字符判斷一段報文的開始和結(jié)束,本文我們向大家介紹如何利用時間判斷的方式來接收報文。


為什么要使用時間的方式來對報文進(jìn)行判斷呢?其實大家可以設(shè)想這樣一種情況,當(dāng)我們使用起始字符和結(jié)束字符的方式來判斷一段報文的開始與結(jié)束,如果在報文中間出現(xiàn)了起始字符或者結(jié)束字符,將會發(fā)生什么情況能?相信看過上一篇文章的朋友肯定可以發(fā)現(xiàn)其中的缺點,那么解決這些缺點的方法就是通過時間來判斷報文的起始與停止。

首先我們要明確報文一般分為固定長度不固定長度兩種形式。

1 報文長度固定

.jpg
圖1-1

當(dāng)有些通訊協(xié)議中報文長度固定的情況下PLC接收每段報文所需的時間都是一樣的,這樣我們就可以根據(jù)報文的長度算出來接收報文所需的時間,然后PLC就可以從接收到個字符開始計時,計時達(dá)到設(shè)定時間就算一段報文接收完成。
這里我們打個比方,如果是通訊速率是9600bps,每個字符10個位(1個起始位、1個停止位、8個數(shù)據(jù)位、無效驗位)那么我們接收一個字符就需要(1000/9600)*10≈1.04ms。如果每個報文6個字符那么PLC接收這段報文就需要6*1.04 = 6.24ms,這時我們就可以在PLC中設(shè)定從開始接收報文起6.24ms后停止接收報文,然后從新進(jìn)入等待接收報文的狀態(tài)。

2 報文長度不固定

.jpg
圖2-1
在有的協(xié)議中報文的長度是不固定的,那這種情況下我們應(yīng)該如何判斷一段報文起始和停止呢?其實這個也是比較簡單的當(dāng)報文中字符的數(shù)量是不固定的時候,我們可以通過字符與字符之間的時間間隔來進(jìn)行判斷,通常情況是3.5個字符時間。那么在9600bps的通訊速率,每個字符10個位的情況下就是3.5*1.04 = 3.64ms的時間中如果PLC沒有接收到數(shù)據(jù),就認(rèn)為一段報文已經(jīng)接收完成,下面再接收到的數(shù)據(jù)就算一段新報文的開始。

這里可能有的朋友會有疑問,如果兩段報文的間隔小于3.5個字符時長那不就出問題了么?其實有這種擔(dān)心的朋友主要是對485通訊收發(fā)數(shù)據(jù)的方式不夠了解。由于485通訊是半雙工通訊方式,所以一般都是A站點接收一個B站點發(fā)送的報文,然后給B站點發(fā)送一個報文,B站點接收到A站點發(fā)送的數(shù)據(jù)后再返給A站點一個報文。如圖 2-2

.jpg
圖 2-2

因此當(dāng)PLC接收到一個報文后不是立刻接收下一個報文,而是先發(fā)送一個報文出去,由于發(fā)送一組報文的時間肯定大于3.5個字符時長,所以不會存在被接收的兩個報文之間的時長小于3.5個字符長度的情況。

本文就先給大家普及一下基本概念,下一篇文章我們來具體研究一下程序的編寫。

作者:馬樂
版權(quán)為技成所有,未經(jīng)同意,盜取必究!

若有收獲,就點個贊吧!

文章來源于網(wǎng)絡(luò)及文獻(xiàn)如有侵權(quán)請聯(lián)系站長
分享到:

微信掃一掃分享

閱讀與本文標(biāo)簽相同的文章

通訊

相關(guān)推薦

最新文章 熱門文章
最新課程 免費課程
PLC資料下載 電工電氣資料下載
應(yīng)用新秀
變頻器故障代碼查詢APP
伺服故障代碼查詢APP
技成
手機(jī)APP
熱門標(biāo)簽