徐海峰
摘要:闡述了組態(tài)王通過自建Access數(shù)據(jù)庫,將配液生產(chǎn)過程中的表數(shù)據(jù)通過SQL語句存入Access數(shù)據(jù)庫。通過輸入查詢批號,在數(shù)據(jù)庫里查詢出生產(chǎn)數(shù)據(jù),并將其按設定好的格式顯示在組態(tài)王的表格控件里查看,也可保存為需要的格式文件。
關鍵詞:制藥工程;配液系統(tǒng);批報告
1工藝流程
配液系統(tǒng)的工藝流程主要包括加水,加料,攪拌,溫度,保溫,調(diào)PH值等工藝步驟。本次配液以加水、攪拌兩個工藝步驟為例來做。
在批次生產(chǎn)開始后,先加水、攪拌。然后重復加水、攪拌,批生產(chǎn)結(jié)束。
本項目只做報表系統(tǒng),對工藝程序的自動執(zhí)行以點擊啟停按鈕仿真代替。
2基于組態(tài)王的報表的實現(xiàn)
2.1生產(chǎn)過程變量建立
建立一個“罐內(nèi)重量”的變量,類型為實數(shù),建立“生產(chǎn)啟?!?、“加水啟停”、“攪拌啟停”三個變量,類型為離散量,控制工藝步驟的開啟停止。
建立批報表所需的其它輔助信息變量,為“批號”、“產(chǎn)品名稱”、“產(chǎn)品規(guī)格”、“批號查詢”、“罐內(nèi)重量”,均為字符串類型。
2.2生產(chǎn)畫面的建立
新建幾個文本,分別為“批號”、“產(chǎn)品名稱”、“產(chǎn)品規(guī)格”、“批號查詢”、“罐內(nèi)重量”、“操作員”,并在這幾個字后面再各建一個文本,并在字符串輸入、輸出連接變量剛才2.1中新建的和其名字一樣的幾個變量,操作員后面的文本字符串輸出直接連接系統(tǒng)自帶變“$UserName”。
新建三個按鈕,“批次啟?!?、“加水啟?!?、“攪拌啟?!?,在其離散輸入分別連2.1建立的“生產(chǎn)啟?!?、“加水啟?!?、“攪拌啟?!比齻€變量。
2.3報表需要的變量
建立報表需要的一些變量:“批次開始日期記錄體”、“批次開始時間記錄體”、“批次結(jié)束日期記錄體”、“批次結(jié)束時間記錄體”,加水、攪拌的開始及結(jié)束日期時間記錄體,“加水前罐內(nèi)重量記錄體”、“加水后罐內(nèi)重量記錄體”。
報表查詢時還需將查到的數(shù)值賦值給變量顯示在表格內(nèi),所以還要建立各查詢后存儲數(shù)據(jù)的變量,其和存入數(shù)據(jù)庫的變量一一對應,命名為“XX查詢記錄體”,如“批號查詢記錄體”。
2.4Access數(shù)據(jù)庫的建立
在項目文件夾內(nèi)右鍵建立Access數(shù)據(jù)庫文件,命名為“數(shù)據(jù)”,在里面建立“批次記錄”的表格,在表格里面建立報表需要的字段,批號、產(chǎn)品名稱、產(chǎn)品規(guī)格、操作員、加水前罐內(nèi)重量、加水后罐內(nèi)重量,批次及各工藝的開始結(jié)束日期時間。
在控制面板中打開數(shù)據(jù)源(ODBC),在系統(tǒng)DSN中添加“MicrosoftAccessDriver”的驅(qū)動,將其數(shù)據(jù)源名稱命名為“數(shù)據(jù)”,數(shù)據(jù)庫選擇為剛才建立的“數(shù)據(jù)”文件。
2.5組態(tài)王與數(shù)據(jù)庫建立連接
先建立變量“DeviceID”,類型為整數(shù),后面所有的SQL語句都能用到。在組態(tài)王應用程序命令語言里,在啟動時,添加和數(shù)據(jù)庫的連接函數(shù):
SQLConnect(DeviceID,"dsn=數(shù)據(jù);uid=;pwd=");其中“dsn”為所建數(shù)據(jù)庫的名稱。
2.6將數(shù)據(jù)存入數(shù)據(jù)庫
組態(tài)王數(shù)據(jù)讀寫Access數(shù)據(jù)庫,是通過記錄體來實現(xiàn)的。建立一個記錄體,在記錄體里添加字段名,其字段名要和數(shù)據(jù)庫里建立的字段名一樣,字段名都要連接相應的變量。以批次開始記錄體為例,在SQL訪問管理器的記錄體中新建一個記錄體,命名為“PCK”,如圖1所示: