上位机采用组态软件WinCC,针对串口操作,可以通过调用编写好的VB串口通讯程序来实现数据交换,也可以用全局脚本VBS实现对串口的访问,在WINCC图形编辑器中调用Active X控件MSComm,如添加按钮,按钮链接了一个VBS鼠标动作,主要是对串口进行初始化。在MSComm中组态了一个oncomm事件,利用事件触发的形式对串口进行读写操作。在按钮1的鼠标事件中做端口初始化,具体代码如下: Sub procedure20
,打开串口
Dim objMSComm1
Dim tagConnection Set objMSComm1 = HMIRuntime.Screens("Main").ScreenItems("MSComm1") Set tagConnection = HMIRuntime.Tags("Connection") If objMSComm1.PortOpen = False Then objMSComm1.Commport = 1 objMSComm1.Settings = "9600,e,7,1" objMSComm1.InputLen = 0 objMSComm1.PortOpen = True tagConnection.Write(True) HMIRuntime.Trace("Port open." & vbCrLf) Else HMIRuntime.Trace("Port is already opened." & vbCrLf) End If End Sub
Sub procedure1() ‘关闭串口 Dim objMSComm1, tagConnection Set objMSComm1 = HMIRuntime.Screens("Main").ScreenItems("MSComm1") Set tagConnection = HMIRuntime.Tags("Connection") If objMSComm1.PortOpen = True Then objMSComm1.PortOpen = False tagConnection.Write(False) HMIRuntime.Trace("Port close." & vbCrLf) End If End Sub