杰控组态西门子PLC经验总结
PLC控制工艺步骤,在称重状态db4.dbw0 的值>2100 时,称重传感器称重,并记录了皮重,净重,流速等信息,为了将每次称重的结果保存下来,需要建立数据库,采集PLC变量,并保存到数据库中。
1、建立数据库
在SQL Server2012中建立数据库GuanZhuang,新建表Gz_scsj。字段dt、pz1、jz1、ls1等。
2、建立全局脚本文件
选择全局脚本–>脚本文件–>新建“脚本1”。
3、选择脚本运行策略
选择全局脚本–>运行策略–>变量触发。
4、启动任务时勾选全局变量和全局脚本。
5、界面显示
6、脚本程序
' db4.dbw0>2100 , 如果saveflag=0 存储数据,然后置saveflag=1
y=RunSys.GetVarValue(AI,"称重状态",-1)
x=RunSys.GetVarValue(VA,"SAVEFLAG",-1)
If y<2100 Then
RunSys.SetVTtext "测试代码",-1,"进入<2100"
If x=1 Then
RunSys.SetVarValue VA,"SAVEFLAG",-1,0
End If
Else
RunSys.SetVTtext "测试代码",-1,"进入>2100"
If x=0 Then
RunSys.SetVarValue VA,"SAVEFLAG",-1,1
''得到变量 AR.秤1皮重采集值 AR.秤1流速转换
jz1=0
jz2=0
jz3=0
pz1=0
pz2=0
pz3=0
ls1=0
ls2=0
ls3=0
bValue=RunSys.OpenDatabase(3000)
If bValue=1 Then
jz1=RunSys.GetVarValue(AR,"秤1净重采集值",-1)
jz2=RunSys.GetVarValue(AR,"秤2净重采集值",-1)
jz3=RunSys.GetVarValue(AR,"秤3净重采集值",-1)
pz1=RunSys.GetVarValue(AR,"秤1皮重采集值",-1)
pz2=RunSys.GetVarValue(AR,"秤2皮重采集值",-1)
pz3=RunSys.GetVarValue(AR,"秤3皮重采集值",-1)
ls1=RunSys.GetVarValue(AR,"秤1流速转换",-1)
ls2=RunSys.GetVarValue(AR,"秤2流速转换",-1)
ls3=RunSys.GetVarValue(AR,"秤3流速转换",-1)
RunSys.CloseDatabase
End If
'连接数据库(local)\SQLEXPRESS
Set conn= CreateObject("ADODB.Connection")
strConn="Driver={SQL Server};Server=(local)\SQLEXPRESS;Database=GuanZhuang;Uid=sa;Pwd=123456;"
conn.Open strConn
'打开数据表
Set rs= CreateObject("ADODB.Recordset")
strSQL="SELECT top 1 * FROM Gz_scsj"
rs.Open strSQL,conn,2,2
'追加记录
rs.AddNew
rs("dt")=Now()
rs("jz1")=jz1
rs("jz2")=jz2
rs("jz3")=jz3
rs("pz1")=pz1
rs("pz2")=pz2
rs("pz3")=pz3
rs("ls1")=ls1
rs("ls2")=ls2
rs("ls3")=ls3
rs.Update
'关闭数据库Updateose
rs.Close
conn.Close
Set rs=Nothing
Set conn=Nothing
End If
End If