在WINCC中使用C#脚本

已锁定

jiangzq009

  • 帖子

    8
  • 精华

    0
  • 被关注

    5

论坛等级:游民

注册时间:2020-04-13

普通 普通 如何晋级?

在WINCC中使用C#脚本

6774

1

2020-05-11 15:33:16

 

 

 

 

 

 

在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也适合使用)


                                             

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



附件(含源码案例DEMO)

a.pdf


 


在WINCC中使用C#脚本 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32644条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。