wincc上的一个脚本程序看不懂,谁可以给指导一下,加个注释吧,万分感谢! 点击:767 | 回复:2



控制星

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:22帖 | 62回
  • 年度积分:3
  • 历史总积分:383
  • 注册:2003年6月01日
发表于:2009-02-05 16:36:19
楼主

这段wicc脚本应该是通过odbc将数据写到access里的,具体看不明白,请高手指点一下。最好加上注释。

 

#include "apdefap.h"

int gscAction( void )
{
// 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
__object *pADOCnnection;
__object *pADORecordSet;

//SYSTEMTIME sysTime;

static char s_strTime【21】;
float fJd,temp1;

#pragma code("kernel32.dll");
void GetLocalTime(SYSTEMTIME* lpst);
#pragma code();
SYSTEMTIME sysTime;
GetLocalTime(&sysTime);


if(!GetTagBit("放料记录")) return 0;

GetLocalTime(&sysTime);
sprintf(s_strTime,"%04d-%02d-%02d %02d:%02d:%02d",
sysTime.wYear, sysTime.wMonth, sysTime.wDay,
sysTime.wHour, sysTime.wMinute, sysTime.wSecond);

pADOCnnection = __object_create("ADODB.Connection");
if( pADOCnnection != NULL )
{
pADOCnnection->Open("DSN=AAA");

if( pADOCnnection->State !=0 )
{

pADORecordSet = __object_create("ADODB.RecordSet");
if( pADORecordSet != NULL )
{
pADORecordSet->Open("SELECT * FROM CMJL",pADOCnnection,2,3);

pADORecordSet->AddNew();

pADORecordSet->Fields("放料时间")->Value = s_strTime;

pADORecordSet->Fields("下料仓号")->Value = GetTagByte("CM_CH");
pADORecordSet->Fields("仓下料设定值")->Value = GetTagFloat("CM_SET");
pADORecordSet->Fields("仓下料实际值")->Value = GetTagFloat("CM_RLL");



pADORecordSet->Update();

pADORecordSet->Close();
__object_delete(pADORecordSet);
}
}
pADOCnnection->Close();
__object_delete(pADOCnnection);
}

return 0;
}




suntinghui

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 6回
  • 年度积分:0
  • 历史总积分:29
  • 注册:2009年4月11日
发表于:2009-04-27 18:05:55
1楼

我也不会 ,非常想学,谁提供点资料sthui0704@163.com

007ian

  • 精华:0帖
  • 求助:0帖
  • 帖子:31帖 | 242回
  • 年度积分:0
  • 历史总积分:2872
  • 注册:2006年11月22日
发表于:2009-04-28 14:06:52
2楼

第一个函数应该是读取系统时间第二个是实现在画面上添加记录


热门招聘
相关主题

官方公众号

智造工程师