通过WinCC运行系统给Step7里的变量赋值失败

在WinCC的图形界面放入一个输入/输出域,连接内部变量QCwp_HI_1,类型浮点数32位。
同一画面内放入一个按钮写入C动作:
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
SetTagDWord("QCwp_HI",GetTagDWord("QCwp_HI_1"));
}
//QCwp_HI是外部变量,类型浮点数32位,地址MD0。

在Step7里,我确定以及肯定只有这一条语句中有用到MD0。
    A     M    200.0
    =     L      0.0
    BLD   103
    CALL  "SCALE"                FC105        --数值转换
     IN     :=PIW432
     HI_LIM :="QCwp_HI"          MD0          --前池液位上限
     LO_LIM :="QCwp_LO"          MD10         --前池液位下限
     BIPOLAR:=L0.0
     RET_VAL:="QCwp_IN1"         MW4
     OUT    :="QCwp_OUT4"        MD20         --前池实际液位
    A     BR
    R     M    200.0

打开仿真器,下载到PLCsim,PLC点选RUN。
打开OS站,WinCC激活,用诊断工具看到连接正常。

在WinCC运行界面,输入/输出域输入11.8按下回车,输入/输出域固定在11.8。
点击按钮,Step7的变量监控窗口,MD0闪了一下又恢复为0.0,点击一次闪一次。

网上找了很多,说是PLC程序也在控制MD0。但我找不到问题所在,被困扰多时。

希望各位大大帮帮忙,我想要输入/输出域输入回车并固定在一个值,同时MD0也固定在这个值。
如何解决?跪求答案。

问题补充:
谢谢  满  大工程师的指点,问题解决了。
  
  我想进一步学习一下,MB0,M0.0,MW0,MD0之间是什么关系?
举个例子,分析一下。十分感谢

最佳答案

1、你用交叉引用在STEP7中查一下MD0是不是在别的地方掉用了。比如:M0.0,MB0,MW0都不能用在别的地方。
2、脚本没有语法错误,但浮点数的赋值应该为:
SetTagFloat("QCwp_HI",GetTagFloat("QCwp_HI_1"));
3.、程序没问题,你在仔细查一查吧。

提问者对于答案的评价:
其他地方我确实用了M0.0,MW0。
  谢谢解惑。膜拜

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc268439.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午6:01
下一篇 2019年6月11日 上午6:02

相关推荐

  • WINCC C动作的问题

    WINCC中的C动作到底是C还是C++?在学校里就学过C语言,没学C++,这些语言看起来这么跟C语言有点差别?比如void OnLButtonDown(char*&nbs…

    SIMATIC WinCC 2019年6月11日
  • winccv7.5发布问题

    请教大家   我这wincc v7.5发布之后去浏览的时候,无法预览正确的画面,出现了如下问题。请求解答。图片是ie浏览器预览的结果,以及i…

    2020年11月1日
  • 控件无文本显示,HORN报警确认

    各位大侠,1,请教一下我在报警记录里面把所有的变量都组态好了,因为全都是输入变量全是BOOL型我在修改消息位的时候显示无法修改消息位全部是0,然后我运行报警控件的时候看不到我组态的…

    SIMATIC WinCC 2019年6月11日
  • wincc按钮确认密码

    wincc有个确定的按钮 ,点击出现一个输入密码的对话框,输入密码正确以后 ,才能生效。密码忘了,怎么办呢 问题补充:Sub OnLButtonUp(…

    SIMATIC WinCC 2021年7月5日
  • wincc老报错

    Graphics Designer: “StgOpenStorage hr =80030002 There are&nb…

    SIMATIC WinCC 2019年6月11日
  • Wincc 读取plc 时间

    我要获取plc1200的时间,这个时间不是日期的时间,是定时器的运行时间,格式是time 到wincc里没有time 这个格式,怎么办呢,我要得到多少小时多少分…

    SIMATIC WinCC 2021年7月5日
  • WINCC7.2归档数据导出CSV文件后,全在第一列单元格

    可以让它导出的时候,直接把数据分到不同的列里面吗。如何设置? 图片说明:    最佳答案 可以参考下面的文档及原始脚本:http://www.ad.siemen…

    SIMATIC WinCC 2017年11月19日
  • WinCC 7.0 SP3中文版某图像根据DB块数据变化进行位置变换

    图如附件所示,红色“I”块为需要位置变换的图像,图像默认有四个位置,变量为“有符号32位”,数据块“DB10.DB6”,现设置几何位置X动态变化,图中设置了DB数据块的四个不同数据…

    2017年12月8日
  • wincc和moudbus协议仪表通讯

    我的上位机是用wincc软件,操作台上有两块支持moudbus通讯协议的智能仪表,请问该怎么通讯?我曾经用485转232线将仪表连到工控机上,再购买了西门子moudbus串口通讯协…

    SIMATIC WinCC 2019年6月11日
  • MP277 10“ Touch (6AV6 643-0CD01-1AX1)触摸屏

    手头有客户发来一台多功能屏,看年份有七八年了,对这个屏不太了解,主要有ji 点问题:1,开机后就弹出,启动wincc flexible RT失败。重新…

    2020年11月1日