<< 点击显示目录 >> 主页 mappServices帮助手册 > mapp Sequence: 机器流程动态化 > 概念 > 序列文件的结构 |
该序列文件由定义序列结构的XML节点组成。
每个序列必须以命令 "SequenceStart "中的一个步骤开始!
每个序列必须以命令 "SequenceEnd "中的一个步骤结束。
一个带有内联宏的完整序列文件的例子。
关于宏的更多信息,请参见 宏。
<?xml version="1.0"?>
<DATA>
<Sequence>
<Step Value="0">
<Command Value="SequenceStart" />
</Step>
<Macro Name="MyMacro" Value="MyMac">
<Step Value="1">
<Command Value="MyFirstCommand" />
<Timeout Value="100" />
<StepPrevious Value="0" />
</Step>
<Step Value="2">
<Command Value="MySecondCommand" />
<Parameter Name="MyFirstParameter" Value="10" />
<StepPrevious Value="1" />
</Step>
<Step Value="3">
<Command Value="MySetPVCommand" />
<PvValue Value="100" />
<StepPrevious Value="2" />
</Step>
</Macro>
<Step Value="99">
<Command Value="SequenceEnd" />
<StepPrevious Value="3" />
</Step>
</Sequence>
</DATA>
<?xmlversion="1.0"?>
<DATA>
...
</DATA>
Sequence
节点 "Sequence "定义了一个序列。它必须位于节点 "DATA "内。
<?xmlversion="1.0"?>
<DATA>
<Sequence>
...
</Sequence>
</DATA>
Macro
节点 "Macro "可以用来更好地将元素组合在一起。它必须位于节点 "Sequence "内。必须为节点 "宏 "指定一个名称和值。名称可以作为外部文件的参考。"值 "是用于引用的实例名称。
<Sequence>
...
<Macro Name="MyMacro" Value="MyMac">
...
</Macro>
<Macro Name="MyExternalMacro" Value"MyExtMac">
...
</Macro>
...
</Sequence>
Step
节点 "Step "定义了序列中的一个步骤。它必须被定义在节点 "序列 "或节点 "宏 "中。每个 "步骤 "节点必须有一个唯一的值。
每个 "步骤 "节点需要节点 "命令"。
<Sequence>
<Step Value="0">
...
</Step>
</Sequence>
<Macro Name="MyMacro" Value="MyMac">
<Step Value="Step8">
...
</Step>
</Macro>
Command
节点 "Command "必须位于节点 "Step "内。它要求将配置中定义的一个命令的名称作为值。
每个 "步骤 "节点只允许有一个 "命令 "节点。
<Step Value="StepX">
<Command Value="MyCommand"/>
</Step>
Parameter
节点 "Parameter "必须位于节点 "Step "内。这个节点可以用来向命令传递参数。这些参数必须已经在配置中被链接。
必须为每个参数定义配置中指定的名称。此外,每个参数还必须有一个值。
<Step Value="StepX">
<Command Value="MyCommand"/>
<Parameter Name="MyFirstParameter" Value="1"/>
<Parameter Name="MySecondParameter" Value="10"/>
</Step>
Timeout
节点 "Timeout "必须位于节点 "Step "内。在 "值 "下指定应等待的时间,直到发生超时。超时的值是以秒为单位的。
<Step Value="StepX">
<Command Value="MySetPvCommand"/>
<Timeout Value="1"/>
</Step>
PvValue
节点 "PvValue "必须位于有 "SetPv"、"WaitForPV "或 "ConditionalExecution "命令的 "Step "节点内。要修改或检查的PV必须在配置中指定。
<Step Value="StepX">
<Command Value="MySetPvCommand"/>
<PvValue Value="1"/>
</Step>
StepPrevious
节点 "StepPrevious "定义了序列的结构。该节点必须位于节点 "Step "内。
序列文件必须包含一个没有 "StepPrevious "的 "Step "节点。
这个节点的值必须指的是另一个步骤的值。
不允许创建一个循环的步骤!
<Step Value="StepX">
<Command Value="MyCommand"/>
<Parameter Name="MyFirstParameter" Value="1"/>
<Parameter Name="MySecondParameter" Value="10"/>
</Step>
<Step Value="StepY">
<Command Value="MyCommand"/>
<StepPrevious Value="StepX"/>
</Step>
Loop
如果使用了 "Loop execution "或 "End loop "命令,这些命令之间的步骤将被执行n次。这些执行的频率在循环开始时的序列文件中用 "LoopCount "定义。
<Step Value="1">
<Command Value="LoopStart" />
<LoopCount Value="5" />
<StepPrevious Value="0" />
</Step>
<Step Value="2">
<Command Value="StepX" />
<StepPrevious Value="1" />
</Step>
<Step Value="3">
<Command Value="StepY" />
<StepPrevious Value="1" />
</Step>
<Step Value="4">
<Command Value="StepZ" />
<StepPrevious Value="2" />
<StepPrevious Value="3" />
</Step>
<Step Value="5">
<Command Value="LoopEnd" />
<StepPrevious Value="4" />
</Step>