为什么在全局脚本中不能使用内部变量呢?内部变量不是全局有效的吗?
问题补充:
谢谢!按照你的提示做好了.
那我想给那个内部变量赋初值,就是程序一进入运行状态就给它赋一个常量.怎么实现呢?
最佳答案
你是说在WinCC组态中,全局脚本中不能使用内部变量吗!
1。首先:在WinCC组态中,全局脚本中肯定能使用内部变量。全局脚本使用内部变量举例如下:
#pragma option(mbcs)
#pragma code("kernel32.dll")
void SetCurveValue_F01()
{
SetTagChar("BAKING/CURVE/Curve_F01.PHASE1",GetTagChar("PHASE1")); //Return-Type: char*
SetTagBit("BAKING/CURVE/Curve_F01.CURVE_SW",GetTagBit("CURVE_SW")); //Return-Type: BOOL
}
2。以上代码中,"BAKING/CURVE/Curve_F01.PHASE1",和"BAKING/CURVE/Curve_F01.CURVE_SW"是WinCC项目中定义的过程变量(Process Tag);而"PHASE1"和"CURVE_SW",则是WinCC项目中定义的内部变量(Internal Tag)。其中内部变量"PHASE1"定义为无符号32位数;而内部变量"CURVE_SW"则定义为二进制数。
3。你可以将以上代码复制后,在WinCC项目中测试。但注意一定要正确定义好"PHASE1"和"CURVE_SW"这两个内部变量的数据类型。
试试看吧!
提问者对于答案的评价:
非常感谢各位的回答.按照剑中的方法使用了内部变量,又按照dcount的方法设了初值.还要按照dcount说的用static试试.
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272380.html