wincc C脚本 无法改变PLC内存变量

已锁定

billzhou

  • 帖子

    51
  • 精华

    0
  • 被关注

    2

论坛等级:游士

注册时间:2007-12-14

普通 普通 如何晋级?

wincc C脚本 无法改变PLC内存变量

866

0

2011-04-18 16:45:47

各位兄弟 我用C脚本写了一段程序,主要是当按下某个按钮时调用以下C脚本程序,用以改变PLC的变量值,现在试下来连接PLC变量正常,就是不能改变PLC变量值,请大家帮我看看是什么原因,谢谢啊!
#include "APDEFAP.h"

BOOL executeSorterCommand(char* in_szNodeID,
char* in_szSorterCommand)
{
BOOL bRetVal = FALSE;
DWORD dwCommandHandshake_WinCC = 0;
char* pszBytePointer = NULL;
int iCommandByte = 0;
int iCommandBit = 0;
char szTextBuffer1k[1024];

memset(szTextBuffer1k, 0, sizeof(szTextBuffer1k));
sprintf(szTextBuffer1k, "@NOP::SorterCommands-%s-WinCC-Handshake", in_szNodeID);
;
dwCommandHandshake_WinCC = GetTagDWord(szTextBuffer1k);
pszBytePointer = (char*) &dwCommandHandshake_WinCC;

// Enable unit
if (strcmp(in_szSorterCommand, "ENABLEUNIT") == 0)
{
// Set bit 0 of dw-byte 3
iCommandByte = 3;
iCommandBit = 1;
}
// Disable unit
else if (strcmp(in_szSorterCommand, "DISABLEUNIT") == 0)
{
// Set bit 1 of dw-byte 3
iCommandByte = 3;
iCommandBit = 2;
}

// set only if flag is not already set
if ((*(pszBytePointer+iCommandByte)&iCommandBit) != iCommandBit)
{
*(pszBytePointer+iCommandByte) += iCommandBit;
memset(szTextBuffer1k, 0, sizeof(szTextBuffer1k));
sprintf(szTextBuffer1k, "@NOP::SorterCommands-%s-WinCC-Handshake", in_szNodeID);
bRetVal = SetTagDWord(szTextBuffer1k, dwCommandHandshake_WinCC);
}

return TRUE;
}
wincc C脚本 无法改变PLC内存变量 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32941条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。