机器人
返回首页

DOCK之profinet的对接快换耦合使用方式

2023-03-20 来源:机器人及PLC自动化应用

快换的Profinet对接使用方式

同一个设备可以在不同的上交替运行。为此必须使用其他的 IOCTL 功能进行解耦和。如果一个设备仅在一个机器人上运行,则也可以使用这些 IOCTL 功能。其他 IOCTL 功能只能为了兼容的原因而使用。

l 在带有工具更换系统的应用中,绝不能将总线用户持久地耦合在上。

l 在冷启动或在一个输入 / 输出端配置时,在该情况下这将直接导致工业以太网故障。

l 关闭始终可用这一功能可以防止这些设备在冷启动后或者重新配置输入 /输出端后被逻辑耦合进工业以太网。

l 这些已被停用的设备可以在以后程序运行时毫无问题地重新耦合进来。

l 但是在项目设置时必须考虑到,将所有工具在物理和逻辑上集入进工业以太网项目。

解耦 --已解耦设备的属性:

l 若将已解耦的设备与工业以太网或者分离开,这不会触发故障。

l 在已解耦的设备上进行的所有 IO 操作都无效。

l 已解耦的设备不能对读 / 写故障进行处理。

l 解耦时设备的输入端已被归零。

耦合

IOCTL 函数是同步执行的。当设备重新可以使用并可写入时,该函数才返回。耦合的设备不可用时,例如因为它与总线或电源断开了,在超时 ( 默认 10 秒) 后显示一条提示信息。

 菜单路径:项目结构 > ProfiNet > 用鼠标双击 > 设备设定

 通过勾选将设备设置为始终可用或者取消此设置。

选项 “始终可用” 会影响机器人在冷启动或在重新配置 I/O 驱动程序时对于已解耦设备的反应。”始终可用”可在 WorkVisual 内的设备数据中设置。

如果设备没有勾选选项 始终可用,则设备在重启时或在重新配置 I/O 驱动程序时自动解耦。为了与设备建立连接,必须用 IOCTL 功能重新耦合设备。

通过 HMI 耦合和解耦现场总线用户

1.选择菜单序列显示 > 变量 > 单个。

2.2. 在 名称栏输入:

 解耦时:

 在一台机器人上使用该设备时:

=IOCTL("PNIO-CTRL",60,[ 用户识别号 ])

 在一台或多台机器人上使用该设备时:

=IOCTL("PNIO-CTRL",1060,[ 用户识别号 ])

 耦合时:

 在一台机器人上使用该设备时:

=IOCTL("PNIO-CTRL",50,[ 用户识别号 ])

 在一台或多台机器人上使用该设备时:

=IOCTL("PNIO-CTRL",1050,[ 用户识别号 ])

IOCTL :用于耦合和解耦的 系统变量

PNIO-CTRL :通过 ProfiNet 驱动程序名 调用

 50/1050 = 调用耦合

 60/1060 = 调用解耦

用户识别号 要耦合或解耦的模块的设备编号 / 用户识别号

在单个变量显示中,执行每个IOCTL 指令后,在当前值窗口内以数字的形式显示一个返还值。此数字有下列不同的含义:

l0 :IOCTL 已成功执行。

l1 :超时 — 设备未能在规定时间内耦合或解耦。

l2 :IOCTL 包含一个不正确的参数 — 请检查输入!

l-1 :故障 — 无法执行指令。

 IOCTL 功能是同步执行的。当设备重新可以使用并可写入时,才能再次执行 IOCTL 功能。

 若耦合的设备不可用,例如因为它与总线或电源断开了,则将在超时后显示一条信息。

若规定的用于耦合或解耦的时间设计得太短,可以重新设定超时。标准设置为 10 秒,即 10000 毫秒

RET = IOCTL("PNIO-CTRL",1001,10000)

询问设备状态:

用 IOCTL 函数 70 可以询问从属设备的状态。

RET = IOCTL("PNIO-CTRL",70,[ 用户 ID] )

RET 的返回值:

l4 :设备已解耦。

l5 :设备已耦合,但出现错误。

l6 :设备已耦合且无错误。

l7 :设备已解耦,但内部仍在 PROFINET Controller 中激活。

通过激活或停用总线故障

在默认情况下激活总线故障。如果出现总线故障,这会导致停止和/或锁定激活命令。借助 KRL 函数 IOCTL 可停用并再次激活总线故障。

激活或停用可以在运行时于程序内通过 KRL 执行。 可为一个或多个总线实例停用总线故障。如果总线故障被停用,会有如下表现:

•总线故障:不停止和/或锁定激活命令

• 总线故障:smartHMI 信息窗口中没有故障信息

• smartHMI 信息窗口中会显示以下信息: KRC IO 总线错误抑制针对下列总线实例激活:{总线实例}{总线实例}{总线实例}

• 如果总线实例中已出现故障,则无法再次激活总线故障。

该情况下可通过系统变量 $IOBUS_INFO 读取是否出现总线故障。

• 为了停用总线故障: RET = IOCTL("KRC->PNIO-CTRL", 1, 1) • 为了激活总线故障: RET = IOCTL("KRC->PNIO-CTRL", 1, 0)

RET 用于保存 KRL 函数 IOCTL 返还值的变量。该变量的数据类型为 INT,在使用之前必须在程序中声明。
IOCTL 用于向总线驱动程序发送命令的 KRL 函数
PNIO-CTRL 总线驱动程序的名称
1、1 用于停用总线故障的 IOCTL 命令
1、0 用于激活总线故障的 IOCTL 命令

$IOBUS_INFO[]包含信息的结构

$IOBUS_INFO[指数 ]=信息

指数 类型:INT 网络编号 1 … 32 序列号会自动分配给总线驱动器。
信息 类型:Iobus_Info_T 包含网络信息信息的列表

Iobus_Info_T STRUC Iobus_Info_T CHAR name[256], drv_name[256], BOOL bus_ok, bus_installed

name[] 总线实例的名称,例如SYS-X44
drv_name[] 网络驱动控制的名称,例如ECat.DRV
bus_ok TRUE:总线驱动器正常。
FALSE:总线驱动程序有故障或不兼容。
bus_installed TRUE:总线驱动程序已安装。
FALSE:未安装总线驱动程序。

通过 KRL 重启总线系统

总线故障后,可在运行时在程序之内重启总线系统。为此,必须在程序中借助KRL 函数 IOCTL 一个重启总线系统的命令。

RET = IOCTL("PNIO-CTRL",12,0)

12 用于重启总线系统的 IOCTL 命令












审核编辑:刘清

进入机器人查看更多内容>>
相关视频
  • 直播回放: Keysight 小探头,大学问,别让探头拖累你的测试结果!

  • 控制系统仿真与CAD

  • MIT 6.622 Power Electronics

  • 直播回放:基于英飞凌AIROC™ CYW20829低功耗蓝牙芯片的无线组网解决方案

  • 直播回放:ADI & WT·世健MCU痛点问题探索季:MCU应用难题全力击破!

  • Soc Design Lab - NYCU 2023

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章