所有可打印的DevExpress .NET控件都使用XtraPrinting庫提供的方法打印。
DevExpress Universal Subscription官方最新版免費下載試用,歷史版本下載,在線文檔和幫助文件下載-慧都網
要確定預覽和打印選項是否可用,請檢查控件的IsPrintingAvailable屬性值。 使用ShowPrintPreview和ShowRibbonPrintPreview方法顯示打印預覽窗口,使用Print和PrintDialog方法打印內容而不顯示預覽。
注意:打印控件時不支持自定義繪畫、alpha 混合和顏色漸變功能。
每個可打印控件都提供一組選項,用于指定要打印的可視化元素以及要應用于這些元素的外觀設置,可以按如下方式訪問這些選項:
默認情況下,打印控件時,它使用與在屏幕上顯示時相同的外觀設置(您可以使用 Appearance 屬性自定義這些設置)。 每個支持打印的 DevExpress .NET 控件都提供打印外觀,用于在打印時繪制其可視化元素(數據單元格、標題等),這些外觀可以通過 AppearancePrint 屬性訪問。
打印外觀也可以通過控件設計器的Print Appearances Page進行自定義。
確保將 OptionsPrint.UsePrintStyles(某些控件中的 OptionsPrint.UsePrintAppearance)屬性設置為true ,來使用打印替代顯示外觀設置。
DevExpress WinForm擁有180+組件和UI庫,能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!
在一些行業的生產過程中,產品按照批次進行生產。WinCC 在批次生產過程中會對一些生產數據進行歸檔,以便于后期對批次生產進行分析或者追溯。WinCC 提供了數據歸檔的功能,并且還可以通過多種方式將歸檔數據查詢出來進行呈現。例如通過OnlineTrendControl 顯示歷史趨勢,通過 OnlineTableControl 顯示歷史數據。也可以通過報表打印的方式輸出到打印機或者報表文件。
但是在使用 WinCC OnlineTrendControl 以及 OnlineTableControl 時,對于數據的過濾查詢只能根據時間進行。這就給這種希望根據批次名稱進行批次數據查詢的應用帶來了一些不便。為了解決這個問題,本文將介紹如何能夠通過生產批次名稱來進行批次數據過濾查詢的組態編程方法。
首先明確應用需求的重點是希望根據批次名稱進行歷史數據的查詢。那么也就意味著只要能夠在 WinCC 中歸檔批次名稱的同時,將該批次的開始生產時間以及結束生產時間與批次名稱一同進行歸檔。當選擇了需要查詢的批次名稱的時候也就能夠獲取到該批次的生產起始以及結束時間,再根據這兩個時間即可過濾查詢出該批次生產過程中歸檔的所有歷史數據。
本文中的功能實現所使用 WinCC 版本為 V7.5 SP1 亞洲版。操作系統為 Windows10 Pro Version 1803(64-Bit)
創建測試變量(為便于測試以及文檔編寫,創建的變量均為內部變量。實際項目應用操作類同,只是生產數據變量為外部變量)。
在變量管理器中創建變量組并命名為“report”。
在變量組“report”中創建變量如圖,注意數據類型。各個變量的用途參考變量注釋
創建過程值歸檔
在變量記錄中創建過程值歸檔“batchState”,并在該歸檔中添加歸檔變量
“batchName”、“beginTime”、“endTime”。采集類型均選擇為“非周期”,起始變量均選擇為“batchRecordTrigger”。這將意味著變量“batchRecordTrigger”的值一旦發生改變,則會對 3 個歸檔變量進行一次歸檔。該過程值歸檔用于記錄批次名稱以及批次生產的開始和結束時間。
變量記錄中創建過程值歸檔“batchDatas”,并在該歸檔中添加歸檔變量“data1”、“data2”、“data3”。采集類型均選擇為“周期 - 連續”,采集周期與歸檔/顯示周期均設置為 “1 second”(實際應用根據需要確定即可)。該過程值歸檔用于記錄生產數據。
編輯畫面監視域
在畫面編輯器中添加靜態文本以及輸入/輸出域進行數據監視及輸入。
如圖根據需要添加靜態文本以及輸入/輸出域,并按照圖中的藍色標簽關聯之前已經創建的相應變量。其中“批次名稱輸入/輸出域”用于批次名稱的輸入,其它輸入/輸出域均設置為輸出類型即可。
編輯畫面控件
添加 2 個“OnlineTableControl”控件,分別命名為“TableControl”及
“TableControl2”。添加 1 個“OnlineTrendControl”控件,命名為“TrendControl”。控件“TableControl”關聯 3 個歸檔變量:“batchName”、“beginTime”、“endTime”。控件“TableControl2”關聯 3 個歸檔變量:“data1”、“data2”、“data3”。控件“TrendControl”關聯 3 個歸檔變量:“data1”、“data2”、“data3”。
編輯按鈕
添加 3 個按鈕,開始批次生產、結束批次生產以及選擇并查詢。
為開始批次生產按鈕編寫腳本
為結束批次生產按鈕編寫腳本
為選擇并查詢按鈕編寫腳本
創建并編輯報表布局
創建布局“batchReport”并根據需要編輯布局。關鍵步驟:在CCAxOnlineTableControl.表格的動態參數中,關聯 TimeColumnBeginTime 到變量“queryBeginTime_1”,關聯 TimeColumnEndTime 到變量“queryEndTime_1”。
表格控件 Properties 中,取消選擇時間列選項頁中的“刷新”。
創建并組態打印作業
創建打印作業命名為“batchReport”,并在常規選項頁中選擇已完成編輯的報表布局“batchReport.RPL”,選擇“無對話框”。在打印機設置選項頁中取消勾選“打印機”,并勾選“PDF”(該選項需要安裝了 WinCCDataMonitor 選件后可用)。
添加打印按鈕
添加打印按鈕,并在按鈕單擊鼠標事件中編寫 C 腳本。
記錄過程
首先在批次名稱輸入域中輸入將要開始生產的批次名稱,例如“P202002071102”(在實際應用中也可以通過全局腳本根據用戶需求自動輸入批次名稱)。然后點擊“開始批次生產”按鈕啟動生產。此時“開始時間”會自動顯示當前批次開始生產的時間。當生產完成后,點擊“結束批次生產”按鈕來停止生產。此時“結束時間”會自動顯示當前批次結束生產的時間。最終生產結束時該批次的“批次名稱”、“開始時間”、“結束時間”會被歸檔,同時會顯示到“TableControl”控件中。而“TableControl2”及“TrendControl”控件中的數據還處于實時更新之中。經過多次生產過程后,“TableControl”控件即批次選擇列表中會出現之前所有已完成批次的信息以供選擇。
查詢過程
首先在查詢批次選擇列表(TableControl 控件)工具欄上點擊“啟動/停止”按鈕來停止控件的實時更新。然后在列表中選擇希望查詢的批次,例如“P202002071125”。點擊“選擇并查詢”按鈕。列表中所選擇的批次信息將會顯示在右側的輸出域中,包括查詢批次名稱、生產啟停時間以及該批次的生產時長。如本例中所選擇的批次生產是從“2020-02-07 11:25:21”到“2020-02-07 11:25:33”,持續了 12 秒,轉換為分鐘后則為 0.2 分鐘。最終該批次內的生產數據則呈現在 TableControl2 以及 TrendControl 中。
報表輸出
點擊“打印”按鈕,該批次的數據將會被打印成 PDF 文檔存儲到項目文件夾當中。
雙擊最新打印出的文件。在 Windows 10 中可通過 Microsoft Edge 瀏覽器進行查看。