小目标检测(5)——有线硬触发和有线软触发架构学习

文章目录

    • 引言
    • 正文
      • PLC介绍
      • 有线硬触发
      • 有线软触发
      • 硬件接口
    • 总结
    • 引用

引言

  • 之前花了很多时间也就是仅仅看懂了基本代码,最近和老师交流之后,发现还有很多东西都需要弄.
  • 最终的灯检机,并不是直接接上计算机就使用的,并不是单纯通过计算机控制的,还有一个叫做PLC(可编程逻辑控制器),通过PLC来发送信号给工控机,相机和机械手,并不是仅仅通过计算机来控制这些的。这就需要重新学习了解一下,对应的组织架构,来重新编写程序了。之前并没有了解过,所以需要好好学习一下。
  • 这篇文章主要是介绍有线硬触发和有线软触发两种PLC常见的触发模式。我将结合相关基本概念,并以相机、总控机以及PLC三个元素画出两种触发模式图。

正文

  • 有线硬触发和有线软触发是与PLC(可编程逻辑控制器)结合使用的两种触发方式。这里首先介绍一下什么是PLC,然后在分别介绍有线硬触发和有线软触发两种触发方式。

PLC介绍

  • PLC(Programmable Logic Controller,可编程逻辑控制器)用于控制各种类型的机械设备,PLC可以通过编程来定制,以便自动控制各种设备和过程。

  • 具有如下特点

    • 实时操作:PLC设计用于实时操作,能够在毫秒级别的时间内响应输入信号的变化。
    • 可编程:PLC可以通过特定的编程语言(如Ladder Logic)进行编程,以便根据特定的需求和逻辑来控制设备
    • 多输入/输出(I/O)支持:PLC具有多个输入和输出端口,可以连接到各种传感器和执行器,以监控和控制机械设备。
    • 通信能力:许多PLC具有与其他PLC或计算机系统通信的能力,允许更复杂的控制和监控功能
  • 通过上面介绍,可以看到PLC作为整个系统的控制中心,能够有效对相机和工控机进行通信,并且进行有效的控制。我要做的就是如何在工控机上进行编程,控制好整个系统的正常运行。

在这里插入图片描述

有线硬触发

  • 定义
    • 由外部硬件提供触发信号
  • 特点
    • 速度快:因为直接通过接线链接,响应速度很快
    • 可靠性高:硬触发的物理链接十分稳定可靠
  • 应用场景
    • 在需要快速、精确和可靠响应的应用中,选择硬触发
  • 具体流程图
    在这里插入图片描述
  • 难点
    • 如何做到PLC和工控机之间的通信协调,确保能够第一时间通知PLC图片的拍摄结果

有线软触发

  • 定义

    • 通过软件信号触发的方式,一般是通过相关设备厂家提供的软件开发SDK指令
  • 特点

    • 灵活性高: 软触发允许更加灵活的配置和控制,可以轻松更改触发的条件和逻辑
    • 速度较慢:与硬件触发相比,软件触发的响应速度比较慢
    • 依赖软件:软触发的可靠性和性能
  • 具体通信流程图

    • 控制命令一般是通过通信协议进行发送,TCP协议或者串口通信。

在这里插入图片描述

硬件接口

  • 具体硬件接口图下
    • 相机是支持两种控制方式,分别是USB30.0还有IO接口,所以可以使用IO接口通过硬触发实现,也可以通过USB3.0实现软触发

在这里插入图片描述

总结

  • 有线软触发

    • 如果我使用有线软触发,要解决的就是如何实现串口通信,确保PLC和工控机的顺利交互,而工控机和相机的通信是通过USB3.0进行通信,这种方式要相对比较简单,直接使用官方给出的demo即可。
  • 有线硬触发

    • 如果要使用有线硬触发,则需要负责三方的串口通信,而且还需要确定一套合理的通信逻辑,确保指令能够有效地执行。

引用

  • chatPGT-Plus
  • PLC的图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/68513.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux零基础快速入门到精通

目录 一、操作系统概述 二、初始Linux Linux的诞生 ​编辑 Linux内核 Linux发行版 小结 三、虚拟机 认识虚拟机 虚拟化软件及安装 远程连接Linux系统 小结 扩展-虚拟机快照 四、Linux基础命令 查看命令帮助和手册(--help) Linux的目…

