恭喜,你发布的帖子
发布于 2016-06-15 08:08:56
12楼
这么好的帖子应该加精啊!
VB用和很少,一直用C,现在工作也不用WINCC了,改用VS了。
RThreshold属性有点怪怪的哦!
我感觉RThreshold = 1,只是告诉系统接收到1个字节时产生事件中断,
但事件是基于消息的,可能有一定的延时,当系统在做这些工作的时候硬件仍然在接收数据
当系统经过一系列消息传递等过后硬件已经把所有数据都接收完了。
反正我做过实验在.NET下用TCP接收数据差多不就有2ms的延时。
但9.6K的速率1ms也传不了几个字节吧!是不是你PC上负载比较重啊,延时较多呢?
可能如你所说,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
请填写推广理由:
分享
只看
楼主