wincc串行通讯

请问用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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐

  • wincc 画面隐藏

    我做了一个水流动的C语言脚本,我想让它在取得一个信号后再显示并且流动,在没有取得信号的时候是隐藏起来的。想问一下C语言脚本怎么编写隐藏功能? 最佳答案 那你就在取得这个信号的时候置…

    SIMATIC WinCC 2017年11月13日
  • wincc归档数据采集周期是否全部同步,没有时间差?

    Wincc归档变量中变量A,B,C;A=15;B=30;C=B-A(PLC里处理B-A)归档结果A-15,B-30没问题,但C的归档值偶尔并不是B-A的值,AB值是压力传感器值,变…

    SIMATIC WinCC 2020年11月1日
  • 我用研华的控制器,只是组态用wincc能不能实现wincc和其他控制器的通讯

    我用研华的控制器,只是组态用wincc能不能实现wincc和其他控制器的通讯我不太懂 最佳答案 1. 研化工控机作为PC安装WinCC使用是没有问题的,只是它和不少西门子…

    SIMATIC WinCC 2019年6月11日
  • 从WINCC里调用PLC变量

    从WINCC里调用PLC变量,按照西门子网站上的文件做。选定了PLC的变量后,要把它传送到WINCC里面去。文件上说在SIMATIC Manager的菜单中选“Optio…

    SIMATIC WinCC 2019年6月11日
  • TP-178中日期和时间域的使用问题

    我使用TP178中的时间日期在触摸屏上显示,我的系统时间是正确的,不知道为什么到触摸屏中时间就是不正确。我在日期时间域中的设置如下: 单击属性视图中的“常规”组。&nbs…

    SIMATIC WinCC 2019年6月11日
  • 调试wincc7.3做个不断变化的数值

    因编辑wincc7.3调试需要个不断变化的数值,来模拟现场不断变化的数值,不知道wincc7.3如何制作一个不断自加的数值。有知道的大神指点指点!! 最佳答案 添加一个VBS全局脚…

    SIMATIC WinCC 2020年11月1日
  • plc中的程序使用wincc来实现

    在wincc中我们可以使用c动作来实现对一个变量的控制这里我使用了一个c动作来控制电动机的启停。{BOOL temp;temp=GetTagBit("C_Tag…

    SIMATIC WinCC 2021年7月5日
  • wincc画面中的文字全部消失?

    运行wincc程序几年一直都正常,最近一天通过wincc程序开启设备,画面上的所有文字全部消失(其他都正常,能操作设备能读取PLC变量值),用画面编辑打开画面也看不见所有文字,拖拽…

    SIMATIC WinCC 2017年11月6日
  • 画面控制变频器

    我想从WINCC画面的输入输出域里输入数值(经常变化),传给PLC的DB块来实现变频器调速.这个过程想用C动作来实现,我只想用C动作来实现. 请大大们给我举个例子写出来,…

    SIMATIC WinCC 2019年6月11日
  • wincc 7.0 simatic security control

    从wincc 6.2开始好像就有这个simatic security control,安装结束后会有一个安全控制的对话框,要么应用,要么保存等,我想问…

    SIMATIC WinCC 2019年6月11日