回复:再说说WINCC与串口通讯

RyanWong

  • 帖子

    111
  • 精华

    2
  • 被关注

    9

论坛等级:游侠

注册时间:2010-12-05

普通 普通 如何晋级?

发布于 2016-06-15 09:24:15

14楼

展开查看
以下是引用RyanWong在2016-06-15 09:13:18的发言 >13楼

好像ADO可也以访问WINCC的SQL数据库,只是SQL语句不是标准的,之前好像是在e10000上见人有分享,因为我用不到所以就没有写代码测试,如果能用ADO直接访问就方便多了

以下是引用拾起在2016-06-15 08:08:56的发言 >12楼:可能如你所说,PC...

引用12楼详细内容:

可能如你所说,PC的负载确实会重,因为所有的后台数据都在这台电脑处理。WINCC的串口数据放在画面中,按西门子的说法,不与全局脚本影响,所以可能就是你说的那种,中断产生到执行中断程序(脚本)有一定的延时时间,不排除VBS的准备时间长于硬件接受字符的时间。


关于用VB向数据库写数据,当下不推荐用用户归档。

7.0以上的版本均安装有Connectivity Pack软件,可以直接访问数据库。

以下是成功的部分代码,仅供参考:

sPro = "Provider=SQLOLEDB.1;"

sDsn = "Integrated Security=SSPI;Persist SecurityInfo=False;"

sSer = "Initial Catalog=MFS;Data Source=hyl\SQLEXPRESS;"

sCon = sPro + sDsn + sSer

'MsgBox 3

'sCon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog=Nexteer_LTS;Data Source=.\WINCC;"

'//定义服务提供者

'//Private Const conn As String = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;

'//Initial Catalog=Nexteer_LTS;Data Source=.\WINCC;"

Set conn = CreateObject("ADODB.Connection")

Set rs = CreateObject("ADODB.recordset")

'MsgBox 0

conn.ConnectionString = sCon

'MsgBox 1

conn.Open 


以下是引用RyanWong在2016-06-14 16:20:35的发言 >9楼:这么好的帖子应该加...

引用9楼详细内容:

这么好的帖子应该加精啊!

VB用和很少,一直用C,现在工作也不用WINCC了,改用VS了。

RThreshold属性有点怪怪的哦!

我感觉RThreshold = 1,只是告诉系统接收到1个字节时产生事件中断,

但事件是基于消息的,可能有一定的延时,当系统在做这些工作的时候硬件仍然在接收数据

当系统经过一系列消息传递等过后硬件已经把所有数据都接收完了。

反正我做过实验在.NET下用TCP接收数据差多不就有2ms的延时。

但9.6K的速率1ms也传不了几个字节吧!是不是你PC上负载比较重啊,延时较多呢?

刚才又仔细看了一下你贴的代码,这个Connectivity Pack软件应该就是用来翻译SQL语句的!

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3368条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。