這一節介紹PLC的數據通信,數據通信在PLC的學習(xi) 中是屬於(yu) 比較高級的應用,對於(yu) 初學者來說覺得還是有一定的難度,許多朋友一接觸通信就感覺頭大,各種的雲(yun) 山霧罩,想要學習(xi) 卻又無從(cong) 下手。其實PLC的數據通信並沒有大家想的那麽(me) 難學,你隻要把通信的基礎原理弄明白了,不管什麽(me) 樣的通訊很容易就能學會(hui) ,因為(wei) 絕大數的通信本質都是一樣的,都是一堆0和1,。下麵我就以圖片加文字的方式,從(cong) 通信最基礎的知識給大家講起。
看圖1,這是一張PLC和各種現場設備的通信示意圖,通信的組合方式有許多種,可以是1對1,1對多,也可以多對多。這些通信的雙方或多方雖然長的千奇百怪各不相同,但是它們(men) 都要有這麽(me) 幾個(ge) 共同點。
1,都要有一個(ge) 或多個(ge) 通信端口。
2,相同的通信協議。
3, 相同的波特率,等等,這些會(hui) 在以後講解。
再看圖2,PLC的通信原理就和我們(men) 人類的對話是一樣的,都是你問我答,或我問你答。隻不過我們(men) 用的是漢語對話,而PLC用的是PLC和設備能聽懂的語言進行對話的。那麽(me) PLC是怎麽(me) 說話的?說的又是什麽(me) 呢?接著往下看。
看圖3,就是PLC正在和外部設備進行對話,它對話的方式就是,控製通訊端口的輸出電壓。當想要說1時它就輸出一個(ge) 高電壓 5V,當想要說0時它就輸出一個(ge) 低電壓0V。這樣它就能夠說出無數的0和1。
這就是PLC說話的方式,並且隻能說0和1,但這對於(yu) PLC通信來說已經夠了,因為(wei) 我們(men) 的通信設備也都隻認識0和1。好了,有了共同的語言它們(men) 就可以進行交流了。
圖4,就是PLC和變頻器的1對1的通信示意圖,PLC通過通信端口把輸出電壓變化8次,就能輸出8個(ge) 0或1,分別是10110101。因為(wei) 變頻器的通信端口和PLC的通信端口是連接在一起的,所以當PLC的通信端口電壓變化時,變頻器的通信端口就能檢測到電壓的變化。它就能知道PLC給它發送的是0還是1,這樣PLC讓電壓變化8次以後,變頻器就能收到和PLC發生的一樣的10110101這一組數據。
那麽(me) 變頻器怎麽(me) 知道它接收的這一組數據,代表的是什麽(me) 意思呢?請看下圖。本節的重點。
圖5,是數據通信的格式,這是外國人在發明通訊時就規定好的,我們(men) 必須按這個(ge) 格式發送數據。這個(ge) 格式就是“幀”,我們(men) 進行通信時最少要發送一個(ge) “幀”。不能發送半“幀”,那樣通信就會(hui) 失敗。
1“幀”等於(yu) 12個(ge) 0或1,也就是說PLC通信端口的高低電壓要變化12次,才能完成1“幀”。(注:也有11次或10次為(wei) 1幀的,原理一樣,這裏隻講12次為(wei) 1幀的)。下麵我們(men) 看一下這一“幀”是怎麽(me) 組成的。
A,如圖5幀的第一位叫起始位,顧名思義(yi) ,就是告訴設備我要開始發送數據了,注意這一位必須是0,也就是通信端口要輸出低電壓。
B,幀的第二位至第九位叫數據位,這就我們(men) 要傳(chuan) 送的數據,共8個(ge) 位。也就是說通信端口的高低電壓要變化8次。也就是說可以傳(chuan) 送二進製0000 0000--1111 1111之間的任何一個(ge) 數,用十進製表示就是0--255之間的任何一個(ge) 數。我們(men) 以前講過8個(ge) 位等於(yu) 1個(ge) 字節,也就是說1“幀”最多隻能傳(chuan) 送1個(ge) 字節數據。
C,幀的第十位叫奇偶校驗位,這一位可以是0,也可以是1。這一位的作用是對前麵的8個(ge) 數據位中是1的位,做一個(ge) 簡單的奇偶數的校驗。比如8個(ge) 數據位要傳(chuan) 送的是01001101這個(ge) 數據,這個(ge) 數據裏麵是1的位共有4個(ge) ,那麽(me) 4就是一個(ge) 偶數,我們(men) 的奇偶校驗位,這一位就是0,通訊端口就要輸出低電壓。如果8個(ge) 數據位要傳(chuan) 送的是11001101這個(ge) 數據,這個(ge) 數據裏麵是1的位共有5個(ge) ,那麽(me) 5就是一個(ge) 奇數,我們(men) 的奇偶校驗位,這一位就是1,通訊端口就要輸出高電壓。有了這個(ge) 奇偶校驗位,當我們(men) 在傳(chuan) 送數據時,如果因為(wei) 各種原因的幹擾而破壞了真正的數據時,接收端的設備就可以通過查詢“幀”中的奇偶校驗位,來判斷接收的數據正確與(yu) 否。
D,幀的第十一位和十二位叫停止位,就是告訴設備數據發送完成了,注意這兩(liang) 位必須是1,也就是通信端口要輸出兩(liang) 次高電壓。
E, 空閑位,它不算在“幀”中,隻要不發送數據了,也就是停止位以後都是空閑位,空閑位都是1,也就是通信端口一直輸出高電壓。直到有起始位。
這就是數據通信最小的基本單位“幀”的組成和作用。總結一下,當PLC要發送數據時,通訊端口首先輸出低電壓,也就是起始位為(wei) 0。然後再根據要傳(chuan) 送的數據使端口輸出高低電壓共8次,也就是數據位。然後再計算出奇偶校驗位,輸出相應的電壓。接著就輸出停止位,這樣1“幀”的通訊就完成了。
圖6,是一個(ge) 例子,它演示的是PLC把十進製的181這個(ge) 數傳(chuan) 送給另一個(ge) 設備。我們(men) 知道十進製的181轉換成二進製就是1011 0101(怎麽(me) 轉換看我以前的講解,這裏不再重複),然後通過一個(ge) 幀把它發送出去。這個(ge) 例子如果你能看明白,說明這一節的內(nei) 容你已經掌握了。
另:如果你覺得講的湊合還行的話,可以點擊下麵的讚賞哈哈,當點寫(xie) 作的動力吧,您隨意。不讚賞也無妨,有了好作品還是會(hui) 和大家一起分享。我們(men) 下節再見。