TECO东元电机-东元变频器-teco东元电机股份有限公司官网

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > 工業(yè)軟件 > 組態(tài)軟件

類型分類:
科普知識
數(shù)據(jù)分類:
組態(tài)軟件

WinCC V7.0 支持.NET控件的編程入門

發(fā)布日期:2022-04-27 點擊率:299 品牌:西門子_Siemens

    1. 開發(fā).NET控件的示例程序

    WinCC V7.0支持的自定義.NET控件,需要使用Visual Studio 2005編寫。下面以C#編程語言為例,開發(fā)一個簡單的.NET控件,這個控件僅提供一個方法Add, 實現(xiàn)兩數(shù)相加的功能。

    在VS2005中新建一個工程CalculateControl,工程類型為 Visual C# 中的Windows Control Library,在 Solution Explorer 窗口中,將UserControl1.cs重命名為 Calculate.cs,彈出的對話框詢問是否改變所有與UserControl1相關(guān)的代碼,點擊[Yes]確認(rèn)。在Calculate.cs 文件的Calculate類中添加Add函數(shù),用于計算兩數(shù)之和,如下所示:

public double Add(double dblA, double dblB)

{

return ( dblA + dblB );

}

在 Calculate.cs 文件的Calculate類之前插入如下代碼:

// CalculateControl.Calculate 是該控件的PROGID.

[ProgId("CalculateControl.Calculate")]

// 缺省的是ClassInterfaceType.AutoDispatch,該方式下只生成dispatch接口,

// 只能被使用script、VB等late bingding方式的COM客戶使用。

[ClassInterface(ClassInterfaceType.AutoDual)]

然后在 Calculate.cs 文件的上部插入如下代碼:

using System.Runtime.InteropServices;

    將工具欄中的 Solution Configurations 下拉列表設(shè)為 Release,在工程屬性的 Application 頁中,點擊 [Assembly Information…] 按鈕,選中 Make assembly COM-Visible,并點擊 [OK] 按鈕確認(rèn)。在 Build 頁中,選中 Register for COM interop 后,保存設(shè)置,并編譯程序,這樣編譯后同時會生成CalculateControl.tlb文件,并且自動將其注冊(命令行命令regasm有同樣的效果),注意到CalculateControl.dll生成到 binRelease 文件夾中。

    2.開發(fā).NET控件的安裝程序

    如果該控件需要在另一臺計算機上使用,需要為該控件設(shè)計安裝程序。新建一個VS2005工程SetupCalculateControl,工程類型為Setup and Deployment  Setup Project。在Solution Explorer窗口中的工程名(SetupCalculateControl)節(jié)點上右鍵單擊,在彈出的快捷菜單中選擇AddAssembly…項,在Browse頁中,找到剛才編譯的CalculateControl.dll,將其加入到安裝程序中,注意到CalculateControl.tlb 也一并被加入進(jìn)來。選中CalculateControl.dll節(jié)點,將其屬性中的Register從vsdraDoNotRegister改為vsdraCOM,用于在安裝過程中自動注冊控件。將工具欄中的 Solution Configurations 下拉列表設(shè)為 Release,編譯該安裝工程,在Release 文件夾中可以找到生成的安裝文件(包括setup.exe和SetupCalculatorControl.msi)。

    3. 測試.NET控件

    使用ActiveX Control Test Container測試該控件的功能,雙擊tstcon32.exe(位于$Program FilesMicrosoft Visual Studio 8Common7Tools),在Edit菜單中選擇 [Insert New Control…] ,在彈出的 Insert Control 對話框中,點擊 [Implemented Categories…] 按鈕,選中 .NET Category 復(fù)選框,點擊 [OK] 按鈕確認(rèn)。在列表框中選擇 CalculateControl.Calculate,如圖1所示:

