文档详情

10_第十章.doc

发布:2016-12-13约4.45千字共12页下载文档
文本预览下载声明
诊断逻辑块 诊断逻辑块(DLB)是梯形图表逻辑块,能够存储在控制器中独立执行。这些逻辑块是用来和在PACSystems控制器中运行的应用程序交互的有用工具。DLB可以用来: ■ 新系统投入生产前的调整和任命 ■ 从运行的程序中收集信息来分析和诊断问题 ■ 在运行程序被投入实际应用之前对其进行测试修改和更正 ■ 调整和测试由应用程序控制的设备 DLB用来完成特定的任务,是临时性的,如诊断问题的来源或调整设备。DLB在Logic Developer目标中建立,和应用程序逻辑块建立的方式一样。它们能存储在PACSystems RX3i中并执行。当使用完后,DLB能从RX3i中移除。在这点上,RX3i的应用逻辑程序和应用变量分配返回DLB引进前的位置。你也可以将DLB从Logic Developer目标中移除,在这点上,目标逻辑程序和变量分配将和DLB引进前的一样。 DLB逻辑程序能在STOP IO Enable 状态下执行,该状态允许应用程序在脱离主程序的情况下调试。 注意 不要将DLB作为生产程序的一个永久部分,因为如果它的Logic Developer部分和RX3i上的Programmer_mode失去连接,DLB将停止并从RX3i内存上删除。这种情况是有可能发生的,例如,如编程器的通信电缆断开或者另外一个编程器顺序连接到一个相同的RX3i并建立了一个Programmer_mode段。 在DLB逻辑程序中,禁止使用ONDTR, OFDT 和TMR功能块。这些功能块需要%L内存来正确执行,但是这种类型的内存不被DLB支持。#FST_EXE系统变量也是禁止的。所有其它内置的功能和功能块都能在DLB逻辑程序中使用。 注意:Suspend I/O(SUS_IO)功能的操作方式在应用程序逻辑和DLB中是一样的。 应用逻辑程序和DLB逻辑程序都在CPU Sweep Logic窗口中执行。因此,当SUSPEND_IO由应用程序或DLB执行时,当逻辑窗口完成DLB执行时,立即发生的输出扫描将保持输出电流,在输入扫描发生时并不更新输入参考变量,输入扫描发生在下一个CPU扫描下的逻辑窗口执行之前。 注意SUSPEND_IO只能影响正常的I/O扫描。它并不影响由于在应用程序或DLB逻辑程序中执行DO_IO或SCAN_SET_IO功能的I/O扫描。 SUS_IO对扫描有着同样的影响,不管它是在一次扫描中执行一次或是多次。 DLB操作 一个有效的DLB可以拖到Toolchest、活动块节点下的文件夹或者程序块节点下的文件夹。注意只有活动块才能被拖动。DLB块的下载、执行或修改并不影响主逻辑程序。 DLB操作的一些限制 因为DLB只是针对于短暂的应用,所以相对于其它应用逻辑块而言,其操作的过程中有着更多的限制。 DLB不能调用任意逻辑块也不能被任意逻辑块调用。 不能为DLB定义参数或时间表 DLB没有参数,除了标准ENO输出参数。因为DLB不能被其它逻辑块调用,所以可以通过它的ENO参数在DLB逻辑块中读写。 不能使用含有%L或%P的地址。因此,下列要求有%L或%P的内存就不能在DLB中应用: #FST_EXE系统变量 内置定时器功能块,ONDTR OFDT和TMR %L或%P变量 局部变量必须是符号变量。更多的信息请参考“DLB变量”。 DLB或它们相关的文件不能从RX3i上下载。 DLB和它们相关的文件不能在闪存中存储。 不能为LD DLB命名为_MAIN。 不能修改在控制器中正在执行的有效的LD DLB。 不能执行Test Edit(在线编辑模式和在线测试模式)。 活动DLB上不能执行字节到字节的变换。 DLB变量 DLB有它自己的变量,位于DLB中,任何其它功能块都不能调用。所有的DLB局部变量都是符号变量,保持变量和published变量。 局部变量需要时应该在DLB中应用。如果系统已经开始运行并且已经在DLB中建立了新的全局变量,因为编程器的内存映射不在符合RX3i控制器的内存映射,编程软件将不在下载DLB。 DLB逻辑程序能读和写位于同一对象中的应用程序的全局变量。这些变量可以使映射的或符号变量。 为了使用需要应用局部变量的功能,DLB必须使用全局的应用局部变量,该应用位于和DLB同一对象中。这些功能包括: COMM_REQ(状态变量的位置) DO_IO 一些SVC_REQ功能 DLB能给全局located应用变量或者特殊建立的变量阵列建立别名,为需要使用located变量的DLB论证为“scratchpad”内存。 执行DLB DLB属性 有效的DLB属性包括Execution Mode,它有下列的可能变量: Swee
显示全部
相似文档