Home Solution(ถาม-ตอบ) ใช้COPC DLLทำหน้าที่Data Loggerให้กับOPC Server

EDA International ตัวแทนจำหน่ายเป็นทางการ ICONICS, PRElectronics, M-System, Graphon, ABB

ซอร์ฟแวร์ตรวจสอบ/บริหารงานอุตสาหกรรม วิศวกรรม SCADA/HMI (ICONICS GENESIS32/64), Report Solution, Cloud, อุปกรณ์วัดคุม แสดงผล เทอร์มินัล อุปกรณ์ป้องกันทางอิเล็คทรอนิกส์ 

ใช้COPC DLLทำหน้าที่Data Loggerให้กับOPC 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วัน)

 

สิ่งที่น่าสนใจ

Universal Input | Isolators | DC mV, V, mA Input | Temperature Input
Potentiometer Input | Frequency I/O | Pneumatic Transducers จาก M-System