《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于單片機的PLC數據儲存系統
基于單片機的PLC數據儲存系統
來源:電子技術應用2014年第8期
殷蘇民,張建明,李正陽,汪偉力,萬 翔
(江蘇大學 機械工程學院,江蘇 鎮江212000)
摘要: 為了解決PLC數據儲存量低、查閱不便的問題,設計了一種基于單片機的PLC數據存系統,實現了PLC與U盤、移動硬盤等儲存設備的數據傳輸與存儲。設計了RS232和RS485共用同一串口的通信接口;基于ModBus通信協議實現了單片機與PLC的數據傳輸;使用CH376文件管理芯片,在U盤等儲存設備里建立txt、doc等類型文件儲存數據,方便桌面計算機對數據進行分析處理;利用DS1302實時時鐘系統,以時間信息命名數據文件,實現了數據的長時間有序儲存。
中圖分類號: TP335
文獻標識碼: A
文章編號: 0258-7998(2014)08-0031-03
PLC data storage system based on SCM
Yin Sumin,Zhang Jianming,Li Zhengyang,Wang Weili,Wan Xiang
School of Mechanical Engineering,Jiangsu University,Zhenjiang 212000,China
Abstract: In order to solve the issue of low data storage capacity and data view inconvenience of PLC, a method based on SCM had been proposed to store data for PLC. It had been realized about the transmission and storage of data between PLC and U disk, hard disk or other storage devices. A serial communication interface had been designed for RS232 and RS485 to share the same serial port. SCM and PLC had been connected based on ModBus communication protocol. Data was been stored in the form of txt , doc or other files classes to make it easier for desk computer to analyze and process data. The long-term orderly storage of data had been solved by using time information to name data files based on DS1302 real time clock system.
Key words : SCM;PLC;data storage;ModBus;CH376

    可編程程序控制器(PLC)是綜合了計算機技術、自動化控制技術和通信技術的一種自動控制裝置,以其具有的功能強、可靠性高、操作靈活、編程簡便等特性,成為了現代工業控制的三大支柱之一[1]。

    隨著PLC的應用范圍的不斷擴展,其控制系統越來越復雜,需要處理儲存的數據量不斷增加。例如,有些PLC工業控制儀器需要保存一個月甚至一年的生產數據,需要幾兆字節甚至幾百兆字節的數據存儲能力。由于一般的PLC數據存儲容量較小,不得不借助外部的數據存儲設備。因此,本文設計了一種基于單片機的PLC數據存儲系統,可將PLC的數據以txt文件類型的形式存入到U盤、移動硬盤等大容量的數據儲存器里,擴大PLC數據容量,亦可方便桌面計算機對數據進行進一步處理分析。

1 系統總體設計

    系統由數據輸出終端為PLC、數據轉換模塊、數據接收終端(U盤、移動硬盤等)三部分組成。其中數據轉換模塊的中央控制器為Atmega16L單片機。此外,還包括由RS232和RS485組成的串口通信模塊、CH376文件管理控制芯片、USB接口輸出模塊以及DS1302授時模塊。PLC通過RS232或RS485接口將數據上傳給單片機,單片機發送識別信號給接USB口模塊,根據反饋信號判斷USB接口連接是否正常,若正常則根據DS1302授時模塊、利用CH376文件管理控制芯片在存儲設備中新建以時間信息為文件名主體的txt文件類型或其他類型的文件,再將數據存入其中。系統整體結構如圖1所示。

圖1  系統結構圖

2 硬件設計

2.1 Atmega16L與CH376的電路設計

    Atmega16L是基于增強的AVR RISC結構設計的低功耗8 位CMOS微控制器。其先進的指令集以及單時鐘周期指令執行時間可以減小整個系統的功耗,且不會影響系統的處理速度[2]。

    CH376是文件管理控制芯片,可用于單片機系統讀寫U盤、SD卡中的文件,亦可用于與USB接口設備的數據傳輸與通信。CH376支持3種通信接口:8位并行、SPI接口和異步串口方式,單片機通過上述任何一種通信接口控制CH376芯片,將數據儲存在U盤、移動硬盤等存儲設備,甚至可以與計算機相連進行通信[3]。

面對工業控制中惡劣的工作環境,為了保證數據傳輸的穩定性和精確性,單片機Atmega16L與CH376之間的通信接口選擇8位并行接口,連接電路如圖2所示。

 

圖2  Atmega16L與CH376的連接電路圖

 

2.2 串口通信模塊的電路設計

    通常PLC可以提供RS232和RS485兩種通信接口類型,但是Atmega16L單片機只提供一個串口接口。為了方便用戶接口選擇,設計了一種RS232和RS485兩個接口公用一個串口的接口電路,如圖3所示。

圖3  串口通信接口電路圖

 

當RS232或RS485懸空未使用時,兩二極管的負極均為高電平,所以當采用一組通信方式時不會影響到另一組。而RS485通信采用非門實現了RS485的自動接收與發送之間的切換[4]。Atmega16L的UART初始狀態為邏輯高電平,則:

   (1)接收狀態:TXD為高,MAX485使能端(DE/RE)為低,MAX485處于接收狀態,如無數據輸入,由于偏置電阻R2、R3的作用,RXD為邏輯高電平;如果有數據輸入,則RXD電平與輸入電平一致,實現了接收功能。

    (2)發送狀態:TXD為高,MAX485使能端為低,MAX485處于接收狀態,由于偏置電阻R2、R3的作用,輸出邏輯為高;TXD為低,MAX485使能端為高,MAX485處于發送狀態,輸出邏輯為低[5]。這樣就實現了發送功能。RS485收發信號狀態如表1所示。

 

3 通信設計

3.1 PLC與單片機的通信

    為了滿足不同的PLC使用,本系統選用工業中使用廣泛的ModBus通信協議。ModBus協議系統中有兩種傳輸模式:ASCII模式和RTU模式。本系統的數據格式為RTU模式,在同樣的波特率下,它可比ASCII方式傳送更多的數據[6]。ModBus信息以幀的方式傳輸,在RTU模式中,每幀開始和結束都至少需要傳輸4 B數據的靜止時間,所傳輸的報文數據域依次為從機地址、功能代碼、數據和校驗,傳輸的數據都是十六進制的[7]。RTU數據幀格式如圖4所示。

    ModBus通信協議采用的是主從方式,本系統中以PLC為主機,轉換模塊為從機。當從機接收到地址信息時立即對它進行解析判斷,如果地址相符合,則按指令要求修改其參數,并發送應答信息給主機;否則對接收的報文信息不予理睬。一個幀的信息必須以連續的數據流進行傳輸,如果在發送幀信息期間出現超過傳輸1.5 B數據的靜止時間時,接收到的數據將被清除[8]。主機與從機通信示意圖如圖5所示。

圖5  主機與從機通信示意圖

 

    為了實現單片機與PLC的精確通信,ATmega16L單片機的串口設置為以中斷響應的通信方式進行發送和接收數據,通信波特率設定為9 600 b/s,輸出/輸入的數據格式為1 bit開始位、8 bit數據位、1 bit停止位、1 bit校驗位,奇偶校驗方式設定為為偶校驗[9]。主機PLC則以歐姆龍PLC為例,將串口1設置為RS-232C模式,數據格式與單片機相同,串口設置如圖6所示。

 

圖6  OMRON PLC的串口設置圖

3.2 單片機與CH376芯片的通信

    上電延時50 ms,單片機發送 CMD_CHECK_EXIST(06H)命令,發送55H數據,正常工作返回0AAH;再發送 CMD_SET_USB_MODE(15H)命令,后續數據為06H,設置為USB模式,返回狀態為CMD_RET_SUCESS(51H),設置成功;發送CMD_DISK_CONNECT(30H)命令,檢測U盤或移動硬盤是否連接,返回中斷狀為USB_INT_CONNECT(15H),設備連接;發送 CMD_DISK_MOUNT(31H)命令,初始化U盤或移動硬盤,產生中斷返回USB_INT_SUCESS(14H),初始化完成。初始化完成即可對連接的U盤或移動硬盤進行創建新的文件、打開已有文件、寫入數據等操作。操作完成后,發CMD_DISK_CONNECT(30H)命令,檢測設備是否依然連接,產生中斷。如果返回中斷狀態為USB_INT_DISCONNECT(16H),則設備移除;如果返回中斷狀態為 USB_INT_CONNECT(15H),則繼續等待[3]。其流程如圖7所示。

 

單片機與CH376之間使用8位并口,它的寫指令和數據的程序如下:

(1)往CH376命令端口寫入命令

void  WriteCH376Cmd( unsigned char mCmd )  

{

CH376_DATA_DAT_OUT( mCmd );  //向CH376的并口輸出數據

CH376_DATA_DIR_OUT( );  //設置并口方向為輸出

CH376_A0 = 1;

CH376_CS = 0;

CH376_WR = 0;    //輸出有效寫控制信號,

寫CH376芯片的命令端口

CH376_CS = 0;    //該操作無意義,僅作延時,

CH376要求讀寫脈沖寬度大

CH376_WR = 1;     //輸出無效的控制信號,

完成操作CH376芯片

CH376_CS = 1;

CH376_A0 = 0;

CH376_DATA_DIR_IN( );     //禁止數據輸出

}

(2)往CH376數據端口寫入數據