圖 1:在ActiveX Control Test Container中插入控件

    點擊 [OK] 按鈕確認(rèn),這時該.NET控件被加入到測試容器中。選中該控件,在Control菜單中選擇[Invoke Methods…]項,在Method Name中選擇Add(Method),分別設(shè)定兩個加數(shù)的值,點擊 [Invoke] 按鈕,在 Return Value 文本框中可以看到兩數(shù)相加的結(jié)果。

    4. 在WinCC V7.0中加載和使用該控件的步驟

    1.雙擊該控件的安裝文件Setup.exe,安裝并注冊CalculateControl.dll控件,用戶可以修改安裝目錄,并按照正常的步驟安裝(如果想卸載該控件,可以在控制面板的添加/刪除程序中移除該控件)。

    2.新建一個WinCC V7.0工程,并新建一個畫面。按照如下步驟加載和使用該控件:

    在Object Palette(對象面板)的Controls頁中的.NET Control上右鍵單擊,選擇 [Add/Remove…] 快捷菜單項。

    在彈出的對話框中點擊[Add…]按鈕,在打開的對話框中找到安裝路徑下的CalculateControl.dll控件(例如:C:Program FilesDefault Company NameSetupCalculateControl CalculateControl.dll),雙擊該控件或者選中它并按[Open]按鈕。

圖 2:在selec .NET Object對話框中插入自定義.NET控件

    如圖2所示,在Available Controls列表中高亮顯示Calculate項,選中它前面的Check Box,點擊最下面的[OK]按鈕,即可將控件加入到WinCC V7.0中。

    將.NET Control節(jié)點展開,找到” CalculateControl.Calculate”并將其拖拽到窗體上的合適的位置。

    在窗體上加入一個靜態(tài)文本控件,將其對象名稱改為 CalculateResult。

    在窗體上加入一個按鈕,將其文本改為Add,在按鈕的鼠標(biāo)左鍵單擊(ButtonMousePress left)事件中加入VBS腳本,創(chuàng)建.NET控件并調(diào)用它的Add方法,源程序如下所示:

Dim objCalculateControl

Dim objCalculateResult

Set objCalculateControl = CreateObject("CalculateControl.Calculate")

Set objCalculateResult = ScreenItems("CalculateResult")

objCalculateResult.Text = objCalculateControl.Add ( 6, 12 )

    注意,WinCC V6.2使用ScreenItems(”控件對象名”)引用加入窗體的ActiveX控件。但WinCC V7.0不能使用這種方法,建議使用CreateObject(“.NET控件的PROGID”) 來創(chuàng)建和引用加入的.NET控件。

    保存并運行該程序,點擊[Add]按鈕,靜態(tài)文本中將顯示結(jié)果18。

    注意:本文提供了 WinCC V7.0 支持.NET控件的基本編程方法和測試程序,所有的源程序及測試過程僅供參考。

 

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多
主站蜘蛛池模板: 香蕉人精品视频多人免费永久视频 | 男男暴菊gay无套网站 | 91精品国产综合久久欧美 | 日韩欧美在线播放视频 | 亚洲av日韩av女同同性 | 亚洲色图35p | 中文字幕不卡在线高清 | 亚洲激情久久 | 伊人久久大香线蕉综合电影网 | 欧美综合自拍亚洲综合图 | 亚洲成a人在线看天堂无码 亚洲成本人网亚洲视频大全 | 蜜臀av色欲a片无码精品一区 | 真多人做人爱视频高清免费 | 成年网站免费视频拍拍拍 | 成年人午夜影院 | 亚洲色图欧美视频 | 国产亚洲日韩a欧美在线人成 | 91成人在线免费视频 | www.四虎影视.com| 精品久久久日韩精品成人 | 久久国产精品永久免费网站 | 日韩毛片| 在线91精品亚洲网站精品成人 | 久久久久亚洲av无码a片 | 又色又爽又黄还免费毛片96下载 | 日韩精品无码久久一区二区三 | 中文字幕精品无码一区二区三区 | 久久99精品久久久久久不卡 | 午夜丰满少妇性开放视频 | 久久99精品久久久久久hb无码 | 一道久久爱综合久久爱 | 综合一区自拍亚洲综合图区 | 国产美女自拍 | 一级视频在线播放 | 国内欧美一区二区三区 | 成人羞羞视频在线观看男生 | 青青草狠狠干 | 亚洲国产精品无码观看久久 | 亚洲国产人久久久成人精品网站 | 在线看片日本 | 少妇乳大丰满高潮喷水 |