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