Home
GENESIS32 SCADA : Script 4 Fun : ควบคุมโปรแกรมอื่น PDF Print E-mail
Written by Administrator   
Friday, 26 February 2016 17:51

บางครั้งเราจำเป็นต้องควบคุมโปรแกรมอื่น(ไม่ใช่แค่เรียกเปิดโปรแกรม) เช่นต้องสั่งงานเมนูต่าง ๆ กรอกข้อมูล ฯลฯ เราก็สามารถทำได้โดยใช้Scriptง่ายๆของGENESIS32 SCADAได้ ในตัวอย่างนี้จะควบคุมโปรแกรมNotepadให้พิมพ์คำที่เราต้องการจากนั้นสั่งเมนู File > Exit และตอบปฏิเสธเมื่อมีหน้าต่างถามว่าต้องการSaveไหม

image

 

ดาวน์โหลดตัวอย่าง

Scriptประกอบด้วยคำสั่งดังนี้

Dim x  Set x = CreateObject("wscript.shell")  
x.run "%windir%\system32\notepad.exe" 
 Sleep 1000   
x.SendKeys "Hi, " 
Sleep 500 
x.SendKeys "This will automate Notepad. " 
Sleep (1000) 
x.SendKeys "{ENTER}" Sleep (1000) 
x.SendKeys "ON : " & DateTime.Now 
Sleep 500
 x.SendKeys "{ENTER}" 
Sleep 500 
x.SendKeys "Waiting 2 sec. This will be closed. " 
Sleep 1000
x.SendKeys "{ENTER}"
 Sleep 100 
x.SendKeys "1" 
Sleep 900 
x.SendKeys "{ENTER}" 
Sleep 100 
x.SendKeys "2" 
Sleep 1000 
x.SendKeys "%f" 
Sleep 200 
x.SendKeys "x" 
Sleep 100 
x.SendKeys "{TAB}" 
Sleep 100 
x.SendKeys "{ENTER}"
 

คำสั่ง x.run “%windir%\system32\notepad.exe” จะเป็นการรันNotepad

คำสั่งSendKeysจะเป็นการส่งข้อความหรือส่งคำสั่ง เช่น x.SendKeys “{ENTER}” หมายถึงการกดEnter

x.SendKeys “%f” หมายถึงAlt + Fซึ่งเป็นการเรียกเมนูFile

x.SendKeys “{TAB}” ใช้เลื่อนเป้าหมายจากปุ่มหรือคอนโทรลปัจจุบันไปยังตัวถัดไปเช่นใช้เปลี่ยนปุ่ม OK ไปยังปุ่ม Cancel ที่อยู่ติดกันเป็นต้น

 

จากตัวอย่างจะเห็นว่ามีการใส่ค่าวันที่เวลาปัจจุบันลงไปด้วย เพื่อแสดงให้ทราบว่าสามารถใช้ตัวแปรต่างๆมาประยุกต์ใช้งานได้ด้วย

 

image

 

ตัวอย่างการนำไปใช้งานก็อย่างเช่น การควบคุมโปรแกรมอื่นที่ต้องการเมื่อถึงเวลาที่กำหนด หรือควบคุมโปรแกรมอื่นที่เราต้องการส่งออกหรือนำเข้าข้อมูลหรือเพื่อสั่งฟีเจอร์บางอย่างเสมือนใช้คนสั่งการผ่านหน้าจอผ่านเมนูและปุ่มต่างๆ

การประยุกต์ใช้กับงานอัตโนมัติ เช่น ทุกช่วงเวลาที่กำหนด(ไม่ต้องมาคลิ้กปุ่มเอง)สามารถทำได้หลายช่องทางเช่นใช้Checkboxซึ่งสามารถกำหนด While Down ให้เช็คว่าตอนนี้ถึงเวลาที่กำหนดหรือยัง ถ้าใช่ให้รันสคริปต์ข้างต้น หรือใช้Timerแทนก็ได้ หรือจะนำสคริปต์ไปใช้ในScriptWorXของGENESIS32ที่สามารถกำหนดTriggerแบบScheduleก็ได้เช่นกันครับ 

 

คีย์แบบต่าง ๆ ที่มีประโยชน์

Key

Parameter

BACKSPACE

{BACKSPACE}, {BS}, or {BKSP}

BREAK

{BREAK}

CAPS LOCK

{CAPSLOCK}

DEL or DELETE

{DELETE} or {DEL}

DOWN ARROW

{DOWN}

END

{END}

ENTER

{ENTER} or ~

ESC

{ESC}

HELP

{HELP}

HOME

{HOME}

INS or INSERT

{INSERT} or {INS}

LEFT ARROW

{LEFT}

NUM LOCK

{NUMLOCK}

PAGE DOWN

{PGDN}

PAGE UP

{PGUP}

PRINT SCREEN

{PRTSC}

RIGHT ARROW

{RIGHT}

SCROLL LOCK

{SCROLLLOCK}

TAB

{TAB}

UP ARROW

{UP}

F1

{F1}

F2

{F2}

F3

{F3}

F4

{F4}

F5

{F5}

F6

{F6}

F7

{F7}

F8

{F8}

F9

{F9}

F10

{F10}

F11

{F11}

F12

{F12}

ALT

%

ALT DOWN

{ALT DOWN}

ALT UP

{ALT UP}

CTRL

^

CTRL DOWN

{CTRL DOWN}

CTRL UP

{CTRL UP}

SHIFT

+

SHIFT DOWN

{SHIFT DOWN}

SHIFT UP

{SHIFT UP}

Last Updated ( Thursday, 17 March 2016 14:18 )