[西门子] 基于物联网关OPC软件采集数据并存入数据库

[复制链接]
查看81353 | 回复0 | 2024-8-11 09:08:04 | 显示全部楼层 |阅读模式
如今全面进入物联网时代,作为工控行业,如今物联网系统也是百花齐放。作为传统的工控人,一般我们比较乐于接受传统的接口协议,比如OPC(OLE for Process Control)。

    通过物联网关,将自动化数采集到云端服务器,然后通过OPC服务器,获取到数据。系统网络图如下:



    在电脑端安装 物联网关的OPC软件,然后通过VB6对接,将数据显示出来,然后定时插入access数据库。

    (1)安装OPC软件,运行。



可以查看连接状态,故障情况,设备连接名称,服务器的定义。

   (2)建立好数据库



本次测试5个数据,建立data1~data5.表名定义hour1。

(3)建立VB程序段

   底层数据界面:



显示数据界面:



  配置ini



通过建立这个,可以修改ini文件,配置OPC显示内容。



如何定点插入数据,代码段如下:

1)数据库链接

Private Sub Form_Load()

Dim conn  As New ADODB.Connection

Dim rs     As New ADODB.Recordset

          Set conn = New ADODB.Connection

  Set rs = New ADODB.Recordset

          conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\scada_report.mdb"

          conn.Open

End Sub

2)定点插入

Private Sub Command1_Click()

Dim conn  As New ADODB.Connection

  Dim rs     As New ADODB.Recordset

          Set conn = New ADODB.Connection

  Set rs = New ADODB.Recordset

          conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\scada_report.mdb"

          conn.Open

Set rs = New ADODB.Recordset

strsql = "insert into hour1 (日期时间,data1,data2,data3,data4,data5 ) VALUES ('" + CStr(Now()) + "','" + data1 + "','" + data2 + "','" + data3 + "','" + data4 + "','" + data5 + "')"

rs.Open strsql, conn

Set rs = Nothing

conn.Close

Set conn = Nothing

End Sub

Private Sub Timer1_Timer()

If Minute(Now()) = 0 And a1 = False And Second(Now()) = 0 Then

Command1_Click

a1 = True

End If

If Second(Now()) > 0 Then

a1 = False

End If

运行效果:





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则