產(chǎn)品分類(lèi)品牌分類(lèi)
-
西門(mén)子PLC模塊 西門(mén)子CPU 西門(mén)子DP電纜 西門(mén)子模塊 西門(mén)子變頻器 西門(mén)子電源 西門(mén)子連接器 西門(mén)子軟啟動(dòng) 西門(mén)子軸卡 西門(mén)子數(shù)控系統(tǒng) 西門(mén)子工控機(jī) 西門(mén)子PLC 西門(mén)子觸摸屏 西門(mén)子交換機(jī) 西門(mén)子導(dǎo)軌 西門(mén)子驅(qū)動(dòng)器 西門(mén)子NCU備件 ET200 DP接頭 S7-1500 S7-400 S7-300 1200 200SMART 200CN PLC 電線(xiàn)電纜
6ES7 211-1HE40-0XB0現(xiàn)貨供應(yīng)
6ES7 211-1HE40-0XB0
西門(mén)子EM231模擬量輸入模塊6ES7231-7PB22-0XA8 用PLC實(shí)現(xiàn)對(duì)系統(tǒng)的控制是非常方便的。這是因?yàn)椋菏紫萈LC控制邏輯的建立是程序,用程序代替硬件接線(xiàn)。編程序比接線(xiàn),更改程序比更改接線(xiàn),當(dāng)然要方便得多! 其次PLC的硬件是高度集成化的,已集成為種種小型化的模塊。而且,這些模塊是配套的,已實(shí)現(xiàn)了系列化與規(guī)格化。種種控制系統(tǒng)所需的模塊,PLC廠(chǎng)家多有現(xiàn)貨供應(yīng),市場(chǎng)上即可購(gòu)得。所以,硬件系統(tǒng)配置與建造也非常方便。 正因如此,用可編程序控制器才有這個(gè)"可"字。對(duì)軟件講,它的程序可編,也不難編。對(duì)硬件講,它的配置可變,而且也易于變。 具體地講,PLC有五個(gè)方面的方便: (1)配置方便:可接控制系統(tǒng)的需要確定要使用哪家的PLC,那種類(lèi)型的,用什么模塊,要多少模塊,確定后,到市場(chǎng)上定貨購(gòu)買(mǎi)即可。 (2)安裝方便:PLC硬件安裝簡(jiǎn)單,組裝容易。外部接線(xiàn)有接線(xiàn)器,接線(xiàn)簡(jiǎn)單,而且一次接好后,更換模塊時(shí),把接線(xiàn)器安裝到新模塊上即可,都不必再接線(xiàn)。內(nèi)部什么線(xiàn)都不要接,只要作些必要的DIP開(kāi)關(guān)設(shè)定或軟件設(shè)定,以及編制好用戶(hù)程序就可工作。 (3)編程方便:PLC內(nèi)部雖然沒(méi)有什么實(shí)際的繼電器、時(shí)間繼電器、計(jì)數(shù)器,但它通過(guò)程序(軟件)與系統(tǒng)內(nèi)存,這些器件卻實(shí)實(shí)在在地存在著。其數(shù)量之多是繼電器控制系統(tǒng)難以想象的。即使是小型的PLC,內(nèi)部繼電器數(shù)都可以千計(jì),時(shí)間繼電器、計(jì)數(shù)也以百計(jì)。而且,這些繼電器的接點(diǎn)可無(wú)限次地使用。PLC內(nèi)部邏輯器件之多,用戶(hù)用起來(lái)已不感到有什么限制。一考慮的只是入出點(diǎn)。而這個(gè)內(nèi)部入出點(diǎn)即使用得再多,也無(wú)關(guān)緊要。大型PLC的控制點(diǎn)數(shù)可達(dá)萬(wàn)點(diǎn)以上,哪有那么大的現(xiàn)實(shí)系統(tǒng)?若實(shí)在不夠,還可聯(lián)網(wǎng)進(jìn)行控制,不受什么限制。PLC的指令系統(tǒng)也非常豐富,可毫不困難地實(shí)現(xiàn)種種開(kāi)關(guān)量,以及模擬量的控制。PLC還有存儲(chǔ)數(shù)據(jù)的內(nèi)存區(qū),可存儲(chǔ)控制過(guò)程的所有要保存的信息。……總之,由于PLC功能之強(qiáng),發(fā)揮其在控制系統(tǒng)的作用,所受的限制已不是PLC本身,而是人們的想象力,或與其配套的其它硬件設(shè)施了。 PLC的外設(shè)很豐富,編程器種類(lèi)很多,用起來(lái)都較方便,還有數(shù)據(jù)監(jiān)控器,可監(jiān)控PLC的工作。使用PLC的軟件也很多,不僅可用類(lèi)似于繼電電路設(shè)計(jì)的梯形圖語(yǔ)言,有的還可用BASIC語(yǔ)言、C語(yǔ)言,以至于自然語(yǔ)言。這些也為PLC編程提供了方便。 PLC的程序也便于存儲(chǔ)、移植及再使用。某定型產(chǎn)品用的PLC的程序完善之后,凡這種產(chǎn)品都可使用。生產(chǎn)一臺(tái),拷貝一份即可。這比起繼電器電路臺(tái)臺(tái)設(shè)備都要接線(xiàn)、調(diào)試,要省事及簡(jiǎn)單得多。 (4)維修方便:這是因?yàn)椋?①PLC工作可靠,出現(xiàn)故障的情況不多,這大大減輕了維修的工作量。這在講述PLC的第三個(gè)特點(diǎn)時(shí),還將進(jìn)一步介紹。 ②即使PLC出現(xiàn)故障,維修也很方便。這是因?yàn)镻LC都設(shè)有很多故障提示信號(hào),如PLC支持內(nèi)存保持?jǐn)?shù)據(jù)的電池電壓不足,相應(yīng)的就有電壓低信號(hào)指示。而且,PLC本身還可作故障情況記錄。所以,PLC出了故障,很易診斷。同時(shí),診斷出故障后排故也很簡(jiǎn)單??砂茨K排故,而模塊的備件市場(chǎng)可以買(mǎi)到,進(jìn)行簡(jiǎn)單的更換就可以。至于軟件,調(diào)試好后不會(huì)出故障,再多只要依據(jù)使用經(jīng)驗(yàn)進(jìn)行調(diào)整,使之完善就是了。 (5)改用方便:PLC用于某設(shè)備,若這個(gè)設(shè)備不再使用了,其所用的PLC還可給別的設(shè)備使用,只要改編一下程序,就可辦到。如果原設(shè)備與新設(shè)備差別較大,它的一些模塊還可重用
在實(shí)際應(yīng)用中,客戶(hù)對(duì)于wincc變量記錄的顯示需求各式各樣,比如在excel或者word中顯示變量記錄,以特定的表格顯示歷史數(shù)據(jù)等等。當(dāng)wincc集成的在線(xiàn)表格控件不能滿(mǎn)足客戶(hù)需要時(shí),就需要通過(guò)自定義的方式來(lái)顯示變量歸檔。主要分為兩部分:
?。?)從wincc中讀取歸檔數(shù)據(jù)
?。?)將歸檔數(shù)據(jù)以特定的格式顯示出來(lái)
本文檔介紹從wincc讀取歸檔數(shù)據(jù)的通用方法,并以listview為例,介紹如何顯示歸檔數(shù)據(jù)。對(duì)于其它控件,客戶(hù)也可以參考本文檔的腳本和編程思路。
表 01
關(guān)于wincc連通性軟件包的使用,請(qǐng)參考下面的幫助文檔:37436159
2.實(shí)現(xiàn)方式總體思路介紹
本文檔通過(guò)調(diào)用wincc ole db數(shù)據(jù)庫(kù)接口驅(qū)動(dòng)(需要wincc連通性軟件包的授權(quán))來(lái)訪(fǎng)問(wèn)wincc的變量歸檔,并在微軟的listview控件中顯示歸檔數(shù)據(jù)。程序結(jié)構(gòu)如下所示:
圖1
具體代碼見(jiàn)附件。
3.具體實(shí)現(xiàn)方法和代碼
3.1 創(chuàng)建到歸檔數(shù)據(jù)庫(kù)的連接
由于wincc的變量歸檔為壓縮數(shù)據(jù),所以必須通過(guò)wincc ole db來(lái)讀取歸檔數(shù)據(jù)。對(duì)于已經(jīng)安裝wincc的計(jì)算機(jī),不需要安裝wincc連通性軟件包。對(duì)于未安裝wincc的客戶(hù)端,必須安裝wincc連通性軟件包。該軟件包含在wincc v7.0的安裝光盤(pán)中。
數(shù)據(jù)庫(kù)連接的腳本如下所示:
'定義數(shù)據(jù)庫(kù)連接變量
dim conn
set conn = createobject("")
'定義數(shù)據(jù)庫(kù)查詢(xún)腳本(可以根據(jù)需要自定義修改)
dim ssql
ssql="tag:r,'processvaluearchive\tag1','0000-00-00 00:01:00.000','0000-00-00 00:00:00.000'"
'通過(guò)調(diào)用自定義的數(shù)據(jù)庫(kù)連接函數(shù),建立與數(shù)據(jù)庫(kù)的連接
dim ors
set ors= winccdatasourceaccess(conn,ssql)
其中,自定義的數(shù)據(jù)庫(kù)連接函數(shù)winccdatasourceaccess(connobj,psql),參數(shù)connobj為連接對(duì)象(),參數(shù)psql為要執(zhí)行的sql查詢(xún)語(yǔ)句,具體代碼如下所示:
function winccdatasourceaccess(connobj,psql)
'建立到數(shù)據(jù)庫(kù)的連接
on error resume next
'讀取本地的wincc運(yùn)行數(shù)據(jù)庫(kù)名稱(chēng)
dim datasourcenamert,dataconnectionname
set datasourcenamert = hmiruntime.tags("@datasourcenamert")
datasourcenamert.read
'定義數(shù)據(jù)庫(kù)連接字符串
dim spro, sdsn,sser
spro = "provider=winccoledbprovider.1;"
sdsn = "catalog=" & datasourcenamert.value & ";"
sser = "data source=.\wincc"
dataconnectionname = spro + sdsn + sser
' 定義查詢(xún)語(yǔ)句字符串
dim ssql
ssql=psql
'建立連接
dim ors,ocom,conn
set conn = createobject("")
set conn=connobj
= dataconnectionname
conn.cursorlocation = 3
conn.open
' 創(chuàng)建查詢(xún)的命令文本
set ors = createobject("adodb.recordset")
set ocom = createobject("")
= 1
set ocom.activeconnection = conn
'執(zhí)行查詢(xún)
set ors = ocom.execute
'返回結(jié)果
set winccdatasourceaccess=ors
if err.number <> 0 then
msgbox "error code" & err.number & "source:" & & "error deion" & err.deion
err.clear
end if
on error go to 0
end function
自定義函數(shù)的創(chuàng)建過(guò)程為:在wincc項(xiàng)目管理器中右鍵點(diǎn)擊全局腳本?打開(kāi)vbs全局腳本編輯器?項(xiàng)目函數(shù)?新建函數(shù)。具體如下圖所示:
圖2
3.2 注冊(cè)microsoft listview control 6.0控件
打開(kāi)wincc圖形編輯器。在右側(cè)的對(duì)象選項(xiàng)板中單擊“控件",選中“activex control",點(diǎn)擊右鍵,選擇“添加移除"。在彈出菜單中,選擇“microsoft listview control 6.0",點(diǎn)擊“ok"確認(rèn)。