机器视觉软件开发系列—上位机软件整体框架(上位机软件架构)

典型的机器视觉软件应用中,典型的构造如下

机器视觉软件开发系列---上位机软件整体框架(上位机软件架构)

视觉系统基础构造

典型应用中,下位机或者光电传感器触发上位机(视觉软件)拍照,上位机进行拍照、算法处理,处理结果给到下位机或者通过IO的方式。 上图成像系统1、3中图像数据可以通过很多种方式传输,常见的有Gige、USB3.0、1394a1394b、CameraLink、CoaXPress等常见的接口,最常用的网口GiGe和USB3.0接口。图像数据获取成功后算法层面可以使用对应的算法,看个人习惯,我常用halcon、OpenCV或者VisionMaster。

机器视觉软件开发系列---上位机软件整体框架(上位机软件架构)

整体框架流程

一个视觉软件(上位机)可以分为上面一个总的架构,UI层和运行流程,UI层是来进行参数配置界面展示数据的,运行流程总的流程组合,线程运行。

通常情况下,UI层我们看到的数据都是通过winform或者qt 拉取对应的控件进行设计,然后把数据保存到数据中心,这个时候数据在内存中,同时也会保存数据到本地,数据的存储格式常见的有xml、ini、数据库存储等方式。UI层设置好数据后,把数据加载到数据中心,数据中心把数据加载到运行流程,流程数据就会跟着改变的参数运行。

运行流程中通常是对流程的组合,初始化连接的时候会把相机、数据库、IO、PLC、MES等各种相关的资源进行连接,初始化OK后,运行取流线程、算法线程、存图线程。

在取流线程中,这里面就会跟下位机打交道了,在这里下位机通过读写寄存器的方式,取流线程会一直读PLC的寄存器来进行获取拍照信号。大概流程我以伪代码表示

while(true)

{

sleep(10);

If(!m_bExit)

Break;

Bool bCapture = m_Plc.ReadCaptureSignal();

If(!bCapture)

Continue;

//拍照

Image img = m_Camera.GetCaptureTimeout();

//其他队列

}

m_plc是封装的一个PLC通信的模块,接口ReadCaptureSignal读取拍照寄存器,如果获取到了就返回值,立即置位寄存器

当然,这只是一个总体的架构,细致的工作还有很多,我大大小小参与过上百个项目,有标准项目、非标项目、还有VisionMaster也有参与过开发,整体来看,只是每个软件复杂度不一样,拆开模块看,都是一样的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月2日 上午11:30
下一篇 2024年5月2日 上午11:41

相关推荐

  • 项目进度管理6个工作步骤(项目管理 进度 广州)

    项目管理进度广州项目管理进度广州某俱乐部、广州某网络科技公司负责运营,获得各类电竞俱乐部合作。在比赛中,赛事运营公司可以自主设置电竞俱乐部的注册公告,然后与用户签订协议,获得比赛的…

    科研百科 2024年8月1日
    2
  • 金华工地项目管理系统

    金华工地项目管理系统 随着城市化的进程,建筑行业也迎来了快速发展的时期。在建筑行业中,工地项目管理系统是一个非常重要的工具,它可以帮助项目经理和工程师更好地管理项目,提高生产效率和…

    科研百科 2025年7月6日
    1
  • 互联网运营项目管理系统

    互联网运营项目管理系统: 助力互联网运营效率提升 随着互联网的不断发展,越来越多的企业开始重视互联网运营项目的管理。传统的手动管理模式已经无法满足现代企业的需求,因此,互联网运营项…

    科研百科 2025年6月29日
    0
  • 金林区:“三举措”扎实推进党建引领基层治理提效能(推动党建引领基层治理)

    近年来,金林区在党建引领基层治理中积极探索创新,以工作机制为抓手、突出从严治党、创新党建品牌、高质量发展组织保障和社区力量。 织密组织细网,增强基层党建作用。建强支部战斗堡垒,深入…

    科研百科 2023年11月17日
    163
  • 九江市科技局:念好“五字经”,打造模范机关

    九江新闻网讯(刘成海 何文祥)为深入贯彻落实打造“让党放心、人民满意”模范机关,筑牢服务人民理念,围绕全面建设“六个江西”奋斗目标,紧扣九江科技“一二三四五”工作任务,聚焦“讲政治…

    科研百科 2024年4月6日
    109
  • 藤校教授线上科研项目

    藤校教授线上科研项目 随着科技的不断发展,线上学习已经成为了越来越多学生和教师的选择。今天,我们将会介绍一位藤校教授的线上科研项目,这也是一项非常具有挑战性和创新性的项目。 该项目…

    科研百科 2025年4月25日
    1
  • 华为 科研项目决策

    华为科研项目决策: 探索未来科技的路线图 华为作为全球领先的科技公司,一直致力于推动科技创新和数字化转型。在近年来的发展过程中,华为不断开展新的科研项目,旨在探索未来科技的发展方向…

    科研百科 2025年2月23日
    7
  • 语委科研项目选题

    项目名称: 汉语语言资源数字化与传承发展研究 项目背景: 汉语是世界上使用人口最多的语言之一,也是联合国官方语言之一。随着中国经济的崛起和文化交流的加强,汉语的使用和发展越来越重要…

    科研百科 2025年2月20日
    1
  • 客户端是前端还是后端

    客户端是前端还是后端? 在软件开发中,客户端是指用户与应用程序之间交互的界面。客户端可以是应用程序,也可以是网站或游戏。但是,通常情况下,客户端是指用户与应用程序之间的交互界面。 …

    科研百科 2024年10月9日
    9
  • 阿里巴巴低代码开发师证书

    阿里巴巴低代码开发师证书:一份价值百万的宝藏 随着数字化时代的到来,低代码开发成为了一种越来越受欢迎的技术趋势。越来越多的企业开始采用低代码技术来加速数字化转型,提高生产效率和降低…

    科研百科 2024年11月28日
    41