全国服务热线 15801815554

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

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



               使用数据日志的示例程序 (S7-1200, S7-1500) 简介 在以下示例程序中,创建一个数据日志,将一条或多条记录写入该数据日志,关闭和打开该 数据日志,并基于该数据日志创建新文件。在该示例中,还可以删除数据日志。该示例中还 可以编辑Zui多八个数据日志。有关各个指令的详细信息,请使用相应的链接打开相应的帮助说明。 使用数据记录的一般注意事项 • 执行“DataLogCreate”和“DataLogNew”指令时,将自动打开所创建的数据记录。 • CPU 从 RUN 切换至 STOP,或者 CPU 重新启动后,将自动关闭数据记录。 • 要执行“DataLogWrite”指令,必须打开数据记录。 • 对于 S7-1200 CPU,Zui多可同时打开八个数据记录。对于 S7-1500 CPU,Zui多可同时打 开十个数据记录。 要求 在 CPU 属性中进行以下设置: • 在“PROFINET 接口 > 访问 Web 服务器”(PROFINET interface > Access to the web server) 中,激活 Web 服务器访问。 • 在“Web 服务器”(Web server) 条目中,启用该模块的 Web 服务器。 • 在“用户管理”(User administration) 部分,创建一个具有文件读写和删除权限的新用户。 数据的存储 调用和编辑某个数据日志时,需要该数据日志的名称和 ID。为数据日志条目创建存储器,以 防这些数据丢失。可通过 PLC 数据类型“stackDataLog”定义数据日志条目的结构。 创建以下变量,在全局数据块 (SLI_gDB_Datalogging) 中进行数据存储。这其中还有用于数 据日志条目的存储器和用于控制存储器的变量。 注:如果还想要从 CPU 的装载存储器中物理删除数据日志,请使用值为“TRUE”的 “DLdelete.deleteMode”变量。

              数据块(“SLI_gDB_Datalogging”)用于创建 (DataLogCreate (页 3303)) 或删除 (DataLogDelete (页 3323)) 一个数据日志。将“myData”结构的 3 个条目用作过程值:count、 temerature 和 pressure。在数据块中,暂时存储这三个值,然后使用“DataLogWrite (页 3318)”指令将其作为数据记录传送到数据记录。 数据记录在以下条目之后组成: • 数据记录号(自动分配) • 日期(当对 DataLogCreate 使用“1”时在 TIMESTAMP 参数中自动分配)。 • 时间(当对 DataLogCreate 使用“1”时在 TIMESTAMP 参数中自动分配)。 • 结构“myData”中“count”的当前值。 • 结构“myData”中“temperature”的当前值。 • 结构“myData”中“pressure”的当前值。 使用全局数据块“SLI_gDB_DataLogW”,为写入数据记录(DataLogWrite: (页 3318))提供 过程值。程序段 1:通过输入参数“#name”和“#logID”来传输变量“name”和“ logID”的值。 程序段 2:“nextPosInstack”变量指定了“dataLogEntries”数组中要用于数据日志条目的存储 位置。“maxPosEntry”变量指定了“dataLogEntries”数组中Zui后一个单元格。按如下步骤将变 量“nextPosInstack”与“maxPosEntry”的值互连,用于进一步处理。 程序段 3:按以下方式将名称和 ID 存储在“dataLogEntries”数组中。 程序段 4:为确保将新的数据日志存储在存储器的不同条目中,请递增变量 “nextPosInStack”。 注:当达到存储限制(“#maxPosEntry”)时,“nextPosInStack”变量不再递增,而是复位为值 “0”。这表示新数据日志的数据会覆盖旧数据日志中的数据。函数“SLI_FC_callEntry_DataLog”:参数互连 要调用选定数据日志条目的名称和 ID,请创建函数“SLI_FC_callEntry_DataLog”。在该函数中 创建以下局部变量。通过“callEntry”变量指定选择的数据日志条目。 程序段 1:按如下步骤将变量“callEntry”的值互连,用于进一步处理。函数“SLI_FC_deleteEntry_DataLog”:参数互连 要删除数据日志条目中的数据,请使用函数“SLI_FC_deleteEntry_DataLog”。在该函数中创 建以下局部变量。程序段 2:如果变量“callEntry”的值不大于变量“maxPosEntry”的值,则会发生以下情况: • 变量“callEntry”的值将传输到输入参数 #deleteEntry。通过变量“callEntry”选择要删除的数 据日志条目。 • 将会复位选定数据日志条目的变量“dataLogEntries.name”、“dataLogEntries.ID”和 “dataLogEntries.DLclosed”。 这些互连呈现如下形式。程序段 1:在指令 DataLogCreate (页 3303) 的输入参数 REQ(“DLcreate.execute”)的上升 沿处,启动数据日志的创建。 DataLogCreate 的输出参数 DONE(“#createDone”)只适用于一个循环。因此,需将其值保 存在变量“DLcreate.dlogCreated”中。该过程会将变量“DLcreate.execute”复位。 如果发生错误,则将状态(“DLcreate.status”)保存在“DLcreate.memErrStatus”变量中。程序段 2:通过使用函数“SLI_FC_saveEntry_DataLog”保存数据日志的名称和 ID。如果参数 DONE(“#createDone”)的信号状态为“TRUE”,则执行存储操作。 程序段 3:在上升沿处,将触发将新过程值存储在“myData” 结构中。这一步用于临时在数据 块“SLI_gDB_DataLogging”中存储所需的过程值。 此外,还可使用函数“SLI_FC_callEntry_DataLog”调用所需的数据日志。通过“callEntry”变量, 可根据“dataLogEntries”数组中的数据日志条目选择数据日志。程序段 4:如果已创建一个数据日志,并且变量“logID”的值不为“0”,则置位 DataLogWrite (页 3318) 的输入 EN。执行查询是因为生成过程跨越了多个循环,且必须在完成后才能执行 写操作。在输入参数 REQ(“DLwrite.execute”)的上升沿处,将触发写入数据记录。 DataLogWrite 的成功状态(“#writeDone”为“TRUE”)通过“DLwrite.memDone”变量进行存 储。该过程会将变量“DLwrite.execute”复位。 如果发生错误,则将状态(“DLwrite.status”)保存在“DLwrite.memErrStatus”变量中。如果 状态为“16#0001”,指令“DataLogWrite”会自动启动数据日志的关闭(“DLclose.execute”为 “TRUE”)。数据日志中的数据记录数目 数据日志设计为包含 5 条数据记录(请参见“程序段 1”)。 这意味着: • 在 5 条数据记录之后,使用指令 DataLogWrite (页 3318),将值“0001”输出到参数 STATUS (“DLwrite.status”)中。 • 在文件末尾,创建Zui后一个可能的数据记录。如果创建了其它数据记录,则覆盖较早的数据 记录。 程序段 5:在关闭数据日志之前,请(通过“callEntry”)选择要关闭的数据日志。当常开触点 (“DLclose.execute”)的信号状态为“TRUE”时,根据“dataLogEntries”数组中的条目来调用所 需的数据日志。此外,将“#executeClose”设置为“TRUE”。为此,请创建以下互连。程序段 6:写入Zui后一个数据记录或者处理完数据日志之后关闭数据日志。 为此,将执行 DataLogClose (页 3321) 指令的 REQ(“#executeClose”)输入置位。数据日志 关闭后,无法再写入数据记录。 DataLogClose 的成功状态(“#closeDone”为“TRUE”)通过“DLclose.memDone”变量进行存 储。程序段 10:必须使用 DataLogOpen (页 3313) 指令再次打开数据日志以便稍后再写入数据 记录。此后,如果使用 DataLogWrite (页 3318) 写入其它数据记录,则始终覆盖Zui早的数据 记录。 DataLogOpen 的成功状态(“#openDone”为“TRUE”)通过“DLopen.memDone”变量进行存 储。“#openDone”的否定结果通过“#memOpenDone”变量进行保存。程序段 13:要在数据日志的基础上创建一个新文件,首先必须(通过“callEntry”)选择要使 用的数据日志。当常开触点(“DLnewfile.execute”)的信号状态为“TRUE”时,根据 “dataLogEntries”数组中的条目来调用所需的数据日志。为此,请创建以下互连。程序段 14:如果不想覆盖较早的数据记录,可以使用“DataLogNewFile (页 3327)”指令创 建具有相同结构的新数据记录。为此,要在指令的 ID 参数中输入您要复制其结构的现有数 据记录的 ID。在“DataLogNewFile”指令执行完毕后,将为新数据记录分配唯一新 ID 值。 在输入参数 REQ(“#stateMem5”)的上升沿时,将触发创建过程。DataLogNewFile 的成功 状态(“#newFileDone”为“TRUE”)通过“DLnewfile.memDone”变量进行存储。如果发生错 误,则将状态(“#newFileStatus”)保存在“DLnewfile.memErrStatus”变量中。

联系方式

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