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文件:
博图中安装GSD文件。
添加CPU硬件。
添加相机设备硬件。
配置CPU硬件网络信息。
配置相机设备网络信息。主要设置 相机的 IP 地址和 Profinet 设备名。
连接网络设备。
完成。
3. 相机端设置:
在电子表格视图中,选择菜单栏中–传感器—网络设置,打开下图。
这里主要设置相机的 IP 地址、选择工业以太网协议为Profinet、并启用 Profinet 站名。这里IP地址和站名要求和PLC中配置的严格一致,站名区分大小写。
双击电子表格中的A0单元格,将触发器类型修改为”网络“。
插入函数。
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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2022-08-25 Qt 'QApplication'file not found 解决办法
2021-08-25 OpenCV .直方图均衡 CLAHE算法学习
2021-08-25 OpenCV 直方图均衡化原理
2021-08-25 OpenCV 直方图绘制以及直方图均衡化
2021-08-25 OpenCV 图像锐化处理、提高图像对比度