void  WriteCH376Data(unsigned char mData )

{

CH376_DATA_DAT_OUT( mData );

//向CH376的并口輸出數據

CH376_DATA_DIR_OUT( );   //設置并口方向為輸出

CH376_A0 = 0;

CH376_CS = 0;

CH376_WR = 0;    //輸出有效寫控制信號,

寫CH376芯片的數據端口

CH376_WR = 1;    //輸出無效的控制信號,

完成操作CH376芯片

CH376_CS = 1;

CH376_DATA_DIR_IN(     );  //禁止數據輸出

}

    本文介紹了一種基于單片機的PLC數據存儲系統的設計方案,重點描述了系統的總體方案、硬件電路的設計及各模塊的相互通信。該系統與PLC通信采用了工業中廣泛應用的ModBus通信協議標準,實現了通信標準化,以適應不同的應用場合。單片機與CH376的通信中采用了8位并行通信接口,增強系統整體的抗干擾能力,保證數據的傳輸穩定性和準確性。系統提供了RS485和RS323兩種串口接口,滿足不同的接口需求;使用CH376文件管理芯片,在U盤等儲存設備里建立txt類型文件儲存數據,方便桌面計算機的查看。此外,還添加了DS1302實時授時系統,使得系統可以依據時間創建以時間信息為命名主體的文件并存入數據,方便后期對數據識別、查找與分析。實踐證明,該數據存儲系統功能穩定,實用可靠,在PLC需要大數據存儲的工控領域有極大的應用價值。

參考文獻

[1] 霍罡.歐姆龍CP1H PLC應用基礎與編程實踐[M].北京:  機械工業出版社,2008.

[2] 汪煉,韓震宇.基于AVR單片機的串口通訊設計[J].中國測試技術,2003(2):52-53.

[3] Nanjing Qinheng Electronics Co..The data sheet of CH372[Z].  2008.

[4] 劉啟中,李榮正.PIC單片機原理及應用[M].北京:北京航空航天大學出版社,2010.

[5] 甘海峰,余奇志,吳興中.單片機與西門子變頻器的通信設計[J].四川兵工學報,2012,33(3):65-68.

[6] MODICON Inc..Modicon ModBus protocol reference guide[Z]. 2008.

[7] 鄧元生.基于單片機的ModBus總線協議實現技術研究[D].長沙:中南大學,2009.

[8] 張榮華,王富東.單片機與U盤的接口技術[J].電工技術, 2007(5):45-51.

[9] 唐洪富,張興波.基于STC系列單片機的智能溫度控制器設計[J].電子技術應用,2013,39(5):60-70.

(收稿日期:2014-04-17)  

作者簡介:

