หน้าเว็บ

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

ตัวอย่างโปรเจ็คC#สร้างSCADAด้วยCOPC DLL: เก็บข้อมูลในMSSQL Server

ตัวอย่างโปรเจ็คVisual Studio Express 2010เขียนด้วยภาษาC# ใช้COPC DLLอ่านเขียนข้อมูลไปยังOPC Serverและเก็บข้อมูลไว้ในMS SQL Server

VDO/บทความที่ควรชมก่อน :
ไฟล์ที่ต้องใช้(ถ้ายังไม่มี)
ส่วนที่สำคัญของโค้ดคือส่วนที่ติดต่อและเก็บข้อมูลในMS SQL Serverชื่อ(local)\sqlexpress2 ในดาต้าเบสชื่อtestตารางt1 โดยเก็บในคอลัมน์v1,v2และTime_Dateซึ่งเก็บค่าตัวเลขแบบfloat, floatและวันเวลาตามลำดับ
using (SqlConnection connection = new SqlConnection(@"Data Source=(local)\sqlexpress2;Initial Catalog=test;Integrated Security=SSPI"))
            using (SqlCommand cmd = new SqlCommand("insert into t1 (v1,v2,Time_Date) values (@v1,@v2,getdate())", connection))
            {
                cmd.Parameters.AddWithValue("@v1", ("" + myvar[0]).ToString());
                cmd.Parameters.AddWithValue("@v2", ("" + myvar[1]).ToString());
                connection.Open();
                cmd.ExecuteNonQuery();
            }

การทดสอบ

เมื่อติดตั้ง ICONICS OPC UA, COPC DLL และ Visual Studio 2010 ขึ้นไปทั้งExpressหรือProแล้ว ให้เปิดไฟล์คอนฟิกOPCที่ดาวน์โหลดไปพร้อมไฟล์C#ตัวอย่าง
image
จากนั้นเปิดไฟล์C#ตัวอย่างแล้วAdd ReferenceของCOPC DLLเข้ามาในโปรเจ็คเพื่อความแน่ใจ จากนั้นสร้างตารางชื่อt1ในMSSQL Serverโดยมีสามคอลัมน์เป็นอย่างน้อยคือ v1, v2, Time_Date เป็นประเภทfloat, floatและDatetimeตามลำดับ จากนั้นแก้ไขโค้ดส่วนที่ระบุชื่อSQL Server, Database nameตามที่แสดงด้วยอักษรตัวหนาซึงในตัวอย่างสมมุติว่าติดต่อกับMS SQL Serverในเครื่องคอมพิวเตอร์เดียวกัน
using (SqlConnection connection = new SqlConnection(@"Data Source=(local)\sqlexpress2;Initial Catalog=test;Integrated Security=SSPI"))
จากนั้นทำการRunโปรเจ็ค
ในตัวอย่างนี้กำหนดIntervalของTimerที่แสดงและเก็บค่าOPCไว้ในMS SQLไว้ที่ 5000msec (5วินาที) ถ้าต้องการแสดงค่าเร็วขึ้นควรแยกส่วนแสดงค่าและเก็บค่าไว้ในMS SQLออกจากกันแล้วกำหนดให้IntervalของTimerที่ใช้แสดงค่าเร็วขึ้นตามต้องการครับ
COPC DLL เป็นActiveX Controlเพื่อเป็นตัวอ่านเขียนข้อมูลกับOPC ServerสามารถทำงานบนC#, VB, VB.Net, Excel และSCADAที่ใช้ActiveXได้ ไม่จำกัดจำนวนIO tagราคาเพียง8,500บาท (เวอร์ชั่นDemoใช้งานได้30วัน)





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

โพสต์ความคิดเห็น