亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種靈活的PLC數(shù)據(jù)顯示方法

        2018-11-24 10:40:22朱衛(wèi)國(guó)樊留鎖
        科教導(dǎo)刊·電子版 2018年32期
        關(guān)鍵詞:單片機(jī)

        朱衛(wèi)國(guó) 樊留鎖

        摘 要 PLC作為工業(yè)自動(dòng)化控制系統(tǒng)的核心,早已得到了廣泛的應(yīng)用,由于PLC的優(yōu)良性能和重要性,PLC的價(jià)格也一直是居高不下,在進(jìn)行數(shù)據(jù)的顯示時(shí),如果是通過(guò)機(jī)工業(yè)計(jì)算機(jī)或者觸摸屏這樣的上位機(jī),自不必說(shuō),這是輕而易舉的事,如果沒(méi)有工業(yè)計(jì)算機(jī)或者觸摸屏只通過(guò)PLC的輸出口進(jìn)行大量數(shù)據(jù)的顯示,是很不合算的,因?yàn)镻LC的價(jià)格對(duì)I/O點(diǎn)數(shù)很敏感,然而通過(guò)單片機(jī)與PLC的通信并進(jìn)行大量數(shù)據(jù)的顯示,則不失為一種高效靈活個(gè)性化的設(shè)計(jì)方法。

        關(guān)鍵詞 PLC 單片機(jī) 數(shù)據(jù) 靈活

        中圖分類號(hào):TP278 文獻(xiàn)標(biāo)識(shí)碼:A

        0引言

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

        1編程口的應(yīng)用

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

        2三菱FX系列PLC的編程口通信協(xié)議

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

        2.1上位機(jī)讀取PLC軟元件的數(shù)據(jù)

        上位機(jī)發(fā)送幀:幀開(kāi)始標(biāo)志(ASCII碼02H)、命令(ASCII碼30H)、首地址(4個(gè)ASCII碼)、數(shù)據(jù)數(shù)目(2個(gè)ASCII碼)、幀結(jié)束標(biāo)志(ASCII碼03H)、和校驗(yàn)(2個(gè)ASCII碼),一共11個(gè)ASCII碼。

        PLC返回幀:幀開(kāi)始標(biāo)志(ASCII碼02H)、數(shù)據(jù)1(4個(gè)ASCII碼)、數(shù)據(jù)2(4個(gè)ASCII碼)、……、最后一個(gè)數(shù)據(jù)(4個(gè)ASCII碼)、幀結(jié)束標(biāo)志(ASCII碼03H)、和校驗(yàn)(2個(gè)ASCII碼),長(zhǎng)度不確定。

        2.2上位機(jī)向PLC軟元件寫(xiě)數(shù)據(jù)

        上位機(jī)發(fā)送幀:幀開(kāi)始標(biāo)志(ASCII碼02H)、命令(ASCII碼30H)、首地址(4個(gè)ASCII碼)、數(shù)據(jù)數(shù)目(2個(gè)ASCII碼)、數(shù)據(jù)1(4個(gè)ASCII碼)、數(shù)據(jù)2(4個(gè)ASCII碼)、……、最后一個(gè)數(shù)據(jù)(4個(gè)ASCII碼)、幀結(jié)束標(biāo)志(ASCII碼03H)、和校驗(yàn)(2個(gè)ASCII碼),長(zhǎng)度不確定。

        PLC返回幀:

        接受正確返回ASCII碼06H

        接受錯(cuò)誤ASCII碼15H

        2.3上位機(jī)置位與復(fù)位PLC上的位元件

        上位機(jī)發(fā)送幀:幀開(kāi)始標(biāo)志(ASCII碼02H)、命令(ASCII碼置位07H復(fù)位08H)、地址(4個(gè)ASCII碼)、幀結(jié)束標(biāo)志(ASCII碼03H)、和校驗(yàn)(2個(gè)ASCII碼),一共9個(gè)ASCII碼。

        PLC返回幀:

        接受正確返回ASCII碼06H

        接受錯(cuò)誤ASCII碼15H

        從以上幀格式可以看出,數(shù)據(jù)讀寫(xiě)是可以批處理的,置位與復(fù)位操作則不能進(jìn)行批量處理。

        三菱PLC的串行口協(xié)議為: RS232C、波特率: 9600bps、數(shù)據(jù)位:7、奇偶: even

        3以不變應(yīng)萬(wàn)變

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

        這些繁雜給我們編程帶來(lái)了困難,總的結(jié)果會(huì)導(dǎo)致或者程序占用空間很大,或者程序結(jié)構(gòu)復(fù)雜,含混晦澀難讀難懂難修改,怎么可以簡(jiǎn)化這個(gè)繁雜的過(guò)程呢?

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

        這種以數(shù)據(jù)傳送來(lái)簡(jiǎn)單化編程的方法,雖然實(shí)時(shí)性不強(qiáng),但用于數(shù)據(jù)顯示相比人自身的反應(yīng)速度來(lái)說(shuō)已經(jīng)足夠地快了。

        讀取D0-D9的數(shù)據(jù)的發(fā)送幀如下所示:02 30 31 30 30 30 30 41 03 35 46

        4 PLC與單片機(jī)通信的實(shí)現(xiàn)

        4.1硬件上的實(shí)現(xiàn)

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

        4.2軟件上的實(shí)現(xiàn)

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

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

        偶校驗(yàn)的實(shí)現(xiàn):

        void SendOneByte(unsigned char c) //偶校驗(yàn)與發(fā)送一個(gè)字節(jié)

        {

        ACC=c; //待校驗(yàn)數(shù)送入ACC累加器

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

        SBUF = c;

        while(!TI);

        TI = 0;

        }

        偶校驗(yàn)位的剔除:

        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的轉(zhuǎn)換:?jiǎn)纹瑱C(jī)頭文件處寫(xiě)上#include ,把剔除偶校驗(yàn)位的數(shù)據(jù)用toint()函數(shù)處理即可得到原來(lái)的單位十六進(jìn)制數(shù)。

        四位十六進(jìn)制數(shù)的合成:需要用左移位與按位或運(yùn)算進(jìn)行。

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

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

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

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

        單片機(jī)通信方式的設(shè)計(jì):

        void InitUART(void)

        {

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

        SCON = 0x50; //9600波特率

        TH1 = 0xD9;

        TL1 = TH1;

        PCON = 0x00;

        EA = 1;

        ES = 1;

        TR1 = 1;

        }

        顯示屏的設(shè)計(jì):可根據(jù)實(shí)際需要用單片機(jī)的其它I/O口進(jìn)行靜態(tài)或動(dòng)態(tài)的顯示,這屬于普通單片機(jī)的技術(shù)設(shè)計(jì),不在本文討論之列。

        從前文的設(shè)計(jì)分析可知,雖然PLC工作可靠功能強(qiáng)大,但實(shí)際應(yīng)用中還是會(huì)表現(xiàn)出不足之處,此時(shí)配合單片機(jī)的應(yīng)用正好可以取長(zhǎng)補(bǔ)短相得益彰,二者有機(jī)結(jié)合后才能充分體現(xiàn)設(shè)計(jì)的靈活性,使系統(tǒng)設(shè)計(jì)呈現(xiàn)最佳狀態(tài)。

        參考文獻(xiàn)

        [1] 王靜霞.單片機(jī)基礎(chǔ)與應(yīng)用[M].北京:高等教育出版社,2016.

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

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

        [4] 梁小布,梁吟曦.可編程控制器應(yīng)用技術(shù)[M].北京:北京理工大學(xué)出版社,2009.

        [5] 劉東漢.PLC技術(shù)及應(yīng)用[M].北京:人民郵電出版社,北京理工大學(xué)出版社,2009.

        猜你喜歡
        單片機(jī)
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        小議PLC與單片機(jī)之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
        電子制作(2017年19期)2017-02-02 07:08:27
        Microchip推出兩個(gè)全新PIC單片機(jī)系列
        色噜噜狠狠色综合中文字幕| 四川丰满妇女毛片四川话| 国产免费av片在线观看| 国产精品调教| 国产一区二区亚洲av| 久久综合精品国产丝袜长腿| 人妻少妇久久久久久97人妻| 精品人妻潮喷久久久又裸又黄| 亚洲中文字幕久爱亚洲伊人| 丝袜美腿在线播放一区二区| 十四以下岁毛片带血a级| 日本阿v网站在线观看中文| 亚洲激情人体艺术视频| 在线视频自拍视频激情| 天天做天天添av国产亚洲| 亚洲国产精品久久久久秋霞影院| 一区二区三区婷婷在线| 有码视频一区二区三区| 99久久婷婷国产综合亚洲| 国产丰满老熟女重口对白| 激情综合五月天开心久久| av网站大全免费在线观看| 色吊丝中文字幕| 久久久久久人妻精品一区百度网盘 | 欧美日韩不卡合集视频| 精品少妇爆乳无码aⅴ区| 亚洲av无吗国产精品| 国产无套粉嫩白浆在线| 男女超爽视频免费播放| 风流少妇一区二区三区| 中文字幕亚洲乱码熟女1区| 九九精品国产亚洲av日韩 | 91精品国产91久久综合桃花| 亚洲女同免费在线观看| 妺妺窝人体色www聚色窝| 国产欧美日韩午夜在线观看| 青青草好吊色在线视频| 日本动漫瀑乳h动漫啪啪免费| 少妇极品熟妇人妻无码| 精品久久日产国产一区| 欧美亅性猛交内射|