WinCC V7.0 支持.NET控件的编程入门

时间:2023-03-19作者:佚名

1. 开发.NET控件的示例程序
WinCC V7.0支持的自定义.NET控件,需要使用Visual Studio 2005编写。下面以C#编程语言为例,开发一个简单的.NET控件,这个控件仅提供一个方法Add, 实现两数相加的功能。
在VS2005中新建一个工程CalculateControl,工程类型为 Visual C# 中的Windows Control Library,在 Solution Explorer 窗口中,将UserControl1.cs重命名为 Calculate.cs,弹出的对话框询问是否改变所有与UserControl1相关的代码,点击[Yes]确认。在Calculate.cs 文件的Calculate类中添加Add函数,用于计算两数之和,如下所示:

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 下拉列表设为 Release,在工程属性的 Application 页中,点击 [Assembly Information…] 按钮,选中 Make assembly COM-Visible,并点击 [OK] 按钮确认。在 Build 页中,选中 Register for COM interop 后,保存设置,并编译程序,这样编译后同时会生成CalculateControl.tlb文件,并且自动将其注册(命令行命令regasm有同样的效果),注意到CalculateControl.dll生成到 binRelease 文件夹中。

2.开发.NET控件的安装程序
如果该控件需要在另一台计算机上使用,需要为该控件设计安装程序。新建一个VS2005工程SetupCalculateControl,工程类型为Setup and Deployment Setup Project。在Solution Explorer窗口中的工程名(SetupCalculateControl)节点上右键单击,在弹出的快捷菜单中选择AddAssembly…项,在Browse页中,找到刚才编译的CalculateControl.dll,将其加入到安装程序中,注意到CalculateControl.tlb 也一并被加入进来。选中CalculateControl.dll节点,将其属性中的Register从vsdraDoNotRegister改为vsdraCOM,用于在安装过程中自动注册控件。将工具栏中的 Solution Configurations 下拉列表设为 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 复选框,点击 [OK] 按钮确认。在列表框中选择 CalculateControl.Calculate,如图1所示:

WinCC V7.0 支持.NET控件的编程入门
图 1:在ActiveX Control Test Container中插入控件

点击 [OK] 按钮确认,这时该.NET控件被加入到测试容器中。选中该控件,在Control菜单中选择[Invoke Methods…]项,在Method Name中选择Add(Method),分别设定两个加数的值,点击 [Invoke] 按钮,在 Return Value 文本框中可以看到两数相加的结果。

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]按钮。

WinCC V7.0 支持.NET控件的编程入门
图 2:在Select .NET Object对话框中插入自定义.NET控件

  • 如图2所示,在Available Controls列表中高亮显示Calculate项,选中它前面的Check Box,点击最下面的[OK]按钮,即可将控件加入到WinCC V7.0中。
  • 将.NET Control节点展开,找到” CalculateControl.Calculate”并将其拖拽到窗体上的合适的位置。
  • 在窗体上加入一个静态文本控件,将其对象名称改为 CalculateResult。
  • 在窗体上加入一个按钮,将其文本改为Add,在按钮的鼠标左键单击(ButtonMousePress left)事件中加入VBS脚本,创建.NET控件并调用它的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”) 来创建和引用加入的.NET控件。

  • 保存并运行该程序,点击[Add]按钮,静态文本中将显示结果18。

注意:本文提供了 WinCC V7.0 支持.NET控件的基本编程方法和测试程序,所有的源程序及测试过程仅供参考。

相关阅读

电动葫芦使用注意事项

钢丝绳电动葫芦,是起重机械中一种小型的起重设备。钢丝绳电动葫芦的型号很多,有MD1钢丝绳电动葫芦、CD1钢丝绳电动葫芦、微型电动葫芦、低建筑钢丝绳电动葫芦、HC方型钢丝绳电...
2023-03-21

1度电能做什么?kW和kWh的区别,你真的清楚吗?

看到这个题目,可能很多人会想“这有什么嘛,不就是装机容量和发电量的单位?” 且慢,这个问题不止这么简单。很多电气专业的学生或者从事相关工作的人也经常分不清kW和kWh,理...
2023-06-11

稳压器的稳压距离是多少米,稳压器在远距离能用吗?

在远距离能用" alt="稳压器在远距离能用"/> 我们都知道,稳压器是一款电力辅助仪器,我们对于稳压器选择上,我们比较关注的除了稳压器的功率和稳压器的相数之外,我们还会关注稳...
2023-07-18
稳压器的稳压距离是多少米,稳压器在远距离能用吗?

选用绝缘导线的要求及导线绝缘层的剥削方法有哪些

  在选用绝缘导线 时,主要考虑导线的安全电流、机械强度和额定电压。    (1)安全电流   导线流过电流时会发热,电流越大,发出热量越多,热量通过绝缘层散发出去,如果散...
2023-06-27
选用绝缘导线的要求及导线绝缘层的剥削方法有哪些

关于(风机发电机)异步发电机并网的那些事

目前在国内和国外大量采用的是交流异步发电机,其并网方法也根据电机的容量不同和控制方式不同而变化。异步发电机投入运行时,由于靠转差率来调整负荷,因此对机组的调速精度...
2023-06-16
关于(风机发电机)异步发电机并网的那些事

热销商品

国标TRVV高柔性拖链电缆2—48芯0.3 0.5 1 1.5 2.5平方耐弯折软线

国标TRVV高柔性拖链电缆,专为满足严苛工况下的动态传输需求而设计。该电缆具有2至48芯多种配置,适用于0.3、0.5、1.5、2.5平方等多种截面积选择,灵活满足不同设备的...
¥ 1.24

公牛开关插座面板全屋定制全屋配齐家装报价单官方正品付款链接Q9

公牛开关插座面板,为您的全屋定制家装提供一站式解决方案。我们提供全屋配齐的家装报价单,确保您的家装项目完美无缺。所有产品均为官方正品,品质保证,让您用得放心。...
¥ 1

3M自粘橡胶条高硬度耐压实心幕墙玻璃舞台搭建货架专用减震密封条

3M自粘橡胶条是一款专为高要求工业及建筑场景设计的高性能密封减震材料,采用高硬度实心橡胶材质,具备优异的耐压性、抗老化性和持久弹性。其独特的自粘背胶设计,安装...
¥ 1.6

定做定制各类密封条三元乙丙橡胶硅胶PVC防火阻燃EVA氯丁石墨丁晴

本公司专业定做各类定制密封条,涵盖三元乙丙橡胶(EPDM)、硅胶、PVC、EVA、氯丁橡胶、丁腈橡胶及石墨复合等多种材质,满足不同行业对密封、防水、隔音、隔热及防火阻燃...
¥ 1

直销配电箱暗插销铰链门轴CL225插销带螺丝固定铁皮柜弹簧铁铰链

CL225插销式暗铰链专为配电箱、铁皮柜等金属柜体设计,采用优质冷轧钢板经冲压成型,表面镀锌处理,防腐耐用。其内置弹簧结构,确保柜门开合顺畅、自动复位,提升使用便捷...
¥ 0.06

网站栏目