<< 点击显示目录 >> 主页 PVI通信 > PVI帮助信息 > PVI base system > 诊断 > Snapshot Function |
快照功能是诊断 PVI 管理器 PVI 对象运行状态的一个有用工具 。
快照功能可以通过 PVI 监控器(快照功能)或从 PVI 应用程序(访问类型 POBJ_ACC_SNAPSHOT)触发。在这两种情况下,所有 PVI 对象的列表以及它们的状态和所有注册客户的文本(ASCII)列表被写入一个文件。当使用访问类型 POBJ_ACC_SNAPSHOT 时,你也可以只写一个较小的 PVI 对象组。
快照文件总是显示出在触发该功能时对象情况的瞬时图像。在执行快照功能时,PVI管理器中的所有其他功能都被封锁。这保证了快照数据的一致性,但当PVI管理器处理大量数据时,也可能导致巨大的时间变化。
快照文件的内容可以用任何文本编辑器或 集成在PVI Monitor中的快照查看器来查看和分析 。
快照信息分为5个部分。
1.一般PVI信息
2.所有注册的 通信实例 (客户端)的列表
3.链接对象的列表
4.进程对象的列表
5.服务对象的列表
快照信息被分为几行。根据该行的第一个字符,该行的其余部分被解释如下。
Character |
说明 |
'*' |
带有一般PVI信息的评论行 |
'>' |
快照信息的时间戳(日期和时间)。 |
':' |
表示一个列表条目的开始 |
' ' |
一个空格字符表示一个列表条目的下一行 |
在每个列表条目的开头是一个代码,在": "字符之后是一个识别号(ID)。这个ID号在一个列表中是唯一的,并显示为一个十六进制数字。
ID |
说明 |
CId |
注册通信实例(客户端)的条目 |
C |
链接对象的条目 |
P |
进程对象的条目 |
S |
一个服务对象的条目 |
单个对象的分配也以ID号显示。几个过程对象可以分配给一个服务对象,而几个链接对象可以分配给一个过程对象。下图显示了负责对象分配的代码。
在快照文件中使用的ID号和在 PVI数据记录器中 由主要组件使用的ID号 是相同的。
所有注册的通信实例的列表、链接对象的列表和过程对象的列表对用户来说都是特别重要的。
包含一般PVI信息的注释行在快照文件的开头输出。第一行包含关于操作系统平台和PVI管理器的系统运行模式的信息。第二行显示PVI Manager的文件版本和产品版本。接下来的几行包含关于PVI管理器属性的设置信息,只要它们与默认设置不同。
Syntax:
:CId=<ID> Name="<Name>" ComType=<Num> ProcID=<Num> PriorClass=<Num> [Platform=<Platform>] COMT=<Sec> RETR=<Sec> PT=<Sec> LM=<Cnt>
Parameter:
ID |
说明 |
CId |
通信实例(客户端)的ID号 |
Name |
应用进程的名称 |
ComType |
通信类型。0 ...本地,1 ...远程。 |
ProcID |
用户进程的ID,十六进制格式 |
PriorClass |
用户进程的优先级 |
Platform |
用户进程运行的平台 |
COMT |
用于通信超时的设置(秒)(COMT初始化参数或 PviInitialize 或PviXInitialize函数中的 "Timeout "参数 )。 |
RETR |
用于PVICOM用户信息重试时间的设置(秒)(RETR初始化参数或PviInitialize或PviXInitialize函数中的 "重试时间 "参数)。 |
PT |
用于进程超时的设置,单位为秒(PviInitialize或PviXInitialize函数中的PT初始化参数)。 |
LM |
用于限制用户信息的设置(PviInitialize或PviXInitialize函数中的LM初始化参数) |
Example:
:CId=599a0005 Name="PviDemo.exe" ComType=0 ProcID=fff2e8ab PriorClass=32 COMT=10 RETR=0 PT=0 LM=1
Syntax:
:C=<ID> P=<ID> CId=<ID>
Desc: <LinkObjectDescription>
State: <Act/Idl> Msg=(<Msg>) [E=<Code>] [LastE=<Code>] Ctr=<State> DCond=<State>
Parameter:
ID |
说明 |
C |
链接对象的ID号 |
P |
指定的进程对象的ID号 |
CId |
创建链接对象的通信实例(客户端)的ID号 |
Desc: |
具有当前链接对象属性设置的行的代码。这里输出的参数与 链接对象描述中 的参数一致。 |
State: |
具有链接对象状态的行的代码 |
<Act/Idl> |
当前的活动状态。"Act":活动,"Idl":不活动(闲置)。 |
Msg |
分配给链接对象的用户信息 ,以发出事件数据信号 Windows消息。W:<WindowHandle>,<MessageNumber>, <MessageParameter> 信息功能。F:<MessageHandle>, <MessageParameter> 带数据的回调。CBD:<CallbackPointer>, < MessageParameter> 没有数据的回调。CB:<CallbackPointer>,<MessageParameter>。 异步回调。CBA:<CallbackPointer>, <MessageParameter> 如果没有定义用户信息,则输出 "Msg=(NULL)"。 |
E LastE |
如果链接对象处于错误状态,那么错误代码将以 "E=<Code>"输出。"LastE=<Code>"显示最后发生的错误。链接对象在此不再处于错误状态。 |
Ctr DCond |
这显示了链接对象的额外内部操作模式。这些操作模式不能由用户解释。 |
例子:
:C=0091 P=00e11f60 CId=599a0005
Desc: EV=de LT=prc VT=string VL=80 VN=1
State: Act Msg=(W:000009a0,1026,1001) LastE=0 Ctr=12 DCond=20
语法:
:P=<ID>(<HID>) S=<ID> Pn=<PathName> OT=<Type>
Desc: <ProcessObjectDescription>
State: <Act/Idl>,<WState>[,Temp] [E=<Code>] Ctr=<State> DCond=<State>
Parameter:
ID |
说明 |
P |
进程对象的ID号 。在对象结构中更高层次的过程对象的ID号在括号中输出。 |
S |
分配的 服务对象的ID号 。如果没有为进程对象分配服务对象(例如,内部进程对象),则输出ID号0(空)。 |
Pn |
流程对象的路径名称 |
OT |
进程对象的对象类型 |
Desc: |
具有当前流程对象属性设置的行代码。这里输出的参数与 过程对象描述中 的参数相对应。 |
State: |
流程对象状态规格的行的ID。 |
<Act/Idl> |
当前的活动状态。"Act":活动,"Idl":不活动(闲置)。 |
<WState> |
当前的运行状态。"NotRdy":未就绪,"Rdy":就绪,"Err":错误。以下括号内的数值以二进制格式显示运行状态。 |
Temp |
这显示了一个临时的进程对象。 |
E |
如果进程对象处于错误状态,那么错误代码将以 "E=<Code>"输出。 |
Ctr DCond |
这显示进程对象的额外内部操作模式。这些操作模式不能由用户解释。 |
Example:
:P=00e11f60(00e10180) S=0082 Pn=@Pvi/LNINA2/COM2/CPU/Pvar1 OT=Pvar
Desc: CD="PV1" AT=rw RF=250 VT=i32 VL=4 VN=1
State: Act,Rdy(1),Temp Ctr=03 DCond=21
语法 :
:S=<ID>(<HID>) L=<ID> Pn=<PathName> OT=<Type>
State: <Act/Idl>,<WState> [E=<Code>] [AT=<Mask>] [RF=<Num>] [Ev=<Mask>] [CdP=<ID>] [FrP=<ID>] [HyP=<ID>] Ctr=<State> PrL=<State> StL=<State>
Parameter:
ID |
说明 |
S |
服务对象的ID号 。对象结构中更高层次的服务对象的ID号在括号中输出。 |
L |
行内指定对象的识别号 此ID号用于行的PVI记录器输出。 |
Pn |
服务对象的路径名称。与进程对象不同,这里的路径名称是由连接名称形成的。 |
OT |
服务对象的对象类型 |
State: |
关于服务对象状态规格的行的ID |
<Act/Idl> |
当前的活动状态。"Act":活动,"Idl":不活动(闲置)。 |
<WState> |
当前的运行状态。"NotRdy":未就绪,"Rdy":就绪,"Err":错误。以下括号内的数值以二进制格式显示工作状态。 |
E |
如果服务对象处于错误状态,那么错误代码将以 "E=<Code>"输出。 |
AT |
显示服务对象的对象属性(只针对变量对象)。 "r":允许读取访问 "w":允许写访问 "e":PLC事件操作。 |
RF |
被用于服务对象的刷新时间,单位为ms(仅适用于变量对象) |
Ev |
行中事件的启用掩码。 |
CdP |
连接描述的过程对象的识别号 |
FrP |
数据格式的过程对象的识别号(仅适用于可变对象) |
HyP |
滞后的过程对象识别码(仅适用于可变对象)。 |
Ctr PrL StL |
这显示了服务对象的额外内部操作模式。这些操作模式不能由用户解释。 |
例子:
:S=0082(0081) L=016b0360 Pn=lnina2/com2/null/test/PV1 OT=Pvar
State: Act,Rdy(1) AT=rw RF=250 CdP=00e11f60 FrP=00e11f60 Ctr=9e PrL=07 StL=02