ตัวอย่างโปรเจ็คVisual Studio Express 2010เขียนด้วยภาษาC# ใช้COPC DLL ตรวจสอบว่าOPC Serverที่ติดต่ออยู่นั้นไม่เกิดการเปลี่ยนแปลงใด ๆ ซึ่งอาจเกิดความขัดข้องหรือหลุดไปแล้ว ถ้านิ่งเกินระยะเวลาที่กำหนดให้ Reconnect หรือทำสิ่งอื่นเพิ่มเติมเช่นเปลี่ยนไปติดต่อOPC Serverสำรอง
VDO/บทความที่ควรชมก่อน :
ไฟล์ที่ต้องใช้(ถ้ายังไม่มี)
ส่วนสำคัญ
ในโค้ดมีการบวกเพิ่มตัวแปร n1 ในSubของTimer ดังนั้นทุก ๆ รอบบของTimer ค่าของn1จะถูกบวกเพิ่ม แต่ถ้าค่าของOPC tagมีการอัพเดทค่าของn1ก็จะถูกรีเซ็ตให้เป็น 0 ที่Sub copc1_datChange แต่ถ้าไม่มีการเปลี่ยนแปลงของOPC Serverเลยค่าn1จะถูกบวกเพิ่มไปเรื่อย ๆ เนื่องจากcopc1_datChangeไม่มีการทำงาน(Subนี้จะทำงานเมื่อมีการเปลี่ยนแปลงของtagทั้งหลายที่COPCติดต่ออยู่) จนในที่สุดเกินค่าที่เรากำหนดเช่นในตัวอย่างคือ5 ก็สั่งให้Reconnect ดังโค้ดที่อยู่ในTimerดังนี้
n1 = n1 + 1;label3.Text = n1.ToString();
if (n1 > 5)
{
reconnect();
}
โต้ดในSubชื่อ reconnectจะสั่งให้พยายามติดต่อOPC Serverใหม่
private void reconnect()
{
try
{
copc1.connectng();
}
catch
{
}
}
การทำงานเช่นนี้จะช่วยให้มีการติดต่อOPC Serverใหม่เมื่อเกิดหลุดเนื่องจากความขัดข้องเช่นระบบเครือข่ายล่มทำให้OPC Serverในระบบเครือข่ายติดต่อไม่ได้เป็นต้น ซึ่งสสามารถปรับปรุงการทำงานตามต้องการเช่นถ้าn1เพิ่มเกินกว่าที่กำหนดก็ให้เปลี่ยนชื่อOPC ServerไปยังOPC Serverสำรองก่อนconnectใหม่ก็ได้ ทั้งนี้เราควรใช้OPC tagที่มีการเปลี่ยนแปลงอยู่ตลอดในCOPCDLLด้วยเช่นสัญญาณเวลาในกลุ่ม _SystemของICONICS OPC UA/Kepwareเป็นต้น
การทดสอบ
เมื่อติดตั้ง ICONICS OPC UA, COPC DLL และ Visual Studio 2010 ขึ้นไปทั้งExpressหรือProแล้ว ให้เปิดโปรแกรม ICONICS OPC UA Server ให้เปิดไฟล์คอนฟิกOPCที่ดาวน์โหลดไปพร้อมไฟล์C#ตัวอย่าง
จากนั้นเปิดไฟล์C#ตัวอย่างแล้วAdd ReferenceของCOPC DLLเข้ามาในโปรเจ็คเพื่อความแน่ใจ แล้วคลิ้กปุ่มRunบนVisual Studioได้เลยครับ
COPC DLL เป็นActiveX Controlเพื่อเป็นตัวอ่านเขียนข้อมูลกับOPC ServerสามารถทำงานบนC#, VB, VB.Net, Excel และSCADAที่ใช้ActiveXได้ ไม่จำกัดจำนวนIO tagราคาเพียง8,500บาท (เวอร์ชั่นDemoใช้งานได้30วัน)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น