当前位置: 首页 > news >正文

康耐视InSight相机与西门子PLC关于Profinet通讯说明

1.准备:

硬件:

  • 康耐视 InSight-8402 智能相机
  • 西门子S7-1200 PLC
  • 电脑

软件:

  • Cognex In-Sight Explorer
  • 西门子 TIA Portal 软件

组态文件:

  • 相机的组态文件位于In-Sight Explorer软件安装目录下:Factory Protocol Description\GSD。本次使用的相机为8XXX系列,相机固件低于5.8,所以后面组态的时候选择8XXX不带ClassB的版本即可。

2. 组态GSD文件:

  1. 博图中安装GSD文件。
    在这里插入图片描述
  2. 添加CPU硬件。
    在这里插入图片描述
  3. 添加相机设备硬件。
    在这里插入图片描述
  4. 配置CPU硬件网络信息。
    在这里插入图片描述
  5. 配置相机设备网络信息。主要设置 相机的 IP 地址和 Profinet 设备名。
    在这里插入图片描述
  6. 连接网络设备。
    在这里插入图片描述
  7. 完成。
    在这里插入图片描述

3. 相机端设置:

  1. 在电子表格视图中,选择菜单栏中–传感器—网络设置,打开下图。
    在这里插入图片描述
    这里主要设置相机的 IP 地址、选择工业以太网协议为Profinet、并启用 Profinet 站名。这里IP地址和站名要求和PLC中配置的严格一致,站名区分大小写。

  2. 双击电子表格中的A0单元格,将触发器类型修改为”网络“。
    在这里插入图片描述

  3. 插入函数。
    Count: 用来监控相机的触发次数。
    FormatOutputBuffer: 定义输出缓冲区,引用要发送给PLC的结果单元格。
    在这里插入图片描述
    WriteResultBuffer: 发送缓冲区数据(注意这里的事件选择的A0就表示网络信号触发一次,此函数写入一次)
    在这里插入图片描述
    经过上面的步骤,相机发送数据到PLC的操作已经完成,接下来插入相机的接收PLC的函数。
    FormatInputBuffer: 定义输入缓冲区,注意数据类型。
    在这里插入图片描述
    ReadUserDataBuffer: 读取缓冲区数据,缓冲区引用前面定义的 FormatInputBuffer。
    在这里插入图片描述
    GetBufferData: 获取缓冲区数据,前面输入缓冲区定义了3组数据,所以此函数后面使用索引 0、1、2 代表输入的3个32位浮点数据。
    在这里插入图片描述

4. 输入输出数据对照表:

在 Cognex In-Sight Explorer 帮助菜单下\ Communication Reference\ PROFINET Communications\ PROFINET IO Module Reference\ PROFINET IO Module Reference Table- In-Sight 5.x.x and Later Fireware 依次双击打开。

在这里插入图片描述
博途中自动生成的地址数据:
在这里插入图片描述

5. 通讯测试:

  • 确保相机处于联机状态。
  • 博途中将部分关键的地址单独拉出来,保持监视。

在这里插入图片描述1. 触发相机:① Trigger Enabled ② Trigger


2. 触发相机+PLC接收相机结果:① Trigger Enabled ② Trigger ③ Inspection Result 中 Byte4 开始为结果数据


3. PLC发送数据到相机:① Trigger Enabled ② User Data 中写入要发送的数据 ③ Set User Data 置1 ④ Trigger


4. 切换相机作业:① Trigger Enabled ② SetOffLine置1 ③ 在Command中写入16位整数类型的job号 ④ Execute Cammand置1 ⑤ SetOffLine置0

写到这里,走过路过点个关注点个赞,谢谢。。。

相关文章:

  • JDK19新特性使用详解
  • 聊聊如何制作自定义ArcGIS Python工具箱
  • 数字图像处理-对比度调整背景相减
  • HTTP协议3)----对于网络层的详细讲解
  • [单片机框架][device层] charger 电源管理
  • [单片机框架][drivers层][bq25601] charger 电源管理
  • Java多线程--InheritableThreadLocal--使用/实例
  • java计算机毕业设计宿迁学院学生设计作品交流网站源代码+数据库+系统+lw文档
  • ByteTrack:通过关联每个检测框进行多对象跟踪
  • 新能源汽车行业资讯-2022-9-22
  • Ajax学习笔记(一)
  • 【【计算机组成原理】中央处理器(二)—— 指令执行过程
  • YOLOv5、v7改进之二十八:ICLR 2022涨点神器——即插即用的动态卷积ODConv
  • php警车管理系统设计与实现
  • 提高PHP编程效率的技巧
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript服务器推送技术之 WebSocket
  • js
  • Map集合、散列表、红黑树介绍
  • PHP 7 修改了什么呢 -- 2
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 关于 Cirru Editor 存储格式
  • 那些被忽略的 JavaScript 数组方法细节
  • 日剧·日综资源集合(建议收藏)
  • 使用agvtool更改app version/build
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 微信小程序开发问题汇总
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • #QT(智能家居界面-界面切换)
  • ${factoryList }后面有空格不影响
  • (1)虚拟机的安装与使用,linux系统安装
  • (30)数组元素和与数字和的绝对差
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (第二周)效能测试
  • (二)斐波那契Fabonacci函数
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (力扣)1314.矩阵区域和
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (图)IntelliTrace Tools 跟踪云端程序
  • (原創) 物件導向與老子思想 (OO)
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .axf 转化 .bin文件 的方法
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .net打印*三角形
  • .NET项目中存在多个web.config文件时的加载顺序
  • .NET应用架构设计:原则、模式与实践 目录预览
  • ::before和::after 常见的用法
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka