全国服务热线 15801815554

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

更新时间:2024-07-02 08:00:00
价格:请来电询价
西门子:代理商
S120:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机:15801815554
联系人:邓经理
让卖家联系我
详细介绍



           如果写入一个由指令创建的 DB 时,“WRIT_DBL”指令则不能更改用户程序的校验和。但是, 在写入已装载的 DB 时,此 DB 中的第一个条目会更改用户程序的校验和。 说明 “WRIT_DBL”不适用于频繁地(或循环)将变量写入装载存储器中。这是因为,存储卡的工艺 限制了对此卡的写访问次数。 使用“WRIT_DBL”在工艺对象中写入重新启动相关值 有关使用“WRIT_DBL”在工艺对象中写入重新启动相关值时需遵循的规则,请参见 “AUTOHOTSPOT”。 功能描述 “WRIT_DBL”为异步执行指令,该指令的执行可跨多个调用。通过调用“WRIT_DBL”,且 REQ = 1,可启动该作业。 输出参数 RET_VAL 和 BUSY 用于指示作业状态。 另请参见“同步指令和异步指令之间的不同之处”。 参数 下表列出了“WRIT_DBL”指令的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L 或 常量 REQ = 1:写入请求 SRCBLK Input VARIANT D 指向工作存储器中的 DB 的指针,需要从 该工作存储器读取数据 RET_VAL Return INT I、Q、M、D、L 错误信息 BUSY Output BOOL I、Q、M、D、L BUSY = 1:写入过程尚未完成。 DSTBLK Output VARIANT D 指向装载存储器中待写入数据块的指针 有关有效数据类型的更多信息,请参见“有效数据类型概述。

          在以下示例中,将工作存储器中的数据块内容传送到装载存储器的一个数据块中。要验证传 输是否成功,则可数据工作存储器中另一个数据块中的内容。 要存储互连数据,需在全局数据块中创建 5 个变量。 要存待传送的数据,需创建 3 个全局数据块并分别带有一个“myData”变量(数据类型 Array of INT): • 一个数据块用于发送工作存储器中的数据 (SLI_srcDB_WRIT_DBL)。 • 一个数据块用于接收装载存储器中的数据 (SLI_dstDB_WRIT_DBL)。 • 一个数据块用于接收工作存储器中的数据 (SLI_finDB_WRIT_DBL)。 程序段 1: 互连“WRIT_DBL”指令的参数,如下所示指令“WRIT_DBL”: 如果常开触点(“execute”)的信号状态为“TRUE”,则执行“WRIT_DBL”指令。该数据块通过输 入参数 SRCBLK(“SLI_srcDB_WRIT_DBL.myData”)存储在装载存储器中。该数据块将通过输 出参数 DSTBLK(“SLI_dstDB_WRIT_DBL.myData”)存储在装载存储器中。指令“WRIT_DBL”将调用工作存储器中待传送的数据 (SRCBLK),并将这些数据写入装载存储 器的指定位置 (DSTBLK)。输出参数 RET_VAL(“returnValue”)用于指示处理无错误。 指令“READ_DBL”: 如果 WRIT_DBL 的执行无错误且常开触点(“execute”)的信号状态为“TRUE”,则执行 “READ_DBL”指令。通过输入参数 SRCBLK(“SLI_dstDB_WRIT_DBL.myData”),将该数据块存 储在装载存储器中。该数据块用于接收数据,并通过输出参数 DSTBLK (“SLI_finDB_WRIT_DBL.myData”)进行存储。 指令“READ_DBL”将调用装载存储器中待传送的数据 (SRCBLK),并读取工作存储器中指定位 置处的的数据 (DSTBLK)。输出参数 RET_VAL(“readRetVal”)用于指示处理无错误。 该数据块用于接收工作存储器 (SLI_finDB_WRIT_DBL) 中的数据,并显示已发送的数据。ATTR_DB: 读取数据块属性 (S7-1200, S7-1500) 说明 可使用指令“ATTR_DB”获取有关 CPU 的工作存储器中某个数据块 (DB) 的信息。该指令可决 定所选 DB 的 ATTRIB 参数中的属性集。 对于优化访问类型的数据块和仅位于装载存储器中的数据块,其长度无法读取。此时,参数 DB_LENGTH 的值为“0”。 请勿将 ATTR_DB 应用于具有优化访问且激活了预留存储空间的数据块。 请勿通过指令“ATTR_DB”读取运动控制数据块。因此,将输出错误代码 80B2。 参数 下表列出了“ATTR_DB”指令的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L 或常 量 REQ = 1:块属性读取请求 DB_NUMBE R Input DB_ANY I、Q、M、D、L 或常 量 要测试的 DB 的编号 RET_VAL Output INT I、Q、M、D、L 错误信息DB_LENGT H Output UDINT I、Q、M、D、L • 所选 DB 中的数据字节数。 • “0”表示优化访问的数据块和仅位于装载存储 器中的数据块。 ATTRIB Output BYTE I、Q、M、D、L DB 属性: • 第 0* 位 = 0:未设置属性“仅存储在装载内 存中”(Only store in load memory)。 • 第 0 位* = 1:已设置属性“仅存储在装载内 存中”(Only store in load memory)。 • 位 1 = 0:未设置属性“在设备中写保护数据 块”(Data block write-protected in the device)。 • 位 1 = 1:已设置属性“在设备中写保护数据 块”(Data block write-protected in the device)。 如果第 0 位 = 1,则第 2 位不受影响,并且值为 1。 • 位 2 = 0:保持型 - 如果至少一个值设置为保 持型,则数据块将被视为保持型。 • 位 2 = 1:非保持型 - 整个 DB 都不是保持型。 • 位 3 * = 0:该 DB 在装载存储器(第 0 位 = 1)或工作存储器(第 0 位 = 0)中。 • 位 3 * = 1:装载存储器和工作存储器中均会 生成该 DB * 将在指令“CREATE_DB:创建数据块 (页 3347)”的参数中说明位 0 和位 3 之间的关系。 有关有效数据类型的更多信息,请参见“有效数据类型概述。函数块“SLI_FB_ATTR_DB”)的结果 如果常开触点(“startAttr”)的信号状态为“TRUE”,则执行“ATTR_DB”指令。通过输入参数 DB_NUMBER(“SLI_srcDB_ATTR_DB”),可存储待评估数据块的编号。指令“ATTR_DB”将基 于该编号调用数据块,并在输出参数 ATTRIB(“#statAttrByte”)中输出当前状态。在输出参 数 DB_LENGTH(“readLenByte”)处,将输出 BYTE 中数据块所读取数据 (4 INT) 的长度(值 “8”)。 通过函数“SLI_itemiseByte_ATTR_DB”,将输出参数 ATTRIB 中的十六进制值转换为一个位字 符串。位序列“00110000”(位 0 到 7)表示: • 不仅仅只存在于装载存储器中的数据块。 • 未写保护的数据块。 • 非保持性数据块。 • 在装载存储器和工作存储器中均生成的数据块。 输出参数 RET_VAL(“attrRetVal”)用于指示处理无错误。DELETE_DB:删除数据块 (S7-1200, S7-1500) 说明 说明 “DELETE_DB”与 S7-1500R/H-CPU 结合使用 仅固件版本为 V3.0 及更高版本的 SIMATIC S7-1500R/H-CPU 支持指令“DELETE_DB”。 “DELETE_DB”指令用于删除通过调用“CREATE_DB (页 3347)”指令由用户程序创建的数据块 (DB)。 如果数据块不是通过“CREATE_DB”创建的,将通过参数 RET_VAL 输出错误代码 W#16#80B5。 选定的数据块不是立即删除,而是在执行循环 OB 后的循环控制点处删除。 功能描述 “DELETE_DB”为异步执行指令,可以跨多个调用执行。在 REQ = 1 时调用该指令,将开始中 断传送。 输出参数 BUSY 和输出参数 RET_VAL 的第 2 个和第 3 个字节用于显示作业状态。 当输出参数 BUSY 的值为 FALSE 时,数据块的删除操作完成。 参数 下表列出了“DELETE_DB”指令的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L 或常量 REQ =1:请求删除参数 DB_NUMBER 中该编 号的数据块 DB_NUMBER Input UINT I、Q、M、D、L 或常量 要删除的 DB 的 编号 RET_VAL Output INT I、Q、M、D、L 错误信息(请参见“RET_VAL 参数”) BUSY Output BOOL I、Q、M、D、L BUSY =1:该过程尚未完成。 有关有效数据类型的更多信息,请参见“有效数据类型概述。CREATE 函数的编程示例 (S7-1200, S7-1500) 简介 在以下示例中,在装载存储器中创建一个数据块,读取该数据块中的内容后将其删除。互连参数:“SLI_itemiseByte_CRDfunctions”函数 创建函数“SLI_itemiseByte_CRDfunctions”,将变量“setAttrBool”的值转换为变量 “#statAttByte”。 在该函数中创建以下局部变量。 程序段 1:根据程序段 1 中的示例,为该局部变量中的所有位 (0..7) 创建互连。程序段 1 的结果 函数“SLI_itemiseByte_CRDfunctions”用于转换 BOOL 数据类型 BYTE(“#statAttByte”)数组 的 DB 属性(“setAttrBool”)。 程序段 2 的结果 - “CREATE_DB”指令 如果常开触点(“startCreate”)的信号状态为“TRUE”,则执行“CREATE_DB”指令。在该过程 中,将基于输入参数 COUNT(“setLenByte”)创建一个长度为 8 个字节的新数据块。通过输 入参数 LOW_LIMIT(“lowLim”)或 UP_LIMIT(“hiLim”),可指定待创建数据块的编号。用 于创建数据块的属性(位于 BYTE)存储在输入参数 ATTR(“#statAttByte”)中。仅在装载存 储器中创建数据块,并填充所定义的数据。数据块将存储在输入参数 SRCBLK (“SLI_srcDB_CREATE_DB.myData”)中,并用作新数据块的内容模板。 输出参数 RET_VAL(“CreateRetVal”)用于指示处理无错误。指令“CREATE_DB”执行后将保持 为未激活状态(“createRetVal”的值为“16#7000”)。执行结束后,将立即在输出参数 DB_NUM(“#nbrNewDB”)中输出新数据块的编号。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061