Home SCADA Solution COPC32: เก็บข้อมูลในMS SQL Serverด้วยC#
COPC32: เก็บข้อมูลในMS SQL Serverด้วยC# PDF Print E-mail
Written by Administrator   
Tuesday, 05 April 2016 00:51

ตัวอย่างโค้ดC#สำหรับเก็บข้อมูลOPCไว้ในMS SQL โดยใช้ร่วมกับCOPC32

 ชมเวอร์ชั่นVDOที่นี่

โค้ดด้านล่างทำงานในTimerเพื่อเก็บข้อมูลจากOPC tagที่ใช้COPC32เป็นตัวอ่านค่ามาเก็บในMS SQL Server โดยเก็บในDatabaseชื่อtestในตารางt1 คอลัมน์v1,v2.v3ตามลำดับ โดยจะต้องใช้ไลบรารี่ System.Diagnostics เพื่อเรียกใช้โปรแกรมsqlcmd.exe(จะมีโปรแกรมsqlcmd.exeเมื่อติดตั้งMS SQL Server)

image

private void timer1_Tick(object sender, EventArgs e)
        {
            int i = 0;
            int tagNo = 3;
            string tmpstr = "";
            Process cmd = new Process();

            //พาทของโปรแกรมsqlcmd (จะมีก็ต่อเมื่อติดตั้งMS SQL Server/MS SQL Server Express)
            cmd.StartInfo.FileName = @"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd.exe";
            cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

            while (i < tagNo)
            {
                tmpstr = tmpstr + axcopc1.GetVl(i).ToString()+"" + @",";
                i++;
            }


            //-S คือชื่อServer, -d คือชื่อDatabase, -Q คือคำสั้งQuery
            cmd.StartInfo.Arguments = @"-S (local) -d test -Q ""insert into t1 (v1,v2,v3,Time_Date) values (" +
                tmpstr + @"getdate())""";
            cmd.Start();
        }

 

 

ตัวอย่างข้อมูลที่เก็บ

image

 

ในโค้ดดังกล่าวมีการวนลูปเพื่อสร้างส่วนข้อมูลที่จะInsertเข้าไปในตารางt1

while (i < tagNo)  {    tmpstr = tmpstr + axcopc1.GetVl(i).ToString()+"" + @",";    i++;  }
Last Updated ( Tuesday, 05 April 2016 21:50 )
 

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

M-System publishes updated catalog
"High Speed Remote I/O for FA Equipment Control (Rev.1)" (PDF, 945KB)