我现在也在做用VB与plc300的通信,麻烦请教下VB这边编程应考虑什么?多谢

兄弟们帮我教一下,我现在也在做用VB与plc300的通信,麻烦请教下VB这边编程应考虑什么?多谢
最新回答
青春还年少

2024-09-17 01:50:31

上位机采用组态软件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
明月本无心

2024-09-17 14:03:32

在vb中调用MSComm控件,设置好通讯波特率就行,我原来用它做过MODBUS通讯。