环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產(chǎn)品分類

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

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

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

發(fā)布日期:2022-04-27 點擊率:296 品牌:西門子_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]確認。在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] 按鈕確認。在 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 也一并被加入進來。選中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] 按鈕確認。在列表框中選擇 CalculateControl.Calculate,如圖1所示:

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

    點擊 [OK] 按鈕確認,這時該.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,在按鈕的鼠標左鍵單擊(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)品

更多
主站蜘蛛池模板: EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 517瓜水果特产网|一个专注特产好物的网站 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | Q361F全焊接球阀,200X减压稳压阀,ZJHP气动单座调节阀-上海戎钛 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | CNC机加工-数控加工-精密零件加工-ISO认证厂家-鑫创盟 | 济南货架定做_仓储货架生产厂_重型货架厂_仓库货架批发_济南启力仓储设备有限公司 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 浙江清风侠环保设备有限公司| 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 一路商机网-品牌招商加盟优选平台-加盟店排行榜平台 | 高柔性拖链电缆_卷筒电缆_耐磨耐折聚氨酯电缆-玖泰特种电缆 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 阜阳在线-阜阳综合门户 | 通风天窗,通风气楼,屋顶通风天窗,屋顶通风天窗公司 | 气体热式流量计-定量控制流量计(空气流量计厂家)-湖北南控仪表科技有限公司 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 智能监控-安防监控-监控系统安装-弱电工程公司_成都万全电子 | 筛分机|振动筛分机|气流筛分机|筛分机厂家-新乡市大汉振动机械有限公司 | 球盟会·(中国)官方网站| 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 深圳富泰鑫五金_五金冲压件加工_五金配件加工_精密零件加工厂 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 算命免费_生辰八字_免费在线算命 - 卜算子算命网 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 |