大家好!
我想做一个出入库的数据归档及报表,
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吧!