发表于:2020/5/11 9:45:37
#0楼
如果你上位机软件使用的wincc,你可以把PLC的数据直接传到wincc,利用电脑的运算能来来处理数据,这样可以节省一些PLC的性能,让它来做更多的控制功能。
1.如果是简单的变量计算,比如浮点数变量a的实际值是12.34,希望在画面上显示扩大的10倍的数值,即IO域显示123.4,这个可以简单的C动作来完成,下面具体介绍下流程:
以A相电流*10的数值在画面显示为例:
在IO域里选择对象属性——输出/输入——输出值——动态(选择C动作...)
然后弹出界面里直接写以下函数,函数可以直接调用,调用Get函数,编译并保存。
运行画面如下,结果是以A相电流的10倍显示的。
2. 如果是复杂的变量换算,比如已有a变量、b变量,然后画面显示c变量数值,其中变量关系为c=a*0.01+b,这样可以用全局C脚本做换算,下面具体介绍下流程:
以A相电压*0.01+A相电流的数值在画面显示为例:
首先建一个内部变量,如下,名称为“test”
然后在全局脚本——C-Editor——动作——全局动作里新建一个动作
双击打开新建脚本C,写入如下函数,get和set函数可以直接调用,然后编译并保存。
将触发周期设置成250ms即可
在画面里添加IO域选内部变量“test”。
最后不要忘了在WinCC管理器——计算机——启动中将全局脚本项打勾
然后运行WinCC,结果如下图
1.如果是简单的变量计算,比如浮点数变量a的实际值是12.34,希望在画面上显示扩大的10倍的数值,即IO域显示123.4,这个可以简单的C动作来完成,下面具体介绍下流程:
以A相电流*10的数值在画面显示为例:
在IO域里选择对象属性——输出/输入——输出值——动态(选择C动作...)
然后弹出界面里直接写以下函数,函数可以直接调用,调用Get函数,编译并保存。
运行画面如下,结果是以A相电流的10倍显示的。
2. 如果是复杂的变量换算,比如已有a变量、b变量,然后画面显示c变量数值,其中变量关系为c=a*0.01+b,这样可以用全局C脚本做换算,下面具体介绍下流程:
以A相电压*0.01+A相电流的数值在画面显示为例:
首先建一个内部变量,如下,名称为“test”
然后在全局脚本——C-Editor——动作——全局动作里新建一个动作
双击打开新建脚本C,写入如下函数,get和set函数可以直接调用,然后编译并保存。
将触发周期设置成250ms即可
在画面里添加IO域选内部变量“test”。
最后不要忘了在WinCC管理器——计算机——启动中将全局脚本项打勾
然后运行WinCC,结果如下图