如何使用系统函数ALARMSQ和ALARMS生成块特定消息_第1页
如何使用系统函数ALARMSQ和ALARMS生成块特定消息_第2页
如何使用系统函数ALARMSQ和ALARMS生成块特定消息_第3页
如何使用系统函数ALARMSQ和ALARMS生成块特定消息_第4页
如何使用系统函数ALARMSQ和ALARMS生成块特定消息_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、l 问题:如何使用系统函数"ALARM_SQ"和"ALARM_S"生成块特定消息? 解答:以下样例描述了如何使用系统函数SFC 18生成一个公认的块特定消息。该样例还可以使用系统函数SFC17。 样例:使用系统函数SFC 18 生成一个公认的块特定消息 1. 向项目中添加一个新的函数模块。 2. 创建一个类型为DWORD的输入标签"EV_ID" 。 3. 在刚刚创建的输入标签"EV_ID"上单击右键并且打开属性。 4. "Properties - Parameters"窗口打开。 5. 输入下图

2、所示的两个属性和值。6. 点击"OK"确认输入。 7. 现在在函数块中调用系统函数SFC18。 8. 向"SIG"输入提供一个BOOL类型标签。注意事项:必须确保只有在消息触发信号"SIG"的值与上一次调用相比为相反时才调用系统函数SFC 17/SFC 18。否则,可以通过"RET_VAL"来被告知并且不会发出任何消息。在第一次系统函数SFC 17/SFC 18被调用 时,> e > > 必须确保SIG输入为“1”。否则将通过"RET_VAL"得到一个错误消息并且不会发出任何消

3、息。 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. 如果在系统函数的运行期间

4、发生了一个错误,那么可以通过"RET_VAL"输出一个错误消息。 13. 以下图片显示了一个用于互相连接的系统函数SFC18.14. 储存函数块并且切换到SIMATIC管理器。 15. 调用函数块,例如组织块OB1中的。 16. 保存组织块OB1且返回到SIMATIC管理器。 17. 右键单击函数块的情景数据块,并且在打开的下拉菜单内选择"Special Object Properties > Messages"。 18. "Configure Message"窗口打开。在"Text"标签内,组态消息文本和相

