历史上的今天
返回首页

历史上的今天

今天是:2026年03月30日(星期一)

正在发生

2023年03月30日 | DOCK之快换的Profinet对接使用方式

2023-03-30 来源:机器人及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 命令











审核编辑:刘清

推荐阅读

史海拾趣

Entegris公司的发展小趣事

2019年1月底,Entegris与Versum Materials宣布合并。合并后的公司由Entegris占据五席董事,而Versum占四席。Versum是一家主要生产半导体的化学、气体及输送系统的公司,两家公司的前三大客户均为台积电、英特尔、三星电子。合并后,新公司在半导体材料市场的影响力显著增强,同时也面临着来自德国默克等竞争对手的挑战。

EPIC公司的发展小趣事

2006年,Epic Games公布了基于Xbox 360游戏平台的《战争机器》。这款游戏以其出色的画面效果、紧张刺激的战斗场景和深入人心的故事情节,迅速在市场上取得了成功。它的畅销不仅进一步巩固了Epic Games在游戏开发领域的地位,也证明了虚幻引擎在开发高质量游戏方面的强大能力。

Chen Yang Technologies GmbH & Co KG公司的发展小趣事

在快速发展的过程中,Chen Yang Technologies始终重视内部管理和人才培养。公司推行了一系列创新的管理理念和措施,如扁平化管理、项目制运作等,这些措施有效提高了工作效率和团队协作能力。同时,公司还注重人才培养和引进,通过设立激励机制、提供培训和发展机会等方式,吸引和留住了一批优秀的技术人才和管理人才。

Advanced Linear Devices公司的发展小趣事

电子行业市场竞争激烈,Chen Yang Technologies也面临着来自各方面的挑战。在某次全球经济危机中,公司遭遇了订单减少、资金紧张等困难。然而,正是在这样的困境中,Chen Yang Technologies展现出了顽强的生命力。公司迅速调整战略,优化成本结构,同时加大研发力度,推出了一系列具有竞争力的新产品。这些举措使得公司成功度过了危机,并在危机后的市场中获得了更大的发展空间。

Dynex公司的发展小趣事

电子行业市场竞争激烈,Chen Yang Technologies也面临着来自各方面的挑战。在某次全球经济危机中,公司遭遇了订单减少、资金紧张等困难。然而,正是在这样的困境中,Chen Yang Technologies展现出了顽强的生命力。公司迅速调整战略,优化成本结构,同时加大研发力度,推出了一系列具有竞争力的新产品。这些举措使得公司成功度过了危机,并在危机后的市场中获得了更大的发展空间。

DEWALT公司的发展小趣事

随着全球经济的不断发展和市场需求的不断增长,DEWALT公司开始积极拓展海外市场。公司在全球范围内设立了多个生产基地和销售网络,为不同地区的用户提供优质的产品和服务。同时,DEWALT还积极与全球知名的企业和品牌进行合作,共同推动电动工具行业的发展。在未来,DEWALT公司将继续致力于技术创新和产品拓展,为全球用户提供更加高效、耐用的电动工具产品。

问答坊 | AI 解惑

导频制调频立体声广播方框图

导频制调频立体声广播方框图…

查看全部问答>

基于多传感器数据融合发电机参数的在线估计

发电机实际运行中,由于受外界环境(如电磁波) 的干扰以及传感器老化等因素的影响,传感器容易发生参数型故障. 为了有效地在线估计发电机工作参数,利用多传感器的冗余和强跟踪滤波器,设计了基于发电机参数数学模型的在线估计器. 该估计器具有自然的并 ...…

查看全部问答>

德州仪器)誓做模拟IC的市场领袖

所谓市场领袖,笔者认为,企业的某个或某类产品在该产品市场上居于垄断或主导地位,且在用户心中具有重要影响力的品牌,就是该市场的市场领袖。如果说Intel(英特尔)是CPU市场的大佬,Qualcomm(高通)是手机芯片市场的魁首,TSMC(台积电)是晶圆代工市 ...…

查看全部问答>

片上RAM下运行nios cpu的问题

用的是EP2C35的片子,双核系统。主核运行在片外的SDRAM,从核由于和主核是并行的,串行关系不大,功能比较简单,运行在片上的onchip_RAM。现在的问题是在调试的时候没什么问题,在烧写的时候,用的命令行函数把从核的软件的elf文件转换成hex文件, ...…

查看全部问答>

求助--交叉编译通不过

在网上下载的软件,PC上运行没问题,在ARM上编译不能通过,报错: arm-ereader-linux-gnueabi-g++ -DHAVE_CONFIG_H   -I../.. -I../../src -I../../src/sigc++config   -g -O2 -MT signal.o -MD -MP -MF .deps/signal.Tpo -c ...…

查看全部问答>

求2401测试程序

要MEGA16的,在ICC环境下编译的。谢谢!…

查看全部问答>

请教关于WINCE红外遥控接收的问题

最近,我要做一个在WINCE下接收红外遥控器发过来的编码数据的驱动,我们的红外接收头接在GPIO的外部中断上,哪位有做过这方面的的驱动的朋友呀,恳请指教呀!…

查看全部问答>

Coyote,Wolf v1.2,Wolf v1.4,Phoenix这几种platform有什么具体的区别吗??

在看文档时发现什么有这样的定义:Edit file \\PLATFORM\\SMDK2440A\\smdk2440a.bat to select the target platform you are working on, setting the variables according with the following table: Platform Settings Coyote    & ...…

查看全部问答>

stm8蜂鸣器问题

#include <stm8s105s4.h>#define uchar unsigned charuchar t;void init(void) //初始化函数{CLK_ICKR|=0x08; // 打开芯片内部的低速振荡器LSIwhile((CLK_ICKR&0x10)==0); // 等待振荡器稳定TIM2_EGR=0X01; //允许产生更新事件TIM2_PSCR=0X01 ...…

查看全部问答>

刚学的画板,哪位大虾帮我看下我画的问题有哪些

刚学画板,找了块简单的板照画 哪位大虾帮我看下我画的问题有哪些 帮忙指正,谢谢哈!…

查看全部问答>