TIA RT Advanced使用MSComm为什么只能以二进制形式接收单个字符?

已锁定

zhym

  • 帖子

    1
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2021-10-27

普通 普通 如何晋级?

TIA RT Advanced使用MSComm为什么只能以二进制形式接收单个字符?

166

1

2021-11-02 15:22:50

TIA V16 RT advanced用MSComm串口通信,只能接收调试工具发送的单个字符(或单个十六进制数),若一次发送多个字符(>=2个字符),则显示InBufferCount为0;

若RThreshold=2,则还是只能发送单个字符,但识别(显示)时,是按Unicode码显示的(如:0x61,0X00,对应'a'因为TIA RT advanced只支持WString,再发送,则会覆盖‘a’)

' 打开串口,因为直接操作PortOpen属性无效。

objMSComm1.CommPort=3
 objMSComm1.Settings="9600,N,8,1"
 objMSComm1.RThreshold=1
 objMSComm1.SThreshold=0
 ' 以二进制形式接收
 objMSComm1.InputMode=1
 objMSComm1.InBufferCount=0

' 每次读取全部数据
 objMSComm1.InputLen=0
 ' objMSComm1.Enabled=True

' 打开串口
 tagPortOpen.Value=True


OnComm部分:

' 读取InBufferCount值

tagCount.Value=objMSComm1.InBufferCount
  ' 读取接收数据
  strTemp=CStr(objMSComm1.Input)

' 将接收数据显示
  tagRecBuffer.Value=strTemp



若InputMode=0,只能正确接收调试工具第一次发送的单个字符,再发送时,InBufferCount就变为0了。

TIA RT Advanced使用MSComm为什么只能以二进制形式接收单个字符? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有31079条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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