您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 如何使用系统函数ALARMSQ和ALARMS生成块特定消息
问题:如何使用系统函数ALARM_SQ和ALARM_S生成块特定消息?解答:以下样例描述了如何使用系统函数SFC18生成一个公认的块特定消息。该样例还可以使用系统函数SFC17。样例:使用系统函数SFC18生成一个公认的块特定消息1.向项目中添加一个新的函数模块。2.创建一个类型为DWORD的输入标签EV_ID。3.在刚刚创建的输入标签EV_ID上单击右键并且打开属性。4.Properties-Parameters窗口打开。5.输入下图所示的两个属性和值。6.点击OK确认输入。7.现在在函数块中调用系统函数SFC18。8.向SIG输入提供一个BOOL类型标签。注意事项:必须确保只有在消息触发信号SIG的值与上一次调用相比为相反时才调用系统函数SFC17/SFC18。否则,可以通过RET_VAL来被告知并且不会发出任何消息。在第一次系统函数SFC17/SFC18被调用时,e必须确保SIG输入为“1”。否则将通过RET_VAL得到一个错误消息并且不会发出任何消息。9.对于ID参数,必须指定值W#16#EEEE(消息的数据通道)。10.对于EV_ID参数,指定函数块的输入标签EV_ID。11.对于SD参数(类型:任何指针),可以定义一个长达12比特的伴随值。注意事项:只允许以下的数据类型:BOOL(位区域不被允许),BYTE,CHAR,WORD,INT,DWORD,DINT,REAL,DATE,TOD,TIME,S5TIME,DATE_AND_TIME,COUNTER和TIMER。12.如果在系统函数的运行期间发生了一个错误,那么可以通过RET_VAL输出一个错误消息。13.以下图片显示了一个用于互相连接的系统函数SFC18.14.储存函数块并且切换到SIMATIC管理器。15.调用函数块,例如组织块OB1中的。16.保存组织块OB1且返回到SIMATIC管理器。17.右键单击函数块的情景数据块,并且在打开的下拉菜单内选择SpecialObjectPropertiesMessages。18.ConfigureMessage窗口打开。在Text标签内,组态消息文本和相关的帮助。如果想要在消息中插入一个伴随值,e那么请参照Insertaccompanyingvaluesintomessages下的在线帮助。当完成组态时,点击OK关闭窗口。19.将块载入到CPU.20.测试消息,请选择S7program存储器,然后到PLCCPUlogon。21.CPUlogon窗口打开。点击A.(A:激活ALARM_SQ(SFC17)和ALARM_S(SFC18))下面的复选框22.然后消息会显示在监视器上。相对“CPUlogon”的另一个选择是将生成的消息输出到OP或WinCC。请参照相关组态软件的在线帮助来了解如何组态OP或在WinCC中组态。下载:样例中包含带有函数块FB1到FB9的一个STEP7V5.1项目,该项目使用的是系统函数SFC18。他们在OB1中被调用。通过变量表TEST&CONTROL来设置标志位M0.0到1.0,可以生成不同的消息,这些消息带有不同的伴随值,可作为输入和输出操作消息。该项目包含了每一个函数块的注释的STL原型,情景数据块,全局数据块和OB1。问题:可以集成文本到S7-GRAPH的消息中,并通过,例如,功能“CPUmessages...”显示它们吗?解答:当已创建STEP7项目和S7-GRAPH定序器时,在S7-GRAPH中通过“OptionsBlockSettings...”打开块设置,在“Messages”标签中选择“MessageswithALARM_SQ/ALARM_S(SFC17/SFC18)”来进行消息处理。使用这个选项,在CPU的消息存储器中输入消息数和步数。当要确认显示的消息时,选中选项“InterlockandSupervisionwithdisplayacknowledgment”。表1:块设置现在通过“FileSave”保存S7-GRAPHFB。然后点击“Edit”按钮,打开应用程序“MessageConfiguration”,此处可以编辑与块相关的消息和消息类型。使用游标,例如,消息类型“GRAPH7_SUPERVISION_FAULT”。在“Generalmessagetext”窗口中显示下列消息代码.S7GRAPH监管出错:FB1、DB1、S@1W%03u@@1W%t#S7GraphFB1@在通配符的前后,可以编辑消息文本或添加文本。例如,工厂1中的故障:FB1、DB1、S@1W%03u@@1W%t#S7GraphFB1@,检查材料图2:编辑消息(34KB)(34K字节)点击“OK”和使用用户标示的指针保存并关闭消息组态和块设置,例如,定序器中的步骤1。在“ViewSingleStep”中选择单步显示。此处可以编程监视(监管),如图3中所示。图3:S7-GRAPH单步显示使用鼠标标志步“S1”。通过“Right-clickObjectProperties”,在“Properties-Step”中输入扩展名。这是工厂1中步S1特定的文本区。图4:S7-GRAPH属性-步点击“OK”保存,并通过“FileSave”编译S7-GRAPH。在系统文本库中输入消息文本的扩充“Nomaterialavailable”。在上面给出的格式为“@1W%t#S7GraphFB1@”的通配符中,“1W”是索引或WORD类型消息的第一个关联值;“S7GraphFB1”是系统文本库的名称。稍后,用户可以修改文本库中的消息文本。为此,在SIMATIC管理器中通过“OptionsTextLibrariesSystemTextLibrary”,打开可用的系统文本库,再打开FB1中定序器的系统文本库“S7GraphFB1”。现在就从S7-GRAPHFB1中获得了已组态步(此处适用于索引1到5)的消息文本。图5:S7-GRAPH块FB1的系统文本库例如在OB1中调用S7-GRAPHFB,并加载所有的块到CPU中。于是就可以使用“CPUmessages”功能显示消息。在SIMATIC管理器中,通过“PLCCPUMessages...打开此功能,并激活选项“A”/b(用来显示Alarm_S块的Alarm_S消息)。图5:在CPUMessages中显示Alarm_S消息(23KB)(23K字节)如果通过AND语句触发监视(如图3所示),那么在步1中定序器进入故障状态。于是在CPUMessages中显示下列消息:</b工厂1中的故障:FB1、DB1、S001无可用的材料,检查材料当故障已清除后,须使用S7-GRAPH块上的参数“ACK_EF”确认消息。有关于此的更多消息可以从S7-GRAPH的在线帮助的下列条目中获得:“Messagehandling”“Creatingmessages”以及“Messageconfiguration(block-specificmessages)”。注意事项:如果在消息标签(菜单命令OptionsBlockSettings)中已设置选项“MessageswithALARM_SQ/ALARM_S(SFC17/SFC18)”,则不可手动创建或删除S7-GRAPH的背景数据块,否则可能会丢失消息。因此,背景数据块将自动处理。我们为此创建了一个钻孔设备的简单示例程序。定序器FB1有下列5个处理步:步1:抬高材料(M2.1)步2:转动材料180°(M2.2)步3:钻材料(M2.3)步4:转动材料90°(M2.4)步5:放低材料(M2.5)锁存所有的步。这意味着,在定序器进入步2前,必须先执行并完成步1,以此类推。为操作提供了标志M2.1到M2.5。在每步中由标志1.0(发布)激活和取消激活定序器。为每步编写了一个2秒的定时器,这样定序器每隔2秒自动移到下一步。为每步(M3.1到M3.5)编程监视。如果设置,例如,M3.3为“TRUE”,那么定序器在步3中进入故障状态。步3显示为红色,并在“CPUMessages”中显示组态消息。在这种情况下,为每步编程消息文本扩充,从而可以执行5个故障和5条不同的消息。在OB1中调用定序器,使用标志M10.0到M10.2分配参数“OFF_SQ”、“INIT_SQ”和“ACK_EF”。spanlang=DE如果在步3中清除了故障,例如,(M3.3为“FALSE”),那么定序器为了能继续运行,须首先使用标志10.2(ACK_EF)进行确认。</p下载:附上的两个下载链接包含带有上述块的相同STEP7项目,一个是德语版的(“Meldungen_integrieren”),另一个是英语版的(“Message_Integration”)。德语示例程序:Meldungen_integrieren.exe(716KB)英语示例程序:Message_Integration.exe(712KB)复制“Meldungen_integrieren.exe”或“Message_Integration.exe”文件到一个独立的目录下,双击启动文件。STEP7V5.2项目连带相关的子目录一起自动解压缩后,可以使用SIMATIC管理器打开和处理此项目。下表列出了用于创建该条目并校验所述功能的组件:测试环境版本PC平台奔腾III,800MHz,260MB内存PC操作系统MicrosoftWindowsXPV5.1SP1STEP7STEP7V5.2SP1选项包S7-GRAPHV5.2SP2S7CPUCPU417-4V3.1问题:如何在CPU诊断缓存中输入纯文本消息?解答:为了在CPU诊断缓存的纯文本内写入用户指定消息必须进行:1.)在STEP7中配置消息。2.)写入诊断缓存所需的事件ID。图1:有用户指定消息文本的诊断缓存该条目描述了在STEP7中如何配置一个消息文本,如何将相关事件ID结构化及如何写入到有SFC52“WR_USMSG”的诊断缓存。附件实例程序包括有配置消息的STEP7项目,程序块在诊断缓存内根据输入值写入相关事件ID。注意事项:条目ID15166942描述了如何使用系统函数“WR_USMSG”(SFC52)写入用户指定事件,该事件包括诊断缓存的任何附加信息。在该条目中有一个功能块调用SFC52以便只用需要的基本数据块。在相关的实例程序中直接调用SFC52,因为在这种情况下仅需要事件ID。其它附加信息不需要。消息文本用STEP7组态并保存到程序中.组态一个用户指定消息STEP7首先打开消息组态对话框。选择项目树中的“S7Program”目录然后通过弹出菜单(右击)打开消息配置窗口“特殊对象属性”-“消息...”。按“新消息”按钮出现一个条目显示新消息从而可做相应的修改。图2:消息配置窗口在该例中配置下列消息:窗口输入(德语)消息指示符WR_USMSG(1)(默认)错误类别A(默认)消息号2输入的消息文本温度太高(由事件是来或去决定)例:A102输出的消息文本温度OK(由事件是来或去决定)例:A002注意事项:自定义诊断消息只能显示在PG上不能传送到操作系统。显示诊断文本需要PG上的STEP7项目。使用SIMATIC管理器上的功能:“选项”-“使用多种语言的文本管理”,可以设置另一种语言(对消息文本和注释)。附件项目可以使用两种语言(德语/英语)。事件ID结构与消息关联的事件ID由下面内容组成:W#16#错误类别输入/输出的消息代码十六进制中的消息编号错误类别:A或B(见组态屏蔽)输入/输出的消息代码:输入的消息='1';输出消息='0'消息编号:在十六进制格式中的组态屏蔽号对于组态消息有下列事件ID:W#16#A102-输入的消息“温度太高”W#16#A002-输出的消息“温度OK”实例程序描述此例中,根据温度值,两个消息文本之一“温度OK”或“温度太高”写入S7CPU的诊断缓存内。当调用FB1(在OB1中)时,数值“100”作为限定
本文标题:如何使用系统函数ALARMSQ和ALARMS生成块特定消息
链接地址:https://www.777doc.com/doc-28833 .html