使用WinCC输入/输出域实现带确认的输入操作,根据官方的文档AO476做了,现在的问题是我输入的数据是浮点数,应该在脚本里如果改动(我把GetTagWord改成了GetTagFloat,SetTagWord改为SetTagFloat但还是不行,运行时还是只能输入整数)
#include "apdefap.h"
void OnKeyUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nChar, UINT nRepCnt, UINT nFlags)
{
#pragma option(mbcs)
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
int TempValue1=GetTagFloat("TempValue1");
char szBuffer[20];
sprintf(szBuffer,"Input number:%d",TempValue1);
if (nChar==13)//if press enter
{
int xRet=MessageBox(NULL,szBuffer,"确认窗口",MB_YESNO|MB_SYSTEMMODAL);//message
if (xRet==IDYES)//confirm operate
{
SetTagFloat("test1",TempValue1);//set data
}
}
}
请大家帮忙看一下,谢谢!
问题补充:
临时变量TempValve1用的内部变量,格式是浮点数32位
最佳答案
int TempValue1=GetTagFloat("TempValue1");
你在这里把脚本变量TempValue1定义为int类型了
提问者对于答案的评价:
谢谢大家的帮忙,确实把INT改为FLOAT就行了,谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263316.html