5、关的帮助。如果想要在消息中插入一个伴随值,> e > > 那么请参照 "Insert accompanying values into messages"下的在线帮助。当 完成组态时,点 击"OK"关闭窗口。 19. 将块载入到CPU. 20. 测试消息,请选择 "S7 program"存储器,然后到 "PLC > CPU logon"。 21. "CPU logon"窗口打开。点击"A". ("A":激活ALARM_SQ (SFC

6、17)和ALARM_S (SFC 18)下面的复选框  22. 然后消息会显示在监视器上。相对“CPU logon”的另一个选择是将生成的消息输出到OP或WinCC。请参照相关组态软件的在线帮助来了解如何组态OP或在WinCC中组态。 下载:样例中包含带有函数块FB1到FB9的一个STEP 7 V5.1项目,该项目使用的是系统函数SFC18。他们在OB1中被调用。通过变量表"TEST & CONTROL"来设置标志位M0.0到1.0,可以生成不同的消息,这些消息带有不同的伴随值,可作为输入和输出操作消息。该项目包含了每一个函数块的注释的STL原型, 情景数

7、据块,全局数据块和OB1。 l 问题:  可以集成文本到S7-GRAPH的消息中,并通过,例如,功能“CPU messages.”显示它们吗? 解答:  当已创建STEP 7项目和S7-GRAPH定序器时,在S7-GRAPH中通过“Options > Block Settings .”打开块设置,在“Messages”标签中选择“Messages with ALARM_SQ/ALARM_S (SFC17/SFC18)”来进行消息处理。使用这个选项,在 CPU的消息存储器中输入消息数和步数。当要确认显示的消息时,选中选项“Interlock and Supervisio

8、n with display acknowledgment”。 表1:块设置 现在通过“File > Save”保存S7-GRAPH FB。然后点击“Edit”按钮,打开应用程序“Message Configuration”,此处可以编辑与块相关的消息和消息类型。使用游标,例如,消息类型“ GRAPH7_SUPERVISION_FAULT”。在“General message text”窗口中显示下列消息代码. · S7GRAPH监管出错:FB1、DB1、S 1W%03u  1W%t#S7GraphFB1在通配符的前后,可以编辑消息文本或添加文本。 · 例如

9、,工厂1中的故障:FB1、DB1、S1W%03u  1W%t#S7GraphFB1,检查材料图2:编辑消息 ( 34 KB ) (34K 字节)   点击“OK”和使用用户标示的指针保存并关闭消息组态和块设置,例 如,定序器中的步骤1。在“ View > Single Step”中选择单步显示。此 处可以编程监视(监管),如 图3中所示。 图3:S7-GRAPH单步显示 使用鼠标标志步“S1”。通过“ Right-click > Object Properties”,在“ Properties - Step”中输入扩展名。这是工厂1中步S1特定的文本区。 图4:

10、S7-GRAPH属性步 点击“OK”保存,并通过“File > Save”编译S7-GRAPH。在系统文本库中输入消息文本的扩充“No material available”。在上面给出的格式为“1W%t#S7GraphFB1”的通配符中,“ 1W”是索引或WORD类型消息的第一个关联值;“ S7GraphFB1”是系统文本库的名称。 稍后,用户可以修改文本库中的消息文本。为此,在SIMATIC管理器中通过“Options > Text Libraries > System Text Library”,打开可用的系统文本库,再打开FB1中定序器的系统文本库“ S7GraphF

11、B1”。现在就从S7-GRAPH FB1中获得了已组态步(此处适用于索引1到5)的消息文本。 图5:S7-GRAPH块FB1的系统文本库 例如在OB1中调用S7-GRAPH FB,并加载所有的块到CPU中。于是就可以使用“CPU messages”功能显示消息。在 SIMATIC管理器中,通过“PLC> CPU Messages."打开此功能,并激活选项“A”< /b>(用来显示Alarm_S块的Alarm_S消息)。 图5:在 CPU Messages中显示Alarm_S消息 ( 23 KB ) (23K 字节)     如果通过AND语句触发

12、监视(如图3所示),那么在步1中定序器进入故障状态。于是在CPU Messages中显示下列消息:& amp; lt; /b> · 工厂1中的故障:FB1、DB1、S001无可用的材料,检查材料当故障已清除后,须使用S7-GRAPH块上的参数“ACK_EF”确认消息。 有关于此的更多消息可以从 S7-GRAPH的在线帮助的下列条目中获得: · “Message handling” · “Creating messages”以及 · “Message configuration (block-specific messages)”。注意事项:

13、如果在消息标签(菜单命令Options > Block Settings)中已设置选项“Messages with ALARM_SQ / ALARM_S (SFC17 / SFC18)”,则不可手动创建或删除S7-GRAPH的背景数据块,否则可能会丢失消息。因此,背景数据块将自动处理。 我们为此创建了一个钻孔设备的简单示例程序。定序器FB1有下列5个处理步: · 步1:抬高材料(M2.1) · 步2:转动材料180° (M2.2) · 步3:钻材料(M2.3) · 步4:转动材料90° (M2.4) · 步5:放低材料

14、(M2.5)锁存所有的步。这意味着,在定序器进入步2前,必须先执行并完成步1,以此类推。为操作提供了标志M2.1到M2.5。在每步中由标志1.0(发布)激活和取消激活定序器。为每步编写了一个2秒的定时器,> > > > 这样定序器每隔2秒自动移到下一步。 为每步(M3.1到M3.5)编程监视。> > > > 如果设置,例如,M3.3为“ TRUE”,那 么定序器在步3中进入故障状态。步3显示为红色,并在“ CPU Messages”中 显示组态消息。在这种情况下,为 每步编程消息文本扩充,从而可以执行5个故障和5条不同的消息。> 在OB1中

15、调用定序器,使用标志M10.0到M10.2分配参数“ OFF_SQ”、“INIT_SQ”和“ACK_EF”。< span lang="DE">如果在步3中清除了故障,例如,(M3.3为“ FALSE”),那 么定序器为了能继续运行,须 首先使用标志10.2 (ACK_EF)进行确认。& amp; lt; /p> 下载:附上的两个下载链接包含带有上述块的相同STEP 7项目,一个是德语版的(“Meldungen_integrieren”),另一个是英语版的(“Message_Integration”) 。 德语示例程序: Meldungen_inte

16、grieren.exe ( 716 KB ) 英语示例程序: Message_Integration.exe ( 712 KB ) 复制“Meldungen_integrieren.exe”或“Message_Integration.exe”文件到一个独立的目录下,双击启动文件。STEP 7 V5.2项目连带相关的子目录一起自动解压缩后,可以使用SIMATIC管理器打开和处理此项目。 下表列出了用于创建该条目并校验所述功能的组件: 测试环境版本PC平台奔腾III,800MHz,260 MB内存PC操作系统Microsoft Windows XP V5.1 SP1STEP 7

17、STEP 7 V5.2 SP1选项包S7-GRAPH V5.2 SP2S7 CPUCPU 417-4  V3.1l 问题:如何在CPU诊断缓存中输入纯文本消息? 解答:为了在CPU诊断缓存的纯文本内写入用户指定消息必须进行: 1.) 在STEP 7中配置消息。 2.) 写入诊断缓存所需的事件ID。 图1:有用户指定消息文本的诊断缓存 该条目描述了在STEP 7中如何配置一个消息文本,如何将相关事件ID结构化及如何写入到有SFC 52“WR_USMSG”的诊断缓存。 附件实例程序包括有配置消息的STEP 7项目,程序块在诊断缓存内根据输入值写入相关事件ID。 注意事

