仅对英特尔可见 — GUID: mwh1410384286580
Ixiasoft
仅对英特尔可见 — GUID: mwh1410384286580
Ixiasoft
7.8.5.1. Monitor命令
在正常负载下,监控服务在每个间隔后读取数据,然后调用回调。如果您读取的值时序敏感的,那么可以使用monitor_get_read_interval命令读取数据被读取的时间间隔之间的确切时间。
在大量负载下,或者需要使用很长时间执行回调时,监控服务会跳过一些回调。如果您读取的寄存器没有副作用(例如,它们读取复位后的事件总数),那么跳过回调对您的代码没有影响。monitor_read_data命令和monitor_get_read_interval命令都适用于此情况。
如果您读取的寄存器具有副作用(例如,它们返回最后读取之后的事件数),那么您必须能够访问已读取的数据,但对于这些数据,回调被跳过。 monitor_read_all_data和monitor_get_all_read_intervals命令提供对此数据的访问。
命令 | 参数 | 功能 |
---|---|---|
monitor_add_range | <service-path> <target-path> <address> <size> |
将一个连续的存储器地址添加到受监控的存储器列表中。 <service path>是服务打开时返回的值。 <target-path>参数是要读取的master服务的名称。地址在此服务的地址空间内。<target-path>从[lindex [get_service_paths master] n]返回,其中n是服务的编号。 <address>和<size>相对于master服务。 |
monitor_get_all_read_intervals | <service-path> <target-path> <address> <size> |
返回monitor_read_all_data返回的数据中两次读取之间的间隔列表(以毫秒为单位)。 |
monitor_get_interval | <service-path> | 返回当前间隔集(interval set),此间隔集指定轮询操作的频率。 |
monitor_get_missing_event_count | <service-path> | 返回在评估最后一个Tcl回调表达式时错过的回调事件数。 |
monitor_get_read_interval | <service-path> <target-path> <address> <size> |
返回monitor_read_data返回的最后两次数据读取之间经过的毫秒数。 |
monitor_read_all_data | <service-path> <target-path> <address> <size> |
返回从上次Tcl回调以来从器件读取的所有最新值中读取的8-bit值列表。您指定的存储器范围必须在monitor_add_range中中的范围内。 |
monitor_read_data | <service-path> <target-path> <address> <size> |
返回从器件读取的最新值中读取的8-bit值列表。您指定的存储器范围必须在monitor_add_range中中的范围内。 |
monitor_set_callback | <service-path> <Tcl-expression> |
指定System Console在读取此服务监控的所有存储器后必须评估的Tcl表达式。通常情况下,使用传入的必要参数将此表达式指定为单个字符串Tcl程序调用。 |
monitor_set_enabled | <service-path> <enable(1)/disable(0)> |
使能和禁用监控。在此命令之后开始存储器读取,并在读取数据后评估Tcl回调。 |
monitor_set_interval | <service-path> <interval> |
通过指定两次存储器读取之间的间隔来定义轮询操作的目标频率。实际轮询频率取决于系统活动。 |