请问用WINCC软件如何做一个类似串口调试助手的东西,实现简单接收和发送功能即可。
我在WINCC中加入了MSComm控件,想用VB编程实现?
问题补充:
我建立了两个内部变量,串口输出COM_OUT;输入COM_IN。
添加按钮,并对MSComm初始化,
sub onlbuttondowm(byval item,byval flag,byval x,byval y)
dim mscomm
set mscomm=screenitems("mscomm")
mscomm. comport = 1 ;使用串口1
mscomm.settings=“9600 ,n ,8 ,1”;设置传输波特率,数据位等
Mscomm. Inputmode = 1 ;设置数据输入模式为二进制数据格式
Mscomm. portopen = true ;开始串口发送
end sub
关键如何把需要的字符串进行读取和发送,这块请高手详细讲解一下!!谢谢
最佳答案
用VBS写吧!
论坛上的例子:
[转]
偶然在微软网站上发现了此问题的解决方法:
下载一个ADS.DLL,注册;
在WINCC中用VBS脚本,比如:
Dim cnvt
Dim Temp()
Dim obj_s_Com
Dim sOutput
Set cnvt = CreateObject("ADs.ArrayConvert")
Set obj_s_Com = ScreenItems("m_Com")
obj_s_Com.CommPort = 1
Redim Temp(2)
Temp(0) = &heb
Temp(1) = &h90
Temp(2) = &h71
Dim v,v1,v2,v3,v4
v = Temp
HMIRuntime.Trace "The V is:" & VarType(v) &" " &TypeName(v) &vbCrLf
''obj_s_Com.Output = v
v1 = cnvt.CvOctetStr2vStr(v)
HMIRuntime.Trace "The V1 is:" & VarType(v1) &" " &TypeName(v1) & " " &vbCrLf
''obj_s_Com.Output = v1
v2= cnvt.CvStr2vOctetStr(v1)
HMIRuntime.Trace "The V2 is:" & VarType(v2) &" " &TypeName(v2) & " " &vbCrLf
''obj_s_Com.Output = v2
v3 = cnvt.CvOctetStr2vHexStr(v)
HMIRuntime.Trace "The V3 is:" & VarType(v3) &" " &TypeName(v3) & " " &vbCrLf
''obj_s_Com.Output = v3
v4 = cnvt.CvHexStr2vOctetStr(v3)
HMIRuntime.Trace "The V4 is:" & VarType(v4) &" " &TypeName(v4) & " " &vbCrLf
obj_s_Com.Output = v4
我们可以发现比如>&H7E的ANSI字码也可以通过串口正常发送。
这样从可行性上来讲,任何不同的串口通讯协议都可以在WINCC中采用MSCOMM控件加VBS脚本来实现。只要你不嫌麻烦,我们可以用小点数的WINCC来实现更多的外部数据量的采集。
不知大家以为然否?
VDS.DLL的下载地址是:http://support.microsoft.com/kb/250344/en-us
参考资料:http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=5&a_id=284783&s_id=0&num=12#anch
提问者对于答案的评价:
^_^
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc278930.html