wincc½Å±¾È«¼¯

loading ·ÖÏí 2026-8-27 ÏÂÔØÎĵµ

}

SetTagDWord(\

È»ºóÓÃÒ»¸ö°´Å¥¿ØÖƶþ½øÖƱäÁ¿Q£¬ÎªÆô¶¯Ðźš£ÎïÌåµÄXλÖöÔÓ¦µÄÊDZäÁ¿P£¬ÉèÖÃΪģÄâÁ¿¡£µ±PΪ1µÄʱºò¶ÔÓ¦µÄXλÖá£PΪ2µÄʱºò¶ÔÓ¦XµÄλÖã¬ÒÔ´ËÀàÍÆ£¬¾Í¿ÉÒÔ×ö³öÎïÌåÒÆ¶¯»­ÃæÁË£¬Òª×öÈ«¾Ö½Å±¾ -----------------------------------------------

¡ª¡ª¡ª¡ª¡ª¡ª10¡¢WinCC

Öе÷ÓÃSQLÓïÑÔ ¡ª¡ª¡ª¡ª¡ª¡ª

1¡¢´´½¨Ò»¸ö SQLÎļþ£¬´ËÎļþÔÚISQLÖн¨Á¢£¬ÎļþÄÚ°üº¬ËùÒªÖ´ÐеÄSQLÓï¾ä¡£Windows¶Ô»°¿òʵÏÖ¡£¾ßÌåÈçÏ£º

2¡¢ÔÚWinCCÖÐÓÃC Script µ÷ÓÃÉÏÊöSQLÎļþ£¬ÈçÏÂËùʾ£º #include"apdefap.h"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags,int x,int y) {

char*a="c:siemenscommonSQLANYISQL-q-b-c UID=DBA;PWD=SQL;DBF=E:testsqltestsqlRT.DB; DBN=CC_testsql_99-12-03-12:48:26R;READ E:testsqltest.sql";

Printf("%srn",a); ProgramExcute(a); }

ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄSQLÎļþÄÚÈÝ£º select *from pde#hd#t#test;

output to e:test2.txt FORMAT ascii ×¢Ò⣺ÎļþÃû¼°Â·¾¶Öв»Òª´ø¿Õ¸ñ¡£

¡ª¡ª¡ª¡ª¡ª¡ª11¡¢ÉèÖûòÖØÖÃÒ»¸ö±äÁ¿¡ª¡ª¡ª¡ª¡ª¡ª

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {

BOOL z;

z=GetTagBit("MyBitVariable");//»ñµÃ±äÁ¿Öµ if (z==0)

SetTagBit("MyBitVariable",1); //ÉèÖñäÁ¿Öµ else

SetTagBit("MyBitVariable",0); }

¡ª¡ª¡ª¡ª¡ª¡ª12¡¢ÔËÐÐʱͼÐβúÉú¶¯Ì¬Ðýת¡ª¡ª¡ª¡ª¡ª¡ª

#include "apdefap.h"

long _main(char* lpszPictureName, char* lpszObjectName, char*

5

lpszPropertyName)

{

static int x=25,y,z;//xΪ°ë¾¶µÄ³õʼֵΪ25£¬yΪÇл»±äÁ¿£¬zΪ½Á°è»úÔËÐÐ״̬±äÁ¿ z=GetTagBit("202½Á°è»úÔËÐÐ"); //È¡µÃPLC½Á°è»úµÄÔËÐÐ״̬ if(z!=0) {

switch(y) {

case 0: x=x-4; if(x<=0) y=1; break; default : x=x+4;

if(x>=25) y=0; break; } }

return x; }

¡ª¡ª¡ª¡ª¡ª¡ª13¡¢WINCC--ÈçºÎÔÚ³ÌÐòÖж¯Ì¬ÐÞ¸ÄÓû§ÃÜÂë ¡ª¡ª¡ª¡ª¡ª¡ª 1¡¢µã»÷¡°¿ªÊ¼¡±--¡·¡°ÉèÖá±--¡·¡°¿ØÖÆÃæ°å¡±--¡·¡°¹ÜÀí¹¤¾ß¡±--¡·¡°Êý¾ÝÔ´£¨ODBC£©¡±£¬´ò¿ªODBCÊý¾ÝÔ´¹ÜÀíÆ÷

