SIEMENS西门子 S120伺服电机1FK7022-5AK71-1LG5

供应商
浔之漫智控技术(上海)有限公司
认证
西门子
代理商
S120
全新原装 假一罚十
德国
正品现货 实体经营
联系电话
15801815554
手机号
15801815554
联系人
邓经理
所在地
上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
更新时间
2024-07-04 08:00

详细介绍


              wrrec:写入数据记录 (s7-1200, s7-1500) wrrec: 写数据记录 (s7-1200,s7-1500) 说明 指令“wrrec”用于将 record 数据记录传送到地址为 id 的组件中。该组件可以是中央机架中的一个模块或一个分布式组件(profibus dp 或 profinet io)。 • 通过 id参数,可选择待写入数据记录的模块。对于 id 参数,仅使用模块的硬件标识符 (hw id)。模块的硬件标识符,位于“plc 变量> 系统常量”(plc tags > system constants) 中。例如,s7-1500 di模块:将显示为数据类型为“hw_submodule”的。 • 使用 index参数,可选择待写入的数据记录。该模块将确定数据记录编号与待写入的数 据记录。更多信息,请参见相关模块的手册。 • 使用 len指定要传输的数据记录的长度(字节)。选择长度至少为 len 个字节的源区域 record。 • 输出参数 done 的值为 true时,表示数据记录已成功传送。 • 如果在数据记录的传送过程中发生错误,则通过输出参数 error 指示错误。此时,输出 参数status 中包含错误信息。 说明 指令“wrrec”的接口与标准“profibus and profinet guidelinecommunication function blocks on profibus dp and profinetio”中定义的“wrrec”函数块接口相同。 功能描述 “wrrec”为异步执行指令,可以跨多个调用执行。当 req = 1时,调用“wrrec”,将启动数 据记录传送。 作业状态通过输出参数 busy 和输出参数 status的两个中间字节显示。status 的两个中间 字节与异步工作的指令的 ret_val 输出参数相对应。另请参见“同步指令和异步指令之间的不同之处 (页 715)”。 请注意,对于属于同一任务的所有“wrrec”调用,必须为record 的实参指定相同的值。这 同样适用于 len 的实参。 输出参数 busy 的值为 false时,表示数据记录已传送完成。程序段 3:当常开触点(“error”)的信号状态为“true”时,如果发生错误(“memerrstatus”),则系统保存该状态(“#statusexe”)。同时复位变量“checkedvalid”和“startread”,并停止 rdrec 的执行。函数块“sli_fb_choosestruct_rdiag”的执行将无法启动。 程序段 4: rdrec完全执行后(“#statusexe”的值为“16#0070_0200”),“startread”将置位为“false”。 并停止rdrec 的执行。 程序段 5: 如果常开触点(“startread”)的信号状态为“true”,则将跳转到程序段 1的“rdrec”标签处 (使用 "jmp" 指令)。 程序段 6:如果变量“checkedvalid”的信号状态为“true”,且变量“reset”的信号状态为“false”,则在函数块“sli_fb_choosestruct_rdiag”中启动排序过程。在函数块“sli_fb_choosestruct_rdiag”中,将选择相应数据记录的结构类型以及与userstructureidentifier 相匹配的结构类型。系统将数据记录的数据复制到相应数组中的正确位置中。之后,将根据相应数据记录的大小多次重复执行以上操作。此时,系统将读取一个 或多个通道的信息。如果对数据记录内容进行操作后,“数据记录的长度 + 前置长度”(“#allreclen”)小于所有读取的数据长度(“readlength”),则将从顶部重新开始函数块的执行。此时,系统将读取另一个数据记录、进行内容比较,并将该数据记录的数据复制到相应数组的正确位置处。

              通过将局部变量(“#readcomplete”、“#dbcomplete”、“#limitreach”)和全局变量“checkedvalid”设置为“false”,可完成排序过程。 基于以下变量,可记录该排序过程: •“data_sorting_done”:该变量用于指示函数块“sli_fb_choosestruct_rdiag”的执行已结束。同时变量“checkedvalid”复位,表示该函数块无法重新执行。 •“outputoverflow”:该结构中包含三个变量,每个变量分别记录不同的数组超出限值错误。例如,读取的数据记录数量超出相应数组(“recorda”或“recordb”)可存储的大数 量。 •“different_structs_used”:如果使用“recorda”和“recordb”存储诊断数据记录,则变量“different_structs_used”将返回值“true”。 • “countrecs”:该变量用于计数复制的数据数目。 •“choosestruct”:该变量用于指示上一次所用的结构。值“4”用于指示“recordb”结构中上一 次以“usi type1”形式存储的数据记录。 •“posforrec”:该变量将存储数据记录(“recorda”或“recordb”)的数组中近使用的位置。值“1”用于指示“recordb[1]”中上一次存储的数据记录(参见“choosestruct”)。 •“posforchannel”:该变量将存储通道(“usi_detailstype[x]”)的数组中近使用的位置。值“0”用于指示“recordb[1]/usi_detailstype[0]”中存储的通道(参见“choosestruct”和“posforrec”)。在 s7-1500-r/h 系统的 syncup 系统状态下调用 wrrec 在 s7-1500-r/h系统的 syncup 系统状态下调用 wrrec 指令时,通常返回错误代码 0x7001 和0x7002。即使出错(如,数据记录目标不存在),也不会生成其它错误代码。此时,仅 当 syncup状态结束后,才会生成正确的错误代码。 需要循环调用 wrrec 才能实现 syncup 系统状态的动态响应。 参数下表列出了“wrrec”指令的参数: 参数 声明 数据类型** 存储区 说明 req input bool i、q、m、d、l、t*、c* 或常量 req = 1:传送数据记录 id input hw_io i、q、m、d、l 或 常量 硬件组件(dp/profinet io) 的 id 号 该编号自动分配并存储在硬件配置的组件 或接口属性中。 index input dinti、q、m、d、l 或 常量 数据记录编号 len input uint i、q、m、d、l 或 常量 (隐藏)要传输的数据记录的大长度(字节) done output bool i、q、m、d、l 数据记录已传送 busy outputbool i、q、m、d、l busy = 1:写入过程尚未完成。 error output bool i、q、m、d、l error= 1:写入过程中发生错误。 status output dword i、q、m、d、l 块状态或错误信息 有关 status参数的解释,请参见下文。 record inout variant i、q、m、d、l 数据记录 * 仅适用于 s7-1500。 **stl 中不支持隐式转换,因此有效数据类型的范围会受到限制。在 stl 中进行编程时,请注意有效的数据类型。这些信息将显示在参数工具提示中。 有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 说明如果使用“wrrec”写入 profinet io 的数据记录,则 index 和 len 参数中的负值将被解释 为无符号 16位整数。通过 wrrec 和 rdrec 使用参数数据记录的程序示例 (s7-1200, s7-1500) 简介 在以下示例中,将通过rdrec 读取数字量输入模块的参数数据记录,并通过 wrrec 重新写 入该数据记录。为此,需要更改输入延时。有关数据记录的更多信息,请参见“数据记录类型概述 (页 2770)”。 要求 创建以下变量,在全局数据块中进行数据存储: •2 个通用变量和 7 个用于 wrrec 的变量:程序段 1 的结果: 创建一个输入模块并读取该输入模块属性中的硬件id。并通过输入参数 id(“id”)存储该硬 件标识符。通过输入参数index(“datarecnbr”),系统将调用该模块中编号为“3”的数据记 录。该数据记录对应同名的通道。 输入参数req(“startread”)返回信号状态“true”时,启动指令“rdrec”。“rdrec”指令将通 过输入参数id(“id”),调用该输入模块。 多次调用后,“rdrec”指令将读取该数据记录,并通过参数record(“#readbyte”)进行保 存。通过输出参数len(“#readlength”),可存储所读取数据记录的长度。根据输入参数mlen(“maxreadlength”)的值,待读取的数据记录信息将限制为 4 个字节。 在执行过程中,输出参数busy(“readbusy”)将置位为“true”;valid(“#readcheck”)将 置位为“false”。执行完成时,将输出成功读取的结果,如下所示: • 输出参数valid(“#readcheck”)将置位为“true”,变量“readcheckedvalid”将yongjiu性地置位为“true”。 • 此外,局部变量“#readlength”的值也将yongjiu性地存储在变量“readlength”中。并在输出参数 status(“readstatus”)处,显示该块的状态。该过程成功执行且无任何错误。

Wincc软件,G120变频器,V90电机,交换机精智面板,PLC模块

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话