PROFINET IO模块参考表- In-Sightx固件
本主题涵盖了PROFINET IO模块参考表和表中包含的信号,适用于运行in - sight 5.1.0及更高版本固件的in - sight视觉系统,以及版本2.3的GSD文件。
PROFINET IO模块参考表和模块描述
模块 | ID | 字节 | 位7 | 位6 | 位5 | 位4 | 位3 | 位2 | 位1 | 位0 |
---|---|---|---|---|---|---|---|---|---|---|
收购 控制 |
0 x101 | 0 | 集 离线 |
保留 | 清晰的 曝光 完整的 |
触发 | 触发 启用 |
|||
收购 状态 |
0 x201 | 0 | 在线 | 离线的原因 | 错过了 Acq |
曝光 完整的 |
触发 消 |
触发 准备好了 |
||
1 . . 2 | 收购ID | |||||||||
检查 控制 |
0 x102 | 0 | 清晰的 错误 |
保留 | 执行 命令 |
设置用户 数据 |
检查 结果 消 |
缓冲 结果 启用 |
||
检查 状态 |
0 x203 | 0 | 设置用户 数据证实 |
命令 失败的 |
命令 完成 |
命令 执行 |
结果 有效的 |
结果 缓冲 泛滥 |
检查 完成 |
系统 忙 |
1 | 错误 | 保留 | 保留 | 预留(5.1.0 - 5.5.x) | 工作 通过 |
|||||
TestRun Ready(5.6.0及更高版本) | ||||||||||
2 . . 3 | 错误代码 | |||||||||
命令 控制 输入 |
0 x107 | 0 . . 1 | 命令(16位) | |||||||
命令 控制 输出 |
0 x107 | 0 . . 1 | 当前作业编号(16位) | |||||||
柔软的事件 控制输入 |
0 x106 | 0 | 柔软的事件 7 |
柔软的事件 6 |
柔软的事件 5 |
柔软的事件 4 |
柔软的事件 3. |
柔软的事件 2 |
柔软的事件 1 |
柔软的事件 0 |
柔软的事件 控制输出 |
0 x106 | 0 | 柔软的事件 Ack 7 |
柔软的事件 Ack 6 |
柔软的事件 Ack 5 |
柔软的事件 Ack 4 |
柔软的事件 Ack 3 |
柔软的事件 Ack 2 |
柔软的事件 Ack 1 |
柔软的事件 Ack 0 |
用户数据 |
0 x301 (16) 0 x302 (32) 0 x303 (64) 0 x304 (128) 0 x305 (254) |
0 . . | 用户数据 | |||||||
检验结果 |
0 x401 (16) 0 x402 (32) 0 x403 (64) 0 x404 (128) 0 x405 (250) |
0 . . 1 | 检查身份证 | |||||||
2 . . 3 | 检验结果代码 | |||||||||
4 . . | 检验结果 |
采集控制模块
的采集控制模块而且采集状态模块位允许PLC触发In-Sight视觉系统的采集,确定采集何时完成,并将视觉系统置于离线状态,不再接受采集触发器。
位 | 的名字 | 描述 |
---|---|---|
0 |
触发使 |
该字段被设置为通过触发位启用触发。清除此位以禁用网络触发机制。 |
1 |
触发 |
当满足以下条件时,设置此位将触发采集:
|
2 |
曝光完毕 |
当此信号为高时,曝光完成状态将保持重置。一旦这个信号被设置为低,曝光完成状态将在下一次曝光完成时被设置为高。 |
3 - 6 |
保留 |
未使用的。 |
7 |
设置离线 |
当该位被设置时,In-Sight视觉系统将处于离线状态,直到该位再次被清除。 |
采集状态模块
位 | 的名字 | 描述 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
触发准备好了 |
指示视距内视视系统何时可以通过触发位接受新的触发。当视觉系统处于在线状态,设置了触发器启用位,AcquireImage函数的触发器参数设置为网络、外部或工业以太网,并且视觉系统当前没有获取图像时,此字段为真。 当触发器来自PLC时,应使用工业以太网触发器类型。 |
|||||||||||||||
1 |
触发消 |
指示何时设置触发位触发了In-Sight视觉系统;此位将保持设置,直到触发位被清除。此外,采集ID可以锁定到该位的上升边缘。
请注意:如果设置了触发位,但视觉系统处于离线状态,则将同时设置错过的确认位和触发确认位。 |
|||||||||||||||
2 |
接触完整 |
此位是在视距透视系统曝光周期结束时设置的,并由清除曝光完成位重置。如果清除曝光完成信号被设置为高,则该位将保持在重置状态。 |
|||||||||||||||
3. |
错过了消 |
当In-Sight视觉系统错过采集触发器时设置,无论采集是如何触发的;成功触发收购时清除。
请注意:如果设置了触发位,但视觉系统处于离线状态,则将同时设置错过的确认位和触发确认位。 |
|||||||||||||||
4 - 6 |
离线的原因 |
该字段是一个3位字段,用于识别In-Sight视觉系统离线的原因:
请注意:可以有多个设备使In-Sight视觉系统处于离线状态。在此场景中,该字段将返回具有最低原因代码的通道。 |
|||||||||||||||
7 |
在线 |
当In-Sight视觉系统处于在线状态时设置该位,当视觉系统处于离线状态时清除该位。当视觉系统离线时,检查“离线原因”字段以确定原因。 |
|||||||||||||||
8 - 23 |
收购ID |
该ID在采集开始时和设置触发Ack位时递增;可用于将采集与其检测结果同步。 |
典型采集序列
可通过直接操作采集控制模块中的“触发启用”和“触发”位,或通过监控采集状态模块中的“触发就绪”、“触发Ack”和“缺失Acq”位来触发视场系统。
在初始启动时,触发使能位将为False,并且必须设置为True以启用触发。当视觉系统准备好接受触发器时,采集状态模块中的触发器就绪位将被设置为True。
当触发启用位和触发就绪位为True时,每次视觉系统看到触发位从0变为1时,将启动图像采集。触发位应该保持在新状态,直到在采集状态模块的触发Ack位中看到相同的状态值(这是一个必要的握手,以确保视觉系统已经看到了变化)。
在采集过程中,采集状态模块中的触发就绪位将被清除。曝光完成位将在采集结束时设置,并且只能通过清除曝光完成位来清除。
若要强制重置触发机制,请将触发器使能位设置为False,直到采集状态模块为0。然后触发使能位可以设置为True,并重新启用收购。
检验控制模块
的巡检状态模块而且检验控制模块模块允许PLC监控In-Sight视觉系统的视觉处理部分,以确定何时有新的结果可用,并请求视觉系统对任何新结果进行排队。
位 | 的名字 | 描述 |
---|---|---|
0 |
启用缓冲结果 |
设置此位后,“巡检ID”、“巡检结果”和“巡检结果”字段将保持不变,直到“巡检结果确认”字段确认并设置完毕。在视觉系统的缓冲器中可以进行多达八次的检查。In-Sight视觉系统将通过清除结果有效位来响应确认。一旦检查结果确认字段被清除,并且有一组新的规则发送到PLC,结果有效位将不再被清除。如果检测结果确认位被清除,并且视觉系统缓冲区中没有更多要发送到PLC的结果,则结果有效位仍被清除。 |
1 |
检查结果Ack |
当设置“缓冲结果使能”位时,“巡检结果确认”位表示PLC已接收到“巡检ID”、“巡检结果”和“巡检结果”数据。然后将下一组检测结果发送到PLC。清除“检测结果确认位”会导致视觉系统在缓冲区不为空时设置“结果有效位”。如果禁用结果缓冲,则必须设置“检测结果确认位”以清除“结果有效位”。 |
2 | 设置用户数据 | 该信号的上升沿将用户数据保持缓冲区锁存到用户数据字段中,以使视觉系统访问用户数据。为了保证视觉系统接收到命令,PLC中的位应该保持在高位,直到“检查状态模块”中断言了“设置用户数据确认位”。用户数据保持缓冲区可以使用Profinet写记录命令写入。如果在Profinet连接上配置用户数据模块时断言了Set User Data信号,则将断言模块告警。 |
3. | 执行命令(5.1.0 ~ 5.5.x) | 设置后,视觉系统要么加载Command字段中指定的作业ID,要么执行job Load by Name命令来加载User Data缓冲区中给定的作业名称。信号必须保持在高位,直到命令完成信号被切换。此信号的下降沿(如果在命令完成之前)被解释为中止请求。 |
Execute Command(5.6.0及以上版本) | 设置后,视觉系统将加载Command字段中指定的作业ID,或者执行job Load by Name命令来加载User Data缓冲区中给定的作业名称。当使用TestRun时,该信号的上升边将执行命令启动TestRun。信号必须保持在高位,直到命令完成信号被切换。此信号的下降沿(在命令完成之前)被解释为TestRun执行中止请求。 | |
4 - 6 |
保留 |
未使用的。 |
7 | 明显的错误 | 当设置此位时,它将清除错误和错误码信号;清除错误位应该保持在高位,直到错误位被清除。如果一个错误已经排队,清除这个位将导致error和error Code信号被设置为下一个排队的错误码。 |
巡检状态模块
位 | 的名字 | 描述 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
系统繁忙 | 在视觉系统运行作业、加载作业或响应用户输入时设置。 |
|||||||||||||||||||||
1 |
检验完成 |
此位在检查完成后切换。在将“巡检次数”、“巡检结果代码”、“巡检结果”和/或“作业通过”位发送到PLC后,保证切换。 |
|||||||||||||||||||||
2 |
缓冲区溢出 |
当设置Buffer Results Enable位,in - sight视觉系统由于PLC没有确认结果而丢弃了一组检测结果时,设置该字段,然后设置InspectionResults Ack位。在视觉系统的缓冲器中可以进行多达八次的检查;因此,在第9次检查添加到缓冲区时设置该位。第九次检查和随后的所有检查将被丢弃,直到缓冲区中有空间(当结果被确认出来时)。直到一次有效的检查发生并且之前的检查没有被覆盖,该位才会被清除。 |
|||||||||||||||||||||
3. |
结果有效 |
设置“巡检次数”、“巡检结果码”、“巡检结果”和/或“作业通过位”时设置。设置“检测结果确认位”后,清除该位。
请注意:如果作业处理以重叠模式进行,则应该启用/设置缓冲结果启用位,或者应该使用检查完成位来锁定检查结果。 |
|||||||||||||||||||||
4 |
命令执行(5.1.0 ~ 5.5.x) |
当Job Load启动时,该位被设置为1。命令完成位和命令失败位将在此位的下降沿之前设置。 |
|||||||||||||||||||||
命令执行(5.6.0及以上版本) | 当TestRun执行或Job Load开始时,该位被设置为1。当TestRun执行完成时,该位将被清除。命令完成位和命令失败位将在该位的下降沿之前设置。 | ||||||||||||||||||||||
5 |
Command Completed (5.1.0 - 5.5.x) |
当命令完成时,命令执行位变低,如果执行命令位仍然很高,则设置命令完成位。如果命令没有成功完成,命令失败位也被设置。
请注意:当执行命令位降低时,摄像机清除命令完成位。 |
|||||||||||||||||||||
命令完成(5.6.0及更高版本) | 这个位被设置为指示TestRun执行或作业加载已经完成。
请注意:如果尝试在没有TestRun配置的作业上执行TestRun,将同时设置命令完成和命令失败位。在执行TestRun之前,必须等待TestRun Ready位的设置。 |
||||||||||||||||||||||
6 |
Command Failed (5.1.0 - 5.5.x) |
该位设置为1表示Job Load未能运行到完成。当PLC/HMI加载新作业时清除。如果通过In-Sight Explorer更改作业,则此位不会更改。该位总是在设置命令完成位之前设置。 |
|||||||||||||||||||||
命令失败(5.6.0及以上版本) | 该位设置为1表示TestRun执行或作业加载失败。当执行一个新的TestRun序列,或者PLC/HMI加载一个新的作业时,它将被清除。如果你在in - sight Explorer中改变作业,这个位不会改变。 | ||||||||||||||||||||||
7 |
设置用户数据Ack |
该位被设置为确认set User Data命令的完成。 |
|||||||||||||||||||||
8 | 工作通过 | 如果最近传递的作业是在作业通过/失败单元设置对话框中配置的,则设置此位。如果作业未通过,则清除此位。
Job Pass位的行为将取决于结果缓冲是否被禁用或启用:
|
|||||||||||||||||||||
9 | 预留(5.1.0 - 5.5.x) | 未使用的。 | |||||||||||||||||||||
TestRun Ready(5.6.0及更高版本) | 当视觉系统具有有效的TestRun配置时,该位被设置为1。该信号在TestRun执行时被清除(与TestRun启动器无关),并在TestRun执行完成后返回1。
请注意:
|
||||||||||||||||||||||
10 - 14 | 保留 | 未使用的。 | |||||||||||||||||||||
15 | 错误 | 该位在发生错误时设置,在error Code字段中定义。 |
|||||||||||||||||||||
16 - 31 | 错误代码 | 已发生错误的16位数字表示:
|
检查/结果序列
当in - sight视觉系统获取图像时,图像被放置在队列中进行处理。在视觉系统处理图像时,设置“检测状态模块”的“系统忙位”。当视觉系统完成对图像的处理后,“系统繁忙位”被清除,“检查完成位”被切换。
检测控制模块的缓冲结果使能位决定了视觉系统如何处理检测结果。
如果“缓冲结果使能”位设置为“False”,则巡检结果立即放入“巡检结果模块”,“结果有效”位设置为“True”。当结果缓冲被禁用时,必须设置“检测结果确认位”以清除“结果有效位”。
如果Buffer Results Enable位设置为True,则新结果将排队。PLC设置检测结果确认位,如果仍有结果需要确认,则将结果有效位设置为True。清除“结果有效”位后,PLC应将“检查结果确认”位设置为“False”,以允许将排队的结果放入“检查结果模块”(这是确保结果被PLC接收的必要握手)。
检测状态模块行为
位 | 位名称 | 结果禁用缓冲 | 结果启用缓冲区 |
---|---|---|---|
0 | 系统繁忙 | 在视觉系统运行作业、加载作业或响应用户输入时设置。 |
在视觉系统运行作业、加载作业或响应用户输入时设置。 |
1 | 检验完成 | 在完成检查时切换。 |
在完成检查时切换。 |
2 | 结果缓冲区溢出 | 保持为0。 | 当PLC无法确认之前的结果,导致结果缓冲区溢出,无法将检查结果排队时设置。当巡检结果排队成功时清除。 |
3. | 结果有效 | 在“检查结果模块”中放置新结果时设置。将检查结果Ack位设置为True,直到确认结果为止。 |
在“检查结果模块”中放置新结果时设置。将检查结果Ack位设置为True,直到确认结果为止。 |
结果缓冲
可能启用巡检结果队列。如果启用,这将允许有限数量的检测数据结果排队,直到PLC有时间读取它们。如果系统的不同部分(包括外部PLC)在短时间内减速,这对于平滑数据流是一个有用的特性。
一般来说,如果检查发生的速度快于结果发送的速度,缓冲和不缓冲的主要区别在于决定丢弃哪些结果。如果未启用缓冲,则保留最近的结果,而PLC无法读取的较早的结果将丢失。实际上,最近的结果将简单地覆盖先前的结果。如果启用了缓冲(并且队列已满),则丢弃最近的结果,直到结果队列中有可用的空间为止。
命令控制输入模块
Current Job ID字段模块表示In-Sight视觉系统的当前作业ID,如果当前作业没有ID,则表示65535。为了加载作业,PLC必须使用set Offline位将视觉系统设置为离线。接下来,将Command字段设置为所需作业的ID,并设置Execute Command位。一旦命令完成位被设置,执行命令位应该被重置。
字节 | 的名字 | 描述 |
---|---|---|
0 - 1 | 命令(5.1.0 - 5.5.x) | 这是一个16位整数,用于指示要加载的作业的作业ID号(0-999)或指定作业名称加载命令(0x4000)。当PLC设置执行命令位时,作业加载被执行。命令字段必须在执行命令信号的上升沿和命令完成信号的上升沿之间保持不变,否则结果将是不确定的。如果使用“按名称加载作业”命令,在设置“执行命令”位之前,作业名称必须传输到用户数据缓冲区。 |
命令(5.6.0及以上版本) | 当PLC设置执行命令位时,该值表示要执行的TestRun序列或要加载的作业的ID号(1-999)。 0x1007 =执行TestRun 0x0000 - 0x03E7 =作业id |
命令控制输出模块
字节 | 的名字 | 描述 |
---|---|---|
0 - 1 |
当前工作ID |
一个16位整数,表示当前在视觉系统上运行的作业的ID号,如果当前作业没有ID号,则为65535。该字段在视觉系统上更改作业时更新,而不考虑作业更改的方法。 |
软事件控制输入模块
允许触发电子表格软事件。设置任何这些位都会触发电子表格中相关的软事件。
位7 | 位6 | 位5 | 位4 | 位3 | 位2 | 位1 | 位0 |
---|---|---|---|---|---|---|---|
软事件7 | 软事件6 | 软事件5 | 软事件4 | 软事件3 | 软事件2 | 软事件1 | 软事件0 |
PLC可以使用软事件来触发特定于作业的行为。每个软事件都有一个与之关联的触发器和确认位。触发位的上升边使In-Sight视觉系统处理与软事件相关的动作。在软事件启动后,视觉系统将软事件Ack位设置为高。在PLC重置触发位之前,此位将保持为高位,并且与软事件相关的动作处理已经完成。如果软事件无法触发,则一般故障位设置为高;此位将保持高,直到事件被成功触发。
软事件控制输出模块
这些位用来表示接收到软事件命令。
位7 | 位6 | 位5 | 位4 | 位3 | 位2 | 位1 | 位0 |
---|---|---|---|---|---|---|---|
软事件Ack 7 | 软事件Ack 6 | 软事件Ack 5 | 软事件Ack 4 | 软事件Ack 3 | 软事件Ack 2 | 软事件Ack 1 | 软事件Ack 0 |
用户数据模块
可以使用GetBufferData和ReadUserDataBuffer函数从In-Sight资源管理器电子表格中读取该数据。
检查结果模块
这是从In-Sight电子表格中使用WriteResultsBuffer函数写入的数据。如果设置了检测控制模块的缓冲结果使能位,则检测结果将保持不变,直到通过脉冲检测结果确认位确认。
字节 | 的名字 | 描述 |
---|---|---|
0 - 1 |
检查身份证 |
与此结果集关联的获取ID。 |
2 - 3 |
巡检结果代码(5.1.0 - 5.5.x) |
检查结果代码由WriteResultsBuffer函数的result code参数定义。有关更多信息,请参见WriteResultsBuffer. |
巡检结果代码(5.6.0及以上版本) | 最近一次TestRun执行的结果。如果所有测试都通过,则该值为0。如果一个或多个测试未通过,或者在TestRun执行期间设置或清理存在问题,则您将收到一个非零值,表示失败。
|
|
4 - 253 |
检验结果 |
使用WriteResultsBuffer函数从电子表格中写入检查结果数据。 |
PROFINET时序图-有缓冲和没有缓冲
以下时序图有助于说明采购控制、检验控制、采购状态、检验状态和检验结果寄存器之间的关系: