Labview串口通信MSComm实现串口收发

这篇具有很好参考价值的文章主要介绍了Labview串口通信MSComm实现串口收发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本文介绍使用 ActiveX 控件 MSComm 实现高性能的串口收发。


一、什么是 MSComm

MSComm 作为一个串行通讯控件,每个 MSComm 控件,都对应一个串口,若需访问多个串口时必须使用多个 MSComm 控件。

MSComm 是 ActiveX 控件,可以在 PC 上控制串口数据的发送和接收,支持查询方式和中断方式(Windows 下称为事件驱动方式)。

  • 中断方式:当串口有数据到达或有数据写入到串口缓冲中时,就会触发中断,可以使用 OnComm 捕获事件并进行处理。这种方式响应及时,比轮询方式效率要高。
  • 查询方式:实际上仍热是事件驱动的,需要检查 CommEvent 属性值来查询事件。

二、MSComm 控件下载

点此链接:MSComm控件
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm

三、MSComm 控件的注册

1、将上面下载的 MSCOMM.SRG、MSCOMM32.DEP、MSCOMM32.oca、mscomm32.ocx 这四个文件放到 C:\windows\system32(32位系统)C:\Windows\SysWOW64(64位系统)目录下。

2、在“此目录“下找到“cmd.exe”文件,右键以管理员身份运行,在弹出的对话框内输入:regsvr32 mscomm32.ocx 后,回车。控件注册成功后,如下图。
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm

四、使用 MSComm 控件

1、前面板放置控件

①、打开前面板,右键 -> 容器 -> ActiveX容器
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm
②、右键 ActiveX容器 -> 插入 ActiveX对象
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm
③、选择 Microsoft Communication Control,version 6.0,点击确定,得到下图的 MSComm 控件
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm
④、右键点击 MSComm 控件,选择“属性浏览器”,可得该控件的属性
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm

2、MSComm 的常用属性

  • CommPort:设置并返回通讯端口号
  • Settings:以字符串形式设置并返回波特率、奇偶校验、数据位、停止位
  • PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口
  • Input:从接收缓冲区返回和删除字符
  • InputLen:设置并返回 input 属性从接收缓冲区读取的字符数
  • Output:向传输缓冲区写一个字符串
  • RThreshold:在设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前,设置并返回要接收的字符数
  • CTSHolding:确定是否可通过查询 CTS 线的状态发送数据
  • SThreshold:设置 CommEvent 属性为 comEvSend 并产生 OnComm 事件之前,设置并返回传输缓冲区中允许的最小字符数
  • CDHolding:通过查询 CD 线的状态确定当前是否有传输
  • DSRHolding:确定 DSR 线的状态
  • EOFEnable:确定在输入过程中 MSComm 控件是否寻找文件结尾(EOF)
    Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm

3、MSComm 控件的事件

MSCOMM控件只使用一个事件 OnComm,用属性 CommEvent 的十七个值来区分不同的触发时机。主要有以下几个:

  • CommEvent=1时:传输缓冲区中的字符个数已少于 Sthreshold (可设置的属性值)个
  • CommEvent=2时:接收缓冲区中收到 Rthreshold(可设置的属性值)个字符,利用此事件可编写接收数据的过程
  • CommEvent=3时:CTS线发生变化
  • CommEvent=4时:DSR线发生变化
  • CommEvent=5时:CD线发生变化
  • CommEvent=6时:检测到振铃信号
    另外十种情况是通信错误时产生,即错误代码。

五、实现串口收发

1、搭建虚拟串口

参考我的上一篇博客:https://blog.csdn.net/qq_41839588/article/details/131936554?spm=1001.2014.3001.5501

2、发送测试

程序中使用的是 COM8 口,因此开一个虚拟串口 COM9,COM9(发) --> COM8(收)
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm

3、接收测试

程序中使用的是 COM8 口,因此开一个虚拟串口 COM9,COM8(发) --> COM9(收)
Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm

4、后面板核心程序框图

Labview串口通信MSComm实现串口收发,LabVIEW,labview,串口通信,MSComm

六、程序自取

链接:https://download.csdn.net/download/qq_41839588/88104522


我的qq:2442391036,欢迎交流!文章来源地址https://www.toymoban.com/news/detail-608821.html


