999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種靈活的PLC數據顯示方法

2018-12-18 01:30:20朱衛國樊留鎖
科教導刊·電子版 2018年29期
關鍵詞:單片機

朱衛國 樊留鎖

摘 要 PLC作為工業自動化控制系統的核心,早已得到了廣泛的應用,由于PLC的優良性能和重要性,PLC的價格也一直是居高不下,在進行數據的顯示時,如果是通過機工業計算機或者觸摸屏這樣的上位機,自不必說,這是輕而易舉的事,如果沒有工業計算機或者觸摸屏只通過PLC的輸出口進行大量數據的顯示,是很不合算的,因為PLC的價格對I/O點數很敏感,然而通過單片機與PLC的通信并進行大量數據的顯示,則不失為一種高效靈活個性化的設計方法。

關鍵詞 PLC 單片機 數據 靈活

中圖分類號:TP278 文獻標識碼:A

0引言

單片機作為一種嵌入式智能單元已得到了非常廣泛的應用,這主要表現在它體積小、價格低、功能多樣、靈活多變等特點,即使在PLC這樣的控制系統中也常常會見到他的身影,在本例中我們通過單片機與PLC的編程口通信實現PLC內部數據的采集與顯示,它的好處在于不占用PLC的任何輸出端口、采集數據量可多可少、制造成本可高可低、顯示屏可大可小、顯示距離可遠可近,充分體現了用單片機采集顯示PLC內部數據的靈活性。

1編程口的應用

所有的PLC都有一個編程口可以和上位計算機進行通信,以便可以進行程序的讀寫、運行監視和實時控制。在通信協議方面都有一套不需要用戶編程的固有通信服務程序,上位機只需要按格式通信即可,但這種協議對每一個品牌的PLC來說,并不都是公開的,如果我們不知道這個協議,那么除非是應用組態王或者是某一品牌的觸摸屏軟件可以通過簡單的設置就可以通信過外,自己用單片機、VB和VC等軟件是難以實現通信的,如果用PLC的通信指令,有的品牌PLC的通信指令不支持編程口,必須用其自己的通信模塊,而一個通信模塊也價格不菲,這也顯然是不合算的,所以不用PLC輸出口而可以進行大量數據顯示的前提是能通過編程口進行有協議的串行通信或無協議但是支持串行通信指令的通信,在此我們僅僅討論的是通過三菱FX系統PLC編程口進行有協議的串行通信。

2三菱FX系列PLC的編程口通信協議

在這種通信方式中,與PLC通信的計算機為主機,PLC僅作用從機存在,通信功能有四種,軟元件讀寫各一種,對應命令分別為0(ASCII碼30H)和1(ASCII碼31H),位強制置位與復位各一種對應命令分別為7(ASCII碼37H)和8(ASCII碼38H),三菱FX系列PLC的編程口通信協議是以幀為單位進行傳輸的,每幀的每個字節都是以ASCII碼的形式存在的,每一幀的數據因上傳與下傳的不同、命令、以及信息的多少而在結構與長短上有所不同。

2.1上位機讀取PLC軟元件的數據

上位機發送幀:幀開始標志(ASCII碼02H)、命令(ASCII碼30H)、首地址(4個ASCII碼)、數據數目(2個ASCII碼)、幀結束標志(ASCII碼03H)、和校驗(2個ASCII碼),一共11個ASCII碼。

PLC返回幀:幀開始標志(ASCII碼02H)、數據1(4個ASCII碼)、數據2(4個ASCII碼)、……、最后一個數據(4個ASCII碼)、幀結束標志(ASCII碼03H)、和校驗(2個ASCII碼),長度不確定。

2.2上位機向PLC軟元件寫數據

上位機發送幀:幀開始標志(ASCII碼02H)、命令(ASCII碼30H)、首地址(4個ASCII碼)、數據數目(2個ASCII碼)、數據1(4個ASCII碼)、數據2(4個ASCII碼)、……、最后一個數據(4個ASCII碼)、幀結束標志(ASCII碼03H)、和校驗(2個ASCII碼),長度不確定。

PLC返回幀:

接受正確返回ASCII碼06H

接受錯誤ASCII碼15H

2.3上位機置位與復位PLC上的位元件

上位機發送幀:幀開始標志(ASCII碼02H)、命令(ASCII碼置位07H復位08H)、地址(4個ASCII碼)、幀結束標志(ASCII碼03H)、和校驗(2個ASCII碼),一共9個ASCII碼。

