WINCC连接远程SQL
- 格式:pdf
- 大小:1.43 MB
- 文档页数:7
西门子WinCC flexible的SQL数据库操作肖振宇【摘要】通过微软数据源管理器ODBC建立WinCC flexible与SQL数据库的连接,并借助WinCC flexible脚本系统,来完成实际工程中比较复杂的过程值以及报警记录的归档.【期刊名称】《有色金属加工》【年(卷),期】2011(040)006【总页数】4页(P55-58)【关键词】WinCC flexible;脚本;SQL数据库;数据源管理器ODBC【作者】肖振宇【作者单位】中色科技股份有限公司,河南洛阳471039【正文语种】中文【中图分类】TP316西门子WinCC flexible 是一种应用广泛的HMI系统,是操作人员与过程(机器/设备)之间的接口,是操作人员与实际控制单元例如PLC之间的接口,它主要完成以下工作。
① 过程可视化过程显示在HMI 设备上。
HMI 设备上的画面可根据过程变化动态更新。
这基于过程的变化。
② 操作员对过程的控制操作员可以通过GUI (图形用户界面)来控制过程。
例如,操作员可以预置控件的参考数值或者启动电机。
③ 显示报警过程的临界状态会自动触发报警,例如,当超出设定值时。
④ 归档过程值和报警HMI 系统可以记录报警和过程值。
该功能使您可以记录过程值序列,并检索以前的生产数据。
⑤ 过程值和报警记录HMI 系统可以输出报警和过程值报表。
例如,您可以在某一轮班结束时打印输出生产数据。
⑥ 过程和设备的参数管理HMI 系统可以将过程和设备的参数存储在配方中。
例如,可以一次性将这些参数从HMI设备下载到PLC,以便改变产品版本进行生产。
其中对于过程值以及报警记录的归档是WinCC flexible 的重要特色功能之一,但其自带的历史数据功能较为简单,具有一定的局限性,无法很好的满足实际工程中的各种灵活应用,不过在WinCC flexible 中提供了对于运行脚本的支持,为完成各种更加复杂的任务提供了良好的手段。
用VB访问远程WinCC数据库SQL Server20052010-03-17最近在用Visual Basic编写访问远程WinCC数据库的程序,碰到了比较棘手的通讯连接问题。
本人比较注重通讯,所以在动手之前先看看能不能通讯上,然后再做打算。
用过WinCC的人都知道,安装WinCC必须先要安装SQL Server,我用的是V6.2版,其自带的SQL Server是2005。
硬件情况大概如下:2台计算机,1个路由器,组成一个局域网;一台计算机运行WinCC及其SQL Server,作为服务器,另外一台用来运行VB编写的程序,作为客户机。
1. 通讯连接测试最近忙着弄论文,不想写太多的字,就写个流程吧。
服务器:开启SQL Server所有服务。
客户机:Windows控制面板—>管理工具—>数据源(ODBC)—>用户DSN添加SQL Server驱动程序—>命名并选择服务器(这里为“主机名\WinCC“)—>完成测试数据源—>失败—>郁闷。
2. 查找原因系统提示[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user ''. The user is not associated with a trusted SQL Server connection.百度以后再这个地方看到了点解决的眉目:3. 解决问题——启用以sa登录名为远程身份登录SQL Server 2005 Express继续百度,那人却在灯火阑珊处。
让我找到了她,经过求证效果明显,特转帖过来在默认情况下,SQL Server 2005 Express是采用集成的Windows安全验证且禁用了sa登录名。
为了工作组环境下不使用不方便的Windows集成安全验证,我们要启用SQL Server 2005 Express的混合安全验证,也就是说由SQL Server来验证用户而不是由Windows来验证用户。
wincc用户归档VB脚本与SQL使用说明一、报表建立本次项目要求:所有测量变量在一个工作周期结束后进行存储,也就是事件触发,不同与以往的周期触发。
1、要求能存储字符串类型的数据,所以本次报表使用用户归档来实现,因为变量记录工具是不能存储字符串类型数据的。
而且用户归档控件的事件触发比变量记录要灵活的多。
2、要求可以将数据导出到EXCEL表格中。
实现对数据的编辑。
具体实现方法如下:第1项不用过多在意,了解一下即可,从第2项起为主要内容。
第1项的作用就是讲解怎样触发用户归档存储数据的。
1、在建立报表前首先要新建两个系统变量,用于日期和时间的存储。
在WINCC组态环境内——右击变量管理——单击添加新的驱动程序——找到System Info.chn——单击打开如下图建立两个变量分别为riqi和shijian——作为日期和时间的存储变量。
再建立两个控制变量,此变量需要与下位机程序进行连接。
分别为A_ID、A_JOP在下位机程序里进行编写,当自控程序运行完一边后将这两个变量分别赋值-1、6赋值结束后再将0赋给这两个变量。
程序如下图此目的是用于用户归档数据存储时事件触发条件,在后面用户归档建立会详细描写。
2、建立用户归档WINCC在第一次安装完后是没有用户归档控件的,需要再次将光盘插入重新安装一次,在选项中将用户归档添加进行安装。
单击下一步先点击创建,在创建变量完成后,将上面建立的两个变量A_ID/A_JOP分别添加到ID和指令内,方法:单击选择按钮——浏览变量添加即可。
此项是用于数据存储触发的。
也就是当ID和指令分别为-1和6时用户归档存储一次数据。
详细如下图单击完成实现对用户归档的创建。
3、创建VB脚本动作,是用于用户归档事件触发的动作,没有此动作用户归档将无法存储数据。
方法:打开VB脚本——单击文件——新建——动作。
然后将下面程序写入即可。
Function actionDim xiaoshiDim riqiDim flagSet flag = HMIRuntime.Tags("flag")flag.ReadIf flag.Value =1 Thenriqi=CStr(Year(Now))&"-"&CStr(Month(Now))&"-"&CStr(Day(Now))Dim A_IDSet A_ID = HMIRuntime.Tags("A_ID")Dim A_JOPSet A_JOP = HMIRuntime.Tags("A_JOP")A_ID.ReadA_ID.Write -1A_JOP.ReadA_JOP.Write 6End If输入完之后将其保存。
WinCC V6.2 数据库访问我们现在的WinCC教材是以WinCC V6.0 SP3为软件平台而开发的,而之后,Siemens 又推出了V6.2、V7.0版本的WinCC。
目前,BU大力推的是V7.0的WinCC,我们的WinCC 教材也准备升级为V7.0版本。
但从用户的角度来说,对V7.0版本的WinCC还有一个逐步接受的过程,以后,我们碰到的客户,可能很多还是使用V6.2版本的软件。
所以,我们还是有必要熟悉一下WinCC V6.2。
本文主要介绍WinCC V6.2的数据库访问,由于WinCC V7.0和WinCC V6.2采用的都是SQL Server 2005数据库,故本文对了解WinCC V7.0的数据库访问也是有帮助的。
(一)若采用WinCC V6.2,原来的教材中有关操作和界面的变化1. 打开SQL Server管理工具SQL Server 2005和SQL Server 2000在界面上还是有很大不同的,原来的企业管理器变成了SQL Server Management Studio (SSMS)。
图1. 启动SSMS2. 选择身份认证方式:WinCC 系统在SQL Server中注册了自己的账户,如WinCCAdmin、WinCCConnect等,所以,WinCC使用到了SQL Server的认证方式。
外部程序访问数据库时,可以采用Windows 集成的认证方式。
图2. 选择身份认证方式图3. WinCC在SQL Server中注册的用户3. 查看ValueID和ValueName的对应关系图4. 查看ValueID和ValueName的对应关系4. 查看组态的消息图5. 查看组态的消息5. 查看归档片段的消息图6. 查看归档片段的消息6.数据传输服务图7. 选择数据导出服务图8. 选择数据源(与原来的DTS类似)图9. 设置数据源图10. 选择目标地图11. 选择查询并传输图12. 输入查询语句图13. 源和目标列的对应关系图14. 选择立刻执行传输图15. 传输执行前的提示图16. 传输执行结果报告图17. 查看传输结果7. 在Excel中编程利用WinCC OLE-DB访问WinCC数据库方法及程序同原来的教材,原来的教材的程序同样适用。
WINCC7.5与SQL数据库的建设置立
1、右击电脑管理—>服务—>Secondary Logon,属性,启动类型改为自动,设置完后重启电脑,可与第7步同时重启
2、进入SQL Server Windows身份验证
3、新建登录名,设置密码,去选强制实施密码策略,如下图所示
4、选择服务器角色选择sysadmin,如下图所示,为保证其他功能可都勾选上,这步很重要,影响后面数据库路径的选择
5、安全性,选择SQL Server 和Windows身份验证模式,如下图所示
6、ceshi权限选择,如下图所示,为保证其他功能可都勾选上
7、重启电脑,服务器名称,浏览更多
8、选择数据库引擎CYN\WINCC,,这步很重要
9、登录验证为SQL Server身份验证模式,如下图,输入前面建立的登录名和密码
10、创建数据库,名称为读写数据库
11、点击路径后面图标,找到预先建立的存放数据库的文件夹,如下图所示,确定
右击读写数据库中表,新建表,如下图,创建名称和数据类型,保存为个人信息,如下图
右击表刷新,如下图
右击个人信息表可进行相关操作。
远程连接局域网内的SQL Server 的方法是什么局域网通常是分布在一个有限地理范围内的网络系统,一般所涉及的地理范围只有几公里。
局域网专用性非常强,具有比较稳定和规范的拓扑结构。
下面我们依次介绍如何来解决这三个最常见的连接错误。
一般说来,有以下几种可能性:1、SQL Server名称或IP地址拼写有误;2、服务器端网络配置有误;3、客户端网络配置有误。
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。
首先,检查网络物理连接:ping <服务器IP地址>或者ping <服务器名称>如果 ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。
防火墙软件可能会屏蔽对 ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。
如果ping <服务器IP地址> 成功而 ping <服务器名称> 失败,则说明名字解析有问题,这时候要检查 DNS 服务是否正常。
有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:1、使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).2、添加一条IP地址与服务器名称的对应记录,如:172.168.10.24 myserver也可以在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明。
其次,使用 telnet 命令检查SQL Server服务器工作状态:telnet <服务器IP地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的TCP/IP 连接;如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听。
WINCC连接远程SQL
前端时间帮朋友用WINCC实现一个功能,需要用到连接远程SQL数据库的地方,本来以为会很简单的,把连接SQL数据库的脚本改成远程计算机的名称或者IP地址就好了,在家里用虚拟机测试的时候,发现没那么简单,最后折腾了大半天,才终于给搞好了。
把折腾的步骤总结测试一下,这里给以后需要用到的朋友参考一下吧。
其实主要还是SQL服务器需要开启远程访问功能,一边搜索一边测试,才弄好的。
1、远程服务器用虚拟机+WIN7+SQL2008,系统和软件全新安装,安装后,创建一个名位:SQLTEST的数据库,然后创建一个TALBETEST的表格,表格两列分别为int类型的ID和real类型的REALT,并插入两行数据用作测试。
2、添加一个用户用作远程登录,用户名:rem,密码:123456,并在用户映射属性里面勾选对应的数据库和属性,这里只设置允许读写的选项。
3、开始菜单-SQL Server文件夹-配置工具下打开SQL Server配置管理
器,开启TCP/IP远程访问,并设置远程访问端口。
里面的服务配置里面启用TCPIP协议:
IPALL就可以了。
4、防火墙设置。
如果在远程电脑使用ssms测试连接不上,那就需要设置一下WIN7的防火墙了,在防火墙的高级设置里面,入站规则和出站规则,分别加入1433的端口允许,下图以出站规则为例。
你也可以直接关闭防火墙,
这样就不用设置了
访问类型选择端口,点下一步
端口根据上面设置的,这里是1433,然后点下一步
操作里面选择允许连接,然后点下一步
配置文件全选,点下一步
这里随便起个名字,然后点击完成,就设置好了。