热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅谈虚拟串口技术应用

一、何为虚拟串口虚拟串口是用操作系统的虚拟驱动技术产生的串口(COM口),相对于计算机本身的硬件串口(COM1等)来说虚拟串口并不对应一个物理上的串口,但是计算机应用软件可以像硬件串口一样地使用虚拟串

一、何为虚拟串口

虚拟串口是用操作系统的虚拟驱动技术产生的串口(COM口),相对于计算机本身的硬件串口(COM1等)来说虚拟串口并不对应一个物理上的串口,但是计算机应用软件可以像硬件串口一样地使用虚拟串口,对于串口软件来说虚拟串口和硬件串口并没有区别。

二、虚拟串口的应用场景

在很多应用环境中,终端设备的管理、通信等接口普遍为串行接口方式,这些接口通常用于本地数据通信。随着通信网络建设的飞速发展和以太网技术的普及,更多跨网、跨地区的数据通信需求逐渐增加,传统的串口通信方式已无法适应新的用户需求和传输网络环境,但是大量的工控设备、复式终端等仍然采用串口通信方式,并且会继续使用很长时间,为了使这些基于串口的设备能够适应新的网络环境,一种有效的方式是采用虚拟串口以及串口-网络转换模块配合,实现串口设备信息的网络传输。这样既能够方便的解决串口终端设备的网络通信问题,又极大程度的保护了用户的原有投资。

三、虚拟串口的应用实例对比

可编程序控制器(PLC)是目前广泛运用于工业自动化的器件,通常情况,将一条数据电缆连接于PLC和主机的串口(例如COM1)之间,编程软件会通过串口找到下位设备(PLC),从而完成对PLC的程序写入或运行监控。在这里,COM1是计算机的一个实际的串口;当PLC与电脑相隔甚远(设备所在地与制造商之间的距离),我们将无法使用通常的方式来进行上述操作。为此,我们让主机与PLC之间通过Intenet完成通讯,PLC端需要安装一只无线远程模块,主机使用虚拟串口通过Intenet对远程模块收发数据;而PLC则使用远程模块通过Intenet对主机收发数据。下图为以上两种情况的对比。

对比图

虚拟串口的运用领域十分广泛,不仅仅局限于PLC远程通信,也可以用在运行状态监控、故障分析处理、程序升级等环境中,通过虚拟串口,所有这一切只需要在办公室即可完成。

 

作者:赵玉雷  天津通广集团数字实验室软件工程师

商业转载请联系博主获得授权,非商业转载请注明出处!


推荐阅读
  • 本文将探讨Java编程语言中对象和类的核心概念,帮助读者更好地理解和应用面向对象编程的思想。通过实际例子和代码演示,我们将揭示如何在Java中定义、创建和使用对象。 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 本文详细介绍了如何在不同操作系统和设备上设置和配置网络连接的IP地址,涵盖静态和动态IP地址的设置方法。同时,提供了关于路由器和机顶盒等设备的IP配置指南。 ... [详细]
  • Python实现斐波那契数列的方法与优化
    本文详细介绍了如何在Python中编写斐波那契数列,并探讨了不同的实现方法及其性能优化。通过递归、迭代和公式法,读者可以了解每种方法的优缺点,并选择最适合自己的实现方式。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文详细介绍了如何在 MySQL 数据库中进行表结构的修改,包括添加字段、修改字段类型和重命名列名等操作,旨在为开发者提供实用的技术参考。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]
  • 本文介绍如何使用.NET Framework开发一个简单的Windows Forms应用程序,以实现图形在窗口内的动态移动。文章详细描述了代码结构、关键逻辑以及最终的实现效果。 ... [详细]
  • 本题探讨了在大数据结构背景下,如何通过整体二分和CDQ分治等高级算法优化处理复杂的时间序列问题。题目设定包括节点数量、查询次数和权重限制,并详细分析了解决方案中的关键步骤。 ... [详细]
  • 在进行QT交叉编译时,可能会遇到与目标架构不匹配的宏定义问题。例如,当为ARM或MIPS架构编译时,需要确保使用正确的宏(如QT_ARCH_ARM或QT_ARCH_MIPS),而不是默认的QT_ARCH_I386。本文将详细介绍如何正确配置编译环境以避免此类错误。 ... [详细]
  • JSOI2010 蔬菜庆典:树结构中的无限大权值问题
    本文探讨了 JSOI2010 的蔬菜庆典问题,主要关注如何处理非根非叶子节点的无限大权值情况。通过分析根节点及其子树的特性,提出了有效的解决方案,并详细解释了算法的实现过程。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文详细探讨了 org.apache.hadoop.ha.HAServiceTarget 类中的 checkFencingConfigured 方法,包括其功能、应用场景及代码示例。通过实际代码片段,帮助开发者更好地理解和使用该方法。 ... [详细]
author-avatar
wyyxit
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有