给WINCC创建.NET控件

1. 介绍

1.1 将要创建的.NET控件

如图所示,控件由以下部分组成:

  • 一个标题
  • 一个按钮
  • 还有一个I/O域

image-20240518220806156

1.2 功能介绍

控件完成后将实现以下功能:

  • 可以使用“Start”按钮执行从“WinCC Professional”中任意选择的系统功能。
  • 可以为 I/O 域分配“WinCC Professional”中的任何变量。

2. 开工

打开Visual Studio 2015,新建项目

image-20240521195349416

从“已安装-模板-Visual C#-Windows-经典桌面”中选择“Windows窗体控件库”点击确定。

打开项目属性,构建标签中的目标平台选择“Any CPU”

image-20240521195632021

打开控件视图,添加控件三个控件

image-20240521195738566

  • Label控件命名为titleLabel1
  • Button控件命名为buttonEvent1
  • Textbox控件命名为ioFieldValue1

打开代码视图,添加以下代码

namespace Control1
{
    public partial class ButtonAndViewer: UserControl
    {
        Int16 iValue1 = 0; //内部属性用来存储IO域的值
        
        [Description("点击了Start按钮的事件")]
        public event EventHandler Event1;
        
        [Description("用来设置IO域值的属性"), Category("Data")]
        public Int16 Value1
        {
            get
            {
                return iValue1;
            }
            set
            {
                iValue1 = value;
                // 属性值被修改时将其显示到IO域控件中
                ioFieldValue1.Text = iValue1.ToString();
            }
        }
        
        // 其他代码保持不变
        
        private void button1_Click(object sender, EventArgs e)
        {
            // start按钮被点击,触发之前申明的事件
            Event1?.Invoke(this, e);
        }
    }
}

点击构建生成解决方案,得到DLL文件

在WINCC中添加.NET控件,指定刚刚生成的DLL文件,得到Control1.ButtonAndViewer控件,将控件拖放到画面中。

通过Data可以绑定Value1到任意变量

通过事件列表可以绑定Event1事件,当Start按钮点击时触发。

至此一个简单的WINCC .NET控件就开发完成了。