2¡¢ÔÚÓû§DSNÒ³ÃæµÄÓû§Êý¾ÝÔ´ÖÐÕÒµ½Ó뵱ǰÏîÄ¿Ëù¹ØÁªµÄÒ»ÏÆäÃû³ÆÎª¡°CC_ÏîÄ¿Ãû_ÏîÄ¿½¨Á¢ÈÕÆÚʱ¼ä¡±£¬¼ÇϸÃÏîµÄÃû³Æ 3¡¢Ôڽű¾ÖмÓÈëÒÔÏ´úÂ룺 #pragma code(\ #include \.H\ #pragma code()

LPCMN_ERROR err; //¶¨ÒåµÄLPCMN_ERRORÐͱäÁ¿,ÔÚº¯Êýµ÷ÓÃÖÐÐèʹÓÃ

if (PWGENConnect(\½¨Á¢ÓëÊý¾Ý¿âµÄÁª½Ó,ÆäÖÐCC_ass_04-09-21_16:35:22Óõڶþ²½ÖмÇϵÄÃû³ÆÈ¡´ú { if

(PWGENChangePassword(GetTagChar(\(\ÐÞ¸ÄÃÜÂë,user,oldpassword,password·Ö±ðΪ´æÖüÓû§Ãû,Ô­ÃÜÂë,ÐÂÃÜÂëµÄÄÚ²¿±äÁ¿,ÀàÐÍΪÎı¾±äÁ¿8λ×Ö·û¼¯ {

//ÃÜÂëÐ޸ijɹ¦ºóµÄ²Ù×÷,Èç¸øÓû§ÌáʾµÈ } }

6

PWGENDisconnect(err); //¶Ï¿ªÓëÊý¾Ý¿âµÄÁª½Ó

4¡¢±àÒëÔËÐгÌÐò 5¡¢¹¤×÷Íê³É

6¡¢ÓëÓû§¹ÜÀíÏà¹ØµÄº¯Êý¶¨Òå´æÖüÔÚAPPLIBĿ¼ÏµÄUSEGENAP.HÎļþÖУ¬¿É¸ù¾ÝÉÏÃæÊ¾Àý×ÔÐÐÍê³ÉÌí¼ÓÓû§£¬ÐÞ¸ÄȨÏ޵ȹ¦ÄÜ¡£

¡ª¡ª¡ª¡ª¡ª¡ª14¡¢WinCCÈçºÎʵÏÖÊó±êOnMouseOVerʼþ ¡ª¡ª¡ª¡ª¡ª¡ª ÓÃWINDOWAPIº¯ÊýGetCusorPos»ñÈ¡µ±Ç°Êó±êλÖã¬ÓÃGetWindowRectº¯Êý»ñÈ¡´°¿ÚλÖã¬Á½ÖµÏà¼õµÃÊó±êÔÚWINCC frameÉϵÄÏà¶ÔλÖá£ÓÃÈ«¾Ö½Å±¾£¨É趨Ϊ1s¶¨Ê±Ë¢Ð£©£¬È»ºó»ñȡҪOnMouseOverʼþµÄÎïÌåµÄλÖ㬲¢ÓëÊó±êλÖÃÏà±È½Ï£¬ÈçÒ»ÖÂÔò´¥·¢×Ô¼º¶¨ÒåµÄ¶¯×÷¡£ #include \int gscAction( void )

{

#pragma code(\

BOOL GetCusorPos(POINT lpPoint); //»ñÈ¡Êó±êµÄλÖ㨾ø¶ÔλÖÃ-¶ÔÓ¦ÆÁÄ»·Ö±æÂÊ£© BOOL GetWindowRect(HWND hwnd,LPRECT lpRect); //»ñÈ¡´°ÌåλÖà #pragma code(); POINT pPos; RECT rRec; HWND hwnd; BOOL bRet,bRet2;

long lLeft,lTop,lWidth,lHeight; long lX,lY; char szStr[100];

hwnd=FindWindow(NULL,\ÈçÓïÑÔΪÖÐÎÄӦΪ\ÔËÐÐϵͳ-\if (hwnd==0) {printf(\bRet=GetCursorPos(&pPos); if (bRet==0) goto over;

bRet2=GetWindowRect(hwnd,&rRec); if (bRet2==0) goto over;

lX=pPos.x-rRec.left; //Êó±ê ¶Ô{Öà lY=pPos.y-rRec.top; //Êó±ê λÖÃ

//Èç¹ûΪ·ÇÈ«ÆÁģʽ£¬Ð轫ÉÏÊöÊýÖµÖеĸßheightÅжϼõÈ¥±êÌâÀ¸µÄ¿í¶È //printf(\

//printf(\ lLeft=GetLeft(\ lTop=GetTop(\ lWidth=GetWidth(\ lHeight=GetHeight(\

if ((lX>=lLeft)&&(lY>=lTop)&&(lX<=lLeft+lWidth)&&(lY<=lTop+lHeight)) { sprintf(szStr,\

7

SetText(\}

//printf(\ over: return 0; }

¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª ¡ª¡ª¡ª¡ª¡ª¡ª15¡¢ÈçºÎÔÚÍ˳ö1.ÀûÓö¯Ì¬Ïòµ¼

2.Ôڽű¾ÖмÓÈë DMExitWinCCEx (DM_SDMODE_SYSTEM);Ò²¿ÉÒÔ

¡ª¡ª¡ª¡ª¡ª¡ª16¡¢¹ý

WINCC¼à¿ØÊ±Ö±½Ó¹Ø±ÕµçÄÔ ¡ª¡ª¡ª¡ª¡ª¡ª

WINCC APIº¯Êý¶Á³öµ±Ç°±¨¾¯ÏûÏ¢ ¡ª¡ª¡ª¡ª¡ª¡ª

1¡¢Ê¹ÓÃGMsgFunctionÖжÁ³öµ±Ç°±¨¾¯ÐÅÏ¢µÄID£¨dwMsgNr£©£»

2¡¢Ê¹ÓÃMSRTGetMsgCSDataº¯Êý¶Á³ö¸Ã±¨¾¯ÐÅÏ¢ID¶ÔÓ¦Îı¾¿âTEXTLIBÖеÄÎı¾ID£¨dwTextID1£©£»

3¡¢Ê¹ÓÃMSRTGetMsgTextº¯Êý¶Á³ö¸ÃÎı¾IDµÄÎı¾¡£ ÐÅÏ¢µ½´ï´¦Àí£ºÈç¹û¶ÁÈ¡Îı¾³É¹¦£¬ÔòÖÃÎı¾±äÁ¿MSG¡£

ÐÅÏ¢ÀëÈ¥´¦Àí£ºÈç¹ûMsgNrÓëÉÏÒ»´ÎÏàͬ£¬Ôò¸´Î»MSG£¬Èç¹û²»ÊÇ£¬Ôò¼ÌÐø±£³ÖÐÅÏ¢¡£ ¾ßÌ庯Êý˵Ã÷Çë¿´ODKÎĵµ

BOOL GMsgFunction( char* pszMsgData) {

#pragma code(\ ££i nclude \ #pragma code();

MSG_TEXT_STRUCT tMeld; MSG_CSDATA_STRUCT sM; CMN_ERROR err; BOOL bRet;

DWORD dwTextID1; DWORD dwMsgNum; char szMsg[255];

#define TAG_MSG \

MSG_RTDATA_STRUCT mRT;

memset( &mRT, 0, sizeof( MSG_RTDATA_STRUCT ) ); if( pszMsgData != NULL )

{

printf( \ sscanf(

\ &mRT.dwMsgNr, // Meldungsnummer &mRT.dwMsgState, // Status MSG_STATE_COME, .._GO, .._QUIT, .._QUIT_SYSTEM &mRT.stMsgTime.wYear, // Tag

8

pszMsgData,


wincc½Å±¾È«¼¯.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ
ËÑË÷¸ü¶à¹ØÓÚ£º wincc½Å±¾È«¼¯ µÄÎĵµ
Ïà¹ØÍÆ¼ö
Ïà¹ØÔĶÁ