简介
在以下示例中,将使用两个 CPU 间已组态的连接(如,UDP 连接)。使用指令“T_CONFIG”,可组态 CPU 1 的 IP 地址和 PROFINET 设备名称。
要求
设置连接:
两个 CPU(如,S7-1513-1 PN 系列)通过 PROFINET 进行互连,
且无需使用已组态的连接。
设置 CPU 1 的 PROFINET:
打开 CPU 1 的设备视图“> 属性 > PROFINET 接口 > 以太网地址 > PROFINET”(> Properties > PROFINET interface > Ethernet addresses > PROFINET)。 要设置设备名称,可选择以下选项: “在设备中直接设置 IP 地址”(IP address is set directly at the device) “在设备中直接设置 PROFINET 设备名称”(PROFINET device name is set directly at the device)。 |
调整“hwid”的值:
根据本地设备 (CPU 1) 中 PROFINET 接口的硬件 ID,更改“hwid”的值。
说明 打开“PLC 变量 > 显示所有变量 > 系统常量”(PLC tags > Show all tags > System constants)。查找数据类型为“Hw_Interface”的条目“ |
创建变量并互连参数(CPU 1 中的程序)
要对该数据进行存储,需使用以下结构和变量,创建一个全局数据块(“SLI_gDB_T_CONFIG”)。
在结构“configData”中:分配系统数据类型为“IF_CONF_Header”的参数,指定 PROFINET 数据的大小,如下所示:
在结构“configData”中:分配系统数据类型为“IF_CONF_v4”的参数,定义 IP 地址,如下所示:
在结构“configData”中:分配系统数据类型为“IF_CONF_NOS”的参数,定义 PROFINET 设备名称,如下所示:
说明 “configData”的结构 “configData”结构信息说明如下所示: 在 Header (IF_CONF_Header) 中。 SubfieldCount = 2:值含义:下图中使用了 2 个附加结构(“deviceIP”,“deviceName”)(*)。 * 确保这两个结构的顺序保持不变。 在结构“deviceName”中(系统数据类型 IF_CONF_NOS) Lenght = 11 (*)。该数值等于结构 NOS 的总长度(5 个字节的设备名称“myplc” + 6 个字节的参数 Id、Length 和 Mode) * 默认起始值 (Lenght = 0) 可作为动态长度,而非绝对长度。 Mode = 1。该值将导致“myplc”中的设备名称发生永久性地更改。 NOS[1] ... NOS[5]。NOS 数组中包含有新的设备名称(1 个字符 / 字节)。 |
创建函数块“SLI_FB_T_CONFIG”,并在该数据块中创建以下局部变量。
程序段 1:互连“T_CONFIG”指令的参数,如下所示:
程序段 2:如果 T_CONFIG 出错,则保存状态信息,如下所示。
程序段 3:创建以下互连,退出 T_CONFIG。
结果
程序段 1:
输入参数 REQ(“T_CONFIG.start”)的信号状态为“TRUE”时,启动指令“T_CONFIG”。多次调用时,可使用指令“T_CONFIG”组态 CPU 中集成的 PROFINET 接口。根据输入参数 INTERFACE(“T_CONFIG.hwid”),指令“T_CONFIG”可确定所使用的接口。
数据记录 () 成功传送后,输出参数 DONE(“#done”)中的信号状态为“TRUE”。同时,“0000_0000”值将显示在输出参数 STATUS(“T_CONFIG.status”)中。由于输出参数的值仅在有效时才显示,因此成功消息将保存在变量“T_CONFIG.done”中。
输出参数 ERROR(“T_CONFIG.error”)或变量“T_CONFIG.memErrStat”)可用于指示本示例中的执行过程是否出错。
程序段 2:
如果 T_CONFIG 发出信号指示错误(“T_CONFIG.error”,“TRUE”),则将按以下方式保存报警:
将状态(“T_CONFIG.status”)保存在变量“T_CONFIG.memErrStat”中。
保存错误位置,并从 T_CONFIG 将变量“T_CONFIG.errorLocation”中错误位置输出到输出参数 ERR_LOC(“#errorLocation”)中。
在线与诊断
要检查 PROFINET 数据是否更改,可打开项目树中的以下路径:“在线与诊断 > 功能 > 分配名称”("Online & Diagnostics > Functions > Assign name)。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !