หน้าเว็บ

วันอาทิตย์ที่ 22 มีนาคม พ.ศ. 2558

ตัวอย่างโปรเจ็คC#สร้างSCADAด้วยCOPC DLL: เทคนิคทำให้SCADAทำงานเร็ว

ตัวอย่างโปรเจ็คC#สร้างด้วยVisual Studio Express 2010แสดงการทำงานแบบSCADAที่ใช้Arrayเก็บค่าสัญญาณก่อนนำไปใช้งาน เพื่อการทำงานที่มีประสิทธิภาพ และตัวอย่างการควบคุมสัญญาณด้วยคอนโทรลอย่างTrackbar

 

VDOที่ควรชมก่อน :

ไฟล์ที่ต้องใช้(ถ้ายังไม่มี)

 

ส่วนสำคัญของโค้ด

ในงานSCADAทั่วไปมักจะมีOPC tagจำนวนมาก ดังนั้นเพื่อความเร็วในการนำค่าOPC tagมาใช้งานควรเก็บค่าไว้ในArrayก่อนแล้วจึงเรียกใช้ค่าArrayเมื่อจะเอาค่าสัญญาณไปใช้ ทำให้ใช้ซ้ำๆได้โดยไม่ต้องอ่านค่าOPC tagทุกครั้งไป ซึ่งจะทำให้OPC Serverทำงานน้อยลง ระบบทำงานคล่องตัวกว่าการอ่านOPC tagบ่อยๆ ในตัวอย่างไฟล์โปรเจ็คC#ซึ่งสร้างด้วยVisual Studio Express 2010จะใช้Timerสองตัว Timerตัวแรกอ่านค่าจากOPCเก็บไปไว้ในArray(โค้ดส่วนที่2) Timerตัวที่สองจะนำค่าจากArrayไปแสดงในLabelเพื่อแสดงค่าที่อ่านจากOPC(โค้ดส่วนที่3) ถ้าต้องการดูโค้ดส่วนไหนก็แตกกิ่งเครื่องหม่าย+หน้าโค้ดส่วนนั้น จากรูปล่างจะเห็นว่ามีการใช้Arrayชื่อmyvarเพื่อเก็บค่าสัญญาณ คุณผู้อ่านควรดูโค้ดส่วนที่1เพื่อดูว่ามีการติดต่อOPC Serverชื่ออะไรและOPC tagชื่ออะไรบ้าง

image

ในตัวอย่างจะมีการใช้Trackbarเพื่อป้อนค่าให้OPC Tagตัวที่สาม(โค้ดส่วนที่6) ดังนั้นถ้าต้องการใช้งานตัวอย่างโปรเจ็คดังกล่าวโดยไม่ต้องปรับโค้ดใดๆ ให้ใช้ไฟล์คอนฟิกOPCที่ดาวน์โหลดไปกับICONICS OPC UA Server เมื่อเลื่อนTrackbarในโปรเจ็คC#ก็จะทำให้ค่าของOPC tagชื่อTag2ในChannel1.Device1มีการเปลี่ยนแปลงตามครับ

image

image

ในตัวอย่างได้กำหนดย่านสูงสุดของTrackbarไว้ที่1000 ดังนั้นเราจะป้อนค่าสัญญาณจากTrackbarได้ไม่เกิน1000

image

 

การทดสอบ

เมื่อติดตั้ง ICONICS OPC UA, COPC DLL และ Visual Studio 2010 ขึ้นไปทั้งExpressหรือProแล้ว ให้เปิดไฟล์คอนฟิกOPCที่ดาวน์โหลดไปพร้อมไฟล์C#ตัวอย่าง

image

จากนั้นเปิดไฟล์C#ตัวอย่างแล้วAdd ReferenceของCOPC DLLเข้ามาในโปรเจ็คเพื่อความแน่ใจ จากนั้นทำการRunโปรเจ็ค จะพบหน้าแสดงค่าของOPC tagสามค่า และสามารถควบคุมค่าของOPC tagตัวที่สามได้ผ่านTrackbar(เราจะใช้การป้อน่าผ่านคอนโทรลอื่น ๆ เช่นTextboxก็ได้)

image

ไม่มีความคิดเห็น:

แสดงความคิดเห็น