使用iFIX的调度
独立的调度可以作为前台或者后台任务运行。 当在前台运行调度时,可以方便地在运行时环境下调试和测试脚本。 当错误发生时,VBE脚本编辑器会自动启动,提示进行编辑和保存修改的内容。 在编辑状态下不能运行脚本。
当调度作为后台任务运行时,它的运行不考虑工作台是在运行时环境还是编辑环境下,也不考虑工作台是否运行。 如果修改输入,它会自动重启动。 当工作台在运行时环境下,可以查看每个输入的运行状态诊断信息和统计数据,包括每个输入启动的次数和最后一次启动的时间。
调度管理器也可以在后台作为Windows的服务来运行。 因为调度管理器可以作为服务运行,所以Windows的节点无论注销用户还是用户重新登录都不受影响,无论工作台是否运行,输入都会正常地被触发。
用户可以创建多个调度,这些调度方便用户组织和维护输入。 每个调度都可以被独立的配置为前台或后台任务运行。 当然作为添加到调度中的事件,可以选择是否马上监视,或者选择到下次工作台启动时再监视。
调度管理器具有很强的查和替换功能,可方便用户快速地修改调度信息。 查和替换功能的详细内容请参阅了解iFIX手册的查和替换数据。
调度入门
在启动输入之前,首先应该了解调度管理器是如何执行脚本的。 调度管理器可以按前台或后台任务来运行。 在前台运行调度时,它是和Proficy iFIX工作台运行在同一个线程里,且允许用户快速地在运行时环境下测试和调试脚本语言。 在后台运行调度时,它和Proficy iFIX工作台运行在不同的线程里,用于监视系统和触发调度事件。
调度管理器不是循环运行,而是等待事件的发生。 当被选的事件发生后,在后台运行的调度中的脚本被触发,它被添加到队列中且在前面的脚本执行结束之后再执行。 所以按后台方式运行的调度执行对于监视任务是非常理想的。 它与在Proficy iFIX工作台里以前台方式运行的调度脚本的触发是完全一致的。
创建调度在前台运行通常用于测试和调试。 一旦在前台调试和测试通过,我们建议把它放到后台运行。
这部分介绍了如何使用调度:
timeout on t2 timer使用调度
调度程序是一个电子表格,分别是基于时间触发(time-based entries)的输入和基于事件触发(event-based entries)的输入。 双击调度中的空白行,弹出输入对话框。 创建输入之后,可以编辑调度表格中的独立单元格来修改调度,而不需要重新启动对话窗口。
基于时间的输入创建一个计时器对象,而基于事件的输入创建一个事件对象。 这些iFIX对象具有在VBA中能使用的相关属性、方法和事件。 这些对象显示在系统树中。作为对象,它与调度的脚本相关联。
保护调度
iFIX的调度保护功能可以防止未授权的用户访问或者修改调度。 要配置调度的安全属性,可在属性窗口中输入安全区。 更多安全配置的信息请参阅实现安全中的相关内容。
预处理调度(概述)
在调度中每个数据源的数据库信息都被保存在文件或磁盘中。 当调度在运行时环境下执行时,若数据库信息不是最新的,则iFIX将查询数据库并预处理标签定义。 这个费时的过程会减慢调度的运行。
预处理调度将会去除iFIX查询数据库的需求。 所以,预处理后调度在运行时环境下执行速度加快。 我们建议在完成过程组态后预处理调度。 预处理功能对调度和画面都是有效的。
如果在预处理调度之后过程数据库作了如下修改,则需要重新预处理调度。 这些修改包括:
∙装载了其它的数据库。
∙删除了数据库的标签。
运行前台和后台调度
调度可以在前台或后台运行。 当创建新的调度时,默认在前台运行。 作为前台任务运行调度,工作台必须处于运行时环境下。 调度在前台运行时对测试和调试VBA脚本是非常有用的。
调度在后台运行,则要启动FixBackgroundServer任务。 如果FixBackgroundServer没有运行,当调度被添加到后台任务时,则自动启动该任务。 为了建立在后台运行的调度,必须改变调度属性对话框里的默认设置,可以通过单击调度右键从弹出菜单中选择调度属性。 可以使用这个对话框来改变后台运行的新建调度或已有调度的默认设定。 可以选择在前台或后台运行,也可以通过设定窗口属性,修改静态刷新速率。
注意:当数据库标签配置为具有电子签名发生未签字的写操作时,您可不需签名直接将数值写到该标签。 如果在安全环境中启用了电子签名,必须知道无签名写对过程数据库的影响。 无签名写可来自于调度程序。 参阅使用电子签名对数据库写操作的含义章节获取更多信息。
利用后台调度打开画面
当在配置模式下编辑另一个画面或者调度时,在后台运行的调度打开了一个画面,可能会发生不可预见的情况。 在某些情况下,这些画面若在有模式对话框之上打开,则将无法返回原来的对话框。
要避免这些问题,建议当给正在引用画面的后台调度添加输入时,您编写一个自定义脚本设置调度,让其检查对象,在打开一个画面之前确定它是在运行模式下还是配置模式下。
注意: 建议设置成后台运行的调度不要引用画面。 如果您在打开一个画面之前没有检查工作台是否在运行模式下,工作台在配置模式下是无法尝试打开的,因为FixBackgroundServer 不能在配置模式下打开画面。
下列VBA代码给出了一个例子,说明了计时器对象在打开一个 f的画面之前如何检查工作台是否在运行模式下。 如果工作台实在配置模式下,该画面不能打开,程序会另外运行 。 在本例中计时器对象从后台调度运行。
Private Sub FixTimer3_OnTimeOut(ByVal lTimerId As Long)
Dim WrkSpcApp As Object
Set WrkSpcApp = GetObject("", "Workspace.Application")
'If the object is in run mode open the picture
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论