<?xml version="1.0" encoding="UTF-8" ?>
<Proto>
	<!-- 需要加载的dll-->
	<Dlls>
		<Dll Name="md_basic"/>
		<Dll Name="md_proto"/>
	</Dlls>
    <Case Name="" caseId="1" Valid="1" >	
<!-- 申请的变量，null被预定义，用于表示变量不存在-->
	<Variables>
		<Var Name="ucAddrBytes_in" Desc="地址域字节数" Type="uint8" Val="2"/>
		<Var Name="ucCotBytes_in" Desc="原因字节数" Type="uint8" Val="2"/>
		<Var Name="ucInfoAddrBytes_in" Desc="信息地址直接数" Type="uint8" Val="3"/>
		<Var Name="ui32YxBaseAddr_in" Desc="遥信基址" Type="uint32" Val="1"/>
		<Var Name="ui32YcBaseAddr_in" Desc="遥测基址" Type="uint32" Val="16385"/>
		<Var Name="ui32YkBaseAddr_in" Desc="遥测基址" Type="uint32" Val="24577"/>
		<Var Name="i16CommStateYxNo_in" Desc="通讯状态遥信点号" Type="int16" Val="-1"/>
		<Var Name="usAddr_in" Desc="设备地址" Type="uint16" Val="1"/>
		<Var Name="bInit" Desc="是否启动链路" Type="bool" Val="0"/>
		<Var Name="sendcmdtime" Desc="发送命令时间" Type="uint32" Val="0"/>
		<Var Name="sendGitime" Desc="发送总招时间" Type="uint32" Val="0"/>
		<Var Name="sendSystime" Desc="发送对时时间" Type="uint32" Val="0"/>
		<Var Name="sendDDtime" Desc="发送总招电度时间" Type="uint32" Val="0"/>
		<Var Name="bWait" Desc="等待回复数据" Type="bool" Val="0"/>
		<Var Name="ui32lastRevTime" Desc="上次接收到数据的时间" Type="uint32" Val="0"/>
		<Var Name="sendno" Desc="发送帧序号" Type="uint16" Val="0"/>
		<Var Name="revcno" Desc="接收帧序号" Type="uint16" Val="0"/>
		<Var Name="giStep" Desc="正在总招" Type="uint8" Val="0"/>
		<Var Name="giddStep" Desc="正在总招电度" Type="uint8" Val="0"/>
		<Var Name="rxBuf" Desc="接收数据缓存" Type="byte" Len="512" Val="0"/>
		<Var Name="rxDataLen" Desc="接收数据长度" Type="uint16" Val="0"/>
	</Variables>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<recevice>
	
	  <Module>
		<MdType Dll="md_proto" CreatMdApi="create_md_104_decode" Name="md_104_decode" desc="104解释模块"/>
		<MdId Id="1"/>
		<NextMd>
			<Ret RetVal="0" Name="False" Desc="复位" NextMdId=""/>
			   <Ret RetVal="-1" Name="False" Desc="启动确认" NextMdId="2"/>
			   <Ret RetVal="-2" Name="False" Desc="停止确认" NextMdId="7"/>
			   <Ret RetVal="-3" Name="False" Desc="测试激活" NextMdId="5"/>
			   <Ret RetVal="-4" Name="False" Desc="测试确认" NextMdId="4"/>
			   <Ret RetVal="-5" Name="False" Desc="s帧" NextMdId="4"/>
			   <Ret RetVal="-10" Name="False" Desc="无法识别的报文帧" NextMdId=""/>
			   <Ret RetVal="1" Name="False" Desc="遥信" NextMdId="14"/>
			   <Ret RetVal="3" Name="False" Desc="遥信" NextMdId="14"/>
			   <Ret RetVal="9" Name="False" Desc="遥测" NextMdId="16"/>
			   <Ret RetVal="13" Name="False" Desc="遥测" NextMdId="16"/>
			   <Ret RetVal="30" Name="False" Desc="遥信" NextMdId="14"/>
			   <Ret RetVal="31" Name="False" Desc="遥测" NextMdId="14"/>
			   <Ret RetVal="32" Name="False" Desc="步位置" NextMdId=""/>
			   <Ret RetVal="45" Name="False" Desc="遥控" NextMdId="18"/>
			   <Ret RetVal="46" Name="False" Desc="遥控" NextMdId="18"/>
			   <Ret RetVal="47" Name="False" Desc="升降" NextMdId=""/>
			   <Ret RetVal="58" Name="False" Desc="遥控" NextMdId="18"/>
			   <Ret RetVal="59" Name="False" Desc="遥控" NextMdId="18"/>
			   <Ret RetVal="60" Name="False" Desc="升降" NextMdId=""/>
			   <Ret RetVal="100" Name="False" Desc="总招" NextMdId="10"/>
			   <Ret RetVal="101" Name="False" Desc="总招电度" NextMdId="12"/>
			   <Ret RetVal="103" Name="False" Desc="对时" NextMdId="9"/>
		</NextMd>
		<Outputs>
			<Out Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
			<Out Name="rxBuf" Desc="接收一帧数据缓存" IsConst="0" Type="byte" VarName="rxBuf"  />
			<Out Name="rxDataLen" Desc="接收一帧数据长度" IsConst="0" Type="uint16" VarName="rxDataLen"  />
		</Outputs>
		<Configs>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
		</Configs>
		
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="2"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="3"/>
		</NextMd>
		<Inputs>
			<In  Name="VarId" Desc="变量Id" IsConst="0" Type="bool" VarName="bInit" />
			<In  Name="VarVal" Desc="变量值" IsConst="1" Type="bool"  Val="1"/>
		</Inputs>
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="3"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="4"/>
		</NextMd>
		<Inputs>
			<In  Name="VarId" Desc="变量Id" IsConst="0" Type="bool" VarName="bWait" />
			<In  Name="VarVal" Desc="变量值" IsConst="1" Type="bool"  Val="0"/>
		</Inputs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_set_systemtime_to_var" Name="md_set_systemtime_to_var" desc="系统时间"/>
		  <MdId Id="4"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="0" NextMdId=""/>
		  </NextMd>
		   <Inputs>
		         <in Name="ui32lastRevTime" Desc="发送时间" Type="uint32" VarName="ui32lastRevTime" />
		   </Inputs>
		   <Configs>
			<Cfg Name="type" Desc="秒类型" Type="uint8" Val="0"/>
		  </Configs>
	 </Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_proto" CreatMdApi="create_md_104_u" Name="md_104_u" desc="测试"/>
		  <MdId Id="5"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="4"/>
		  </NextMd>
		  <Configs>
			<Cfg Name="utype" Desc="u帧类型" Type="uint8" Val="131"/>
		  </Configs>
	</Module>

	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="6"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="3"/>
		</NextMd>
		<Inputs>
			<In  Name="var" Desc="变量" IsConst="0" Type="bool" VarName="bInit" />
			<In  Name="VarVal" Desc="变量值" IsConst="1" Type="bool"  Val="0"/>
		</Inputs>
	</Module>
	
	
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_proto" CreatMdApi="create_md_104_u" Name="md_104_u" desc="停止确认模块"/>
		  <MdId Id="7"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="8"/>
		  </NextMd>
		  <Configs>
			<Cfg Name="ucUType" Desc="U帧类型" Type="uint8" Val="3"/>
		</Configs>
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_set_systemtime_to_var" Name="md_set_systemtime_to_var" desc="系统时间"/>
		  <MdId Id="8"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="0" NextMdId="6"/>
		  </NextMd>
		   <Inputs>
		         <In Name="sendcmdtime" Desc="发送时间" Type="uint32" VarName="sendcmdtime" />
		   </Inputs>
		   <Configs>
			<Cfg Name="type" Desc="秒类型" Type="uint8" Val="0"/>
		  </Configs>
	 </Module>

	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_if_else" Name="If Else" desc="条件跳转"/>
		  <MdId Id="9"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId=""/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="20"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="bool" VarName="bInit" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="bool"  Val="1"/>
		   </Inputs>
		<Configs>
			<Cfg Name="OperSymbol" Desc="操作符号" Type="string" Val="=="/>
		  </Configs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_proto" CreatMdApi="create_md_104_synctime" Name="md_104_synctime" desc="收到对时模块"/>
		<MdId Id="20"/>
		<NextMd>
			<Ret RetVal="0" Name="False" Desc="" NextMdId="3"/>
		</NextMd>
		<Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="sendno" Desc="发送帧序号" IsConst="0" Type="uint16" VarName="sendno" />
			<In Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
			<In Name="rxBuf" Desc="接收一帧数据缓存" IsConst="0" Type="byte" VarName="rxBuf"  />
			<In Name="rxDataLen" Desc="接收一帧数据长度" IsConst="0" Type="uint16" VarName="rxDataLen"  />
		</Inputs>
		<Configs>
			<Cfg Name="cot" Desc="原因" Type="uint16" Val="7"/>
			<Cfg Name="tolocal" Desc="是否更新到本地" Type="bool" Val="1"/>
			<Cfg Name="tran" Desc="是否转发" Type="bool" Val="0"/>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="sendOrRecv" Desc="ASDU类型"  Type="uint8"  Val="1"/>
		</Configs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_if_else" Name="If Else" desc="条件跳转"/>
		  <MdId Id="10"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId=""/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="11"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="bool" VarName="bInit" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="bool"  Val="1"/>
		   </Inputs>
		<Configs>
			<Cfg Name="OperSymbol" Desc="操作符号" Type="string" Val="=="/>
		  </Configs>
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_proto" CreatMdApi="create_md_104_gi" Name="md_104_gi" desc="收到总招返模块"/>
		<MdId Id="11"/>
		<NextMd>
			<Ret RetVal="7" Name="False" Desc="总招结果" NextMdId="4"/>
			<Ret RetVal="10" Name="False" Desc="总招结果" NextMdId="3"/>
		</NextMd>
		<Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="rxBuf" Desc="接收一帧数据缓存" IsConst="0" Type="byte" VarName="rxBuf" />
			<In Name="rxDataLen" Desc="接收一帧数据长度" IsConst="0" Type="uint16" VarName="rxDataLen"  />
			<In Name="sendno" Desc="发送帧序号" IsConst="0" Type="uint16" VarName="sendno" />
			<In Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
		</Inputs>
		<Configs>
		    <Cfg Name="sendOrRecv" Desc="ASDU类型"  Type="uint8"  Val="1"/>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="cot" Desc="原因"  Type="uint8"  Val="7"/>
		</Configs>
	</Module>
	
