SC相机工业协议详解——Profinet协议
本文详解海康SC智能相机Profinet通信原理、IO模块与时序,配套西门子PLC完整组态调试步骤,并梳理现场常见通讯故障解决方案,为产线相机与PLC对接提供实操指南。

一、 Profinet协议简介


1.1 Profinet协议概述

PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是基于工业以太网技术的自动化总线标准。

三类通信模式:

1. 标准TCP/IP通信

用于HMI/SCADA、IT交互,响应速度100ms+;依托通用TCP/IP协议,满足普通工厂监控交互需求。

2. RT实时通信

常规自动化产线控制,响应1~10ms;在以太网二层开辟专用实时通道,大幅缩减协议栈处理耗时,性能优于传统现场总线。

3. IRT同步实时通信

面向高速运动控制场景,100个节点下整体响应<1ms,抖动误差<1μs,保障运动控制时序精准稳定。


1.2 Profinet硬件连接

PLC与SC相机之间实现Profinet通信,PLC与相机通过网线与交换机连接,需满足相机与PLC的IP处于同一网段

PN端口通过设备名确定连接,因此需要注意设备名不能重复。同时设备 IP 地址必须和 SCMVS 客户端中设备的 IP 地址不相同,否则会导致通信异常。


1.3 Profinet看门狗时间

看门狗时间(Watchdog):IO设备的看门狗时间以IO Update时间为基数,可以自动或手动调整,指定的看门狗时间内IO未更新则视为IO中断(具体表现为IO站点掉站)



二、 SC相机Profinet通信


2.1 6个组态模块介绍

SC相机Profinet通讯共6个可组态模块,具体如下;PLC实际组态后I/Q物理地址会自动偏移,以博图硬件组态界面为准。

1.Acquisition Status Module:状态区,可反馈设备当前状态,由相机发送到 PLC。该模块占用1字节。包括:trigger ready(触发准备),trigger ack(触发反馈)等。

2.Acquisition Control Module:控制区,可控制设备获取图像,由 PLC 发送到相机。该模块占用1字节。包括:trigger enable(触发使能),trigger(触发)等。

3.Reads Result 64 Bytes Module:结果区(64Bytes),结果输出数据,由相机发送到 PLC。该模块占用65字节。输出相机的算法结果数据,包括:result length(结果数据长度)和result data(结果数据)。


4.User Data 64 Bytes Module:用户数据区,由PLC发送到相机。该模块占用65字节。PLC发送给相机的命令字符,包括:user data length(命令字符长度)和user data(命令字符)。


5.Reads Result 128 Bytes Module:结果区(128Bytes):结果输出数据,由相机发送到 PLC。该模块占用129字节。

6.Reads Result 250 Bytes Module:结果区(250Bytes):结果输出数据,由相机发送到 PLC。该模块占用251字节。


2.2 GSD文件

1.什么是GSD文件?

GSD是英文“General Station Description”的缩写,即"通用站描述文件"。GSD文件的主要作用是对PROFINET子站的资源进行描述,以便组态工具能够正确对其进行解析。这些信息包括:用于组态的数据、参数、模块(软件层)、诊断、报警、制造商标识(Manufacturer ID)及设备标识(Device ID)等等内容。

2. 命名规则

PROFINET的GSD文件采用XML语言描述,后缀名为xml。按照约定,PROFINET I/O设备的GSD文件应遵循如下的命名规则:

GSDML-[版本号]-[设备厂商名称]-[设备家族名称]-[日期].xml

一般我们下载到的GSDML文件中还包含一些图片,如下图所示。这些图片就是我们在硬件组态中看到的站点的样子。


2.3 通讯时序

1.PLC设置Trigger Enable(地址I2.0),相机准备就绪后设置Trigger Ready(地址Q2.0);

2. PLC 检测到设备 Trigger Ready 信号后,发送 Trigger 信号 Q2.1 控制设备运行一次方案。

