加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15915421161

SIEMENS西门子广西省贺州市(授权)电机一级代理商——西门子华南总代理

更新时间
2024-11-26 07:00:00
价格
请来电询价
西门子总代理
PLC
西门子一级代
驱动
西门子代理商
伺服电机
联系电话
15903418770
联系手机
15915421161
联系人
张经理
立即询价

详细介绍

WINCC是一款功能非常强大的人机界面软件。它除了功能丰富的内置控件外,还支持.NET控件。这样我们可以在内置控件满足不了要求时使用C#或VB.NET来开发功能更加强大的自定义控件。

虽然WINCC支持.NET控件,那是否我们直接将市面上那些.NET控件加载到WINCC中就可以使用?事实并非如此,一方面由于WINCC自身的局限性,它无法支持C#中的那些gaoji特性。另一方便,由于底层的处理机制不同,我们在VS中调试正常的控件,未必就可以在WINCC中正常运行。所以,大部分.NET控件是无法直接在WINCC中使用的。

以我们前段时间开发的CCAdvChart控件为例,该控件在VS中调试一切正常,但是当它加载到WINCC中时,会有一根曲线在不断地闪烁。如下面视频所示。

,时长00:06

这就很奇怪了,为什么同样的控件,在VS中可以正常工作,但是在WINCC中就异常了呢?经过反复的调试,后来我们将Chart中数据的加载方式由Points.Add改成绑定数据源就正常了。代码如下:












  • for (int i = 0; i < TagCount; i++){   if (!string.IsNullOrEmpty(tagName[i]))   {                                 cc.Series[i].DataSource = ds;      cc.Series[i].ArgumentScaleType = ScaleType.Auto;                 cc.Series[i].ArgumentDataMember = $"index";         cc.Series[i].ValueScaleType = ScaleType.Numerical;                cc.Series[i].ValueDataMembers[0] = $"value{i + 1}";            }}

    经过上面代码的优化后,该Chart控件终于可以在WINCC中正常工作了。

    ,时长00:06除了本例演示的情况外,对于一些在属性和事件中用到的数据类型也需要格外的小心,我们应尽量避免使用自定义的类型,而是多使用系统类型。

    开发能够良好兼容WINCC的.NET控件并非一件简单的事情。不是说我们了解C#语法,熟悉一些自定义控件的开发知识就能够实现。这方面还是需要丰富的开发经验才可以,需要对.Net Framework和WINCC都相当的了解。这样才能够在出现问题时快速定位到问题点。


    相关产品

    联系方式

    • 电  话:15903418770
    • 联系人:张经理
    • 手  机:15915421161
    • 微  信:15915421161