C#外接程序访问WINCC变量(含源文件) 点击:929 | 回复:3



fireT

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

WINCC对于做SCADA系统来说再熟悉不过,对于他的应用也是非常广泛,在这里不用多说。在这里我将自己经常用到的第三方程序作为WINCC辅助控制(经常说的外挂程序)如何与WINCC变量进行控制给介绍一下。

           在这里之前我要说明一下WINCC都那么强大了为什么要做外挂程序呢?我以经历的一个案例来说明一下。

          案例1、有一个包装系统比较小,由于甲方自己增加一个LED显示器,要求系统将重量数据频繁发送到第三方LED数据文件里,大家首先想到直接增加一个循环定时(由于重量几乎随时都在变化,循环执行的负载还小点)的计划任务就可以了。是的,我们一开始也是那样做的(还增加执行结果判断:建立一个全局变量,每个周期进行判断,当本次执行结果未完成,下一个周期过来就不执行),当系统运行12小时以上,连界面的按钮事件都出现明显卡顿。经过判断:删除该计划任务就没有问题,脚本很简单本身是没有问题。经过询问西门子工程师得到的答案:由于计划任务的脚本执行与画面脚本的执行是同一系统,而且属于单线程,说以出现延迟现象。还得从脚本的执行方式入手,后来采用外接程序的方式,独立开辟线程还能看到执行的实时状态

        案例2、有一个项目IO点达到4000左右,系统比较大。在一个1500CPU中涵盖7套配料混合系统以及若干设备400余台。采用1台服务器+4台客户机模式,由于该系统与第三方设备管理系统对接,需要提供设备故障信息、设备运行时间、能耗、生产过程数据,当然我们也想到西门子也提供这些功能,无奈成本、灵活性考虑之下(这些简单应用我们就不用麻烦西门子了),我们采用外接程序给第三方提供数据完美解决

       总结:当你需要进行与第三方进行数据交换,或者有大量计算任务需要循环定时执行时,外接程序是你最佳选择

测试结果.png                                               

2. 步骤

2.1 系统要求

C#编程软件

 visual   Studio 2015


 SCADA编程软件

 wincc   Professional v15 up4


 

2.2 编辑外接程序

1、选择C#语言,添加新项目。当然任何语言都可以

2、添加引用。

添加引用.png



文章转自:https://mp.weixin.qq.com/s/1TsgE5Jy6-kTow_3AqqiMg   (含原始文件)

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

1分不嫌少!


楼主最近还看过

yg89539246

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 832回
  • 年度积分:84
  • 历史总积分:339
  • 注册:2009年6月30日
发表于:2023-10-07 15:56:06
1楼

感谢楼主,谢谢分享

wayne001

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 55回
  • 年度积分:71
  • 历史总积分:131
  • 注册:2021年5月05日
发表于:2023-11-14 08:22:21
2楼

感谢楼主,谢谢分享

chenrenfu

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 665回
  • 年度积分:51
  • 历史总积分:155
  • 注册:2011年9月08日
发表于:2024-04-10 13:52:29
3楼

感谢楼主,谢谢分享!


热门招聘
相关主题

官方公众号

智造工程师