3. 当设备接收到 Trigger 信号后开始取图运行算法。

  • 若正确输出算法工具结果,则设置 Results Available 信号 I2.4 并将配置结果内容放入到 IB68 开始的地址中;
  • 若结果输出超时,则设置 Results Timeout 信号 I2.5 并将 IB68 开始地址清零。



三、连接测试步骤


3.1 相机端设置

1.通信设置——添加Profinet通讯,设置设备名称(必须与PLC端设置一致);模块结果根据实际结果字符串长度选择;

2.触发设置——设置为软件触发;

3.运行设置——点击连续运行;

4.切换方案设置——切换模式选择通信切换,通信字符串可根据用户需求自定义;



3.2 西门子S7系列PLC博图设置

1.项目新建——打开博图软件,创建新项目




2.安装GSD文件


3.添加对应型号SC相机


4.相机参数设置




5.PLC程序下载




6.通讯验证


7.PLC开启监控界面


8.1 触发拍照——PLC发送使能,相机触发准备


8.2 触发拍照——PLC设置触发,相机开始处理



9.1 获取结果——算法结果获取


9.2 获取结果——获取结果完成后,复位触发信号


10.切换方案



四、常见问题


4.1 PLC软件设置相机IP冲突导致登录异常

  • 问题现象:连接Profinet通信情况下,登录SCMVS界面参数显示空白
  • 原因分析:设备 IP 地址必须和 SCMVS 客户端中设备的 IP 地址不相同,否则会导致相机异常
  • 解决方法:修改PLC软件中设置的相机 IP 地址,或 SCMVS 客户端中设备的 IP 地址即可


4.2 切换方案不成功

  • 问题现象:填入相应命令字符后,执行Execute Command,但切换方案不成功

  • 原因分析: 
  1. 字符长度设置不正确。例如客户的通信字符串设置为“0”,方案名设置为“1”,则通信字符串为“0 1”,命令字符长度为3;
  2. 命令字符填写不正确。通信字符串“0 1”,中间的空格不知道如何填写。命令字符中的空格不应为byte类型的[00],应填入char类型的“ ”,或byte类型的[20];
  3. 结束符不正确。命令字符下一个地址无字符,默认应该位char类型的‘0’,但客户在Command Data_4变量对应的地址填入了‘ ’,这是一个空格。填入空格导致相机认为命令字符位“0 1 ”,此时字符长度与实际不符,导致切换不生效;
  • 解决方法:注意命令字符的设置,包含字符长度,空格的填写和结束符的填写


4.3 切换方案成功/失败的信号

  • 问题现象:切换方案成功/失败,返回相应信号,便于客户判断

  • 原因分析:1.SC3000在V3.0维护固件中增加方案切换成功、失败的标志位如上
  • 解决方法:需升级V3.0.4以上固件




4.4 获取到的结果第一位丢失

  • 问题现象:结果数据实际为:”1030006…;”,但PLC中只显示”030006…”,第一位数据丢失

  • 原因分析:由于客户这里将Result Length和Result Data定义成2个变量,博图软件中将第二个变量自行对齐,导致地址15.0丢失
  • 解决方法:将Result Length和Result Dara合并成1个变量,参考右图



附件:
版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

海康3D结构光相机·深度图_点云图成像噪声与缺失问题排查思路与解决手册

下一篇
已经是最后一篇啦~
评论请先登录 登录
全部评论 0
Lv.0
0
关注
0
粉丝
0
创作
0
获赞
相关阅读
  • 基于基础应用扩展的偏心抓取算法
    2026-07-07 浏览 0
  • [Agent系列】AI辅助编程办公实践-扫盲篇
    2026-07-27 浏览 0
  • 移动机器人技术分享-26年7月
    2026-07-17 浏览 0
  • HCT操作
    2026-07-23 浏览 0
  • 认证预告|Q3已就位,你的机器视觉认证计划该提上日程了
    2026-07-20 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器