文档详情

通过MSComm控件进行WINCC串口通讯总结 .doc

发布:2016-09-11约字共31页下载文档
文本预览下载声明
通过MSComm控件进行WINCC串口通讯总结 目的:通过MSComm控件实现WINCC串口通讯(C脚本和VB脚本两种方式)测试环境:操作系统 win7 WINCC版本:V7.2辅助工具:串口调试工具 ASPD虚拟串口工具测试WINCC组态画面: 测试实验过程画面: 1、通过VB实现串口通讯画面对象“打开画面”VB事件脚本:Sub OnOpen() Dim objMSComm, tagConnectionSet objMSComm = hmiRuntime.Screens(“串口通讯VB版”).ScreenItems(“COM”) Set tagConnection = HMIRuntime.Tags(“tagConnection1”)If objMSComm.PortOpen = False Then ‘ Assign com port numberobjMSComm.Commport = 4’ Values: 9600 Baud, N - No Parity, 8 - Databit, 1 - StopbitobjMSComm.Settings = “9600,N,8,1”objMSComm.RThreshold = 1objMSComm.SThreshold = 0objMSComm.InBufferCount = 0objMSComm.InputLen = 0objMSComm.PortOpen = TruetagConnection.Write (True)HMIRuntime.Trace(“Port open.” amp; vbCrLf)ElseHMIRuntime.Trace(“Port is already opened.” amp; vbCrLf)End IfEnd SubMSComm控件OnComm对象事件:Sub OnOpen() Dim objMSComm, tagConnectionSet objMSComm = HMIRuntime.Screens(“串口通讯VB版”).ScreenItems(“COM”) Set tagConnection = HMIRuntime.Tags(“tagConnection1”)If objMSComm.PortOpen = False Then’ Assign com port numberobjMSComm.Commport = 4’ Values: 9600 Baud, N - No Parity, 8 - Databit, 1 - StopbitobjMSComm.Settings = “9600,N,8,1”objMSComm.RThreshold = 1objMSComm.SThreshold = 0objMSComm.InBufferCount = 0objMSComm.InputLen = 0objMSComm.PortOpen = TruetagConnection.Write (True)HMIRuntime.Trace(“Port open.” amp; vbCrLf)ElseHMIRuntime.Trace(“Port is already opened.” amp; vbCrLf)End IfEnd Sub“SEND按钮”鼠标左键按下事件:Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim objMSCommDim strTemp,bufferHMIRuntime.Trace(“Communication!” amp; vbCrLf)Set objMsComm = HMIRuntime.Screens(“串口通讯VB版”).ScreenItems(“COM”)Set buffer = HMIRuntime.Tags(“Buffer1”)strTemp = buffer.ReadIf objMSComm.PortOpen = True ThenIf strTemplt;gt;”“ thenobjMSComm.Output=strTempEnd IfEnd IfEnd Sub2、通过C脚本实现串口通讯画面对象“打开画面”C事件脚本:#include “apdefap.h”void OnOpenPicture(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#define GetObject GetObject__object *pdl=NULL; __object *pic=NULL; __object *obj=NULL;int i,j; pdl = __object_cr
显示全部
相似文档