PLC返回幀:

接受正確返回ASCII碼06H

接受錯誤ASCII碼15H

從以上幀格式可以看出,數據讀寫是可以批處理的,置位與復位操作則不能進行批量處理。

三菱PLC的串行口協議為: RS232C、波特率: 9600bps、數據位:7、奇偶: even

3以不變應萬變

通過前文所述可知,上位機與PLC通信的幀格式較為繁雜,這表現在兩方面,其一,在上位機要通過復雜的運算過程才能生成通信碼,這中間涉及命令的選擇、地址ASCII碼的求取、每一個數據要發送ASCII碼的求取、要發送數據量ASCII碼的求取、奇偶校驗、和校驗、生成發送序列,接收數據時還要進行和校驗、奇偶校驗的還原、ASCII碼到十六進制數的轉換與四位十六進制數的合成;其二,每一個發送或接收幀都包含有地址,這對于每一種軟件元件是不一樣的,這個不一樣還表現在同一種軟元件操作類別不一樣時其地址也會有所不同。

這些繁雜給我們編程帶來了困難,總的結果會導致或者程序占用空間很大,或者程序結構復雜,含混晦澀難讀難懂難修改,怎么可以簡化這個繁雜的過程呢?

通過以下方法的處理可以得到很大的簡化,基本達到以不變應萬變目的,對于發送幀數據和接收幀數據處理這一塊,無論多復雜還是要做的,但是不再需要對每一個軟元件都做,只需要針對數個(根據自己需要,例如D0-D9)數據寄存器做一個上位機讀取PLC的數據寄存器的發送幀,針對數個(根據自己需要,例如D10-D19)數據寄存器做一個上位機向PLC的數據寄存器的發送幀即可,如此即實現了在單片機上的以不變應萬變。在PLC一側,這種協議的通信是不需要用戶撰寫程序的,但這里應單片機程序的需要只需要做簡單編程即可,例如實際要讀取的數據是D100-D109,則只需要在程序開頭寫上LD M8000 BMOV D100 D0 K10,再例如實際讀取的是Y0-Y17的狀態,只需要在程序開頭寫上LD M8000 MOV K4Y0 D0就好。

這種以數據傳送來簡單化編程的方法,雖然實時性不強,但用于數據顯示相比人自身的反應速度來說已經足夠地快了。

讀取D0-D9的數據的發送幀如下所示:02 30 31 30 30 30 30 41 03 35 46

4 PLC與單片機通信的實現

4.1硬件上的實現

要實現PLC與單片機的通信,首要的就是使PLC與單片機進行有效的聯接,三菱PLC的圓形編程口是RS422協議,而單片機的編程端口是TTL協議,所以無法使二者直接相聯接,需要進行協議的協調一致,我們知道PLC與計算機是通過一條轉接線連于計算機的9針串口(RS232)上的,單片機從計算機下載程序進也是如此,這樣我們就可以把二者聯接計算機的一端聯接到一起,但是二者同為9針的孔口,根本不可聯接,這樣我們就需要做一個中間的轉接線——用兩個9針的針口聯接起來作為中間的橋梁,但是兩個9針的針口必須如下聯接才可通信:2-3、3-2、5-5。

4.2軟件上的實現

我們知道單片機有四種串行通信方式,這里必須用方式2,即8位數據位可變波特率的異步串行通信,這是第一個關鍵所在。

從PLC的通信協議可知,它的數據位是7位,猛看起來似乎與單片機的通信協議不相符,而實際上是一樣的,PLC側的數據是7位,還有一位最高位是作為奇偶校檢位用的,合起來也是8位一個字節地進行傳送,這里不同之處在于PLC的7位數據方式,一次只能傳送一位十六進制數,而單片機的8位數據方式即可以作為兩位十六進制數處理也可以如PLC的7位數據方式處理。

偶校驗的實現:

void SendOneByte(unsigned char c) //偶校驗與發送一個字節

{

ACC=c; //待校驗數送入ACC累加器

if(P==1)c=c+0x80; //P=1則C為奇數個1,最高位加1變成偶數個1

SBUF = c;

while(!TI);

TI = 0;

}

偶校驗位的剔除:

if(byte[4]>127)byte[4]=byte[4]-128;

if(byte[5]>127)byte[5]=byte[5]-128;

if(byte[2]>127)byte[2]=byte[2]-128;

