念路兵 鄭磊 胡興朝 胡之冉


【摘要】? ? 本系統設計了一種基于Linux系統的PLC至數據庫直傳模塊,可實現同品牌多基站或不同品牌多基站之間的數據直傳。本系統通過工業應用終端站向數據庫的數據直傳方式進行工業現場數據采集和傳輸,可降低PLC數據傳輸冗余,提高工業現場信號采樣數據的實時性和可靠性,以低成本方案解決不同品牌、不同基站之間的數據實時采集問題。
【關鍵詞】? ? Linux系統? ? PLC? ? 數據庫? ? 低成本數據直傳
引言
PLC作為一種通用可編程控制器在工業自動化現場已廣泛應用于數據采集和監控系統。高效地獲取生產結果數據和過程數據對目前工業4.0的推行尤為關鍵。
現有的工業現場應用數據采集方式中轉端程序開發和維護費用高,采用主站輪詢方式導致服務器的工作負荷較大,同時采集實時性較差。本設計產品采用熱插拔模式,大大簡化工業應用現場數據采集難度,提升數據采集的實時性和可靠性,大大降低數據采集成本和后續維護成本。
一、系統總體方案設計
1.1 系統總體方案設計
如圖1所示為低成本的PLC至數據庫直傳模塊系統框圖。該系統主要包括PLC,Linux系統和PC主機三大組件。PLC將本地數據通過以太網口上傳至Linux系統中間應用層,Linux系統對數據進行分析處理后基于TCP/IP協議以報文形式上傳至PC主機。同時,PC主機可以向Linux系統發送數據采集命令,Linux系統接收到相應的通訊指令后對PLC下達數據采集操作指令,PLC負責執行數據上傳操作。
Linux系統處理器處理器通過網口A和PLC通信,網口A為10/100M自適應全雙工網口。通信規則基于每一個品牌的PLC開發協議進行設計。網口B和目標數據庫通信。Linux系統板存儲器中保存了用于不同廠家PLC通信協議的描述文件和配置。
1.2 系統硬件設計
1.2.1 電源設計
Linux系統控制板供電電源為5V,因此在本設計中我們考慮使用5V/3A規格電壓進行供電。為防止電源電壓短路和系統安全,5V電源外接保險絲F1,然后再使用100uF和0.1uF電容進行濾波,濾波后作為系統供電電源使用。
1.2.2 以太網接口設計
本模塊選用的以太網芯片為DM9621。該芯片具備高效的TX/RX FIFO的自動管理,支持4個端點包括控制、中斷、Bulk_IN、Bulk_OUT。背壓模式為半雙工模式的流量控制,低功耗單電源3.3V。同時兼容兼容2.5V,3.3V和5.0V的I/O電平。
1.2.3 燒錄調試接口設計
通過OTG燒寫方式可以燒寫Linux系統文件。OTG接口燒寫方式也叫Fastboot燒寫方式,燒寫速度比TF卡燒寫速度更快。使用通用的OTG線作為燒錄介質使用,需要燒錄軟件的支持。首先使用串口線連接開發板串口到PC機串口,然后使用OTG線,將開發板OTG接口和PC的USB接口相連。
1.3 系統軟件設計
軟件設計主要包括三部分:Linux系統軟件、模塊運行底層軟件設計和Windows上位機系統配置軟件設計。
1.3.1 Linux系統軟件設計
Linux 2.2 提供核心系統服務,例如:安全、內存管理、進程管理、網絡堆棧、驅動模型。Linux Kernel 也作為硬件和軟件之間的抽象層,它隱藏具體硬件細節而為上層提供統一的服務。Linux系統分層的好處就是使用下層提供的服務而為上層提供統一的服務,屏蔽本層及以下層的差異,當本層及以下層發生了變化不會影響到上層。各層提供固定的SAP(Service Access Point),符合高內聚、低耦合的特點。
1.3.2 底層運行軟件設計
底層軟件由C編寫,它是整個軟件的核心,軟件分為3個模塊。
A:PLC通信模塊
B: 數據庫通信模塊
C:主循環配置模塊
其中:模塊A調用配置文件中的PLC通信配置文件,實現不同品牌不同協議的PLC通信,實現數據采集。采集需要指定讀取的目標PLC內存地址,采集分為周期性采集和條件觸發式采集。這些都是在配置文件中讀取出來的。
模塊B調用配置文件中數據庫的配置參數,實現模塊與數據庫的通信, 模塊A采集的數據與模塊B之間建立了一個數據緩沖區,以解決當觸發模式下高速采集PLC數據與模塊至數據庫上傳的速度不同步的問題。
配置C為實現整個程序運行的邏輯和時序的模塊。以及與配置工具的交互。
1.3.3 系統通訊協議設計
計算機技術的飛速發展為PLC提供了新的技術手段,通過通訊手段使得計算機可以實時監測PLC的運行。但是各PLC通訊介質和通訊協議各不相同,主流的PLC通訊協議包括MPI、CAN總線、PROFIBUS、CP441、MODBUS等。本設計不需要針對專門的PLC編寫特殊的通訊協議,而是通過在上位機配置端口調用各品牌的PLC通訊協議完成數據通訊。以歐姆龍為例,通過上位機調用PLC通訊協議配置文件。
使用以上格式的識別碼,可以進行PLC與上位機命令鏈接,構成數據存儲區讀寫數據幀。
讀IR/SR時,命令碼為RR,讀指定的若干IR和SR字的內容,以指定字的地址為起始。
1.3.4 Windows上位機系統配置設計
Windows桌面配置軟件由C#編寫。用于配置模塊的工作參數,也可以通過監控模塊的工作狀態。軟件組成框圖如圖2所示。
其中通信配置模塊包含PLC通信配置和數據庫通信配置PLC通信配置中可以配置與PLC的通信參數比如PLC的IP地址,PLC的通信站號,使用的通信協議等。
數據庫通信配置中可以配置目標數據庫的網絡地址、用戶名、密碼。數據庫的目標Sheet,綁定字段等操作。
采集配置模塊包含采集目標內存地址設置,采集模式設置。兩個部分。目標地址可以設置PLC的輸入、輸出映象區,數據寄存器區。可以設置Bit、Byte、Int、Dint、Flout、ASCII等多個類型的數據。對于不同的采集地址可設置2種采集模式,周期性采集和觸發式采集。其中觸發式采集模式可以通過讀取不同內存地址的值,并通過一定的邏輯組合和條件判斷產生讀取目標地址的條件,當條件滿足后讀取數據至緩沖區。
二、結語
本設計針對現有的工業應用現場PLC數據采集方案缺陷,設計了一種基于Linux的PLC至數據庫直傳模塊。采用主動式的上傳方法,數據的處理和中轉任務都放在每一個模塊內部的處理器上,提高系統整體運行效率。設置較高的現場設備采樣頻率,同時模塊至數據庫之間增加緩存區域。有效避免關鍵過程數據采集失真,運行Liunx系統并安裝多個數據的ODBC驅動,對幾乎所有的數據庫具有兼容性。低成本的數據采集傳輸方式在現有的工業數據采集方案傳輸中占據非常大的優勢,具備可研究價值。
參? 考? 文? 獻
[1]任一.基于Linux系統分析計算機C語言編程技巧[J].電子技術與軟件工程,2018(16):126.
[2]王前進,馬小平,張守田。PLC軟冗余在通風機監控系統中的應用[J].工礦自動化,2014,40(01):93-96.
[3]周石強,郭強,朱濤,等。電氣控制與PLC應用技術的分析研究[J].中華民居(下旬刊),2014(01):199+201.
[4]郭瑋,田錄林,張永良,等。基于嵌入式PLC軟核的通用保護平臺設計與實現[J].電力系統保護與控制,2014,42(16):122-126.
[5]工業以太網現場總線EtherCAT驅動程序設計及應用[M]. 2010.