WinCC_VbsÖÐÎÄÊÖ²á(2)

2019-01-07 15:45

ͨ³££¬±äÁ¿Öµ´Ó±äÁ¿Í¼Ïñ¶ÁÈ¡¡£ µ«ÔÚijЩÇé¿öÏ£¬ÀýÈçΪÁËͬ²½¿ìËÙ¹ý³Ì£¬¿ÉÄÜÐèÒªÖ±½Ó´Ó AS ¶ÁÈ¡±äÁ¿Öµ¡£

Èç¹û½«¶ÁÈ¡¹ý³ÌµÄ¿ÉÑ¡²ÎÊýÉèÖÃΪ 1£¬Ôò²»»áÖÜÆÚÐԵصǼ±äÁ¿£¬¶øÊÇͨ¹ý AS µ¥´ÎÇëÇó¸ÃÖµ¡£ Dim objTag

Set objTag = HMIRuntime.Tags(\

HMIRuntime.Trace \

˵Ã÷

Çë×¢Ò⣬ÕâÖÖµ÷Óñȱê×¼µ÷ÓÃʹÓõÄʱ¼äÒª³¤¡£ ³ý´ËÖ®Í⣬³ÖÐøÊ±¼ä»¹È¡¾öÓÚͨµÀºÍ AS¡£ ÔÚÖ´ÐÐÖÜÆÚÐÔ C ¶¯×÷µÄÇé¿öÏ£¬±ØÐë±ÜÃâ¸ÃÀàµ÷Óã¬ÒòΪÕâÊÇÒýÆðÐÔÄÜÎÊÌâµÄÖ÷ÒªÔ­Òò¡£

¸ÃÀà¶ÁÈ¡¹ý³ÌÏ൱ÓÚ C ½Å±¾ÖÐµÄ GetTagXXXWait() µ÷Óá£

4) ͨ¹ý״̬´¦Àí¶ÁÈ¡

ΪÁËÈ·±£ÖµÓÐЧ£¬Ó¦ÔÚ¶Áȡ֮ºó½øÐмì²é¡£ Õâͨ¹ý¿ØÖÆÖÊÁ¿´úÂëÀ´Ö´ÐС£

ÔÚÒÔÏÂʾÀýÖУ¬½«¶ÁÈ¡¡°myWord¡±±äÁ¿£¬È»ºó¼ì²é QualityCode¡£ Èç¹ûÖÊÁ¿´úÂëδ¶ÔÓ¦ OK (0x80)£¬ÔòÔÚÈ«¾Ö½Å±¾Õï¶Ï´°¿ÚÖÐÏÔʾ LastError¡¢ErrorDescription ºÍ QualityCode ÊôÐÔ¡£ Dim objTag

Set objTag = HMIRuntime.Tags(\objTag.Read

If &H80 <> objTag.QualityCode Then

HMIRuntime.Trace \& objTag.ErrorDescription & vbCrLf & \0x\&Hex(objTag.QualityCode) & vbCrLf Else

HMIRuntime.Trace \End If ˵Ã÷

Èç¹û¶ÁÈ¡ÆÚ¼ä³öÏÖ´íÎó£¬Ôò QualityCode »áÉèÖÃΪ BAD NON-SPECIFIC¡£ Òò´Ë£¬Ö»ÐèÔÚ¶Áȡ֮ºó¼ì²é

1) ʾÀý£º дÈë¶ÔÏóÊôÐÔ

VBS ¿ÉʵÏÖ¶ÔËùÓÐͼÐα༭Æ÷»­Ãæ¶ÔÏóµÄÊôÐԵķÃÎÊ¡£ ÔËÐÐÆÚ¼ä¿ÉÒÔ¶Á³ö¸÷¸öÊôÐÔÒÔ±ã½øÐÐÐ޸Ļò¸ü¸Ä¡£

ÒÔÏÂʾÀý˵Ã÷Á˸÷ÖÖ·ÃÎÊÐÎʽ¡£ 1) ÊôÐԵļòµ¥ÉèÖÃ

ÔÚÒÔÏÂʾÀýÖУ¬»­ÃæÖаüº¬µÄ¡°Rectangle1¡±¶ÔÏóµÄ±³¾°ÑÕÉ«±»ÉèÖÃΪºìÉ« ScreenItems(\

ÕâÊÇ×î¼òµ¥µÄдÈëÐÎʽ£¬ÒòΪ²»»áÉú³ÉÈκζÔÏóÒýÓÃ

˵Ã÷

Èç¹û²»Í¨¹ý¶ÔÏóÒýÓÃÍê³É²Ù×÷£¬ÔòÖÇÄܸÐÖªÖÐÖ»Ìṩ±ê×¼ÊôÐÔ¡£

±¾Ê¾ÀýÖÐʹÓõıí´ïʽÐÎʽ½öÊÊÓÃÓÚͼÐα༭Æ÷¡£ ¶ÔÓÚÈ«¾Ö½Å±¾ÖеÄÄ£Ä⶯×÷£¬Ó¦Ê¹Óà HMIRuntime ¶ÔÏó·ÃÎÊÏàÓ¦¶ÔÏó

2) ͨ¹ý¶ÔÏóÒýÓÃÉèÖÃÊôÐÔ

ÔÚÒÔÏÂʾÀýÖУ¬½«´´½¨¶Ô»­ÃæÖÐËù°üº¬¡°Rectangle1¡±¶ÔÏóµÄÒýÓ㬲¢Ê¹Óà VBS ±ê×¼º¯Êý RGB() ½«±³¾°ÉèÖÃΪºìÉ«£º

Dim objRectangle

Set objRectangle = ScreenItems(\objRectangle.BackColor = RGB(255,0,0)

±ØÐë¸ü¸Ä¶à¸ö¶ÔÏóÊôÐÔʱ£¬ÒýÓ÷dz£ÓÐÓá£Ê¹ÓÃÖÇÄܸÐ֪ʱ£¬¸Ã¹ý³Ì¼´»áÁгöËùÓжÔÏóÊôÐÔ¡£

˵Ã÷

±¾Ê¾ÀýÖÐʹÓõıí´ïʽÐÎʽ½öÊÊÓÃÓÚͼÐα༭Æ÷¡£ ¶ÔÓÚÈ«¾Ö½Å±¾ÖеÄÄ£Ä⶯×÷£¬Ó¦Ê¹Óà HMIRuntime ¶ÔÏó·ÃÎÊÏàÓ¦¶ÔÏó 3) ͨ¹ý»­Ãæ´°¿ÚÉèÖÃÊôÐÔ

ͼÐα༭Æ÷ÖÐµÄ VBS ÌṩÁ½ÖÖ¿ÉÐеĻ­Ã泬Խ·ÃÎÊ·½·¨£º ʹÓá°ScreenItems¡±Í¨¹ý»­Ãæ´°¿ÚµÄ Screen ¶ÔÏó ? ʹÓá°HMIRuntime.Screens¡±Í¨¹ý»ù±¾»­Ãæ

?

ͨ¹ý»­Ãæ´°¿ÚÒýÓÃ

ÒÔÏÂʾÀýÖУ¬ÔÚ´ÓÊô»­Ãæ´°¿ÚÖиü¸Ä¾ØÐεÄÑÕÉ«¡£ ÏàÓ¦½Å±¾ÔÚ»­Ãæ´°¿Ú¡°ScreenWindow1¡±Ëù´¦µÄ»­Ãæ¡°BaseScreen¡±ÖÐÖ´ÐС£ ´Ë»­Ãæ´°¿Ú»áÏÔʾ°üº¬Ãû³ÆÎª¡°Rectangle1¡±µÄ¡°Rectangle¡±ÀàÐͶÔÏóµÄ»­Ãæ¡£

Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim objRectangle

Set objRectangle =

ScreenItems(\objRectangle.BackColor = RGB(255,0,0) End Sub

4) ͨ¹ý»ù±¾»­ÃæÒýÓÃ

¿Éͨ¹ý HMIRuntime.Screens ÒýÓþßÓдýÐ޸ĶÔÏóµÄ»­Ãæ¡£¸Ã»­ÃæÏà¶ÔÓÚ»ù±¾»­ÃæµÄ¹æ·¶Í¨¹ýÒÔÏ·ÃÎÊ´úÂë½øÐж¨Ò壺

[.][:]... .[:]

ÔÚÒÔÏÂʾÀýÖУ¬½«´´½¨¶Ô¡°Rectangle1¡±»­ÃæÖаüº¬µÄ¡°Screen2¡±¶ÔÏóµÄÒýÓ㬲¢½«±³¾°ÑÕÉ«ÉèÖÃΪºìÉ«¡£

ÕâÖÖÇé¿öÏ£¬»­Ãæ¡°Screen2¡±Î»ÓÚ¡°Screen1¡±ÖС£ ¡°Screen1¡±ÏÔʾÔÚ»ù±¾»­Ãæ¡°BaseScreen¡±ÖС£ Dim objRectangle

Set objRectangle =

HMIRuntime.Screens(\.ScreenItems(\

objRectangle.BackColor = RGB(255,0,0)

ÎÞÐèÖ¸¶¨»­ÃæÃû³Æ¡£¿ÉÒÔͨ¹ý»­Ãæ´°¿ÚÃû³ÆÎ¨Ò»µØ·ÃÎÊijһ»­Ãæ¡£Òò´Ë£¬Ö»ÐèÖ¸¶¨»­Ãæ´°¿ÚµÄÃû³Æ£¬ÈçÏÂʾÀýËùʾ£º

Dim objRectangle

Set objRectangle =

HMIRuntime.Screens(\objRectangle.BackColor = RGB(255,0,0)

ÕâÖÖ·ÃÎÊÀàÐÍ¿ÉʵÏÖÔÚ²»Í¬»­ÃæÖзÃÎÊ»­Ãæ´°¿ÚÖеĶÔÏ󡣾ͻ­ÃæÄ£¿é¼¼Êõ¶øÑÔ£¬ÕâÊÇÌØ±ðÓÐȤµÄÒ»µã¡£

5) ÀûÓ÷µ»ØÖµÊ¹ÊôÐÔ¶¯Ì¬»¯

»ùÓÚÊôÐԵ͝×÷²»½öÄÜÓÉʼþ´¥·¢»òÖÜÆÚÐÔ´¥·¢£¬¶øÇÒÄÜÖ±½Óͨ¹ý¶¯×÷ʹÊôÐÔ¶¯Ì¬»¯¡£ ÔÚÒÔÏÂʾÀýÖУ¬Í¨¹ý·µ»ØÖµÊ¹¶ÔÏóµÄ±³¾°ÑÕÉ«¶¯Ì¬»¯¡£ ÀýÈ磬´«Ë͵ÄÖµ¿ÉÄÜÀ´×Ô PLC ÖÐʼþµÄÆÀ¹À£¬²¢ÓÃÓÚÔËÐÐ״̬µÄͼÐÎÏÔʾ£º Function BackColor_Trigger(ByVal Item) BackColor_Trigger = RGB(125,0,0) End Function ˵Ã÷

Èç¹ûͨ¹ý½Å±¾µÄ·µ»ØÖµÊ¹¾ßÓÐ VBS ¶¯×÷µÄ¶ÔÏóÊôÐÔ¶¯Ì¬»¯£¬ÔòÖ»ÓÐÔÚÏà¶ÔÓÚÉÏ´ÎÔËÐеĽű¾¶ÔÏóÊôÐÔÖµ·¢Éú¸ü¸Äʱ²Å»áдÈë¸ÃÖµ¡£ Èç¹û¸ÃÖµÒÑÔÚÁíһλÖ÷¢Éú¸ü¸ÄÔòÎÞЧ¡£ Òò´Ë£¬Í¨¹ý´ÓÁíһλÖã¨ÀýÈ磬ÆäËü C ½Å±¾»ò VBS ½Å±¾£©µÄ·µ»ØÖµÀ´¸ü¸ÄÓÉ VBS ¶¯×÷Éú³ÉµÄ¶¯Ì¬ÊôÐÔÊÇ·Ç·¨µÄ¡£

Èç¹û²»×ñÊØÕâÒ»µã£¬Ôò½á¹û¿ÉÄÜÊÇ´íÎóµÄÖµ¡£ 2) ʵÀý£º ͨ¹ý VBS ×é̬Êý¾Ý¿âÁ¬½Ó

¼ò½é

ÒÔÏÂʾÀý˵Ã÷ÈçºÎͨ¹ý ODBC Çý¶¯Æ÷×é̬ Access Êý¾Ý¿âÁ´½Ó¡£ ʾÀý 1 ½« WinCC µÄ±äÁ¿ÖµÐ´Èë Access Êý¾Ý¿âÖС£ ? ʾÀý 2 ´ÓÊý¾Ý¿â¶Áȡֵ²¢½«ÆäдÈë WinCC ±äÁ¿ÖС£

?

ÕâЩʾÀý²»°üº¬Èκδ¦Àí¹ÊÕÏ¡£

1.ͨ¹ý WINCC_DATA ±íºÍ ID ÔÚÆäÖÐ×÷Ϊ×Ô¶¯ÖµµÄµÄÁУ¨ID£¬TagValue£©À´´´½¨ Access Êý¾Ý¿â¡£

2.ÉèÖÃÃû³ÆÎª¡°SampleDSN¡±µÄ ODBC Êý¾ÝÔ´£¬ÒýÓÃÒÔÉÏ Access Êý¾Ý¿â¡£ 3.±à³Ì¡£ 3) ʾÀý 1

Dim objConnection Dim strConnectionString Dim lngValue Dim strSQL

Dim objCommand

strConnectionString = \lngValue = HMIRuntime.Tags(\

strSQL = \Set objConnection = CreateObject(\objConnection.ConnectionString = strConnectionString objConnection.Open

Set objCommand = CreateObject(\With objCommand

.ActiveConnection = objConnection .CommandText = strSQL End With

objCommand.Execute Set objCommand = Nothing objConnection.Close Set objConnection = Nothing 4) ²½Ö衢ʾÀý 2

1.´´½¨Ãû³ÆÎª dbValue µÄ WinCC ±äÁ¿¡£

2.ʹÓà WINCC_DATA ±íºÍ ID£¬TagValue Áд´½¨ Access Êý¾Ý¿â£º ID£¬´´½¨ TagValue£¨ID ×÷ÓÃ×Ô¶¯Öµ£©¡£ 3.ÉèÖÃÃû³ÆÎª¡°SampleDSN¡±µÄ ODBC Êý¾ÝÔ´£¬ÒýÓÃÒÔÉÏ Access Êý¾Ý¿â¡£ 4.±à³Ì¡£

Dim objConnection Dim objCommand Dim objRecordset Dim strConnectionString


WinCC_VbsÖÐÎÄÊÖ²á(2).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£º¼Ò³¤¼°Ñ§ÉúͶËß´¦ÀíÖÆ¶È¼°ÊµÊ©°ì·¨

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º