登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:wincc的脚本执行有点问题请教一下

点击:9 回复:1

就是一个内部变量关联外部浮点数变量,做一个声音报警。结果运行测试没有反应。。这段代码中我都是用内部变量做的。
C脚本:#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName,  double  value)
{
// 定义变量:外部浮点数(PLC连接)、内部二进制(WinCC内部)
 float datVal = GetTagFloat("测试1"); // 替换为实际浮点数变量名
 BOOL nbVal = GetTagBit("测试4");     // 替换为实际二进制变量名
 // 阈值判断:浮点数≥3.5置位,≤1.5置位, 否则复位(可修改判断条件:> / < / ≤ / 区间)&&
if(  datVal<= 1.5  &&  datVal>= 3.5  )
 {
   if(nbVal == 0) SetTagBit("测试4", 1); // 置位
 }
 else
 {
   if(nbVal == 1) SetTagBit("测试4", 0); // 复位
 }
}
最后修改:2026/1/29 22:59:28
26-01-29 22:58
就是要求数值大于3.5时和小于1.5时触发一个内部变量,这个二进制变量做声音报警。在这两个数值中间时不报警。
最后修改:2026/1/29 23:02:09
26-01-29 23:01

工控新闻

更多新闻资讯