此脚本作用是干什么的,请教大家了 点击:857 | 回复:8



千山独步

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:159帖 | 3098回
  • 年度积分:4
  • 历史总积分:21261
  • 注册:2007年2月02日
发表于:2007-09-14 13:39:00
楼主
#include "apdefap.h"

int gscAction( void )
{
 // WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
#define TAG_0 "@STRAND1@AlternateConnectionAddress"
#define TAG_1 "@STRAND1@ConnectionEstablishMode"
#define TAG_2 "@STRAND1@ConnectionState"
#define TAG_3 "@STRAND1@ForceConnectionAddress"
// WINCC:TAGNAME_SECTION_END

// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END


#pragma code("msrtcli.dll") 
#include "msrtapi.h" 
#pragma code() 

#pragma code( "kernel32.dll" ) 
VOID GetLocalTime(LPSYSTEMTIME lpSystemTime); 
#pragma code() 


static int Mld_Main = 0; 
static int Mld_Res = 0; 
 
DWORD ServiceID = 0; 
static BOOL InitFirst = TRUE; 

static MSG_RTCREATE_STRUCT  MsgCreate; 
CMN_ERROR Error; 



if ( InitFirst == TRUE ) 

memset( &MsgCreate, 0, sizeof (MSG_RTCREATE_STRUCT) ); 
MsgCreate.dwMsgState = MSG_STATE_COME; 
MsgCreate.wTextValueUsed = 1; 
sprintf( MsgCreate.mtTextValue[0].szText, "连接通信通道名" ); 
SetTagChar( TAG_0, "H1,08 00 06 96 14 73,,0,3,02" );   这里的是MAC地址
  InitFirst = FALSE; 


if (  GetTagDWordWait( TAG_1 ) == 0  )

Mld_Main = 0; 
Mld_Res = 0; 
return 0; 

else 

GetLocalTime( &MsgCreate.stMsgTime ); 
MSRTStartMsgService ( &ServiceID, NULL, NULL, MSG_NOTIFY_MASK_ARCHIV, NULL, &Error ); 
 
if (  GetTagDWordWait( TAG_2 ) == 0  )

       if (  GetTagDWordWait( TAG_3 ) == 0  ) 

if ( Mld_Main == 0 ) 

MsgCreate.dwMsgNr = 1012222; 
MSRTCreateMsg( ServiceID, &MsgCreate, &Error ); 
Mld_Main = 1; 

  } 
else 

if ( Mld_Res == 0 ) 

MsgCreate.dwMsgNr = 1012224; 
MSRTCreateMsg( ServiceID, &MsgCreate, &Error ); 
Mld_Res = 1; 



   if (  GetTagDWordWait( TAG_2 ) == 0  ) 

if (  GetTagDWordWait( TAG_3 ) == 0  ) 

   SetTagDWord( TAG_3, 1 ); 

else 

SetTagDWord( TAG_3, 0 ); 



else 

if (  ( Mld_Main != 0 )  ||  ( Mld_Res != 0 )  ) 

Mld_Main = 0; 
Mld_Res = 0; 

if (  GetTagDWordWait( TAG_3 ) ==&


楼主最近还看过



missyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-14 15:16:00
1楼
对程序不是很懂,帮你顶一下
猜着是不是返回什么错误信息的?

颜海涛

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 17回
  • 年度积分:0
  • 历史总积分:30
  • 注册:2005年5月06日
发表于:2007-09-14 22:16:00
2楼
好像是通讯用的~

千山独步

  • 精华:0帖
  • 求助:0帖
  • 帖子:159帖 | 3098回
  • 年度积分:4
  • 历史总积分:21261
  • 注册:2007年2月02日
发表于:2007-09-16 18:29:00
3楼
麻烦 yuanle 老师帮忙分析一下,谢谢了!

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-09-16 19:09:00
4楼
单纯的从某一个脚本中是看不清楚内容的,因为脚本还涉及到了结构的定义等要素,您如果方便的话,应该上传整个项目工程用于具体分析。

千山独步

  • 精华:0帖
  • 求助:0帖
  • 帖子:159帖 | 3098回
  • 年度积分:4
  • 历史总积分:21261
  • 注册:2007年2月02日
发表于:2007-09-16 23:51:00
5楼
TO:yuanle老师

我已将画面实例发到你的邮箱里了,记得查收,请教你了!

songzg

  • 精华:0帖
  • 求助:0帖
  • 帖子:96帖 | 732回
  • 年度积分:0
  • 历史总积分:1884
  • 注册:2006年11月16日
发表于:2007-09-17 11:26:00
6楼
这是一个C语言的程序

红小豆

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2003年10月30日
发表于:2008-10-21 13:35:52
7楼

我也急想知道!!!!!!!!!!!

红小豆

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 7回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2003年10月30日
发表于:2008-10-21 13:37:21
8楼
搂主知道后能转告我,拜托啦!!!!!

热门招聘
相关主题

官方公众号

智造工程师