WinCC如何用全局C脚本做变量计算 点击:11059 | 回复:41



大连德嘉工控

    
  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:1050帖 | 1333回
  • 年度积分:376
  • 历史总积分:8436
  • 注册:2009年2月24日
发表于:2019-08-02 11:00:04
楼主

1.如果是简单的变量计算,比如浮点数变量a的实际值是12.34,希望在画面上显示扩大的10倍的数值,即IO域显示123.4,这个可以简单的C动作来完成,下面具体介绍下流程:

A相电流*10的数值在画面显示为例:

图片1.png

IO域里选择对象属性——输出/输入——输出值——动态(选择C动作...

图片2.png

然后弹出界面里直接写以下函数,函数可以直接调用,调用Get函数,编译并保存。

图片3.png

运行画面如下,结果是以A相电流的10倍显示的。

图片4.png


2. 如果是复杂的变量换算,比如已有a变量、b变量,然后画面显示c变量数值,其中变量关系为c=a*0.01+b,这样可以用全局C脚本做换算,下面具体介绍下流程:

A相电压*0.01+A相电流的数值在画面显示为例:

首先建一个内部变量,如下,名称为test

图片5.png

然后在全局脚本——C-Editor——动作——全局动作里新建一个动作

图片6.png

双击打开新建脚本C,写入如下函数,getset函数可以直接调用,然后编译并保存。

图片7.png

将触发周期设置成250ms即可

图片8.png

在画面里添加IO选内部变量test”。

图片9.png

最后不要忘了在WinCC管理器——计算机——启动中将全局脚本项打勾

图片11.png

然后运行WinCC,结果如下图

图片10.png





fhydt

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 265回
  • 年度积分:0
  • 历史总积分:186
  • 注册:2019年9月16日
发表于:2020-04-17 09:08:22
21楼

正是需要学习的好东西

kingbird4444

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 38回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2016年5月27日
发表于:2020-05-03 11:09:00
22楼

IO域里选择对象属性——输出/输入——输出值——动态(选择C动作...

mumu9527

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 126回
  • 年度积分:0
  • 历史总积分:194
  • 注册:2020年5月15日
发表于:2020-06-03 21:45:58
23楼

感谢楼主分享了资料

kg201314

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 81回
  • 年度积分:37
  • 历史总积分:733
  • 注册:2013年10月23日
发表于:2020-06-18 09:39:24
24楼

比较实用,学习了

天寒星宇

  • 精华:1帖
  • 求助:0帖
  • 帖子:1帖 | 46回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2011年11月23日
发表于:2020-07-06 12:02:35
25楼

谢谢楼主分享,很值得学习!

fyz920757923

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 226回
  • 年度积分:0
  • 历史总积分:64
  • 注册:2019年8月14日
发表于:2020-09-12 16:04:43
26楼

谢谢分享学习

Mrdatao

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:83
  • 历史总积分:138
  • 注册:2020年12月15日
发表于:2021-03-12 08:11:09
27楼

学习了,太棒了。转走

liwenbing001

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 286回
  • 年度积分:0
  • 历史总积分:255
  • 注册:2011年1月28日
发表于:2021-03-22 11:37:08
28楼

谢谢楼主分享

李口合

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 81回
  • 年度积分:1
  • 历史总积分:455
  • 注册:2021年3月24日
发表于:2021-04-02 08:55:15
29楼

谢谢分享 谢谢分享 谢谢分享 谢谢分享

大连德嘉工控

  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:1050帖 | 1333回
  • 年度积分:376
  • 历史总积分:8436
  • 注册:2009年2月24日
发表于:2021-05-27 17:25:42
30楼

"李口合" 的回复,发表在29楼
        对内容: 【谢谢分享 谢谢分享 谢谢分享 谢谢分享】进行回复:

        -----------------------------------------------------------------


感谢支持 感谢支持 感谢支持 感谢支持

planner

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2018年10月11日
发表于:2021-07-26 10:00:28
31楼

给力

帝一

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 38回
  • 年度积分:463
  • 历史总积分:1973
  • 注册:2014年3月17日
发表于:2021-08-02 13:39:02
32楼

来点负责的,简单的直接在变量表里面就可以实现


大连德嘉工控

  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:1050帖 | 1333回
  • 年度积分:376
  • 历史总积分:8436
  • 注册:2009年2月24日
发表于:2021-08-03 08:55:17
33楼

"帝一" 的回复,发表在32楼
        对内容: 【来点负责的,简单的直接在变量表里面就可以实现】进行回复:

        -----------------------------------------------------------------


这篇使用C动作实现的

carrier

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 58回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2020年9月15日
发表于:2021-08-12 09:56:02
34楼

非常感谢楼主,正在学习WINCC,正在用的上。谢谢。

大连德嘉工控

  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:1050帖 | 1333回
  • 年度积分:376
  • 历史总积分:8436
  • 注册:2009年2月24日
发表于:2021-08-12 11:46:54
35楼

"carrier" 的回复,发表在34楼
        对内容: 【非常感谢楼主,正在学习WINCC,正在用的上。谢谢。】进行回复:

        -----------------------------------------------------------------


一起学习!

xiexi123

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 116回
  • 年度积分:0
  • 历史总积分:104
  • 注册:2019年10月08日
发表于:2022-01-17 20:22:04
36楼

学习学习,谢谢楼主分享!

laoge

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 145回
  • 年度积分:0
  • 历史总积分:142
  • 注册:2021年12月10日
发表于:2022-01-27 10:44:37
37楼

谢谢分享!


大连德嘉工控

  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:1050帖 | 1333回
  • 年度积分:376
  • 历史总积分:8436
  • 注册:2009年2月24日
发表于:2022-02-21 09:12:42
38楼

"laoge" 的回复,发表在37楼
        对内容: 【谢谢分享!】进行回复:

        -----------------------------------------------------------------


比心

朴哥学工控

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 156回
  • 年度积分:0
  • 历史总积分:58
  • 注册:2019年2月26日
发表于:2022-05-13 17:01:48
39楼

6666

shuanglei_1224

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 44回
  • 年度积分:0
  • 历史总积分:256
  • 注册:2014年3月20日
发表于:2022-05-13 18:01:17
40楼

这个不错,虽然比较简单,路过支持下


热门招聘
相关主题

官方公众号

智造工程师