18、项:条目ID 15166942描述了如何使用系统函数“WR_USMSG” (SFC 52) 写入用户指定事件,该事件包括诊断缓存的任何附加信息。在该条目中有一个功能块调用SFC 52以便只用需要的基本数据块。在相关的实例程序中直接调用SFC 52,因为在这种情况下仅需要事件ID。其它附加信息不需要。消息文本用STEP 7组态并保存到程序中. 组态一个用户指定消息STEP 7首先打开消息组态对话框。选择项目树中的“S7 Program”目录然后通过弹出菜单 (右击)打开消息配置窗口“特殊对象属性”->“消息.”。按“新消息”按钮出现一个条目显示新消息从而可做相应的修改。 图 2:消息配置窗

19、口 在该例中配置下列消息: 窗口输入 (德语)消息指示符WR_USMSG(1) (默认)错误类别A (默认)消息号2输入的消息文本温度太高(由事件是来或去决定)例:A102输出的消息文本温度 OK(由事件是来或去决定)例:A002注意事项:自定义诊断消息只能显示在PG上不能传送到操作系统。显示诊断文本需要PG上的STEP 7项目。使用SIMATIC管理器上的功能:“选项” ->“使用多种语言的文本管理”,可以设置另一种语言 (对消息文本和注释)。附件项目可以使用两种语言(德语/英语)。 事件ID结构与消息关联的事件ID由下面内容组成: W#16#<错误类别><输入/输出

20、的消息代码><十六进制中的消息编号> · 错误类别:A或B (见组态屏蔽) · 输入/输出的消息代码:输入的消息= '1' 输出消息 ='0' · 消息编号:在十六进制格式中的组态屏蔽号对于组态消息有下列事件 ID: · W#16#A102 - 输入的消息“温度太高” · W#16#A002 - 输出的消息“温度 OK”实例程序描述此例中,根据温度值,两个消息文本之一“温度OK”或“温度太高”写入S7 CPU的诊断缓存内。 当调用FB 1 (在OB1中)时,数值“100”作为限定值被传送。根据温

21、度,对应MW 20中的数值,在诊断缓存中输入进入或输出消息的事件ID。在项目中定义消息文本。 边缘触发标记确保当超过或低于限定值时只在诊断缓存中写入消息一次。 使用变量表可以改变温度和限定值以便在诊断缓存中产生相应的条目。如果在STEP 7中显示诊断缓存内容那么显示文本(“PLC” -> “诊断/设置” ->“模块状态” -> 标签:“诊断缓存”。 7.5 Screen Number AreaApplicationThe operating units store information concerning the screen currently open on theu

22、nit in the screen number area.This enables the transfer of data regarding the current operating unit displaycontent to the PLC which, in turn, can trigger certain reactions; e.g. call in adifferent screen.ConditionIf the screen number area should be used, it must be specified in the configurationas

23、an area pointers. It can only be stored in one PLC and only once.The screen number area is downloaded to the PLC spontaneously, i.e. the transferis always initiated when a change is selected on the operating unit. Therefore, it isnot necessary to configure an acquisition cycle.StructureThe screen nu

24、mber area is a data area with a fixed length of data words.The structure of the screen number area in the PLC memory is illustrated below.7.7 Coordination AreaThe coordination area is two data words long. It serves to realize the followingfunctions:_ Detection of operating unit startup by the PLC pr

25、ogram,_ Detection of the current operating unit operating mode by the PLC program,_ Detection by the PLC program that the operating unit is ready to communicate.NoteEach time the coordination area is updated by the operating unit, the entirecoordination area is written.Therefore, the PLC program must not execute any modifications in thecoordination area.In order to use the coordination area, both data words must be specified, wherebythe first data word is used. The seco

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论