基于單片機與PLC通信的海量數據存儲
技術設計文檔
一、 選型說明:
這個說明是查閱資料后編寫的,如有相關意見可以修改。
整個需求分三部分:
1. 是利用現有的成熟的PLC技術,對各設備的監控點數據進行采集;
2. 再使用單片機技術,對PLC采集后的數據進行讀取,并按照一定的格式存儲在存儲設備中,存儲設備可以是U盤,存儲卡等;
3. 使用讀卡設備將存儲的數據讀出,并導入普通PC中,對讀取數據進行分析。
二、 基本組成圖:
圖1 總框圖
三、 PLC數據采集:
采用成熟的PLC技術,不需開發,使用西門子S7-200系列。
S7-200 PLC是串行通訊方式為豐富的小型PLC,支持多種通信協議,如點對點接口協議(PPI協議)、多點接口協議(MPI協議)和PROFIBUS協議以及自由通信協議等。其中自由通信協議又叫用戶定義協議,利用自由端口模式,可以實現用戶定義的通信協議,連接多種智能設備,使用起來非常方便,在第三方工程接入中取得了巨大的成功。
四、 單片機數據存儲
此部分為整個技術的重點之一,他要完成的主要功能為,從PLC采集數據,并將數據按預先規定格式寫入存儲設備中,存儲設備可設計成存儲卡,U盤之類的。
以下為我所查資料的一些設想,只作為參考,如可行也可以作為使用。
1、 單片機與PLC通訊
單片機選用MCS51,MCS-51的串行口與MAX485芯片相接,然后與S7-200 PLC的RS-485口進行通訊,如圖1所示:
圖1 MCS-51單片機與S7-200的硬件接線圖
在自由端口模式下,PLC的串行通信接口由用戶來控制,通過梯形圖程序以及和單片機的匯編語言進行配合,來使用完成中斷、字符接收中斷、發送完成中斷等,通信協議由用戶完全控制。這時單片機處于主機狀態,由單片機主動發送握手信號,PLC接到信號后被動反饋信息即可。
a) 通信協議設計
定義根據經驗和有關參考資料,定義協議結構和參數。
(1)通信波特率為9.6kbps,無校驗,8個數據位,1個可編程位,1位起始位,1位停止位。
(2)定義通信協議的數據流結構的格式為起始碼、命令碼、元件首址、字節數、數據塊、BCC校驗碼和結束碼。