SIEMENS西门子 S120 伺服电机 1FK7022-5AK71-1LH3
Get_AlarmState:输出报警状态 (S7-1500) 说明 使用指令“输出报警状态”输出程序报警的报警状态。 有三种可能的报警状态: • 到达 • 离去 • 已确认 报警状态的输出始终是指使用“生成具有相关值的程序报警”指令创建的程序报警。 通过 Alarm 输入参数,可以选择程序报警。通过参数 Alarm 指定指令“生成具有相关值的 程序报警”的背景数据块。示例 在以下示例中,使用关联值为信号更改生成程序报警。 在全局数据块中创建一个用于存储待监视信号值的变量。 在函数块中调用指令。为函数块创建四个参数,用于互连指令。 互连该指令的参数,如下所示:创建指令时将自动生成 PLC 报警。打开“PLC 监控与报警”(PLC supervisions & alarms) 对话框, 并在“报警 > 程序报警”(Alarms >Program alarms) 选项卡中选择待编辑的报警。在报警的 “属性 > 基本设置”(Properties > Basic settings) 中,创建报警文本,包括两个关键字。 注:如果在文本框中单击右键,可以插入关键字、变量或文本列表。 作为字符序列“@1%s@”的结果,将读取参数 SD_1(“#MyStaticText”)的值并将其作为字符 串输出。例如,要输出 PLC 报警,可使用 CPU 的 Web 服务器。要使用 Web 服务器,需满足以下条件: • 在 CPU 设置中,必须激活该 Web 服务器。 使用 Internet 浏览器打开 Web 服务器(通过 CPU 的 IP 地址)并登录 Web 服务器菜单。只 要被监视的信号(“CreateAlarm”)值为“TRUE”,CPU 就输出报警文本。
下表列出了“输出报警状态”指令的参数: 参数 声明 数据类型 存储区 说明 Alarm Input ALARM_BASE D 指令“生成具有相关值的 程序报警”的实例 • Alarm.Messagetype = Alarm_AP,Ac 位的信 号状态为 0 或 1,Ag 位 的信号状态为 1 – 未激活:0x86 (1000 0110) – 已激活/未确认: 0x85 (1000 0101) – 已激活/已确认: 0x87 (1000 0111) – 离去/未确认: 0x84 (1000 0100) • Alarm.Messagetype = Notify_AP:Ac 和 Ag 位的信号状态均为 1 – 未激活:0x86 (1000 0110) – 已激活:0x87 (1000 0111) • Alarm.Messagetype = Inforeport_AP,Ac 位 和 Ag 位的信号状态均 为 1 – 未激活:0x86 (1000 0110) – (临时)激活: 0x87 (1000 0111) 如果报警未激活,则 S 位 的信号状态始终为 0。 AlarmState Output BYTE I、Q、M、D、L 作为位数组的报警状态。状态参数 • 0:无错误 • 1:指令执行过程中发 生错误。 详细信息将在 STATUS 参 数中输出。 STATUS Output WORD I、Q、M、D、L 状态参数 该参数设置仅维持一次调 用所持续的时间。要显示 该状态,需要将 STATUS 复制到一个空闲数据区。 有关有效数据类型的更多信息,请参见“另请参见”。创建“Program_Alarm”指令时将自动生成 PLC 报警。打开“PLC 监控与报警”(PLC supervisions & alarms) 对话框,并在“报警 > 程序报警”(Alarms >Program alarms) 选项卡中选择待编辑 的报警。创建报警文本,包括两个关键字。 选择以下报警设置。 若“Program_Alarm”指令的输入参数 SIG(“CreateAlarm”)的信号状态为“TRUE”,将输出 PLC 报警。 对于“Get_AlarmState”指令,会出现以下情况:PLC 报警通过输入参数 ALARM 与 “Get_AlarmState”通信。通过输出参数 AlarmState(“AS_statusBYTE”),指示对应于报警类 别“No Acknowledgement”的报警已激活。 通过输出参数 ERROR(“outputERROR”)和 STATUS(“outputSTATUS”),指示指令的处理正 在进行,且无错误。 要输出 PLC 报警,可使用 CPU 的 Web 服务器。Gen_UsrMsg:生成用户诊断报警 (S7-1200, S7-1500) 说明 可以使用“Gen_UsrMsg”指令生成在诊断缓冲区中输入的报警。 可以使用 Mode 参数选择生成到达的报警还是离去的报警: • 当 Mode = 1 时:创建到达的报警。 • 当 Mode = 2 时:创建离去的报警。 • 无论生成到达的报警还是离去的报警,报警始终具有“仅信息”(Information only) 属性。 条目在诊断缓冲区中同时创建,而报警却将进行异步传送。 如果指令在执行过程中出错,则将在参数 RET_VAL 处输出该错误。 报警的内容 之后,再通过一个文本列表定义报警的内容: • 通过参数 TextListID 指定要使用的文本列表。为此,需在项目导航中打开对话框“PLC 报 警文本列表“(PLC alarm text lists)。在对话框“文本列表”(Text lists) 中,将显示列“ID”。在 参数 TextListID 中应用该 ID。 • 使用参数 TextID 选择要写入诊断缓冲区的文本列表条目。为此,可通过应用参数 TextID 中 “起始范围/终止范围”(Range from / range to) 列的数字值,从“文本列表条目”(Text lists entries) 中选择一个条目。在文本列表条目中,“起始范围”和“终止范围”列的值必须 相同。 • 有关文本列表的更多信息,请参见“AUTOHOTSPOT”定义关联值 在文本列表条目中,可定义待添加到报警的新相关值: • 在文本列表条目中,可通过添加以下信息定义相关值: @<关联值的数量><元素类型><格式规范>@ • 使用系统数据类型 AssocValues 指定在生成报警时将添加的相关值。 • 有关相关值结构的更多信息,请参见“相关值的结构 (页 10241)” 参数 下表列出了“Gen_UsrMsg”指令的参数: 参数 声明 数据类型 存储区 说明 Mode Input UInt I、Q、M、D、L 或常量 用于选择报警状态的参 数: • 1:到达的报警 • 2:离去的报警 TextID Input UInt I、Q、M、D、L 或常量 将用于报警文本的文本列 表条目 ID。 TextListID Input UInt I、Q、M、D、L 或常量 包含文本列表条目的文本 列表 ID。 Ret_Val Return Int I、Q、M、D、L 指令的错误代码。 AssocValue s InOut AssocValues D、L 指向允许定义相关值的系 统数据类型 AssocValues 的指针。 有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 参数 AssocValues 通过系统数据类型 AssocValues,可定义待发送的相关值。所允许的Zui大相关值为 8。可通 过将数据块的数据类型设置为“AssocValues”创建该系统数据类型的结构。 并通过在参数 Value[x] 中输入相关值的值选择相关值。注意事项: • 该指令将 TextID 和 TextListID 的值作为待发送的相关值。因此,分配“1”和“2”作为寻址关 联值的数字。不得使用数字“1”或“2”寻址关联值。 • 通过参数 Value [1] 以数字“3”形式寻址相关值,通过参数 Value [2] 以数字“4”形式寻址相 关值,以此类推。在程序编辑器中,错误代码将显示为整数或十六进制值。有关切换显示格式的信息,请 参见“另请参见”。 示例 在以下示例中,生成在诊断缓冲区中输入的报警。 在全局数据块中创建五个变量和一个“AssocValues”结构(数据类型为 AssocValues),用于 存储数据。使用“文本列表”(Text lists) 条目为报警创建文本类别和文本类别条目。在参数 TextListID (“myLIST”)中应用文本列表的 ID。在参数 TextID(“myTEXT”)中应用文本列表条目的 ID(范 围 ...)。如下所示分配报警参数。 如果常开触点(“execute”)的信号状态为“TRUE”,则执行“Gen_UsrMsg”指令。根据参数 Mode(“myMODE”)的值,生成到达的报警。使用参数 TextListID(“myLIST”)和 TextID(“myTEXT”)使指令了解待输出的报警。使用参数 AssocValues(“AssocValues”)传送报警 的关联值。 生成报警时,将按下列方式解释报警文本中包含的字符串“@5I%6d@”: • 编号为“5”的关联值以 INT 数据类型读取。该编号对应于“AssocValues”结构的参数 Value[3]。 • 关联值将作为一个十进制数输出。十进制数被限制为六位数。 通过输出参数 Ret_Val(“returnValue”),指示该指令的处理无错误。Get_Alarm:读取未决的报警 (S7-1500) 说明 通过“读取未决的报警”指令,可记录用户程序中生成的报警,并将到达或离去的报警复制 到引用数据块中。这样,即可将报警作为 STRING 传送到主站计算机。 使用“OperateMode =1”调用该指令并记录报警时,可在输入“DispClassNr”处至少指定一个显 示类别。开始记录后,到达或离去的报警都不会再丢失。 通过以下输出参数指示成功登录。