谁知道Wincc与PIC18系列单片机如何通讯?

正在做一个项目要求Wincc能够与PIC18系列的单片机通过串口通讯,但是不知道如何实现。有谁能够帮我解决这个问题?

问题补充:
通过MODBUS rtu 协议传输,协议中说到数据帧之间以3.5个字符为间隔,3.5个字符传输的时间就1.5ms,这么短的时间,wincc能够捕捉到吗?

最佳答案

能做到,而且方法很多:
  1.可以用WinCC+MsComm控件直接编程读取
  2.用VB/VC+MsComm控件读取后通过OPC/DDE/OLE等其他方式再转至WinCC。

  用MsComm控件怎么做串口通讯应该不用我说了吧,^_^,网上的代码一搜一大框。

  第1种方法:WinCC支持VBS,也支持Windows控件,因此使用方法跟VB差不多。发送需要用全局脚本定时发送:
  Dim oMsComm
  Set oMSComm = HMIRuntime.Sceens("CommPdl").ScreenItems("MSComm1") '#获取MsComm控件
  If oMsComm.PortOpen = True Then '#判断串口是否已经打开
   oMsComm.Output = "Sending Char" '#发送代码
   ........
  End If
  如通讯成功并接收到字节时,将触发控件的Events->Object Events -> OnComm事件,在此编程接收字节并进行校验即可。
  Sub OnComm(Byval Item)     
  'HMIRuntime.Trace  Item.Input & vbCrLf
  .......你的校验代码
  End Sub
  该方法可能会占用WinCC大量资源,且稳定性较差。

  第2种方法:VB/VC通过MsComm控件将数据读上来后,可通过OPC/DDE/OLE将数据传递给WinCC。OPC Client方式网上有现成代码,不过较为复杂。DDE已经没有多少人用了,最简单的应该是OLE方式了。
  这里以VB6为例,选择工程 -> 引用,引用WinCC HMIRuntime 1.0 Type Library,下面是如何将值传给WinCC的Tag
   Dim oWinCCRT As New CCHMIRUNTIME.HMIRuntime
     oWinCCRT.Tags("MyTag").Write 100.0 '这里改成你自己的Tag和值就可以了。
  

 补充:没有问题的,其实时间是由Master来掌握的。如果你对WinCC不放心,那就用VB好了,^_^。

提问者对于答案的评价:
专业,认真。谢谢啦!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc276308.html

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

相关推荐

  • wincc方面的问题

    怎样把其他格式的图片导入库里面 最佳答案 用画图板或者其他图形工具转换成wincc支持的格式,再粘贴到图形文件夹里就可以了 提问者对于答案的评价:好,谢谢

    SIMATIC WinCC 2019年6月11日
  • 谢谢各位了

    怎么搭建就是本地有一台电脑的wincc我想在另一台电脑上可以看到这个wincc画面的模拟量监控应该怎么做呢不需要控制只是监控 最佳答案 在本地电脑上安装一个向日葵软件客户端,另外一…

    SIMATIC WinCC 2017年6月9日
  • wincc如何读取MDB和csv格式的数据?

    大家好!MES系统把数据以MDB文件和CSV文件这两种格式发到运行wincc的电脑上,wincc要怎样才能读取这两种文件的数据呢?怎样转发给PLC呢? 最佳答案 1、MDB文件是a…

    SIMATIC WinCC 2020年11月1日
  • wincc如何取消动态向导生成的功能?

    用动态向导生成的点鼠标右键退出运行,想取消如何操作? 最佳答案 打开属性,在里面的点鼠标动作后将此动态删掉就可以了 提问者对于答案的评价:谢谢!

    SIMATIC WinCC 2019年6月11日
  • WINCC程序无法正确打开

    我安装玩WINCC 6.0后,在打开以前的WINCC程序,发现出现了好多???,还有什么无法打开组态数据库?是否用本地数据库? 最佳答案 1、打开编辑的画面的时出现???…

    SIMATIC WinCC 2019年6月11日
  • S7300软冗余中WINCC编程的问题

    我的是两个315-2dp组成的软冗余系统,目前硬件没有问题,系统之间切换正常——比如停止主系统,冗余系统会自动启动并工作。但是WINCC上的编程却一直没有解决。在WINCC界面上上…

    SIMATIC WinCC 2019年6月11日
  • y-link 模块后面接入的设备

    ylink后面一般大家都是接dp 从站 让他接入冗余plc系统,但是我想做软冗余系统时能否在它后面接入pc站 让两路dp 网合为一路与win…

    SIMATIC WinCC 2021年7月5日
  • VBS下标越界

    按照这个文档学习实验的,出现下标越界问题。文档链接:https://support.industry.siemens.com/cs/document/77940055/%E5%9C…

    2021年7月5日
  • 求OS站画面帮助菜单的具体路径

    求OS站画面帮助菜单的具体路径,如在操作员站打开某个电机的DCS MOTOR BOX,点击画面右上角的“?”就会打开一个DCS操作员帮助文档,请问这个文档是存放…

    SIMATIC WinCC 2019年6月10日
  • WINCC 冗余11

    2个WINCC 冗余测试 1.PC系统XP可以不? 2.按照深入浅出步骤书,组态客户机—-“服务器数据”编辑器载入服务器(缺省主站的数据包)—…

    SIMATIC WinCC 2019年6月11日