序列文件的结构

<< 点击显示目录 >>

主页  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>

 

DATA

节点 "DATA "是XML文件的根节点。

<?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>