当前位置: 主页 > PLC控制

关于wincc短时工序的归档与报表的制作方法

大家好!
我想做一个出入库的数据归档及报表,
1:数据包括:静态数据(人工录入)入库开始时间、入库结束时间、入库质量、入库车辆牌号、入库罐号、入库批号、等;过程数据(入库完后由PLC程序计算出):入库质量、平均流量、平均温度、平均密度、平均酒精度等;
我想用“用户归档”做,但是用户归档由容量限制,客服推荐用SQL将数据导出,但是我没有相关的基础,希望给予指点!
另外还得实现历史数据的查询和打印!
入库东西为浓度很高的酒精,每次都是用汽车拉来,接上管道后通过wincc画面操作打入相应的罐号,完毕后打印出报表来!

问题补充:
可以给个例子程序吗?

最佳答案

我做过类似的地磅系统,就是采用wincc自带的sqlserver
1、在sqlserver里面创建一个自己的数据库、表
2、在wincc的画面里面采用vbs读写数据库
3、打印单据我采用的是后台安装excel,wincc中调用后台的excel样张打印(操作员看不见excel)

你需要具备vbs、sqlserver和数据库的基本知识,这些网上都有,推荐《深入浅出wincc》这本官方出书

goodluck

贴个连接数据库和断开数据库的脚本吧,其它查询、插入、删除、统计等的脚本跟项目具体情况有关系,但是万变不离其宗,都是利用ado对象来操作数据库内容。所以你需要具备vbs、ado和sqlserver的基本知识,这些其实都是微软的东西
——————————————————————————-
SubConnectDB(DbName,ByrefadoCn,ByrefRs,rsConnection)
”***************************************************************
”Function:ConnectDataBASe
”***************************************************************
DimSTrCnstring
DimstrID,strPwd,strDBName,strPCName
”——–CreateAdoObject———–
SetAdoCn=CreateObject("ADODB.Connection")
SetRs=CreateObject("ADODB.Recordset")

”——–ConnectDatabase———–
strID="sa"”username
strPwd="123"”password
strDBName=DbName”databasename
strPCName=HMIRuntime.tags("@LocalMachineName").read”computername
”——————————
strCnstring="Provider=SQLOLEDB.1;Password="&strPwd&";"
strCnstring=strCnstring&"PersistSecurityInfo=True;UserID="&strID&";"
strCnstring=strCnstring&"InitialCatalog="&strDBName&";"
strCnstring=strCnstring&"DataSource="&strPCName&"\WINCC"

AdoCn.ConnectionString=strCnstring
AdoCn.open

”——–Recordset———–
IfrsConnection=TrueThen
Rs.ActiveConnection=adoCn
EndIf
Rs.CursorLocation=3”adUseClient
EndSub

断开数据库
SubDisConnectDB(ByrefadoCn,ByrefRs)
”***************************************************************
”Function:DisconnectDatabase
”***************************************************************
SetRs=Nothing
AdoCn.close
SetAdoCn=Nothing
EndSub

提问者对于答案的评价:
继续学习SQL吧!

  • 关注微信

猜你喜欢

微信公众号