WinCC基于MSComm的串口通信

已锁定

迷 芒

  • 帖子

    315
  • 精华

    0
  • 被关注

    18

论坛等级:侠客

注册时间:2010-07-02

普通 普通 如何晋级?

WinCC基于MSComm的串口通信

678

3

2018-06-25 23:17:52

大家好!

       近期项目上一有一台称量设备是串口通信需要接入系统,但只有运行WinCC的电脑才有串口,所以就想着在WinCC上利用MSComm控件来读取串口数据。

       根据网卡相关资料,我先注册了MSComm控件,后通过VB程序来打开控件,程序如下:

         

Sub OnOpen()              

  

  Dim objMSComm1, tagConnection

  

  Set objMSComm1 = HMIRuntime.Screens("Home").ScreenItems("MSComm1")

  

  If objMSComm1.PortOpen = False Then

     objMSComm1.Commport = 2

     objMSComm1.Settings = "9600,N,8,1"

     objMSComm1.RThreshold = 1

     objMSComm1.SThreshold = 1

     objMSComm1.InBufferCount = 0

     objMSComm1.InputLen = 0

     objMSComm1.PortOpen = True

     HMIRuntime.Tags("UA2").Write 88

  Else 

  End If 

 End Sub

再通过按钮单击事件来发送命令,程序如下:

Sub OnClick(ByVal Item)                          

Dim MSComm1

Dim SendData 


Set MSComm1 = HMIRuntime.Screens("Home").ScreenItems("MSComm1")

If MSComm1.PortOpen = True Then 

   MSComm1.Output = "SI" & vbCrLf 

   HMIRuntime.Tags("UA2").Write 5

Else 

   HMIRuntime.Tags("UA2").Write 10

End If 

End Sub

但在测试的程序,发现一个问题,就是当按下发送按钮后,发送指令的程序会执行一次,将命令字符传送到发送缓存区,但数据并没有发从串口发出。当我从主画面切换到其他画面时,数据才从串口发出。这样也就需要切换画面才能发送数据,个人觉得这个情况不正常。所以特此向各位请教。


WinCC基于MSComm的串口通信 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32644条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。