在WINCC中使用C#脚本 点击:1289 | 回复:1



fireT

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:17帖 | 55回
  • 年度积分:24
  • 历史总积分:594
  • 注册:2009年2月07日
发表于:2020-05-11 15:38:00
楼主

 

 

 

 

 

 

WINCC中使用C#脚本

 

 


 

目录

1. 概述... 2

2. 步骤... 2

2.1 添加脚本类... 2

3. 测试... 3

3.1 添加C应用... 3

3.2 添加VB应用... 3

4. 资源... 3



1. 概述

         WINCC中,我们一般都是使用VBS,C脚本进行编写。如果进行一般的控制应用完全是没有问题。如果涉及到数据运算,访问数据库,远程数据等等应用。这两个语言就显得有些尴尬了。特别是喜欢用C脚本的工程师,C语言虽好,但是太古老了(一个字符串运算分分钟让你头大);另外程序的保密性问题虽然有密码保护,终究还是有纰漏之处。

        由于我们在之前控件中采用调用CCHMIRUNTIME方式,那也就可以采用这种方式进行采用C#类的方式进行脚本管理,而且能有效控制程序保密性,版本问题。由于.net有许多的灵活性。你只需要用一种语言进行编写,在WINCC中可以用VB,C的任何一种方式进行调用

环境:

1、TIA  WINCC V15

2、VisualStudio 2015

测试结果:(经典版WINCC也适合使用)

测试.png                             

2. 步骤

2.1 添加脚本类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WinccControl
{
    [ComVisible(true)]
   
    [Guid("67B2F6AF-CF98-47E3-A47E-E37C18853734")]

    public class WINCCHelper
    {
        public void msgBox(string msg)
        {
            MessageBox.Show(msg);
        }
    }
}

3. 测试

3.1 添加C应用

1、创建对象,在脚本管理的C头文件GlobalDefinitions.h中添加程序类对象:

__object *testCSharp=__object_create("WinccControl.WINCCHelper");

2、在wincc画面添加按钮,创建按钮的单击C事件

添加脚本

#include "GlobalDefinitions.h"
void OnClick(char* screenName, char* objectName, char* propertyName)
{


testCSharp->msgBox("c#
脚本调用");

}

3.2 添加VB应用

1、在wincc画面添加按钮,创建按钮的单击VB事件

添加脚本

Sub OnClick(ByVal item)
Dim obj
Set obj=CreateObject("WinccControl.WINCCHelper")
obj.msgBox "VB
脚本调用c#函数"


End Sub

 


正在下载,请等待……
下载附件需0积分!

1分不嫌少!


楼主最近还看过



晨风暮雨

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 15回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2017年8月31日
发表于:2022-04-14 22:11:34
1楼

CSDEMO


热门招聘
相关主题

官方公众号

智造工程师