if(byte[3]>127)byte[3]=byte[3]-128;

ASCII碼到Hex的轉換:單片機頭文件處寫上#include ,把剔除偶校驗位的數據用toint()函數處理即可得到原來的單位十六進制數。

四位十六進制數的合成:需要用左移位與按位或運算進行。

D0=toint(byte[4]);//合成D0

D0=(D0<<4)|toint(byte[5]);

D0=(D0<<4)|toint(byte[2]);

D0=(D0<<4)|toint(byte[3]);

單片機通信方式的設計:

void InitUART(void)

{

TMOD = 0x20; //串口方式2

SCON = 0x50; //9600波特率

TH1 = 0xD9;

TL1 = TH1;

PCON = 0x00;

EA = 1;

ES = 1;

TR1 = 1;

}

顯示屏的設計:可根據實際需要用單片機的其它I/O口進行靜態或動態的顯示,這屬于普通單片機的技術設計,不在本文討論之列。

從前文的設計分析可知,雖然PLC工作可靠功能強大,但實際應用中還是會表現出不足之處,此時配合單片機的應用正好可以取長補短相得益彰,二者有機結合后才能充分體現設計的靈活性,使系統設計呈現最佳狀態。

參考文獻

[1] 王靜霞.單片機基礎與應用[M].北京:高等教育出版社,2016.

[2] 朱成慶.電氣控制與PLC技術.[M].北京:電子科技大學出版社,2012.

[3] 李言武.可編程控制器技術[M].北京:北京郵電大學出版社,2016.

[4] 梁小布,梁吟曦.可編程控制器應用技術[M].北京:北京理工大學出版社,2009.

[5] 劉東漢.PLC技術及應用[M].北京:人民郵電出版社,北京理工大學出版社,2009.

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 免费人成又黄又爽的视频网站| 国产极品美女在线观看| 国产在线观看人成激情视频| 三上悠亚一区二区| а∨天堂一区中文字幕| 欧美黑人欧美精品刺激| 色婷婷啪啪| 亚洲AⅤ综合在线欧美一区| 国内精自视频品线一二区| 色综合五月婷婷| 国产超碰一区二区三区| 无码内射在线| 国产精品黑色丝袜的老师| 国产精品亚洲天堂| 亚洲成人播放| 亚洲高清在线天堂精品| 波多野结衣在线一区二区| 国产自产视频一区二区三区| 免费又爽又刺激高潮网址 | 制服丝袜国产精品| 国产微拍精品| 亚洲日本一本dvd高清| 日韩黄色大片免费看| 成人免费视频一区二区三区 | 999精品色在线观看| 视频二区亚洲精品| 中文字幕在线不卡视频| 国产精品天干天干在线观看| 99免费视频观看| 色综合色国产热无码一| 91在线精品麻豆欧美在线| 国产AV无码专区亚洲精品网站| 久久99国产综合精品女同| 久青草网站| 丰满人妻久久中文字幕| 天天躁日日躁狠狠躁中文字幕| 亚洲嫩模喷白浆| www.国产福利| 成人在线不卡视频| 日韩在线永久免费播放| 色综合a怡红院怡红院首页| 亚洲一区二区精品无码久久久| 欧美三级视频网站| 国产精品久久久久久久伊一| 波多野结衣第一页| 国产成人a在线观看视频| 久久先锋资源| 中文字幕在线欧美| 女人av社区男人的天堂| 欧美精品成人一区二区视频一| 欧美另类一区| 99久久免费精品特色大片| 欧美a级在线| 91啪在线| 五月激激激综合网色播免费| 伊人天堂网| 日韩av手机在线| 麻豆AV网站免费进入| 亚洲天堂网在线观看视频| 免费毛片视频| 成人在线观看不卡| 97av视频在线观看| 亚洲成人精品| 天堂久久久久久中文字幕| 欧洲在线免费视频| 国产精品久久自在自线观看| 伊人久久精品无码麻豆精品| 毛片大全免费观看| 欧美日韩成人在线观看| 波多野结衣在线se| 无码国产伊人| 嫩草国产在线| 亚洲人成电影在线播放| 亚洲最黄视频| 88国产经典欧美一区二区三区| 日韩人妻无码制服丝袜视频| 香蕉网久久| jizz亚洲高清在线观看| 97久久精品人人| 天堂成人在线| 精品无码一区二区三区在线视频| 国产一区二区三区在线无码|