<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_if_else" Name="If Else" desc="条件跳转"/>
		  <MdId Id="12"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId=""/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="13"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="bool" VarName="bInit" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="bool"  Val="1"/>
		   </Inputs>
		<Configs>
			<Cfg Name="OperSymbol" Desc="操作符号" Type="string" Val="=="/>
		  </Configs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_proto" CreatMdApi="create_md_104_gi_dd" Name="md_104_gi_dd" desc="收到总招电度模块"/>
		<MdId Id="13"/>
		<NextMd>
			<Ret RetVal="0" Name="False" Desc="" NextMdId="3"/>
		</NextMd>
		<Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="rxBuf" Desc="接收一帧数据缓存" IsConst="0" Type="byte" VarName="rxBuf" />
			<In Name="rxDataLen" Desc="接收一帧数据长度" IsConst="0" Type="uint16" VarName="rxDataLen"  />
			<In Name="sendno" Desc="发送帧序号" IsConst="0" Type="uint16" VarName="sendno" />
			<In Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
		</Inputs>
		<Configs>
		    <Cfg Name="sendOrRecv" Desc="ASDU类型"  Type="uint8"  Val="1"/>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="cot" Desc="原因"  Type="uint8"  Val="7"/>
		</Configs>
	</Module>
	
  <!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_if_else" Name="If Else" desc="条件跳转"/>
		  <MdId Id="14"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId=""/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="15"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="bool" VarName="bInit" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="bool"  Val="1"/>
		   </Inputs>
		<Configs>
			<Cfg Name="OperSymbol" Desc="操作符号" Type="string" Val="=="/>
		  </Configs>
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_proto" CreatMdApi="create_md_104_rx_yx" Name="md_104_rx_yx" desc="收到遥信模块"/>
		<MdId Id="15"/>
		<NextMd>
			<Ret RetVal="0" Name="False" Desc="" NextMdId="4"/>
		</NextMd>
		<Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="rxBuf" Desc="接收一帧数据缓存" IsConst="0" Type="byte" VarName="rxBuf"  />
			<In Name="rxDataLen" Desc="接收一帧数据长度" IsConst="0" Type="uint16" VarName="rxDataLen" />
		</Inputs>
		<Configs>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="yxBaseAddr" Desc="ASDU类型"  Type="uint32"  Val="1"/>
            <Cfg Name="commStateYxNo" Desc="ASDU类型"  Type="int16"  Val="0"/>	
		</Configs>
	</Module>
	
	 <!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_if_else" Name="If Else" desc="条件跳转"/>
		  <MdId Id="16"/>
		  <Priority Pri="0"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId=""/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="17"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="bool" VarName="bInit" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="bool"  Val="1"/>
		   </Inputs>
		<Configs>
			<Cfg Name="OperSymbol" Desc="操作符号" Type="string" Val="=="/>
		  </Configs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_proto" CreatMdApi="create_md_104_rx_yc" Name="md_104_rx_yc" desc="收到遥测模块"/>
		<MdId Id="17"/>
		<NextMd>
			<Ret RetVal="0" Name="False" Desc="" NextMdId="4"/>
		</NextMd>
		<Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="rxBuf" Desc="接收一帧数据缓存" IsConst="0" Type="byte" VarName="rxBuf" />
			<In Name="rxDataLen" Desc="接收一帧数据长度" IsConst="0" Type="uint16" VarName="rxDataLen"  />
		</Inputs>
		<Configs>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="ycBaseAddr" Desc="ASDU类型"  Type="uint32"  Val="16385"/>
		</Configs>
	</Module>
	
	 <!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_if_else" Name="If Else" desc="条件跳转"/>
		  <MdId Id="18" />
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId=""/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="19"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="bool" VarName="bInit" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="bool"  Val="1"/>
		   </Inputs>
		<Configs>
			<Cfg Name="OperSymbol" Desc="操作符号" Type="string" Val="=="/>
		  </Configs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_proto" CreatMdApi="create_md_104_yk_ret" Name="md_104_yk_ret" desc="收到遥控返模块"/>
		<MdId Id="19" />
		<NextMd>
			<Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="3"/>
		</NextMd>
		<Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="rxBuf" Desc="接收一帧数据缓存" IsConst="0" Type="byte" VarName="rxBuf"  />
			<In Name="rxDataLen" Desc="接收一帧数据长度" IsConst="0" Type="uint16" VarName="rxDataLen"  />
			<In Name="sendno" Desc="发送帧序号" IsConst="0" Type="uint16" VarName="sendno" />
			<In Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
		</Inputs>
		<Configs>
		    <Cfg Name="sendOrRecv" Desc="ASDU类型"  Type="uint8"  Val="1"/>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="ykBaseAddr" Desc="ASDU类型" Type="uint32"  Val="24577"/>
		</Configs>
	</Module>
	
	</recevice>
	<send>
	
	 <Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_if_else" Name="If Else" desc="条件跳转"/>
		  <MdId Id="1"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="2"/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="14"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="bool" VarName="bWait" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="bool"  Val="1"/>
		   </Inputs>
		<Configs>
			<Cfg Name="OperSymbol" Desc="操作符号" Type="string" Val="=="/>
		  </Configs>
	</Module>
		<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	 <!-- 条件跳转模块 -->
	   <Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_if_else" Name="If Else" desc="条件跳转"/>
		  <MdId Id="2"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="3"/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="6"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="bool" VarName="bInit" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="bool"  Val="1"/>
		   </Inputs>
		<Configs>
			<Cfg Name="OperSymbol" Desc="操作符号" Type="string" Val="=="/>
		  </Configs>
	    </Module>
		
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
		<Module>
		  <MdType Dll="md_proto" CreatMdApi="create_md_104_u" Name="md_104_u" desc="链路激活"/>
		  <MdId Id="3"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="4"/>
		  </NextMd>
		  <Configs>
			<Cfg Name="utype" Desc="u帧类型" Type="uint8" Val="7"/>
		  </Configs>
	    </Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
		<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_set_systemtime_to_var" Name="md_set_systemtime_to_var" desc="系统时间"/>
		  <MdId Id="4"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="0" NextMdId="5"/>
		  </NextMd>
		   <Inputs>
		         <in Name="sendcmdtime" Desc="发送时间" Type="uint32" VarName="sendcmdtime" />
		   </Inputs>
		   <Configs>
			<Cfg Name="type" Desc="秒类型" Type="uint8" Val="0"/>
		  </Configs>
	    </Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="5"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId=""/>
		</NextMd>
		<Inputs>
			<In Name="VarId" Desc="变量Id" IsConst="0" Type="bool" VarName="bWait" />
			<In Name="VarId" Desc="变量Id" IsConst="1" Type="bool"  Val="1"/>
		</Inputs>
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_timeout" Name="md_timeout" desc="超时判断"/>
		  <MdId Id="6"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="8"/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="7"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="uint32" VarName="sendGitime" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="uint32"  Val="300"/>
		   </Inputs>
		   <Configs>
			<Cfg Name="type" Desc="选择秒还是毫秒" Type="uint8" Val="0"/>
			<Cfg Name="bSys" Desc="是否同步" Type="uint8" Val="1"/>
		  </Configs>
	    </Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_proto" CreatMdApi="create_md_104_gi" Name="md_104_gi" desc="启动总招模块"/>
		  <MdId Id="7"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="4"/>
		  </NextMd>
		  <Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="sendno" Desc="发送帧序号" IsConst="0" Type="uint16" VarName="sendno" />
			<In Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
		</Inputs>
		<Configs>
		    <Cfg Name="sendOrRecv" Desc="ASDU类型"  Type="uint8"  Val="0"/>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="cot" Desc="原因"  Type="uint8"  Val="6"/>
		</Configs>
	</Module>
	
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_timeout" Name="md_timeout" desc="超时判断"/>
		  <MdId Id="8"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="10"/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="9"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="uint32" VarName="sendSystime" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="uint32" Val="20" />
		   </Inputs>
		<Configs>
			<Cfg Name="type" Desc="选择秒还是毫秒" Type="uint8" Val="0"/>
			<Cfg Name="bSys" Desc="是否同步" Type="uint8" Val="1"/>
		  </Configs>
	    </Module>
		
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_proto" CreatMdApi="create_md_104_synctime" Name="md_104_synctime" desc="发送对时模块"/>
		  <MdId Id="9"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="4"/>
		  </NextMd>
		  <Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="sendno" Desc="发送帧序号" IsConst="0" Type="uint16" VarName="sendno" />
			<In Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
			<In Name="rxBuf" Desc="接收一帧数据缓存" IsConst="0" Type="byte" VarName="rxBuf"  />
			<In Name="rxDataLen" Desc="接收一帧数据长度" IsConst="0" Type="uint16" VarName="rxDataLen"  />
		</Inputs>
		<Configs>
			<Cfg Name="cot" Desc="原因" Type="uint16" Val="6"/>
			<Cfg Name="tolocal" Desc="是否更新到本地" Type="bool" Val="1"/>
			<Cfg Name="tran" Desc="是否转发" Type="bool" Val="0"/>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="sendOrRecv" Desc="ASDU类型"  Type="uint8"  Val="0"/>
		</Configs>
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_timeout" Name="md_timeout" desc="超时判断"/>
		  <MdId Id="10"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="12"/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="11"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="uint32" VarName="sendDDtime" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="uint32"  Val="60"/>
		   </Inputs>
		<Configs>
			<Cfg Name="type" Desc="选择秒还是毫秒" Type="uint8" Val="0"/>
			<Cfg Name="bSys" Desc="是否同步" Type="uint8" Val="1"/>
		  </Configs>
	    </Module>
		
    <!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_proto" CreatMdApi="create_md_104_gi_dd" Name="md_104_gi_dd" desc="启动电度模块"/>
		  <MdId Id="11"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="4"/>
		  </NextMd>
		  <Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="sendno" Desc="发送帧序号" IsConst="0" Type="uint16" VarName="sendno" />
			<In Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
		</Inputs>
		<Configs>
		    <Cfg Name="sendOrRecv" Desc="ASDU类型"  Type="uint8"  Val="0"/>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="cot" Desc="原因"  Type="uint8"  Val="6"/>
		</Configs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_timeout" Name="md_timeout" desc="超时判断"/>
		  <MdId Id="12"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId=""/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="13"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="uint32" VarName="ui32lastRevTime" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="uint32"  Val="60"/>
		   </Inputs>
		<Configs>
			<Cfg Name="type" Desc="选择秒还是毫秒" Type="uint8" Val="0"/>
			<Cfg Name="bSys" Desc="是否同步" Type="uint8" Val="0"/>
		  </Configs>
	    </Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_proto" CreatMdApi="create_md_104_u" Name="md_104_u" desc="链路激活"/>
		  <MdId Id="13"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId="4"/>
		  </NextMd>
		  <Configs>
			<Cfg Name="utype" Desc="u帧类型" Type="uint8" Val="67"/>
		  </Configs>
	    </Module>
   
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_timeout" Name="md_timeout" desc="超时判断"/>
		  <MdId Id="14"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="条件判断假" NextMdId=""/>
			   <Ret RetVal="1" Name="True" Desc="条件判断真" NextMdId="2"/>
		  </NextMd>
		  <Inputs>
			    <In Name="LeftOperand" Desc="左操作数" IsConst="0" Type="uint32" VarName="sendcmdtime" />
			    <In Name="RightOperand" Desc="右操作数" IsConst="1" Type="uint32" Val="20"/>
		   </Inputs>
		   <Configs>
			<Cfg Name="type" Desc="选择秒还是毫秒" Type="uint8" Val="0"/>
			<Cfg Name="bSys" Desc="是否同步" Type="uint8" Val="0"/>
		  </Configs>
	 </Module>
	</send>

	
	<reset>
	<!-- 变量设置模块（预定义） -->
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="0"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="0"/>
		</NextMd>
		<Inputs>
			<In  Name="VarId" Desc="变量Id" IsConst="0" Type="bool" VarName="bInit"/>
			<In  Name="VarId" Desc="变量Id" IsConst="1" Type="bool"  Val="0"/>
		</Inputs>
	</Module>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="1"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="0"/>
		</NextMd>
		<Inputs>
			<In  Name="VarId" Desc="变量Id" IsConst="0" Type="bool" VarName="bWait" />
			<In Name="VarId" Desc="变量Id" IsConst="1" Type="bool"  Val="0"/>
		</Inputs>
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="2"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="0"/>
		</NextMd>
		<Inputs>
			<In  Name="VarId" Desc="变量Id" IsConst="0" Type="uint32" VarName="ui32lastRevTime" />
			<In  Name="VarId" Desc="变量Id" IsConst="1" Type="uint32"  Val="0"/>
		</Inputs>
	</Module>
	
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="3"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="0"/>
		</NextMd>
		<Inputs>
			<In  Name="VarId" Desc="变量Id" IsConst="0" Type="uint32" VarName="sendDDtime" />
			<In  Name="VarId" Desc="变量Id" IsConst="1" Type="uint32"  Val="0"/>
		</Inputs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="4"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="0"/>
		</NextMd>
		<Inputs>
			<In  Name="VarId" Desc="变量Id" IsConst="0" Type="uint32" VarName="sendSystime" />
			<In  Name="VarId" Desc="变量Id" IsConst="1" Type="uint32"  Val="0"/>
		</Inputs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="5"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="0"/>
		</NextMd>
		<Inputs>
			<In Name="VarId" Desc="变量Id" IsConst="0" Type="uint32" VarName="sendSystime" />
			<In Name="VarId" Desc="变量Id" IsConst="1" Type="uint32"  Val="0"/>
		</Inputs>
	</Module>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_set_var" Name="md_set_var" desc="设置变量"/>
		<MdId Id="6"/>
		<NextMd>
			<result val="0" Name="Finished" Desc="执行完成" NextMdId="0"/>
		</NextMd>
		<Inputs>
			<In Name="VarId" Desc="变量Id" IsConst="0" Type="uint32" VarName="sendGitime" />
			<In Name="VarId" Desc="变量Id" IsConst="1" Type="uint32"  Val="0"/>
		</Inputs>
	</Module>
	</reset>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
	<cmd>
	<Module>
		  <MdType Dll="md_basic" CreatMdApi="create_md_cmd_m" Name="md_cmd_m" desc="命令处理模块"/>
		  <MdId Id="1"/>
		  <NextMd>
			   <Ret RetVal="0" Name="False" Desc="复位" NextMdId=""/>
			   <Ret RetVal="1" Name="False" Desc="对时" NextMdId=""/>
			   <Ret RetVal="2" Name="False" Desc="总招" NextMdId=""/>
			   <Ret RetVal="3" Name="False" Desc="总招电度" NextMdId=""/>
			   <Ret RetVal="20" Name="False" Desc="遥控" NextMdId="2"/>
			   <Ret RetVal="21" Name="False" Desc="遥调" NextMdId=""/>
			   <Ret RetVal="22" Name="False" Desc="定值" NextMdId=""/>
			   <Ret RetVal="26" Name="False" Desc="定值组操作" NextMdId=""/>
			   <Ret RetVal="23" Name="False" Desc="遥测" NextMdId=""/>
			   <Ret RetVal="24" Name="False" Desc="遥信" NextMdId=""/>
			   <Ret RetVal="25" Name="False" Desc="电度" NextMdId=""/>
			   <Ret RetVal="27" Name="False" Desc="历史数据召唤" NextMdId=""/>
			   <Ret RetVal="100" Name="False" Desc="自定义" NextMdId=""/>
		  </NextMd>
		 <Configs>
			<Cfg Name="uiSelectTimeout" Desc="遥控选择操作的超时时间" Type="uint" Val="60"/>
		 </Configs>
	 </Module>
	 <Module>
		<MdType Dll="md_basic" CreatMdApi="create_md_get_yk_type" Name="md_get_yk_type" desc="获取遥控类型"/>
		<MdId Id="2"/>
		 <NextMd>
			   <Ret RetVal="0" Name="False" Desc="复位" NextMdId="3"/>
		 </NextMd>	
	</Module>
    <Module>
		<MdType Dll="md_proto" CreatMdApi="create_md_104_yk" Name="md_104_yk" desc="yk选择"/>
		<MdId Id="3"/>
		<Inputs>
            <In Name="usAddr_in" Desc="ASDU类型" IsConst="0" Type="uint16" VarName="usAddr_in" />
			<In Name="sendno" Desc="发送帧序号" IsConst="0" Type="uint16" VarName="sendno" />
			<In Name="revcno" Desc="接收帧序号" IsConst="0" Type="uint16" VarName="revcno" />
		</Inputs>
		<Configs>
		     <Cfg Name="sendOrRecv" Desc="秒类型" Type="uint8" Val="0"/>
			<Cfg Name="asdu" Desc="秒类型" Type="uint8" Val="45"/>
			<Cfg Name="ykType" Desc="秒类型" Type="uint8" Val="0"/>
			<Cfg Name="YkQU" Desc="秒类型" Type="uint8" Val="0"/>
			<Cfg Name="addrBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
			<Cfg Name="cotBytes" Desc="ASDU类型"  Type="uint8"  Val="2"/>
            <Cfg Name="infoAddrBytes" Desc="ASDU类型"  Type="uint8"  Val="3"/>
			<Cfg Name="ykBaseAddr" Desc="ASDU类型"  Type="uint32"  Val="24577"/>
		 </Configs>
		
	</Module>
	
	</cmd>
  </Case>		


	
		
	<!------------------------------------------------------------------------------>
	<!------------------------------------------------------------------------------>
</Proto>