Python 基础教程,Python 是什么?

Python 的诞生是极具戏曲性的,据 Guido 自述记载,Python 语言是在圣诞节期间为了打发无聊的时间而开发的,之所以会选择 Python 作为该编程语言的名字,是因为 Guido 是 Monty Python 戏剧团的忠实粉丝。 Python 语言是在 ABC 语言的…

actuator/prometheus使用pushgateway上传jvm监控数据

场景 准备 prometheus已经部署pushgateway服务&#xff0c;访问{pushgateway.server:9091}可以看到面板 实现 基于springboot引入支持组件&#xff0c;版本可以 <!--监控检查--><dependency><groupId>org.springframework.boot</groupId><artifa…

AS报错:错误: 无效的源发行版:12

背景&#xff1a;今天用Android Studio 编译以前的demo,运行报错&#xff1a;错误: 无效的源发行版&#xff1a;12 截图如下&#xff1a; 解决办法&#xff1a;将jdk版本由11升级到13,解决了。 路径&#xff1a;Setting/Build,Execution,Deployment/Build Tools/Gradle/Gradl…

虚拟化和容器化

目录 一. 虚拟化和容器化的概念 什么是虚拟化、容器化 案例 为什么要虚拟化、容器化&#xff1f; 二. 虚拟化实现方式 应用程序执行环境分层 虚拟化常见类别 虚拟机 容器 JVM 之类的虚拟机 三. 常见虚拟化实现 主机虚拟化(虚拟机)实现 容器虚拟化实现 容器虚拟化实现原理 容器…

北航基于openEuler构建工业机器人操作系统,打造“开箱即用”的机器人基础软件平台

北京航空航天大学是国家“双一流”建设高校&#xff0c;以建设扎根中国大地的世界一流大学为发展目标。北京航空航天大学在机器人领域一直处于行业前沿&#xff0c;以其亮眼的成果和优秀的师资力量&#xff0c;成为国内机器人领域的重要参与者和建设者。机器人操作系统是机器人…

电脑出现msvcr100.dll丢失错误怎么办?

msvcr100.dll它是一个动态链接库文件&#xff0c;包含了许多用于运行依赖于Visual C的应用程序所需的函数和类。当运行依赖于Visual C的应用程序时&#xff0c;系统会自动加载和使用msvcr100.dll文件。当系统提示msvcr100.dll文件丢失时&#xff0c;可能会导致一些应用程序无法…

如何实现Excel中多级数据联动

摘要&#xff1a;本文由葡萄城技术团队于CSDN原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 在类Excel表格应用中&#xff0c;常用的需求场景是根据单元格之间的数据联动&…

【BEV Review】论文 Delving into the Devils of Bird’s-eye-view 2022-9 笔记

背景 一般来说&#xff0c;自动驾驶车辆的视觉传感器&#xff08;比如摄像头&#xff09;安装在车身上方或者车内后视镜上。无论哪个位置&#xff0c;摄像头所得到的都是真实世界在透视视图&#xff08;Perspective View&#xff09;下的投影&#xff08;世界坐标系到图像坐标系…

git Authentication failed

情况是这样的&#xff0c;之前看代码只是clone了一份&#xff0c;但随着分支越来越多&#xff0c;有时候切换分支时必须先把修改的代码 stash 一下&#xff0c;觉得很麻烦&#xff0c;于是又clone了一份代码。然后pull代码是正常的&#xff0c;当push 代码的时候&#xff0c;去…

函数(2)

6. 函数的声明和定义 6.1 函数声明&#xff1a; 1. 告诉编译器有一个函数叫什么&#xff0c;参数是什么&#xff0c;返回类型是什么。但是具体是不是存在&#xff0c;函数 声明决定不了。 2. 函数的声明一般出现在函数的使用之前。要满足先声明后使用。 3. 函数的声明一般要放…

C语言学习笔记---数据的存储详解

C语言程序设计笔记---015 C语言数据的存储1、数据类型的意义1.1、unsigned与signed数据类型例程11.2、补码与原码相互转换例程2 2、大小端的介绍2.1、大小端的例程12.2、大小端的例程2 --- 判断当前编译器环境属于大端或小端 3、综合练习题探究数据的存储3.1、练习题13.2、练习…