臺達(dá)PLC配合組態(tài)王實(shí)現(xiàn)工廠產(chǎn)量監(jiān)控查詢系統(tǒng)
項目基于性價比極高的臺達(dá)PLC和組態(tài)王界面軟件成功的開發(fā)出產(chǎn)量監(jiān)控查詢系統(tǒng)。
1引言
產(chǎn)量監(jiān)控查詢系統(tǒng)系統(tǒng)對整個工廠所有生產(chǎn)線進(jìn)行實(shí)時監(jiān)控,對每一條生產(chǎn)線的產(chǎn)量進(jìn)行實(shí)時的存儲,存儲的數(shù)據(jù)通過組態(tài)王連接PLC嗜暴,將PLC中掉電保持區(qū)的數(shù)據(jù)讀到組態(tài)王自定義的相應(yīng)變量當(dāng)中,每分鐘通過標(biāo)準(zhǔn)的SQL語言對數(shù)據(jù)進(jìn)行存儲(每分鐘向SQLSERVER數(shù)據(jù)庫中存儲26條數(shù)據(jù)议蟆,即26條生產(chǎn)線的當(dāng)前產(chǎn)量)闷沥。用戶可以通過:日期、時間咐容、時間段舆逃、車間、生產(chǎn)線對任何車間戳粒、任何生產(chǎn)線進(jìn)行產(chǎn)量的查詢路狮;能夠?qū)θ魏诬囬g、任何生產(chǎn)線進(jìn)行月產(chǎn)量的統(tǒng)計恼芙。同時在查詢出滿足條件的記錄后结晒,將結(jié)果通過報表的組態(tài)顯示在相應(yīng)的表格當(dāng)中,可以對該結(jié)果進(jìn)行存儲和打印龟冻。
2系統(tǒng)設(shè)計
2.1系統(tǒng)框圖(圖2)
圖1 產(chǎn)量監(jiān)控查詢系統(tǒng)畫面
2.2設(shè)備選型設(shè)計
3 系統(tǒng)分析
3.1功能要求
可以任意查詢一車間碎准、二車間任何生產(chǎn)線(共26條生產(chǎn)線)任何時段的產(chǎn)量。具體明細(xì)如下:
(1)每條生產(chǎn)線產(chǎn)量的數(shù)據(jù)至少能夠保存四個月的儲存期陋抵,以便對歷史數(shù)據(jù)進(jìn)行查詢焚怨。
(2)要求能夠查詢每條生產(chǎn)線任意每月、任意每天撼柳、任意每小時铺描、任意每分鐘的產(chǎn)量。
(3)要求能夠?qū)θ我饷織l生產(chǎn)線在任意時段的產(chǎn)量進(jìn)行查詢促壕。
(4)查詢出來的任何結(jié)果要以特定的格式在報表中進(jìn)行組態(tài)蟆导,同時將結(jié)果打印。
(5)各生產(chǎn)線任意每月產(chǎn)量哀铡、任意每天產(chǎn)量杯聚、任意每小時產(chǎn)量、任意每分鐘產(chǎn)量可以在電腦上用柱狀圖抒痒、實(shí)時趨勢曲線的形式表現(xiàn)出來
3.2查詢方式
(1)能夠按照日期進(jìn)行查詢(格式:Year/Month/Day)
(2)能夠按照時間進(jìn)行查詢(格式:Hour/Minute/Second)
(3)能夠按照生產(chǎn)線進(jìn)行查詢(一車間:1-1幌绍、1-2;2-1故响,2-2傀广;3-1,3-2彩届;4-1伪冰,4-2;5-1樟蠕,5-2贮聂;6-1,6-2寨辩;7-1吓懈,7-2;8-1靡狞,8-2 二車間:1-1拷拥,1-2;2-1显瞒,2-2祸遮;3-1,3-2朦盲;4-1木锈,4-2,4-3姚详,4-4)
(4)能夠按照任意時間段進(jìn)行查詢(格式:Year/Month/Day Hour/Minute/Second To Year/Month/Day/ Hour/Minute/Second)
(5)能夠按照班次進(jìn)行查詢(格式:早班槐猪,中班,晚班)早班:7:30—15:30
中班:15:30—23:30 晚班:23:30—7:30
(6)能夠查詢?nèi)我饷吭氯我廛囬g腮稚、任意生產(chǎn)線的產(chǎn)量
(7)能夠運(yùn)用<1>——<5>的各種不同的排列組合進(jìn)行復(fù)雜的查詢
4難點(diǎn)及實(shí)現(xiàn)方法
4.1 海量數(shù)據(jù)管理
兩個車間共26條生產(chǎn)線许食,每分鐘要有26條記錄生成,每分鐘向數(shù)據(jù)庫插入26條記錄挽饺。
該系統(tǒng)全天24小時工作够菊,不允許停。所以一天的數(shù)據(jù)量為37440條記錄恨溜。每月的數(shù)據(jù)量為1160640條記錄符衔。如果要存儲四個月,則數(shù)據(jù)量為4642260條記錄糟袁。數(shù)據(jù)量是相當(dāng)龐大的判族。硬盤的數(shù)據(jù)存儲接近2-3G躺盛,不僅會造成在查詢時,系統(tǒng)資源嚴(yán)重被占用形帮,同時普通的數(shù)據(jù)庫如ACCESS的表格沒有能力管理如此龐大的數(shù)據(jù)系統(tǒng)槽惫。ACCESS在管理如此龐大的數(shù)據(jù)時,不僅系統(tǒng)會造成不穩(wěn)定辩撑,同時會出現(xiàn)不可預(yù)料的情形界斜。所以只能尋找能夠管理大型數(shù)據(jù)系統(tǒng)的數(shù)據(jù)庫,因此可以選擇SQLSERVER或Oracle合冀。
4.2 基于WindowsXP創(chuàng)建SQL服務(wù)器的新數(shù)據(jù)源
組態(tài)王支持對標(biāo)準(zhǔn)的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的插入各薇、選擇、刪除等基本的操作君躺。同時支持標(biāo)準(zhǔn)的SQL語言峭判。靈活的運(yùn)用組態(tài)王提供的SQL函數(shù)使組態(tài)王通過ODBC(開放性的數(shù)據(jù)源)配合標(biāo)準(zhǔn)的SQL語言對數(shù)據(jù)庫進(jìn)行各種簡單和復(fù)雜的操作。
在Win2000/Winnt/Winxp等操作系統(tǒng)下痹埠,必須正確的進(jìn)行設(shè)置:從控制面板中雙擊性能和維護(hù)服骚,如圖3所示。以WindowsXP為例說明展霸。
第一步:在控制面板下選擇 管理工具->ODBC數(shù)據(jù)源蝎蛤,雙擊圖標(biāo) 出現(xiàn)圖2界面。
圖2 ODBC數(shù)據(jù)源管理器界面
第二步:在用戶DSN 選項卡片上莺肌,單擊添加按鈕挪吱,出現(xiàn) 創(chuàng)建新數(shù)據(jù)源 對話框,選擇SQL Server(圖3)辈喜。
圖3 創(chuàng)建新數(shù)據(jù)源
第三步:單擊第二步的完成按鈕捺柬,出現(xiàn)創(chuàng)建到SQL Server的新數(shù)據(jù)源。如圖4所示砖伴。
圖4 創(chuàng)建SQL服務(wù)器的新數(shù)據(jù)源(1)
輸入數(shù)據(jù)源名稱望泪、數(shù)據(jù)源描述和SQL Server 所在的服務(wù)器名稱或者IP地址。服務(wù)器名稱可以是SQL Server所在的機(jī)器名稱愧汽,也可以是IP地址宾芥。單擊下一步按鈕。
第四步:選擇登錄SQL Server時的身份驗(yàn)證方式横朋。并輸入登錄SQL Server時所用到的用戶名和密碼仑乌。如圖5所示。
圖5創(chuàng)建SQL服務(wù)器的新數(shù)據(jù)源(2)
這里的用戶名和密碼是在SQL Server中建立的琴锭。在SQL Server數(shù)據(jù)庫中選擇安全性->登錄晰甚,新建用戶,如圖6所示决帖。
圖6創(chuàng)建SQL服務(wù)器的新數(shù)據(jù)源(3)
第五步 一定要選擇 選項厕九,否則默認(rèn)數(shù)據(jù)庫是master蓖捶。然后選擇您想要連接的數(shù)據(jù)庫。其余的按默認(rèn)設(shè)置扁远,如圖7所示腺阳。然后單擊下一步按鈕。
圖7創(chuàng)建SQL服務(wù)器的新數(shù)據(jù)源(4)
第六步:按默認(rèn)設(shè)置穿香,單擊完成按鈕(圖8)。
圖8創(chuàng)建SQL服務(wù)器的新數(shù)據(jù)源(5)
第七步:圖9給出了數(shù)據(jù)庫連接的摘要信息绎速,如果想測試一下是否能夠連接到數(shù)據(jù)庫皮获,可以單擊“測試數(shù)據(jù)源”按鈕,會出現(xiàn)測試結(jié)果抠衬。
圖9創(chuàng)建SQL服務(wù)器的新數(shù)據(jù)源(6)
單擊確定完成連接裸岁。接下來的工作就是在組態(tài)王王建立記錄體、表格模板锹肾。其中連接數(shù)據(jù)庫的時候郊啄,一定要輸入和剛才數(shù)據(jù)源名稱一致的DSN。如
dsn = wuhandsn.
4.3 表格名稱創(chuàng)新
即使使用大型的數(shù)據(jù)庫奥泛,SQL Server或Oracle寄菲,由于每天的數(shù)據(jù)量多達(dá)37440條記錄,如果將一個月虫弓,甚至是四個月的記錄全部寫入同一個數(shù)據(jù)庫的同一個表格起胡,則所有的數(shù)據(jù)量大的將使表格崩潰,即使數(shù)據(jù)庫能夠管理抛伏,查詢的速度也是可想而知的息沐。將會非常的慢。經(jīng)過作者反復(fù)的思索鳍泥,想出了一個巧妙的辦法盛惩,就是以系統(tǒng)的日期作為當(dāng)天的表格名稱。當(dāng)系統(tǒng)時間為00:00:00時刻時鹃唯,新建一個表格爱榕,通過SQLCreateTable( DeviceID, "TableName", "TemplateName" )函數(shù)建立不同的表格。因?yàn)榻M態(tài)王支持字符串函數(shù)坡慌,如下所示:
StrASCII( Char );// 此函數(shù)返回某一指定的文字變量首字符的ASCII值
StrChar( ASCII );// 此函數(shù)返回某一指定ASCII碼所對應(yīng)的字符
StrFromInt( Integer, Base );// 此函數(shù)將一整數(shù)值轉(zhuǎn)換為另一進(jìn)制下的字符串表示
StrFromReal( Real, Precision, Type );// 此函數(shù)將一實(shí)數(shù)值轉(zhuǎn)換成字符串形式
StrFromTime( SecsSince1-1-70, StringType );//此函數(shù)將一個時間值轉(zhuǎn)換為字符串
StrInStr( Text, SearchFor, StartPos, CaseSens );//此函數(shù)用于查找文本
StrLeft( Text, Chars );// 此函數(shù)返回指定文字變量的開始(或最左的)若干個字符
StrLen( Text );// 此函數(shù)返回某一指定的文字變量的長度
StrLower( Text );// 此函數(shù)將指定文字中的所有大寫字母轉(zhuǎn)換為小寫字母
StrMid( Text, StartChar, Chars );//此函數(shù)從指定的位置開始呆细,從一個文字變量中返回指定個數(shù)的字符
StrReplace( Text, SearchFor, ReplaceWith, CaseSens, NumToReplace, MatchWholeWords );//此函數(shù)替換或改變所提供字符串的指定部分
StrRight( Text, Chars );// 此函數(shù)返回指定文字變量的最末端(或最右)若干個字符
StrSpace( NumSpaces );// 此函數(shù)在文字變量中或表達(dá)式中產(chǎn)生一個空格串
StrToInt( Text );// 此函數(shù)在文字變量中或表達(dá)式中產(chǎn)生一個空格串
StrToReal( Text );// 此函數(shù)將一個由數(shù)字組成的字符串轉(zhuǎn)換成一個能用于數(shù)字計算的實(shí)數(shù)值
StrTrim( Text, TrimType );// 此函數(shù)刪除文字變量中無用的空格
StrType( Text, TestType );// 此函數(shù)檢測文字變量的首字符以確定其是否為某一類型
StrUpper( Text );// 此函數(shù)將一指定文字變量中所有的小寫字符轉(zhuǎn)換成大寫字符在組態(tài)王中建立內(nèi)存型字符變量NameTable="A"+StrFromInt( \\本站點(diǎn)\$年, 10)+StrFromInt( \\本站點(diǎn)\$月, 10)+StrFromInt( \\本站點(diǎn)\$日, 10);NameTable的構(gòu)成為字母A+系統(tǒng)日期。將系統(tǒng)提供的整型變量轉(zhuǎn)換成字符型變量八匠。這樣可以在數(shù)據(jù)庫中建立每天的表格絮爷。每當(dāng)系統(tǒng)日期由23:59:59跳變到00:00:00時,執(zhí)行SQLCreateTable()函數(shù)梨树,建立當(dāng)天的表格坑夯,如圖10所示岖寞,在SQL Server中組態(tài)王建立了A2006619日的表格。
圖10建立當(dāng)天的表格
4.4 基于Active控件的組態(tài)王條件查詢
為了完成如此復(fù)雜的查詢柜蜈,使用了Active控件仗谆,因?yàn)榻M態(tài)王支持第三方控件。
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)淑履,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享恤络,并不代表本站贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),也不構(gòu)成任何其他建議蹂曾。本站部分作品是由網(wǎng)友自主投稿和發(fā)布雁韵、編輯整理上傳,對此類作品本站僅提供交流平臺蕴嘹,不為其版權(quán)負(fù)責(zé)颊嫁。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻、圖片闹只、文字如涉及作品版權(quán)問題祈兼,請第一時間告知,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容羡逃,以保證您的權(quán)益痒跌!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力测佛,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機(jī)床嘹据,助力制造升級技術(shù)專題
- 汽車輕量化驅(qū)動下的零部件加工應(yīng)用專題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動機(jī)解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題