到了这里,关于Labview串口通信MSComm实现串口收发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LabVIEW平台下的TCP数据通信实现

    LabVIEW是一种流行的图形化编程语言和开发环境,广泛应用于各种科学与工程领域。在LabVIEW中,可以使用TCP/IP协议实现网络通信,并通过TCP数据通信在不同设备之间传输数据。本文将介绍如何在LabVIEW平台下使用TCP/IP协议进行数据通信,并提供相关源代码示例。 TCP数据通信的基

    2024年02月03日
    浏览(35)
  • LabVIEW专栏四、串口

    该节目标编写一个串口调试VI。 自动化行业中的上位机一般会用到两种接口,一个是串口,一个是网口。 本文介绍的是串口,总的来说,使用串口成本较低,一般测试仪器都会配备一个串口。 在工控机上的串口是公口,如图: 一般两头为一公一母,如图: 1、RS232协议传输距

    2024年04月14日
    浏览(25)
  • 【经验贴】labview visa识别不了串口

    问题描述: 340驱动安装好,labview visa安装好之后,NI max无法识别出串口  点开设备管理器,发现没有com接口 解决方案 要插入对应的串口设备,USB会自动识别设备,并启动CH340驱动,刷新后如下图所示 此后即可正常通信

    2024年02月11日
    浏览(32)
  • LabVIEW高级CAN通信系统

    LabVIEW高级CAN通信系统 在现代卫星通信和数据处理领域,精确的数据管理和控制系统是至关重要的。设计了一个基于LabVIEW的CAN通信系统,它结合了FPGA技术和LabVIEW软件,主要应用于模拟卫星平台的数据交换。这个系统的设计不仅充分体现了FPGA在数据传输中的高效性,而且展示

    2024年01月24日
    浏览(29)
  • LabVIEW VISA找不到串口,刷新也没用 | 问题解决

    在使用LabVIEW制作串口助手程序时遇到问题,怎么刷新也找不到COM资源。但是在串口助手软件上又可以识别到串口,查看帮助手册发现了原因——没有安装NI-VISA驱动程序。 回想起新电脑是只安装了本体,忘记安装NI-VISA,估摸着大概是这个问题。 点击链接进入下载网址 官网

    2024年02月12日
    浏览(37)
  • Labview通过OPC与S1200通信

    一、配置PC的IP地址  二、S7-1200的配置 通过博图,在PLC CPU的属 性-常规-保护里勾选“允许从 远程伙伴使用PUT/GET通信 访问 三、新建一个DB1数据块,在DB1里新建一个变量,例如 名称为“ASD”,类型为“Word”    四、右击“DB1”,在常规-属性里去掉“优化的块访问” 的勾选

    2024年02月12日
    浏览(28)
  • 基于Labview的TCP通信(STM32为TCP客户端,Labview的上位机为TCP服务器端)

    使用ESP-01S的WIFI模块,将该WIFI模块设置成TCP的客户端,WIFI模块需要连接热点,和电脑连接的热点处于同一局域网上(也可以使用花生壳软件,进行网络传统,就不需要连接同一网络,以实习远程TCP模式通信)。在PC端有Labview软件的TCP通信的服务器端,在这里主要介绍的是TC

    2024年02月12日
    浏览(45)
  • LabVIEW与汇川H5U PLC通信,报文读取,安全稳定

    LabVIEW与汇川H5U PLC通信 官方协议,报文读取,安全稳定。 通讯配置,辅助测试。 无程序网络通讯实现。 常用功能一网打尽。 1.命令帧读写。 2.支持 I16 I32 Float 批量读写。 3.支持字符串读写。 4.支持XYMBool批量读写。 5.支持YM单点读写。 程序源码,命令帧文本编写,不调用dl

    2024年02月20日
    浏览(88)
  • 【LabVIEW FPGA入门】LabVIEW FPGA实现I2S解码器

            该示例演示了如何使用 LabVIEW FPGA 解码 I²S 信号。该代码可用于大多数支持高速数字输入的LabVIEW FPGA 目标(例如R 系列、CompactRIO)。I²S 用于对系统和组件内的数字音频数据进行编码。例如,MP3 播放器或 DVD 播放器内部的数字音频通常使用 I²S 协议进行通信。   

    2024年01月17日
    浏览(46)
  • 【LabVIEW FPGA入门】使用CompactRIO进行SPI和I2C通信

            NI提供了 SPI and I2C Driver API:下载SPI and I2C Driver API - NI         该API使用FPGA数字I / O线与SPI或I2C设备进行通信。         选择数字硬件时,要考虑三个选项: NI Single-Board RIO硬件可同时使用SPI和I2C驱动程序。 NI 9401 C系列模块与SPI驱动程序配合使用效果最佳。

    2024年02月02日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包