殷蘇民,男,1956年生,教授,碩士生導師,主要研究方向:微控技術、機電系統、機器視覺。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美亚韩一区| 亚洲人成在线播放| 欧美精品久久久久久久久久| 久久精品女人| 久久成人亚洲| 欧美一区日韩一区| 午夜精品福利在线观看| 亚洲一区二区在线视频| 亚洲一区二区三区精品视频| 中文久久乱码一区二区| 亚洲视频每日更新| 亚洲一区高清| 亚洲午夜久久久久久尤物| 一区二区三区三区在线| 在线亚洲自拍| 亚洲一区二区视频| 亚洲在线免费视频| 午夜精品久久久| 欧美一级久久| 久久久久久9999| 久久久噜噜噜久久久| 久久中文在线| 欧美电影资源| 欧美日韩亚洲一区二| 欧美午夜不卡在线观看免费| 国产精品久久久久久久一区探花| 国产精品久久综合| 国产日韩高清一区二区三区在线| 国产亚洲精品综合一区91| 激情综合在线| 亚洲破处大片| 一区二区欧美激情| 性欧美暴力猛交另类hd| 久久精彩视频| 亚洲九九精品| 午夜亚洲福利| 久久亚洲午夜电影| 欧美精品在线观看播放| 欧美午夜视频| 国产一区二区毛片| 亚洲欧洲一区二区在线观看| 一区二区三区高清在线观看| 午夜一级在线看亚洲| 亚洲国产第一| 一区二区三区国产盗摄| 欧美一级二级三级蜜桃| 欧美成人a∨高清免费观看| 欧美午夜精品久久久久久久| 国产区欧美区日韩区| 亚洲国产高清一区二区三区| 亚洲少妇一区| 亚洲国产欧美国产综合一区 | 亚洲乱码国产乱码精品精天堂| 夜夜嗨av一区二区三区网站四季av | 亚洲精选视频在线| 性做久久久久久| 欧美成人亚洲成人| 国产精品美女久久久久久免费| 激情六月婷婷久久| 一区二区三区鲁丝不卡| 久久精品噜噜噜成人av农村| 在线综合亚洲| 久久在线91| 国产精品久久福利| 亚洲国产欧美另类丝袜| 亚洲一区免费网站| 亚洲精品久久久久久久久| 欧美在线1区| 欧美日韩成人综合天天影院| 国产网站欧美日韩免费精品在线观看| 亚洲激情影院| 久久国产婷婷国产香蕉| 亚洲在线视频观看| 欧美激情精品久久久久久久变态| 国产乱码精品一区二区三区av| 亚洲三级电影在线观看| 久久激情综合网| 欧美一乱一性一交一视频| 欧美日韩国产影院| 永久域名在线精品| 欧美一级在线播放| 亚洲欧美中文字幕| 欧美日韩免费在线观看| 在线观看视频亚洲| 欧美一区二区三区电影在线观看| 亚洲性感美女99在线| 欧美黑人一区二区三区| 国内精品久久久久影院优| 亚洲欧美日韩国产综合在线| 一本色道久久综合亚洲精品小说 | 欧美私人网站| 亚洲激情视频网| 亚洲国产精品va在看黑人| 香蕉久久国产| 国产精品久久久久久久电影| 亚洲精品久久久久久久久久久久| 亚洲国产精品视频| 久久都是精品| 国产欧美一区二区精品性色| 中文亚洲视频在线| 在线中文字幕一区| 欧美日韩国产成人在线免费| 亚洲高清一二三区| 亚洲高清免费视频| 久久久久一区二区三区四区| 国产日韩一区二区三区| 亚洲自拍高清| 欧美一级视频精品观看| 国产精品成人一区| 亚洲毛片av在线| 一区二区三区精品视频在线观看| 欧美激情区在线播放| 在线欧美影院| 亚洲欧洲一区二区三区久久| 男人天堂欧美日韩| 亚洲国产你懂的| 亚洲精品久久久久| 欧美精品免费视频| 亚洲人成网站在线播| 99re66热这里只有精品3直播| 欧美紧缚bdsm在线视频| 亚洲片在线资源| 亚洲视频精选| 国产精品成人av性教育| 亚洲一区二区精品视频| 香港久久久电影| 国产午夜精品全部视频在线播放| 小黄鸭视频精品导航| 久久精品一区蜜桃臀影院| 国产一区在线观看视频| 亚洲国产成人精品女人久久久| 免费观看成人www动漫视频| 亚洲国产日韩欧美在线99| 亚洲最新在线视频| 欧美日韩一区三区| 亚洲一二三区在线| 久久精品二区亚洲w码| 激情综合自拍| 99成人在线| 国产精品a级| 午夜视频在线观看一区二区| 久久婷婷久久| 亚洲精品久久嫩草网站秘色| 亚洲一区二区3| 国产视频亚洲精品| 亚洲国产精品传媒在线观看| 欧美高清不卡在线| 中文av字幕一区| 久久国产成人| 91久久线看在观草草青青| 亚洲一区视频| 国产在线观看一区| 99精品热视频只有精品10| 国产精品久久久久久久免费软件 | 国产精品劲爆视频| 久久成人一区| 欧美日韩精品欧美日韩精品 | 一本色道久久| 久久久www成人免费无遮挡大片| 亚洲国产精品久久久久婷婷884| 中国日韩欧美久久久久久久久| 国产精品日韩欧美一区二区三区| 久久国产精品毛片| 欧美日韩国产成人在线91| 亚洲自拍另类| 欧美成人免费小视频| 亚洲深夜福利在线| 美女黄毛**国产精品啪啪 | 亚洲毛片在线免费观看| 国产精品网红福利| 亚洲人成网站777色婷婷| 国产精品乱码妇女bbbb| 亚洲国产欧洲综合997久久| 国产精品99一区二区| 亚洲国产高清一区二区三区| 欧美视频福利| 亚洲国产精品一区二区www在线| 国产精品国产三级国产专播品爱网| 久久国产精品一区二区三区四区| 欧美日本韩国一区二区三区| 欧美一区二区大片| 欧美日韩一区不卡| 久久精品日产第一区二区三区| 欧美午夜不卡| 亚洲国产一区二区三区在线播| 欧美视频一区二区在线观看 | 一本色道久久88综合亚洲精品ⅰ | 国产日韩在线播放| 一区二区欧美国产| 韩国av一区二区三区在线观看| 中文有码久久| 1000部精品久久久久久久久| 欧美一区=区| 一本色道久久综合精品竹菊| 欧美 日韩 国产 一区| 亚洲欧美日韩视频一区| 欧美日韩国产二区| 91久久国产精品91久久性色| 国产亚洲激情| 亚洲欧美日韩国产中文|