Compare commits
4 Commits
9.9
..
test/四乘压力测试
| Author | SHA1 | Date | |
|---|---|---|---|
| a7802a60aa | |||
| 9a93d3baac | |||
| 1461242454 | |||
| 65594a600d |
@@ -1,3 +1 @@
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
-814
@@ -1,814 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.1898895178">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1898895178" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1898895178" name="aarch64le-debug" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.1898895178.439655998" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.203259723" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.1556422156" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.1968879177" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1876022724" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1127686504" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.693527478" name="Build Type:" superClass="com.qnx.qcc.option.buildtype"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1352316322" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder arguments="-s" command="make" id="cdt.managedbuild.target.gnu.builder.base.188590944" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.591289016" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.441788077" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.385459622" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.115407820" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1325284031" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.2085985240" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/AxisSort}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.340189104" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.2069067091" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.518642259" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.691157941">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.691157941" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.691157941" name="aarch64le-release" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.691157941.1401546998" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.1429422764" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.151761149" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.338787402" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1463811141" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1011457115" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.1060491868" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="release" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1027291205" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.172580598" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.414331704" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.930754063" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.268084290" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.984303874" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1712037338" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.1880381899" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.1387983109" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.443276640" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.1946208989" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.1923716135">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1923716135" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-coverage">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1923716135" name="aarch64le-coverage" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.1923716135.232544716" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.860429857" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.2053077575" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.297249280" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1799269231" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.2024866919" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.441290721" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="coverage" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.167631540" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.448487023" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1573895293" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.1953871695" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.669934293" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.1705241935" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1830913594" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.704535072" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.2037769893" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.1197282124" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.2045259756" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.1088691470">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1088691470" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-profile">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1088691470" name="aarch64le-profile" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.1088691470.1633521277" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.634956353" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.179660503" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.313606566" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1262746660" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.87427708" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.539075209" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="profile" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.600190288" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.894535644" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1842681380" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.1532817766" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.527375705" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.1591490423" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.2018725012" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.1697962313" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.717422833" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.1693276407" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.1493055817" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.2034181414">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.2034181414" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-profile">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.2034181414" name="aarch64le-profile" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.2034181414.149612478" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.1865511620" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.1511839536" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.591436227" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.918663847" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1470959014" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.796055386" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="profile" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1577154900" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.1659640273" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1294027329" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.309638494" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.758367742" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.1736500952" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1947523253" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.1748323435" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.1487064582" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.1936914041" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.268298854" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.1322416424">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1322416424" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1322416424" name="aarch64le-debug" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.1322416424.1503765272" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.451494519" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.416140676" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.865783000" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1430643620" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1342741898" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.1812926040" name="Build Type:" superClass="com.qnx.qcc.option.buildtype"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.385638230" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.1755628656" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.245390234" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.1034866566" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.764963368" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.224461901" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.942775645" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.903967461" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.1670335381" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.257258345" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.721284519" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.1771705254">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1771705254" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1771705254" name="aarch64le-release" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.1771705254.704637607" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.928452873" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.805331307" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.210787420" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1738710733" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1396873370" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.551224083" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="release" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.478444913" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.2145709880" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1882728420" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.1958543971" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.333344947" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.2009341474" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.365537856" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.1645365308" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.838515999" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.1752225216" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.1980607405" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.508473458">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.508473458" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.508473458" name="aarch64le-debug" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.508473458.2105641964" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.227360216" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.871471082" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.15784798" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.336109977" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.588147567" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.1574941818" name="Build Type:" superClass="com.qnx.qcc.option.buildtype"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1216394719" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.1679627742" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="6" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1984157175" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.112007619" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.163710002" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.520844188" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.20391325" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.680021704" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.314103150" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.1000589579" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.2090876633" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.11197553">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.11197553" moduleId="org.eclipse.cdt.core.settings" name="x86_64-coverage">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.11197553" name="x86_64-coverage" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.11197553.768042893" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.1677690501" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.1763665618" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.2030972224" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.x86_64" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.695756230" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.2085490978" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.1211222878" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="coverage" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.690624196" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.1898960536" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1573811045" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.989567208" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.460439821" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.82522484" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1631748443" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.740286393" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.700007729" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.736010980" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.479249048" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.312133252">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.312133252" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-profile">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.312133252" name="aarch64le-profile" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.312133252.1830811651" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.566934566" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.390003139" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.1055315239" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1893807591" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.330319677" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.459217554" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="profile" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.706344691" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.930033839" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1351783745" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.948397116" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.1640423838" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.1521366613" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1374658122" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.1741170874" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.811505509" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.173000416" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.1674246736" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.851831643">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.851831643" moduleId="org.eclipse.cdt.core.settings" name="x86-coverage">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.851831643" name="x86-coverage" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.851831643.838215177" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.666018849" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.652692550" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.1461458931" name="Target CPU:" superClass="com.qnx.qcc.option.cpu"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1997653790" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.570424276" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.11290833" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="coverage" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.470526191" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.1110761941" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.530989487" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.1234027203" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.299411087" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.1359968577" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.84630033" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.1948912253" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.1440514454" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.116406286" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.474461871" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.1697766463">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1697766463" moduleId="org.eclipse.cdt.core.settings" name="armv7le-coverage">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1697766463" name="armv7le-coverage" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.1697766463.1693159231" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.917976049" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.106687656" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.1885103417" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1313986256" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1669172336" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.2088343680" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="coverage" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.449222909" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.1086123974" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.186026688" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.2090109694" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.85399836" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.562774782" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1438453230" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.378109278" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.1130936801" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.759414821" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.1263698493" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.647166456">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.647166456" moduleId="org.eclipse.cdt.core.settings" name="armv7le-profile">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.647166456" name="armv7le-profile" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.647166456.1508820537" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.1979487242" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.970887142" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.239664321" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1751274850" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1269442265" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.1431865529" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="profile" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.799655379" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.2029839409" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1975279854" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.1510714308" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.897962192" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.576900047" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.661845605" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.251749173" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.1008332808" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.17926043" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.1954231787" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.844978504">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.844978504" moduleId="org.eclipse.cdt.core.settings" name="armv7le-release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.844978504" name="armv7le-release" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.844978504.731469155" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.669877348" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.1918128345" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.194470149" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1545492074" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1562920328" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.1037042803" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="release" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1040005206" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.1798779527" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.583776540" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.704432493" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.884747388" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.265358615" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1039080703" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.1634333473" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.2124019965" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.1475234954" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.1459622746" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.qnx.qcc.toolChain.1751632028">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1751632028" moduleId="org.eclipse.cdt.core.settings" name="aarch64le-coverage">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1751632028" name="aarch64le-coverage" parent="org.eclipse.cdt.build.core.emptycfg">
|
||||
<folderInfo id="com.qnx.qcc.toolChain.1751632028.139167443" name="/" resourcePath="">
|
||||
<toolChain id="com.qnx.qcc.toolChain.1922911304" name="QNX QCC" superClass="com.qnx.qcc.toolChain">
|
||||
<option id="com.qnx.qcc.option.os.1932184065" name="Target OS:" superClass="com.qnx.qcc.option.os"/>
|
||||
<option id="com.qnx.qcc.option.cpu.145657146" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.aarch64le" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.1234409396" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/>
|
||||
<option id="com.qnx.qcc.option.runtime.1033770099" name="C++ Runtime:" superClass="com.qnx.qcc.option.runtime"/>
|
||||
<option id="com.qnx.qcc.option.buildtype.831900883" name="Build Type:" superClass="com.qnx.qcc.option.buildtype" value="coverage" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.301470980" osList="all" superClass="com.qnx.qcc.targetPlatform"/>
|
||||
<builder id="cdt.managedbuild.target.gnu.builder.base.870136306" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="cdt.managedbuild.target.gnu.builder.base"/>
|
||||
<tool id="com.qnx.qcc.tool.compiler.1357395530" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler">
|
||||
<option id="com.qnx.qcc.option.compiler.optlevel.107758436" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" useByScannerDiscovery="false" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/>
|
||||
<option id="com.qnx.qcc.option.compiler.includePath.1494855812" name="Include Directories (-I)" superClass="com.qnx.qcc.option.compiler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.compiler.2085763103" superClass="com.qnx.qcc.inputType.compiler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.assembler.1269222028" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler">
|
||||
<option id="com.qnx.qcc.option.assembler.includePath.513613045" name="Include Directories (-I)" superClass="com.qnx.qcc.option.assembler.includePath" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/TSCP/src/APP/ciapp/Train}""/>
|
||||
</option>
|
||||
<inputType id="com.qnx.qcc.inputType.assembler.207312122" superClass="com.qnx.qcc.inputType.assembler"/>
|
||||
</tool>
|
||||
<tool id="com.qnx.qcc.tool.linker.600660352" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/>
|
||||
<tool id="com.qnx.qcc.tool.archiver.503067367" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/src"/>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="/public"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="TSCP.null.349235574" name="TSCP"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="aarch64le-debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="x86_64-debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="armv7le-coverage">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="armv7le-debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="x86-coverage">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="x86-profile">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="armv7le-profile">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="x86_64-coverage">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="aarch64le-profile">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="aarch64le-coverage">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="x86_64-release">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="armv7le-release">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="x86-release">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="aarch64le-release">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="x86_64-profile">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
<configuration configurationName="x86-debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/TSCP"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.2111653378">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.444211187">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1923716135">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.691157941">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.705038085">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.11197553">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.444971310">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.962019019">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.867349151">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.312133252">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1100278840">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.2034181414">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1697766463">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.314237686">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1771705254">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1273206681">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1322416424">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.844978504">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1898895178">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.508473458">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.24582968">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1194012629">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.647166456">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1701031470">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1088691470">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.851831643">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.330376829">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1751632028">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
</cproject>
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>TIOC</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
+61
-60
@@ -20,23 +20,77 @@ LD = $(CC)
|
||||
|
||||
#INCLUDES += -I/path/to/my/lib/include
|
||||
#INCLUDES += -I../mylib/public
|
||||
INCLUDES += -I ./src/commoncode/common \
|
||||
INCLUDES += -I ./src/APP \
|
||||
-I ./src/APP/ciapp/2oo2 \
|
||||
-I ./src/APP/ciapp/AllAutoReturn \
|
||||
-I ./src/APP/ciapp/AutoReturn \
|
||||
-I ./src/APP/ciapp/AutoRoute \
|
||||
-I ./src/APP/ciapp/AxisAssert \
|
||||
-I ./src/APP/ciapp/AxisSort \
|
||||
-I ./src/APP/ciapp/CutoffPoint \
|
||||
-I ./src/APP/ciapp/DataManage \
|
||||
-I ./src/APP/ciapp/DebugPrint \
|
||||
-I ./src/APP/ciapp/Deployment \
|
||||
-I ./src/APP/ciapp/DiffLineDev \
|
||||
-I ./src/APP/ciapp/EnvelopeManage \
|
||||
-I ./src/APP/ciapp/ERROR \
|
||||
-I ./src/APP/ciapp/ESB \
|
||||
-I ./src/APP/ciapp/FloodGate \
|
||||
-I ./src/APP/ciapp/Garagedoor \
|
||||
-I ./src/APP/ciapp/HLHTMsgHead \
|
||||
-I ./src/APP/ciapp/Indicator \
|
||||
-I ./src/APP/ciapp/Initial \
|
||||
-I ./src/APP/ciapp/InvadeSection \
|
||||
-I ./src/APP/ciapp/IO \
|
||||
-I ./src/APP/ciapp/LogicManage \
|
||||
-I ./src/APP/ciapp/LogicProcess \
|
||||
-I ./src/APP/ciapp/LogRecord \
|
||||
-I ./src/APP/ciapp/Main \
|
||||
-I ./src/APP/ciapp/Mask \
|
||||
-I ./src/APP/ciapp/NonAutoReturn \
|
||||
-I ./src/APP/ciapp/NonRoute \
|
||||
-I ./src/APP/ciapp/Overlap \
|
||||
-I ./src/APP/ciapp/ParsePack \
|
||||
-I ./src/APP/ciapp/PSC \
|
||||
-I ./src/APP/ciapp/PSD \
|
||||
-I ./src/APP/ciapp/QueryFiles \
|
||||
-I ./src/APP/ciapp/Relay \
|
||||
-I ./src/APP/ciapp/RemoteRM \
|
||||
-I ./src/APP/ciapp/ReverseCut \
|
||||
-I ./src/APP/ciapp/ReverseRoute \
|
||||
-I ./src/APP/ciapp/Route \
|
||||
-I ./src/APP/ciapp/Section \
|
||||
-I ./src/APP/ciapp/SectionStateProcess \
|
||||
-I ./src/APP/ciapp/SGBJ \
|
||||
-I ./src/APP/ciapp/Signal \
|
||||
-I ./src/APP/ciapp/SPKS \
|
||||
-I ./src/APP/ciapp/Switch \
|
||||
-I ./src/APP/ciapp/System \
|
||||
-I ./src/APP/ciapp/Train \
|
||||
-I ./src/APP/ciapp/Transmit \
|
||||
-I ./src/APP/ciapp/VirtualDevice \
|
||||
-I ./src/APP/ciapp/WashMachine \
|
||||
-I ./src/APP/ciapp/WLScreen \
|
||||
-I ./src/APP/ciapp/WLBrake \
|
||||
-I ./src/APP/PU13_integration_config \
|
||||
-I ./src/commoncode/common \
|
||||
-I ./src/commoncode/commoncode_config_vxworks \
|
||||
-I ./src/dqu_common/dqu_idmap_common \
|
||||
-I ./src/dqu_common/dqu_emap_common \
|
||||
-I ./src/dqu_common/dqu_dfs_common \
|
||||
-I ./src/dqu_common/dqu_cbtc_common \
|
||||
-I .\src\protocol\fsfb\common_dqu_fsfb \
|
||||
-I .\src\protocol\fsfb\common_fsfb \
|
||||
-I .\src\protocol\protocol_cbtc\common_protocol_config \
|
||||
-I .\src\protocol\protocol_cbtc\common_dqu_protocol \
|
||||
-I .\src\protocol\protocol_cbtc\common_protocol \
|
||||
-I .\src\protocol\protocol_cbtc\common_protocol_sfp_rsspi-config \
|
||||
-I .\src\protocol\redun_record_cbtc\common_dqu_rp \
|
||||
-I .\src\protocol\redun_record_cbtc\common_redun \
|
||||
-I .\src\protocol\redun_record_cbtc\common_redun_record_config \
|
||||
-I .\src\protocol\rsr_record_cbtc\common_dqu_rsr \
|
||||
-I .\src\protocol\rsr_record_cbtc\common_rsr \
|
||||
-I .\src\protocol\rsr_record_cbtc\common_rsr\rssp \
|
||||
-I .\src\protocol\rsr_record_cbtc\common_rsr\sig \
|
||||
-I .\src\protocol\rsr_record_cbtc\common_rsr \
|
||||
-I .\src\protocol\rsr_record_cbtc\common_rsr_record_config \
|
||||
-I .\src\protocol\rssp_record_cbtc1\common_dqu_rssp \
|
||||
-I .\src\protocol\rssp_record_cbtc1\common_rssp \
|
||||
@@ -47,8 +101,6 @@ INCLUDES += -I ./src/commoncode/common \
|
||||
-I .\src\protocol\sfp_record_cbtc1\common_dqu_sfp \
|
||||
-I .\src\protocol\sfp_record_cbtc1\common_sfp \
|
||||
-I .\src\protocol\sfp_record_cbtc1\common_sfp_nr_config \
|
||||
-I .\src\protocol\fsfb\common_dqu_fsfb \
|
||||
-I .\src\protocol\fsfb\common_fsfb \
|
||||
-I ./src/DRV \
|
||||
-I ./src/MSCP \
|
||||
-I ./src/MSCP/CM \
|
||||
@@ -57,65 +109,14 @@ INCLUDES += -I ./src/commoncode/common \
|
||||
-I ./src/MSCP/SFM \
|
||||
-I ./src/MSCP/PFM \
|
||||
-I ./src/MSCP_CFG \
|
||||
-I ./src/APP \
|
||||
-I ./src/APP/ciapp/2oo2 \
|
||||
-I ./src/APP/ciapp/AllAutoReturn \
|
||||
-I ./src/APP/ciapp/AutoReturn \
|
||||
-I ./src/APP/ciapp/AutoRoute \
|
||||
-I ./src/APP/ciapp/DataManage \
|
||||
-I ./src/APP/ciapp/DebugPrint \
|
||||
-I ./src/APP/ciapp/DiffLineDev \
|
||||
-I ./src/APP/ciapp/ERROR \
|
||||
-I ./src/APP/ciapp/ESB \
|
||||
-I ./src/APP/ciapp/FloodGate \
|
||||
-I ./src/APP/ciapp/Garagedoor \
|
||||
-I ./src/APP/ciapp/HLHTMsgHead \
|
||||
-I ./src/APP/ciapp/Indicator \
|
||||
-I ./src/APP/ciapp/Initial \
|
||||
-I ./src/APP/ciapp/InvadeSection \
|
||||
-I ./src/APP/ciapp/IO \
|
||||
-I ./src/APP/ciapp/LightTestButtonManage \
|
||||
-I ./src/APP/ciapp/LogicManage \
|
||||
-I ./src/APP/ciapp/LogicProcess \
|
||||
-I ./src/APP/ciapp/LogRecord \
|
||||
-I ./src/APP/ciapp/Main \
|
||||
-I ./src/APP/ciapp/Mask \
|
||||
-I ./src/APP/ciapp/NonRoute \
|
||||
-I ./src/APP/ciapp/Overlap \
|
||||
-I ./src/APP/ciapp/ParsePack \
|
||||
-I ./src/APP/ciapp/PSC \
|
||||
-I ./src/APP/ciapp/PSD \
|
||||
-I ./src/APP/ciapp/QueryFiles \
|
||||
-I ./src/APP/ciapp/Relay \
|
||||
-I ./src/APP/ciapp/ReverseRoute \
|
||||
-I ./src/APP/ciapp/Route \
|
||||
-I ./src/APP/ciapp/Section \
|
||||
-I ./src/APP/ciapp/Signal \
|
||||
-I ./src/APP/ciapp/SPKS \
|
||||
-I ./src/APP/ciapp/Switch \
|
||||
-I ./src/APP/ciapp/System \
|
||||
-I ./src/APP/ciapp/Transmit \
|
||||
-I ./src/APP/ciapp/VirtualDevice \
|
||||
-I ./src/APP/ciapp/WashMachine \
|
||||
-I ./src/APP/PU13_integration_config \
|
||||
-I ./src/APP/ciapp/AxisSort \
|
||||
-I ./src/APP/ciapp/Train \
|
||||
-I ./src/APP/ciapp/EnvelopeManage \
|
||||
-I ./src/APP/ciapp/CutoffPoint \
|
||||
-I ./src/APP/ciapp/SectionStateProcess \
|
||||
-I ./src/APP/ciapp/AxisAssert \
|
||||
-I ./src/APP/ciapp/ReverseCut \
|
||||
-I ./src/APP/ciapp/WLScreen \
|
||||
-I ./src/APP/ciapp/WLBrake \
|
||||
-I ./src/APP/ciapp/RemoteRM \
|
||||
-I ./src/APP/ciapp/NonAutoReturn \
|
||||
-include stdarg.h
|
||||
|
||||
-I ./src/MSCP/Area\
|
||||
-I ./src/MSCP/OFM\
|
||||
#LIBS += -L/path/to/my/lib/$(PLATFORM)/usr/lib -lmylib
|
||||
#LIBS += -L../mylib/$(OUTPUT_DIR) -lmylib
|
||||
|
||||
#Compiler flags for build profiles
|
||||
CCFLAGS_release += -O0
|
||||
CCFLAGS_release += -O2
|
||||
#CCFLAGS_release += -g -O2
|
||||
CCFLAGS_debug += -g -O0 -fno-builtin
|
||||
CCFLAGS_coverage += -g -O0 -ftest-coverage -fprofile-arcs -nopipe -Wc,-auxbase-strip,$@
|
||||
LDFLAGS_coverage += -ftest-coverage -fprofile-arcs
|
||||
|
||||
+287
-299
@@ -16,10 +16,6 @@
|
||||
static CM_UINT32 gFollowDataLen = 0u; /*应用跟随数据长度*/
|
||||
static CM_UINT8 gFollowData[MSCP_FOLLOW_BUFF_SIZE] = { 0 }; /*应用跟随数据*/
|
||||
|
||||
static CM_UINT32 gCiRcFollowDataLen = 0u; /*CI-RC同步数据长度*/
|
||||
static CM_UINT8 gCiRcFollowData[MSCP_FOLLOW_BUFF_SIZE] = { 0 }; /*CI-RC同步数据*/
|
||||
|
||||
extern UINT8 LocalCiId; /*系统配置文件中定义的联锁ID*/
|
||||
/* 内网安全通信配置参数,示例: */
|
||||
/* 内网安全通信配置参数,示例: */
|
||||
/*ATP、ATO、MMI间通信时,SFP协议使用的数据库数组:
|
||||
@@ -29,15 +25,14 @@ extern UINT8 LocalCiId; /*系
|
||||
const CM_UINT8 g_SfpInnetParam[] =
|
||||
{
|
||||
|
||||
0,5,/*不同设备通信关系表记录个数*/
|
||||
0,4,/*不同设备通信关系表记录个数*/
|
||||
/*记录的格式如下:*/
|
||||
/* 发起方 发起方发送数据 发起方报文 发起方报文 发起方接收Ack 跟随方 跟随方发送数据 跟随方运行 跟随方报文 此通信关系中成功发送 */
|
||||
/* 设备类型 通信类型 发送周期长度 最大延时 报文最大延时差 设备类型 通信类型 周期长度 最大延时 一包数据所需最小周期数 */
|
||||
/*ZC->CI*/ 0x22, 0x55, 0x01,0x1D, 0x01,0x1D, 0x01,0x1D, 0xff, 0x55, 0x00,0xC8, 0x00,0xC8, 0x02,
|
||||
/*AOM->TIAS*/ 0x15, 0x55, 0x00,0xC8, 0x00,0xC8, 0x00,0xC8, 0x03, 0x55, 0x00,0xC8, 0x00,0xC8, 0x02,
|
||||
/*AOM->ATP*/ 0x14, 0x55, 0x00,0xC8, 0x00,0xC8, 0x00,0xC8, 0x15, 0x55, 0x00,0xC8, 0x00,0xC8, 0x02,
|
||||
/*RC主机->维护机*/ 0xD9, 0x55, 0x01,0x2c, 0x01,0x2C, 0x01,0x2C, 0xf8, 0x55, 0x00,0xc8, 0x00,0xc8, 0x02,
|
||||
/*CI主机->维护机*/ 0xDE, 0x55, 0x01,0x2c, 0x01,0x2C, 0x01,0x2C, 0xf8, 0x55, 0x00,0xc8, 0x00,0xc8, 0x02,
|
||||
/*主机->维护机*/ 0xD9, 0x55, 0x01,0x2c, 0x01,0x2C, 0x01,0x2C, 0xf8, 0x55, 0x00,0xc8, 0x00,0xc8, 0x02,
|
||||
0,2,/*相同设备通信关系表记录个数*/
|
||||
/*记录的格式如下:*/
|
||||
/* 发起方 发起方 发起方发送数据 发起方报文 发起方报文 发起方接收Ack 跟随方 跟随方 跟随方发送数据 跟随方运行 跟随方报文 此通信关系中成功发送 */
|
||||
@@ -190,7 +185,6 @@ ENUM_CM_RETURN APP_API_Init(OUT CM_UINT8 VitalBuf[200], OUT CM_UINT16* pVitalLen
|
||||
MSCP_SetOutAtsVobcFunc(pReserveOutVobc);
|
||||
pReserveInAts = SerialInVobcAtsFunc;
|
||||
MSCP_SetInVobcAtsFunc(pReserveInAts);
|
||||
MSCP_SetRCFollowUpFunc(SetCiGeneralData);
|
||||
#if 1
|
||||
cSwtichFalg = GetCiFunctionSwitchConfig(FUNC_OC_200_INOUTNET);
|
||||
|
||||
@@ -230,63 +224,9 @@ void APP_API_Data_Init()
|
||||
UINT16 ii = 0U;
|
||||
UINT8 szFSFILEVersionFS[DFS_VERSION_LENGTH] = { 0 };
|
||||
UINT8 funcRetVal = 0U;
|
||||
UINT8 cBoardInfo = 0U;
|
||||
UINT8 cPluginId = 0U;
|
||||
UINT8 cBoardId = 0U;
|
||||
UINT8 cRetVal = CI_ERROR;
|
||||
UINT16 locTypeId = 0U;
|
||||
UINT8 cDevType = 0U;
|
||||
UINT8 cSystemWorkType = SYSTEM_WORK_MODE_ONLY;
|
||||
funcRetVal = dquGetFSVersion(DataPath, szFSFILEVersionFS);
|
||||
|
||||
locTypeId = MSCP_GetOutnetID();
|
||||
LocalCiId = (UINT8)(locTypeId & 0x00FFU); /*联锁设备ID*/
|
||||
cDevType = (UINT8)((locTypeId >> 8U) & 0x00FFU); /*RC/CI类型*/
|
||||
|
||||
|
||||
cRetVal = RciCommonConfigDataInit((const)DataPath); /*初始化当前联锁类型配置数据*/
|
||||
if ((CI_SUCCESS == cRetVal) && (CI_SUCCESS == funcRetVal)) /*初始化当前联锁类型配置数据*/
|
||||
{
|
||||
cSystemWorkType = GetSystemWorkType();
|
||||
#if (kPLATFORM==kVXWORKS)
|
||||
/*若为真机,则通过平台获取设备类型*/
|
||||
cBoardInfo = MSCP_GetDrvBoardID();
|
||||
PlatSheBeiType = &gSheBeiType; /*联锁设备类型*/
|
||||
cPluginId = ((cBoardInfo >> 4U) & 0x0FU);
|
||||
cBoardId = (cBoardInfo & 0x0FU);
|
||||
if (((0x03U == cPluginId) && ((0x03U == cBoardId) || (0x05U == cBoardId)))
|
||||
|| ((0x0CU == cPluginId) && ((0x06U == cBoardId) || (0x0AU == cBoardId))))
|
||||
{
|
||||
(void)SetLocalRcWorkMode(RC_WORK_MODE_TIOC);
|
||||
gSheBeiType = RC_WORK_MODE_TIOC;
|
||||
}
|
||||
else if (((0x04U == cPluginId) && ((0x03U == cBoardId) || (0x05U == cBoardId)))
|
||||
|| ((0x0BU == cPluginId) && ((0x06U == cBoardId) || (0x0AU == cBoardId))))
|
||||
{
|
||||
(void)SetLocalRcWorkMode(RC_WORK_MODE_CI);
|
||||
gSheBeiType = RC_WORK_MODE_CI;
|
||||
}
|
||||
else
|
||||
{
|
||||
debug_infor_printf((const)"APP_API_Data_Init Error: CI_SYSTEM_TYPE Error.\n");
|
||||
printf((const)"APP_API_Data_Init Error: CI_SYSTEM_TYPE Error.\n");
|
||||
}
|
||||
/*真机需校验设备类型是否一致*/
|
||||
locTypeId = MSCP_GetOutnetID();
|
||||
cDevType = (UINT8)((locTypeId >> 8U) & 0x00FFU); /*RC/CI类型*/
|
||||
if (gSheBeiType == cDevType)
|
||||
{
|
||||
/*继续处理*/
|
||||
}
|
||||
else
|
||||
{
|
||||
debug_infor_printf((const)"APP_API_Data_Init Error: DevType[0x%x] And [0x%x] Is Not Equal \n", gSheBeiType, cDevType);
|
||||
cRetVal = CI_ERROR;
|
||||
}
|
||||
|
||||
}
|
||||
if(CI_SUCCESS == cRetVal)
|
||||
{
|
||||
#if 0//(kPLATFORM==kVXWORKS)
|
||||
/*文件配置*/
|
||||
STRU_APP_CFG_T AppCfgInterface = {
|
||||
.FS_NAME = "RCI.FS", /**< FS文件名称 */
|
||||
@@ -298,29 +238,51 @@ void APP_API_Data_Init()
|
||||
.M_InnetSafe_Enable = 0x55, /**< 内网安全通信功能开关 */
|
||||
.M_InnetRaw_Enable = 0xAA, /**< 内网透传通信功能开关 */
|
||||
.M_OutnetSafe_Enable = 0x55,/**< 外网安全通信功能开关 */
|
||||
.M_OutnetRaw_Enable = 0xAA, /**< 外网透传通信功能开关 */
|
||||
.M_CpuUsageGet_Enable = 0x55,/**< 获取cpu使用率功能开关 */
|
||||
.M_OutnetRaw_Enable = 0x55, /**< 外网透传通信功能开关 */
|
||||
.M_CpuUsageGet_Enable = 0xAA,/**< 获取cpu使用率功能开关 */
|
||||
.M_RemoteUpdate_Enable = 0x55,/**< 远程部署内网安全通信功能开关 */
|
||||
.ID_Maintenance = DEVICE_TYPE_AIM,
|
||||
.Start_Path = "/emmc1", /**< 程序启动路径 */
|
||||
.reboot_replycount = 10, /**< 重启确认报文回复次数 */
|
||||
.M_AutoReboot_Count = 3, /**< 自动重启次数 */
|
||||
.M_AutoReboot_Count = 0, /**< 自动重启次数 */
|
||||
.M_AutoClear_Days = 1, /**< 连续运行多久清空宕机次数的天数 */
|
||||
.M_Area_Enable = 0, /**< 区域状态开关配置 */
|
||||
.M_AREA_SEB_Enable = 0xAA, /**< RC与CI扩展板卡通信功能开关配置 */
|
||||
|
||||
.CPU[0].IP_2oo2 = "192.168.0.11", /**< 2oo2通信IP */
|
||||
// .CPU[0].IP_2x2 = "192.168.1.62", /**< 2x2通信IP */
|
||||
.CPU[0].IP_Out = "192.168.1.62", /**< 外网通信IP */
|
||||
.CPU[0].IP_Maintain = "192.168.146.101", /**< 维护通信IP */
|
||||
/*适用透传通道-选配*/
|
||||
.CPU[0].IP_Com = "192.168.1.62", /**< 通用通信IP */
|
||||
.CPU[0].IP_Com_Extend = "192.168.1.62",/**< 通用通信扩展IP */
|
||||
.CPU[0].Logger_PortBase = 55011, /**< 明文日志记录发送端口 */
|
||||
.CPU[0].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
|
||||
|
||||
.CPU[1].IP_2oo2 = "192.168.0.12", /**< 2oo2通信IP */
|
||||
// .CPU[1].IP_2x2 = "192.168.2.62", /**< 2x2通信IP */
|
||||
.CPU[1].IP_Out = "192.168.2.62", /**< 外网通信IP */
|
||||
.CPU[1].IP_Maintain = "192.168.18.102", /**< 维护通信IP */
|
||||
/*适用透传通道-选配*/
|
||||
.CPU[1].IP_Com = "192.168.2.62", /**< 通用通信IP */
|
||||
.CPU[1].IP_Com_Extend = "192.168.2.62",/**< 通用通信扩展IP */
|
||||
.CPU[1].Logger_PortBase = 55012, /**< 明文日志记录发送端口 */
|
||||
.CPU[1].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
|
||||
|
||||
.CPU[2].IP_2oo2 = "192.168.0.21", /**< 2oo2通信IP */
|
||||
// .CPU[2].IP_2x2 = "192.168.1.64", /**< 2x2通信IP */
|
||||
.CPU[2].IP_Out = "192.168.1.64", /**< 外网通信IP */
|
||||
.CPU[2].IP_Maintain = "192.168.146.103", /**< 维护通信IP */
|
||||
/*适用透传通道-选配*/
|
||||
.CPU[2].IP_Com = "192.168.1.64", /**< 通用通信IP */
|
||||
.CPU[2].IP_Com_Extend = "192.168.1.64",/**< 通用通信扩展IP */
|
||||
.CPU[2].Logger_PortBase = 55021, /**< 明文日志记录发送端口 */
|
||||
.CPU[2].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
|
||||
|
||||
.CPU[3].IP_2oo2 = "192.168.0.22", /**< 2oo2通信IP */
|
||||
// .CPU[3].IP_2x2 = "192.168.2.64", /**< 2x2通信IP */
|
||||
.CPU[3].IP_Out = "192.168.2.64", /**< 外网通信IP */
|
||||
.CPU[3].IP_Maintain = "192.168.18.104", /**< 维护通信IP */
|
||||
/*适用透传通道-选配*/
|
||||
.CPU[3].IP_Com = "192.168.2.64", /**< 通用通信IP */
|
||||
.CPU[3].IP_Com_Extend = "192.168.2.64",/**< 通用通信扩展IP */
|
||||
.CPU[3].Logger_PortBase = 55022, /**< 明文日志记录发送端口 */
|
||||
.CPU[3].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*通用端口配置*/
|
||||
@@ -351,9 +313,6 @@ void APP_API_Data_Init()
|
||||
.OutNetRed.CC_P_IP = "192.168.2.60", /**< 通控的内网IP */
|
||||
.OutNetRed.EXTEND_G_IP = "192.168.1.70", /**< 扩展板卡的内网IP */
|
||||
.OutNetRed.EXTEND_P_IP = "192.168.2.70", /**< 扩展板卡的内网IP */
|
||||
.Another_SEB.EXTEND_R_G_IP = "192.168.1.90", /**< CI扩展板卡的内网IP */
|
||||
.Another_SEB.EXTEND_R_P_IP = "192.168.2.90", /**< CI扩展板卡的内网IP */
|
||||
.Another_SEB.OutnetSafe_R_Port = 54001, /**< 外网安全通信端口 */
|
||||
.OutNetRed.OutnetSafe_Port = 54001, /**< 外网安全通信端口 */
|
||||
.OutNetRed.OutnetRaw_Port = 54002, /**< 外网透传通信端口 */
|
||||
.OutNetRed.InnetRaw_Port = 53003, /**< 内网透传通信端口 */
|
||||
@@ -362,177 +321,217 @@ void APP_API_Data_Init()
|
||||
.OutNetBlue.CC_P_IP = "192.168.2.61", /**< 通控的内网IP */
|
||||
.OutNetBlue.EXTEND_G_IP = "192.168.1.71", /**< 扩展板卡的内网IP */
|
||||
.OutNetBlue.EXTEND_P_IP = "192.168.2.71", /**< 扩展板卡的内网IP */
|
||||
.Another_SEB.EXTEND_B_G_IP = "192.168.1.91", /**< CI扩展板卡的内网IP */
|
||||
.Another_SEB.EXTEND_B_P_IP = "192.168.2.91", /**< CI扩展板卡的内网IP */
|
||||
.Another_SEB.OutnetSafe_B_Port = 54001, /**< 外网安全通信端口 */
|
||||
.OutNetBlue.OutnetSafe_Port = 54001, /**< 外网安全通信端口 */
|
||||
.OutNetBlue.OutnetRaw_Port = 54002, /**< 外网透传通信端口 */
|
||||
.OutNetBlue.InnetRaw_Port = 53003, /**< 内网透传通信端口 */
|
||||
|
||||
/*日志记录目标设备IP配置*/
|
||||
.Logger_G_IP = "192.168.146.100", /**< 绿网日志记录IP */
|
||||
.Logger_P_IP = "192.168.18.100", /**< 紫网日志记录IP */
|
||||
/*内网通信设备注册最大支持0-255*/
|
||||
.INNET_COM_NUM = 1, /**< 内网通信设备数量 */
|
||||
.INNET_COM_CFG[0].InnetID = DEVICE_TYPE_AIM, /**< 内网通信ID */
|
||||
.INNET_COM_CFG[0].IP_G = (CM_UINT32)inet_addr("192.168.146.100"),/**< 绿网IP */
|
||||
.INNET_COM_CFG[0].Port_Raw_G = 55004, /**< 绿网透传端口 */
|
||||
.INNET_COM_CFG[0].Port_Safe_G = 55003, /**< 绿网安全端口 */
|
||||
.INNET_COM_CFG[0].IP_P = (CM_UINT32)inet_addr("192.168.18.100"),/**< 紫网IP */
|
||||
.INNET_COM_CFG[0].Port_Raw_P = 55004, /**< 紫网透传端口 */
|
||||
.INNET_COM_CFG[0].Port_Safe_P = 55003, /**< 紫网安全端口 */
|
||||
|
||||
};
|
||||
|
||||
|
||||
if (RC_WORK_MODE_TIOC == CI_SYSTEM_TYPE_RCI)
|
||||
{
|
||||
/*设置IP 与CIIP一致*/
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_2oo2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.0.11"), (UINT32)sizeof("192.168.0.11"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_2x2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.62"), (UINT32)sizeof("192.168.1.62"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_Out), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.62"), (UINT32)sizeof("192.168.1.62"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_Com), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.62"), (UINT32)sizeof("192.168.1.62"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_Com_Extend), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.62"), (UINT32)sizeof("192.168.1.62"));
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_2oo2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.0.12"), (UINT32)sizeof("192.168.0.12"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_2x2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.62"), (UINT32)sizeof("192.168.2.62"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_Out), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.62"), (UINT32)sizeof("192.168.2.62"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_Com), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.62"), (UINT32)sizeof("192.168.2.62"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_Com_Extend), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.62"), (UINT32)sizeof("192.168.2.62"));
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_2oo2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.0.21"), (UINT32)sizeof("192.168.0.21"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_2x2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.64"), (UINT32)sizeof("192.168.1.64"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_Out), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.64"), (UINT32)sizeof("192.168.1.64"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_Com), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.64"), (UINT32)sizeof("192.168.1.64"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_Com_Extend), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.64"), (UINT32)sizeof("192.168.1.64"));
|
||||
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_2oo2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.0.22"), (UINT32)sizeof("192.168.0.22"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_2x2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.64"), (UINT32)sizeof("192.168.2.64"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_Out), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.64"), (UINT32)sizeof("192.168.2.64"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_Com), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.64"), (UINT32)sizeof("192.168.2.64"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_Com_Extend), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.64"), (UINT32)sizeof("192.168.2.64"));
|
||||
|
||||
/*CPU1*/
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[0].IP_Area_A), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.66"), (UINT32)sizeof("192.168.1.66"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[0].IP_Area_B), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.68"), (UINT32)sizeof("192.168.1.68"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[0].IP_Multicast_Mine), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("239.0.0.21"), (UINT32)sizeof("239.0.0.21"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[0].IP_Multicast_Dest), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("239.0.0.11"), (UINT32)sizeof("239.0.0.11"));
|
||||
|
||||
/*CPU2*/
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[1].IP_Area_A), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.66"), (UINT32)sizeof("192.168.2.66"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[1].IP_Area_B), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.68"), (UINT32)sizeof("192.168.2.68"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[1].IP_Multicast_Mine), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("239.0.0.22"), (UINT32)sizeof("239.0.0.22"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[1].IP_Multicast_Dest), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("239.0.0.12"), (UINT32)sizeof("239.0.0.12"));
|
||||
|
||||
/*内网 通控与扩展板卡*/
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetRed.CC_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.60"), (UINT32)sizeof("192.168.1.60"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetRed.CC_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.60"), (UINT32)sizeof("192.168.2.60"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetRed.EXTEND_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.70"), (UINT32)sizeof("192.168.1.70"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetRed.EXTEND_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.70"), (UINT32)sizeof("192.168.2.70"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Another_SEB.EXTEND_R_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.90"), (UINT32)sizeof("192.168.1.90"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Another_SEB.EXTEND_R_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.90"), (UINT32)sizeof("192.168.2.90"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetBlue.CC_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.61"), (UINT32)sizeof("192.168.1.61"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetBlue.CC_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.61"), (UINT32)sizeof("192.168.2.61"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetBlue.EXTEND_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.71"), (UINT32)sizeof("192.168.1.71"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetBlue.EXTEND_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.71"), (UINT32)sizeof("192.168.2.71"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Another_SEB.EXTEND_B_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.91"), (UINT32)sizeof("192.168.1.91"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Another_SEB.EXTEND_B_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.91"), (UINT32)sizeof("192.168.2.91"));
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_Maintain), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.146.101"), (UINT32)sizeof("192.168.146.101"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_Maintain), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.18.102"), (UINT32)sizeof("192.168.18.102"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_Maintain), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.146.103"), (UINT32)sizeof("192.168.146.103"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_Maintain), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.18.104"), (UINT32)sizeof("192.168.18.104"));
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Logger_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.146.100"), (UINT32)sizeof("192.168.146.100"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Logger_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.18.100"), (UINT32)sizeof("192.168.18.100"));
|
||||
AppCfgInterface.INNET_COM_CFG[0].IP_G = (CM_UINT32)inet_addr("192.168.146.100");
|
||||
AppCfgInterface.INNET_COM_CFG[0].IP_P = (CM_UINT32)inet_addr("192.168.18.100");
|
||||
|
||||
}
|
||||
else
|
||||
{/*设置IP 与CIIP一致*/
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_2oo2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.0.11"), (UINT32)sizeof("192.168.0.11"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_2x2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.66"), (UINT32)sizeof("192.168.1.66"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_Out), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.66"), (UINT32)sizeof("192.168.1.66"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_Com), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.66"), (UINT32)sizeof("192.168.1.66"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_Com_Extend), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.66"), (UINT32)sizeof("192.168.1.66"));
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_2oo2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.0.12"), (UINT32)sizeof("192.168.0.12"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_2x2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.66"), (UINT32)sizeof("192.168.2.66"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_Out), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.66"), (UINT32)sizeof("192.168.2.66"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_Com), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.66"), (UINT32)sizeof("192.168.2.66"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_Com_Extend), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.66"), (UINT32)sizeof("192.168.2.66"));
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_2oo2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.0.21"), (UINT32)sizeof("192.168.0.21"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_2x2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.68"), (UINT32)sizeof("192.168.1.68"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_Out), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.68"), (UINT32)sizeof("192.168.1.68"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_Com), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.68"), (UINT32)sizeof("192.168.1.68"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_Com_Extend), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.68"), (UINT32)sizeof("192.168.1.68"));
|
||||
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_2oo2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.0.22"), (UINT32)sizeof("192.168.0.22"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_2x2), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.68"), (UINT32)sizeof("192.168.2.68"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_Out), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.68"), (UINT32)sizeof("192.168.2.68"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_Com), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.68"), (UINT32)sizeof("192.168.2.68"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_Com_Extend), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.68"), (UINT32)sizeof("192.168.2.68"));
|
||||
|
||||
/*CPU1*/
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[0].IP_Area_A), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.62"), (UINT32)sizeof("192.168.1.62"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[0].IP_Area_B), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.64"), (UINT32)sizeof("192.168.1.64"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[0].IP_Multicast_Mine), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("239.0.0.11"), (UINT32)sizeof("239.0.0.11"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[0].IP_Multicast_Dest), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("239.0.0.21"), (UINT32)sizeof("239.0.0.21"));
|
||||
|
||||
/*CPU2*/
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[1].IP_Area_A), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.62"), (UINT32)sizeof("192.168.2.62"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[1].IP_Area_B), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.64"), (UINT32)sizeof("192.168.2.64"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[1].IP_Multicast_Mine), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("239.0.0.12"), (UINT32)sizeof("239.0.0.12"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.AREA_CPU[1].IP_Multicast_Dest), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("239.0.0.22"), (UINT32)sizeof("239.0.0.22"));
|
||||
|
||||
/*内网 通控与扩展板卡*/
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetRed.CC_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.80"), (UINT32)sizeof("192.168.1.80"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetRed.CC_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.80"), (UINT32)sizeof("192.168.2.80"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetRed.EXTEND_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.90"), (UINT32)sizeof("192.168.1.90"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetRed.EXTEND_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.90"), (UINT32)sizeof("192.168.2.90"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Another_SEB.EXTEND_R_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.90"), (UINT32)sizeof("192.168.1.90"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Another_SEB.EXTEND_R_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.90"), (UINT32)sizeof("192.168.2.90"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetBlue.CC_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.81"), (UINT32)sizeof("192.168.1.81"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetBlue.CC_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.81"), (UINT32)sizeof("192.168.2.81"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetBlue.EXTEND_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.91"), (UINT32)sizeof("192.168.1.91"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.OutNetBlue.EXTEND_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.91"), (UINT32)sizeof("192.168.2.91"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Another_SEB.EXTEND_B_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.1.91"), (UINT32)sizeof("192.168.1.91"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Another_SEB.EXTEND_B_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.2.91"), (UINT32)sizeof("192.168.2.91"));
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[0].IP_Maintain), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.148.101"), (UINT32)sizeof("192.168.148.101"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[1].IP_Maintain), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.20.102"), (UINT32)sizeof("192.168.20.102"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[2].IP_Maintain), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.148.103"), (UINT32)sizeof("192.168.148.103"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.CPU[3].IP_Maintain), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.20.104"), (UINT32)sizeof("192.168.20.104"));
|
||||
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Logger_G_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.148.100"), (UINT32)sizeof("192.168.148.100"));
|
||||
(void)CommonMemCpy((void*)(AppCfgInterface.Logger_P_IP), (UINT32)sizeof(CM_CHAR) * 32, (const void*)("192.168.20.100"), (UINT32)sizeof("192.168.20.100"));
|
||||
AppCfgInterface.INNET_COM_CFG[0].IP_G = (CM_UINT32)inet_addr("192.168.148.100");
|
||||
AppCfgInterface.INNET_COM_CFG[0].IP_P = (CM_UINT32)inet_addr("192.168.20.100");
|
||||
|
||||
}
|
||||
if(SYSTEM_WORK_MODE_ONLY == cSystemWorkType)
|
||||
{
|
||||
/*单系统运行:区域开关设置为0*/
|
||||
AppCfgInterface.M_Area_Enable = 0u;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*双系统运行*/
|
||||
if (RC_WORK_MODE_TIOC == CI_SYSTEM_TYPE_RCI)
|
||||
{
|
||||
/*RC区域开关设置为0xAA*/
|
||||
AppCfgInterface.M_Area_Enable = 0xAAu;
|
||||
/**< RC与CI扩展板卡通信功能开关配置 */
|
||||
AppCfgInterface.M_AREA_SEB_Enable = 0x55u;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
/*设置CI IP+区域IP*/
|
||||
AppCfgInterface.M_Area_Enable = 0x55u;
|
||||
}
|
||||
|
||||
}
|
||||
MSCP_Set_APP_ConfigData(&AppCfgInterface);
|
||||
|
||||
#else
|
||||
/*↑↑用户初始化代码↑↑*/
|
||||
/*↓↓基本数据初始化配置示例↓↓*/
|
||||
STRU_APP_CFG_T AppCfgInterface = {
|
||||
.FS_NAME = "RCI.FS", /**< FS文件名称 */
|
||||
.APP_NAME = "RCOCI", /**< 应用文件名称 */
|
||||
.CYC_TIME = 300, /**< 系统周期(ms) */
|
||||
.app_num = 1, /**< app任务数1-4 */
|
||||
.M_2oo2_Enable = 0x55, /**< 2oo2功能开关,开0x55,关0xAA */
|
||||
.M_2x2_Enable = 0x55, /**< 2x2功能开关,开0x55,关0xAA*/
|
||||
.M_4x2_Enable = 0x55, /**< 4x2功能开关,开0x55,关0xAA*/
|
||||
.M_2x2_Com_Cfg = 0x00, /**< 2x2通信功能配置,串口0x00,网卡0x01*/
|
||||
.M_InnetSafe_Enable = 0x55, /**< 内网安全通信功能开关,开0x55,关0xAA */
|
||||
.M_InnetRaw_Enable = 0x55, /**< 内网透传通信功能开关,开0x55,关0xAA */
|
||||
.M_OutnetSafe_Enable = 0x55,/**< 外网安全通信功能开关,开0x55,关0xAA */
|
||||
.M_OutnetRaw_Enable = 0x55, /**< 外网透传通信功能开关,开0x55,关0xAA */
|
||||
.M_CpuUsageGet_Enable = 0xAA,/**< 外网透传通信功能开关,开0x55,关0xAA */
|
||||
.M_RemoteUpdate_Enable = 0xAA,/**< 远程部署内网安全通信功能开关,开0x55,关0xAA */
|
||||
.ID_Maintenance = 0xF800, /**< 设置维护终端ID */
|
||||
.Start_Path = "./emmc1", /**< 程序启动路径 */
|
||||
.reboot_replycount = 10, /**< 重启确认报文回复次数 */
|
||||
.M_AutoReboot_Count = 0, /**< 自动重启次数 */
|
||||
.M_AutoClear_Days = 1, /**< 连续运行多久清空宕机次数的天数 */
|
||||
/*CPU1-1 IP配置*/
|
||||
.CPU[0].IP_2oo2 = "192.168.0.11", /**< 2oo2通信IP */
|
||||
.CPU[0].IP_4x2 = "192.168.1.62", /**< 2x2通信IP */
|
||||
.CPU[0].IP_Out = "192.168.1.62", /**< 外网通信IP */
|
||||
.CPU[0].IP_Maintain = "192.168.146.101", /**< 维护通信IP */
|
||||
.CPU[0].IP_Area = "10.3.1.61", /**< 4x2通信IP */
|
||||
.CPU[0].IP_Sync_Time_A = "192.168.1.62", /**< 时间同步网络A网IP */
|
||||
.CPU[0].IP_Sync_Time_B = "10.3.1.61", /**< 时间同步网络B网IP */
|
||||
/*CPU1-1适用透传通道-选配*/
|
||||
.CPU[0].IP_Com = "192.168.1.62", /**< 通用通信IP */
|
||||
.CPU[0].IP_Com_Extend = "192.168.1.62",/**< 通用通信扩展IP */
|
||||
.CPU[0].Logger_PortBase = 55011, /**< 明文日志记录发送端口 */
|
||||
.CPU[0].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*CPU1-2 IP配置*/
|
||||
.CPU[1].IP_2oo2 = "192.168.0.12", /**< 2oo2通信IP */
|
||||
.CPU[1].IP_4x2 = "192.168.2.62", /**< 2x2通信IP */
|
||||
.CPU[1].IP_Out = "192.168.2.62", /**< 外网通信IP */
|
||||
.CPU[1].IP_Maintain = "192.168.18.102", /**< 维护通信IP */
|
||||
.CPU[1].IP_Area = "10.3.1.63", /**< 4x2通信IP */
|
||||
.CPU[1].IP_Sync_Time_A = "192.168.2.62", /**< 时间同步网络A网IP */
|
||||
.CPU[1].IP_Sync_Time_B = "10.3.1.63", /**< 时间同步网络B网IP */
|
||||
/*CPU1-2适用透传通道-选配*/
|
||||
.CPU[1].IP_Com = "192.168.2.62", /**< 通用通信IP */
|
||||
.CPU[1].IP_Com_Extend = "192.168.2.62",/**< 通用通信扩展IP */
|
||||
.CPU[1].Logger_PortBase = 55012, /**< 明文日志记录发送端口 */
|
||||
.CPU[1].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*CPU2-1 IP配置*/
|
||||
.CPU[2].IP_2oo2 = "192.168.0.11", /**< 2oo2通信IP */
|
||||
.CPU[2].IP_4x2 = "192.168.1.64", /**< 2x2通信IP */
|
||||
.CPU[2].IP_Out = "192.168.1.64", /**< 外网通信IP */
|
||||
.CPU[2].IP_Maintain = "192.168.146.103", /**< 维护通信IP */
|
||||
.CPU[2].IP_Area = "10.4.1.62", /**< 4x2通信IP */
|
||||
.CPU[2].IP_Sync_Time_A = "192.168.1.64", /**< 时间同步网络A网IP */
|
||||
.CPU[2].IP_Sync_Time_B = "10.4.1.62", /**< 时间同步网络B网IP */
|
||||
/*CPU2-1适用透传通道-选配*/
|
||||
.CPU[2].IP_Com = "192.168.1.64", /**< 通用通信IP */
|
||||
.CPU[2].IP_Com_Extend = "192.168.1.64",/**< 通用通信扩展IP */
|
||||
.CPU[2].Logger_PortBase = 55021, /**< 明文日志记录发送端口 */
|
||||
.CPU[2].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*CPU2-2 IP配置*/
|
||||
.CPU[3].IP_2oo2 = "192.168.0.12", /**< 2oo2通信IP */
|
||||
.CPU[3].IP_4x2 = "192.168.2.64", /**< 2x2通信IP */
|
||||
.CPU[3].IP_Out = "192.168.2.64", /**< 外网通信IP */
|
||||
.CPU[3].IP_Maintain = "192.168.18.104", /**< 维护通信IP */
|
||||
.CPU[3].IP_Area = "10.4.1.64", /**< 4x2通信IP */
|
||||
.CPU[3].IP_Sync_Time_A = "192.168.2.64", /**< 时间同步网络A网IP */
|
||||
.CPU[3].IP_Sync_Time_B = "10.4.1.64", /**< 时间同步网络B网IP */
|
||||
/*CPU2-2适用透传通道-选配*/
|
||||
.CPU[3].IP_Com = "192.168.2.64", /**< 通用通信IP */
|
||||
.CPU[3].IP_Com_Extend = "192.168.2.64",/**< 通用通信扩展IP */
|
||||
.CPU[3].Logger_PortBase = 55022, /**< 明文日志记录发送端口 */
|
||||
.CPU[3].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*CPU3-1 IP配置*/
|
||||
.CPU[4].IP_2oo2 = "192.168.0.11", /**< 2oo2通信IP */
|
||||
.CPU[4].IP_4x2 = "192.168.1.162", /**< 2x2通信IP */
|
||||
.CPU[4].IP_Out = "192.168.1.162", /**< 外网通信IP */
|
||||
.CPU[4].IP_Maintain = "192.168.146.201", /**< 维护通信IP */
|
||||
.CPU[4].IP_Area = "10.3.1.161", /**< 4x2通信IP */
|
||||
.CPU[4].IP_Sync_Time_A = "192.168.1.162", /**< 时间同步网络A网IP */
|
||||
.CPU[4].IP_Sync_Time_B = "10.3.1.161", /**< 时间同步网络B网IP */
|
||||
/*CPU3-1适用透传通道-选配*/
|
||||
.CPU[4].IP_Com = "192.168.1.162", /**< 通用通信IP */
|
||||
.CPU[4].IP_Com_Extend = "192.168.1.162",/**< 通用通信扩展IP */
|
||||
.CPU[4].Logger_PortBase = 55031, /**< 明文日志记录发送端口 */
|
||||
.CPU[4].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*CPU3-2 IP配置*/
|
||||
.CPU[5].IP_2oo2 = "192.168.0.12", /**< 2oo2通信IP */
|
||||
.CPU[5].IP_4x2 = "192.168.2.162", /**< 2x2通信IP */
|
||||
.CPU[5].IP_Out = "192.168.2.162", /**< 外网通信IP */
|
||||
.CPU[5].IP_Maintain = "192.168.18.202", /**< 维护通信IP */
|
||||
.CPU[5].IP_Area = "10.3.1.163", /**< 4x2通信IP */
|
||||
.CPU[5].IP_Sync_Time_A = "192.168.2.162", /**< 时间同步网络A网IP */
|
||||
.CPU[5].IP_Sync_Time_B = "10.3.1.163", /**< 时间同步网络B网IP */
|
||||
/*CPU3-2适用透传通道-选配*/
|
||||
.CPU[5].IP_Com = "192.168.2.162", /**< 通用通信IP */
|
||||
.CPU[5].IP_Com_Extend = "192.168.2.162",/**< 通用通信扩展IP */
|
||||
.CPU[5].Logger_PortBase = 55032, /**< 明文日志记录发送端口 */
|
||||
.CPU[5].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*CPU4-1 IP配置*/
|
||||
.CPU[6].IP_2oo2 = "192.168.0.11", /**< 2oo2通信IP */
|
||||
.CPU[6].IP_4x2 = "192.168.1.164", /**< 2x2通信IP */
|
||||
.CPU[6].IP_Out = "192.168.1.164", /**< 外网通信IP */
|
||||
.CPU[6].IP_Maintain = "192.168.146.203", /**< 维护通信IP */
|
||||
.CPU[6].IP_Area = "10.4.1.162", /**< 4x2通信IP */
|
||||
.CPU[6].IP_Sync_Time_A = "192.168.1.164", /**< 时间同步网络A网IP */
|
||||
.CPU[6].IP_Sync_Time_B = "10.4.1.162", /**< 时间同步网络B网IP */
|
||||
/*CPU4-1适用透传通道-选配*/
|
||||
.CPU[6].IP_Com = "192.168.1.164", /**< 通用通信IP */
|
||||
.CPU[6].IP_Com_Extend = "192.168.1.164",/**< 通用通信扩展IP */
|
||||
.CPU[6].Logger_PortBase = 55041, /**< 明文日志记录发送端口 */
|
||||
.CPU[6].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*CPU4-2 IP配置*/
|
||||
.CPU[7].IP_2oo2 = "192.168.0.12", /**< 2oo2通信IP */
|
||||
.CPU[7].IP_4x2 = "192.168.2.164", /**< 2x2通信IP */
|
||||
.CPU[7].IP_Out = "192.168.2.164", /**< 外网通信IP */
|
||||
.CPU[7].IP_Maintain = "192.168.18.204", /**< 维护通信IP */
|
||||
.CPU[7].IP_Area = "10.4.1.164", /**< 4x2通信IP */
|
||||
.CPU[7].IP_Sync_Time_A = "192.168.2.164", /**< 时间同步网络A网IP */
|
||||
.CPU[7].IP_Sync_Time_B = "10.4.1.164", /**< 时间同步网络B网IP */
|
||||
/*CPU4-2适用透传通道-选配*/
|
||||
.CPU[7].IP_Com = "192.168.2.164", /**< 通用通信IP */
|
||||
.CPU[7].IP_Com_Extend = "192.168.2.164",/**< 通用通信扩展IP */
|
||||
.CPU[7].Logger_PortBase = 55042, /**< 明文日志记录发送端口 */
|
||||
.CPU[7].Logger_PortCiphertext = 55002, /**< 暗文日志记录发送端口 */
|
||||
/*组播地址配置*/
|
||||
.IP_Area_G_Multicast = "239.0.0.10", /**< 组播通信IP */
|
||||
.IP_Area_P_Multicast = "239.0.0.20", /**< 组播通信IP */
|
||||
.Multicast_Flag = 1u, /**< 单播:0 组播:1 */
|
||||
/*通用端口配置,平台固定通信端口禁止使用:51001、51002、51003、52001、52002、52003*/
|
||||
.Port_Outnet_Safe = 54001, /**< 外网安全通信端口 */
|
||||
.Port_Innet_Safe = 53001, /**< 内网安全通信端口 */
|
||||
.Port_Outnet_Raw = 54002, /**< 外网透明传输端口 */
|
||||
.Port_Remote_Update = 50000, /**< 远程部署通信端口 */
|
||||
/*透传配置-选配*/
|
||||
.Port_Innet_Raw_Num = 1, /**< 内网透传端口数量0-9 */
|
||||
.Port_Innet_Raw_Extend_Num = 1, /**< 内网透传扩展端口数量0-9 */
|
||||
/*透传通道-Number 1根据数量两个通道的数量,按序号累加以此类推(0-17)*/
|
||||
.Innet_Raw_Parameter[0].Port_Innet_Raw = 3956, /**< 内网透明传输端口 */
|
||||
.Innet_Raw_Parameter[0].Port_Type_Enable = RAW_COM_UDP, /**< 内网透明UDP传输模式 */
|
||||
.Innet_Raw_Parameter[0].Server_DevId = 0, /**< 服务端设备类型和id */
|
||||
.Innet_Raw_Parameter[0].TIME_STAMP_ENABLE = 0XAA, /**< 2取2乘时间戳使能开关 */
|
||||
.Innet_Raw_Parameter[0].INNET_2oo2_RAW = 0X55, /**< 透传通道2取开关,开0x55,关0xAA */
|
||||
.Innet_Raw_Parameter[0].INNET_2x2_RAW = 0XAA, /**< 透传通道2乘开关,开0x55,关0xAA */
|
||||
.Innet_Raw_Parameter[0].IP_InnetRaw_maddr = "224.0.0.31",/**< 内网透传的组播IP */
|
||||
/*扩展通道-Number 1 根据数量两个通道的数量,按序号累加以此类推(0-17)*/
|
||||
.Innet_Raw_Parameter[1].Port_Innet_Raw = 3957, /**< 内网透明传输端口 */
|
||||
.Innet_Raw_Parameter[1].Port_Type_Enable = RAW_COM_BROADCAST, /**< 内网透明广播传输模式 */
|
||||
.Innet_Raw_Parameter[1].Server_DevId = 0, /**< 服务端设备类型和id */
|
||||
.Innet_Raw_Parameter[1].TIME_STAMP_ENABLE = 0XAA, /**< 2取2乘时间戳使能开关 */
|
||||
.Innet_Raw_Parameter[1].INNET_2oo2_RAW = 0X55, /**< 透传通道2取开关,开0x55,关0xAA */
|
||||
.Innet_Raw_Parameter[1].INNET_2x2_RAW = 0XAA, /**< 透传通道2乘开关,开0x55,关0xAA */
|
||||
.Innet_Raw_Parameter[1].IP_InnetRaw_maddr = "224.0.0.32",/**< 内网透传的组播IP */
|
||||
/*外网通信配置-红网*/
|
||||
.OutNetRed.CC_G_IP_A = "192.168.1.60", /**< 通控的内网IP */
|
||||
.OutNetRed.CC_P_IP_A = "192.168.2.60", /**< 通控的内网IP */
|
||||
.OutNetRed.CC_G_IP_B = "192.168.1.160", /**< 通控的内网IP */
|
||||
.OutNetRed.CC_P_IP_B = "192.168.2.160", /**< 通控的内网IP */
|
||||
.OutNetRed.EXTEND_G_IP_A = "192.168.1.70", /**< 扩展板卡的内网IP */
|
||||
.OutNetRed.EXTEND_P_IP_A = "192.168.2.70", /**< 扩展板卡的内网IP */
|
||||
.OutNetRed.EXTEND_G_IP_B = "192.168.1.71", /**< 扩展板卡的内网IP */
|
||||
.OutNetRed.EXTEND_P_IP_B = "192.168.2.71", /**< 扩展板卡的内网IP */
|
||||
.OutNetRed.OutnetSafe_Port = 54001, /**< 外网安全通信端口 */
|
||||
.OutNetRed.OutnetRaw_Port = 54002, /**< 外网透传通信端口 */
|
||||
/*外网通信配置-蓝网*/
|
||||
.OutNetBlue.CC_G_IP_A = "192.168.1.61", /**< 通控的内网IP */
|
||||
.OutNetBlue.CC_P_IP_A = "192.168.2.61", /**< 通控的内网IP */
|
||||
.OutNetBlue.CC_G_IP_B = "192.168.1.161", /**< 通控的内网IP */
|
||||
.OutNetBlue.CC_P_IP_B = "192.168.2.161", /**< 通控的内网IP */
|
||||
.OutNetBlue.EXTEND_G_IP_A = "192.168.1.170", /**< 扩展板卡的内网IP */
|
||||
.OutNetBlue.EXTEND_P_IP_A = "192.168.2.170", /**< 扩展板卡的内网IP */
|
||||
.OutNetBlue.EXTEND_G_IP_B = "192.168.1.171", /**< 扩展板卡的内网IP */
|
||||
.OutNetBlue.EXTEND_P_IP_B = "192.168.2.171", /**< 扩展板卡的内网IP */
|
||||
.OutNetBlue.OutnetSafe_Port = 54001, /**< 外网安全通信端口 */
|
||||
.OutNetBlue.OutnetRaw_Port = 54002, /**< 外网透传通信端口 */
|
||||
/*日志记录目标设备IP配置*/
|
||||
.Logger_G_IP_A = "192.168.146.100", /**< A地绿网日志记录IP */
|
||||
.Logger_P_IP_A = "192.168.18.100", /**< A地紫网日志记录IP */
|
||||
.Logger_G_IP_B = "192.168.146.200", /**< B地绿网日志记录IP */
|
||||
.Logger_P_IP_B = "192.168.18.200", /**< B地绿网日志记录IP */
|
||||
/*内网通信设备注册最大支持0-255,注意:IP配置方式比较特别,与前面配置区分*/
|
||||
.INNET_COM_NUM = 1, /**< 内网通信设备数量0-255 */
|
||||
.INNET_COM_CFG[0].InnetID = 0xF800, /**< 内网通信ID */
|
||||
.INNET_COM_CFG[0].IP_G = (CM_UINT32)inet_addr("172.25.0.100"),/**< 绿网IP*/
|
||||
.INNET_COM_CFG[0].Port_Raw_G = 55003, /**< 绿网透传端口 */
|
||||
.INNET_COM_CFG[0].Port_Safe_G = 55004, /**< 绿网安全端口 */
|
||||
.INNET_COM_CFG[0].IP_P = (CM_UINT32)inet_addr("172.17.0.100"),/**< 紫网IP */
|
||||
.INNET_COM_CFG[0].Port_Raw_P = 55003, /**< 紫网透传端口 */
|
||||
.INNET_COM_CFG[0].Port_Safe_P = 55004, /**< 紫网安全端口 */
|
||||
};
|
||||
/*调用参数设置初始化接口*/
|
||||
MSCP_Set_APP_ConfigData(&AppCfgInterface);
|
||||
#endif
|
||||
|
||||
/*组FS版本号*/
|
||||
@@ -544,17 +543,16 @@ void APP_API_Data_Init()
|
||||
|
||||
/*组软件版本号*/
|
||||
ii = 0U;
|
||||
appVersBuffer[ii++] = VER_INTE_PROJECT;
|
||||
appVersBuffer[ii++] = VER_INTE_PRODUCT >> 2U;
|
||||
appVersBuffer[ii++] = (VER_INTE_PRODUCT << 6U) + (VER_INTE_EXE & (UINT8)0x3F);
|
||||
appVersBuffer[ii++] = VER_INTE_TIME;
|
||||
appVersBuffer[ii++] = VER_SOFT_PRODUCT;
|
||||
appVersBuffer[ii++] = VER_SOFT_MODUAL_APP >> 2U;
|
||||
appVersBuffer[ii++] = (VER_SOFT_MODUAL_APP << 6U) + (VER_SOFT_MIANVERSION & (UINT8)0x3F);
|
||||
appVersBuffer[ii++] = VER_SOFT_SUBVERSION;
|
||||
/*设置平台调用获取外网信息函数*/
|
||||
MSCP_SetSrcId(SetOutNetPara);
|
||||
/*设置内网参数*/
|
||||
MSCP_SetSfpInnetPara(g_SfpInnetParam);
|
||||
MSCP_SetAppVersion(appVersBuffer);
|
||||
MSCP_SetFsVersion(fsVersBuffer);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @brief 应用周期主逻辑
|
||||
@@ -562,16 +560,16 @@ void APP_API_Data_Init()
|
||||
* - ENUM_CM_TRUE 成功
|
||||
* - ENUM_CM_FALSE 失败(平台立即宕机)
|
||||
* @details
|
||||
* 当本系热备状态为:ENUM_2x2_SHUTDOWN,时
|
||||
* 当本系热备状态为:ENUM_4x2_SHUTDOWN,时
|
||||
* 本函数不执行;
|
||||
* 当本系热备状态为:ENUM_2x2_OFFLINE,ENUM_2x2_PRE_MASTER,ENUM_2x2_SLAVE,时
|
||||
* 当本系热备状态为:ENUM_4x2_OFFLINE,ENUM_4x2_PRE_MASTER,ENUM_4x2_SLAVE,时
|
||||
* 本函数被周期执行,但 ENUM_MSG_OUTNET_SAFE 报文不会真实输出;
|
||||
* 当本系热备状态为:ENUM_2x2_MASTER,时
|
||||
* 当本系热备状态为:ENUM_4x2_MASTER,时
|
||||
* 本函数被周期执行,并且所有输出信息被真实输出。
|
||||
*/
|
||||
ENUM_CM_RETURN APP_API_MainFunc(void)
|
||||
{
|
||||
ENUM_CM_RETURN retVal = ENUM_CM_NULL;
|
||||
ENUM_CM_RETURN retVal = ENUM_CM_FALSE;
|
||||
CM_UINT64 startCycTick = 0u;
|
||||
CM_UINT64 endCycTick = 0u;
|
||||
|
||||
@@ -589,11 +587,9 @@ ENUM_CM_RETURN APP_API_MainFunc(void)
|
||||
endCycTick = MSCP_GetTick();
|
||||
debug_infor_printf("app proc end at %llu us,used %d us\n", endCycTick, (CM_INT32)((endCycTick - startCycTick) / 1000));
|
||||
|
||||
gFollowDataLen = GetCiAppData(gFollowData);
|
||||
MSCP_SetFollowData(gFollowData, gFollowDataLen);
|
||||
|
||||
gCiRcFollowDataLen = GetCiGeneralData(gCiRcFollowData);
|
||||
MSCP_CISendAppData(gCiRcFollowData, gCiRcFollowDataLen);
|
||||
//gFollowDataLen = GetCiAppData(gFollowData);
|
||||
memset(gFollowData,0x00,1024*1500);
|
||||
MSCP_SetFollowData(gFollowData, 1024*1500 - 1);
|
||||
|
||||
return retVal;
|
||||
}
|
||||
@@ -604,11 +600,11 @@ ENUM_CM_RETURN APP_API_MainFunc(void)
|
||||
* - ENUM_CM_TRUE 成功
|
||||
* - ENUM_CM_FALSE 失败(平台立即宕机)
|
||||
* @details
|
||||
* 当本系热备状态为:ENUM_2x2_SHUTDOWN,时
|
||||
* 当本系热备状态为:ENUM_4x2_SHUTDOWN,时
|
||||
* 本函数不执行;
|
||||
* 当本系热备状态为:ENUM_2x2_OFFLINE,ENUM_2x2_PRE_MASTER,ENUM_2x2_SLAVE,时
|
||||
* 当本系热备状态为:ENUM_4x2_OFFLINE,ENUM_4x2_PRE_MASTER,ENUM_4x2_SLAVE,时
|
||||
* 本函数被周期执行,但 ENUM_MSG_OUTNET_SAFE 报文不会真实输出;
|
||||
* 当本系热备状态为:ENUM_2x2_MASTER,时
|
||||
* 当本系热备状态为:ENUM_4x2_MASTER,时
|
||||
* 本函数被周期执行,并且所有输出信息被真实输出。
|
||||
*/
|
||||
ENUM_CM_RETURN APP_API_MainFunc2(void)
|
||||
@@ -624,11 +620,11 @@ ENUM_CM_RETURN APP_API_MainFunc2(void)
|
||||
* - ENUM_CM_TRUE 成功
|
||||
* - ENUM_CM_FALSE 失败(平台立即宕机)
|
||||
* @details
|
||||
* 当本系热备状态为:ENUM_2x2_SHUTDOWN,时
|
||||
* 当本系热备状态为:ENUM_4x2_SHUTDOWN,时
|
||||
* 本函数不执行;
|
||||
* 当本系热备状态为:ENUM_2x2_OFFLINE,ENUM_2x2_PRE_MASTER,ENUM_2x2_SLAVE,时
|
||||
* 当本系热备状态为:ENUM_4x2_OFFLINE,ENUM_4x2_PRE_MASTER,ENUM_4x2_SLAVE,时
|
||||
* 本函数被周期执行,但 ENUM_MSG_OUTNET_SAFE 报文不会真实输出;
|
||||
* 当本系热备状态为:ENUM_2x2_MASTER,时
|
||||
* 当本系热备状态为:ENUM_4x2_MASTER,时
|
||||
* 本函数被周期执行,并且所有输出信息被真实输出。
|
||||
*/
|
||||
ENUM_CM_RETURN APP_API_MainFunc3(void)
|
||||
@@ -651,11 +647,11 @@ ENUM_CM_RETURN APP_API_MainFunc4(void)
|
||||
* - ENUM_CM_TRUE 成功
|
||||
* - ENUM_CM_FALSE 失败(平台立即宕机)
|
||||
* @details
|
||||
* 当本系热备状态为:ENUM_2x2_SHUTDOWN,时
|
||||
* 当本系热备状态为:ENUM_4x2_SHUTDOWN,时
|
||||
* 本函数不执行;
|
||||
* 当本系热备状态为:ENUM_2x2_OFFLINE,ENUM_2x2_PRE_MASTER,ENUM_2x2_SLAVE,时
|
||||
* 当本系热备状态为:ENUM_4x2_OFFLINE,ENUM_4x2_PRE_MASTER,ENUM_4x2_SLAVE,时
|
||||
* 本函数被周期执行,但 ENUM_MSG_OUTNET_SAFE 报文不会真实输出;
|
||||
* 当本系热备状态为:ENUM_2x2_MASTER,时
|
||||
* 当本系热备状态为:ENUM_4x2_MASTER,时
|
||||
* 本函数被周期执行,并且所有输出信息被真实输出。
|
||||
*/
|
||||
ENUM_CM_RETURN APP_API_MainFunc5(void)
|
||||
@@ -693,7 +689,7 @@ ENUM_CM_RETURN APP_API_InputFunc(void)
|
||||
* - ENUM_CM_TRUE 成功
|
||||
* - ENUM_CM_FALSE 失败(平台立即宕机)
|
||||
* @details
|
||||
* 当本系热备状态为:ENUM_2x2_OFFLINE,ENUM_2x2_SLAVE,且收到了邻系正确的跟随数据时
|
||||
* 当本系热备状态为:ENUM_4x2_OFFLINE,ENUM_4x2_SLAVE,且收到了邻系正确的跟随数据时
|
||||
* 本函数将在APP_API_MainFunc()之前执行;
|
||||
* 否则,本函数不执行。
|
||||
* 应用跟随数据的最大长度不得超过1024*1000字节
|
||||
@@ -704,7 +700,8 @@ ENUM_CM_RETURN APP_API_FollowUp(IN const CM_UINT8 Data[MSCP_FOLLOW_BUFF_SIZE], I
|
||||
ENUM_CM_RETURN retVal = ENUM_CM_FALSE;
|
||||
UINT8 setRtn = 0u;
|
||||
|
||||
setRtn = SetCiAppData(Data, Len);
|
||||
//setRtn = SetCiAppData(Data, Len);
|
||||
setRtn = 1;
|
||||
if (1u == setRtn)
|
||||
{
|
||||
retVal = ENUM_CM_TRUE;
|
||||
@@ -717,56 +714,47 @@ ENUM_CM_RECCUSEB Is_Send_ExtendBoard(IN const CM_UINT16 dstDevTypeId)
|
||||
{
|
||||
ENUM_CM_RECCUSEB retVal = ENUM_CM_CC; /*返回值*/
|
||||
CM_UINT8 devType = 0U; /*设备类型*/
|
||||
CM_UINT8 devId = 0U; /*设备ID*/
|
||||
CM_UINT16 wAtsGtWayDevTypeId = 0U;
|
||||
UINT8 chWorkType = 0U; /*双系工作模式*/
|
||||
UINT8 cControlState = 0U;/*主备用模式*/
|
||||
UINT8 cRcWorkMode = 0u;/*RC工作模式*/
|
||||
UINT8 chLocalCiType = 0U; /*本联锁属性*/
|
||||
UINT8 chDstCiType = 0U; /*本联锁属性*/
|
||||
UINT8 chCldScxCommMode = 0U;
|
||||
UINT8 chResult = CI_ERROR; /*联锁属性检查结果*/
|
||||
UINT8 serialGroup = 0U; /*串口通信组索引*/
|
||||
|
||||
wAtsGtWayDevTypeId = GetTiocTrnsmtGtwyDevTypeId();
|
||||
/**使用通控板与ATS网关通信*/
|
||||
if (dstDevTypeId != wAtsGtWayDevTypeId)
|
||||
{
|
||||
devType = (CM_UINT8)((dstDevTypeId >> 8) & 0xFF);
|
||||
chWorkType = GetSystemWorkType();
|
||||
cControlState = GetLocalCiBackUpPattern();
|
||||
cRcWorkMode = GetLocalRcWorkMode();
|
||||
devId = (CM_UINT8)(dstDevTypeId & 0xFF);
|
||||
|
||||
chResult = IsSerialDevice(dstDevTypeId, &serialGroup);
|
||||
chLocalCiType = GetLocalCiType();
|
||||
chDstCiType = GetCiType(devId);
|
||||
chCldScxCommMode = GetCiFunctionSwitchConfig(SCX_CLD_INTERFACE_TYPE);
|
||||
|
||||
if ((CI_SYSTEM_TYPE_XIANDI == devType) || (CI_SYSTEM_TYPE_ATS == devType)
|
||||
if ((SCX_CLD_SERIAL_PORT_COMM == chCldScxCommMode) && (CI_SYSTEM_TYPE_CI == devType))
|
||||
{
|
||||
if (((CI_TYPE_CLD == chLocalCiType) && (CI_TYPE_SCX == chDstCiType)) || ((CI_TYPE_SCX == chLocalCiType) && (CI_TYPE_CLD == chDstCiType)))
|
||||
{
|
||||
/*串口通信要求双方一个为车辆段一个为试车线*/
|
||||
chResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*CI类型错误,返回失败*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不为串口通信,此时不对本地CI类型及对方CI类型进行判断*/
|
||||
}
|
||||
|
||||
if ((CI_SYSTEM_TYPE_XIANDI == devType) || (CI_SYSTEM_TYPE_ATS == devType) || (CI_SYSTEM_TYPE_LEU == devType)
|
||||
|| (CI_SUCCESS == chResult)
|
||||
|| (CI_SYSTEM_TYPE_VOBC_BACKUP == devType)) /*现地,ATS,使用串口的相邻CI*/
|
||||
|| (CI_SYSTEM_TYPE_VOBC_BACKUP == devType)) /*现地,ATS,LEU,使用串口的相邻CI*/
|
||||
{
|
||||
retVal = ENUM_CM_SEB;
|
||||
}
|
||||
else if (CI_SYSTEM_TYPE_ITE == devType)
|
||||
{
|
||||
retVal = ENUM_CM_CCSEB;
|
||||
}
|
||||
else if (CI_SYSTEM_TYPE_LEU == devType)
|
||||
{
|
||||
if ((SYSTEM_WORK_MODE_ALL == chWorkType) && (RC_WORK_MODE_TIOC == cRcWorkMode))
|
||||
{
|
||||
/*双系统,并且当前是RC*/
|
||||
if (SYSTEM_WORK_MODE_MAIN == cControlState)
|
||||
{
|
||||
/*是RC主用时,需要用CI的串口板进行LEU通信*/
|
||||
retVal = ENUM_CM_SEB_ANOTHER;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*RC备用,禁止发送*/
|
||||
retVal = ENUM_CM_FORBIDDEN;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*单系统,或当前是CI*/
|
||||
retVal = ENUM_CM_SEB;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = ENUM_CM_CC;
|
||||
@@ -828,8 +816,8 @@ void SetOutNetPara(UINT8* pRxBuf, UINT32 dwLen, ENUM_OUTNET_CHN_T chOutNetType,
|
||||
tempLen = *pCurLen;
|
||||
if ((TRANSMIT_OBJECT_SUM_MAX * TRANSMIT_OBJECT_DEVICE_SUM_MAX) > (tempLen + objLen))
|
||||
{
|
||||
CommonMemCpy((void*)&pOutBuf[tempLen], objLen * sizeof(UINT16), \
|
||||
(const void*)gTransmitObjTypeId, objLen * sizeof(UINT16));
|
||||
CommonMemCpy(&pOutBuf[tempLen], objLen * sizeof(UINT16), \
|
||||
gTransmitObjTypeId, objLen * sizeof(UINT16));
|
||||
*pCurLen = tempLen + objLen;
|
||||
debug_infor_printf("outnet in type len :%d", chOutNetType, objLen);
|
||||
debug_out_array(0xAA, gTransmitObjTypeId, objLen * sizeof(UINT16));
|
||||
@@ -965,7 +953,7 @@ ENUM_CM_RETURN SerialOutAtsVobcFunc(UINT16 inDstId IN, UINT16* outSrcId OUT, UIN
|
||||
inDstType = (UINT8)((inDstId & 0xff00U) >> 8);
|
||||
if ((CI_SYSTEM_TYPE_VOBC_BACKUP == inDstType) || (CI_SYSTEM_TYPE_ITE == inDstType))
|
||||
{
|
||||
*outSrcId = (CI_SYSTEM_TYPE_RCI << 8) + GetSystemParaLocalCiId();
|
||||
*outSrcId = (CI_SYSTEM_TYPE_CI << 8) + GetSystemParaLocalCiId();
|
||||
*outDstId = GetATSInterfaceTypeId();
|
||||
|
||||
retVal = ENUM_CM_TRUE;
|
||||
|
||||
@@ -40,11 +40,11 @@ extern "C" {
|
||||
* - ENUM_CM_TRUE 成功
|
||||
* - ENUM_CM_FALSE 失败(平台立即宕机)
|
||||
* @note
|
||||
* 当本系热备状态为:ENUM_2x2_SHUTDOWN,时
|
||||
* 当本系热备状态为:ENUM_4x2_SHUTDOWN,时
|
||||
* 本函数不执行;
|
||||
* 当本系热备状态为:ENUM_2x2_OFFLINE,ENUM_2x2_PRE_MASTER,ENUM_2x2_SLAVE,时
|
||||
* 当本系热备状态为:ENUM_4x2_OFFLINE,ENUM_4x2_PRE_MASTER,ENUM_4x2_SLAVE,时
|
||||
* 本函数被周期执行,但 ENUM_MSG_OUTNET_SAFE 报文不会真实输出;
|
||||
* 当本系热备状态为:ENUM_2x2_MASTER,时
|
||||
* 当本系热备状态为:ENUM_4x2_MASTER,时
|
||||
* 本函数被周期执行,并且所有输出信息被真实输出。
|
||||
*/
|
||||
ENUM_CM_RETURN APP_API_MainFunc(void);
|
||||
|
||||
@@ -30,6 +30,6 @@
|
||||
#define VER_INTE_PROJECT 220 /*项目编号*/
|
||||
#define VER_INTE_PRODUCT 40 /*产品编号*/
|
||||
#define VER_INTE_EXE 1 /*可执行编号*/
|
||||
#define VER_INTE_TIME 131 /*集成次数编号*/
|
||||
#define VER_INTE_TIME 77 /*集成次数编号*/
|
||||
|
||||
#endif/*endif of #define _CI_INTEGRATE_CONFIG_H*/
|
||||
File diff suppressed because it is too large
Load Diff
@@ -56,7 +56,6 @@
|
||||
#include "../Route/LogicalRouteDataManage.h"
|
||||
#include "../Route/LongRouteDataManage.h"
|
||||
#include "../ReverseCut/ReverseCutDataManage.h"
|
||||
#include "../AxisSort/AxisSort.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -154,20 +153,6 @@ UINT32 CopyValidSetVobcBackHlht(const UINT8 *pCurCiAppDataPointer, UINT16 struNu
|
||||
*/
|
||||
UINT32 CopyValidSetVobcDataStru(const UINT8* pCurCiAppDataPointer, VobcToCiDataStruct* pDataStru, UINT16 struNum);
|
||||
|
||||
/*
|
||||
* 功能描述: 拷贝RC通信的VOBC有效数据到对应的全局数组
|
||||
* 参数说明:
|
||||
输入参数
|
||||
const UINT8 *pCurCiAppDataPointer:当前数据指针
|
||||
UINT16 struNum:数组长度,
|
||||
UINT16 struLength:结构体长度
|
||||
输出参数
|
||||
void *pDataStru:结构体指针,
|
||||
* 返回值 : 拷贝数据的长度
|
||||
*/
|
||||
UINT32 CopyValidSetRcVobcDataStru(const UINT8* pCurCiAppDataPointer, void* pDataStru, UINT16 struNum, UINT16 struLength);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述:拷贝ITE有效数据到对应的全局数组
|
||||
* 参数说明:const UINT8 *pCurCiAppDataPointer:当前数据指针
|
||||
@@ -203,280 +188,6 @@ UINT32 GetCiAppData(UINT8 *pCiAppDataPointer);
|
||||
*/
|
||||
UINT8 SetCiAppData(const UINT8 *pCiAppDataPointer,const UINT32 len);
|
||||
|
||||
|
||||
/**
|
||||
* @brief 拷贝获取现地有效互联互通头
|
||||
* @param[in] UINT8 *pCurCiAppDataPointer:当前数据指针
|
||||
* @param[in] UINT16 struNum:数组长度
|
||||
* @param[in] struLength:结构体长度
|
||||
* @return 无
|
||||
* @note by cgh 20251103
|
||||
*/
|
||||
UINT32 CopyValidGetXiandiHlht(UINT8* pCurCiAppDataPointer, UINT16 struNum, UINT16 struLength);
|
||||
|
||||
/**
|
||||
* @brief 拷贝设置现地有效互联互通头
|
||||
* @param[in] UINT8 *pCurCiAppDataPointer:当前数据指针
|
||||
* @param[in] UINT16 struNum:数组长度
|
||||
* @param[in] struLength:结构体长度
|
||||
* @return 无
|
||||
* @note by cgh 20251103
|
||||
*/
|
||||
UINT32 CopyValidSetXiandiHlht(const UINT8* pCurCiAppDataPointer, UINT16 struNum, UINT16 struLength);
|
||||
|
||||
/**
|
||||
* @brief 拷贝获取ATS有效互联互通头
|
||||
* @param[in] UINT8 *pCurCiAppDataPointer:当前数据指针
|
||||
* @param[in] UINT16 struNum:数组长度
|
||||
* @param[in] struLength:结构体长度
|
||||
* @return 无
|
||||
* @note by cgh 20251103
|
||||
*/
|
||||
UINT32 CopyValidGetAtsHlht(UINT8* pCurCiAppDataPointer, UINT16 struNum, UINT16 struLength);
|
||||
|
||||
/**
|
||||
* @brief 拷贝设置ATS有效互联互通头
|
||||
* @param[in] UINT8 *pCurCiAppDataPointer:当前数据指针
|
||||
* @param[in] UINT16 struNum:数组长度
|
||||
* @param[in] struLength:结构体长度
|
||||
* @return 无
|
||||
* @note by cgh 20251103
|
||||
*/
|
||||
UINT32 CopyValidSetAtsiHlht(const UINT8* pCurCiAppDataPointer, UINT16 struNum, UINT16 struLength);
|
||||
|
||||
/*
|
||||
* 功能描述: CI待发送RC应用数据
|
||||
* 参数说明: UINT8 *pCiAppDataPointer, CI应用数据指针
|
||||
* 返回值 : void
|
||||
*/
|
||||
UINT32 GetCiGeneralData(UINT8* pCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述: RC设置CI的应用数据
|
||||
* 参数说明: UINT8 *pCiAppDataPointer, CI应用数据指针
|
||||
* const UINT32 len,数据长度
|
||||
* 返回值 : UINT8,
|
||||
*/
|
||||
UINT8 SetCiGeneralData(const UINT8* pCiAppDataPointer, const UINT32 len);
|
||||
|
||||
/*
|
||||
* 功能描述:二乘拷贝互联互通报文头
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* struLength 结构体长度
|
||||
* HLHTHeadContextStru pstrHLHTHeadCtxs[] 待拷贝的互联互通报文头
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LQ 2025.11.04
|
||||
*/
|
||||
UINT32 CopyValidGetHlhtHeadCtxs(UINT8* pCurCiAppDataPointer, UINT16 struNum, UINT16 struLength, HLHTHeadContextStru pstrHLHTHeadCtxs[]);
|
||||
|
||||
/*
|
||||
* 功能描述:二乘设置互联互通报文头
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* struLength 结构体长度
|
||||
* HLHTHeadContextStru pstrHLHTHeadCtxs[] 待设置的互联互通报文头
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LQ 2025.11.04
|
||||
*/
|
||||
UINT32 CopyValidSetHlhtHeadCtxs(const UINT8* pCurCiAppDataPointer, UINT16 struNum, UINT16 struLength, HLHTHeadContextStru pstrHLHTHeadCtxs[]);
|
||||
/*
|
||||
* 功能描述:二乘拷贝信号机结构体-车车
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* SignalDataStructCC pstSignalDataStruCC[] 待拷贝的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LYJ 2025.11.07
|
||||
*/
|
||||
UINT32 CopyValidGetSigDataCC(UINT8* pCurCiAppDataPointer, UINT16 struNum, SignalDataStructCC pstSignalDataStruCC[]);
|
||||
/*
|
||||
* 功能描述:二乘设置信号机结构体-车车
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* SignalDataStructCC pstSignalDataStruCC[] 待设置的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LYJ 2025.11.07
|
||||
*/
|
||||
UINT32 CopyValidSetSigDataCC(UINT8* pCurCiAppDataPointer, UINT16 struNum, SignalDataStructCC pstSignalDataStruCC[]);
|
||||
/*
|
||||
* 功能描述:二乘拷贝防淹门结构体-车车
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* FloodGateDataStructCC pstFloodGateDataStruCC[] 待拷贝的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LYJ 2025.11.07
|
||||
*/
|
||||
UINT32 CopyValidGetFloodGateDataCC(UINT8* pCurCiAppDataPointer, UINT16 struNum, FloodGateDataStructCC pstFloodGateDataStruCC[]);
|
||||
/*
|
||||
* 功能描述:二乘设置防淹门结构体-车车
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* FloodGateDataStructCC pstFloodGateDataStruCC[] 待拷贝的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LYJ 2025.11.07
|
||||
*/
|
||||
UINT32 CopyValidSetFloodGateDataCC(UINT8* pCurCiAppDataPointer, UINT16 struNum, FloodGateDataStructCC pstFloodGateDataStruCC[]);
|
||||
/*
|
||||
* 功能描述:二乘拷贝逻辑区段结构体-车车
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* LogicSectionDataStructCC pstLogSecDataStruCC[] 待拷贝的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LYJ 2025.11.07
|
||||
*/
|
||||
UINT32 CopyValidGetLogicSecDataCC(UINT8* pCurCiAppDataPointer, UINT16 struNum, LogicSectionDataStructCC pstLogSecDataStruCC[]);
|
||||
/*
|
||||
* 功能描述:二乘设置逻辑区段结构体-车车
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* LogicSectionDataStructCC pstLogSecDataStruCC[] 待拷贝的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LYJ 2025.11.07
|
||||
*/
|
||||
UINT32 CopyValidSetLogicSecDataCC(UINT8* pCurCiAppDataPointer, UINT16 struNum, LogicSectionDataStructCC pstLogSecDataStruCC[]);
|
||||
/*
|
||||
* 功能描述:二乘拷贝进路结构体-车车
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* RouteDataStructCC pstRouteDataStruCC[] 待拷贝的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LYJ 2025.11.10
|
||||
*/
|
||||
UINT32 CopyValidGetRouteDataCC(UINT8* pCurCiAppDataPointer, UINT16 struNum, RouteDataStructCC pstRouteDataStruCC[]);
|
||||
/*
|
||||
* 功能描述:二乘拷贝进路结构体-车车
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* RouteDataStructCC pstRouteDataStruCC[] 待拷贝的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By LYJ 2025.11.10
|
||||
*/
|
||||
UINT32 CopyValidSetRouteDataCC(UINT8* pCurCiAppDataPointer, UINT16 struNum, RouteDataStructCC pstRouteDataStruCC[]);
|
||||
|
||||
/*
|
||||
* 功能描述:拷贝ZC发送的信号机数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopyGetZcSignalDymDataStru(UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:同步ZC发送的信号机数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopySetZcSignalDymDataStru(const UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:拷贝ZC发送的逻辑区段数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopyGetZcLogSecDymDataStru(UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:同步ZC发送的逻辑区段数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopySetZcLogSecDymDataStru(const UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:拷贝ZC发送的计轴区段数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopyGetZcAxisSecDymDataStru(UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:同步ZC发送的计轴区段数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopySetZcAxisSecDymDataStru(const UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:拷贝ZC发送的物理区段数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopyGetZcPhySecDymDataStru(UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:同步ZC发送的物理区段数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopySetZcPhySecDymDataStru(const UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:拷贝ZC发送的进路数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopyGetZcRouteDymDataStru(UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:同步ZC发送的进路数据
|
||||
* 参数说明:UINT8* pCurCiAppDataPointer 当前数据指针
|
||||
* 返 回 值:拷贝数据的长度
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
UINT32 CopySetZcRouteDymDataStru(const UINT8* pCurCiAppDataPointer);
|
||||
|
||||
/*
|
||||
* 功能描述:二乘设置OC有效数据
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By fan 2025.11.12
|
||||
*/
|
||||
UINT32 CopyValidSetOcOrginData(UINT8* pCurCiAppDataPointer, UINT16 struNum, OcToCiOriginDataStruct OcRecvData[]);
|
||||
|
||||
/*
|
||||
* 功能描述:二乘拷贝OC原始数据有效值
|
||||
* 参数说明:UINT8 *pCurCiAppDataPointer 当前数据指针
|
||||
* UINT16 struNum 数组长度
|
||||
* OcToCiOriginDataStruct OcRecvData[] 待拷贝的结构体
|
||||
* 返 回 值:拷贝的数据长度
|
||||
* Created By fan 2025.11.12
|
||||
*/
|
||||
UINT32 CopyValidGetOcOrginData(UINT8* pCurCiAppDataPointer, UINT16 struNum, OcToCiOriginDataStruct OcRecvData[]);
|
||||
|
||||
/*
|
||||
* 功能描述: 设置报文上下文数据
|
||||
* 参数说明:
|
||||
输入参数
|
||||
const UINT8 *pCurCiAppDataPointer:当前数据指针
|
||||
UINT16 struNum:数组长度,
|
||||
输出参数
|
||||
HLHTHeadContextStru *pDataStru:结构体指针,
|
||||
* 返回值 : 拷贝数据的长度
|
||||
* 注 意 ; 只适用于报文上下文
|
||||
*/
|
||||
UINT32 CopyValidSetHlhtHeadDataStru(const UINT8 *pCurCiAppDataPointer, UINT16 struNum, HLHTHeadContextStru *pDataStru);
|
||||
|
||||
/*
|
||||
* 功能描述: 拷贝报文上下文数据数据
|
||||
输入参数
|
||||
const HLHTHeadContextStru *pDataStru 结构体指针
|
||||
UINT16 struNum:数组长度,
|
||||
输出参数
|
||||
UINT8 *pCurCiAppDataPointer:当前数据指针,
|
||||
* 返回值 : 拷贝数据的长度
|
||||
* 注 意 ; 只适用于报文上下文
|
||||
*/
|
||||
UINT32 CopyValidGetHlhtHeadDataStru(UINT8 *pCurCiAppDataPointer, UINT16 struNum, const HLHTHeadContextStru *pDataStru);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -21,7 +21,6 @@
|
||||
#include "CommonQueue.h"
|
||||
#include "../Transmit/TransmitStateDataManage.h"
|
||||
|
||||
#include "MSCP_APP_API.h"
|
||||
#ifdef PLATFORM_2OO2
|
||||
#include "sfpplatform.h"
|
||||
#include "RsspWl.h"
|
||||
@@ -90,14 +89,12 @@ extern UINT8* CiAndCiComDeviceNum; /*
|
||||
extern UINT8* CiAndCiComIdBuf; /*联锁与联锁通信设备ID*/
|
||||
extern UINT8* CiAndCiComState; /*联锁与联锁通信状态*/
|
||||
extern UINT8* PlatSheBeiType; /*平台对外设备类型*/
|
||||
extern UINT8 gSheBeiType; /*对外的设备类型*/
|
||||
|
||||
/*
|
||||
* 功能描述: 平台初始化
|
||||
* 参数说明: void
|
||||
* 返回值 : 0: 失败
|
||||
* 1: 成功
|
||||
* Modified By LQ 2025.08.27
|
||||
* 返回值 : NULL: 获取数据失败
|
||||
* !NULL: 平台ATS到CI接口队列
|
||||
*/
|
||||
UINT8 Initial2oo2Interface(void);
|
||||
|
||||
@@ -389,7 +386,7 @@ void SendOut_LogBuff();
|
||||
|
||||
void debug_infor_printf(char* debug_string, ...);
|
||||
void debug_out_array(UINT8 mode, UINT8* debug_array, UINT16 len);
|
||||
void DarkInfoPack(UINT16 mode, UINT8* debug_array, UINT16 len);
|
||||
|
||||
|
||||
UINT8 OutnetSafeRecv(UINT16* srcTypeId, UINT16* srcLogicId, UINT8* data, UINT32* dataLen, UINT32 dataMaxLen);
|
||||
UINT8 InnetSafeRecv(UINT16* srcTypeId, UINT16* srcLogicId, UINT8* data, UINT32* dataLen, UINT32 dataMaxLen);
|
||||
|
||||
@@ -125,27 +125,6 @@ UINT8 GetAllAutoReturnRouteBelongCiId(const UINT16 allAutoReturnId)
|
||||
|
||||
return belongCiId;
|
||||
}
|
||||
/*
|
||||
* 功能描述: 获取指定ID全自动折返所属虚拟联锁ID
|
||||
* 参数说明: const UINT16 allAutoReturnId, 全自动折返ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 所属虚拟联锁ID
|
||||
* add by mpt 20260107
|
||||
*/
|
||||
UINT8 GetAllAutoRetRoutBelongVirCiId(const UINT16 allAutoReturnId)
|
||||
{
|
||||
UINT16 bufIndex = 0u; /*数组下标*/
|
||||
UINT8 belongVirCiId = CI_ERROR;
|
||||
|
||||
bufIndex = GetAllAutoReturnBufIndex(allAutoReturnId); /*获取全自动折返数组下标*/
|
||||
|
||||
if (bufIndex < ALL_AUTO_RETURN_SUM_MAX)
|
||||
{
|
||||
belongVirCiId = AllAutoReturnConfigDataStru[bufIndex].BelongVirCiId;
|
||||
}
|
||||
|
||||
return belongVirCiId;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID全自动折返包含进路ID数组
|
||||
|
||||
@@ -34,7 +34,6 @@ typedef struct S_AllAutoReturnConfigDataStruct
|
||||
{
|
||||
UINT16 AllAutoReturnId; /*全自动折返ID (配置字段)*/
|
||||
UINT8 BelongCiId; /*所属联锁ID*/
|
||||
UINT8 BelongVirCiId; /*虚拟联锁ID*/
|
||||
UINT8 RouteSum; /*全自动折返包含进路数目 (配置字段)*/
|
||||
UINT16 RouteIdBuf[ALL_AUTO_RETURN_INCLROUTE_SUM_MAX]; /*全自动折返进路ID数组 (配置字段)*/
|
||||
UINT16 RebackRouteIdBuf[ALL_AUTO_RETURN_REBACKROUTE_SUM_MAX]; /*全自动折返包含折出进路数组(配置字段)*/
|
||||
@@ -93,14 +92,6 @@ UINT8 GetAllAutoReturnIncludeRouteSum(const UINT16 allAutoReturnId);
|
||||
* >0: 所属联锁ID
|
||||
*/
|
||||
UINT8 GetAllAutoReturnRouteBelongCiId(const UINT16 allAutoReturnId);
|
||||
/*
|
||||
* 功能描述: 获取指定ID全自动折返所属虚拟联锁ID
|
||||
* 参数说明: const UINT16 allAutoReturnId, 全自动折返ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 所属虚拟联锁ID
|
||||
* add by mpt 20260107
|
||||
*/
|
||||
UINT8 GetAllAutoRetRoutBelongVirCiId(const UINT16 allAutoReturnId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID全自动折返包含进路ID数组
|
||||
|
||||
@@ -41,5 +41,5 @@
|
||||
#define ALL_AUTO_RETURN_DICHU_COMMR ((UINT8)0x06) /*抵触的普通进路已办理*/
|
||||
#define ALL_AUTO_RETURN_HAVE_BLOCK ((UINT8)0x02) /*全自动折返进路存在封锁*/
|
||||
#define ALL_AUTO_RETURN_FLOOD_STATE_ERR ((UINT8)0x03) /*全自动折返进路存在防淹门不满足*/
|
||||
#define ALL_AUTO_RETURN_COUPROUTE_SET ((UINT8)0x07) /*联挂进路已办理*/
|
||||
|
||||
#endif
|
||||
|
||||
@@ -119,27 +119,6 @@ UINT8 GetAutoReturnRouteBelongCiId(const UINT16 autoReturnId)
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
/*
|
||||
* 功能描述: 获取指定ID自动折返所属虚拟联锁ID
|
||||
* 参数说明: const UINT16 autoReturnId, 自动折返ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 所属联锁ID
|
||||
* add by mpt 20260107
|
||||
*/
|
||||
UINT8 GetAutoReturnRouteBelongVirCiId(const UINT16 autoReturnId)
|
||||
{
|
||||
UINT16 bufIndex = 0u; /*数组下标*/
|
||||
UINT8 returnValue = CI_ERROR;
|
||||
|
||||
bufIndex = GetAutoReturnBufIndex(autoReturnId); /*获取自动折返数组下标*/
|
||||
|
||||
if (bufIndex < AUTO_RETURN_SUM_MAX)
|
||||
{
|
||||
returnValue = AutoReturnConfigDataStru[bufIndex].BelongVirCiId;
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID自动折返包含进路ID数组
|
||||
|
||||
@@ -34,7 +34,6 @@ typedef struct S_AutoReturnConfigDataStruct
|
||||
{
|
||||
UINT16 AutoReturnId; /*自动折返ID (配置字段)*/
|
||||
UINT8 BelongCiId; /*所属联锁ID*/
|
||||
UINT8 BelongVirCiId; /*所属虚拟联锁ID*/
|
||||
UINT8 RouteSum; /*自动折返包含进路数目 (配置字段)*/
|
||||
UINT16 RouteIdBuf[AUTO_RETURN_INCLROUTE_SUM_MAX]; /*自动折返进路包含进路ID数组 (配置字段)*/
|
||||
UINT8 AutoReturnOpposedReturnIdSum; /*自动折返抵触自动折返进路数目 (配置字段)*/
|
||||
@@ -89,14 +88,6 @@ UINT8 GetAutoReturnIncludeRouteSum(const UINT16 autoReturnId);
|
||||
* >0: 所属联锁ID
|
||||
*/
|
||||
UINT8 GetAutoReturnRouteBelongCiId(const UINT16 autoReturnId);
|
||||
/*
|
||||
* 功能描述: 获取指定ID自动折返所属虚拟联锁ID
|
||||
* 参数说明: const UINT16 autoReturnId, 自动折返ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 所属联锁ID
|
||||
* add by mpt 20260107
|
||||
*/
|
||||
UINT8 GetAutoReturnRouteBelongVirCiId(const UINT16 autoReturnId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID自动折返包含进路ID数组
|
||||
|
||||
@@ -41,5 +41,5 @@
|
||||
#define AUTO_RETURN_DICHU_COMMROUTE ((UINT8)0x06) /*抵触的普通进路已办理*/
|
||||
#define AUTO_RETURN_HAVE_BLOCK ((UINT8)0x02) /*自动折返进路存在封锁*/
|
||||
#define AUTO_RETURN_FLOOD_STATE_ERR ((UINT8)0x03) /*自动折返进路存在防淹门不满足*/
|
||||
#define AUTO_RETURN_COUPROUTE_SET ((UINT8)0x07) /*联挂进路已办理*/
|
||||
|
||||
#endif
|
||||
|
||||
@@ -97,26 +97,6 @@ UINT8 GetAutoRouteBelongCiId(const UINT16 autoRouteId)
|
||||
}
|
||||
return belongCiId;
|
||||
}
|
||||
/*
|
||||
* 功能描述: 获取指定ID自动进路所属虚拟联锁ID
|
||||
* 参数说明: const UINT16 autoRouteId, 自动进路ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 所属联锁ID
|
||||
* add by mpt 20260107
|
||||
*/
|
||||
UINT8 GetAutoRouteBelongVirCiId(const UINT16 autoRouteId)
|
||||
{
|
||||
UINT16 bufIndex = 0u; /*数组下标*/
|
||||
UINT8 belongVirCiId = CI_ERROR;
|
||||
|
||||
bufIndex = GetAutoRouteBufIndex(autoRouteId); /*获取自动进路数组下标*/
|
||||
|
||||
if (bufIndex < AUTO_ROUTE_SUM_MAX)
|
||||
{
|
||||
belongVirCiId = AutoRouteConfigDataStru[bufIndex].BelongVirCiId;
|
||||
}
|
||||
return belongVirCiId;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -32,7 +32,6 @@ typedef struct S_AutoRouteConfigDataStruct
|
||||
{
|
||||
UINT16 AutoRouteId; /*自动进路ID (配置字段)*/
|
||||
UINT8 BelongCiId; /*所属联锁ID*/
|
||||
UINT8 BelongVirCiId; /*所属虚拟联锁ID*/
|
||||
UINT8 RouteSum; /*自动进路包含进路数目 (配置字段)*/
|
||||
UINT16 RouteIdBuf[AUTO_ROUTE_INCLROUTE_SUM_MAX]; /*自动进路进路ID数组 (配置字段)*/
|
||||
UINT8 AutoRouteOpposedRouteIdSum; /*自动通过进路抵触自动通过进路数目 (配置字段)*/
|
||||
@@ -90,13 +89,6 @@ UINT16 GetAutoRouteBufIndex(const UINT16 AutoRouteId);
|
||||
* >0: 所属联锁ID
|
||||
*/
|
||||
UINT8 GetAutoRouteBelongCiId(const UINT16 autoRouteId);
|
||||
/*
|
||||
* 功能描述: 获取指定ID自动进路所属虚拟联锁ID
|
||||
* 参数说明: const UINT16 autoRouteId, 自动进路ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 所属联锁ID
|
||||
*/
|
||||
UINT8 GetAutoRouteBelongVirCiId(const UINT16 autoRouteId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID自动进路包含进路数目
|
||||
|
||||
@@ -107,13 +107,7 @@ void SetAutoRouteSetFlag(const UINT16 autoRouteId, const UINT8 setState)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取自动进路动态数据结构体
|
||||
* 参数说明:无
|
||||
* 返 回 值:自动进路动态数据结构体
|
||||
* Created By LQ 2025.05.26
|
||||
*/
|
||||
AutoRouteDataStruct* GetAutoRouteDataStr(void)
|
||||
{
|
||||
return AutoRouteDataStru;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -56,13 +56,7 @@ UINT8 GetAutoRouteSetFlag(const UINT16 autoRouteId);
|
||||
*/
|
||||
void SetAutoRouteSetFlag(const UINT16 autoRouteId, const UINT8 setState);
|
||||
|
||||
/*
|
||||
* 功能描述:获取自动进路动态数据结构体
|
||||
* 参数说明:无
|
||||
* 返 回 值:自动进路动态数据结构体
|
||||
* Created By LQ 2025.05.26
|
||||
*/
|
||||
AutoRouteDataStruct* GetAutoRouteDataStr(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#define AUTO_ROUTE_DICHU_COMMROUTE ((UINT8)0x06) /*抵触普通进路已办理*/
|
||||
#define AUTO_ROUTE_HAVE_BLOCK ((UINT8)0x02) /*自动进路存在封锁*/
|
||||
#define AUTO_ROUTE_FLOOD_STATE_ERR ((UINT8)0x03) /*自动进路存在防淹门不满足*/
|
||||
#define AUTO_ROUTE_COUPROUTE_SET ((UINT8)0x07) /*联挂进路已办理*/
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#define AAM_BAD_NEAR 0x03u /* 坏车接近 */
|
||||
#define AAM_NO_TRAIN_NEAR 0x04u /* 无车接近 */
|
||||
#define AAM_GOOD_OCC 0x05u /* 好车占用 */
|
||||
#define AAM_SLEEP_OCC 0x06u /* 休眠车占用 */
|
||||
|
||||
|
||||
#define AAM_API_AC_ARB 0x01u /* 计轴ARB*/
|
||||
|
||||
@@ -53,9 +53,6 @@ static UINT8 aam_SearchNearestTrainInNextAC(UINT16 baseACID, UINT8 Dir, UINT8 en
|
||||
UINT32 errorCode = 0u;
|
||||
const EnvelopeStruct* pTempEnvelope = NULL;
|
||||
ELM_AxisLocStruct tmpAcLoc = { 0u };
|
||||
UINT8 cSleepState = 0U; /*包络关联列车休眠状态*/
|
||||
UINT8 ii = 0U;
|
||||
UINT8 chNoSleepCheck = 0U;
|
||||
|
||||
/*- 入口参数校验 */
|
||||
ASSERT_RET_VALUE(NULL == envelopeIds,ret,0x80000000u);
|
||||
@@ -106,24 +103,6 @@ static UINT8 aam_SearchNearestTrainInNextAC(UINT16 baseACID, UINT8 Dir, UINT8 en
|
||||
ASSER_ERROR(CI_ERROR == funRtn,errorCode,0x10000000u);
|
||||
AAM_LOG_LOC(AAM_LOG_ERROR,"errno:0x%08x info:Search NearestTrain ELM%d,ELM info error.",errorCode,preEnvelope)
|
||||
}
|
||||
else
|
||||
{
|
||||
chNoSleepCheck = CI_SUCCESS;
|
||||
for (ii = 0U; ii < pTempEnvelope->trianCnt; ii++)
|
||||
{
|
||||
cSleepState = GetTrainSleepState(pTempEnvelope->trainID[ii]);
|
||||
if (TRAIN_SLEEP_YES == cSleepState)
|
||||
{
|
||||
chNoSleepCheck = CI_ERROR;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (CI_ERROR == chNoSleepCheck)
|
||||
{
|
||||
/*相邻计轴存在休眠车*/
|
||||
ret = AAM_SLEEP_OCC;
|
||||
}
|
||||
else if (((TYPE_CT_ENVELOPE == pTempEnvelope->envelopeType) || (TYPE_UCT_ENVELOPE == pTempEnvelope->envelopeType)) &&
|
||||
(FLAG_SET == funRtn) && (0u == pTempEnvelope->tailTrainID))
|
||||
{
|
||||
@@ -143,8 +122,6 @@ static UINT8 aam_SearchNearestTrainInNextAC(UINT16 baseACID, UINT8 Dir, UINT8 en
|
||||
ret = AAM_BAD_NEAR;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -179,6 +156,8 @@ UINT8 aam_SearchNearbyTrainType(UINT16 baseACID, UINT8 Dir, UINT8 acCnt, UINT16
|
||||
UINT8 acStatus = ELM_AC_OCC;
|
||||
UINT16 tmpPhyid = 0u;
|
||||
UINT8 phyRelACCnt = 0u;
|
||||
UINT8 i = 0U;
|
||||
UINT16 wTrainId = 0U;
|
||||
const UINT16* phyRelACIDs = NULL;
|
||||
const EnvelopeStruct* pTempEnvelope = NULL;
|
||||
UINT8 acRelEnvelopeCnt = 0u;
|
||||
@@ -302,23 +281,30 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex)
|
||||
UINT8 ret = CI_ERROR;
|
||||
UINT8 funRtn = CI_ERROR;
|
||||
UINT8 chNearbyCheck = CI_ERROR;
|
||||
UINT8 acSameCnt = 0U;
|
||||
UINT16 acSameID[AC_MAXCNT_IN_SWITCH] = { 0U };
|
||||
UINT8 acConvertCnt = 0U;
|
||||
UINT16 acConvertID[AC_MAXCNT_IN_SWITCH] = { 0U };
|
||||
UINT32 errorCode = 0U;
|
||||
UINT8 acSameCnt = 0u;
|
||||
UINT16 acSameID[AC_MAXCNT_IN_SWITCH] = { 0u };
|
||||
UINT8 acConvertCnt = 0u;
|
||||
UINT16 acConvertID[AC_MAXCNT_IN_SWITCH] = { 0u };
|
||||
UINT32 errorCode = 0u;
|
||||
UINT8 sameTrainType = AAM_BAD_NEAR;
|
||||
UINT8 convertTrainType = AAM_BAD_NEAR;
|
||||
UINT8 tmpRedunTime = 0U;
|
||||
UINT8 tmppassTrainType = 0U;
|
||||
UINT8 tmpRedunTime = 0u;
|
||||
UINT8 tmppassTrainType = 0u;
|
||||
UINT8 tmpACStatus = AAM_STATUS_OCC;
|
||||
UINT8 maxRedunTimes = 0u;
|
||||
UINT8 chSwitch = 0U;
|
||||
UINT8 chSwitch = 0u;
|
||||
UINT32 dwArbCheckDistance = 0U; /*RC16.0: 系统配置ARB区段向外检查距离*/
|
||||
UINT8 chRedunArbFlag = REDUN_OVER_ARB_NO; /*判断冗余计时结束后可否ARB标志*/
|
||||
UINT8 dwCiAndAxleTransBadEnsureCnt = 0U; /*判断与计轴通信中断周期数*/
|
||||
UINT32 dwCurAxleOccStartCycNum = 0U; /*本计轴区段占用起始周期*/
|
||||
UINT8 ii = 0U;
|
||||
UINT32 dwNearAxleOccStartCycNum = 0U; /*相邻计轴区段占用起始周期*/
|
||||
UINT8 cAcRelEnvelopeCnt = 0U;
|
||||
EnvelopeStruct strEnvelopeInfo[SECTION_REL_ENVELOPE_SUM_MAX] = { 0U };
|
||||
UINT8 cOccCheckFlag = CI_ERROR;
|
||||
UINT16 wCurRelPhySecId = 0U;
|
||||
UINT16 wNearRelPhySecId = 0U;
|
||||
UINT8 cAxisCommBadArbFlag = AAM_COMM_BAD_ARB_NO;
|
||||
UINT8 chPhyTrainCheck = CI_SUCCESS;
|
||||
UINT8 cAcCbtcAttr = 0U; /*计轴区段CBTC区域属性*/
|
||||
|
||||
chSwitch = aam_PrepareArbSwitch();
|
||||
if (CI_SUCCESS == chSwitch)
|
||||
@@ -367,34 +353,8 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex)
|
||||
/** 处理后方计轴车辆接近 */
|
||||
convertTrainType = aam_SearchNearbyTrainType(acID, EMAP_CONVER_DIR, acConvertCnt, acConvertID);
|
||||
|
||||
/*检查所属物理区段有无故障车*/
|
||||
chPhyTrainCheck = aam_CheckPhyTrain(acID);
|
||||
cAcCbtcAttr = GetAxisSecCbtcProperty(acID); /*获取计轴区段CBTC区域属性*/
|
||||
|
||||
if ((CI_ERROR == chPhyTrainCheck) || (AXIS_SEC_CBTC_PROPERTY_YES != cAcCbtcAttr))
|
||||
{
|
||||
/** 计轴区段有故障车或非CBTC区域,清除之前的冗余计时位,设置占用 */
|
||||
funRtn = aam_ClearPassTrainFlag(acIndex);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x20000000u);
|
||||
|
||||
funRtn = aam_ClearRedunTime(acIndex);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x10000000u);
|
||||
|
||||
aam_SetAxisStatus(acIndex, AAM_STATUS_OCC);
|
||||
AAM_LOG(AAM_LOG_FATAL, "info:AC%d set UT,Physec has UKT\n ", acID);
|
||||
}
|
||||
else if ((AAM_SLEEP_OCC == sameTrainType) || (AAM_SLEEP_OCC == convertTrainType))
|
||||
{
|
||||
/** 清除好车通过标志,UT冗余 */
|
||||
funRtn = aam_ClearPassTrainFlag(acIndex);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x20000000u);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*继续处理*/
|
||||
}
|
||||
/** 判断相邻范围内计轴坏车最近占用时间检查通过 */
|
||||
if (CI_ERROR == chNearbyCheck)
|
||||
if ((CI_ERROR == chNearbyCheck))
|
||||
{
|
||||
/*有 坏车接近 或左右相邻计轴均无车接近 立即清除冗余计时*/
|
||||
if ((AAM_BAD_NEAR == sameTrainType) || (AAM_BAD_NEAR == convertTrainType))
|
||||
@@ -423,6 +383,7 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex)
|
||||
/** 冗余计时位加1*/
|
||||
aam_AddRedunTime(acIndex, maxRedunTimes);
|
||||
}
|
||||
|
||||
/** 计轴故障的判断 */
|
||||
tmpRedunTime = aam_GetRedunTime(acIndex);
|
||||
tmppassTrainType = aam_GetPassTrainFlag(acIndex);
|
||||
@@ -449,13 +410,89 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex)
|
||||
}
|
||||
else
|
||||
{
|
||||
/*ARB计轴区段同向相邻计轴区段连续占用*/
|
||||
funRtn = aam_ArbContinuousOccCheck(acID, acSameCnt, acSameID);
|
||||
cOccCheckFlag = CI_SUCCESS;
|
||||
dwCiAndAxleTransBadEnsureCnt = GetCiAndAxleTransBadEnsureCnt(); /*获取判断与计轴通信中断超时周期数*/
|
||||
wCurRelPhySecId = GetAxisSecRelativePhySecId(acID);
|
||||
if (0U != wCurRelPhySecId)
|
||||
{
|
||||
dwCurAxleOccStartCycNum = GetSecColOccupyStartCycNum(wCurRelPhySecId);
|
||||
for (ii = 0U; ii < acSameCnt; ii++)
|
||||
{
|
||||
wNearRelPhySecId = GetAxisSecRelativePhySecId(acSameID[ii]);
|
||||
if (0U != wNearRelPhySecId)
|
||||
{
|
||||
cAcRelEnvelopeCnt = elm_GetEnvelopeInAC(acSameID[ii], strEnvelopeInfo);
|
||||
dwNearAxleOccStartCycNum = GetSecColOccupyStartCycNum(wNearRelPhySecId);
|
||||
if (((0U == cAcRelEnvelopeCnt) || (SECTION_REL_ENVELOPE_SUM_MAX == cAcRelEnvelopeCnt))
|
||||
&& ((dwCurAxleOccStartCycNum + dwCiAndAxleTransBadEnsureCnt) < dwNearAxleOccStartCycNum))
|
||||
{
|
||||
cOccCheckFlag = CI_ERROR; /*相邻计轴区段无包络且占用起始时间超过了“与计轴通信中断超时判断时间”*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*相邻计轴区段占用起始周期未超过“与计轴通信中断超时判断时间”,继续检查*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cOccCheckFlag = CI_ERROR;
|
||||
}
|
||||
|
||||
/*ARB计轴区段反向相邻计轴区段连续占用*/
|
||||
funRtn &= aam_ArbContinuousOccCheck(acID, acConvertCnt, acConvertID);
|
||||
if (CI_ERROR == cOccCheckFlag)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
if (CI_SUCCESS != funRtn)
|
||||
if (CI_SUCCESS == cOccCheckFlag)
|
||||
{
|
||||
for (ii = 0U; ii < acConvertCnt; ii++)
|
||||
{
|
||||
wNearRelPhySecId = GetAxisSecRelativePhySecId(acConvertID[ii]);
|
||||
if (0U != wNearRelPhySecId)
|
||||
{
|
||||
cAcRelEnvelopeCnt = elm_GetEnvelopeInAC(acConvertID[ii], strEnvelopeInfo);
|
||||
dwNearAxleOccStartCycNum = GetSecColOccupyStartCycNum(wNearRelPhySecId);
|
||||
if (((0U == cAcRelEnvelopeCnt) || (SECTION_REL_ENVELOPE_SUM_MAX == cAcRelEnvelopeCnt))
|
||||
&& ((dwCurAxleOccStartCycNum + dwCiAndAxleTransBadEnsureCnt) < dwNearAxleOccStartCycNum))
|
||||
{
|
||||
cOccCheckFlag = CI_ERROR; /*相邻计轴区段无包络且占用起始时间超过了“与计轴通信中断超时判断时间”*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*相邻计轴区段占用起始周期未超过“与计轴通信中断超时判断时间”,继续检查*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cOccCheckFlag = CI_ERROR;
|
||||
}
|
||||
|
||||
if (CI_ERROR == cOccCheckFlag)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*检查失败,不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cOccCheckFlag = CI_ERROR;
|
||||
}
|
||||
|
||||
if (CI_SUCCESS != cOccCheckFlag)
|
||||
{
|
||||
/** 清除本计轴区段之前的冗余计时位 */
|
||||
funRtn = aam_ClearPassTrainFlag(acIndex);
|
||||
@@ -465,7 +502,7 @@ static UINT8 aam_AxisErrorJudge(UINT16 acID,UINT16 acIndex)
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00400000U);
|
||||
|
||||
aam_SetAxisStatus(acIndex, AAM_STATUS_OCC);
|
||||
AAM_LOG(AAM_LOG_FATAL, "info:AC%d Keep ARB Fail Because Of Near Sec Continuous Occ\n", acID);
|
||||
AAM_LOG(AAM_LOG_FATAL, "info:AC%d Keep ARB Fail Because Of Near Sec Occ\n", acID);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -850,11 +887,9 @@ void aam_MainProcess(void)
|
||||
/** 尽头线ARB特殊处理*/
|
||||
aam_InitEndLinePassFlag();
|
||||
|
||||
/*计轴子系统通信中断ARB特殊处理功能在RC20.0首版二回先注释掉(恢复时间待定)——By LQ 2025.05.07*/
|
||||
#if 0
|
||||
/*计轴子系统通信中断ARB特殊处理*/
|
||||
aam_AxisCommBadArbPro();
|
||||
#endif
|
||||
|
||||
for (cycle = 0u; cycle < acCnt; cycle++)
|
||||
{
|
||||
/** 判断计轴区段是否属于本OC */
|
||||
@@ -2020,165 +2055,3 @@ UINT8 aam_GetAxisStatusAPI(UINT16 ACID)
|
||||
reVal = aam_GetAxisStatus(acIndex);
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/**
|
||||
* 函数功能:检查计轴所在物理区段均无故障车
|
||||
* 输入参数:UINT16 ACID 计轴区段id
|
||||
* 返回值:CI_SUCCESS 无故障车
|
||||
* CI_ERROR 存在故障车
|
||||
* Create By fan 2025.06 18
|
||||
*/
|
||||
UINT8 aam_CheckPhyTrain(UINT16 ACID)
|
||||
{
|
||||
UINT8 reVal = CI_ERROR;
|
||||
UINT16 wPhySecId = 0U; /*计轴所属物理区段*/
|
||||
UINT8 phyAcNum = 0u; /*物理区段关联计轴数*/
|
||||
UINT16* pACBuff = NULL;
|
||||
UINT16 wAxisSecId = 0U; /*计轴区段id*/
|
||||
UINT8 linkNum = 0U; /*ilnk数量*/
|
||||
UINT16* pLinkBuf = NULL; /*link数组*/
|
||||
UINT8 jj = 0U;
|
||||
UINT8 ii = 0U;
|
||||
UINT8 k = 0U;
|
||||
TRAIN_SEQUANCE_s linkInctrainList[SIZE_MAX_TRAINOFAC] = { 0u }; /*link上的列车序列*/
|
||||
UINT8 cLinkIncTrainSum = 0u; /*link列车数量*/
|
||||
wPhySecId = aam_PrepareACBelongPhyid(ACID);
|
||||
phyAcNum = GetPAxisSectionSum(wPhySecId);
|
||||
pACBuff = GetPAxisSectionIdBuf(wPhySecId);
|
||||
if ((0U != phyAcNum) && (NULL != pACBuff))
|
||||
{
|
||||
reVal = CI_SUCCESS;
|
||||
for (ii = 0; ii < phyAcNum; ii++)
|
||||
{
|
||||
/*检查计轴上link有隐藏车*/
|
||||
wAxisSecId = pACBuff[ii];
|
||||
linkNum = GetAxisLinkSum(wAxisSecId);
|
||||
pLinkBuf = GetAxisLinkIdBuf(wAxisSecId);
|
||||
if ((0U != linkNum) && (NULL != pLinkBuf))
|
||||
{
|
||||
for (jj = 0; jj < linkNum; jj++)
|
||||
{
|
||||
cLinkIncTrainSum = as_GetLinkTrainList(pLinkBuf[jj], linkInctrainList, SIZE_MAX_TRAINOFAC);
|
||||
for (k = 0U; k < cLinkIncTrainSum; k++)
|
||||
{
|
||||
|
||||
if (NAME_FAILUREAREA != linkInctrainList[k].u16TrainID)
|
||||
{
|
||||
; /*继续*/
|
||||
}
|
||||
else
|
||||
{
|
||||
reVal = CI_ERROR; /*存在故障车,停止检查。返回失败*/
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (CI_ERROR == reVal)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*获取失败 */
|
||||
reVal = CI_ERROR;
|
||||
}
|
||||
if (CI_ERROR == reVal)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reVal = CI_ERROR;
|
||||
}
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 函数功能:ARB区段连续占用检查
|
||||
* 输入参数:UINT16 wAcId 计轴区段ID
|
||||
* UINT8 cNearAcNum 相邻计轴区段数量
|
||||
* UINT16 pNearAcId[AC_MAXCNT_IN_SWITCH] 相邻计轴区段ID
|
||||
* 返 回 值:CI_SUCCESS 1 成功
|
||||
* CI_ERROR 0 失败
|
||||
* Created By LQ 2025.08.07
|
||||
*/
|
||||
UINT8 aam_ArbContinuousOccCheck(UINT16 wAcId, UINT8 cNearAcNum, UINT16 pNearAcId[AC_MAXCNT_IN_SWITCH])
|
||||
{
|
||||
UINT8 cRetVal = CI_ERROR;
|
||||
UINT16 wBufIndex = 0U;
|
||||
UINT16 wCurRelPhySecId = 0U; /*本计轴区段所属物理区段ID*/
|
||||
UINT32 dwCiAndAxleTransBadEnsureCnt = 0U; /*判断与计轴通信中断周期数*/
|
||||
UINT32 dwCurAxleOccStartCycNum = 0U; /*本计轴区段占用起始周期*/
|
||||
UINT8 ii = 0U;
|
||||
UINT16 wNearRelPhySecId = 0U; /*相邻计轴区段所属物理区段ID*/
|
||||
UINT8 cAcRelEnvelopeCnt = 0U;
|
||||
EnvelopeStruct strEnvelopeInfo[SECTION_REL_ENVELOPE_SUM_MAX] = { 0U };
|
||||
UINT32 dwNearAxleOccStartCycNum = 0U; /*相邻计轴区段占用起始周期*/
|
||||
UINT8 cRcId = 0U;
|
||||
UINT8 cFunRtn = 0U;
|
||||
UINT16 wNearAcIndex = 0U;
|
||||
|
||||
wBufIndex = GetAxisSecConfigBufIndex(wAcId); /*获取区段数组下标*/
|
||||
|
||||
if ((AXIS_SECTION_SUM_MAX > wBufIndex) && (AC_MAXCNT_IN_SWITCH > cNearAcNum) && (NULL != pNearAcId))
|
||||
{
|
||||
wCurRelPhySecId = GetAxisSecRelativePhySecId(wAcId);
|
||||
if (0U != wCurRelPhySecId)
|
||||
{
|
||||
cRetVal = CI_SUCCESS;
|
||||
dwCiAndAxleTransBadEnsureCnt = GetCiAndAxleTransBadEnsureCnt(); /*获取判断与计轴通信中断超时周期数*/
|
||||
dwCurAxleOccStartCycNum = GetSecColOccupyStartCycNum(wCurRelPhySecId);
|
||||
for (ii = 0U; ii < cNearAcNum; ii++)
|
||||
{
|
||||
wNearRelPhySecId = GetAxisSecRelativePhySecId(pNearAcId[ii]);
|
||||
if (0U != wNearRelPhySecId)
|
||||
{
|
||||
cAcRelEnvelopeCnt = elm_GetEnvelopeInAC(pNearAcId[ii], strEnvelopeInfo);
|
||||
dwNearAxleOccStartCycNum = GetSecColOccupyStartCycNum(wNearRelPhySecId);
|
||||
if (((0U == cAcRelEnvelopeCnt) || (SECTION_REL_ENVELOPE_SUM_MAX == cAcRelEnvelopeCnt))
|
||||
&& ((dwCurAxleOccStartCycNum + dwCiAndAxleTransBadEnsureCnt) < dwNearAxleOccStartCycNum))
|
||||
{
|
||||
cRetVal = CI_ERROR; /*相邻计轴区段无包络且占用起始时间超过了“与计轴通信中断超时判断时间”*/
|
||||
|
||||
cFunRtn = aam_PrepareACIsSelf(pNearAcId[ii], &cRcId); /*判断相邻区段是否为本控区区段*/
|
||||
|
||||
if (ELM_BELONG_OWNER == cFunRtn)
|
||||
{
|
||||
wNearAcIndex = aam_PrepareACIndex(pNearAcId[ii]);
|
||||
(void)aam_ClearPassTrainFlag(wNearAcIndex); /*清除好车通过标志*/
|
||||
(void)aam_ClearRedunTime(wNearAcIndex); /*清除冗余计时*/
|
||||
aam_SetAxisStatus(wNearAcIndex, AAM_STATUS_OCC); /*设置占用*/
|
||||
|
||||
AAM_LOG(AAM_LOG_FATAL, "info:AC%d Set Occ Because Of Near Sec%d Keep Arb Fail\n", pNearAcId[ii], wAcId);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*非本控区区段,不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*相邻计轴区段占用起始周期未超过“与计轴通信中断超时判断时间”,继续检查*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cRetVal = CI_ERROR; /*异常场景,返回失败*/
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cRetVal = CI_ERROR; /*异常场景,返回失败*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cRetVal = CI_ERROR; /*入参非法,返回失败*/
|
||||
}
|
||||
|
||||
return cRetVal;
|
||||
}
|
||||
@@ -213,24 +213,4 @@ void SetRcAxleArb(void);
|
||||
*/
|
||||
UINT8 aam_GetAxisStatusAPI(UINT16 ACID);
|
||||
|
||||
/**
|
||||
* 函数功能:检查计轴所在物理区段均无故障车
|
||||
* 输入参数:UINT16 ACID 计轴区段id
|
||||
* 返回值:CI_SUCCESS 无故障车
|
||||
* CI_ERROR 存在故障车
|
||||
* Create By fan 2025.06 18
|
||||
*/
|
||||
UINT8 aam_CheckPhyTrain(UINT16 ACID);
|
||||
|
||||
/*
|
||||
* 函数功能:ARB区段连续占用检查
|
||||
* 输入参数:UINT16 wAcId 计轴区段ID
|
||||
* UINT8 cNearAcNum 相邻计轴区段数量
|
||||
* UINT16 pNearAcId[AC_MAXCNT_IN_SWITCH] 相邻计轴区段ID
|
||||
* 返 回 值:CI_SUCCESS 1 成功
|
||||
* CI_ERROR 0 失败
|
||||
* Created By LQ 2025.08.07
|
||||
*/
|
||||
UINT8 aam_ArbContinuousOccCheck(UINT16 wAcId, UINT8 cNearAcNum, UINT16 pNearAcId[AC_MAXCNT_IN_SWITCH]);
|
||||
|
||||
#endif /*AXIS_ASSERT_MANAGE_API_H_*/
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
static UINT16 g_pSortLinkNum; /* 本控区的Link数量 */
|
||||
static UINT16 g_pSortLinkIndex[AS_LINK_MAX + 1U]; /* 本控区的Link索引 */
|
||||
|
||||
AS_SORT_INFO_s g_pSortLinkInfo[AS_LINK_MAX + 1U]; /*link排序*/
|
||||
static AS_SORT_INFO_s g_pSortLinkInfo[AS_LINK_MAX + 1U]; /*link排序*/
|
||||
|
||||
/* 通信车序列,在SortCT阶段完成CT车排序 */
|
||||
static UINT16 s_pCTSortIndex[SIZE_MAX_LINE_TRAIN_NUM]; /*本信息不周期清空*/
|
||||
@@ -2188,34 +2188,12 @@ UINT32 as_GetTransferData(OUT UINT8 * pDataBuff, IN UINT32 curIndex)
|
||||
{
|
||||
UINT32 ret = curIndex;
|
||||
UINT32 copyIndex = curIndex;
|
||||
UINT16 wLinkNum = 0U;
|
||||
UINT16 u16Index = 0U;
|
||||
UINT16 wTmpLinkId = 0U;
|
||||
UINT8 chLocalId = GetSystemParaLocalCiId();
|
||||
UINT8 chLinkCIId = 0U;/*link所属联锁*/
|
||||
UINT32 dwLinkNumIndex =0U;/*数量位置 */
|
||||
if (NULL != pDataBuff)
|
||||
{
|
||||
(void)CommonMemCpy(&pDataBuff[copyIndex], (UINT32)(sizeof(UINT16) * SIZE_MAX_LINE_TRAIN_NUM), s_pCTSortIndex, (UINT32)(sizeof(UINT16) * SIZE_MAX_LINE_TRAIN_NUM));
|
||||
copyIndex += (UINT32)(sizeof(UINT16) * SIZE_MAX_LINE_TRAIN_NUM);
|
||||
(void)CommonMemCpy(&pDataBuff[copyIndex], (UINT32)(sizeof(CT_SORT_INFO_s) * (SIZE_MAX_COM_VOBC_NUM + 1U)), s_pCTSortInfo, (UINT32)(sizeof(CT_SORT_INFO_s) * (SIZE_MAX_COM_VOBC_NUM + 1U)));
|
||||
copyIndex += (UINT32)(sizeof(CT_SORT_INFO_s) * (SIZE_MAX_COM_VOBC_NUM + 1U));
|
||||
/*拷贝link列车排序*/
|
||||
dwLinkNumIndex = copyIndex;
|
||||
copyIndex += 2U;
|
||||
for (u16Index = 1U; u16Index <= g_pSortLinkNum; u16Index++)
|
||||
{
|
||||
wTmpLinkId = g_pSortLinkInfo[u16Index].u16ID;
|
||||
chLinkCIId = (UINT8)GetLinkManageTiocById(wTmpLinkId);
|
||||
if ((0U != chLocalId) && (chLinkCIId == chLocalId))
|
||||
{
|
||||
/*仅拷贝本联锁*/
|
||||
(void)CommonMemCpy(&pDataBuff[copyIndex],(UINT32)(sizeof(AS_SORT_INFO_s)), &g_pSortLinkInfo[u16Index], (UINT32)(sizeof(AS_SORT_INFO_s)));
|
||||
copyIndex += (UINT32)(sizeof(AS_SORT_INFO_s));
|
||||
wLinkNum++;
|
||||
}
|
||||
}
|
||||
ShortToChar(wLinkNum, &pDataBuff[dwLinkNumIndex]); /* 写入有车占用的计轴区段数量 */
|
||||
(void)CommonMemCpy(&pDataBuff[copyIndex], (UINT32)(sizeof(CT_SORT_INFO_s) * SIZE_MAX_COM_VOBC_NUM + 1u), s_pCTSortInfo, (UINT32)(sizeof(CT_SORT_INFO_s) * SIZE_MAX_COM_VOBC_NUM + 1u));
|
||||
copyIndex += (UINT32)(sizeof(CT_SORT_INFO_s) * SIZE_MAX_COM_VOBC_NUM + 1u);
|
||||
ret = copyIndex;
|
||||
}
|
||||
else
|
||||
@@ -2237,29 +2215,12 @@ UINT32 as_SetTransferData(IN UINT8 * pDataBuff, IN UINT32 curIndex)
|
||||
{
|
||||
UINT32 ret = curIndex;
|
||||
UINT32 copyIndex = curIndex;
|
||||
UINT16 wLinkNum = 0U;
|
||||
UINT16 jj = 0U;
|
||||
UINT16 wTmpLinkId =0U;
|
||||
UINT16 wLinkIndex = 0U;
|
||||
if (NULL != pDataBuff)
|
||||
{
|
||||
(void)CommonMemCpy(s_pCTSortIndex, (UINT32)(sizeof(UINT16) * SIZE_MAX_LINE_TRAIN_NUM), &pDataBuff[copyIndex], (UINT32)(sizeof(UINT16) * SIZE_MAX_LINE_TRAIN_NUM));
|
||||
copyIndex += (UINT32)(sizeof(UINT16) * SIZE_MAX_LINE_TRAIN_NUM);
|
||||
(void)CommonMemCpy(s_pCTSortInfo, (UINT32)(sizeof(CT_SORT_INFO_s) * (SIZE_MAX_COM_VOBC_NUM + 1U)), &pDataBuff[copyIndex], (UINT32)(sizeof(CT_SORT_INFO_s) * (SIZE_MAX_COM_VOBC_NUM + 1U)));
|
||||
copyIndex += (UINT32)(sizeof(CT_SORT_INFO_s) * (SIZE_MAX_COM_VOBC_NUM + 1U));
|
||||
/*拷贝列车排序*/
|
||||
wLinkNum = ShortFromChar(&pDataBuff[copyIndex]);
|
||||
copyIndex += 2u;
|
||||
for (jj = 0U; jj < wLinkNum; jj++)
|
||||
{
|
||||
wTmpLinkId = ShortFromCharLE(&pDataBuff[copyIndex]);
|
||||
wLinkIndex = g_pSortLinkIndex[wTmpLinkId];
|
||||
if ((DEFAULT_ZERO < wLinkIndex) && (wLinkIndex < AS_LINK_MAX+1U))
|
||||
{
|
||||
(void)CommonMemCpy(&g_pSortLinkInfo[wLinkIndex], (UINT32)(sizeof(AS_SORT_INFO_s)), &pDataBuff[copyIndex], (UINT32)(sizeof(AS_SORT_INFO_s)));
|
||||
copyIndex += (UINT32)(sizeof(AS_SORT_INFO_s));
|
||||
}
|
||||
}
|
||||
(void)CommonMemCpy(s_pCTSortInfo, (UINT32)(sizeof(CT_SORT_INFO_s) * SIZE_MAX_COM_VOBC_NUM + 1u), &pDataBuff[copyIndex], (UINT32)(sizeof(CT_SORT_INFO_s) * SIZE_MAX_COM_VOBC_NUM + 1u));
|
||||
copyIndex += (UINT32)(sizeof(CT_SORT_INFO_s) * SIZE_MAX_COM_VOBC_NUM + 1u);
|
||||
ret = copyIndex;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -48,5 +48,5 @@ typedef struct
|
||||
UINT16 TrainEnveLopeID[ENVELOPE_SUM_MAX]; /*所有包络ID信息*/
|
||||
}s_TRAIN_ENVELOPE_ID;
|
||||
|
||||
extern AS_SORT_INFO_s g_pSortLinkInfo[AS_LINK_MAX + 1U]; /*link排序*/
|
||||
|
||||
#endif /* INC_AXIS_SORT_INC */
|
||||
@@ -370,22 +370,27 @@ void CutoffPointOutput(void)
|
||||
UINT16 wPhySecId = 0u;
|
||||
UINT8 chOccState = 0u;
|
||||
UINT8 cDir = 0u;
|
||||
UINT8 cTrainDir = 0u;
|
||||
UINT8 cFunRetVal = CI_ERROR;
|
||||
TRAIN_SEQUANCE_s strTmp = { 0u };
|
||||
CfpTrainInfoStru tmpTrainInfo = { 0u };
|
||||
struct_PathPoint LinkPoint = { 0u };
|
||||
UINT32 dwFindLen = 0u;/*信号机点灯防护距离*/
|
||||
UINT16 wTrainId = 0u;
|
||||
UINT32 dwDis = UINT32_MAX;
|
||||
UINT32 dwDisTail = UINT32_MAX;
|
||||
UINT32 dwDisHead = UINT32_MAX;
|
||||
struct_PathPoint TrainPoint = { 0u };
|
||||
struct_PathPoint TrainHeadPoint = { 0u };
|
||||
struct_PathPoint TrainTailPoint = { 0u };
|
||||
struct_PathPoint CutoffPoint = { 0u };
|
||||
UINT8 cTrainTailDir = 0U; /*列车安全车尾方向*/
|
||||
UINT8 cTrainHeadDir = 0U; /*列车安全车头方向*/
|
||||
UINT32 dwFindLen = 0u;
|
||||
UINT8 chTrainNum = 0u;
|
||||
UINT8 cDirectionPointfirst = 0U; /*方向变化点1*/
|
||||
UINT8 cDirectionPointsecond = 0U; /*方向变化点2*/
|
||||
UINT16 wOtherCfpId = 0u; /*其他分界点ID*/
|
||||
UINT8 chLocalId = 0u; /*本联锁id*/
|
||||
UINT8 chLinkCIId = 0u; /*link所属联锁id*/
|
||||
UINT8 chOtherFlag = FLAG_UNSET;
|
||||
UINT8 chBreakFlag = FLAG_UNSET;
|
||||
UINT32 dwLinkLen = 0U;/*本联锁已计算分界点距离*/
|
||||
|
||||
dwFindLen = GetSystemParaValue(SIGNAL_LIGHTUP_SEC_LEN_ID);
|
||||
dwFindLen *= 100U;
|
||||
chLocalId = GetSystemParaLocalCiId();
|
||||
dwFindLen *= 100u;
|
||||
|
||||
/* 获取本联锁边界点数量 */
|
||||
wCutoffPointSum = GetCfpSum();
|
||||
@@ -400,26 +405,27 @@ void CutoffPointOutput(void)
|
||||
cDir = GetCfpLocDir(wCutoffPointId);
|
||||
|
||||
/* 计算边界点的点灯link */
|
||||
(void)CommonMemSet(wszLinkIdBuf, (UINT32)(sizeof(UINT16)*MAX_CFG_LIGHTUPLINK_NUM), 0U, (UINT32)(sizeof(UINT16)*MAX_CFG_LIGHTUPLINK_NUM));
|
||||
cFunRetVal = CalCutoffPointOccupyLinkSeq(wCutoffPointId, &wLinkSum, wszLinkIdBuf);
|
||||
|
||||
/*重置计算位置 */
|
||||
LinkPoint.wLinkId =0U;
|
||||
LinkPoint.dwOffset = 0U;
|
||||
/* 获取边界点信息 */
|
||||
CutoffPoint.wLinkId = GetCfpLink(wCutoffPointId);
|
||||
CutoffPoint.dwOffset = GetCfpOffset(wCutoffPointId);
|
||||
|
||||
wOtherCfpId = 0U;
|
||||
chOtherFlag = FLAG_UNSET;
|
||||
chBreakFlag = FLAG_UNSET;
|
||||
dwLinkLen = 0U;
|
||||
if ((CI_SUCCESS == cFunRetVal)&&(MAX_CFG_LIGHTUPLINK_NUM>=wLinkSum))
|
||||
wTrainId = 0u;
|
||||
TrainPoint.wLinkId = 0u;
|
||||
TrainPoint.dwOffset = 0u;
|
||||
|
||||
TrainTailPoint.wLinkId = 0U;
|
||||
TrainTailPoint.dwOffset = 0U;
|
||||
TrainHeadPoint.wLinkId = 0U;
|
||||
TrainHeadPoint.dwOffset = 0U;
|
||||
|
||||
if (CI_SUCCESS == cFunRetVal)
|
||||
{
|
||||
/* 区段查找成功,查到区段上的列车 */
|
||||
for (j = 0u;j < wLinkSum;j++)
|
||||
{
|
||||
wLinkId = wszLinkIdBuf[j];
|
||||
chLinkCIId = (UINT8)GetLinkManageTiocById(wLinkId);
|
||||
if (chLinkCIId == chLocalId)
|
||||
{
|
||||
wPhySecId = GetLinkRelatedPhySec(wLinkId);
|
||||
chOccState = GetPhySecCurOccupyState(wPhySecId);
|
||||
chTrainNum = as_GetLinkTrainNum(wLinkId);
|
||||
@@ -427,46 +433,18 @@ void CutoffPointOutput(void)
|
||||
if ((SECTION_OCCUPY_NO != chOccState) && (0u != chTrainNum))
|
||||
{
|
||||
/* 找到有车占用的区段 */
|
||||
chBreakFlag = FLAG_SET;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
/*检查是否有方向变化点,此处检查,当前link已按既定方向查找完,查下一link,若此时中间有方向变化点,则跨过方向变化点,到下一link改变方向查*/
|
||||
if (j < (wLinkSum - 1U))
|
||||
{
|
||||
chOtherFlag = FLAG_SET;
|
||||
}
|
||||
if (j < wLinkSum)
|
||||
{
|
||||
/* 更新已经计算的最远无车位置*/
|
||||
LinkPoint.wLinkId = wLinkId;
|
||||
if ((FLAG_SET == chOtherFlag)||(FLAG_SET == chBreakFlag))
|
||||
{
|
||||
if (DIR_SAME == cDir)
|
||||
{
|
||||
LinkPoint.dwOffset = 0U;
|
||||
}
|
||||
else
|
||||
{
|
||||
LinkPoint.dwOffset = GetLinkLengthById(wLinkId);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (DIR_SAME == cDir)
|
||||
{
|
||||
LinkPoint.dwOffset = GetLinkLengthById(wLinkId);
|
||||
}
|
||||
else
|
||||
{
|
||||
LinkPoint.dwOffset = 0U;
|
||||
}
|
||||
if (j < wLinkSum - 1U)
|
||||
{ /*检查是否有方向变化点,此处检查,当前link已按既定方向查找完,查下一link,若此时中间有方向变化点,则跨过方向变化点,到下一link改变方向查*/
|
||||
cDirectionPointfirst = GetLinkLogicDirChangedById(wszLinkIdBuf[j]);
|
||||
cDirectionPointsecond = GetLinkLogicDirChangedById(wszLinkIdBuf[(j + 1U)]); /*wLinkSum已检查越界*/
|
||||
cDirectionPointsecond = GetLinkLogicDirChangedById(wszLinkIdBuf[(j + 1U)]); /*todo越界*/
|
||||
if (((LINK_DIRCHANGE_BEGIN == cDirectionPointfirst) || (LINK_DIRCHANGE_END == cDirectionPointfirst))
|
||||
&& (cDirectionPointsecond == cDirectionPointfirst))
|
||||
{
|
||||
@@ -477,45 +455,107 @@ void CutoffPointOutput(void)
|
||||
; /*没有反向变换点,不考虑变方向*/
|
||||
}
|
||||
}
|
||||
dwLinkLen += GetLinkLengthById(wLinkId); /*未中断遍历,无车且属于本联锁,更新已计算link总长*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*最后一个link 无需更新*/
|
||||
}
|
||||
|
||||
if ((dwFindLen <= dwLinkLen)|| (FLAG_SET == chOtherFlag) || (FLAG_SET == chBreakFlag))
|
||||
{
|
||||
/*距离足够 或查找到相邻RC,或查找到占用,停止计算*/
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*无处理*/
|
||||
; /*最后一个link不需要考虑方向变化点的问题,防止数组越界*/
|
||||
}
|
||||
}
|
||||
|
||||
/* 获取列车ID 获取距离分界点最近的列车*/
|
||||
if ((j < wLinkSum) && (dwFindLen > dwLinkLen))
|
||||
if (j < wLinkSum)
|
||||
{
|
||||
if (FLAG_UNSET == chOtherFlag)
|
||||
if (DIR_SAME == cDir)
|
||||
{
|
||||
CfpTrainInfoCal(LinkPoint.wLinkId, LinkPoint.dwOffset, dwLinkLen, &tmpTrainInfo, cDir);
|
||||
strTmp = as_GetLinkFirstTrain(wLinkId);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*找到不属于本联锁link 寻找对应联锁及分界点列车信息*/
|
||||
OtherCfpTrainInfoCal(LinkPoint.wLinkId, LinkPoint.dwOffset, dwLinkLen, &tmpTrainInfo);
|
||||
strTmp = as_GetLinkLastTrain(wLinkId);
|
||||
}
|
||||
wTrainId = strTmp.u16TrainID;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 未找到有车占用 或空闲距离足够发送无车 */
|
||||
;
|
||||
}
|
||||
|
||||
if (j == wLinkSum)
|
||||
{
|
||||
/* 未找到有车占用发送无车 */
|
||||
tmpTrainInfo.wTrainId = 0u;
|
||||
tmpTrainInfo.chTrainLevel = 0u;
|
||||
tmpTrainInfo.dwDis = 0u;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 存在占用,判断列车类型 */
|
||||
if (NAME_FAILUREAREA == strTmp.u16TrainID)
|
||||
{
|
||||
/* 故障区域 */
|
||||
tmpTrainInfo.wTrainId = SIZE_MAX_LINETRAIN;
|
||||
tmpTrainInfo.chTrainLevel = 0u;
|
||||
|
||||
/* 获取区域位置 */
|
||||
TrainPoint.wLinkId = wLinkId;
|
||||
|
||||
/*选取link上距离分界点最近的点*/
|
||||
if (DIR_SAME == cDir)
|
||||
{
|
||||
TrainPoint.dwOffset = 0u;
|
||||
}
|
||||
else
|
||||
{
|
||||
TrainPoint.dwOffset = GetLinkLengthById(wLinkId);
|
||||
}
|
||||
|
||||
/* 查询距离 */
|
||||
dwDis = DsuAPointToBPoint(&TrainPoint, &CutoffPoint, &cTrainDir);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 正常车 */
|
||||
tmpTrainInfo.wTrainId = strTmp.u16TrainID;
|
||||
tmpTrainInfo.chTrainLevel = GetTrainLevel(tmpTrainInfo.wTrainId);
|
||||
|
||||
/*获取安全车尾点*/
|
||||
TrainTailPoint.wLinkId = GetTrainSafeTailLink(wTrainId);
|
||||
TrainTailPoint.dwOffset = GetTrainSafeTailOffset(wTrainId);
|
||||
/*获取安全车头点*/
|
||||
TrainHeadPoint.wLinkId = GetTrainSafeHeadLink(wTrainId);
|
||||
TrainHeadPoint.dwOffset = GetTrainSafeHeadOffset(wTrainId);
|
||||
|
||||
/*获取车尾到分界点距离*/
|
||||
dwDisTail = DsuAPointToBPoint(&TrainTailPoint, &CutoffPoint, &cTrainTailDir);
|
||||
|
||||
/*获取车头到分界点距离*/
|
||||
dwDisHead = DsuAPointToBPoint(&TrainHeadPoint, &CutoffPoint, &cTrainHeadDir);
|
||||
|
||||
if (dwDisTail < dwDisHead)
|
||||
{
|
||||
dwDis = dwDisTail;
|
||||
}
|
||||
else
|
||||
{
|
||||
dwDis = dwDisHead;
|
||||
}
|
||||
}
|
||||
|
||||
if (UINT32_MAX == dwDis)
|
||||
{
|
||||
tmpTrainInfo.dwDis = 0u;
|
||||
}
|
||||
else if(dwFindLen >= dwDis)
|
||||
{
|
||||
tmpTrainInfo.dwDis = dwDis;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 超出范围,无车 */
|
||||
tmpTrainInfo.wTrainId = 0u;
|
||||
tmpTrainInfo.chTrainLevel = 0u;
|
||||
tmpTrainInfo.dwDis = 0u;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -792,7 +832,6 @@ void SetCfpLocalOcCtData(const UINT16 wCfpId)
|
||||
UINT8 chSendNum = 0u;
|
||||
UINT8 chFunRtn = CI_ERROR;
|
||||
struct_PathPoint strPoint = { 0u };
|
||||
UINT8 dir = 0u;
|
||||
|
||||
wIndex = GetCfpBufIndex(wCfpId);
|
||||
/* 输入合法 */
|
||||
@@ -813,9 +852,7 @@ void SetCfpLocalOcCtData(const UINT16 wCfpId)
|
||||
g_CutoffPointDataBuf[wIndex].szLocalCtTrain[chSendNum].dwDelay = GetTrainMsgDelayTime(szCtTrainId[chCtIndex]);
|
||||
g_CutoffPointDataBuf[wIndex].szLocalCtTrain[chSendNum].wSpeed = GetTrainSpeed(szCtTrainId[chCtIndex]);
|
||||
g_CutoffPointDataBuf[wIndex].szLocalCtTrain[chSendNum].chSpeedDir = GetTrainSpeedDir(szCtTrainId[chCtIndex]);
|
||||
|
||||
dir = GetTrainDir(szCtTrainId[chCtIndex]); /*获取列车的逻辑方向*/
|
||||
g_CutoffPointDataBuf[wIndex].szLocalCtTrain[chSendNum].chTrainDir = ConvertDirectionToLogic(dir); /*将逻辑方向转换为运营方向*/
|
||||
g_CutoffPointDataBuf[wIndex].szLocalCtTrain[chSendNum].chTrainDir = GetTrainDir(szCtTrainId[chCtIndex]);
|
||||
g_CutoffPointDataBuf[wIndex].szLocalCtTrain[chSendNum].wMaxHeadLink = GetTrainMaxHeadLink(szCtTrainId[chCtIndex]);
|
||||
g_CutoffPointDataBuf[wIndex].szLocalCtTrain[chSendNum].dwMaxHeadOff = GetTrainMaxHeadOffset(szCtTrainId[chCtIndex]);
|
||||
g_CutoffPointDataBuf[wIndex].szLocalCtTrain[chSendNum].wMinHeadLink = GetTrainMinHeadLink(szCtTrainId[chCtIndex]);
|
||||
@@ -1595,140 +1632,3 @@ void SetCfpSignalLightUpFlag(const UINT16 wCfpId, const UINT8 cLightUpFlag)
|
||||
;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* 功能描述: 根据其他分界点信息更新本联锁发送分界点列车数据
|
||||
* 参数说明:UINT16 wLinkId 分界点link ,UINT32 dwOffSet偏移量, UINT32 dwLocalOffSet 本联锁已经查找距离
|
||||
* [输出参数]: CfpTrainInfoStru* trainInfo 列车数据
|
||||
* 返回值 :无
|
||||
* Created By fan 2025.05.26
|
||||
*/
|
||||
void OtherCfpTrainInfoCal(UINT16 wLinkId,UINT32 dwOffSet,UINT32 dwLocalOffSet, CfpTrainInfoStru* trainInfo)
|
||||
{
|
||||
UINT16 wCfpId = 0U;/*分界点id*/
|
||||
UINT8 chTransmitStat = TRANSMIT_STATE_BAD;
|
||||
CfpTrainInfoStru strCfpInfo = { 0u };
|
||||
UINT8 chLinkTiocId = 0U;
|
||||
UINT32 dwDdLen = 0U;/*信号机点灯距离*/
|
||||
UINT32 dwLeftOffset = 0U;/*剩余需计算距离*/
|
||||
/*数据初始化*/
|
||||
dwDdLen = GetSystemParaValue(SIGNAL_LIGHTUP_SEC_LEN_ID);
|
||||
dwDdLen *= 100u;
|
||||
wCfpId = GetCfpIdByPoint(wLinkId, dwOffSet);
|
||||
if (NULL != trainInfo)
|
||||
{
|
||||
/*初始化为在该分界点存在故障车*/
|
||||
trainInfo->wTrainId = SIZE_MAX_LINETRAIN;
|
||||
trainInfo->dwDis = dwLocalOffSet;
|
||||
trainInfo->chTrainLevel = 0U;
|
||||
if (dwDdLen > dwLocalOffSet)
|
||||
{
|
||||
dwLeftOffset = dwDdLen - dwLocalOffSet;
|
||||
}
|
||||
else
|
||||
{
|
||||
;/*无处理*/
|
||||
}
|
||||
if (0U != wCfpId)
|
||||
{
|
||||
chLinkTiocId = (UINT8)GetLinkManageTiocById(wLinkId);
|
||||
strCfpInfo = GetCfpOtherOcTrainInfo(wCfpId);
|
||||
chTransmitStat = GetRcPbTacsTransmitState(chLinkTiocId);
|
||||
if ((TRANSMIT_STATE_GOOD != chTransmitStat) || (UINT16_MAX == strCfpInfo.wTrainId))
|
||||
{
|
||||
;/*通信不良好,或者分界点列车信息获取失败*/
|
||||
}
|
||||
else if ((0u == strCfpInfo.wTrainId) ||
|
||||
((UINT32_MAX != strCfpInfo.dwDis) && (dwLeftOffset < strCfpInfo.dwDis)))
|
||||
{
|
||||
/*相邻Tioc无车 或 距离分界点距离大于剩余查找距离*/
|
||||
trainInfo->wTrainId = 0U;
|
||||
trainInfo->dwDis = 0U;
|
||||
trainInfo->chTrainLevel = 0U;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*传递分界点信息*/
|
||||
trainInfo->wTrainId = strCfpInfo.wTrainId;
|
||||
trainInfo->dwDis = strCfpInfo.dwDis + dwLocalOffSet;
|
||||
trainInfo->chTrainLevel = strCfpInfo.chTrainLevel;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
;/*分界点获取失败*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 本联锁列车数据更新本联锁发送分界点列车数据
|
||||
* 参数说明:UINT16 wLinkId 分界点link ,UINT32 dwOffSet偏移量, UINT32 dwLocalOffSet 本联锁已经查找距离 UINT8 cDir 方向
|
||||
* [输出参数]: CfpTrainInfoStru* trainInfo 列车数据
|
||||
* 返回值 :无
|
||||
* Created By fan 2025.06.04
|
||||
*/
|
||||
void CfpTrainInfoCal(UINT16 wLinkId, UINT32 dwOffSet, UINT32 dwLocalOffSet, CfpTrainInfoStru* trainInfo,UINT8 cDir)
|
||||
{
|
||||
TRAIN_SEQUANCE_s strTmp = { 0u };
|
||||
UINT16 wTrainId = 0u;
|
||||
UINT32 dwDis = UINT32_MAX;
|
||||
UINT32 dwDisTail = UINT32_MAX;
|
||||
UINT32 dwDisHead = UINT32_MAX;
|
||||
struct_PathPoint TrainHeadPoint = { 0u };
|
||||
struct_PathPoint TrainTailPoint = { 0u };
|
||||
struct_PathPoint LinkPoint = { 0u };
|
||||
UINT8 cTrainTailDir = 0U; /*列车安全车尾方向*/
|
||||
UINT8 cTrainHeadDir = 0U; /*列车安全车头方向*/
|
||||
if ((NULL != trainInfo)&&(0U!= wLinkId))
|
||||
{
|
||||
LinkPoint.wLinkId = wLinkId;
|
||||
LinkPoint.dwOffset = dwOffSet;
|
||||
/*占用link属于本联锁*/
|
||||
if (DIR_SAME == cDir)
|
||||
{
|
||||
strTmp = as_GetLinkFirstTrain(wLinkId);
|
||||
}
|
||||
else
|
||||
{
|
||||
strTmp = as_GetLinkLastTrain(wLinkId);
|
||||
}
|
||||
wTrainId = strTmp.u16TrainID;
|
||||
/* 存在占用,判断列车类型 */
|
||||
if (NAME_FAILUREAREA == strTmp.u16TrainID)
|
||||
{
|
||||
/* 故障区域 */
|
||||
trainInfo->wTrainId = SIZE_MAX_LINETRAIN;
|
||||
trainInfo->chTrainLevel = 0u;
|
||||
trainInfo->dwDis = dwLocalOffSet;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 正常车 */
|
||||
trainInfo->wTrainId = strTmp.u16TrainID;
|
||||
trainInfo->chTrainLevel = GetTrainLevel(trainInfo->wTrainId);
|
||||
|
||||
/*获取安全车尾点*/
|
||||
TrainTailPoint.wLinkId = GetTrainSafeTailLink(wTrainId);
|
||||
TrainTailPoint.dwOffset = GetTrainSafeTailOffset(wTrainId);
|
||||
/*获取安全车头点*/
|
||||
TrainHeadPoint.wLinkId = GetTrainSafeHeadLink(wTrainId);
|
||||
TrainHeadPoint.dwOffset = GetTrainSafeHeadOffset(wTrainId);
|
||||
|
||||
/*获取车尾到已计算link最远端距离*/
|
||||
dwDisTail = DsuAPointToBPoint(&TrainTailPoint, &LinkPoint, &cTrainTailDir);
|
||||
|
||||
/*获取车头到已计算link最远端距离*/
|
||||
dwDisHead = DsuAPointToBPoint(&TrainHeadPoint, &LinkPoint, &cTrainHeadDir);
|
||||
|
||||
if (dwDisTail < dwDisHead)
|
||||
{
|
||||
dwDis = dwDisTail;
|
||||
}
|
||||
else
|
||||
{
|
||||
dwDis = dwDisHead;
|
||||
}
|
||||
trainInfo->dwDis = dwLocalOffSet + dwDis;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -350,23 +350,6 @@ UINT8 GetCfpSignalLightUpFlag(const UINT16 wCfpId);
|
||||
*/
|
||||
void SetCfpSignalLightUpFlag(const UINT16 wCfpId, const UINT8 cLightUpFlag);
|
||||
|
||||
/*
|
||||
* 功能描述: 根据其他分界点信息更新本联锁发送分界点列车数据
|
||||
* 参数说明:UINT16 wLinkId 分界点link ,UINT32 dwOffSet偏移量, UINT32 dwLocalOffSet 本联锁已经查找距离
|
||||
* [输出参数]: CfpTrainInfoStru* trainInfo 列车数据
|
||||
* 返回值 :CI_ERROR有车 CI_SUCCESS无车
|
||||
* Created By fan 2025.05.26
|
||||
*/
|
||||
void OtherCfpTrainInfoCal(UINT16 wLinkId, UINT32 dwOffSet, UINT32 dwLocalOffSet, CfpTrainInfoStru* trainInfo);
|
||||
/*
|
||||
* 功能描述: 本联锁列车数据更新本联锁发送分界点列车数据
|
||||
* 参数说明:UINT16 wLinkId 分界点link ,UINT32 dwOffSet偏移量, UINT32 dwLocalOffSet 本联锁已经查找距离 UINT8 cDir 方向
|
||||
* [输出参数]: CfpTrainInfoStru* trainInfo 列车数据
|
||||
* 返回值 :无
|
||||
* Created By fan 2025.06.04
|
||||
*/
|
||||
void CfpTrainInfoCal(UINT16 wLinkId, UINT32 dwOffSet, UINT32 dwLocalOffSet, CfpTrainInfoStru* trainInfo, UINT8 cDir);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -43,7 +43,6 @@ UINT8 GetCiEmapCheckVer(const UINT8 ciId, UINT32 *emapVer,const UINT8 commDevTyp
|
||||
switch (commDevType)
|
||||
{/*根据通信设备类型获取CI与该通信设备的共用数据校验信息*/
|
||||
case CI_SYSTEM_TYPE_VOBC:
|
||||
case CI_SYSTEM_TYPE_IVOC:
|
||||
case CI_SYSTEM_TYPE_ITE:
|
||||
*emapVer = gEmapCiConfigStrus[ciId].dataVerCheckCIAndVOBC; /*ITE使用与VOBC相同的校验信息*/
|
||||
break;
|
||||
@@ -58,7 +57,7 @@ UINT8 GetCiEmapCheckVer(const UINT8 ciId, UINT32 *emapVer,const UINT8 commDevTyp
|
||||
*emapVer = gEmapCiConfigStrus[ciId].dataVerCheckCIAndTMC;
|
||||
break;
|
||||
default:
|
||||
/*CI_SYSTEM_TYPE_RCI等情况*/
|
||||
/*CI_SYSTEM_TYPE_CI等情况*/
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -105,41 +104,39 @@ SAME_LINE_ERR,
|
||||
*/
|
||||
UINT8 IsSameLineCI(const UINT8 ciA, const UINT8 ciB)
|
||||
{
|
||||
UINT32 etcsIdA = 0U;
|
||||
UINT32 etcsIdB = 0U;
|
||||
UINT16 u16CiA = 0U;
|
||||
UINT16 u16CiB = 0U;
|
||||
UINT32 etcsIdA, etcsIdB;
|
||||
UINT16 u16CiA, u16CiB;
|
||||
UINT8 retVal = SAME_LINE_ERR;
|
||||
UINT8 cbtcSysType = DQU_CBTC_FAO;
|
||||
UINT8 dquDevNameA = CI_ERROR;
|
||||
UINT8 dquDevNameB = CI_ERROR;
|
||||
UINT8 chCiAFactoryType = 0U;
|
||||
UINT8 chCiBFactoryType = 0U;
|
||||
|
||||
u16CiA = (UINT16)((CI_SYSTEM_TYPE_RCI * 256U) + ciA);
|
||||
u16CiB = (UINT16)((CI_SYSTEM_TYPE_RCI * 256U) + ciB);
|
||||
u16CiA = (UINT16)((CI_SYSTEM_TYPE_CI * 256u) + ciA);
|
||||
u16CiB = (UINT16)((CI_SYSTEM_TYPE_CI * 256u) + ciB);
|
||||
|
||||
dquDevNameA = dquDevName2HlhtId(u16CiA,0U,&etcsIdA);
|
||||
dquDevNameB = dquDevName2HlhtId(u16CiB,0U,&etcsIdB);
|
||||
cbtcSysType = GetCbtcSysType();
|
||||
|
||||
dquDevNameA = dquDevName2HlhtId(u16CiA,0u,&etcsIdA);
|
||||
|
||||
dquDevNameB = dquDevName2HlhtId(u16CiB,0u,&etcsIdB);
|
||||
|
||||
if(DQU_CBTC_CPK == cbtcSysType)
|
||||
{
|
||||
retVal = SAME_LINE_YES;
|
||||
}
|
||||
else if(DQU_CBTC_FAO == cbtcSysType)
|
||||
{
|
||||
retVal = SAME_LINE_YES;
|
||||
}
|
||||
else if(DQU_CBTC_HLT == cbtcSysType)
|
||||
{
|
||||
/*需要增加互联互通的判断*/
|
||||
if ((CI_SUCCESS == dquDevNameA) && (CI_SUCCESS == dquDevNameB))
|
||||
{
|
||||
/*根据互联互通ETCS编号的定义,从低到高第三个字节为线路编号*/
|
||||
if ((etcsIdA & ((UINT32)0x00ff0000)) == (etcsIdB & ((UINT32)0x00ff0000)))
|
||||
if ((etcsIdA&((UINT32)0x00ff0000)) == (etcsIdB & ((UINT32)0x00ff0000)))
|
||||
{
|
||||
retVal = SAME_LINE_YES;
|
||||
|
||||
/*同一条线路,一期二期使用不同厂家联锁,也判为不同线路,接口走互联互通*/
|
||||
chCiAFactoryType = GetCiFactoryType(ciA);
|
||||
chCiBFactoryType = GetCiFactoryType(ciB);
|
||||
if (chCiAFactoryType == chCiBFactoryType)
|
||||
{
|
||||
retVal = SAME_LINE_YES;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = SAME_LINE_NO;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -150,7 +147,15 @@ UINT8 IsSameLineCI(const UINT8 ciA, const UINT8 ciB)
|
||||
{
|
||||
retVal = SAME_LINE_ERR;
|
||||
}
|
||||
|
||||
}/* zt 删除单轨相关代码 2022-02-15 */
|
||||
else if (DQU_CBTC_CC == cbtcSysType)
|
||||
{
|
||||
retVal = SAME_LINE_YES;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = SAME_LINE_ERR;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
/*
|
||||
@@ -197,14 +202,10 @@ UINT32 GetCiTranCiDataCheckVer(const UINT8 ciId, const UINT16 deviceName)
|
||||
UINT32 retDataVer = CI_ERROR;
|
||||
UINT8 ii = 0U;
|
||||
UINT8 chBreakFlag = 0U;
|
||||
UINT8 chDevType = 0U;
|
||||
chDevType = (UINT8)((deviceName & 0xFF00u) >> 8U);
|
||||
if ((ciId > 0U) && (ciId < CI_SUM_MAX) &&
|
||||
((RC_WORK_MODE_CI == chDevType)||(RC_WORK_MODE_TIOC == chDevType)))
|
||||
|
||||
if ((ciId > 0U) && (ciId < CI_SUM_MAX) && (deviceName > 0U))
|
||||
{
|
||||
if (gEmapCiConfigStrus[ciId].devId == ciId)
|
||||
{
|
||||
if (RC_WORK_MODE_CI == chDevType)
|
||||
{
|
||||
for (ii = 0U; ii < gEmapCiConfigStrus[ciId].chAdjoinCICount; ii++)
|
||||
{
|
||||
@@ -226,29 +227,6 @@ UINT32 GetCiTranCiDataCheckVer(const UINT8 ciId, const UINT16 deviceName)
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (ii = 0U; ii < gEmapCiConfigStrus[ciId].chAdjoinRCCount; ii++)
|
||||
{
|
||||
if (ii < CI_TRAINSMIT_CI_MAX_NUM)
|
||||
{
|
||||
if ((deviceName == gEmapCiConfigStrus[ciId].wAdjoinRCId[ii]) && (gEmapCiConfigStrus[ciId].wAdjoinRCId[ii] > 0U) && (gEmapCiConfigStrus[ciId].wAdjoinRCId[ii] < 0xFFFFU))
|
||||
{
|
||||
retDataVer = gEmapCiConfigStrus[ciId].dwAdjoinRCShareCheckData[ii];
|
||||
chBreakFlag = 1U;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
chBreakFlag = 1U;
|
||||
}
|
||||
if (1U == chBreakFlag)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return retDataVer;
|
||||
}
|
||||
|
||||
@@ -36,15 +36,11 @@ typedef struct S_EmapCheckVerConfigStruct
|
||||
UINT8 chAdjoinCICount; /*相邻CI数量*/
|
||||
UINT16 wAdjoinCIId[CI_TRAINSMIT_CI_MAX_NUM]; /*相邻CI[1-6]的ID*/
|
||||
UINT32 dwAdjoinCIShareCheckData[CI_TRAINSMIT_CI_MAX_NUM]; /*与相邻CI[1-6]的共用数据校验信息*/
|
||||
UINT8 chAdjoinRCCount; /*相邻RC数量*/
|
||||
UINT16 wAdjoinRCId[CI_TRAINSMIT_CI_MAX_NUM]; /*相邻RC[1-6]的ID*/
|
||||
UINT32 dwAdjoinRCShareCheckData[CI_TRAINSMIT_CI_MAX_NUM]; /*与相邻RC[1-6]的共用数据校验信息*/
|
||||
UINT16 ciTransmitAxisId[CI_TRAINSMIT_AXIS_MAX_NUM];/*与联锁通信的计轴系统ID*/
|
||||
UINT32 ciTransmitAxisCheckData[CI_TRAINSMIT_AXIS_MAX_NUM];/*与联锁通信的计轴系统校验信息*/
|
||||
UINT8 chAdjoinOcCount; /*与CI通信的oc数量*/
|
||||
UINT16 wAdjoinOcId[CI_TRAINSMIT_OC_MAX_NUM]; /*Oc[1-10]的ID*/
|
||||
UINT32 dwAdjoinOcShareCheckData[CI_TRAINSMIT_OC_MAX_NUM]; /*与OC[1-10]的共用数据校验信息*/
|
||||
UINT32 dwLocalShareCheckData; /*与本控区RC/CI校验信息*/
|
||||
} EmapCiConfigStru;
|
||||
|
||||
extern EmapCiConfigStru gEmapCiConfigStrus[CI_SUM_MAX];/*存储各CI使用的电子地图版本*/
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,14 +15,6 @@
|
||||
#define _DEVICE_DATA_MANAGE_H_
|
||||
|
||||
#include "CommonTypes.h"
|
||||
|
||||
/*区间雨雪信息结构体*/
|
||||
typedef struct S_AreaSnowInfoStruct
|
||||
{
|
||||
UINT16 wAreaId; /*区间ID*/
|
||||
UINT8 cAreaSnowLevel; /*区间湿轨级别*/
|
||||
} AreaSnowInfoStruct;
|
||||
|
||||
#include "../System/CiSystemDefine.h"
|
||||
#include "../error/ErrorDataManage.h"
|
||||
#include "../Transmit/TransmitStateDataManage.h"
|
||||
@@ -74,11 +66,6 @@ typedef struct S_AreaSnowInfoStruct
|
||||
/* 其他联锁条件检查配置状态相关定义 */
|
||||
#define LOCAL_AREA_SNOW_SUM_MAX ((UINT8)20) /*本控区及相邻控区发送的区间雨雪站台数量*/
|
||||
#define ALL_AREA_SNOW_SUM_MAX ((UINT8)254) /*TMC发送的全线区间雨雪站台数量*/
|
||||
#define ALL_CBTC_CROSS_SUM_MAX ((UINT8)253) /*CBTC跨压最大数量*/
|
||||
#define ALL_TACS_CROSS_SUM_MAX ((UINT8)253) /*TACS跨压最大数量*/
|
||||
#define CROSS_SIGNAL_ID_MAX ((UINT16)1499) /*跨压信号机ID最大值*/
|
||||
#define CBTC_CROSS_ID_MAX ((UINT8)253) /*CBTC跨压最大列车ID*/
|
||||
#define TACS_CROSS_ID_MAX ((UINT8)253) /*TACS跨压最大列车ID*/
|
||||
|
||||
/* 1 信号机
|
||||
开放0x55
|
||||
@@ -169,7 +156,6 @@ typedef struct S_LineCommTrainStruct
|
||||
UINT16 szCommTrainNumID[TRAIN_SUM_MAX]; /*全线通信车ID数组*/
|
||||
}LineCommTrainStruct;
|
||||
|
||||
|
||||
/*******************************全局变量声明*******************************/
|
||||
extern UINT8 AllSignalBrightFlag; /*全站亮灯标志*/
|
||||
|
||||
@@ -195,10 +181,6 @@ extern UINT8 g_AllTsrFlag; /*
|
||||
|
||||
extern UINT8 g_AllSnowModel; /*全线雨雪模式命令*/
|
||||
|
||||
extern UINT8 g_AllSnowModelCC; /*全线雨雪模式命令CC:0x55-有效;0xAA-无效*/
|
||||
|
||||
extern UINT8 g_AllSnowLevel; /*全线湿轨级别:0-默认值;1-一级;2-二级*/
|
||||
|
||||
extern UINT8 g_IteLineCutState; /*ITE全线切除状态:0x55:切除ITE;0xAA:使用ITE;0xFF:默认值*/
|
||||
|
||||
extern UINT8 g_AllLineTsrState; /*全线临时限速状态*/
|
||||
@@ -226,6 +208,8 @@ extern UINT8 comm_Train_Test_YSKJ_SCX_State; /*
|
||||
extern UINT8 comm_Train_Test_SQJ_CLD_State; /*试车线与车辆段采用通信接口时车辆段SQJ状态*/
|
||||
extern UINT8 comm_Train_Test_TYSJ_CLD_State; /*试车线与车辆段采用通信接口时车辆段TYSJ状态*/
|
||||
|
||||
extern UINT8 ZCToCIAutoRtnIndict_Flash_Sta; /*ZC给CI的无人折返灯闪灯状态*/
|
||||
extern UINT8 ZCToCIAutoRtnIndict_Steady_Sta; /*ZC给CI的无人折返灯稳灯状态*/
|
||||
extern UINT8 AutoTriggerFlag; /*自动触发标志初始化为未设置*/
|
||||
|
||||
extern UINT8 CiCiRelayInterfaceConfirmFlag;/*继电接口确认标志*/
|
||||
@@ -235,21 +219,13 @@ extern UINT8 SwitchBlockLinkState; /*
|
||||
extern CtrlPowerStruct ctrlpowerFlag[VIRTUAL_CI_MAX];
|
||||
|
||||
extern UINT8 LocalAreaSnowNum; /*本地区间雨雪站台数量*/
|
||||
extern AreaSnowInfoStruct szLocalAreaSnow[LOCAL_AREA_SNOW_SUM_MAX]; /*本地区间雨雪数组*/
|
||||
|
||||
extern UINT8 gLocalAreaSnowNumCC; /*本地区间雨雪站台数量CC*/
|
||||
extern AreaSnowInfoStruct gszLocalAreaSnowCC[LOCAL_AREA_SNOW_SUM_MAX]; /*本地区间雨雪数组CC*/
|
||||
extern UINT32 szLocalAreaSnowId[LOCAL_AREA_SNOW_SUM_MAX]; /*本地区间雨雪站台ID数组*/
|
||||
|
||||
extern LineCommTrainStruct gStrLineCommTrain; /*全线通信车结构体*/
|
||||
|
||||
extern UINT32 gFlyProtectOverCyc; /*飞车宕机报警起始周期*/
|
||||
extern UINT8 g_LocalSnowModel; /*本地雨雪模式命令*/
|
||||
|
||||
extern UINT8 g_LocalSnowModelCC; /*本地雨雪模式命令CC*/
|
||||
|
||||
extern UINT8 gLocalAreaIteCutNum; /*本地区间ITE切除数量*/
|
||||
extern UINT16 gSzLocalAreaIteCutId[ALL_AREA_SNOW_SUM_MAX]; /*本地区间ITE切除ID数组*/
|
||||
|
||||
/******************************联锁标志数据管理****************************/
|
||||
|
||||
/*
|
||||
@@ -298,6 +274,13 @@ void SetStartLockFlag(UINT8 setFlag);
|
||||
LINSHIXIANSU_COMM_BAD_YES_LABOURCANCLE_STATE
|
||||
*/
|
||||
UINT8 GetLabourCancelLinShiXianState(void);
|
||||
|
||||
/*
|
||||
功能描述:人工取消临时限速状态迁移处理
|
||||
参数说明:setFlag 状态
|
||||
返回值:无
|
||||
*/
|
||||
void LabourCancelLSXianStaMoveProc(UINT8 setFlag);
|
||||
/*
|
||||
功能描述:人工取消临时限速状态迁移处理
|
||||
参数说明:setFlag 状态,UINT8 virCIid 虚拟联锁ID
|
||||
@@ -1384,24 +1367,6 @@ extern UINT8 GetAllSnowModel(void);
|
||||
*/
|
||||
extern void SetAllSnowModel(UINT8 setmodle);
|
||||
|
||||
/*
|
||||
* 功能描述:获取全线湿轨等级
|
||||
* 参数说明:无
|
||||
* 返 回 值:0 默认值
|
||||
* 1 湿轨一级
|
||||
* 2 湿轨二级
|
||||
* Created By LQ 2025.05.28
|
||||
*/
|
||||
UINT8 GetAllSnowLevel(void);
|
||||
|
||||
/*
|
||||
* 功能描述:设置全线湿轨等级
|
||||
* 参数说明:UINT8 cLevel 湿轨级别
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.05.28
|
||||
*/
|
||||
void SetAllSnowLevel(UINT8 cLevel);
|
||||
|
||||
/*
|
||||
* 功能描述:获取ITE全线切除状态
|
||||
* 参数说明:void
|
||||
@@ -1745,10 +1710,10 @@ UINT8 GetDiaoCheRouteOpenState(const UINT16 wRouteId);
|
||||
/*
|
||||
* 功能描述:设置本地区间雨雪站台信息
|
||||
* 参数说明:const UINT8 cAreaSnowNum 区间雨雪数量
|
||||
* const AreaSnowInfoStruct pAreaSnowBuf[LOCAL_AREA_SNOW_SUM_MAX] 区间雨雪数组
|
||||
* const UINT32 pAreaSnowIdBuf[] 区间雨雪ID数组
|
||||
* 返回值 :无
|
||||
*/
|
||||
void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const AreaSnowInfoStruct pAreaSnowBuf[LOCAL_AREA_SNOW_SUM_MAX]);
|
||||
void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const UINT32 pAreaSnowIdBuf[]);
|
||||
|
||||
/*
|
||||
* 功能描述:获取本地区间雨雪站台数量
|
||||
@@ -1758,11 +1723,11 @@ void SetLocalAreaSnowInfo(const UINT8 cAreaSnowNum, const AreaSnowInfoStruct pAr
|
||||
UINT8 GetLocalAreaSnowNum(void);
|
||||
|
||||
/*
|
||||
* 功能描述:获取本地区间雨雪信息
|
||||
* 功能描述:获取本地区间雨雪站台ID
|
||||
* 参数说明:无
|
||||
* 返回值 :区间雨雪信息
|
||||
* 返回值 :区间雨雪站台ID
|
||||
*/
|
||||
AreaSnowInfoStruct* GetLocalAreaSnow(void);
|
||||
UINT32* GetLocalAreaSnowId(void);
|
||||
|
||||
|
||||
/*
|
||||
@@ -1859,155 +1824,4 @@ UINT8 GetSwitchUsingValidState(const UINT16 wSwitchId, const UINT8 chFunctionId,
|
||||
*/
|
||||
void DefaultCtrlPowerDeal(const UINT8 virtualCiId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取本地区间ITE切除数量
|
||||
* 参数说明:无
|
||||
* 返 回 值:本地区间ITE切除数量
|
||||
* Created By LQ 2025.04.15
|
||||
*/
|
||||
UINT8 GetLocalAreaIteCutNum(void);
|
||||
|
||||
/*
|
||||
* 功能描述:获取本地区间ITE切除ID数组
|
||||
* 参数说明:无
|
||||
* 返 回 值:本地区间ITE切除ID数组
|
||||
* Created By LQ 2025.04.15
|
||||
*/
|
||||
UINT16* GetLocalAreaIteCutId(void);
|
||||
|
||||
/*
|
||||
* 功能描述:清除本地区间ITE切除信息
|
||||
* 参数说明:无
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.04.15
|
||||
*/
|
||||
void ClearLocalAreaIteCutInfo(void);
|
||||
|
||||
/*
|
||||
* 功能描述:设置本地区间ITE切除信息
|
||||
* 参数说明:const UINT8 cAreaIteCutNum 区间ITE切除数量
|
||||
* const UINT16 pAreaIteCutIdBuf[ALL_AREA_SNOW_SUM_MAX] 区间ID数组
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.04.15
|
||||
*/
|
||||
void SetLocalAreaIteCutInfo(const UINT8 cAreaIteCutNum, const UINT16 pAreaIteCutIdBuf[ALL_AREA_SNOW_SUM_MAX]);
|
||||
|
||||
/*
|
||||
* 功能描述:获取进路内第一个锁闭的逻辑区段ID
|
||||
* 参数说明:UINT16 wRouteId 进路ID
|
||||
* 返 回 值:0 无锁闭的逻辑区段
|
||||
* >0 第一个锁闭的逻辑区段ID
|
||||
* Created By LQ 2025.05.08
|
||||
*/
|
||||
UINT16 GetRouteFirstLockedLogSecId(UINT16 wRouteId);
|
||||
/*
|
||||
* 功能描述:紧急临时限速处理
|
||||
* 参数说明:const UINT16 wPhySectionId 逻辑区段ID
|
||||
* const UINT8 chExiansuState 限速状态
|
||||
* 返 回 值:无
|
||||
* by 202500916
|
||||
*/
|
||||
|
||||
void EmergXianSuProcess(const UINT16 wPhySectionId, const UINT8 chExiansuState);
|
||||
|
||||
/*
|
||||
* 功能描述:获取全线雨雪模式命令CC
|
||||
* 参数说明:void
|
||||
* 返 回 值:0x55 有效
|
||||
* 0xAA 无效
|
||||
* Created By LQ 2025.11.07
|
||||
*/
|
||||
UINT8 GetAllSnowModelCC(void);
|
||||
|
||||
/*
|
||||
* 功能描述:设置全线雨雪模式命令CC
|
||||
* 参数说明:UINT8 setmodle 全线雨雪模式
|
||||
* 返 回 值:void
|
||||
* Created By LQ 2025.11.07
|
||||
*/
|
||||
void SetAllSnowModelCC(UINT8 setmodle);
|
||||
|
||||
/*
|
||||
* 功能描述:获取本地区间雨雪站台数量CC
|
||||
* 参数说明:无
|
||||
* 返 回 值:区间雨雪站台数量
|
||||
* Created By LQ 2025.11.06
|
||||
*/
|
||||
UINT8 GetLocalAreaSnowNumCC(void);
|
||||
|
||||
/*
|
||||
* 功能描述:获取本地区间雨雪信息CC
|
||||
* 参数说明:无
|
||||
* 返 回 值:区间雨雪信息
|
||||
* Created By LQ 2025.11.06
|
||||
*/
|
||||
AreaSnowInfoStruct* GetLocalAreaSnowCC(void);
|
||||
|
||||
/*
|
||||
* 功能描述:设置本地区间雨雪站台信息CC
|
||||
* 参数说明:const UINT8 cAreaSnowNum 区间雨雪数量
|
||||
* const AreaSnowInfoStruct pAreaSnowBuf[LOCAL_AREA_SNOW_SUM_MAX] 区间雨雪数组
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.11.06
|
||||
*/
|
||||
void SetLocalAreaSnowInfoCC(const UINT8 cAreaSnowNum, const AreaSnowInfoStruct pAreaSnowBuf[LOCAL_AREA_SNOW_SUM_MAX]);
|
||||
|
||||
/*
|
||||
* 功能描述:获取本地雨雪模式命令CC
|
||||
* 参数说明:无
|
||||
* 返 回 值:0x55 无效
|
||||
* 0xAA 有效
|
||||
* Created By LQ 2025.11.06
|
||||
*/
|
||||
UINT8 GetLocalSnowModelCC(void);
|
||||
|
||||
/*
|
||||
* 功能描述:设置本地雨雪模式命令CC
|
||||
* 参数说明:UINT8 setmodle 本地雨雪模式
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.11.06
|
||||
*/
|
||||
void SetLocalSnowModelCC(UINT8 setmodle);
|
||||
/*
|
||||
* 功能描述: 获取虚拟联锁类型
|
||||
* 参数说明: UINT8 chVirCiId 虚拟联锁ID
|
||||
* 返回值 :
|
||||
CI_TYPE_ZX ((UINT8)0x01) 正线联锁
|
||||
CI_TYPE_CLD ((UINT8)0x04) 车辆段联锁
|
||||
CI_TYPE_SCX ((UINT8)0x02) 试车线
|
||||
add by mpt 20260104
|
||||
*/
|
||||
UINT8 GetLocalVirCiType(UINT8 chVirCiId);
|
||||
/*
|
||||
* 功能描述:判断本联锁临时限速状态
|
||||
* 参数说明:无
|
||||
* 返 回 值:临时限速有效返回失败,清除或与ZC通信正常返回成功
|
||||
* Created :LYJ
|
||||
*/
|
||||
|
||||
UINT8 CheckLocalCiLSXSStata(void);
|
||||
/*
|
||||
功能描述:
|
||||
清除逻辑区段关联道岔单操位置
|
||||
输入参数:
|
||||
const UINT16 逻辑区段ID
|
||||
输出参数:
|
||||
无.
|
||||
返回值:
|
||||
无
|
||||
add by mpt 20260403
|
||||
*/
|
||||
void ClearLogSeceSwitchDanCaoPos(const UINT16 logicSecId);
|
||||
/*
|
||||
功能描述:
|
||||
清除计轴区段关联道岔单操位置
|
||||
输入参数:
|
||||
const UINT16 计轴区段ID
|
||||
输出参数:
|
||||
无.
|
||||
返回值:
|
||||
无
|
||||
add by mpt 20260403
|
||||
*/
|
||||
void ClearAxisSeceSwitchDanCaoPos(const UINT16 axisSecId);
|
||||
#endif
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
extern PlatHeartDataStruct RecvHeartDataStru ; /*平台心跳帧数据结构*/
|
||||
extern PlatGPIODataStruct RecvPlatDataStruGPIO;/*平台0x2D帧数据结构 GPIO采集状态*/
|
||||
extern PlatGPIOToleranceDataStruct gPlatDataGPIOTolercance;/*平台硬件采集故障容忍记录数据*/
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -427,36 +427,18 @@ UINT8 CheckRCIAPowerFaultState(void)
|
||||
{
|
||||
UINT8 retVal = CI_ERROR;
|
||||
UINT8 cxABreakFlag = 0U; /*A系电源插箱空开断开检查*/
|
||||
UINT8 chCheckState = 0U;
|
||||
UINT32 dwErrorStartCyc = 0U;
|
||||
UINT32 dwCurCyc = 0U;
|
||||
|
||||
cxABreakFlag = GetPowerANodeStatue();
|
||||
dwErrorStartCyc = gPlatDataGPIOTolercance.powerANode_TolCyc;
|
||||
dwCurCyc = Get2oo2CurCycleNum();
|
||||
|
||||
/* 1、A系电源插箱空开断开 */
|
||||
if (NODE_STATUS_BREAK == cxABreakFlag)
|
||||
{
|
||||
/*A系电源故障状态*/
|
||||
chCheckState = SystemOverTimeCheck(dwErrorStartCyc, IO_POWERSTATE_TOLERANCE);
|
||||
if (CI_TIME_NO == chCheckState)
|
||||
{
|
||||
gPlatDataGPIOTolercance.powerANode_TolCyc = dwCurCyc;
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_TIME_IN == chCheckState)
|
||||
{
|
||||
retVal = CI_SUCCESS;/*继续容忍*/
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
debug_infor_printf((const)"\nPLATIO_A_Node_Power_FaultState StartTime%d\n", dwErrorStartCyc);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_SUCCESS;
|
||||
gPlatDataGPIOTolercance.powerANode_TolCyc = 0U;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
@@ -471,36 +453,18 @@ UINT8 CheckRCIBPowerFaultState(void)
|
||||
{
|
||||
UINT8 retVal = CI_ERROR;
|
||||
UINT8 cxBBreakFlag = 0U; /*B系电源插箱空开断开检查*/
|
||||
UINT8 chCheckState = 0U;
|
||||
UINT32 dwErrorStartCyc = 0U;
|
||||
UINT32 dwCurCyc = 0U;
|
||||
|
||||
cxBBreakFlag = GetPowerBNodeStatue();
|
||||
dwErrorStartCyc = gPlatDataGPIOTolercance.powerBNode_TolCyc;
|
||||
dwCurCyc = Get2oo2CurCycleNum();
|
||||
/* 1、B系电源插箱空开断开*/
|
||||
|
||||
/* 1、B系电源插箱空开断开 */
|
||||
if (NODE_STATUS_BREAK == cxBBreakFlag)
|
||||
{
|
||||
/*B系电源故障状态*/
|
||||
chCheckState = SystemOverTimeCheck(dwErrorStartCyc, IO_POWERSTATE_TOLERANCE);
|
||||
if (CI_TIME_NO == chCheckState)
|
||||
{
|
||||
gPlatDataGPIOTolercance.powerBNode_TolCyc = dwCurCyc;
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_TIME_IN == chCheckState)
|
||||
{
|
||||
retVal = CI_SUCCESS;/*继续容忍*/
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
debug_infor_printf((const)"\nPLATIO_B_Node_Power_FaultState StartTime%d\n", dwErrorStartCyc);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_SUCCESS;
|
||||
gPlatDataGPIOTolercance.powerBNode_TolCyc = 0U;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
@@ -515,48 +479,28 @@ UINT8 CheckRCIBPowerFaultState(void)
|
||||
UINT8 CheckRCIAPowerModeFaultState(void)
|
||||
{
|
||||
UINT8 retVal = CI_ERROR;
|
||||
|
||||
UINT8 powerAPUBAState = 0U; /*PUB A采集的24VA电源状态 1*/
|
||||
UINT8 powerBPUBAState = 0U; /*PUB A采集的24VB电源状态 3*/
|
||||
UINT8 vol1Flag = 0U; /*CPI A采集24VA电源 1*/
|
||||
UINT8 vol3Flag = 0U; /*CPI A采集24VB电源 3*/
|
||||
UINT8 chCheckState = 0U;
|
||||
UINT32 dwErrorStartCyc = 0U;
|
||||
UINT32 dwCurCyc = 0U;
|
||||
|
||||
powerAPUBAState = GetGPIOCollectPointStatus(COLLECT_MODEA_CCUA);
|
||||
powerBPUBAState = GetGPIOCollectPointStatus(COLLECT_MODEB_CCUA);
|
||||
vol1Flag = CheckPointVoltageState(COLLECT_MODEA_CCUA);
|
||||
vol3Flag = CheckPointVoltageState(COLLECT_MODEB_CCUA);
|
||||
dwErrorStartCyc = gPlatDataGPIOTolercance.powerAMode_TolCyc;
|
||||
dwCurCyc = Get2oo2CurCycleNum();
|
||||
|
||||
/* 1、PUB A采集的24VA电源异常、或24VB电源异常
|
||||
2、CPI A采集24VA电源、或24VB电源电压为0V */
|
||||
|
||||
if (((CHECK_VOLTAGE_ZERO == vol1Flag) || (CHECK_VOLTAGE_ZERO == vol3Flag))
|
||||
&& ((POWER_STATUS_ABNORMAL == powerAPUBAState) || (POWER_STATUS_ABNORMAL == powerBPUBAState)))
|
||||
{
|
||||
/*检查容忍*/
|
||||
chCheckState = SystemOverTimeCheck(dwErrorStartCyc, IO_POWERSTATE_TOLERANCE);
|
||||
if (CI_TIME_NO == chCheckState)
|
||||
{
|
||||
gPlatDataGPIOTolercance.powerAMode_TolCyc = dwCurCyc;
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_TIME_IN == chCheckState)
|
||||
{
|
||||
retVal = CI_SUCCESS;/*继续容忍*/
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
debug_infor_printf((const)"\nPLATIO_A_Mode_Power_FaultState StartTime%d\n", dwErrorStartCyc);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_SUCCESS;
|
||||
gPlatDataGPIOTolercance.powerAMode_TolCyc = 0U;
|
||||
}
|
||||
|
||||
return retVal;
|
||||
@@ -576,43 +520,25 @@ UINT8 CheckRCIBPowerModeFaultState(void)
|
||||
UINT8 powerBPUBBState = 0U; /*PUB A采集的24VB电源状态 4*/
|
||||
UINT8 vol2Flag = 0U; /*CPI B采集24VA电源 2*/
|
||||
UINT8 vol4Flag = 0U; /*CPI B采集24VB电源 4*/
|
||||
UINT8 chCheckState = 0U;
|
||||
UINT32 dwErrorStartCyc = 0U;
|
||||
UINT32 dwCurCyc = 0U;
|
||||
|
||||
powerAPUBBState = GetGPIOCollectPointStatus(COLLECT_MODEA_CCUB);
|
||||
powerBPUBBState = GetGPIOCollectPointStatus(COLLECT_MODEB_CCUB);
|
||||
vol2Flag = CheckPointVoltageState(COLLECT_MODEA_CCUB);
|
||||
vol4Flag = CheckPointVoltageState(COLLECT_MODEB_CCUB);
|
||||
dwErrorStartCyc = gPlatDataGPIOTolercance.powerBMode_TolCyc;
|
||||
dwCurCyc = Get2oo2CurCycleNum();
|
||||
|
||||
/* 1、PUB B采集的24VA电源异常、或24VB电源异常
|
||||
2、CPI B采集24VA电源、或24VB电源电压为0V */
|
||||
|
||||
|
||||
/*暂未实现PUB采集,只判断电源电压*/
|
||||
if (((CHECK_VOLTAGE_ZERO == vol2Flag) || (CHECK_VOLTAGE_ZERO == vol4Flag))
|
||||
&& ((POWER_STATUS_ABNORMAL == powerAPUBBState) || (POWER_STATUS_ABNORMAL == powerBPUBBState)))
|
||||
{
|
||||
/*检查容忍*/
|
||||
chCheckState = SystemOverTimeCheck(dwErrorStartCyc, IO_POWERSTATE_TOLERANCE);
|
||||
if (CI_TIME_NO == chCheckState)
|
||||
{
|
||||
gPlatDataGPIOTolercance.powerBMode_TolCyc = dwCurCyc;
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_TIME_IN == chCheckState)
|
||||
{
|
||||
retVal = CI_SUCCESS;/*继续容忍*/
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
debug_infor_printf((const)"\nPLATIO_B_Mode_Power_FaultState StartTime%d\n", dwErrorStartCyc);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_SUCCESS;
|
||||
gPlatDataGPIOTolercance.powerBMode_TolCyc = 0U;
|
||||
}
|
||||
|
||||
return retVal;
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include "CommonTypes.h"
|
||||
#include "../System/CiSystemDefine.h"
|
||||
#include "../System/SystemParameterManage.h"
|
||||
|
||||
|
||||
|
||||
#define BOARD_TYPE_CCUA ((UINT8)0x09) /*通控板A*/
|
||||
@@ -59,7 +59,6 @@
|
||||
#define CCU_CommBadEnsureTime_CycleCount ((UINT16)5u) /*应用与通控通信中断判断周期数*/
|
||||
|
||||
#define VOLTAGE_MAX_TO_0 ((UINT16)500U) /*电压判断为0的阈值*/
|
||||
#define IO_POWERSTATE_TOLERANCE ((UINT8)0x02) /*平台电源报警容忍周期数,容忍3周期,超过2周期报警*/
|
||||
|
||||
/*平台心跳帧信息结构*/
|
||||
typedef struct S_PlatHeartDataStruct
|
||||
@@ -101,14 +100,7 @@ typedef struct S_PlatGPIODataStruct
|
||||
UINT8 ModepowerBState_PUB; /*机柜B系电源插箱中为CPUB供电的24VDC电源模块状态*/
|
||||
}PlatGPIODataStruct;
|
||||
|
||||
/*平台发送的电源采集状态容忍同步数据*/
|
||||
typedef struct S_PlatGPIOToleranceData
|
||||
{
|
||||
UINT32 powerANode_TolCyc; /*A系电源插箱的故障容忍起始周期*/
|
||||
UINT32 powerBNode_TolCyc; /*B系电源插箱的故障容忍起始周期*/
|
||||
UINT32 powerAMode_TolCyc; /*A系电源模块的故障容忍起始周期*/
|
||||
UINT32 powerBMode_TolCyc; /*B系电源模块的故障容忍起始周期*/
|
||||
}PlatGPIOToleranceDataStruct;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -109,12 +109,6 @@
|
||||
#define EFUNC_ROUTE_FIRST_LOG_UNLOCK ((UINT8)0x50) /*函数:RouteFirstLogSecAutoUnlockProcess进路第一逻辑区段自动解锁检查*/
|
||||
#define EFUNC_SWITCHTESTLOGIC ((UINT8)0x80U) /*函数:SetSwitchTestLogicManage道岔定反位测试*/
|
||||
#define EFUNC_OVERLAP_VALIDMASK_CHECK ((UINT8)0x4A) /*函数:OverlapValidMaskCheck 计算保护区段有效码位检查*/
|
||||
#define EFUNC_ROUTE_LOCK_DRIVE_SWITCH ((UINT8)0xD2) /*RouteLockDriveSwitch 锁闭道岔*/
|
||||
#define EFUNC_ROUTE_COUPLINK_SET ((UINT8)0xD7) /*SetCouplinkRouteLogicManage 办理联挂进路逻辑管理*/
|
||||
#define EFUNC_FOLLOWUP_SWITCH_DANSUO_CANCLE ((UINT8)0xD8) /*FollowUpSwitchUnFlockCheck 一二次道岔单解命令*/
|
||||
#define EFUNC_FOLLOWUP_SWITCH_UNFLOCK ((UINT8)0xD9) /*FollowUpSwitchUnFlockCheck 一二次道岔解封命令*/
|
||||
#define EFUNC_FOLLOWUP_SEC_UNFLOCK ((UINT8)0xDA) /*FollowUpSecUnFlockCheck 一二次区段解封命令*/
|
||||
#define EFUNC_FOLLOWUP_SIGNAL_UNFLOCK ((UINT8)0xDB) /*FollowUpSwitchUnFlockCheck 一二次信号解封命令*/
|
||||
|
||||
/*车辆段联锁逻辑检查*/
|
||||
#define EFUNC_SET_LEAD_ROUTE_CHECK ((UINT8)0x4B) /*办理引导进路检查*/
|
||||
@@ -141,6 +135,7 @@
|
||||
#define EFUNC_CLD_CANCEL_D_TRAIN_ROUTE ((UINT8)0x66) /*取消进路调车*/
|
||||
#define EFUNC_CLD_CLOSE_GARAGEDOOR ((UINT8)0x67) /*关闭车库门*/
|
||||
#define EFUNC_CLD_CHECK_GARAGEDOOR_CLOSE ((UINT8)0xc9) /*车库门关闭条件检查(RC模式下)*/
|
||||
#define EFUNC_CHECK_DIAOCHE_ROUTE_ZRJ ((UINT8)0x68) /* CheckDiaoCheRouteZRJFeasibility 检查调车进路总人解的可行性*/
|
||||
#define EFUNC_CHECK_OPEN_L_ERR_CLD ((UINT8)0x69) /*OpenLTrainRouteErrP*/
|
||||
#define EFUNC_CHECK_OPEN_D_ERR_CLD ((UINT8)0x6a)
|
||||
#define EFUNC_KEEP_L_ERR_CLD ((UINT8)0x6b)
|
||||
@@ -183,8 +178,6 @@
|
||||
#define EFUNC_LOGSEC_LAST_SECLOCK ((UINT8)0x92) /* CheckLogRouteLogSecLastSecLock */
|
||||
|
||||
#define EFUNC_ROUTE_ZHONGTUZHEFAN_UNLOCK ((UINT8)0x94) /* CheckRouteZhefanJiesuo */
|
||||
#define EFUNC_PART_ROUTE_CMD_PROC ((UINT8)0x95) /*RoutePartApplyLogicManage(正线/试车线部分进路命令处理)*/
|
||||
#define EFUNC_PART_ROUTE_CMD_PROC_CLD ((UINT8)0x96) /*RoutePartApplyLogicManageCLD(场段部分进路命令处理)*/
|
||||
|
||||
/*逻辑进路相关报警函数*/
|
||||
#define EFUNC_LogRouteOpenManage ((UINT8)0xC1) /*EFUNC_LogRouteOpenManage逻辑进路信号开放处理*/
|
||||
@@ -217,14 +210,6 @@
|
||||
|
||||
#define EFUNC_FIRSTLEAVE_LOGSEC_CHECK ((UINT8)0xD1) /*离去逻辑区段检查RouteLeaveLogSecCheck*/
|
||||
|
||||
#define EFUNC_OVERLAP_ZHAOCHA_CHECK ((UINT8)0xD3) /*保护区段照查条件检查*/
|
||||
|
||||
#define EFUNC_PARSE_LOCAL_CI2RC_DATA ((UINT8)0xD4U) /*函数:ParseCiToLocalRcDataFrame*/
|
||||
#define EFUNC_PARSE_LOCAL_RC2CI_DATA ((UINT8)0xD5U) /*函数:ParseRcToLocalCiDataFrame*/
|
||||
#define EFUNC_PARSE_LOCAL_CI2CI_DATA ((UINT8)0xD6U) /*函数:ParseCiToCiDataFrame*/
|
||||
#define EFUNC_PARSE_LOCAL_OC2CI_DATA ((UINT8)0xD7U) /*函数:ParseOcToCiDataFrame*/
|
||||
#define EFUNC_CONNECT_ROUTE_RELEASE ((UINT8)0xD8U) /*函数:ConnectRouteReleaseManage*/
|
||||
#define EFUNC_PARSE_GATEWAY2CI_DATA ((UINT8)0xD9U) /*函数:ParseGateWayToCiDataProc*/
|
||||
|
||||
/*************************************************分界线******************************************************************************/
|
||||
/*************************************************分界线******************************************************************************/
|
||||
@@ -245,9 +230,6 @@
|
||||
#define ETYPE_ROUTE_APPLY_SWITCH_CHECK ((UINT8)0x0b) /*进路办理道岔状态检查*/
|
||||
#define ETYPE_ROUTE_XUANPAI_OVERTIME ((UINT8)0x10) /*进路选排超时*/
|
||||
#define ETYPE_GROUP_AUTO_ROUTE_STATE ((UINT8)0x16) /*组合自动进路*/
|
||||
#define ETYPE_ROUTE_APPLY_SWITCH_MOVE ((UINT8)0xA4) /*进路道岔单操中*/
|
||||
#define ETYPE_COUPLINK_ROUTE_IDLE ((UINT8)0xA5) /*联挂进路内无被联挂车*/
|
||||
#define ETYPE_CONNECT_ROUTE_RELEASE ((UINT8)0xA6) /*联络线接车进路解锁条件不满足*/
|
||||
|
||||
|
||||
#define ETYPE_COMM_WITH_VOBC ((UINT8)0x11) /*与VOBC通信*/
|
||||
@@ -258,9 +240,6 @@
|
||||
#define ETYPE_COMM_WITH_PSC ((UINT8)0x15) /*CI与PSC通信*/
|
||||
|
||||
#define ETYPE_COMM_WITH_TMC ((UINT8)0x17) /*与TMC通信*/
|
||||
#define ETYPE_COMM_WITH_RC ((UINT8)0x18U) /*与RC通信*/
|
||||
#define ETYPE_COMM_WITH_OC ((UINT8)0x19U) /*与OC通信*/
|
||||
#define ETYPE_COMM_WITH_GATEWAY ((UINT8)0x1AU) /*与网关通信*/
|
||||
|
||||
/* 信号机故障类型编码 (UINT8)0x21-(UINT8)0x3f */
|
||||
/* 设备类型 CI_DEVICE_TYPE_SIGNAL */
|
||||
@@ -314,7 +293,6 @@
|
||||
/*保护区段类型*/
|
||||
#define ETYPE_OVERLAP_LABORUNLOCK_FAIL ((UINT8)0x51U) /*保护区段人工锁闭条件不满足*/
|
||||
#define ETYPE_OVERLAP_RES_CHECK_FAIL ((UINT8)0x52U) /*保护区段资源检查条件不满足*/
|
||||
#define ETYPE_OVERLAP_LABORUNLOCK_STATE ((UINT8)0x53U) /*保护区段人工解锁状态不满足*/
|
||||
|
||||
/* 道岔类型编码 (UINT8)0x61-(UINT8)0x7f */
|
||||
/* 设备类型 CI_DEVICE_TYPE_SWITCH */
|
||||
@@ -335,7 +313,6 @@
|
||||
#define ETYPE_CANCLE_ZHAOCHA ((UINT8)0x82) /*取消照查继电器*/
|
||||
#define ETYPE_ZHAOCHA_ROUTE_OVERTIME ((UINT8)0x83) /*进路照查超时*/
|
||||
#define ETYPE_JKJ_WORK ((UINT8)0x84) /*应急盘有效*/
|
||||
#define ETYPE_ZHAOCHA_OVERLAP_OVERTIME ((UINT8)0x86) /*保护区段照查超时*/
|
||||
|
||||
/* 其他联锁条件检查相关故障类型编码 (UINT8)0x91-(UINT8)0x9f */
|
||||
/* 设备类型
|
||||
@@ -402,16 +379,6 @@
|
||||
#define ETYPE_LOGSEC_XIANSU_STATE ((UINT8)0xC5) /*逻辑区段限速设置*/
|
||||
#define ETYPE_LOGSEC_FIRSTLOCK_STATE ((UINT8)0xC6) /*逻辑区段为第一个锁闭区段检查*/
|
||||
#define ETYPE_LOGSEC_CBTC_PROPERTY ((UINT8)0xC7) /*逻辑区段CBTC属性检查*/
|
||||
#define ETYPE_LOGSEC_CONTINUOUS ((UINT8)0xC8) /*逻辑区段连续性检查*/
|
||||
|
||||
/*动态路径故障类型*/
|
||||
#define ETYPE_PART_ROUTE_RES ((UINT8)0xD0) /*动态路径资源检查*/
|
||||
#define ETYPE_PART_ROUTE_MATCH_ROUTE ((UINT8)0xD1) /*动态路径匹配进路检查*/
|
||||
#define ETYPE_PART_ROUTE_SCREEN ((UINT8)0xD2) /*动态路径列车筛选检查*/
|
||||
#define ETYPE_PART_ROUTE_REPEAT ((UINT8)0xD3) /*动态路径重复办理检查*/
|
||||
#define ETYPE_PART_ROUTE_SEC_ATTR ((UINT8)0xD4) /*动态路径区段属性检查*/
|
||||
#define ETYPE_PART_ROUTE_TRAIN_COMM ((UINT8)0xD5) /*动态路径列车通信状态检查*/
|
||||
#define ETYPE_PART_ROUTE_TRAIN_POS ((UINT8)0xD6) /*动态路径列车位置检查*/
|
||||
|
||||
/* 系统故障 */
|
||||
/* 设备类型 EFUNC_LOGIC_MANAGE_SYETEM */
|
||||
|
||||
@@ -663,54 +663,3 @@ UINT8 CheckEsbBelSendRange(const UINT16 wCheckEsbId)
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定ID紧急停车按钮关联的同站紧急按钮数量
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* 返 回 值:同站紧急按钮数量
|
||||
* Created By LQ 2025.12.30
|
||||
*/
|
||||
UINT8 GetEsbRelOnePlatEsbNum(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT8 reVal = 0U;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = EsbConfigDataStru[bufIndex].RelOnePlatEsbNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*返回0*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定ID紧急停车按钮关联的同站紧急按钮ID数组
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* 返 回 值:NULL 获取数据失败
|
||||
* 其它 同站紧急按钮ID数组
|
||||
* Created By LQ 2025.12.30
|
||||
*/
|
||||
UINT16* GetEsbRelOnePlatEsbId(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT16* reVal = NULL;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = EsbConfigDataStru[bufIndex].RelOnePlatEsbId;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*返回NULL*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
@@ -19,7 +19,6 @@
|
||||
#include "CommonTypes.h"
|
||||
#include "../System/CiSystemDefine.h"
|
||||
#include "../System/SystemParameterManage.h"
|
||||
#include "dquStructInit.h"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -51,8 +50,6 @@ typedef struct S_EsbConfigDataStruct
|
||||
UINT16 EsbCutoffBuzzRelayId; /*切除蜂鸣器报警继电器ID*/
|
||||
UINT8 ConfigAtsCiEssSteadyMask; /*是否配置了ATS-CI稳灯状态码位0x55 配置;0xaa未配置*/
|
||||
UINT8 ConfigAtsCiEssFlashMask; /*是否配置了ATS-CI闪灯状态码位0x55 配置;0xaa未配置*/
|
||||
UINT8 RelOnePlatEsbNum; /*关联同站ESB数量*/
|
||||
UINT16 RelOnePlatEsbId[ESB_PROTECT_LINK_NUM]; /*关联同站ESB ID数组*/
|
||||
} EsbConfigDataStruct;
|
||||
|
||||
/*******************************全局变量声明*******************************/
|
||||
@@ -296,23 +293,6 @@ UINT16 GetEsbCutoffBuzzRelayId(const UINT16 esbId);
|
||||
*/
|
||||
UINT8 CheckEsbBelSendRange(const UINT16 wCheckEsbId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定ID紧急停车按钮关联的同站紧急按钮数量
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* 返 回 值:同站紧急按钮数量
|
||||
* Created By LQ 2025.12.30
|
||||
*/
|
||||
UINT8 GetEsbRelOnePlatEsbNum(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定ID紧急停车按钮关联的同站紧急按钮ID数组
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* 返 回 值:NULL 获取数据失败
|
||||
* 其它 同站紧急按钮ID数组
|
||||
* Created By LQ 2025.12.30
|
||||
*/
|
||||
UINT16* GetEsbRelOnePlatEsbId(const UINT16 esbId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -160,19 +160,12 @@ UINT8 EsbDataManageInit(void)
|
||||
EsbDataStru[esbId].CutStatus = ESB_CUT_NO; /*ESB旁路未按下*/
|
||||
EsbDataStru[esbId].EsbRelateRelayDriveState = ESB_PEPUP_ESSUP_INITION_STA; /*PEP和ESS都无效*/
|
||||
EsbDataStru[esbId].EsbErrorFlag = ESB_ERROR_FLAG_NO; /*自复式ESB未故障*/
|
||||
EsbDataStru[esbId].EsbRelayDownState = ESB_RELAY_ERROR_DOWN_YES; /*紧急关闭按钮采集继电器落下状态初始化为通信异常落下*/
|
||||
EsbDataStru[esbId].CancelEsbErrorFlag = ESB_ERROR_FLAG_NO; /*自复式取消ESB未故障*/
|
||||
EsbDataStru[esbId].EsbPressCycNum = 0U; /*紧急关闭按钮按下周期*/
|
||||
EsbDataStru[esbId].CancelEsbPressCycNum = 0U; /*取消紧急关闭按钮按下周期*/
|
||||
EsbDataStru[esbId].CancelEsbErrTriggerPressCycNum = 0U; /*取消紧急关闭按钮误触发按下周期*/
|
||||
EsbDataStru[esbId].CancelEsbValidFlag = ESB_CANCEL_VALID_NO; /*取消紧急关闭按钮有效标志*/
|
||||
EsbDataStru[esbId].CancelEsbRelayDownState = ESB_RELAY_ERROR_DOWN_YES; /*取消紧急关闭按钮采集继电器落下状态初始化为通信异常落下*/
|
||||
EsbDataStru[esbId].EsbCutPressCycNum = 0U; /*紧急关闭旁路按钮按下周期*/
|
||||
EsbDataStru[esbId].EsbCutErrTriggerPressCycNum = 0U; /*紧急关闭旁路按钮误触发按下周期*/
|
||||
EsbDataStru[esbId].EsbCutErrorFlag = ESB_ERROR_FLAG_NO; /*紧急关闭旁路按钮未故障*/
|
||||
EsbDataStru[esbId].EsbCutRelayDownState = ESB_RELAY_ERROR_DOWN_YES; /*紧急关闭旁路按钮采集继电器落下状态初始化为通信异常落下*/
|
||||
EsbDataStru[esbId].cOnePlatEsbState = ESB_STATE_VALID_NO; /*初始化同站紧急按钮未激活*/
|
||||
EsbDataStru[esbId].cOnePlatEsbCutState = ESB_CUT_NO; /*初始化同站紧急旁路按钮未激活*/
|
||||
}
|
||||
rtn = CI_SUCCESS;
|
||||
return rtn;
|
||||
@@ -805,572 +798,3 @@ UINT8 GetCancelEsbRelayDownState(const UINT16 esbId)
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:设置紧急关闭旁路按钮按下周期
|
||||
* 输入参数:const UINT16 esbId Esb ID
|
||||
* const UINT32 startCycNum 周期号
|
||||
* 输出参数:无
|
||||
* 返 回 值:无
|
||||
* Cretaed By LQ 2025.03.28
|
||||
*/
|
||||
void SetEsbCutPressCycNum(const UINT16 esbId, const UINT32 startCycNum)
|
||||
{
|
||||
UINT16 bufIndex = 0U;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
EsbDataStru[bufIndex].EsbCutPressCycNum = startCycNum; /*紧急旁路按钮正常按下起始周期*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取紧急关闭旁路按钮按下周期
|
||||
* 输入参数:const UINT16 esbId Esb ID
|
||||
* 输出参数:无
|
||||
* 返 回 值:紧急关闭旁路按钮按下周期
|
||||
* Cretaed By LQ 2025.03.28
|
||||
*/
|
||||
UINT32 GetEsbCutPressCycNum(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0u; /*数组下标*/
|
||||
UINT32 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = EsbDataStru[bufIndex].EsbCutPressCycNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*下标非法,返回0*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:设置紧急关闭旁路按钮误触发按下周期
|
||||
* 输入参数:const UINT16 esbId Esb ID
|
||||
* const UINT32 startCycNum 周期号
|
||||
* 输出参数:无
|
||||
* 返 回 值:无
|
||||
* Cretaed By LQ 2025.03.28
|
||||
*/
|
||||
void SetEsbCutErrTrigPressCycNum(const UINT16 esbId, const UINT32 startCycNum)
|
||||
{
|
||||
UINT16 bufIndex = 0U;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
EsbDataStru[bufIndex].EsbCutErrTriggerPressCycNum = startCycNum; /*紧急旁路按钮误触发按下周期*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取紧急关闭旁路按钮误触发按下周期
|
||||
* 输入参数:const UINT16 esbId Esb ID
|
||||
* 输出参数:无
|
||||
* 返 回 值:紧急关闭旁路按钮误触发按下周期
|
||||
* Cretaed By LQ 2025.03.28
|
||||
*/
|
||||
UINT32 GetEsbCutErrTrigPressCycNum(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0u; /*数组下标*/
|
||||
UINT32 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = EsbDataStru[bufIndex].EsbCutErrTriggerPressCycNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*下标非法,返回0*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:设置紧急关闭旁路按钮采集继电器落下状态
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* const UINT8 cRelayDownState 继电器落下状态
|
||||
* 返回值:无
|
||||
* Created By LQ 2025.03.28
|
||||
*/
|
||||
void SetEsbCutRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState)
|
||||
{
|
||||
UINT16 bufIndex = 0U;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
if ((ESB_RELAY_ERROR_DOWN_NO == cRelayDownState) || (ESB_RELAY_ERROR_DOWN_YES == cRelayDownState))
|
||||
{
|
||||
EsbDataStru[bufIndex].EsbCutRelayDownState = cRelayDownState;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*设置状态不合法,不进项状态更新*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*数组下标不合法,不执行状态更新*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取紧急关闭旁路按钮采集继电器落下状态
|
||||
* 参数说明: const UINT16 esbId 紧急停车按钮ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* 0x55: 正常落下
|
||||
* 0xaa: 通信异常落下
|
||||
* Created By LQ 2025.03.28
|
||||
*/
|
||||
UINT8 GetEsbCutRelayDownState(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0U;
|
||||
UINT8 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = EsbDataStru[bufIndex].EsbCutRelayDownState;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*数组下标不合法,不执行状态更新*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急关闭旁路按钮故障标志
|
||||
* 参数说明:const UINT16 esbId, 紧急关闭按钮ID
|
||||
* const UINT8 cEsbCutErrFlag 紧急关闭旁路按钮故障标志
|
||||
* 返回值:无
|
||||
* Created By LQ 2025.03.28
|
||||
*/
|
||||
void SetEsbCutErrFlag(const UINT16 esbId, const UINT8 cEsbCutErrFlag)
|
||||
{
|
||||
UINT16 bufIndex = 0U;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
if ((ESB_ERROR_FLAG_NO == cEsbCutErrFlag) || (ESB_ERROR_FLAG_YES == cEsbCutErrFlag))
|
||||
{
|
||||
EsbDataStru[bufIndex].EsbCutErrorFlag = cEsbCutErrFlag;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*设置状态不合法,不进项状态更新*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*数组下标不合法,不执行状态更新*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID紧急关闭旁路按钮故障标志
|
||||
* 参数说明: const UINT16 esbId, 紧急关闭按钮ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* 0x55: 未故障
|
||||
* 0xaa: 故障
|
||||
* Created By LQ 2025.03.28
|
||||
*/
|
||||
UINT8 GetEsbCutErrFlag(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0U;
|
||||
UINT8 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (bufIndex < ESB_SUM_MAX)
|
||||
{
|
||||
reVal = EsbDataStru[bufIndex].EsbCutErrorFlag;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*数组下标不合法,不执行状态更新*/
|
||||
}
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:设置紧急停车按钮采集继电器落下状态
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* const UINT8 cRelayDownState 继电器落下状态
|
||||
* 返回值:无
|
||||
* Created By LQ 2025.04.01
|
||||
*/
|
||||
void SetEsbRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState)
|
||||
{
|
||||
UINT16 bufIndex = 0U;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
if ((ESB_RELAY_ERROR_DOWN_NO == cRelayDownState) || (ESB_RELAY_ERROR_DOWN_YES == cRelayDownState))
|
||||
{
|
||||
EsbDataStru[bufIndex].EsbRelayDownState = cRelayDownState;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*设置状态不合法,不进项状态更新*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*数组下标不合法,不执行状态更新*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取紧急停车按钮采集继电器落下状态
|
||||
* 参数说明: const UINT16 esbId, 紧急停车按钮ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* 0x55: 正常落下
|
||||
* 0xaa: 通信异常落下
|
||||
* Created By LQ 2025.04.01
|
||||
*/
|
||||
UINT8 GetEsbRelayDownState(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0U;
|
||||
UINT8 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = EsbDataStru[bufIndex].EsbRelayDownState;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*数组下标不合法,不执行状态更新*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID紧急停车按钮状态(融合了旁路状态)
|
||||
* 参数说明: const UINT16 esbId, 紧急停车按钮ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 紧急停车按钮状态
|
||||
*/
|
||||
UINT8 GetEsbMergeState(const UINT16 esbId)
|
||||
{
|
||||
|
||||
UINT8 reVal = CI_ERROR;
|
||||
UINT8 chEsbState = 0U;
|
||||
UINT8 chEsbCutState = 0U;
|
||||
|
||||
|
||||
chEsbState = GetEsbState(esbId);
|
||||
chEsbCutState = GetEsbCutState(esbId);
|
||||
if (ESB_CUT_YES == chEsbCutState)
|
||||
{
|
||||
reVal = ESB_STATE_VALID_NO;/*未按下*/
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ESB_STATE_VALID_NO == chEsbState)
|
||||
{
|
||||
reVal = ESB_STATE_VALID_NO;/*未按下*/
|
||||
}
|
||||
else
|
||||
{
|
||||
reVal = ESB_STATE_VALID_YES;
|
||||
}
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定ID紧急按钮同站紧急按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* 返 回 值:0 获取数据失败
|
||||
* 0x55 紧急未激活
|
||||
* 0xAA 紧急激活
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
UINT8 GetOnePlatEsbState(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT8 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = EsbDataStru[bufIndex].cOnePlatEsbState;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*返回失败*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急按钮同站紧急按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* const UINT8 esbState 紧急按钮状态
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
void SetOnePlatEsbState(const UINT16 esbId, const UINT8 esbState)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
if ((ESB_STATE_VALID_NO == esbState) || (ESB_STATE_VALID_YES == esbState))
|
||||
{
|
||||
EsbDataStru[bufIndex].cOnePlatEsbState = esbState; /*同站紧急按钮激活状态*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定ID紧急按钮同站紧急旁路按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* 返 回 值:0 获取数据失败
|
||||
* 0x55 旁路未激活
|
||||
* 0xAA 旁路激活
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
UINT8 GetOnePlatEsbCutState(const UINT16 esbId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT8 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = EsbDataStru[bufIndex].cOnePlatEsbCutState;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*返回失败*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急按钮同站紧急旁路按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* const UINT8 esbCutState 紧急旁路按钮状态
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
void SetOnePlatEsbCutState(const UINT16 esbId, const UINT8 esbCutState)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
|
||||
if (ESB_SUM_MAX > bufIndex)
|
||||
{
|
||||
if ((ESB_CUT_NO == esbCutState) || (ESB_CUT_YES == esbCutState))
|
||||
{
|
||||
EsbDataStru[bufIndex].cOnePlatEsbCutState = esbCutState; /*同站紧急按钮激活状态*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:清除同站紧急按钮及旁路按钮激活状态
|
||||
* 参数说明:无
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.30
|
||||
*/
|
||||
void ClearOnePlatEsbAndCutState(void)
|
||||
{
|
||||
UINT16 wEsbTotalSum = 0U; /*ESB总数*/
|
||||
UINT16 ii = 0U;
|
||||
UINT16 wEsbId = 0U; /*ESB ID*/
|
||||
|
||||
wEsbTotalSum = GetTotalEsbCurNum();
|
||||
|
||||
/*重置所有紧急按钮的同站紧急按钮及旁路按钮为未激活状态*/
|
||||
for (ii = 0U; ii < wEsbTotalSum; ii++)
|
||||
{
|
||||
wEsbId = GetEsbId(ii);
|
||||
SetOnePlatEsbState(wEsbId, ESB_STATE_VALID_NO);
|
||||
SetOnePlatEsbCutState(wEsbId, ESB_CUT_NO);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急按钮关联的其它同站紧急按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* const UINT8 esbState 紧急按钮状态
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
void SetRelOtherOnePlatEsbState(const UINT16 esbId, const UINT8 esbState)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT8 cRelOnePlatEsbNum = 0U; /*关联的其它同站紧急按钮数量*/
|
||||
UINT16* pRelOnePlatEsbId = NULL; /*关联的其它同站紧急按钮ID*/
|
||||
UINT8 ii = 0U;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
cRelOnePlatEsbNum = GetEsbRelOnePlatEsbNum(esbId);
|
||||
pRelOnePlatEsbId = GetEsbRelOnePlatEsbId(esbId);
|
||||
|
||||
if ((ESB_SUM_MAX > bufIndex) && (0U < cRelOnePlatEsbNum) && (NULL != pRelOnePlatEsbId))
|
||||
{
|
||||
if ((ESB_STATE_VALID_NO == esbState) || (ESB_STATE_VALID_YES == esbState))
|
||||
{
|
||||
for (ii = 0U; ii < cRelOnePlatEsbNum; ii++)
|
||||
{
|
||||
SetOnePlatEsbState(pRelOnePlatEsbId[ii], esbState);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急按钮关联的其它同站紧急旁路按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* const UINT8 esbCutState 紧急旁路按钮状态
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
void SetRelOtherOnePlatEsbCutState(const UINT16 esbId, const UINT8 esbCutState)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT8 cRelOnePlatEsbNum = 0U; /*关联的其它同站紧急按钮数量*/
|
||||
UINT16* pRelOnePlatEsbId = NULL; /*关联的其它同站紧急按钮ID*/
|
||||
UINT8 ii = 0U;
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
cRelOnePlatEsbNum = GetEsbRelOnePlatEsbNum(esbId);
|
||||
pRelOnePlatEsbId = GetEsbRelOnePlatEsbId(esbId);
|
||||
|
||||
if ((ESB_SUM_MAX > bufIndex) && (0U < cRelOnePlatEsbNum) && (NULL != pRelOnePlatEsbId))
|
||||
{
|
||||
if ((ESB_CUT_NO == esbCutState) || (ESB_CUT_YES == esbCutState))
|
||||
{
|
||||
for (ii = 0U; ii < cRelOnePlatEsbNum; ii++)
|
||||
{
|
||||
SetOnePlatEsbCutState(pRelOnePlatEsbId[ii], esbCutState);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:检查指定ID紧急按钮关联的其它同站紧急按钮状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* 返 回 值:1 紧急无效或旁路有效
|
||||
* 0 紧急有效
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
UINT8 CheckRelOtherOnePlatEsbState(const UINT16 esbId)
|
||||
{
|
||||
UINT8 cRetVal = CI_ERROR;
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT8 cRelOnePlatEsbNum = 0U; /*关联的其它同站紧急按钮数量*/
|
||||
UINT16* pRelOnePlatEsbId = NULL; /*关联的其它同站紧急按钮ID*/
|
||||
UINT8 ii = 0U;
|
||||
UINT8 cEsbState = 0U; /*紧急按钮状态*/
|
||||
UINT8 cEsbCutState = 0U; /*紧急按钮旁路状态*/
|
||||
|
||||
bufIndex = GetEsbConfigBufIndex(esbId); /*获取数组下标*/
|
||||
cRelOnePlatEsbNum = GetEsbRelOnePlatEsbNum(esbId);
|
||||
pRelOnePlatEsbId = GetEsbRelOnePlatEsbId(esbId);
|
||||
|
||||
if ((ESB_SUM_MAX > bufIndex) && (NULL != pRelOnePlatEsbId))
|
||||
{
|
||||
cRetVal = CI_SUCCESS;
|
||||
for (ii = 0U; ii < cRelOnePlatEsbNum; ii++)
|
||||
{
|
||||
cEsbState = GetEsbState(pRelOnePlatEsbId[ii]);
|
||||
cEsbCutState = GetEsbCutState(pRelOnePlatEsbId[ii]);
|
||||
|
||||
if ((ESB_STATE_VALID_NO == cEsbState) || (ESB_CUT_YES == cEsbCutState))
|
||||
{
|
||||
/*继续检查*/
|
||||
}
|
||||
else
|
||||
{
|
||||
cRetVal = CI_ERROR; /*存在一个ESB紧急有效且旁路无效,返回0*/
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cRetVal = CI_ERROR; /*入参非法,返回0*/
|
||||
}
|
||||
|
||||
return cRetVal;
|
||||
}
|
||||
@@ -38,19 +38,12 @@ typedef struct S_EsbDataStruct
|
||||
UINT8 EssSteadyState; /*ESS稳灯状态(用于虚拟联锁向ATS反馈)--0x55 需要设置稳灯;0xaa不需要设置稳灯*/
|
||||
UINT8 EssFlashState; /*ESS闪灯状态(用于虚拟联锁向ATS反馈)--0x55 需要设置闪灯;0xaa不需要设置闪灯*/
|
||||
UINT8 EsbErrorFlag; /*自复式紧急停车按钮故障标志,0x55未故障,0xaa故障*/
|
||||
UINT8 EsbRelayDownState; /*紧急关闭按钮采集继电器落下状态,0x55:正常采集落下,0xaa:通信异常落下*/
|
||||
UINT8 CancelEsbErrorFlag; /*自复式取消紧急停车按钮故障标志,0x55未故障,0xaa故障*/
|
||||
UINT32 EsbPressCycNum; /*紧急关闭按钮按下周期*/
|
||||
UINT32 CancelEsbPressCycNum; /*取消紧急关闭按钮正常按下周期*/
|
||||
UINT32 CancelEsbErrTriggerPressCycNum; /*取消紧急关闭按钮误触发按下周期*/
|
||||
UINT8 CancelEsbValidFlag; /*取消紧急关闭按钮有效标志,0x55无效,0xaa有效*/
|
||||
UINT8 CancelEsbRelayDownState; /*取消紧急关闭按钮采集继电器落下状态,0x55:正常采集落下,0xaa:通信异常落下*/
|
||||
UINT32 EsbCutPressCycNum; /*紧急关闭旁路按钮正常按下周期*/
|
||||
UINT32 EsbCutErrTriggerPressCycNum; /*紧急关闭旁路按钮误触发按下周期*/
|
||||
UINT8 EsbCutErrorFlag; /*紧急关闭旁路按钮故障标志,0x55-未故障,0xaa-故障*/
|
||||
UINT8 EsbCutRelayDownState; /*紧急关闭旁路按钮采集继电器落下状态,0x55-正常采集落下,0xaa-通信异常落下*/
|
||||
UINT8 cOnePlatEsbState; /*同站紧急按钮激活状态:0x55-未激活,0xAA-激活*/
|
||||
UINT8 cOnePlatEsbCutState; /*同站紧急旁路按钮激活状态:0x55-未激活,0xAA-激活*/
|
||||
} EsbDataStruct;
|
||||
|
||||
/*******************************全局变量声明*******************************/
|
||||
@@ -317,178 +310,6 @@ void SetCancelEsbRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState)
|
||||
*/
|
||||
UINT8 GetCancelEsbRelayDownState(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置紧急关闭旁路按钮按下周期
|
||||
* 输入参数:const UINT16 esbId Esb ID
|
||||
* const UINT32 startCycNum 周期号
|
||||
* 输出参数:无
|
||||
* 返 回 值:无
|
||||
* Cretaed By LQ 2025.03.28
|
||||
*/
|
||||
void SetEsbCutPressCycNum(const UINT16 esbId, const UINT32 startCycNum);
|
||||
|
||||
/*
|
||||
* 功能描述:获取紧急关闭旁路按钮按下周期
|
||||
* 输入参数:const UINT16 esbId Esb ID
|
||||
* 输出参数:无
|
||||
* 返 回 值:紧急关闭旁路按钮按下周期
|
||||
* Cretaed By LQ 2025.03.28
|
||||
*/
|
||||
UINT32 GetEsbCutPressCycNum(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置紧急关闭旁路按钮误触发按下周期
|
||||
* 输入参数:const UINT16 esbId Esb ID
|
||||
* const UINT32 startCycNum 周期号
|
||||
* 输出参数:无
|
||||
* 返 回 值:无
|
||||
* Cretaed By LQ 2025.03.28
|
||||
*/
|
||||
void SetEsbCutErrTrigPressCycNum(const UINT16 esbId, const UINT32 startCycNum);
|
||||
|
||||
/*
|
||||
* 功能描述:获取紧急关闭旁路按钮误触发按下周期
|
||||
* 输入参数:const UINT16 esbId Esb ID
|
||||
* 输出参数:无
|
||||
* 返 回 值:紧急关闭旁路按钮误触发按下周期
|
||||
* Cretaed By LQ 2025.03.28
|
||||
*/
|
||||
UINT32 GetEsbCutErrTrigPressCycNum(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置紧急关闭旁路按钮采集继电器落下状态
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* const UINT8 cRelayDownState 继电器落下状态
|
||||
* 返回值:无
|
||||
* Created By LQ 2025.03.28
|
||||
*/
|
||||
void SetEsbCutRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取紧急关闭旁路按钮采集继电器落下状态
|
||||
* 参数说明: const UINT16 esbId 紧急停车按钮ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* 0x55: 正常落下
|
||||
* 0xaa: 通信异常落下
|
||||
* Created By LQ 2025.03.28
|
||||
*/
|
||||
UINT8 GetEsbCutRelayDownState(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急关闭旁路按钮故障标志
|
||||
* 参数说明:const UINT16 esbId, 紧急关闭按钮ID
|
||||
* const UINT8 cEsbCutErrFlag 紧急关闭旁路按钮故障标志
|
||||
* 返回值:无
|
||||
*/
|
||||
void SetEsbCutErrFlag(const UINT16 esbId, const UINT8 cEsbCutErrFlag);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID紧急关闭旁路按钮故障标志
|
||||
* 参数说明: const UINT16 esbId, 紧急关闭按钮ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 紧停旁路按钮故障标志
|
||||
*/
|
||||
UINT8 GetEsbCutErrFlag(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置紧急停车按钮采集继电器落下状态
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* const UINT8 cRelayDownState 继电器落下状态
|
||||
* 返回值:无
|
||||
* Created By LQ 2025.04.01
|
||||
*/
|
||||
void SetEsbRelayDownState(const UINT16 esbId, const UINT8 cRelayDownState);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取紧急停车按钮采集继电器落下状态
|
||||
* 参数说明: const UINT16 esbId, 紧急停车按钮ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* 0x55: 正常落下
|
||||
* 0xaa: 通信异常落下
|
||||
* Created By LQ 2025.04.01
|
||||
*/
|
||||
UINT8 GetEsbRelayDownState(const UINT16 esbId);
|
||||
/*
|
||||
* 功能描述: 获取指定ID紧急停车按钮状态(融合了旁路状态)
|
||||
* 参数说明: const UINT16 esbId, 紧急停车按钮ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 紧急停车按钮状态
|
||||
*/
|
||||
UINT8 GetEsbMergeState(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定ID紧急按钮同站紧急按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* 返 回 值:0 获取数据失败
|
||||
* 0x55 紧急未激活
|
||||
* 0xAA 紧急激活
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
UINT8 GetOnePlatEsbState(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急按钮同站紧急按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* const UINT8 esbState 紧急按钮状态
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
void SetOnePlatEsbState(const UINT16 esbId, const UINT8 esbState);
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定ID紧急按钮同站紧急旁路按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急停车按钮ID
|
||||
* 返 回 值:0 获取数据失败
|
||||
* 0x55 旁路未激活
|
||||
* 0xAA 旁路激活
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
UINT8 GetOnePlatEsbCutState(const UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急按钮同站紧急旁路按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* const UINT8 esbCutState 紧急旁路按钮状态
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
void SetOnePlatEsbCutState(const UINT16 esbId, const UINT8 esbCutState);
|
||||
|
||||
/*
|
||||
* 功能描述:清除同站紧急按钮及旁路按钮激活状态
|
||||
* 参数说明:无
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.30
|
||||
*/
|
||||
void ClearOnePlatEsbAndCutState(void);
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急按钮关联的其它同站紧急按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* const UINT8 esbState 紧急按钮状态
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
void SetRelOtherOnePlatEsbState(const UINT16 esbId, const UINT8 esbState);
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID紧急按钮关联的其它同站紧急旁路按钮激活状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* const UINT8 esbCutState 紧急旁路按钮状态
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
void SetRelOtherOnePlatEsbCutState(const UINT16 esbId, const UINT8 esbCutState);
|
||||
|
||||
/*
|
||||
* 功能描述:检查指定ID紧急按钮关联的其它同站紧急按钮状态
|
||||
* 参数说明:const UINT16 esbId 紧急按钮ID
|
||||
* 返 回 值:1 紧急无效或旁路有效
|
||||
* 0 紧急有效
|
||||
* Created By LQ 2025.12.29
|
||||
*/
|
||||
UINT8 CheckRelOtherOnePlatEsbState(const UINT16 esbId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1161,7 +1161,7 @@ void elm_CTEnvelopeTrack(void)
|
||||
}
|
||||
else if ((CI_SUCCESS == funRet) && (1u == relEnvelopeCnt))
|
||||
{
|
||||
/* 只有CT包络才涉及B轨UT可追踪功能*/
|
||||
/* 只有CT包络才设计B轨UT可追踪功能*/
|
||||
elm_DealNoCGFollowUt(relEnvelopeID[0u], trainID[cycle]);
|
||||
|
||||
/** 维护日志--调试级别*/
|
||||
@@ -1277,9 +1277,16 @@ void elm_DealNoCGFollowUt(UINT16 wEnvelopeID,UINT16 wTrainId)
|
||||
const EnvelopeStruct* pEnvelop = NULL;
|
||||
UINT8 chNoCGFollowUtSwitch = 0U;
|
||||
ELM_TrainSafeLocStruct safeLoc = { 0U }; /*列车安全位置*/
|
||||
UINT8 chLinkRelPhySecAGorBGAttr = 0U;/*LINK关联物理区段ABD属性*/
|
||||
UINT8 chEnvelopLinkABGAttr = 0U;/*包络相关LINK关联物理区段ABG属性*/
|
||||
UINT16 wLinkRelatedPhySec = 0U;/*LINK关联物理区段*/
|
||||
UINT8 chPhyLjkFlag = 0U;/*列检库属性*/
|
||||
UINT16 wTrainEnterLjkLinkId = 0U;/*列车进入列检库LINK ID*/
|
||||
UINT32 dwCycNum = 0U;/*当前周期号*/
|
||||
UINT16 wTempTrainID = 0U;/*临时记录列车ID*/
|
||||
UINT8 chTempVirHeadScreenFlag = 0U;/*临时虚拟前筛标志*/
|
||||
UINT8 chTempVirTailScreenFlag = 0U;/*临时虚拟后筛标志*/
|
||||
UINT8 chAgLinkExistRelCgFlag = 0U;/*AG是否存在CG标志*/
|
||||
|
||||
/** 获取列车包络 */
|
||||
pEnvelop = elm_GetEnvelopeInfoPtr(wEnvelopeID);
|
||||
@@ -1316,10 +1323,58 @@ void elm_DealNoCGFollowUt(UINT16 wEnvelopeID,UINT16 wTrainId)
|
||||
{
|
||||
if (0U == errorCode)
|
||||
{
|
||||
/*处理AG虚拟筛选标志*/
|
||||
elm_DealAgVirScreenFlag(wEnvelopeID, wTrainId);
|
||||
/*处理BG虚拟筛选标志*/
|
||||
elm_DealBgVirScreenFlag(wEnvelopeID, wTrainId);
|
||||
chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.endPos.Lnk);
|
||||
chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->endPos.Lnk);
|
||||
wLinkRelatedPhySec = GetLinkRelatedPhySec(pEnvelop->endPos.Lnk);
|
||||
chPhyLjkFlag = GetPhySecLjkFlag(wLinkRelatedPhySec);
|
||||
chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(safeLoc.endPos.Lnk);
|
||||
|
||||
/*包络刷新在后,所以此时虽然安全位置进入AG,但包络可能还没进入*/
|
||||
if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->headTrainID)
|
||||
&& (LINK_REL_PHYSEC_DEFAULT == chEnvelopLinkABGAttr) && (PHYSICAL_SECTION_LJK_NO == chPhyLjkFlag)
|
||||
&& (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag))
|
||||
{
|
||||
/*列车安全车头驶入AG且当前驶入前没有前端可疑且不是从BG过来的车且不存在CG便设置前筛通过标志有效*/
|
||||
SetTrainVirHeadScreenPassFlag(wTrainId,TRAIN_VIR_SCREEN_PASS_FLAG_VALID);
|
||||
SetTrainEnterLjkLinkId(wTrainId, safeLoc.endPos.Lnk);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不设置对应标志,安全位置和包络均进入AG维持原来的标志*/
|
||||
}
|
||||
|
||||
chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.startPos.Lnk);
|
||||
chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->startPos.Lnk);
|
||||
wLinkRelatedPhySec = GetLinkRelatedPhySec(pEnvelop->startPos.Lnk);
|
||||
chPhyLjkFlag = GetPhySecLjkFlag(wLinkRelatedPhySec);
|
||||
chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(safeLoc.startPos.Lnk);
|
||||
|
||||
/*包络刷新在后,所以此时虽然安全位置进入AG,但包络可能还没进入*/
|
||||
if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->tailTrainID)
|
||||
&& (LINK_REL_PHYSEC_DEFAULT == chEnvelopLinkABGAttr) && (PHYSICAL_SECTION_LJK_NO == chPhyLjkFlag)
|
||||
&& (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag))
|
||||
{
|
||||
/*列车安全车尾驶入AG且当前驶入前没有后端可疑且不是从BG过来的车且不存在CG便设置后筛通过标志有效*/
|
||||
SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID);
|
||||
SetTrainEnterLjkLinkId(wTrainId, safeLoc.startPos.Lnk);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不设置对应标志,安全位置和包络均进入AG维持原来的标志*/
|
||||
}
|
||||
|
||||
wTrainEnterLjkLinkId = GetTrainEnterLjkLinkId(wTrainId);
|
||||
/*列车包络完全进入A轨后,容忍占用到空闲时间,D轨出现计轴区段(道岔位置连通在D轨)采集占用,设置前筛通过标识、后筛通过标识无效*/
|
||||
if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (safeLoc.startPos.Lnk == safeLoc.endPos.Lnk)
|
||||
&& (safeLoc.startPos.Lnk == wTrainEnterLjkLinkId) && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag))
|
||||
{
|
||||
dwCycNum = Get2oo2CurCycleNum();
|
||||
SetTrainFullEnterLjkCycNum(wTrainId, dwCycNum);
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1517,182 +1572,3 @@ void elm_VirScreenPassMonitor(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 处理AG虚拟筛选标志
|
||||
* @param[in] UINT16 envelopeID 列车包络
|
||||
* @param[in] UINT16 wTrainId 列车ID
|
||||
* @return 无
|
||||
* @note by cgh 20250805
|
||||
*/
|
||||
void elm_DealAgVirScreenFlag(UINT16 wEnvelopeID, UINT16 wTrainId)
|
||||
{
|
||||
UINT8 funRet = CI_ERROR;
|
||||
const EnvelopeStruct* pEnvelop = NULL;
|
||||
ELM_TrainSafeLocStruct safeLoc = { 0U }; /*列车安全位置*/
|
||||
UINT8 chLinkRelPhySecAGorBGAttr = 0U;/*LINK关联物理区段ABG属性*/
|
||||
UINT8 chEnvelopLinkABGAttr = 0U;/*包络相关LINK关联物理区段ABG属性*/
|
||||
UINT16 wLinkRelatedPhySec = 0U;/*LINK关联物理区段*/
|
||||
UINT8 chPhyLjkFlag = 0U;/*列检库属性*/
|
||||
UINT16 wTrainEnterLjkLinkId = 0U;/*列车进入列检库LINK ID*/
|
||||
UINT32 dwCycNum = 0U;/*当前周期号*/
|
||||
UINT8 chAgLinkExistRelCgFlag = 0U;/*AG是否存在CG标志*/
|
||||
|
||||
/** 获取列车包络 */
|
||||
pEnvelop = elm_GetEnvelopeInfoPtr(wEnvelopeID);
|
||||
|
||||
/** 入口参数校验 */
|
||||
if ((NULL != pEnvelop) && (0U < wTrainId) && (LINE_MAX_TRAIN > wTrainId))
|
||||
{
|
||||
funRet = elm_PrepareTrainSafeLoc(wTrainId, &safeLoc);
|
||||
|
||||
if (CI_SUCCESS == funRet)
|
||||
{
|
||||
chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.endPos.Lnk);
|
||||
chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->endPos.Lnk);
|
||||
wLinkRelatedPhySec = GetLinkRelatedPhySec(pEnvelop->endPos.Lnk);
|
||||
chPhyLjkFlag = GetPhySecLjkFlag(wLinkRelatedPhySec);
|
||||
chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(safeLoc.endPos.Lnk);
|
||||
|
||||
/*包络刷新在后,所以此时虽然安全位置进入AG,但包络可能还没进入*/
|
||||
if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->headTrainID)
|
||||
&& (LINK_REL_PHYSEC_DEFAULT == chEnvelopLinkABGAttr) && (PHYSICAL_SECTION_LJK_NO == chPhyLjkFlag)
|
||||
&& (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag))
|
||||
{
|
||||
/*列车安全车头驶入AG且当前驶入前没有前端可疑且不是从BG过来的车且不存在CG便设置前筛通过标志有效*/
|
||||
SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID);
|
||||
SetTrainEnterLjkLinkId(wTrainId, safeLoc.endPos.Lnk);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不设置对应标志,安全位置和包络均进入AG维持原来的标志*/
|
||||
}
|
||||
|
||||
chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.startPos.Lnk);
|
||||
chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->startPos.Lnk);
|
||||
wLinkRelatedPhySec = GetLinkRelatedPhySec(pEnvelop->startPos.Lnk);
|
||||
chPhyLjkFlag = GetPhySecLjkFlag(wLinkRelatedPhySec);
|
||||
chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(safeLoc.startPos.Lnk);
|
||||
|
||||
/*包络刷新在后,所以此时虽然安全位置进入AG,但包络可能还没进入*/
|
||||
if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->tailTrainID)
|
||||
&& (LINK_REL_PHYSEC_DEFAULT == chEnvelopLinkABGAttr) && (PHYSICAL_SECTION_LJK_NO == chPhyLjkFlag)
|
||||
&& (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag))
|
||||
{
|
||||
/*列车安全车尾驶入AG且当前驶入前没有后端可疑且不是从BG过来的车且不存在CG便设置后筛通过标志有效*/
|
||||
SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID);
|
||||
SetTrainEnterLjkLinkId(wTrainId, safeLoc.startPos.Lnk);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不设置对应标志,安全位置和包络均进入AG维持原来的标志*/
|
||||
}
|
||||
|
||||
wTrainEnterLjkLinkId = GetTrainEnterLjkLinkId(wTrainId);
|
||||
/*列车包络完全进入A轨后,容忍占用到空闲时间,D轨出现计轴区段(道岔位置连通在D轨)采集占用,设置前筛通过标识、后筛通过标识无效*/
|
||||
if ((LINK_REL_PHYSEC_AG == chLinkRelPhySecAGorBGAttr) && (safeLoc.startPos.Lnk == safeLoc.endPos.Lnk)
|
||||
&& (safeLoc.startPos.Lnk == wTrainEnterLjkLinkId) && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag))
|
||||
{
|
||||
dwCycNum = Get2oo2CurCycleNum();
|
||||
SetTrainFullEnterLjkCycNum(wTrainId, dwCycNum);
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID);
|
||||
SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID);
|
||||
SetTrainFullEnterLjkCycNum(wTrainId, 0U);
|
||||
SetTrainEnterLjkLinkId(wTrainId, 0U);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 处理BG虚拟筛选标志
|
||||
* @param[in] UINT16 envelopeID 列车包络
|
||||
* @param[in] UINT16 wTrainId 列车ID
|
||||
* @return 无
|
||||
* @note by cgh 20250805
|
||||
*/
|
||||
void elm_DealBgVirScreenFlag(UINT16 wEnvelopeID, UINT16 wTrainId)
|
||||
{
|
||||
UINT8 funRet = CI_ERROR;
|
||||
const EnvelopeStruct* pEnvelop = NULL;
|
||||
ELM_TrainSafeLocStruct safeLoc = { 0U }; /*列车安全位置*/
|
||||
UINT8 chLinkRelPhySecAGorBGAttr = 0U;/*LINK关联物理区段ABG属性*/
|
||||
UINT8 chEnvelopLinkABGAttr = 0U;/*包络相关LINK关联物理区段ABG属性*/
|
||||
UINT8 chAgLinkExistRelCgFlag = 0U;/*AG是否存在CG标志*/
|
||||
|
||||
/** 获取列车包络 */
|
||||
pEnvelop = elm_GetEnvelopeInfoPtr(wEnvelopeID);
|
||||
|
||||
/** 入口参数校验 */
|
||||
if ((NULL != pEnvelop) && (0U < wTrainId) && (LINE_MAX_TRAIN > wTrainId))
|
||||
{
|
||||
funRet = elm_PrepareTrainSafeLoc(wTrainId, &safeLoc);
|
||||
|
||||
if (CI_SUCCESS == funRet)
|
||||
{
|
||||
chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.endPos.Lnk);
|
||||
chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->endPos.Lnk);
|
||||
chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(pEnvelop->endPos.Lnk);
|
||||
|
||||
/*包络刷新在后,所以此时虽然安全位置进入BG,但包络可能还没进入*/
|
||||
if ((LINK_REL_PHYSEC_BG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->headTrainID)
|
||||
&& (LINK_REL_PHYSEC_AG == chEnvelopLinkABGAttr) && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag))
|
||||
{
|
||||
/*列车安全车头驶入BG且当前驶入前没有前端可疑且是从AG过来的车且不存在CG便设置前筛通过标志有效*/
|
||||
SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID);
|
||||
SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID);
|
||||
SetTrainFullEnterLjkCycNum(wTrainId, 0U);
|
||||
SetTrainEnterLjkLinkId(wTrainId, 0U);
|
||||
/*先清除再设置,仅为了逻辑清晰一些*/
|
||||
SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID);
|
||||
SetTrainEnterLjkLinkId(wTrainId, safeLoc.endPos.Lnk);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不设置对应标志,安全位置和包络均进入BG维持原来的标志*/
|
||||
}
|
||||
|
||||
chLinkRelPhySecAGorBGAttr = GetLinkRelPhySecAGorBGAttr(safeLoc.startPos.Lnk);
|
||||
chEnvelopLinkABGAttr = GetLinkRelPhySecAGorBGAttr(pEnvelop->startPos.Lnk);
|
||||
chAgLinkExistRelCgFlag = GetAgLinkExistRelCgFlag(pEnvelop->startPos.Lnk);
|
||||
|
||||
/*包络刷新在后,所以此时虽然安全位置进入BG,但包络可能还没进入*/
|
||||
if ((LINK_REL_PHYSEC_BG == chLinkRelPhySecAGorBGAttr) && (0U == pEnvelop->tailTrainID)
|
||||
&& (LINK_REL_PHYSEC_AG == chEnvelopLinkABGAttr) && (AGLINK_EXIST_REL_CG_NO == chAgLinkExistRelCgFlag))
|
||||
{
|
||||
/*列车安全车尾驶入BG且当前驶入前没有后端可疑且是从AG过来的车且不存在CG便设置后筛通过标志有效*/
|
||||
SetTrainFullEnterLjkCycNum(wTrainId, 0U);
|
||||
SetTrainEnterLjkLinkId(wTrainId, 0U);
|
||||
/*先清除再设置,仅为了逻辑清晰一些*/
|
||||
SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_VALID);
|
||||
SetTrainEnterLjkLinkId(wTrainId, safeLoc.startPos.Lnk);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不设置对应标志,安全位置和包络均进入AG维持原来的标志*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetTrainVirHeadScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID);
|
||||
SetTrainVirTailScreenPassFlag(wTrainId, TRAIN_VIR_SCREEN_PASS_FLAG_INVALID);
|
||||
SetTrainFullEnterLjkCycNum(wTrainId, 0U);
|
||||
SetTrainEnterLjkLinkId(wTrainId, 0U);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
@@ -176,7 +176,7 @@ else
|
||||
UINT8 elm_PrepareTrainSafeLoc(UINT16 trainID,INOUT ELM_TrainSafeLocStruct* pTrainSafeLoc)
|
||||
{
|
||||
UINT8 chRtnVal = CI_ERROR;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainID & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainID & 0x00ffu));
|
||||
|
||||
if (NULL != pTrainSafeLoc)
|
||||
{
|
||||
@@ -1012,7 +1012,7 @@ UINT32 elm_PrepareTrainLength(UINT16 trainid)
|
||||
UINT8 chTrainType = 0u;
|
||||
UINT8 chFunRtn = CI_ERROR;
|
||||
UINT32 dwRtnVal = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
/*获取列车类型*/
|
||||
chFunRtn = dquGetTrainType(wTrainID, &chTrainType);
|
||||
@@ -1074,7 +1074,7 @@ UINT8 elm_PrepareNextAcMinSafeHeadLoc(UINT16 trainid, OUT UINT16 acID[AC_MAXCNT_
|
||||
UINT8 chFunRtn = CI_ERROR;
|
||||
LinkPointDataStru strPoint = { 0u };
|
||||
UINT16 wSwitchId = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
UINT8 cDirectionPointFlag = 0U; /*是否具有方向变化点标志*/
|
||||
|
||||
|
||||
@@ -1135,7 +1135,7 @@ UINT8 elm_PrepareMaxSafeHeadLoc(UINT16 trainid, OUT LOD_STRU *pLoc)
|
||||
UINT16 wLink = 0u;
|
||||
UINT32 dwOff = UINT32_MAX;
|
||||
UINT8 chDir = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
|
||||
wLink = GetTrainMaxHeadLink(wTrainID);
|
||||
@@ -1169,7 +1169,7 @@ UINT8 elm_PrepareMinSafeHeadLoc(UINT16 trainid, OUT LOD_STRU *pLoc)
|
||||
UINT16 wLink = 0u;
|
||||
UINT32 dwOff = UINT32_MAX;
|
||||
UINT8 chDir = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
|
||||
wLink = GetTrainMinHeadLink(wTrainID);
|
||||
@@ -1200,7 +1200,7 @@ UINT16 elm_PrepareACOfMaxSafeHeadLoc(UINT16 trainid)
|
||||
UINT16 wMinHeadLink = 0u;
|
||||
UINT8 chFunRtn = CI_ERROR;
|
||||
UINT16 wRtn = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
wMinHeadLink = GetTrainMaxHeadLink(wTrainID);
|
||||
chFunRtn = IsLinkIdValid(wMinHeadLink);
|
||||
@@ -1227,7 +1227,7 @@ UINT16 elm_PrepareACOfMinSafeHeadLoc(UINT16 trainid)
|
||||
UINT16 wMinHeadLink = 0u;
|
||||
UINT8 chFunRtn = CI_ERROR;
|
||||
UINT16 wRtn = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
wMinHeadLink = GetTrainMinHeadLink(wTrainID);
|
||||
chFunRtn = IsLinkIdValid(wMinHeadLink);
|
||||
@@ -1261,7 +1261,7 @@ UINT8 elm_PrepareNextAcMaxSafeTailLoc(UINT16 trainid, OUT UINT16 acID[AC_MAXCNT_
|
||||
UINT8 chFunRtn = CI_ERROR;
|
||||
LinkPointDataStru strPoint = { 0u };
|
||||
UINT16 wSwitchId = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
UINT8 cDirectionPointFlag = 0U; /*是否具有方向变化点标志*/
|
||||
|
||||
|
||||
@@ -1324,7 +1324,7 @@ UINT8 elm_PrepareMaxSafeTailLoc(UINT16 trainid, OUT LOD_STRU *pLoc)
|
||||
UINT16 wLink = 0u;
|
||||
UINT32 dwOff = UINT32_MAX;
|
||||
UINT8 chDir = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
wLink = GetTrainMaxTailLink(wTrainID);
|
||||
dwOff = GetTrainMaxTailOffset(wTrainID);
|
||||
@@ -1357,7 +1357,7 @@ UINT8 elm_PrepareMinSafeTailLoc(UINT16 trainid, OUT LOD_STRU *pLoc)
|
||||
UINT16 wLink = 0u;
|
||||
UINT32 dwOff = UINT32_MAX;
|
||||
UINT8 chDir = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
wLink = GetTrainMinTailLink(wTrainID);
|
||||
dwOff = GetTrainMinTailOffset(wTrainID);
|
||||
@@ -1387,7 +1387,7 @@ UINT16 elm_PrepareACOfMaxSafeTailLoc(UINT16 trainid)
|
||||
UINT16 wMaxTailLink = 0u;
|
||||
UINT8 chFunRtn = CI_ERROR;
|
||||
UINT16 wRtn = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
wMaxTailLink = GetTrainMaxTailLink(wTrainID);
|
||||
chFunRtn = IsLinkIdValid(wMaxTailLink);
|
||||
@@ -1414,7 +1414,7 @@ UINT16 elm_PrepareACOfMinSafeTailLoc(UINT16 trainid)
|
||||
UINT16 wMaxTailLink = 0u;
|
||||
UINT8 chFunRtn = CI_ERROR;
|
||||
UINT16 wRtn = 0u;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainid & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainid & 0x00ffu));
|
||||
|
||||
wMaxTailLink = GetTrainMinTailLink(wTrainID);
|
||||
chFunRtn = IsLinkIdValid(wMaxTailLink);
|
||||
@@ -1529,7 +1529,7 @@ UINT8 elm_PrepareEnvelopeIsSelf(IN const EnvelopeStruct* ptemp)
|
||||
/** 在一个OC*/
|
||||
ret = ELM_BELONG_OWNER;
|
||||
}
|
||||
else if ((localOCid != pointABelongOcid) && (localOCid != pointBBelongOcid))
|
||||
else if((localOCid != pointABelongOcid) && (localOCid != pointBBelongOcid))
|
||||
{
|
||||
/** 不在同一OC*/
|
||||
ret = ELM_BELONG_OTHER;
|
||||
@@ -1652,7 +1652,7 @@ UINT8 elm_PrepareComOCID(IN const UINT8 **pOCIDbuff)
|
||||
else
|
||||
{
|
||||
/** 获取本OC通信的OC数量 */
|
||||
ret = GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_RCI);
|
||||
ret = GetCiTransmitSpecifySysDevSum(CI_SYSTEM_TYPE_CI);
|
||||
|
||||
/** 判断是否存在,不存在直接返回*/
|
||||
if (0u == ret)
|
||||
@@ -1662,7 +1662,7 @@ UINT8 elm_PrepareComOCID(IN const UINT8 **pOCIDbuff)
|
||||
else
|
||||
{
|
||||
/** 获取相邻通信的TIOC ID */
|
||||
(*pOCIDbuff) = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_RCI);
|
||||
(*pOCIDbuff) = GetCiTransmitSpecifySysDevBuf(CI_SYSTEM_TYPE_CI);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1683,8 +1683,8 @@ UINT8 elm_PrepareOCCommStatus(UINT8 OCID)
|
||||
UINT8 ret = ELM_COM_STATUS_ERROR;
|
||||
UINT8 funRtn = TRANSMIT_STATE_BAD;
|
||||
|
||||
/** »ñÈ¡RcͨÐÅ״̬ */
|
||||
funRtn = GetRcPbTacsTransmitState(OCID);
|
||||
/** »ñÈ¡OCͨÐÅ״̬ */
|
||||
funRtn = GetCiTransmitState(CI_SYSTEM_TYPE_CI,OCID);
|
||||
|
||||
/** 设置函数返回值 */
|
||||
ASSERT_SETRET(TRANSMIT_STATE_GOOD == funRtn,ret,ELM_COM_STATUS_OK,ELM_COM_STATUS_ERROR)
|
||||
@@ -1771,7 +1771,7 @@ UINT8 elm_PrepareTrainSafeHeadFlag(UINT16 trainId)
|
||||
{
|
||||
UINT8 ret = CI_ERROR;
|
||||
UINT16 funRtn = TRAIN_HEAD_FLAG_YES;
|
||||
UINT16 wTrainID = (UINT16)(TRAIN_ID_MIN_IVOC + (trainId & 0x00ffU));
|
||||
UINT16 wTrainID = (UINT16)(0x1400u + (trainId & 0x00ffu));
|
||||
|
||||
funRtn = GetTrainSafeHeadFlag(wTrainID);
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ static UINT8 elm_UKTAdjacentSwProtect(void)
|
||||
nearTrainType = aam_SearchNearbyTrainType(pACIdbuff[cycleAc], EMAP_SAME_DIR, acSameCnt, acSameID);
|
||||
}
|
||||
|
||||
if ((AAM_BAD_NEAR == nearTrainType)|| (AAM_SLEEP_OCC == nearTrainType))
|
||||
if (AAM_BAD_NEAR == nearTrainType)
|
||||
{
|
||||
elm_PrepareClearSwPassTrainFlag(pACIdbuff[cycleAc]);
|
||||
ELM_LOG(ELM_LOG_FATAL,"info:Switch Zone AC%d Clear CT pass flag by PreAC UT.\n",pACIdbuff[cycleAc]);
|
||||
@@ -116,7 +116,7 @@ static UINT8 elm_UKTAdjacentSwProtect(void)
|
||||
/** 查询前方计轴接近车类型*/
|
||||
nearTrainType = aam_SearchNearbyTrainType(pACIdbuff[cycleAc],EMAP_CONVER_DIR,acConvertCnt,acConvertID);
|
||||
|
||||
if ((AAM_BAD_NEAR == nearTrainType) || (AAM_SLEEP_OCC == nearTrainType))
|
||||
if (AAM_BAD_NEAR == nearTrainType)
|
||||
{
|
||||
elm_PrepareClearSwPassTrainFlag(pACIdbuff[cycleAc]);
|
||||
ELM_LOG(ELM_LOG_FATAL,"info:Switch Zone AC%d Clear CT pass flag by backAC UT.\n",pACIdbuff[cycleAc]);
|
||||
@@ -2036,8 +2036,6 @@ void elm_SafeProtectProcess(void)
|
||||
UINT8 workFlag = ELM_WORK_ERROR;
|
||||
UINT8 funRet = CI_ERROR;
|
||||
UINT32 errorCode = 0u;
|
||||
UINT8 localCiType = 0U;
|
||||
UINT8 ciTrainTestState = 0U;
|
||||
|
||||
/** 包络管理模块可正常处理标志位 */
|
||||
workFlag = elm_GetELMWorkFlag();
|
||||
@@ -2057,17 +2055,8 @@ void elm_SafeProtectProcess(void)
|
||||
funRet = elm_UTLosingProtect();
|
||||
ASSER_ERROR(CI_ERROR == funRet,errorCode,0x40000000u);
|
||||
|
||||
localCiType = GetLocalCiType();
|
||||
ciTrainTestState = GetCiTrainTestStatus();
|
||||
if ((CI_TYPE_SCX == localCiType) && ((CI_TRAIN_TEST_OFF == ciTrainTestState) || (CI_TRAIN_TEST_STOP == ciTrainTestState)))
|
||||
{
|
||||
ScxClearFlyProtectInfo(); /*试车线在未试车期间,不进行飞车宕机防护处理,同时清除之前的飞车信息,修复CT驶出试车线导致飞车宕机问题*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/** CT/UCT车飞车防护--宕机防护*/
|
||||
elm_FlyingProtect();
|
||||
}
|
||||
|
||||
/** 本OC范围内的计轴映射表合法性校验 */
|
||||
funRet = elm_ACRelEnvelopeCheck();
|
||||
@@ -2606,7 +2595,6 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1
|
||||
UINT16 relEnvelopeID[TRAIN_REL_ENVELOPE_SUM_MAX] = {0u}; /*列车关联的包络索引*/
|
||||
const EnvelopeStruct *pEnvelopeInfo = NULL;
|
||||
const WLTrainStatusInfoStruct* pTemp = NULL;
|
||||
UINT8 chTrainNvramPosFlag = 0U; /*列车NVRAM位置标识*/
|
||||
|
||||
/* 将本周期的的状态设置成上周期的状态 */
|
||||
for (cycle = 1u; cycle < LINE_MAX_TRAIN; cycle++)
|
||||
@@ -2651,20 +2639,11 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1
|
||||
|
||||
if ((NULL != pEnvelopeInfo) &&
|
||||
((TYPE_CT_ENVELOPE == pEnvelopeInfo->envelopeType) || (TYPE_UCT_ENVELOPE == pEnvelopeInfo->envelopeType)))
|
||||
{
|
||||
chTrainNvramPosFlag = GetTrainNvramPosFlag(cycle);
|
||||
|
||||
if (TRAIN_NVRAM_POS_FLAG_NO == chTrainNvramPosFlag)
|
||||
{
|
||||
headNeedScreen = LINE_MAX_TRAIN == pEnvelopeInfo->headTrainID ? NEED_SCREEN : UNNEED_SCREEN;
|
||||
tailNeedScreen = LINE_MAX_TRAIN == pEnvelopeInfo->tailTrainID ? NEED_SCREEN : UNNEED_SCREEN;
|
||||
|
||||
wls_SetTrainControlStatus(cycle, IN_CONTROL_STATUS, headNeedScreen, tailNeedScreen);
|
||||
}
|
||||
else
|
||||
{
|
||||
ELM_LOG(ELM_LOG_FATAL, " not Add In Control Train,Because UseNvram Pos\n");
|
||||
}
|
||||
wls_SetTrainControlStatus(cycle,IN_CONTROL_STATUS,headNeedScreen,tailNeedScreen);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2785,24 +2764,25 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1
|
||||
* @return CI_ERROR 查询失败
|
||||
CI_SUCCESS 查询成功
|
||||
* @note
|
||||
* edit cgh 20250724 目前只用于RRM
|
||||
* by cgh 20240514 目前只用于RRM
|
||||
*/
|
||||
UINT8 elm_GetNearEnvelopRelSameTra(UINT16 envelopeId, OUT UINT16* preEnvelope, OUT UINT16* backEnvelope)
|
||||
{
|
||||
/*- 局部变量定义 */
|
||||
UINT8 ret = CI_ERROR;
|
||||
UINT8 funRet = CI_ERROR;
|
||||
UINT32 errorCode = 0U; /*错误码*/
|
||||
UINT32 errorCode = 0u; /*错误码*/
|
||||
const EnvelopeStruct* pEnvelop = NULL;
|
||||
UINT8 envelopeCnt = 0U; /* 包络数量 */
|
||||
UINT16 arEnvelopID[TRAIN_SUM_MAX_IN_OC] = { 0U }; /*包络ID数组*/
|
||||
UINT16 acCnt = 0U; /** 前方计轴数量*/
|
||||
UINT16 acID[AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH] = { 0U };
|
||||
UINT16 mergeACIndex = 0U;
|
||||
UINT8 envelopeCnt = 0u; /* 包络数量 */
|
||||
UINT16 arEnvelopID[TRAIN_SUM_MAX_IN_OC] = { 0u }; /*包络ID数组*/
|
||||
UINT16 acCnt = 0u; /** 前方计轴数量*/
|
||||
UINT16 acID[AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH] = { 0u };
|
||||
UINT8 acStatus = ELM_AC_OCC;
|
||||
UINT16 mergeACIndex = 0u;
|
||||
UINT16 mergeACCntMax = (SECTION_IN_ENVELOPE_SUM_MAX + 2U * AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH);
|
||||
UINT16 mergeACID[SECTION_IN_ENVELOPE_SUM_MAX + 2U * AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH] = { 0U };
|
||||
UINT8 includeCnt = 0U;
|
||||
UINT16 includeELMid[TRAIN_SUM_MAX_IN_OC] = { 0U }; /** 重合的包络id */
|
||||
UINT16 mergeACID[SECTION_IN_ENVELOPE_SUM_MAX + 2U * AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH] = { 0u };
|
||||
UINT8 includeCnt = 0u;
|
||||
UINT16 includeELMid[TRAIN_SUM_MAX_IN_OC] = { 0u }; /** 重合的包络id */
|
||||
|
||||
/** 获取列车包络 */
|
||||
pEnvelop = elm_GetEnvelopeInfoPtr(envelopeId);
|
||||
@@ -2811,36 +2791,63 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1
|
||||
if ((NULL == pEnvelop) || (NULL == preEnvelope) || (NULL == backEnvelope))
|
||||
{
|
||||
/** 设置错误码*/
|
||||
ASSER_ERROR(CI_ERROR == funRet, errorCode, 0x80000000U);
|
||||
ASSER_ERROR(CI_ERROR == funRet, errorCode, 0x08000000u);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 查询后方计轴区段*/
|
||||
/** 获取车尾包络计轴占用状态 */
|
||||
acStatus = elm_PrepareACStatus(pEnvelop->ACID[0]);
|
||||
|
||||
/** 判断包络尾是否占用,如果占用,则需要查询下一个计轴*/
|
||||
if (ELM_AC_OCC == acStatus)
|
||||
{
|
||||
/* 查询后方计轴,车尾计轴占用,存在道岔四开,为了确保能然后后端,需要查询安全车尾所属计轴的相邻计轴区段*/
|
||||
acCnt = elm_GetEnvelopTailACIDs(pEnvelop, acID);
|
||||
|
||||
/** 合并车尾后方的计轴 */
|
||||
mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, acID, (AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH), acCnt);
|
||||
|
||||
/** 合并包络包含的计轴区段 */
|
||||
/** 先合并包络包含的计轴区段 */
|
||||
mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, pEnvelop->ACID, SECTION_IN_ENVELOPE_SUM_MAX, pEnvelop->ACCnt);
|
||||
|
||||
/** 设置错误码*/
|
||||
ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x40000000U);
|
||||
ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x04000000u);
|
||||
|
||||
if (0U == errorCode)
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)CommonMemSet(&acID, (UINT32)((AC_MAXCNT_IN_SWITCH*AC_MAXCNT_IN_SWITCH)*sizeof(UINT16)),0U, (UINT32)((AC_MAXCNT_IN_SWITCH*AC_MAXCNT_IN_SWITCH)*sizeof(UINT16)));/*先清空数组防止脏数据*/
|
||||
/* 查询前方计轴*/
|
||||
/** 先合并包络包含的计轴区段 */
|
||||
mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, pEnvelop->ACID, SECTION_IN_ENVELOPE_SUM_MAX, pEnvelop->ACCnt);
|
||||
|
||||
/** 设置错误码*/
|
||||
ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x02000000u);
|
||||
}
|
||||
|
||||
if (0u == errorCode)
|
||||
{
|
||||
/** 获取车头包络计轴占用状态 */
|
||||
acStatus = elm_PrepareACStatus(pEnvelop->ACID[pEnvelop->ACCnt - 1U]);
|
||||
|
||||
/** 判断包络头是否占用,如果占用,则需要查询下一个计轴 */
|
||||
if (ELM_AC_OCC == acStatus)
|
||||
{
|
||||
/* 查询前方计轴,此处查询四开道岔的相邻计轴其实属于一个冗余的处理,因为如果车头压入了岔区且占用,直接进行了删车,但是此处再这样处理一个是为了统一设计,另外做一个冗余防护*/
|
||||
acCnt = elm_GetEnvelopHeadACIDs(pEnvelop, acID);
|
||||
|
||||
/** 合并车头前方的计轴 */
|
||||
mergeACIndex = elm_PrepareMergeUINT16Array(mergeACID, mergeACCntMax, mergeACIndex, acID, (AC_MAXCNT_IN_SWITCH * AC_MAXCNT_IN_SWITCH), acCnt);
|
||||
|
||||
/** 设置错误码*/
|
||||
ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x20000000U);
|
||||
ASSER_ERROR(mergeACIndex > mergeACCntMax, errorCode, 0x04000000u);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
/** 无需处理*/
|
||||
}
|
||||
|
||||
/** 判断是否处理成功 */
|
||||
if (0U == errorCode)
|
||||
if (0u == errorCode)
|
||||
{
|
||||
/** 获取前方计轴包含的包络 */
|
||||
envelopeCnt = elm_MergeEnvelope(mergeACID, (UINT8)mergeACIndex, arEnvelopID);
|
||||
@@ -2849,7 +2856,7 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1
|
||||
funRet = elm_FindNearSameTrainEnvelop(pEnvelop, arEnvelopID, envelopeCnt, preEnvelope, backEnvelope, &includeCnt, includeELMid);
|
||||
|
||||
/** 设置错误码*/
|
||||
ASSER_ERROR(CI_SUCCESS != funRet, errorCode, 0x10000000U);
|
||||
ASSER_ERROR(CI_SUCCESS != funRet, errorCode, 0x08000000u);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2863,7 +2870,7 @@ UINT8 elm_UCTEnvelopeLeaveAC(UINT8 flag,IN const EnvelopeStruct* pEnvelope,UINT1
|
||||
}
|
||||
|
||||
/** 设置返回值*/
|
||||
ASSERT_SETRET(0U == errorCode, ret, CI_SUCCESS, CI_ERROR);
|
||||
ASSERT_SETRET(0u == errorCode, ret, CI_SUCCESS, CI_ERROR);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -486,22 +486,4 @@ void elm_FlyingProtect_UCT(void);
|
||||
*/
|
||||
void elm_DeleteUctPassFlag(UINT16 envelopeId);
|
||||
|
||||
/**
|
||||
* @brief 处理AG虚拟筛选标志
|
||||
* @param[in] UINT16 envelopeID 列车包络
|
||||
* @param[in] UINT16 wTrainId 列车ID
|
||||
* @return 无
|
||||
* @note by cgh 20250805
|
||||
*/
|
||||
void elm_DealAgVirScreenFlag(UINT16 wEnvelopeID, UINT16 wTrainId);
|
||||
|
||||
/**
|
||||
* @brief 处理BG虚拟筛选标志
|
||||
* @param[in] UINT16 envelopeID 列车包络
|
||||
* @param[in] UINT16 wTrainId 列车ID
|
||||
* @return 无
|
||||
* @note by cgh 20250805
|
||||
*/
|
||||
void elm_DealBgVirScreenFlag(UINT16 wEnvelopeID, UINT16 wTrainId);
|
||||
|
||||
#endif
|
||||
@@ -634,7 +634,6 @@ void elm_WLScreenProcess(void)
|
||||
UINT8 relEnvelopeCnt= TRAIN_REL_ENVELOPE_SUM_MAX; /*列车关联的包络数量*/
|
||||
UINT16 relEnvelopeID[TRAIN_REL_ENVELOPE_SUM_MAX] = {0u}; /*列车关联的包络索引*/
|
||||
const EnvelopeStruct *pEnvelopeInfo = NULL;
|
||||
UINT8 chTrainNvramPosFlag = 0U; /*ÁгµNVRAMλÖñêʶ*/
|
||||
|
||||
/** 获取全线免筛标志 */
|
||||
wlsFlag = wls_GetWLScreenPermitFlag();
|
||||
@@ -654,14 +653,10 @@ void elm_WLScreenProcess(void)
|
||||
((TYPE_CT_ENVELOPE == pEnvelopeInfo->envelopeType) || (TYPE_UCT_ENVELOPE == pEnvelopeInfo->envelopeType)))
|
||||
{
|
||||
ELM_LOG(ELM_LOG_FATAL,"info:ELM%d WLS Process,",pEnvelopeInfo->id);
|
||||
chTrainNvramPosFlag = GetTrainNvramPosFlag(cycle);
|
||||
|
||||
if (TRAIN_NVRAM_POS_FLAG_NO == chTrainNvramPosFlag)
|
||||
{
|
||||
if (LINE_MAX_TRAIN == pEnvelopeInfo->headTrainID)
|
||||
{
|
||||
ELM_LOG(ELM_LOG_FATAL, " delete Head suspicious,");
|
||||
(void)elm_SetEnvelopeHeadTrainID(pEnvelopeInfo->id, 0u);
|
||||
ELM_LOG(ELM_LOG_FATAL," delete Head suspicious,");
|
||||
(void)elm_SetEnvelopeHeadTrainID(pEnvelopeInfo->id,0u);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -670,21 +665,14 @@ void elm_WLScreenProcess(void)
|
||||
|
||||
if (LINE_MAX_TRAIN == pEnvelopeInfo->tailTrainID)
|
||||
{
|
||||
ELM_LOG(ELM_LOG_FATAL, " delete Tail suspicious,");
|
||||
(void)elm_SetEnvelopeTailTrainID(pEnvelopeInfo->id, 0u);
|
||||
ELM_LOG(ELM_LOG_FATAL," delete Tail suspicious,");
|
||||
(void)elm_SetEnvelopeTailTrainID(pEnvelopeInfo->id,0u);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 不处理 */
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
ELM_LOG(ELM_LOG_FATAL, " not finish suspicious,because use nvram pos");
|
||||
}
|
||||
|
||||
ELM_LOG(ELM_LOG_FATAL, "\n");
|
||||
ELM_LOG(ELM_LOG_FATAL,"\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1990,15 +1990,16 @@ static UINT8 elm_UCTEnvelopeHeadHandle(UINT8 endlineFlag, IN const EnvelopeStruc
|
||||
/** 不添加前端可疑 */
|
||||
funRtn = elm_SetEnvelopeHeadTrainID(ptemp->id, pPretemp->headTrainID);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00002000u);
|
||||
/** 则更新车头位置 */
|
||||
funRtn = elm_SetUCTEnvelopeDot(ELM_HEAD, ptemp->ACID[ptemp->ACCnt - 1u], ptemp);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00000800u);
|
||||
}
|
||||
else
|
||||
{
|
||||
funRtn = elm_DeleteCTOrUCTEnvelope(ptemp->id);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00000400u);
|
||||
funRtn = elm_SetEnvelopeHeadTrainID(ptemp->id, LINE_MAX_TRAIN);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00001000u);
|
||||
}
|
||||
|
||||
/** 则更新车头位置 */
|
||||
funRtn = elm_SetUCTEnvelopeDot(ELM_HEAD, ptemp->ACID[ptemp->ACCnt - 1u], ptemp);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00000800u);
|
||||
}
|
||||
ret = 0x55u;
|
||||
}
|
||||
@@ -2270,8 +2271,7 @@ static UINT8 elm_UCTEnvelopeHeadMoving(const EnvelopeStruct *ptemp)
|
||||
UINT8 includeCnt = 0u;
|
||||
UINT16 includeELMid[TRAIN_SUM_MAX_IN_OC] = {0u}; /** 重合的包络id */
|
||||
UINT8 cHeadDirChangeFlag = DIRECTIONPOINT_FLAG_INVALID; /*包络头方向变化点标志*/
|
||||
const EnvelopeStruct* pPretemp = NULL;
|
||||
UINT16 wInputAcId = 0U;
|
||||
|
||||
/** 入口参数校验 */
|
||||
ASSERT_RET_VALUE(NULL == ptemp,ret,0x80000000u);
|
||||
|
||||
@@ -2383,30 +2383,7 @@ static UINT8 elm_UCTEnvelopeHeadMoving(const EnvelopeStruct *ptemp)
|
||||
if (0u == errorCode)
|
||||
{
|
||||
endLineFlag = (0u == acSameCnt) ? CI_SUCCESS : CI_ERROR;
|
||||
wInputAcId = acSameID[0U];
|
||||
pPretemp = elm_GetEnvelopeInfoPtr(preEnvelope);
|
||||
if (NULL != pPretemp)
|
||||
{
|
||||
for (cycle = 0U; cycle < pPretemp->ACCnt; cycle++)
|
||||
{
|
||||
if (ptemp->ACID[ptemp->ACCnt - 1U] == pPretemp->ACID[cycle])
|
||||
{
|
||||
wInputAcId = ptemp->ACID[ptemp->ACCnt - 1U];
|
||||
break; /*前方包络与本包络终点处于同一计轴区段,停止遍历*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*继续遍历查找*/
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
/*若前方包络位于本包络终点计轴区段,则使用本包络终点计轴区段作为入参,否则使用本包络终点前方计轴区段作为入参*/
|
||||
funRtn = elm_UCTEnvelopeHeadHandle(endLineFlag,ptemp, wInputAcId,preEnvelope, cHeadDirChangeFlag);
|
||||
funRtn = elm_UCTEnvelopeHeadHandle(endLineFlag,ptemp,acSameID[0u],preEnvelope, cHeadDirChangeFlag);
|
||||
ASSER_ERROR(CI_ERROR == funRtn,errorCode,0x00400000u);
|
||||
|
||||
if (CI_ERROR != funRtn)
|
||||
@@ -2657,17 +2634,17 @@ static UINT8 elm_UCTEnvelopeTailHandle(UINT8 endlineFlag, const EnvelopeStruct *
|
||||
|
||||
if (0x55u == funRtn)
|
||||
{
|
||||
funRtn = elm_SetEnvelopeTailTrainID(ptemp->id, pBacktemp->tailTrainID);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00002000u);
|
||||
/** 则更新车尾位置 */
|
||||
funRtn = elm_SetUCTEnvelopeDot(ELM_TAIL, ptemp->ACID[0u], ptemp);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00001000u);
|
||||
/** 不添加前端可疑 */
|
||||
}
|
||||
else
|
||||
{
|
||||
funRtn = elm_DeleteCTOrUCTEnvelope(ptemp->id);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00000800u);
|
||||
funRtn = elm_SetEnvelopeTailTrainID(ptemp->id, LINE_MAX_TRAIN);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00002000u);
|
||||
}
|
||||
|
||||
/** 则更新车尾位置 */
|
||||
funRtn = elm_SetUCTEnvelopeDot(ELM_TAIL, ptemp->ACID[0u], ptemp);
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00001000u);
|
||||
}
|
||||
ret = 0x55u;
|
||||
}
|
||||
@@ -2939,8 +2916,6 @@ static UINT8 elm_UCTEnvelopeTailMoving(const EnvelopeStruct *ptemp)
|
||||
UINT8 includeCnt = 0u;
|
||||
UINT16 includeELMid[TRAIN_SUM_MAX_IN_OC] = {0u}; /** 重合的包络id */
|
||||
UINT8 cTailDirChangeFlag = DIRECTIONPOINT_FLAG_INVALID; /*包络尾方向变化点标志*/
|
||||
const EnvelopeStruct* pBacktemp = NULL;
|
||||
UINT16 wInputAcId = 0U;
|
||||
|
||||
/** 入口参数校验 */
|
||||
ASSERT_RET_VALUE(NULL == ptemp,ret,0x80000000u);
|
||||
@@ -3053,32 +3028,8 @@ static UINT8 elm_UCTEnvelopeTailMoving(const EnvelopeStruct *ptemp)
|
||||
if (0u == errorCode)
|
||||
{
|
||||
endLineFlag = (0u == acConvertCnt) ? CI_SUCCESS : CI_ERROR;
|
||||
wInputAcId = acConvertID[0U];
|
||||
pBacktemp = elm_GetEnvelopeInfoPtr(backEnvelope);
|
||||
if (NULL != pBacktemp)
|
||||
{
|
||||
for (cycle = 0U; cycle < pBacktemp->ACCnt; cycle++)
|
||||
{
|
||||
if (ptemp->ACID[0U] == pBacktemp->ACID[cycle])
|
||||
{
|
||||
wInputAcId = ptemp->ACID[0U];
|
||||
break; /*后方包络与本包络起点处于同一计轴区段,停止遍历*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*继续遍历查找*/
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
/*若后方包络位于本包络起点计轴区段,则使用本包络起点计轴区段作为入参,否则使用本包络起点后方计轴区段作为入参*/
|
||||
funRtn = elm_UCTEnvelopeTailHandle(endLineFlag, ptemp, wInputAcId, backEnvelope, cTailDirChangeFlag);
|
||||
|
||||
ASSER_ERROR(CI_ERROR == funRtn, errorCode, 0x00400000u);
|
||||
funRtn = elm_UCTEnvelopeTailHandle(endLineFlag,ptemp,acConvertID[0u],backEnvelope, cTailDirChangeFlag);
|
||||
ASSER_ERROR(CI_ERROR == funRtn,errorCode,0x00400000u);
|
||||
|
||||
if (CI_ERROR != funRtn)
|
||||
{
|
||||
@@ -3305,7 +3256,6 @@ static UINT8 elm_ConvertToUCTCheck(const EnvelopeStruct* ptemp)
|
||||
UINT8 chCanUct = FLAG_SET;
|
||||
UINT32 minTrainLength = 0U;
|
||||
UINT32 dwTempLength = 0U;
|
||||
UINT8 chTrainNvramPosFlag = 0U;
|
||||
|
||||
/** 入口参数校验 */
|
||||
ASSERT_RET_VALUE(NULL == ptemp,ret,0x80000000U);
|
||||
@@ -3347,17 +3297,6 @@ static UINT8 elm_ConvertToUCTCheck(const EnvelopeStruct* ptemp)
|
||||
; /* 不满足转为UCT条件 */
|
||||
}
|
||||
|
||||
if (0U == errorCode)
|
||||
{
|
||||
/** 获取列车是否使用NVRAM位置 */
|
||||
chTrainNvramPosFlag = GetTrainNvramPosFlag(ptemp->trainID[0U]);
|
||||
ASSER_ERROR(TRAIN_NVRAM_POS_FLAG_NO != chTrainNvramPosFlag, errorCode, 0x04000000U);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /* 不满足转为UCT条件 */
|
||||
}
|
||||
|
||||
/** 设置函数返回值 */
|
||||
ASSERT_SETRET(0U == errorCode,ret,CI_SUCCESS,CI_ERROR);
|
||||
ASSER_DEBUG(0U != errorCode,ELM_LOG_LOC(ELM_LOG_ERROR,"errorCode:0x%08x info:ELM%d can't convert to UCT!",errorCode,ptemp->id));
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
|
||||
FloodGateDataStruct FloodGateDataStru[FLOOD_GATE_SUM_MAX]; /*定义防淹门动态数据*/
|
||||
FloodGateDataStructCC FloodGateDataStruCC[FLOOD_GATE_SUM_MAX]; /*定义防淹门动态数据-车车*/
|
||||
|
||||
|
||||
/*
|
||||
@@ -27,16 +26,7 @@ FloodGateDataStruct *GetFloodGateData(void)
|
||||
{
|
||||
return FloodGateDataStru;
|
||||
}
|
||||
/*
|
||||
* 功能描述: 获取防淹门数据结构体指针车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
FloodGateDataStructCC *
|
||||
*/
|
||||
FloodGateDataStructCC* GetFloodGateDataCC(void)
|
||||
{
|
||||
return FloodGateDataStruCC;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID防淹门开门锁闭状态
|
||||
@@ -492,7 +482,7 @@ UINT8 GetFloodGateCloseApplyIvocSum(const UINT16 floodGateId)
|
||||
|
||||
if (0u < bufIndex)
|
||||
{
|
||||
reVal = FloodGateDataStruCC[bufIndex].FloodGateCloseApplyIvocSum;
|
||||
reVal = FloodGateDataStru[bufIndex].FloodGateCloseApplyIvocSum;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -515,7 +505,7 @@ void SetFloodGateCloseApplyIvocSum(const UINT16 floodGateId, const UINT8 wTrainS
|
||||
|
||||
if (0u < bufIndex)
|
||||
{
|
||||
FloodGateDataStruCC[bufIndex].FloodGateCloseApplyIvocSum = wTrainSum;
|
||||
FloodGateDataStru[bufIndex].FloodGateCloseApplyIvocSum = wTrainSum;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -537,7 +527,7 @@ UINT16* GetFloodGateCloseApplyIvocId(const UINT16 floodGateId)
|
||||
|
||||
if (0u < bufIndex)
|
||||
{
|
||||
applyIvocBuf = FloodGateDataStruCC[bufIndex].FloodGateCloseApplyIvocId;
|
||||
applyIvocBuf = FloodGateDataStru[bufIndex].FloodGateCloseApplyIvocId;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -559,11 +549,11 @@ void SetFloodGateCloseApplyIvocId(const UINT16 floodGateId, const UINT16* applyI
|
||||
|
||||
if (0u < bufIndex)
|
||||
{
|
||||
(void)CommonMemSet(FloodGateDataStruCC[bufIndex].FloodGateCloseApplyIvocId,
|
||||
(void)CommonMemSet(FloodGateDataStru[bufIndex].FloodGateCloseApplyIvocId,
|
||||
(UINT32)(sizeof(UINT16)*FLOOD_GATE_APPLY_TRAIN_SUM_MAX),
|
||||
0U, (UINT32)(sizeof(UINT16)*FLOOD_GATE_APPLY_TRAIN_SUM_MAX)); /*先出清,防止脏数据*/
|
||||
|
||||
(void)CommonMemCpy(FloodGateDataStruCC[bufIndex].FloodGateCloseApplyIvocId, /*赋值申请的列车ID*/
|
||||
(void)CommonMemCpy(FloodGateDataStru[bufIndex].FloodGateCloseApplyIvocId, /*赋值申请的列车ID*/
|
||||
(UINT32)(sizeof(UINT16)*FLOOD_GATE_APPLY_TRAIN_SUM_MAX),
|
||||
applyIvocBuf, (UINT32)(sizeof(UINT16)*FLOOD_GATE_APPLY_TRAIN_SUM_MAX));
|
||||
}
|
||||
@@ -584,7 +574,7 @@ FloodGateTrainAnsStruct* GetFloodGateCloseFromIvocStru(const UINT16 floodGateId)
|
||||
|
||||
if (0u < bufIndex)
|
||||
{
|
||||
retVal = FloodGateDataStruCC[bufIndex].FloodGateCloseFromIvocStru;
|
||||
retVal = FloodGateDataStru[bufIndex].FloodGateCloseFromIvocStru;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -620,7 +610,7 @@ void SetFloodGateAllowCloseFlagIVOC(UINT16 floodGateId, UINT16 wTrainId, UINT8 a
|
||||
trainSumIndex = chIvocSum;
|
||||
for (ii = 0U; ii < chIvocSum; ii++)
|
||||
{
|
||||
if (FloodGateDataStruCC[bufIndex].FloodGateCloseFromIvocStru[ii].wTrainId == wTrainId)
|
||||
if (FloodGateDataStru[bufIndex].FloodGateCloseFromIvocStru[ii].wTrainId == wTrainId)
|
||||
{
|
||||
retVal = CI_ERROR; /*已存入过的列车,且回复了,不再存入*/
|
||||
break;
|
||||
@@ -629,8 +619,8 @@ void SetFloodGateAllowCloseFlagIVOC(UINT16 floodGateId, UINT16 wTrainId, UINT8 a
|
||||
|
||||
if (CI_SUCCESS == retVal)
|
||||
{
|
||||
FloodGateDataStruCC[bufIndex].FloodGateCloseFromIvocStru[trainSumIndex].wTrainId = wTrainId;
|
||||
FloodGateDataStruCC[bufIndex].FloodGateCloseFromIvocStru[trainSumIndex].wFloodGateCloseIvocFlag = agreeFlag; /*检查标志的时候,查所有起始周期询问的列车是否都回复了同意*/
|
||||
FloodGateDataStru[bufIndex].FloodGateCloseFromIvocStru[trainSumIndex].wTrainId = wTrainId;
|
||||
FloodGateDataStru[bufIndex].FloodGateCloseFromIvocStru[trainSumIndex].wFloodGateCloseIvocFlag = agreeFlag; /*检查标志的时候,查所有起始周期询问的列车是否都回复了同意*/
|
||||
chIvocSum++;
|
||||
SetFloodGateCloseAnsIvocSum(floodGateId, chIvocSum);
|
||||
}
|
||||
@@ -663,8 +653,8 @@ void ClearFloodGateAllowClosFlagIVOC(UINT16 floodGateId)
|
||||
{
|
||||
for (ii = 0U; ii < chIvocSum; ii++)
|
||||
{
|
||||
FloodGateDataStruCC[bufIndex].FloodGateCloseFromIvocStru[ii].wTrainId = 0U;
|
||||
FloodGateDataStruCC[bufIndex].FloodGateCloseFromIvocStru[ii].wFloodGateCloseIvocFlag = FLOOD_GATE_NOT_ALLOWCLOSE_IVOC;
|
||||
FloodGateDataStru[bufIndex].FloodGateCloseFromIvocStru[ii].wTrainId = 0U;
|
||||
FloodGateDataStru[bufIndex].FloodGateCloseFromIvocStru[ii].wFloodGateCloseIvocFlag = FLOOD_GATE_NOT_ALLOWCLOSE_IVOC;
|
||||
}
|
||||
SetFloodGateCloseAnsIvocSum(floodGateId, 0U);
|
||||
}
|
||||
@@ -684,7 +674,7 @@ UINT8 GetFloodGateAccessUTFlag(const UINT16 floodGateId)
|
||||
|
||||
if (0u < bufIndex)
|
||||
{
|
||||
reVal = FloodGateDataStruCC[bufIndex].FloodGateAccessUTFlag;
|
||||
reVal = FloodGateDataStru[bufIndex].FloodGateAccessUTFlag;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -709,7 +699,7 @@ void SetFloodGateAccessUTFlag(const UINT16 floodGateId, const UINT8 accessUTFlag
|
||||
{
|
||||
if ((FLOOD_GATE_ACCESS_UT_YES == accessUTFlag) || (FLOOD_GATE_ACCESS_UT_NO == accessUTFlag))
|
||||
{/*混跑或者纯CT跑*/
|
||||
FloodGateDataStruCC[bufIndex].FloodGateAccessUTFlag = accessUTFlag;
|
||||
FloodGateDataStru[bufIndex].FloodGateAccessUTFlag = accessUTFlag;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -732,7 +722,7 @@ UINT8 GetFloodGateCloseAnsIvocSum(const UINT16 floodGateId)
|
||||
|
||||
if (0u < bufIndex)
|
||||
{
|
||||
reVal = FloodGateDataStruCC[bufIndex].FloodGateCloseAnsIvocSum;
|
||||
reVal = FloodGateDataStru[bufIndex].FloodGateCloseAnsIvocSum;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -755,7 +745,7 @@ void SetFloodGateCloseAnsIvocSum(const UINT16 floodGateId, const UINT8 wTrainSum
|
||||
|
||||
if (0u < bufIndex)
|
||||
{
|
||||
FloodGateDataStruCC[bufIndex].FloodGateCloseAnsIvocSum = wTrainSum;
|
||||
FloodGateDataStru[bufIndex].FloodGateCloseAnsIvocSum = wTrainSum;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -50,23 +50,21 @@ typedef struct S_FloodGateDataStruct
|
||||
* 条件1为当前关门请求为是,且条件2满足,当前同意关门状态才为同意;
|
||||
*/
|
||||
UINT8 CurAgreeCloseStateOut; /*当前同意关门输出状态(动态字段):FLOOD_GATE_AGREE_CLOSE、FLOOD_GATE_NOT_AGREE_CLOSE*/
|
||||
UINT32 CurYGJCrossLineStartCount;/*当前YGJ混线开始时间*/
|
||||
UINT32 CurFloodGateDelayCloseStartCyc; /*防淹门接近区段占压延时关门开始时间*/
|
||||
} FloodGateDataStruct;
|
||||
|
||||
/*防淹门数据结构体*/
|
||||
typedef struct S_FloodGateDataStructCC
|
||||
{
|
||||
UINT16 FloodGateId; /*防淹门ID (初始化字段)*/
|
||||
UINT32 CurYGJCrossLineStartCount;/*当前YGJ混线开始时间*/
|
||||
|
||||
UINT32 CurFloodGateDelayCloseStartCyc; /*防淹门接近区段占压延时关门开始时间*/
|
||||
UINT8 FloodGateCloseApplyIvocSum; /*防淹门关门申请列车数量*/
|
||||
UINT16 FloodGateCloseApplyIvocId[FLOOD_GATE_APPLY_TRAIN_SUM_MAX]; /*防淹门关门申请列车ID*/
|
||||
|
||||
UINT8 FloodGateCloseAnsIvocSum; /*防淹门关门允许,列车回复数量*/
|
||||
FloodGateTrainAnsStruct FloodGateCloseFromIvocStru[FLOOD_GATE_APPLY_TRAIN_SUM_MAX]; /*列车同意防淹门关门请求结构体*/
|
||||
UINT8 FloodGateAccessUTFlag; /*防淹门接近区段是否有非通信车标志*/
|
||||
}FloodGateDataStructCC;
|
||||
} FloodGateDataStruct;
|
||||
|
||||
/*******************************全局变量声明*******************************/
|
||||
extern FloodGateDataStruct FloodGateDataStru[FLOOD_GATE_SUM_MAX]; /*定义防淹门动态数据*/
|
||||
extern FloodGateDataStructCC FloodGateDataStruCC[FLOOD_GATE_SUM_MAX]; /*定义防淹门动态数据-车车*/
|
||||
|
||||
/*
|
||||
* 功能描述: 获取防淹门数据结构体指针
|
||||
* 参数说明:
|
||||
@@ -74,13 +72,6 @@ extern FloodGateDataStructCC FloodGateDataStruCC[FLOOD_GATE_SUM_MAX]; /*
|
||||
FloodGateDataStruct *
|
||||
*/
|
||||
FloodGateDataStruct *GetFloodGateData(void);
|
||||
/*
|
||||
* 功能描述: 获取防淹门数据结构体指针车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
FloodGateDataStructCC *
|
||||
*/
|
||||
FloodGateDataStructCC* GetFloodGateDataCC(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID防淹门开门锁闭状态
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#include "WLScreenDataPrepare.h"
|
||||
|
||||
GaragedoorDataStruct GaragedoorDataStru[GARAGE_DOOR_SUM_MAX]; /*定义车库门数据结构体*/
|
||||
GaragedoorDataStructCC GaragedoorDataStruCC[GARAGE_DOOR_SUM_MAX]; /*定义车库门数据结构体-车车*/
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定车库门数据
|
||||
@@ -26,16 +26,7 @@ GaragedoorDataStruct *GetGaragedoorData(void)
|
||||
{
|
||||
return GaragedoorDataStru;
|
||||
}
|
||||
/*
|
||||
* 功能描述: 获取指定车库门数据-车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
GaragedoorDataStructCC *
|
||||
*/
|
||||
GaragedoorDataStructCC* GetGaragedoorDataCC(void)
|
||||
{
|
||||
return GaragedoorDataStruCC;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID车库门状态
|
||||
* 参数说明: const UINT16 garagedoorId, 车库门ID
|
||||
@@ -152,7 +143,7 @@ UINT8 GetGaragedoorAllowCloseFlagIVOC(const UINT16 garagedoorId)
|
||||
|
||||
if (bufIndex < GARAGE_DOOR_SUM_MAX)
|
||||
{
|
||||
reVal = GaragedoorDataStruCC[bufIndex].GDAllowCloseFlagIVOC;
|
||||
reVal = GaragedoorDataStru[bufIndex].GDAllowCloseFlagIVOC;
|
||||
}
|
||||
|
||||
return reVal;
|
||||
@@ -176,7 +167,7 @@ void SetGaragedoorAllowCloseFlagIVOC(const UINT16 garagedoorId, const UINT8 allo
|
||||
if ((GARAGE_DOOR_ALLOW_CLOSE_YES == allowCloseFlag) || (GARAGE_DOOR_ALLOW_CLOSE_NO == allowCloseFlag))
|
||||
{
|
||||
|
||||
GaragedoorDataStruCC[bufIndex].GDAllowCloseFlagIVOC = allowCloseFlag; /*允许关门标志*/
|
||||
GaragedoorDataStru[bufIndex].GDAllowCloseFlagIVOC = allowCloseFlag; /*允许关门标志*/
|
||||
|
||||
}
|
||||
}
|
||||
@@ -199,7 +190,7 @@ UINT16 GetGaragedoorNearestTrainId(const UINT16 garagedoorId)
|
||||
|
||||
if (bufIndex < GARAGE_DOOR_SUM_MAX)
|
||||
{
|
||||
reVal = GaragedoorDataStruCC[bufIndex].GDAkuNearestTrainId;
|
||||
reVal = GaragedoorDataStru[bufIndex].GDAkuNearestTrainId;
|
||||
}
|
||||
|
||||
return reVal;
|
||||
@@ -224,7 +215,7 @@ void SetGaragedoorNearestTrainId(const UINT16 garagedoorId, const UINT16 trainId
|
||||
if (UINT16_MAX!= trainId)
|
||||
{
|
||||
|
||||
GaragedoorDataStruCC[bufIndex].GDAkuNearestTrainId = trainId; /*允许关门标志*/
|
||||
GaragedoorDataStru[bufIndex].GDAkuNearestTrainId = trainId; /*允许关门标志*/
|
||||
|
||||
}
|
||||
}
|
||||
@@ -570,7 +561,7 @@ void SetWaiteIVOCResponseStartCycNum(const UINT16 garagedoorId, const UINT32 sta
|
||||
|
||||
if (bufIndex < GARAGE_DOOR_SUM_MAX)
|
||||
{
|
||||
GaragedoorDataStruCC[bufIndex].waiteIVOCResponseStartCycNum = startCycNum; /*起始周期号*/
|
||||
GaragedoorDataStru[bufIndex].waiteIVOCResponseStartCycNum = startCycNum; /*起始周期号*/
|
||||
}
|
||||
|
||||
}
|
||||
@@ -590,7 +581,7 @@ UINT32 GetWaiteIVOCResponseStartCycNum(const UINT16 garagedoorId)
|
||||
|
||||
if (bufIndex < GARAGE_DOOR_SUM_MAX)
|
||||
{
|
||||
ret = GaragedoorDataStruCC[bufIndex].waiteIVOCResponseStartCycNum;
|
||||
ret = GaragedoorDataStru[bufIndex].waiteIVOCResponseStartCycNum;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -32,7 +32,8 @@ typedef struct S_GaragedoorDataStruct
|
||||
UINT16 GaragedoorId; /*车库门ID (初始化字段)*/
|
||||
UINT8 GaragedoorState; /*车库门状态 (动态字段)*/
|
||||
UINT8 GaragedoorAllowCloseFlag; /*车库门允许关门标志,ZC发送*/
|
||||
|
||||
UINT8 GDAllowCloseFlagIVOC; /*车库门允许关门标志,IVOC发送*/
|
||||
UINT16 GDAkuNearestTrainId; /*A库物理区段上最接近的列车*/
|
||||
UINT8 GaragedoorModeState; /*车库门模式状态*/
|
||||
UINT8 GaragedoorFaultState; /*车库门故障状态*/
|
||||
UINT8 GaragedoorPangLuState; /*车库门旁路状态*/
|
||||
@@ -40,21 +41,14 @@ typedef struct S_GaragedoorDataStruct
|
||||
UINT8 cmdProcessState; /* 命令处理状态 */
|
||||
UINT32 drvDoorStartCycle; /* 驱动开始时间,预留 */
|
||||
UINT32 waiteZCResponseStartCycNum; /*等待ZC反馈开始时间*/
|
||||
|
||||
UINT32 waiteIVOCResponseStartCycNum; /*等待IVOC反馈开始时间*/
|
||||
UINT32 GaragedoorOpenStartCycNum; /*车库门打开开始周期 (动态字段)*/
|
||||
UINT32 GaragedoorCloseStartCycNum; /*车库门关闭开始周期 (动态字段)*/
|
||||
} GaragedoorDataStruct;
|
||||
/*车库门数据结构体*/
|
||||
typedef struct S_GaragedoorDataStructCC
|
||||
{
|
||||
UINT16 GaragedoorId; /*车库门ID (初始化字段)*/
|
||||
UINT8 GDAllowCloseFlagIVOC; /*车库门允许关门标志,IVOC发送*/
|
||||
UINT16 GDAkuNearestTrainId; /*A库物理区段上最接近的列车*/
|
||||
UINT32 waiteIVOCResponseStartCycNum; /*等待IVOC反馈开始时间*/
|
||||
}GaragedoorDataStructCC;
|
||||
|
||||
|
||||
extern GaragedoorDataStruct GaragedoorDataStru[GARAGE_DOOR_SUM_MAX]; /*定义车库门数据结构体*/
|
||||
extern GaragedoorDataStructCC GaragedoorDataStruCC[GARAGE_DOOR_SUM_MAX]; /*定义车库门数据结构体-车车*/
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定车库门数据
|
||||
* 参数说明:
|
||||
@@ -62,13 +56,6 @@ extern GaragedoorDataStructCC GaragedoorDataStruCC[GARAGE_DOOR_SUM_MAX]; /*
|
||||
GaragedoorDataStruct *
|
||||
*/
|
||||
GaragedoorDataStruct *GetGaragedoorData(void);
|
||||
/*
|
||||
* 功能描述: 获取指定车库门数据-车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
GaragedoorDataStructCC *
|
||||
*/
|
||||
GaragedoorDataStructCC* GetGaragedoorDataCC(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID车库门驱动状态
|
||||
|
||||
@@ -93,7 +93,7 @@ UINT8 HLHTRecvCommonPacketHeadCheck(UINT16 LocalDevName, UINT16 RemoteDevName, U
|
||||
UINT32 LocalEtcsId = 0u; /*发送方标识*/
|
||||
UINT32 RemoteEtcsId = 0u; /*接收方标识*/
|
||||
UINT32 emapVer = 0U;/*应该使用的电子地图版本*/
|
||||
UINT8 emapCheckVer = CI_ERROR; /*电子地图版本获取结果*/
|
||||
UINT8 emapCheckVer = 0U; /*电子地图版本校验结果*/
|
||||
UINT8 chRet = 0U;
|
||||
|
||||
/*错误码每次都清零*/
|
||||
@@ -109,29 +109,6 @@ UINT8 HLHTRecvCommonPacketHeadCheck(UINT16 LocalDevName, UINT16 RemoteDevName, U
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
if ((CI_SYSTEM_TYPE_OC == devType) || (CI_SYSTEM_TYPE_XIANDI == devType) || (CI_SYSTEM_TYPE_ATS == devType))
|
||||
{
|
||||
/*OC/现地/ATS无互联互通ID*/
|
||||
if ((UINT16)(pMICommonPackage->sourceId & 0x0000FFFFU) != LocalDevName)
|
||||
{
|
||||
*pErrorCode |= GAL_COMPARE_SEND_FLAG_ERR;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
if((UINT16)(pMICommonPackage->destId & 0x0000FFFFU) != RemoteDevName)
|
||||
{
|
||||
*pErrorCode |= GAL_COMPARE_RECV_FLAG_ERR;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*发送方校验*/
|
||||
chRet = dquDevName2HlhtId(LocalDevName, logId, &LocalEtcsId);
|
||||
if ((CI_ERROR == chRet) || (pMICommonPackage->sourceId != LocalEtcsId))
|
||||
@@ -142,6 +119,7 @@ UINT8 HLHTRecvCommonPacketHeadCheck(UINT16 LocalDevName, UINT16 RemoteDevName, U
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
/*接收方校验*/
|
||||
chRet = dquDevName2HlhtId(RemoteDevName, logId, &RemoteEtcsId);
|
||||
if ((CI_ERROR == chRet) || (pMICommonPackage->destId != RemoteEtcsId))
|
||||
@@ -152,23 +130,8 @@ UINT8 HLHTRecvCommonPacketHeadCheck(UINT16 LocalDevName, UINT16 RemoteDevName, U
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
if ((CI_SYSTEM_TYPE_CI == devType) || (CI_SYSTEM_TYPE_RC == devType))
|
||||
{
|
||||
/*修改:根据发送方类型获取电子地图校验*/
|
||||
emapVer = GetCiTranCiDataCheckVer((UINT8)(RemoteDevName & 0x00FFU), LocalDevName);
|
||||
emapCheckVer = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_SYSTEM_TYPE_OC == devType)
|
||||
{
|
||||
emapVer = GetCiTranOcDataCheckVer((UINT8)(RemoteDevName & 0x00FFU), LocalDevName);
|
||||
emapCheckVer = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
emapCheckVer = GetCiEmapCheckVer((UINT8)RemoteDevName, &emapVer, devType);
|
||||
}
|
||||
if (CI_SUCCESS == emapCheckVer)
|
||||
{
|
||||
/*电子地图版本校验信息(4字节CRC比较)*/
|
||||
|
||||
@@ -15,22 +15,15 @@
|
||||
#include "../2oo2/2oo2InterfaceDataManage.h"
|
||||
#include "CommonMemory.h"
|
||||
|
||||
HLHTHeadContextStru ciHLHTHeadCtxs[CI_SUM_MAX]={0U};/*存放与本控区通信的相邻CI互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru gSzRcHLHTHeadCtxs[CI_SUM_MAX] = { 0U }; /*存放与本控区通信的相邻RC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru ciHLHTHeadCtxsCiToRc[CI_SUM_MAX] = { 0U };/*存放本控区CI同步的相邻CI互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru gSzRcHLHTHeadCtxsCiToRc[CI_SUM_MAX] = { 0U }; /*存放本控区CI同步的相邻RC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru vobcHLHTHeadCtxs[VOBC_SUM_MAX]={0U};/*存放与本CI通信的VOBC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru vobcBackupHLHTHeadCtxs[VOBC_BACKUP_SUM_MAX] = { 0U };/*存放与本CI通信的后备模式VOBC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru zcHLHTHeadCtxs[ZC_SUM_MAX]={0U};/*存放与本CI通信的ZC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru ocHLHTHeadCtxs[OC_SUM_MAX]={0U};/*存放与本CI通信的OC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru ocHLHTHeadCtxsCiToRc[OC_SUM_MAX] = { 0U };/*存放同步的CI通-OC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru axleHLHTHeadCtxs[AXLE_SUM_MAX] = { 0U };/*存放与本CI通信的计轴系统互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru gSzRcAxleHLHTHeadCtxs[AXLE_SUM_MAX] = { 0U };/*存放与RC通信的计轴系统互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru tmcHLHTHeadCtxs[TMC_SUM_MAX] = { 0U };/*存放与本TIOC通信的TMC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru ciHLHTHeadCtxs[CI_SUM_MAX]={0};/*存放与本CI通信的相邻CI互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru vobcHLHTHeadCtxs[VOBC_SUM_MAX]={0};/*存放与本CI通信的VOBC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru vobcBackupHLHTHeadCtxs[VOBC_BACKUP_SUM_MAX] = { 0 };/*存放与本CI通信的后备模式VOBC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru zcHLHTHeadCtxs[ZC_SUM_MAX]={0};/*存放与本CI通信的ZC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru ocHLHTHeadCtxs[OC_SUM_MAX]={0};/*存放与本CI通信的OC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru axleHLHTHeadCtxs[AXLE_SUM_MAX] = { 0 };/*存放与本CI通信的计轴系统互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru tmcHLHTHeadCtxs[TMC_SUM_MAX] = { 0 };/*存放与本TIOC通信的TMC互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru IteHLHTHeadCtxs[ITE_SUM_MAX][VOBC_INC_ITE_SUM_MAX] = { 0U };/*存放与本TIOC通信的ITE互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru gSzXiandiHLHTHeadCtxs[ATS_SUM_MAX] = { 0U };/*存放与本CI通信的现地互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru gSzAtsHLHTHeadCtxs[ATS_SUM_MAX] = { 0U };/*存放与本CI通信的ATS互联互通报文头上下文数据*/
|
||||
HLHTHeadContextStru vobcToRcHLHTHeadCtxs[VOBC_SUM_MAX] = { 0 };/*RC模式下,存放与本RC通信的510 VOBC互联互通报文头上下文数据。CI模式下不使用*/
|
||||
|
||||
/*
|
||||
* 功能描述:本地函数,获得某种设备类型的用于后续运算的互联互通头上下文数据
|
||||
* 参数说明:
|
||||
@@ -424,7 +417,6 @@ void ProcHlhtHeadCtxTimeOut(void)
|
||||
{
|
||||
UINT32 timeoutSnCount = 0U;
|
||||
UINT32 timeoutSpan = 0U;
|
||||
UINT8 chSystemWorkType = GetSystemWorkType();; /*系统工作类型*/
|
||||
|
||||
/*处理VOBC通用报文头的时效性*/
|
||||
timeoutSnCount = GetCiAndVobcTransBadEnsureCnt();
|
||||
@@ -444,11 +436,6 @@ void ProcHlhtHeadCtxTimeOut(void)
|
||||
timeoutSpan = GetCiAndCiTransmitBadEnsureTime();
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, ciHLHTHeadCtxs, CI_SUM_MAX);
|
||||
|
||||
/*处理RC通用报文头的时效性*/
|
||||
timeoutSnCount = GetCiAndCiTransBadEnsureCnt();
|
||||
timeoutSpan = GetCiAndCiTransmitBadEnsureTime();
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, gSzRcHLHTHeadCtxs, CI_SUM_MAX);
|
||||
|
||||
/*处理与CI通信的ZC通用报文头的时效性*/
|
||||
timeoutSnCount = GetCiAndZcTransBadEnsureCnt();
|
||||
timeoutSpan = GetCiAndZcTransmitBadEnsureTime();
|
||||
@@ -464,38 +451,10 @@ void ProcHlhtHeadCtxTimeOut(void)
|
||||
timeoutSpan = GetCiAndOcTransmitBadEnsureTime();
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, ocHLHTHeadCtxs, OC_SUM_MAX);
|
||||
|
||||
#if 0
|
||||
/*不需要处理CI同步过来的数据 需要留着周期号用来做接收数据判断*/
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, ocHLHTHeadCtxsCiToRc, OC_SUM_MAX);
|
||||
#endif
|
||||
/*处理与AXLE通信报文头的时效性*/
|
||||
timeoutSnCount = GetCiAndAxleTransBadEnsureCnt();
|
||||
timeoutSpan = GetCiAndAxleTransBadEnsureTime();
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, axleHLHTHeadCtxs, AXLE_SUM_MAX);
|
||||
if ((SYSTEM_WORK_MODE_ALL == chSystemWorkType) && (RC_WORK_MODE_TIOC == CI_SYSTEM_TYPE_RCI))
|
||||
{
|
||||
/*双系统RC还需要处理RC通用报文头*/
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, gSzRcAxleHLHTHeadCtxs, AXLE_SUM_MAX);
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
/*处理与现地通信报文头的时效性*/
|
||||
timeoutSnCount = GetCiAndAtsTransBadEnsureCnt();
|
||||
timeoutSpan = GetCiAndAtsTransBadEnsureTime();
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, gSzXiandiHLHTHeadCtxs, ATS_SUM_MAX);
|
||||
|
||||
/*处理与ATS通信报文头的时效性*/
|
||||
timeoutSnCount = GetCiAndAtsTransBadEnsureCnt();
|
||||
timeoutSpan = GetCiAndAtsTransBadEnsureTime();
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, gSzAtsHLHTHeadCtxs, ATS_SUM_MAX);
|
||||
|
||||
/*处理VOBC通用报文头的时效性*/
|
||||
timeoutSnCount = GetCiAndVobcTransBadEnsureCnt();
|
||||
timeoutSpan = GetCiAndVobcTransBadEnsureTime();
|
||||
ProcHlhtHeadCtxTimeOutDiffSys(timeoutSnCount, timeoutSpan, vobcToRcHLHTHeadCtxs, VOBC_SUM_MAX);
|
||||
}
|
||||
/*
|
||||
* 功能描述: 根据设备类型,获得具备初始通信互联互通头的所有设备ID
|
||||
@@ -578,40 +537,15 @@ static UINT8 GetHLHTHeadCtxTmepVars(const UINT8 devType, UINT16 *devMaxSum, HLHT
|
||||
UINT8 retVal = CI_ERROR;
|
||||
UINT16 maxDevSum = 0u;
|
||||
HLHTHeadContextStru *tempHeadCtxPtr = NULL;
|
||||
UINT8 chSystemWorkType = GetSystemWorkType();/*系统工作类型*/
|
||||
UINT8 cRcWorkMode = 0U;/*本系统当前工作模式*/
|
||||
|
||||
cRcWorkMode = GetLocalRcWorkMode();
|
||||
|
||||
if (CI_SYSTEM_TYPE_CI == devType)
|
||||
if ((CI_SYSTEM_TYPE_CI == devType))
|
||||
{
|
||||
maxDevSum = CI_SUM_MAX;
|
||||
tempHeadCtxPtr = ciHLHTHeadCtxs;
|
||||
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_SYSTEM_TYPE_RC == devType)
|
||||
{
|
||||
maxDevSum = CI_SUM_MAX;
|
||||
tempHeadCtxPtr = gSzRcHLHTHeadCtxs;
|
||||
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_SYSTEM_TYPE_VOBC == devType)
|
||||
{
|
||||
maxDevSum = VOBC_SUM_MAX;
|
||||
if (RC_WORK_MODE_CI == cRcWorkMode)
|
||||
{
|
||||
tempHeadCtxPtr = vobcHLHTHeadCtxs;
|
||||
}
|
||||
else
|
||||
{/*RC模式下*/
|
||||
tempHeadCtxPtr = vobcToRcHLHTHeadCtxs;
|
||||
}
|
||||
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_SYSTEM_TYPE_IVOC == devType)
|
||||
{
|
||||
maxDevSum = VOBC_SUM_MAX;
|
||||
tempHeadCtxPtr = vobcHLHTHeadCtxs;
|
||||
@@ -642,14 +576,7 @@ static UINT8 GetHLHTHeadCtxTmepVars(const UINT8 devType, UINT16 *devMaxSum, HLHT
|
||||
else if (CI_SYSTEM_TYPE_AXIS == devType)
|
||||
{
|
||||
maxDevSum = AXLE_SUM_MAX;
|
||||
if((SYSTEM_WORK_MODE_ALL == chSystemWorkType) && (RC_WORK_MODE_TIOC == CI_SYSTEM_TYPE_RCI))
|
||||
{
|
||||
tempHeadCtxPtr = gSzRcAxleHLHTHeadCtxs;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempHeadCtxPtr = axleHLHTHeadCtxs;
|
||||
}
|
||||
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
@@ -660,20 +587,6 @@ static UINT8 GetHLHTHeadCtxTmepVars(const UINT8 devType, UINT16 *devMaxSum, HLHT
|
||||
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_SYSTEM_TYPE_XIANDI == devType)
|
||||
{
|
||||
maxDevSum = ATS_SUM_MAX;
|
||||
tempHeadCtxPtr = gSzXiandiHLHTHeadCtxs;
|
||||
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else if (CI_SYSTEM_TYPE_ATS == devType)
|
||||
{
|
||||
maxDevSum = ATS_SUM_MAX;
|
||||
tempHeadCtxPtr = gSzAtsHLHTHeadCtxs;
|
||||
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
@@ -701,7 +614,7 @@ static void ProcHlhtHeadCtxTimeOutDiffSys(const UINT32 timeoutSnCount, const UIN
|
||||
HLHTHeadContextStru tempHeadCtx = { 0u };
|
||||
UINT8 headValid = 0u;
|
||||
INT32 remainValidiy;/*剩余的时间*/
|
||||
UINT8 chRcID = 0U;
|
||||
|
||||
if (NULL != headCtxs)
|
||||
{
|
||||
for (i = 0u;i < headCount;i++)
|
||||
@@ -738,11 +651,23 @@ static void ProcHlhtHeadCtxTimeOutDiffSys(const UINT32 timeoutSnCount, const UIN
|
||||
}
|
||||
|
||||
if (0u == headValid)
|
||||
{
|
||||
if (headCtxs == axleHLHTHeadCtxs) /*计轴系统中断时,GAL层对方序号,收到对方数据时本方序号,设置0xFFFFFFFF*/
|
||||
{
|
||||
headCtxs[i].logId = 0u;
|
||||
headCtxs[i].sourceRecvOppMsgSN = 0u;
|
||||
headCtxs[i].sourcePreOwnMsgSN = 0u;
|
||||
headCtxs[i].sourceComPeriod = 0u;
|
||||
headCtxs[i].sourceCrntOwnMsgSN = 0xFFFFFFFFu;
|
||||
headCtxs[i].ciPreRecvOwnSn = 0xFFFFFFFFu;
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)CommonMemSet(&(headCtxs[i]), (UINT32)sizeof(HLHTHeadContextStru), 0u, (UINT32)sizeof(HLHTHeadContextStru));
|
||||
headCtxs[i].sourceCrntOwnMsgSN = 0xFFFFFFFFu;
|
||||
headCtxs[i].ciPreRecvOwnSn = 0xFFFFFFFFu;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
@@ -1258,72 +1183,3 @@ void ProcIteHlhtHeadCtxTimeOut(const UINT32 dwTimeoutSnCount, const UINT32 dwTim
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定oc的CI-RC同步互联互通报文头上下文数据
|
||||
* 参数说明:const UINT8 oc ID
|
||||
* 返 回 值:NULL 获取数据失败
|
||||
* 非NULL 获取数据成功
|
||||
* Created By fan 2025.11.12
|
||||
*/
|
||||
HLHTHeadContextStru* GetCiToRcHLHTOcHeadCtx(const UINT8 ocId)
|
||||
{
|
||||
HLHTHeadContextStru* pstrRetVal = NULL;
|
||||
|
||||
if ((0U < ocId) && (OC_SUM_MAX > ocId))
|
||||
{
|
||||
pstrRetVal = &ocHLHTHeadCtxsCiToRc[ocId];
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
return pstrRetVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定CI的CI-RC同步CI互联互通报文头上下文数据
|
||||
* 参数说明:const UINT8 chDevId 设备ID
|
||||
* 返 回 值:NULL 获取数据失败
|
||||
* 非NULL 获取数据成功
|
||||
* Created By fan 2025.12.31
|
||||
*/
|
||||
HLHTHeadContextStru* GetCiToRcWithCiHeadCtx(const UINT8 chDevId)
|
||||
{
|
||||
HLHTHeadContextStru* pstrRetVal = NULL;
|
||||
|
||||
if ((0U < chDevId) && (CI_SUM_MAX > chDevId))
|
||||
{
|
||||
pstrRetVal = &ciHLHTHeadCtxsCiToRc[chDevId];
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
return pstrRetVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定CI的CI-RC同步RC互联互通报文头上下文数据
|
||||
* 参数说明:const UINT8 chDevId 设备ID
|
||||
* 返 回 值:NULL 获取数据失败
|
||||
* 非NULL 获取数据成功
|
||||
* Created By fan 2025.12.31
|
||||
*/
|
||||
HLHTHeadContextStru* GetCiToRcWithRcHeadCtx(const UINT8 chDevId)
|
||||
{
|
||||
HLHTHeadContextStru* pstrRetVal = NULL;
|
||||
|
||||
if ((0U < chDevId) && (CI_SUM_MAX > chDevId))
|
||||
{
|
||||
pstrRetVal = &gSzRcHLHTHeadCtxsCiToRc[chDevId];
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
return pstrRetVal;
|
||||
}
|
||||
@@ -38,22 +38,15 @@ extern "C" {
|
||||
} HLHTHeadContextStru;
|
||||
|
||||
/*******************************全局变量声明*******************************/
|
||||
extern HLHTHeadContextStru ciHLHTHeadCtxs[CI_SUM_MAX];/*存放与本控区通信的相邻CI互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru gSzRcHLHTHeadCtxs[CI_SUM_MAX]; /*存放与本控区通信的相邻RC互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru ciHLHTHeadCtxsCiToRc[CI_SUM_MAX];/*存放与本控区通信的相邻CI互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru gSzRcHLHTHeadCtxsCiToRc[CI_SUM_MAX]; /*存放与本控区通信的相邻RC互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru ciHLHTHeadCtxs[CI_SUM_MAX];/*存放与本CI通信的相邻CI互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru vobcHLHTHeadCtxs[VOBC_SUM_MAX];/*存放与本CI通信的VOBC互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru vobcBackupHLHTHeadCtxs[VOBC_BACKUP_SUM_MAX];/*存放与本CI通信的后备模式VOBC互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru zcHLHTHeadCtxs[ZC_SUM_MAX];/*存放与本CI通信的ZC互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru ocHLHTHeadCtxs[OC_SUM_MAX];/*存放与本CI通信的OC互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru ocHLHTHeadCtxsCiToRc[OC_SUM_MAX];/*存放与本CI通信的OC互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru axleHLHTHeadCtxs[AXLE_SUM_MAX];/*存放与本CI通信的计轴系统互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru gSzRcAxleHLHTHeadCtxs[AXLE_SUM_MAX];/*存放与RC通信的计轴系统互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru tmcHLHTHeadCtxs[TMC_SUM_MAX];/*存放与本TIOC通信的TMC互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru IteHLHTHeadCtxs[ITE_SUM_MAX][VOBC_INC_ITE_SUM_MAX];/*存放与本TIOC通信的ITE互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru gSzXiandiHLHTHeadCtxs[ATS_SUM_MAX]; /*存放与本CI通信的现地互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru gSzAtsHLHTHeadCtxs[ATS_SUM_MAX]; /*存放与本CI通信的ATS互联互通报文头上下文数据*/
|
||||
extern HLHTHeadContextStru vobcToRcHLHTHeadCtxs[VOBC_SUM_MAX];/*RC模式下,存放与本RC通信的510 VOBC互联互通报文头上下文数据。CI模式下不使用*/
|
||||
|
||||
/*
|
||||
* 功能描述:获取某个设备最近一次给CI发送数据时其当前的序号
|
||||
* 参数说明:
|
||||
@@ -292,31 +285,6 @@ extern "C" {
|
||||
* Created By LQ 2024.06.11
|
||||
*/
|
||||
void ProcIteHlhtHeadCtxTimeOut(const UINT32 dwTimeoutSnCount, const UINT32 dwTimeoutSpan);
|
||||
/*
|
||||
* 功能描述:获取指定oc的CI-RC同步互联互通报文头上下文数据
|
||||
* 参数说明:const UINT8 oc ID
|
||||
* 返 回 值:NULL 获取数据失败
|
||||
* 非NULL 获取数据成功
|
||||
* Created By fan 2025.11.12
|
||||
*/
|
||||
HLHTHeadContextStru* GetCiToRcHLHTOcHeadCtx(const UINT8 ocId);
|
||||
/*
|
||||
* 功能描述:获取指定CI的CI-RC同步CI互联互通报文头上下文数据
|
||||
* 参数说明:const UINT8 chDevId 设备ID
|
||||
* 返 回 值:NULL 获取数据失败
|
||||
* 非NULL 获取数据成功
|
||||
* Created By fan 2025.12.31
|
||||
*/
|
||||
HLHTHeadContextStru* GetCiToRcWithCiHeadCtx(const UINT8 chDevId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取指定CI的CI-RC同步RC互联互通报文头上下文数据
|
||||
* 参数说明:const UINT8 chDevId 设备ID
|
||||
* 返 回 值:NULL 获取数据失败
|
||||
* 非NULL 获取数据成功
|
||||
* Created By fan 2025.12.31
|
||||
*/
|
||||
HLHTHeadContextStru* GetCiToRcWithRcHeadCtx(const UINT8 chDevId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -95,8 +95,8 @@ UINT8 GetSignalShowColor(const UINT16 signalId);
|
||||
/*
|
||||
* 功能描述: 信号机双系板卡故障,信号机当前设置颜色
|
||||
* 参数说明:
|
||||
UINT16 signalId:信号机id
|
||||
UINT8 ocId OC ID
|
||||
UINT16 signalId:信号机id
|
||||
UINT8 ocId OC ID
|
||||
* 返回值 : 信号机颜色
|
||||
*/
|
||||
UINT8 GetOcBoardFaultSignalColor(UINT16 signalId, UINT8 ocId);
|
||||
@@ -137,14 +137,12 @@ void SwitchDeviceToRelayStateProc(void);
|
||||
*/
|
||||
void PhySecRelayToDeviceStateProc(void);
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* 功能描述: 更新区段计轴复位继电器状态
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
*/
|
||||
void PhySecResetToRelayStateProc(void);
|
||||
#endif
|
||||
/*
|
||||
* 功能描述: 更新区段计轴复位继电器状态
|
||||
* 参数说明: void
|
||||
@@ -186,9 +184,10 @@ UINT8 PsdDeviceToRelayStateProc(void);
|
||||
/*
|
||||
* 功能描述: 更新洗车机继电器状态
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
* 返回值 : 0: 更新失败
|
||||
* 1: 更新成功
|
||||
*/
|
||||
void WashMachineDevToRelayStaProc(void);
|
||||
UINT8 WashMachineDevToRelayStaProc(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 更新紧急停车按钮逻辑状态
|
||||
@@ -225,9 +224,10 @@ void GaragedoorDevToRelayStaProc(void);
|
||||
/*
|
||||
* 功能描述: 更新洗车机的逻辑状态
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
* 返回值 : 0: 更新失败
|
||||
* 1: 更新成功
|
||||
*/
|
||||
void WashMachineToDeviceStateProc(void);
|
||||
UINT8 WashMachineToDeviceStateProc(void);
|
||||
/*
|
||||
* 功能描述: 更新Spks按钮逻辑状态
|
||||
* 参数说明: void
|
||||
@@ -269,7 +269,6 @@ void FloodGateDeviceToRelayStateProc(void);
|
||||
* 功能描述: 更新进路的调车同意逻辑状态
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
* BY CGH 20250523
|
||||
*/
|
||||
void RouteDCTYRelayToDeviceStateProc(void);
|
||||
|
||||
@@ -326,17 +325,12 @@ void OcSwitchDeviceOutput(void);
|
||||
UINT8 GetOcSignalColor(UINT16 signalId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取OC道岔设备状态
|
||||
* 功能描述: 获取OC道岔设备颜色
|
||||
* 参数说明:
|
||||
UINT16 switchId:道岔id
|
||||
UINT8 mainControlOCId 主控OCId
|
||||
* 返回值 :
|
||||
* ((UINT8)0x01) 道岔定位
|
||||
* ((UINT8)0x02) 道岔反位
|
||||
* ((UINT8)0x04) 道岔四开
|
||||
* ((UINT8)0x08) 道岔移动
|
||||
UINT16 signalId:信号机id
|
||||
* 返回值 : void
|
||||
*/
|
||||
UINT8 GetOcSwitchState(UINT16 switchId, UINT8 mainControlOCId);
|
||||
UINT8 GetOcSwitchState(UINT16 switchId);
|
||||
|
||||
/*
|
||||
* 功能描述: 间隙探测脉冲接口方式启动驱动处理
|
||||
@@ -359,7 +353,7 @@ void ProcessJXTCPulseInterfStopDrv(UINT16 startJXTCRelayId, UINT16 stopJXTCRelay
|
||||
|
||||
/******************************OC spks指示灯输出处理****************************/
|
||||
/*
|
||||
* 功能描述: OC spks指示灯、spks旁路指示灯及蜂鸣继电器处理
|
||||
* 功能描述: OC spks指示灯和spks旁路指示灯输出处理
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
*/
|
||||
@@ -688,14 +682,13 @@ void DetZfsCancelBtnPressStateProc(const UINT16 wSignalId, const UINT16 wCancelD
|
||||
void DetZfsCancelBtnActFlagProc(const UINT16 wSignalId, const UINT16 wCancelDetBtnRelayId);
|
||||
|
||||
/*
|
||||
* 功能描述:驱动自复式扣车相关指示灯
|
||||
* 参数说明:const UINT16 signalId 信号机ID
|
||||
* const UINT16 signalDetDisRelayId 扣车表示灯继电器ID
|
||||
* const UINT16 signalDetCutDisRelayId 扣车旁路表示灯继电器
|
||||
* 返 回 值:无
|
||||
* Modified By LQ 2025.07.03
|
||||
* 功能描述:驱动自复式扣车指示灯
|
||||
* 参数说明:const UINT16 signalId, 信号机ID
|
||||
* const UINT16 signalDetainDisplayId, 扣车表示灯继电器1ID
|
||||
* 返回值:无
|
||||
*
|
||||
*/
|
||||
void DriveZfsDetainBsRelay(const UINT16 signalId, const UINT16 signalDetDisRelayId, const UINT16 signalDetCutDisRelayId);
|
||||
void DriveZfsDetainBsRelay(const UINT16 signalId, const UINT16 signalDetainDisplayId);
|
||||
|
||||
/*
|
||||
* 功能描述:自复式紧急停车按钮处理
|
||||
@@ -808,7 +801,7 @@ UINT8 WashMachineWorkModeRelayProc(const UINT16 washMachineId);
|
||||
* CI_SUCCESS: 更新成功
|
||||
* by cgh 20231113
|
||||
*/
|
||||
void DownWashDevToRelayStaProc(const UINT16 washMachineId);
|
||||
UINT8 DownWashDevToRelayStaProc(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式洗车线关联进路状态检查
|
||||
@@ -860,348 +853,6 @@ UINT8 GetSwitchCollToleratePos(const UINT16 switchId);
|
||||
*/
|
||||
UINT8 CheckSwitchCollTolerateState(UINT16 switchId);
|
||||
|
||||
/*
|
||||
* 功能描述:宁象市域铁路紧急停车按钮处理
|
||||
* 参数说明:UINT16 esbId ESB ID
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.03.28
|
||||
*/
|
||||
void EsbNXRailBtnProc(UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:宁象市域铁路紧急停车取消按钮处理
|
||||
* 参数说明:UINT16 esbId ESB ID
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.03.28
|
||||
*/
|
||||
void EsbNXRailCancelBtnProc(UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:宁象市域铁路紧急停车取消按钮有效标志处理
|
||||
* 参数说明:const UINT16 wEsbId ESB ID
|
||||
* const UINT16 wCancelEsbRelayId ESB取消按钮采集继电器ID
|
||||
* 返回值 :无
|
||||
* Created By LQ 2025.03.30
|
||||
*/
|
||||
void EsbNXRailCancelBtnValidFlagProc(const UINT16 wEsbId, const UINT16 wCancelEsbRelayId);
|
||||
|
||||
/*
|
||||
* 功能描述:宁象市域铁路紧急停车旁路按钮处理
|
||||
* 参数说明:UINT16 esbId ESB ID
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.03.30
|
||||
*/
|
||||
void EsbNXRailCutBtnProc(UINT16 esbId);
|
||||
|
||||
/*
|
||||
* 功能描述:宁象市域铁路紧急停车旁路按钮按下状态处理
|
||||
* 参数说明:const UINT16 wEsbId ESB ID
|
||||
* const UINT16 wCutEsbRelayId 紧急旁路按钮采集继电器ID
|
||||
* 返回值 :无
|
||||
* Created By LQ 2025.03.30
|
||||
*/
|
||||
void EsbNXRailCutBtnPressStateProc(const UINT16 wEsbId, const UINT16 wCutEsbRelayId);
|
||||
|
||||
/*
|
||||
* 功能描述:宁象市域铁路ESB指示灯和ESB旁路指示灯输出处理
|
||||
* 参数说明:const UINT16 wEsbId ESB ID
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.03.30
|
||||
*/
|
||||
void EsbNXRailDisplayDrivOutput(const UINT16 wEsbId);
|
||||
|
||||
/*
|
||||
* 功能描述:屏蔽门异常打开处理
|
||||
* 参数说明:无
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.05.23
|
||||
*/
|
||||
void PsdExceptOpenProc(void);
|
||||
|
||||
/*
|
||||
* 功能描述:自复式扣车旁路按钮处理
|
||||
* 参数说明:const UINT16 signalId 信号机ID
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.06.20
|
||||
*/
|
||||
void SignalZfsDetainCutBtnPro(const UINT16 signalId);
|
||||
|
||||
/*
|
||||
* 功能描述:自复式扣车旁路按钮按下状态处理
|
||||
* 参数说明:const UINT16 wSignalId 信号机ID
|
||||
* const UINT16 wDetCutBtnRelayId 扣车旁路按钮采集继电器ID
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.06.20
|
||||
*/
|
||||
void ZfsDetCutBtnPressStateProc(const UINT16 wSignalId, const UINT16 wDetCutBtnRelayId);
|
||||
|
||||
/*
|
||||
* 功能描述:自复式扣车旁路按钮有效状态处理
|
||||
* 参数说明:const UINT16 wSignalId 信号机ID
|
||||
* const UINT16 wDetCutBtnRelayId 扣车旁路按钮采集继电器ID
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.06.20
|
||||
*/
|
||||
void ZfsDetCutBtnValidStateProc(const UINT16 wSignalId, const UINT16 wDetCutBtnRelayId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取SPKS按钮采集容忍结果
|
||||
* 参数说明:const UINT16 wSpksId SPKS编号
|
||||
* 返 回 值:CI_ERROR 0 容忍结束
|
||||
* CI_SUCCESS 1 继续容忍
|
||||
* Created By LQ 2025.06.26
|
||||
*/
|
||||
UINT8 GetSpksBtnCollTolerateRet(const UINT16 wSpksId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取Psd门开继电器采集容忍结果
|
||||
* 参数说明:const UINT16 wPsdId PSD编号
|
||||
* 返 回 值:CI_ERROR 0 容忍结束
|
||||
* CI_SUCCESS 1 继续容忍
|
||||
* Created By LQ 2025.06.26
|
||||
*/
|
||||
UINT8 GetPsdRelayCollTolerateRet(const UINT16 wPsdId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取Esb采集容忍结果
|
||||
* 参数说明:const UINT16 wEsbId ESB编号
|
||||
* 返 回 值:CI_ERROR 0 容忍结束
|
||||
* CI_SUCCESS 1 继续容忍
|
||||
* Created By LQ 2025.06.26
|
||||
*/
|
||||
UINT8 GetEsbCollTolerateRet(const UINT16 wEsbId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取扣车按钮1采集容忍结果
|
||||
* 参数说明:const UINT16 wSignalId 信号机编号
|
||||
* 返 回 值:CI_ERROR 0 容忍结束
|
||||
* CI_SUCCESS 1 继续容忍
|
||||
* Created By LQ 2025.06.26
|
||||
*/
|
||||
UINT8 GetFstDetBtnCollTolerateRet(const UINT16 wSignalId);
|
||||
|
||||
/*
|
||||
* 功能描述:获取扣车按钮2采集容忍结果
|
||||
* 参数说明:const UINT16 wSignalId 信号机编号
|
||||
* 返 回 值:CI_ERROR 0 容忍结束
|
||||
* CI_SUCCESS 1 继续容忍
|
||||
* Created By LQ 2025.06.26
|
||||
*/
|
||||
UINT8 GetSndDetBtnCollTolerateRet(const UINT16 wSignalId);
|
||||
|
||||
/*
|
||||
* 功能描述: 设置所有道岔转辙机位置
|
||||
* 参数说明: UINT16 switchCurSum 道岔总数
|
||||
* 返回值 : 无
|
||||
*/
|
||||
void SetAllSingleSwitchZzjState(UINT16 switchCurSum);
|
||||
|
||||
/*
|
||||
* 功能描述: 指定洗车机ID降级模式洗车按钮状态更新
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void WashMachineButtonStateProc(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 指定洗车机ID降级模式请求信息处理
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void WashMachineApplyStateProc(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 指定洗车机ID降级模式洗车请求信息处理
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void WashMachineApplyProc(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 指定洗车机ID降级模式反向通过请求信息处理
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void WashMachinePassApplyProc(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 洗车线控制室更新洗车同意按钮逻辑
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void WashMachineButtonUpdate(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: DCC更新洗车同意按钮逻辑
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void WashMachineDCCButtonUpdate(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 融合洗车同意状态
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void FusionWashMachineAllowState(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 洗车线控制室更新反向洗车同意按钮逻辑
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void WashMachinePassButtonUpdate(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: DCC更新反向洗车同意按钮逻辑
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void WashMachineDCCPassButtonUpdate(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 融合反向通过同意按钮状态
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void FusionWashMachinePassAllowState(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式洗车线洗车请求指示灯
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 :void
|
||||
*/
|
||||
void WashMachineApplyLight(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式DCC洗车请求指示灯
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 :void
|
||||
*/
|
||||
void WashMachineDccApplyLight(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式洗车线洗车反向通过请求指示灯
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 :void
|
||||
*/
|
||||
void WashMachinePassApplyLight(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式DCC洗车反向通过请求指示灯
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 :void
|
||||
*/
|
||||
void WashMachineDccPassApplyLight(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式洗车同意指示灯
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 :void
|
||||
*/
|
||||
void WashMachineAllowLight(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式DCC洗车同意指示灯
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 :void
|
||||
*/
|
||||
void WashMachineDccAllowLight(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式洗车同意反向通过指示灯
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 :void
|
||||
*/
|
||||
void WashMachinePassAllowLight(const UINT16 washMachineId);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 降级模式DCC洗车同意反向通过指示灯
|
||||
* 参数说明: const UINT16 washMachineId 洗车机ID
|
||||
* 返回值 :void
|
||||
*/
|
||||
void WashMachineDccPassAllowLight(const UINT16 washMachineId);
|
||||
|
||||
/*
|
||||
* 功能描述: 更新屏蔽门对应IBP盘发车按钮继电器状态
|
||||
* 参数说明: const UINT16 wPsdId 屏蔽门ID
|
||||
* 返回值 : CI_ERROR: 更新失败
|
||||
* CI_SUCCESS: 更新成功
|
||||
*/
|
||||
UINT8 PsdIbpRelToDevStaProc(const UINT16 wPsdId);
|
||||
|
||||
/*
|
||||
* 功能描述:同站紧急按钮及旁路按钮状态处理
|
||||
* 参数说明:void
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.12.30
|
||||
*/
|
||||
void OnePlatEsbAndCutBtnProc(void);
|
||||
|
||||
/*
|
||||
* 功能描述:取消当前未异常打开的站台门的异常状态
|
||||
* 参数说明: const UINT16 doorId,屏蔽门ID
|
||||
* 返回值 :无
|
||||
*Create fan 2026.03.26
|
||||
*/
|
||||
void CancelPsdExceptState(UINT16 doorId);
|
||||
/*
|
||||
* 功能描述: 设置道岔的每一个OC的主控状态
|
||||
* 参数说明:
|
||||
UINT16 switchId:道岔id
|
||||
* 返回值 :void
|
||||
* add by mpt 20260326
|
||||
*/
|
||||
void SetOcSwitchControlState(UINT16 switchId);
|
||||
/*
|
||||
* 功能描述: 仲裁当前道岔的主控OC
|
||||
* 参数说明: UINT16 switchCurSum 道岔总数
|
||||
* 返回值 : 无
|
||||
* add by mpt 20260326
|
||||
*/
|
||||
void SetAllSwitchCurMainControlOC(UINT16 switchCurSum);
|
||||
/*
|
||||
* 功能描述: OC道岔主控命令生成处理
|
||||
* 参数说明: UINT16 switchId 道岔ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void OutSwitchControlModeCmd(UINT16 switchId);
|
||||
/*
|
||||
* 功能描述: 道岔无主控时产生主备控命令处理
|
||||
* 参数说明: UINT16 switchId
|
||||
* 返回值 : void
|
||||
*/
|
||||
void SwitchMainControlCmdOut(UINT16 switchId, UINT8 ocId);
|
||||
/*
|
||||
* 功能描述: OC道岔主控状态管理
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
*/
|
||||
void OcSwitchControlModeCmdOutput(void);
|
||||
/*
|
||||
* 功能描述: 双主防护模块
|
||||
* 参数说明: UINT16 switchId 道岔ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void SwitchDoubleMainProtect(UINT16 switchId);
|
||||
/*
|
||||
* 功能描述:道岔寻表模块
|
||||
* 参数说明: UINT16 switchId 道岔ID
|
||||
* 返回值 : void
|
||||
* add by mpt 20260328
|
||||
*/
|
||||
void FindSwitchPostionCmdOut(UINT16 switchId);
|
||||
|
||||
/*
|
||||
* 功能描述: 更新倒切柜状态
|
||||
* 参数说明: void
|
||||
* 返回值 : 无
|
||||
* Create Fan 20260608
|
||||
*/
|
||||
void ReverseStateUpdateProc(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
+2107
-3097
File diff suppressed because it is too large
Load Diff
@@ -128,6 +128,14 @@ void ProcessPscToCiData(void);
|
||||
*/
|
||||
UINT8 ProcessAtsOrXianDiToCiData(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 处理车辆段的ATS或现地到CI数据
|
||||
* 参数说明: void
|
||||
* 返回值 : 0:处理失败
|
||||
* 1:处理成功
|
||||
*/
|
||||
UINT8 ProcessAtsOrXianDiToCiDataCld(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 处理设备逻辑状态
|
||||
* 参数说明: void
|
||||
@@ -296,7 +304,7 @@ UINT8 CheckOrderWhetherDoing(UINT8 virCIid,UINT8 belongVirCIid,UINT8 orderType,U
|
||||
* UINT8 MaskType 码位类型
|
||||
* 返回值 : 无
|
||||
*/
|
||||
void DealAutoReturnMask(UINT16 DeviceId,UINT8* pMaskBuf,UINT8 MaskType,UINT16 index);
|
||||
void DealAutoReturnMask_UseVirCI(UINT16 DeviceId,UINT16*maskBuf,UINT8 MaskType,UINT16 index);
|
||||
/*
|
||||
* 功能描述: 获取全站维修点灯状态
|
||||
* 参数说明: UINT8 virCIid 虚拟联锁ID
|
||||
@@ -443,108 +451,6 @@ void LogRouteCleanOldPhySecLockProc(const UINT16 wPreRouteId);
|
||||
*/
|
||||
void OtherPartRouteCleanLogRouteProc(const UINT16 wCurRouteId);
|
||||
|
||||
/*
|
||||
* 功能描述:处理OC->CI的PSD数据
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
*/
|
||||
void ProcessOCToCiPsdData(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 处理OC到CI的不一致继电器数据
|
||||
* 参数说明: void
|
||||
* 返回值 : 0:处理失败
|
||||
* 1:处理成功
|
||||
*/
|
||||
void ProcessOcToCiRelayDiffData(void);
|
||||
|
||||
/*
|
||||
* 功能描述:处理CI与RC间通信状态和数据
|
||||
* 参数说明:void
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.11.04
|
||||
*/
|
||||
void ProcessCiAndRcInfo(void);
|
||||
|
||||
/**
|
||||
* @brief 保护区段解锁申请
|
||||
* @param[in] 无
|
||||
* @return 无
|
||||
* @note by cgh 20251107
|
||||
*/
|
||||
void OverlapUnlockApplyDeal(void);
|
||||
|
||||
|
||||
/**
|
||||
* @brief 进路停车保证处理
|
||||
* @param[in] 无
|
||||
* @return 无
|
||||
* @note by cgh 20251107
|
||||
*/
|
||||
void RouteStopensureDeal(void);
|
||||
|
||||
/**
|
||||
* @brief 更新双系统融合数据
|
||||
* @param[in] void
|
||||
* @return 无
|
||||
* @note by cgh 20251106
|
||||
*/
|
||||
void UpdateDoubleSystemMergeInfo(void);
|
||||
|
||||
/*
|
||||
* 功能描述:逻辑区段信息融合处理
|
||||
* 参数说明:无
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.11.07
|
||||
*/
|
||||
void LogSecInfoMergePro(void);
|
||||
|
||||
/*
|
||||
* 功能描述:雨雪信息融合处理
|
||||
* 参数说明:无
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.11.10
|
||||
*/
|
||||
void SnowInfoMergePro(void);
|
||||
|
||||
/**
|
||||
* @brief 进路停车保证信息融合
|
||||
* @param[in] void
|
||||
* @return 无
|
||||
* @note by cgh 20251106
|
||||
*/
|
||||
void RouteStopensureFlagMergeDeal(void);
|
||||
|
||||
/**
|
||||
* @brief 信号机信息融合处理
|
||||
* @param[in] void
|
||||
* @return 无
|
||||
* @note by cgh 20251106
|
||||
*/
|
||||
void SignalInfoMergeDeal(void);
|
||||
|
||||
/*
|
||||
* 功能描述:信号机列车跨压处理
|
||||
* 参数说明:无
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.11.11
|
||||
*/
|
||||
void SignalTrainCrossPro(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 处理VOBC到CI数据
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
*/
|
||||
void ProcessIvocToRCData(void);
|
||||
/*
|
||||
* 功能描述: Vobc点连式信息清除
|
||||
* 参数说明: UINT16 wTrainId:VOBCid
|
||||
* 返回值 : void
|
||||
* by lyj 20260316
|
||||
*/
|
||||
void VobcBlocLinkDataClear(const UINT16 wTrainId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
+1086
-1523
File diff suppressed because it is too large
Load Diff
@@ -92,7 +92,6 @@ UINT8 CiToAtsBackInfoFunctionJudge(const UINT8 functionId,const UINT8 deviceType
|
||||
*/
|
||||
void IndicatorStateProc(void);
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* 功能描述: 指示器状态处理
|
||||
* 参数说明: void
|
||||
@@ -100,7 +99,6 @@ void IndicatorStateProc(void);
|
||||
*/
|
||||
void IndicatorStateProc_UseVirCI(UINT8 virCIid);
|
||||
|
||||
#endif
|
||||
/*
|
||||
* 功能描述: 非进路继电器状态处理
|
||||
* 参数说明: void
|
||||
@@ -149,7 +147,12 @@ void SignaDsBreakAlarmIndicator_Vir(UINT8 virCIid,UINT8 devId);
|
||||
*/
|
||||
void CiToCiOutputCmdProc(void);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 根据无人折返指示灯的闪灯和稳灯状态驱动继电器或设置状态
|
||||
* 参数说明: 无
|
||||
* 返回值 : 无
|
||||
*/
|
||||
static void AutoRtnIndictStatusProc_VirCI(void);
|
||||
/*
|
||||
* 功能描述: 获取组合自动进路所属虚拟联锁ID
|
||||
* 参数说明: groupAutoRouteId 组合自动进路的ID
|
||||
@@ -453,101 +456,6 @@ UINT8 FindRouteLeaveAxis(const UINT16 routeId);
|
||||
*/
|
||||
void RtnRealyAdhesionStatePro(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取人工解锁保护区段剩余倒计时
|
||||
* 参数说明: const UINT16 overlapId 保护区段id
|
||||
* 返回值 : 倒计时
|
||||
* by cgh 20250928
|
||||
*/
|
||||
UINT16 GetOverlapLaborUnlockBackTime(const UINT16 overlapId);
|
||||
/*
|
||||
* 功能描述: 设置联锁I系II系工作状态指示灯
|
||||
* 参数说明: const UINT16 wFIndicatorId I系指示灯id
|
||||
* const UINT16 wSIndicatorId II系指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260105
|
||||
*/
|
||||
void SetWorkStatusIndicator(const UINT16 wFIndicatorId, const UINT16 wSIndicatorId);
|
||||
/*
|
||||
* 功能描述: 设置信号故障关闭指示灯
|
||||
* 参数说明: const UINT16 wIndicatorId 指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260105
|
||||
*/
|
||||
void SetSigFaultCloseIndicator(const UINT16 wIndicatorId);
|
||||
/*
|
||||
* 功能描述: 设置道岔挤岔指示灯
|
||||
* 参数说明: const UINT16 wIndicatorId 指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260105
|
||||
*/
|
||||
void SetSwitchJiChaIndicator(const UINT16 wIndicatorId);
|
||||
/*
|
||||
* 功能描述: 设置车库门故障指示灯
|
||||
* 参数说明: const UINT16 wIndicatorId 指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260105
|
||||
*/
|
||||
void SetGDoorFaultIndicator(const UINT16 wIndicatorId);
|
||||
/*
|
||||
* 功能描述: 设置继电器混线指示灯
|
||||
* 参数说明: const UINT16 wIndicatorId 指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260105
|
||||
*/
|
||||
void SetRealyHunXianIndicator(const UINT16 wIndicatorId);
|
||||
/*
|
||||
* 功能描述: 设置应急盘指示灯
|
||||
* 参数说明: const UINT16 wIndicatorId 指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260106
|
||||
*/
|
||||
void SetYjpIndicator(const UINT16 wIndicatorId);
|
||||
/*
|
||||
* 功能描述: 设置试车请求指示灯
|
||||
* 参数说明: const UINT16 wIndicatorId 指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260106
|
||||
*/
|
||||
void SetSCApplyIndicator(const UINT16 wIndicatorId);
|
||||
/*
|
||||
* 功能描述: 设置试车同意指示灯
|
||||
* 参数说明: const UINT16 wIndicatorId 指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260106
|
||||
*/
|
||||
void SetSCAllowIndicator(const UINT16 wIndicatorId);
|
||||
/*
|
||||
* 功能描述: 设置试车结束指示灯
|
||||
* 参数说明: const UINT16 wIndicatorId 指示灯id
|
||||
* 返回值 : 无
|
||||
* by lyj 20260106
|
||||
*/
|
||||
void SetSCOverIndicator(const UINT16 wIndicatorId);
|
||||
/*
|
||||
* 功能描述: 处理点连式列车发送数据信息
|
||||
* 参数说明: void
|
||||
* 返回值 : 无
|
||||
* by lyj 20260314
|
||||
*/
|
||||
void VobcBlocLinkOutputProcess(void);
|
||||
/*
|
||||
* 功能描述: 处理点连式列车进路信息
|
||||
* 参数说明: const UINT16 wTrainId 列车ID
|
||||
* 返回值 : 计算结果
|
||||
* by lyj 20260316
|
||||
*/
|
||||
|
||||
UINT8 BlocLinkTrainRouteMange(const UINT16 wTrainId);
|
||||
/*
|
||||
* 功能描述: 处理点连式列车逻辑区段信息
|
||||
* 参数说明: const UINT16 wTrainId 列车ID
|
||||
* 返回值 : 计算结果
|
||||
* by lyj 20260316
|
||||
*/
|
||||
|
||||
UINT8 BlocLinkTrainLogSecMange(const UINT16 wTrainId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -18,7 +18,7 @@ UINT16 LocalCiIndicatorIdBuf[INDICATOR_SUM_MAX] = {0u};/*
|
||||
INT16 IndicatorCurSum = 0; /*指示器当前总数*/
|
||||
|
||||
OCStationIndicConfigDataStru g_OCStationIndicConfigDataStru[INDICATOR_SUM_MAX] = { 0u };
|
||||
UINT16 g_OCStationIndicatorCurSum = 0; /*本联锁OC站(集中站和非集中站)指示器总数,不涉及主备跟随,取值范围 [0,2000) 暂无使用*/
|
||||
UINT16 g_OCStationIndicatorCurSum = 0; /*本联锁OC站(集中站和非集中站)指示器总数,不涉及主备跟随,取值范围0-1000*/
|
||||
|
||||
|
||||
|
||||
@@ -423,7 +423,7 @@ UINT8 GetIndicatorDevId(UINT16 indicatorId)
|
||||
* >0u: 报警灯设备ID
|
||||
* by cgh 20240910
|
||||
*/
|
||||
UINT16 GetIndicatorRelNonReturnId(UINT16 indicatorId)
|
||||
UINT8 GetIndicatorRelNonReturnId(UINT16 indicatorId)
|
||||
{
|
||||
|
||||
UINT16 wRetVal = CI_ERROR;
|
||||
@@ -457,29 +457,3 @@ UINT16 GetIndicatorRelNonReturnId(UINT16 indicatorId)
|
||||
|
||||
return wRetVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 根据指示灯ID获取指示灯虚拟联锁ID
|
||||
* 参数说明: UINT16 wIndicId 指示灯ID
|
||||
* 返回值 : 0u: 获取数据失败
|
||||
* >0u: 虚拟联锁ID
|
||||
* BY:lyj 20260105
|
||||
*/
|
||||
UINT8 GetIndicBelongRtuId(UINT16 wIndicId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT8 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetIndicatorConfigBufIndex(wIndicId); /*获取指示器相关继电器数组下标*/
|
||||
|
||||
if (INDICATOR_SUM_MAX > bufIndex)
|
||||
{
|
||||
reVal = IndicatorConfigDataStru[bufIndex].chBelongVirCIid;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ typedef struct S_IndicatorConfigDataStruct
|
||||
UINT8 IdSum; /*相关Id数量(配置字段)*/
|
||||
UINT16 IdBuf[INDICATOR_RELAY_SUM_MAX]; /*相关ID (配置字段)*/
|
||||
UINT8 BjdDeviceId; /*报警灯设备ID*/
|
||||
UINT8 chBelongVirCIid; /*所属虚拟联锁ID*/
|
||||
} IndicatorConfigDataStruct;
|
||||
|
||||
/*cgh-合并ECI11.0:OC站表示灯 OC站指一级集中站(CI+OC)的现地工作站、二级集中站(OC)的有岔非集现地工作站,中央联锁工作站*/
|
||||
@@ -184,15 +183,7 @@ UINT8 GetIndicatorDevId(UINT16 indicatorId);
|
||||
* >0u: 报警灯设备ID
|
||||
* by cgh 20240910
|
||||
*/
|
||||
UINT16 GetIndicatorRelNonReturnId(UINT16 indicatorId);
|
||||
/*
|
||||
* 功能描述: 根据指示灯ID获取指示灯虚拟联锁ID
|
||||
* 参数说明: UINT16 wIndicId 指示灯ID
|
||||
* 返回值 : 0u: 获取数据失败
|
||||
* >0u: 虚拟联锁ID
|
||||
* BY:lyj 20260105
|
||||
*/
|
||||
UINT8 GetIndicBelongRtuId(UINT16 wIndicId);
|
||||
UINT8 GetIndicatorRelNonReturnId(UINT16 indicatorId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
|
||||
/*总数最大值*/
|
||||
#define INDICATOR_SUM_MAX ((UINT16)2000) /*指示器最大数量,每个联锁40个指示灯,总共按20个联锁 */
|
||||
#define INDICATOR_SUM_MAX ((UINT16)1000) /*指示器最大数量,每个联锁40个指示灯,总共按20个联锁 */
|
||||
#define INDICATOR_RELAY_SUM_MAX ((UINT16)5) /*指示器相关继电器最大数量*/
|
||||
#define RTNINDICATOR_SUM_MAX ((UINT8)2U) /*一个虚拟联锁集中区无人折返最大数量*/
|
||||
|
||||
@@ -64,10 +64,7 @@
|
||||
#define INDICATOR_TYPE_SWITCH_JICHA ((UINT8)0x24) /* 道岔挤岔状态 */
|
||||
#define INDICATOR_TYPE_GD_DAD ((UINT8)0x25) /* 车库门故障报警状态 */
|
||||
#define INDICATOR_TYPE_XICHEJI_ALLOW_STATE ((UINT8)0x26) /* 非FAO线路同意洗车状态指示灯 */
|
||||
#define INDICATOR_TYPE_DOWNWASH_ALLOW_PASS ((UINT8)0x29) /* 降级模式洗车同意通过指示灯 */
|
||||
#define INDICATOR_TYPE_DOWNWASH_APPLY ((UINT8)0x63) /* 降级模式洗车请求指示灯 */
|
||||
#define INDICATOR_TYPE_DOWNWASH_PASS_APPLY ((UINT8)0x64) /* 降级模式反向通过请求指示灯 */
|
||||
#define INDICATOR_TYPE_XDC_DCGDJ ((UINT8)0x65) /* 蓄电池供电报警指示灯 */
|
||||
#define INDICATOR_TYPE_DOWNWASH_ALLOW_PASS_STATE ((UINT8)0x29) /* 降级模式洗车同意通过指示灯 */
|
||||
|
||||
#define INDICATOR_TYPE_ATS_CONFIRM_RELAY_INTERFACE ((UINT8)0x27) /*相邻联锁继电接口确认状态指示灯*/
|
||||
|
||||
|
||||
@@ -129,9 +129,6 @@ UINT8 InitAllStaticDataStr(void)
|
||||
/*声光报警器配置数据结构体*/
|
||||
chRtn &= CommonMemSet(SGBJConfigDataStru, (UINT32)(SGBJ_SUM_MAX * sizeof(SGBJConfigDataStruct)), 0u, (UINT32)(SGBJ_SUM_MAX * sizeof(SGBJConfigDataStruct)));
|
||||
|
||||
/*试灯数据配置结构体*/
|
||||
chRtn &= CommonMemSet(LightTestButtonConfigDataStru, (UINT32)(LIGHTTESTBUTTON_BUTTON_MAX_NUM * sizeof(LightTestButtonConfigDataStruct)), 0u, (UINT32)(LIGHTTESTBUTTON_BUTTON_MAX_NUM * sizeof(LightTestButtonConfigDataStruct)));
|
||||
|
||||
return chRtn;
|
||||
}
|
||||
|
||||
@@ -249,7 +246,6 @@ UINT8 ReadConfigureData(void)
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
|
||||
if (0u == rtnVal)
|
||||
{
|
||||
PhysicalSectionCurSum = ReadPhySicalSectionConfigData(LocalCiId, PhysicalSectionConfigDataStru);/*读物理区段配置数据*/
|
||||
@@ -450,13 +446,6 @@ UINT8 ReadConfigureData(void)
|
||||
|
||||
if (0u == rtnVal)
|
||||
{
|
||||
IndicatorCurSum = ReadIndicatorConfigData(LocalCiId, IndicatorConfigDataStru); /*读指示灯报警灯配置数据*/
|
||||
if (-1 == IndicatorCurSum)
|
||||
{
|
||||
rtnVal = 20u;/*读取指示灯报警灯配置数据失败*/
|
||||
debug_infor_printf((const)"ReadIndicatorConfigData fail.");
|
||||
}
|
||||
#if 0
|
||||
includeVirFlag = GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
if (FUNC_SWITCH_ON == includeVirFlag)
|
||||
{
|
||||
@@ -479,7 +468,15 @@ UINT8 ReadConfigureData(void)
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
IndicatorCurSum = ReadIndicatorConfigData(LocalCiId, IndicatorConfigDataStru); /*读指示灯报警灯配置数据*/
|
||||
if (-1 == IndicatorCurSum)
|
||||
{
|
||||
rtnVal = 20u;/*读取指示灯报警灯配置数据失败*/
|
||||
debug_infor_printf((const)"ReadIndicatorConfigData fail.");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -531,7 +528,7 @@ UINT8 ReadConfigureData(void)
|
||||
g_ret = ReadReverseCutConfigData(LocalCiId, gstReverseCutCfgData);
|
||||
if (-1 == g_ret)
|
||||
{
|
||||
rtnVal = 28u;/*读倒切配置数据失败-OC配置数据表单30*/
|
||||
rtnVal = 28u;/*读保护区段配置数据失败*/
|
||||
debug_infor_printf((const)"ReadReverseCutConfigData fail.");
|
||||
}
|
||||
else if (0 < g_ret)
|
||||
@@ -555,23 +552,7 @@ UINT8 ReadConfigureData(void)
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
if (0u == rtnVal)
|
||||
{
|
||||
LightTestButtonCurSum = ReadLightTestConfigData(LocalCiId, LightTestButtonConfigDataStru); /*读OC试灯按钮配置数据*/
|
||||
if (-1 == LightTestButtonCurSum)
|
||||
{
|
||||
rtnVal = 44u;/*读取OC试灯按钮数据失败*/
|
||||
debug_infor_printf((const)"\nReadLightTestConfigData fail.\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
|
||||
if (0u == rtnVal)
|
||||
{
|
||||
CiToAtsMaskCurSum = ReadCiToAtsMaskConfigData(LocalCiId, CiToAtsMaskConfigDataStru); /*读CI-ATS配置数据*/
|
||||
@@ -810,25 +791,6 @@ UINT8 ReadConfigureData(void)
|
||||
; /*不处理*/
|
||||
}
|
||||
|
||||
|
||||
if (0u == rtnVal)
|
||||
{
|
||||
g_ret = ReadReverseSwitchConfigData(LocalCiId, &gLocalReverseData);
|
||||
if (-1 == g_ret)
|
||||
{
|
||||
rtnVal = 39u;/*读板卡配置数据失败-OC配置数据表单40、41*/
|
||||
debug_infor_printf((const)"ReadReverseSwitchConfigData fail.");
|
||||
}
|
||||
else
|
||||
{
|
||||
/*无操作*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
|
||||
if (0u == rtnVal)
|
||||
{
|
||||
/*读系统参数配置数据*/
|
||||
@@ -957,7 +919,7 @@ UINT8 ReadConfigureData(void)
|
||||
g_ret = ReadEaConfigData(g_szEaConfig);
|
||||
if (-1 == g_ret)
|
||||
{
|
||||
rtnVal = 40u;
|
||||
rtnVal = 37u;
|
||||
debug_infor_printf((const)"ReadEaConfigData errcode =%d, ReadEaConfigData", rtnVal);
|
||||
}
|
||||
else
|
||||
@@ -1079,26 +1041,7 @@ UINT8 ReadConfigureData(void)
|
||||
if (0 == g_ret)
|
||||
{
|
||||
debug_infor_printf((const)"PhySectionNearConfigDataManage Error\n");
|
||||
rtnVal = 41u;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
|
||||
if (0U == rtnVal)
|
||||
{
|
||||
/*读取物理区段在计轴中的索引*/
|
||||
g_ret = (INT16)ReadPhySecIndexInAxle(LocalCiId, PhysicalSectionConfigDataStru);
|
||||
if (0 == g_ret)
|
||||
{
|
||||
debug_infor_printf((const)"ReadPhySecIndexInAxle Error\n");
|
||||
rtnVal = 42u;
|
||||
rtnVal = 37u;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1121,32 +1064,6 @@ UINT8 ReadConfigureData(void)
|
||||
rtnVal = 2u;
|
||||
}
|
||||
|
||||
if (0u == rtnVal)
|
||||
{
|
||||
g_ret = QueryTrackBelongLink();
|
||||
if (CI_ERROR == g_ret)
|
||||
{
|
||||
debug_infor_printf((const)"QueryTrackBelongLink Error\n");
|
||||
rtnVal = 43u;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
if (0u == rtnVal)
|
||||
{
|
||||
/*设置试车线与车辆段合设配置*/
|
||||
g_ret = (INT16)SetCldAndScxMergeConfig();
|
||||
if (0 == g_ret)
|
||||
{
|
||||
debug_infor_printf((const)"SetCldAndScxMergeConfig fail.\r\n");
|
||||
rtnVal = 44u;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1163,6 +1080,7 @@ UINT8 ReadConfigureData(void)
|
||||
UINT8 DeviceDataManage(void)
|
||||
{
|
||||
UINT8 rtValue = 0u;
|
||||
UINT8 includeVirFlag= GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
UINT8 reval = CI_ERROR;
|
||||
/*整理继电器数据*/
|
||||
if (CI_ERROR == RelayConfigDataManage())
|
||||
@@ -1286,7 +1204,6 @@ UINT8 DeviceDataManage(void)
|
||||
{
|
||||
rtValue = 0u;
|
||||
}
|
||||
#if 0
|
||||
if(FUNC_SWITCH_ON == includeVirFlag)
|
||||
{
|
||||
reval = InitVirCIlocalCiIndicatorIdBuf();
|
||||
@@ -1295,17 +1212,15 @@ UINT8 DeviceDataManage(void)
|
||||
rtValue = 1u;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (0U == rtValue)
|
||||
else
|
||||
{
|
||||
reval = IndicatorConfigDataManage();
|
||||
if (CI_ERROR == reval)
|
||||
if(CI_ERROR == reval)
|
||||
{
|
||||
rtValue = 1u;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (0U == rtValue)
|
||||
{
|
||||
reval = CutoffPointConfigDataManage();
|
||||
@@ -1365,8 +1280,7 @@ UINT8 SetautoRouteOpposedRoute(UINT16 autoRouteRouteId,UINT8 routeType)
|
||||
autoRouteSum = GetAutoRouteRouteCurSum();/*自动进路数目*/
|
||||
autoReturnSum = GetAutoReturnRouteCurSum();/*自动折返进路数目*/
|
||||
allAutoReturnSum = GetAllAutoReturnRouteCurSum();/*全自动折返进路数目*/
|
||||
if ((AUTO_ROUTE_SUM_MAX <= autoRouteSum) || (AUTO_RETURN_SUM_MAX<=autoReturnSum )
|
||||
||(ALL_AUTO_RETURN_SUM_MAX <= allAutoReturnSum))
|
||||
if ((autoRouteSum >= AUTO_ROUTE_SUM_MAX) || (autoReturnSum >= AUTO_RETURN_SUM_MAX))
|
||||
{/*配置数据总数错误*/
|
||||
returnValue = CI_ERROR;
|
||||
}
|
||||
@@ -2030,23 +1944,6 @@ INT8 OcConnectConfigDataToDevStruct(SignalConfigDataStruct* pSignalCfgData, Phys
|
||||
pSignalCfgData[j].DxRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].RelayId;
|
||||
pSignalCfgData[j].DxDrvRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].DrvRelayId;
|
||||
}
|
||||
else if (SIGNAL_DJ_TYPE == pConnectCfgData[i].OcConnetRelayDataBuf[k].RelayType)
|
||||
{
|
||||
pSignalCfgData[j].FirDsRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].RelayId;
|
||||
pSignalCfgData[j].wFirstDsDrvRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].DrvRelayId;
|
||||
}
|
||||
else if (SIGNAL_MAINJ_TYPE == pConnectCfgData[i].OcConnetRelayDataBuf[k].RelayType)
|
||||
{
|
||||
pSignalCfgData[j].wMainDrvRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].DrvRelayId;
|
||||
}
|
||||
else if (SIGNAL_ACKJ_TYPE == pConnectCfgData[i].OcConnetRelayDataBuf[k].RelayType)
|
||||
{
|
||||
pSignalCfgData[j].wAckDrvRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].DrvRelayId;
|
||||
}
|
||||
else if (SINNAL_CMAINJ_TYPE == pConnectCfgData[i].OcConnetRelayDataBuf[k].RelayType)
|
||||
{
|
||||
pSignalCfgData[j].wCMainDrvRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].DrvRelayId;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
@@ -2123,11 +2020,6 @@ INT8 OcConnectConfigDataToDevStruct(SignalConfigDataStruct* pSignalCfgData, Phys
|
||||
{
|
||||
pSwitchCfgData[j].ByPassRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].RelayId;
|
||||
}
|
||||
/*IBP*/
|
||||
else if(SWITCH_IBP_TYPE == pConnectCfgData[i].OcConnetRelayDataBuf[k].RelayType)
|
||||
{
|
||||
pSwitchCfgData[j].IbpDrvRelayId = pConnectCfgData[i].OcConnetRelayDataBuf[k].DrvRelayId;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不做处理*/
|
||||
@@ -3535,39 +3427,3 @@ UINT16 GetTiocDeviceConfigData(UINT32* pConfigDataAddrBuf,UINT16* pConfigDataLen
|
||||
|
||||
return wRetSum;
|
||||
}
|
||||
|
||||
/*********************************************
|
||||
*函数功能:读取指定CI与指定设备通信关系配置数据
|
||||
*参数说明:const UINT8 chCiId 联锁ID
|
||||
* const UINT8 chSystemType 设备类型
|
||||
* UINT8 szDeviceIdBuf[TRANSMIT_OBJECT_DEVICE_SUM_MAX] 输出的设备ID
|
||||
*返回值:通信关系数
|
||||
* by cgh 20250605
|
||||
*********************************************/
|
||||
UINT8 ReadCiTransmitSpecifyDevData(const UINT8 chCiId, const UINT8 chSystemType, UINT8 szDeviceIdBuf[TRANSMIT_OBJECT_DEVICE_SUM_MAX])
|
||||
{
|
||||
UINT16 ii = 0U;
|
||||
UINT8 chReval = 0U;
|
||||
|
||||
if ((0U != chCiId) && (NULL != szDeviceIdBuf))
|
||||
{
|
||||
for (ii = 0U; ii < dquCICfgDtStr.TrsmtRlsDtStrLen; ii++)
|
||||
{
|
||||
if ((chCiId == dquCICfgDtStr.TrsmtRlsDtStr[ii].CiId) && (chSystemType == dquCICfgDtStr.TrsmtRlsDtStr[ii].SystemType))
|
||||
{
|
||||
chReval = dquCICfgDtStr.TrsmtRlsDtStr[ii].DeviceSum;
|
||||
(void)CommonMemCpy((void*)(szDeviceIdBuf), (UINT32)(sizeof(UINT8) * TRANSMIT_OBJECT_DEVICE_SUM_MAX), (const void*)(dquCICfgDtStr.TrsmtRlsDtStr[ii].DeviceIdBuf), (UINT32)(sizeof(UINT8) * TRANSMIT_OBJECT_DEVICE_SUM_MAX));
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
chReval = UINT8_MAX;
|
||||
}
|
||||
|
||||
return chReval;
|
||||
}
|
||||
@@ -60,7 +60,6 @@
|
||||
#include "../Route/LongRouteConfigDataManage.h"
|
||||
#include "../SGBJ/SGBJConfigDataManage.h"
|
||||
#include "../VirtualDevice/VirtualDevDataManage.h"
|
||||
#include "LightTestButtonConfigDataManage.h"
|
||||
|
||||
extern INT16 trackCheckRes;
|
||||
extern INT16 g_ret;
|
||||
@@ -161,16 +160,6 @@ INT8 OcConnectConfigDataToDevStruct(SignalConfigDataStruct* pSignalCfgData, Phys
|
||||
*返回值:静态数据数量
|
||||
*********************************************/
|
||||
UINT16 GetTiocDeviceConfigData(UINT32* pConfigDataAddrBuf, UINT16* pConfigDataLenBuf, UINT16 wBufMaxLen);
|
||||
|
||||
/*********************************************
|
||||
*函数功能:读取指定CI与指定设备通信关系配置数据
|
||||
*参数说明:const UINT8 chCiId 联锁ID
|
||||
* const UINT8 chSystemType 设备类型
|
||||
* UINT8 szDeviceIdBuf[TRANSMIT_OBJECT_DEVICE_SUM_MAX] 输出的设备ID
|
||||
*返回值:通信关系数
|
||||
* by cgh 20250605
|
||||
*********************************************/
|
||||
UINT8 ReadCiTransmitSpecifyDevData(const UINT8 chCiId, const UINT8 chSystemType, UINT8 szDeviceIdBuf[TRANSMIT_OBJECT_DEVICE_SUM_MAX]);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -243,12 +243,7 @@ UINT8 InitialPhySecIdBufOfOtherCi(void);
|
||||
* 返回值 : void
|
||||
*/
|
||||
void ResetDynamicState(const UINT8 ciId);
|
||||
/*
|
||||
* 功能描述:重置相邻Rc通信中断动态数据
|
||||
* 参数说明:const UINT8 ciId, 重置联锁ID
|
||||
* 返回值 : void
|
||||
*/
|
||||
void ResetDynamicRcState(const UINT8 ciId);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 初始化全自动折返进路数据
|
||||
@@ -335,24 +330,6 @@ UINT8 InitLEUDataStru(void);
|
||||
*/
|
||||
UINT8 InitialRtnIndicStaData(void);
|
||||
|
||||
/*
|
||||
* 功能描述:重置本控区RC的设备动态数据
|
||||
* 参数说明:void
|
||||
* 返 回 值:void
|
||||
* Created By LQ 2025.11.07
|
||||
*/
|
||||
void ResetLocalRcDynamicState(void);
|
||||
|
||||
/*
|
||||
* 功能描述:重置控区设备状态处理
|
||||
* 参数说明:void
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2025.11.19
|
||||
*/
|
||||
void ResetDevStateProcess(void);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#ifndef __INVADESECTION_DEFINE_H_
|
||||
#define __INVADESECTION_DEFINE_H_
|
||||
|
||||
#define INVA_SECT_N_COND_SWIT_SUM_MAX ((UINT16)800) /*侵限区段与相关条件道岔数据条目最大数量*/
|
||||
#define INVA_SECT_N_COND_SWIT_SUM_MAX ((UINT16)300) /*侵限区段与相关条件道岔数据条目最大数量*/
|
||||
|
||||
#define COND_SWITCH_SUM_MAX ((UINT16)16) /*单一侵限区段与相关条件道岔数据条目内,条件道岔最大数量*/
|
||||
|
||||
|
||||
@@ -1,129 +0,0 @@
|
||||
/********************************************************
|
||||
*
|
||||
* 文 件 名: LightTestButtonConfigDataManage.c
|
||||
* 版权说明: 北京交控科技有限公司
|
||||
* 创建时间: 2025-12-09
|
||||
* 作 者: 联锁组
|
||||
* 功能描述: 试灯按钮配置数据管理
|
||||
* 修改记录:
|
||||
*
|
||||
********************************************************/
|
||||
|
||||
#include "LightTestButtonConfigDataManage.h"
|
||||
|
||||
LightTestButtonConfigDataStruct LightTestButtonConfigDataStru[LIGHTTESTBUTTON_BUTTON_MAX_NUM] = {0}; /*定义试灯按钮数据配置结构体*/
|
||||
INT16 LightTestButtonCurSum = 0; /*试灯按钮当前总数*/
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮当前总数
|
||||
* 参数说明: void
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 试灯按钮当前总数
|
||||
*/
|
||||
UINT16 GetLightTestButtonCurSum(void)
|
||||
{
|
||||
UINT16 retVal = 0u;
|
||||
if (LIGHTTESTBUTTON_BUTTON_MAX_NUM <= ((UINT16)LightTestButtonCurSum))
|
||||
{
|
||||
retVal = LIGHTTESTBUTTON_BUTTON_MAX_NUM;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = (UINT16)LightTestButtonCurSum;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮的ID
|
||||
* 参数说明: UINT16 index 试灯按钮索引
|
||||
* 返回值 UINT16 retVal 试灯按钮ID
|
||||
*/
|
||||
UINT16 GetLightTestButtonId(UINT16 index)
|
||||
{
|
||||
UINT16 retVal = 0u;
|
||||
UINT16 lightTestButtonCurSum = GetLightTestButtonCurSum();
|
||||
if (index < lightTestButtonCurSum)
|
||||
{
|
||||
retVal = LightTestButtonConfigDataStru[index].LightTestButtonId;
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮ID对应的继电器数据
|
||||
* 参数说明: UINT16 lightTestButtonId 试灯按钮ID
|
||||
* 返回值 :
|
||||
LightTestButtonConfigDataStruct *
|
||||
*/
|
||||
LightTestButtonConfigDataStruct *GetLightTestButtonConfigData(UINT16 lightTestButtonId)
|
||||
{
|
||||
LightTestButtonConfigDataStruct *retVal = NULL;
|
||||
UINT16 i = 0u;
|
||||
UINT16 lightTestButtonCurSum = GetLightTestButtonCurSum();
|
||||
|
||||
for (i = 0u; i < lightTestButtonCurSum; i++)
|
||||
{
|
||||
if (lightTestButtonId == LightTestButtonConfigDataStru[i].LightTestButtonId)
|
||||
{
|
||||
retVal = &LightTestButtonConfigDataStru[i];
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮ID对应继电器的总数量
|
||||
* 参数说明: UINT16 lightTestButtonId 试灯按钮ID
|
||||
* 返回值 : UINT16 lightTestButtonRelayNum 继电器数量
|
||||
*/
|
||||
UINT16 GetLightTestButtonRelayNum(UINT16 lightTestButtonId)
|
||||
{
|
||||
UINT16 lightTestButtonRelayNum = 0u;
|
||||
LightTestButtonConfigDataStruct *lightTestButtonConfigData = GetLightTestButtonConfigData(lightTestButtonId);
|
||||
if (NULL != lightTestButtonConfigData)
|
||||
{
|
||||
lightTestButtonRelayNum = lightTestButtonConfigData->LightTestButtonRelayNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /* 不处理 */
|
||||
}
|
||||
return lightTestButtonRelayNum;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮ID对应继电器ID
|
||||
* 参数说明: UINT16 lightTestButtonId 试灯按钮ID
|
||||
* UINT16 index 继电器索引
|
||||
* 返回值 : UINT16 lightTestButtonRelayId 继电器ID
|
||||
*/
|
||||
UINT16 GetLightTestButtonRelayId(UINT16 lightTestButtonId, UINT16 index)
|
||||
{
|
||||
UINT16 lightTestButtonRelayId = 0u;
|
||||
LightTestButtonConfigDataStruct *lightTestButtonConfigData = GetLightTestButtonConfigData(lightTestButtonId);
|
||||
if (NULL != lightTestButtonConfigData)
|
||||
{
|
||||
if (index < lightTestButtonConfigData->LightTestButtonRelayNum)
|
||||
{
|
||||
lightTestButtonRelayId = lightTestButtonConfigData->LightRelayId[index];
|
||||
}
|
||||
else
|
||||
{
|
||||
; /* 不处理 */
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /* 不处理 */
|
||||
}
|
||||
return lightTestButtonRelayId;
|
||||
}
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
/********************************************************
|
||||
*
|
||||
* 文 件 名: LightTestButtonConfigDataManage.h
|
||||
* 版权说明: 北京交控科技有限公司
|
||||
* 创建时间: 2025-12-09
|
||||
* 作 者: 联锁组
|
||||
* 功能描述: 试灯按钮配置数据管理头文件
|
||||
* 函数包括:
|
||||
* 使用注意:
|
||||
* 修改记录:
|
||||
*
|
||||
********************************************************/
|
||||
|
||||
#ifndef _LIGHTTESTBUTTON_CONFIG_DATA_MANAGE_H_
|
||||
#define _LIGHTTESTBUTTON_CONFIG_DATA_MANAGE_H_
|
||||
|
||||
|
||||
#include "LightTestButtonDefine.h"
|
||||
|
||||
|
||||
typedef struct S_LightTestButtonConfigDataStruct
|
||||
{
|
||||
UINT16 LightTestButtonId; /* 试灯按钮ID (配置字段) */
|
||||
UINT16 BelongOcId; /* 所属OC ID (配置字段) */
|
||||
UINT8 LightTestButtonType; /* 试灯按钮类型 (配置字段) */
|
||||
UINT16 LightTestButtonRelayNum; /* 试灯表示灯继电器数量 */
|
||||
UINT16 LightRelayId[LIGHTTESTBUTTON_LIGHT_SUPPORT_MAX_NUM]; /* 试灯表示灯继电器ID数组 */
|
||||
}LightTestButtonConfigDataStruct;
|
||||
|
||||
|
||||
extern LightTestButtonConfigDataStruct LightTestButtonConfigDataStru[LIGHTTESTBUTTON_BUTTON_MAX_NUM]; /*定义试灯按钮数据配置结构体*/
|
||||
extern INT16 LightTestButtonCurSum; /*试灯按钮当前总数*/
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮当前总数
|
||||
* 参数说明: void
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0: 信试灯按钮当前总数
|
||||
*/
|
||||
UINT16 GetLightTestButtonCurSum(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮的ID
|
||||
* 参数说明: UINT16 index 试灯按钮索引
|
||||
* 返回值 UINT16 retVal 试灯按钮ID
|
||||
*/
|
||||
UINT16 GetLightTestButtonId(UINT16 index);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮ID对应的继电器数据
|
||||
* 参数说明: UINT16 lightTestButtonId 试灯按钮ID
|
||||
* 返回值 :
|
||||
LightTestButtonConfigDataStruct *
|
||||
*/
|
||||
LightTestButtonConfigDataStruct *GetLightTestButtonConfigData(UINT16 lightTestButtonId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮ID对应继电器的总数量
|
||||
* 参数说明: UINT16 lightTestButtonId 试灯按钮ID
|
||||
* 返回值 : UINT16 lightTestButtonRelayNum 继电器数量
|
||||
*/
|
||||
UINT16 GetLightTestButtonRelayNum(UINT16 lightTestButtonId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试灯按钮ID对应继电器ID
|
||||
* 参数说明: UINT16 lightTestButtonId 试灯按钮ID
|
||||
* UINT16 index 继电器索引
|
||||
* 返回值 : UINT16 lightTestButtonRelayId 继电器ID
|
||||
*/
|
||||
UINT16 GetLightTestButtonRelayId(UINT16 lightTestButtonId, UINT16 index);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,63 +0,0 @@
|
||||
/********************************************************
|
||||
*
|
||||
* 文 件 名: LightTestButtonDataManage.c
|
||||
* 版权说明: 北京交控科技有限公司
|
||||
* 创建时间: 2025-12-09
|
||||
* 作 者: 联锁组
|
||||
* 功能描述: 试灯按钮数据管理
|
||||
* 修改记录:
|
||||
*
|
||||
********************************************************/
|
||||
|
||||
#include "LightTestButtonDataManage.h"
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 试灯按钮处理函数
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
*/
|
||||
void LightTestButtonDataManageProc(void)
|
||||
{
|
||||
UINT16 i = 0u; /*循环变量*/
|
||||
UINT16 j = 0u; /*循环变量*/
|
||||
|
||||
UINT16 lightTestButtonId = 0u; /* 试灯按钮ID */
|
||||
UINT16 lightTestButtonRelayNum = 0u; /* 试灯按钮ID数量 */
|
||||
UINT16 lightRelayId = 0u; /* 试灯表示灯继电器ID */
|
||||
UINT16 ligthtRelatNum = 0u; /* 试灯表示灯继电器数量 */
|
||||
|
||||
UINT8 lightTestButtonState = RELAY_STATE_DOWN; /*试灯按钮状态*/
|
||||
|
||||
lightTestButtonRelayNum = GetLightTestButtonCurSum(); /*获取试灯按钮总数量*/
|
||||
|
||||
for(i = 0u; i < lightTestButtonRelayNum; i++)
|
||||
{
|
||||
/* 获取对应试灯按钮ID*/
|
||||
lightTestButtonId = GetLightTestButtonId(i);
|
||||
/*获取试灯按钮继电器采集状态*/
|
||||
lightTestButtonState = GetRelayCollState(lightTestButtonId);
|
||||
if(RELAY_STATE_UP == lightTestButtonState) /*试灯按钮按下*/
|
||||
{
|
||||
/* 试灯表示灯继电器数量*/
|
||||
ligthtRelatNum = GetLightTestButtonRelayNum(lightTestButtonId);
|
||||
for(j = 0u; j < ligthtRelatNum; j++)
|
||||
{
|
||||
/* 获取对应试灯表示灯继电器ID*/
|
||||
lightRelayId = GetLightTestButtonRelayId(lightTestButtonId,j);
|
||||
/*设置试灯表示灯继电器吸起*/
|
||||
(void)SetRelayDriveState(lightRelayId, RELAY_DRIVE_STATE_UP);
|
||||
|
||||
}
|
||||
}
|
||||
else if(RELAY_STATE_DOWN == lightTestButtonState) /*试灯按钮未按下*/
|
||||
{
|
||||
/* 不处理即可 */
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 不处理 */
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
/********************************************************
|
||||
* 文 件 名: LightTestButtonDataManage.h
|
||||
* 版权说明: 北京交控科技有限公司
|
||||
* 创建时间: 2025-12-09
|
||||
* 作 者: 联锁组
|
||||
* 功能描述: 试灯按钮数据管理头文件
|
||||
* 函数包括:
|
||||
* 使用注意:
|
||||
* 修改记录:
|
||||
*
|
||||
********************************************************/
|
||||
|
||||
#ifndef _LIGHTTEST_BUTTON_DATA_MANAGE_H_
|
||||
#define _LIGHTTEST_BUTTON_DATA_MANAGE_H_
|
||||
|
||||
|
||||
#include "LightTestButtonDefine.h"
|
||||
#include "LightTestButtonConfigDataManage.h"
|
||||
#include "RelayDefine.h"
|
||||
#include "RelayDataManage.h"
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 试灯按钮处理函数
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
*/
|
||||
void LightTestButtonDataManageProc(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,33 +0,0 @@
|
||||
/********************************************************
|
||||
*
|
||||
* 文 件 名: LightTestButtonDefine.h
|
||||
* 版权说明: 北京交控科技有限公司
|
||||
* 创建时间: 2025-12-09
|
||||
* 作 者: 联锁组
|
||||
* 功能描述: 试灯按钮配置数据头文件
|
||||
* 函数包括:
|
||||
* 使用注意:
|
||||
* 修改记录:
|
||||
*
|
||||
********************************************************/
|
||||
|
||||
#ifndef _LIGHTTESTBUTTON_DEFINE_H_
|
||||
#define _LIGHTTESTBUTTON_DEFINE_H_
|
||||
|
||||
#include "CommonTypes.h"
|
||||
|
||||
/* 试灯表示灯最大数量 */
|
||||
#define LIGHTTESTBUTTON_LIGHT_MAX_NUM ((UINT8)13U)
|
||||
|
||||
/* 试灯表示灯支持最大数 */
|
||||
#define LIGHTTESTBUTTON_LIGHT_SUPPORT_MAX_NUM ((UINT8)208U)
|
||||
|
||||
/* 试灯按钮可配置最大数量 */
|
||||
#define LIGHTTESTBUTTON_BUTTON_MAX_NUM ((UINT16)70U)
|
||||
|
||||
/* 武汉新港OC采集试灯按钮类型 */
|
||||
#define LIGHTTESTBUTTON_TYPE_XINGANG ((UINT8)0xaaU)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,6 @@
|
||||
#include "../Section/LogicSectionDataManage.h"
|
||||
#include "LogicalRouteDataManage.h"
|
||||
#include "../LogicProcess/LogicalRouteLogicCheck.h"
|
||||
#include "../Overlap/OverlapDataManage.h"
|
||||
|
||||
/* C01_进路监督级别确认 */
|
||||
/*
|
||||
@@ -565,8 +564,6 @@ void SetRouteRelProSwitchLockSta(const UINT16 routeId, const UINT8 lockCommand)
|
||||
UINT16 protectSwitchId = 0u; /*防护道岔ID*/
|
||||
UINT8 routeProtectSwitchSum = 0u; /*防护道岔数目*/
|
||||
RouteProtectSwitchStruct* routeProtectSwitchStru = NULL; /*防护道岔数据*/
|
||||
UINT8 cSwitchCurPos = 0U; /*道岔当前位置*/
|
||||
UINT8 cFuncRet = CI_ERROR;
|
||||
|
||||
routeProtectSwitchSum = GetRouteRelatedProtectSwitchSum(routeId); /*获取防护道岔数目*/
|
||||
routeProtectSwitchStru = GetRouteRelatedProtSwitchData(routeId); /*获取防护道岔数据*/
|
||||
@@ -589,31 +586,21 @@ void SetRouteRelProSwitchLockSta(const UINT16 routeId, const UINT8 lockCommand)
|
||||
|
||||
if (CI_SUCCESS == retVal)
|
||||
{
|
||||
for (ii = 0u; ii < routeProtectSwitchSum; ii++)
|
||||
for (ii= 0u; ii < routeProtectSwitchSum; ii++)
|
||||
{
|
||||
protectSwitchId = routeProtectSwitchStru[ii].ProtectSwitchId;
|
||||
cSwitchCurPos = GetSwitchCurPosition(protectSwitchId);
|
||||
cFuncRet = checkSwtLastValDrvPosStayorNot(protectSwitchId, routeProtectSwitchStru[ii].ProtectPosition);
|
||||
if ((SWITCH_LOCK_PROTECT_CANCEL == lockCommand)
|
||||
|| ((cSwitchCurPos == routeProtectSwitchStru[ii].ProtectPosition) && (CI_SUCCESS == cFuncRet)))
|
||||
{
|
||||
SetSwitchLockStatus(SWITCH_PLOCKTYPE_ROUTE, routeId, protectSwitchId, lockCommand); /*设置道岔防护锁闭状态*/
|
||||
SetSwitchLockStatus(SWITCH_PLOCKTYPE_ROUTE,routeId,protectSwitchId, lockCommand); /*设置道岔防护锁闭状态*/
|
||||
/*RC 13.0.0 修:不检查防护道岔中双动道岔另一端*/
|
||||
#if 0
|
||||
if (SWITCH_TYPE_DOUBLE == GetSwitchType(protectSwitchId))
|
||||
{ /*双动道岔*/
|
||||
SetSwitchLockStatus(SWITCH_PLOCKTYPE_ROUTE, routeId, GetDSwitchOtherId(protectSwitchId), lockCommand); /*设置道岔防护锁闭状态*/
|
||||
SetSwitchLockStatus(SWITCH_PLOCKTYPE_ROUTE,routeId,GetDSwitchOtherId(protectSwitchId), lockCommand); /*设置道岔防护锁闭状态*/
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
/*防护道岔不在防护位置或防护道岔存在反向驱动,不设置防护锁闭*/
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -802,6 +789,7 @@ void PhySecFaultUnlockLogicManage(const UINT16 phySectionId,const UINT8 virCIid)
|
||||
UINT8 goExec = CI_ERROR;
|
||||
UINT8 autoTriggerType = 0U;
|
||||
UINT8 belongvirCIid = 0U;
|
||||
UINT8 includeVirFlag = GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
UINT8 chPhyIncLogSum = 0U; /*包含逻辑区段数目*/
|
||||
UINT16* pPhyIncLogId = NULL; /*物理区段包含逻辑区段ID数组*/
|
||||
UINT16 wLogLockBelongRouteId = 0U; /*逻辑区段锁闭所属进路ID*/
|
||||
@@ -1038,6 +1026,8 @@ void PhySecFaultUnlockLogicManage(const UINT16 phySectionId,const UINT8 virCIid)
|
||||
}
|
||||
}
|
||||
else if((phyBelongCi == localCiId)&&(TRANSMIT_STATE_GOOD == commState))
|
||||
{
|
||||
if(FUNC_SWITCH_ON == includeVirFlag)
|
||||
{
|
||||
belongvirCIid = GetPhySecBelongVirCiId(phySectionId);
|
||||
if((belongvirCIid == virCIid)&&(0u != virCIid))/*区故解可以由相邻虚拟联锁现地操作,不相邻不能操作*/
|
||||
@@ -1047,6 +1037,12 @@ void PhySecFaultUnlockLogicManage(const UINT16 phySectionId,const UINT8 virCIid)
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*进路属于相邻联锁,且区段属于本联锁时,传递区段故障解锁命令 */
|
||||
AddCiSendToCiCmdInfo(CI_CMD_SECTION_FAULT_UNLOCK,phySectionId,0u,routeBelongCi);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*异常情况,不处理区故解命令*/
|
||||
}
|
||||
@@ -1383,13 +1379,6 @@ void RouteRecoverOpenProc(const UINT16 routeId)
|
||||
UINT8 recoverState = ROUTE_RECOVER_STA_STAY;/*当前恢复重开状态*/
|
||||
UINT8 errType = CI_ERROR;
|
||||
UINT8 localCiType = GetLocalCiType();/*获得联锁类型*/
|
||||
UINT16 wStartSignalId = 0U; /*进路始端信号机ID*/
|
||||
UINT8 chVirCiId = 0U;/*虚拟联锁*/
|
||||
UINT8 chLocalVirCiType = 0U;
|
||||
|
||||
|
||||
chVirCiId = GetRouteBelongVirCiId(routeId);
|
||||
chLocalVirCiType = GetLocalVirCiType(chVirCiId);
|
||||
|
||||
routeState = GetRouteState(routeId);
|
||||
recoverState = GetRouteRecoverOpenFlag(routeId);
|
||||
@@ -1398,7 +1387,7 @@ void RouteRecoverOpenProc(const UINT16 routeId)
|
||||
{
|
||||
if (ROUTE_RECOVER_STA_WAIT == recoverState)
|
||||
{
|
||||
if ((CI_TYPE_ZX == chLocalVirCiType) || (CI_TYPE_SCX == chLocalVirCiType))
|
||||
if ((CI_TYPE_ZX == localCiType) || (CI_TYPE_SCX == localCiType))
|
||||
{
|
||||
errType = RecoverOpenRouteCheck(routeId);
|
||||
}
|
||||
@@ -1407,7 +1396,6 @@ void RouteRecoverOpenProc(const UINT16 routeId)
|
||||
errType = RecoverOpenRouteCheckCLD(routeId);
|
||||
}
|
||||
|
||||
wStartSignalId = GetRouteStartSignalId(routeId); /*获取进路始端信号机ID*/
|
||||
if (errType == CI_SUCCESS)
|
||||
{
|
||||
SetRouteOpenSigStartCycNum(routeId, Get2oo2CurCycleNum());
|
||||
@@ -1422,9 +1410,6 @@ void RouteRecoverOpenProc(const UINT16 routeId)
|
||||
else
|
||||
{
|
||||
SetRouteRecoverState(routeId, ROUTE_RECOVER_STA_STAY);/*一旦出现PSD、SPKS、扣车以外的条件不满足,将进路恢复状态设置为不可恢复*/
|
||||
|
||||
/*开放条件检查失败,设置对应始端信号机扣车旁路按钮无效*/
|
||||
SetDetCutBtnState(wStartSignalId, SIGNAL_DETAIN_CUT_VALID_NO);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1443,6 +1428,7 @@ void SetAtsExpectLockOverlapIdProc(const UINT16 expLkOverlapId,const UINT8 lockT
|
||||
UINT16 ii = 0u;
|
||||
UINT16 routeOverlapSum = 0u; /*进路保护区段数目*/
|
||||
UINT16 routeId = 0u; /*进路ID*/
|
||||
UINT16 routedLockOverlapId = 0u; /*进路锁闭过OverlapId*/
|
||||
UINT8 retVal = CI_SUCCESS; /*执行检查*/
|
||||
UINT8 routeState = 0u; /*进路状态*/
|
||||
UINT16 preOverlepId = 0u;
|
||||
@@ -1452,9 +1438,9 @@ void SetAtsExpectLockOverlapIdProc(const UINT16 expLkOverlapId,const UINT8 lockT
|
||||
UINT8 flag = 0u;
|
||||
UINT8 belongCiId = 0u;
|
||||
UINT8 localCiId = GetSystemParaLocalCiId(); /*获取本机联锁ID*/
|
||||
UINT8 includeVirFlag = GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
UINT8 virCIid = 0u;
|
||||
UINT8 ciCtrModeFlag = 0u;
|
||||
UINT32 dwCurCycNum = Get2oo2CurCycleNum();
|
||||
|
||||
if ((0u == expLkOverlapId) || (UINT16_MAX == expLkOverlapId))
|
||||
{/*判断输入参数有效性*/
|
||||
@@ -1495,7 +1481,7 @@ void SetAtsExpectLockOverlapIdProc(const UINT16 expLkOverlapId,const UINT8 lockT
|
||||
if (routeOverlapSum >= 1u)
|
||||
{/*只有当进路的保护区段数目大于等于1个时,ATS或现地才发送期望锁闭保护区段ID*/
|
||||
/*输入参数保护区段ID是否属于当前进路 且进路保护区段未锁闭过*/
|
||||
if (1u == checkExpOverlapBelongToRtOrNot(routeId, expLkOverlapId))
|
||||
if (1u == checkExpOverlapBelongToRtOrNot(routeId,expLkOverlapId))
|
||||
{/*期望锁闭的保护区段ID属于进路的保护区段ID*/
|
||||
flag = 1u;/*有任意一条匹配到了,则置为1*/
|
||||
retVal = CI_SUCCESS;
|
||||
@@ -1522,16 +1508,30 @@ void SetAtsExpectLockOverlapIdProc(const UINT16 expLkOverlapId,const UINT8 lockT
|
||||
/*判断当前保护区段所属联锁控制模式是否可以响应锁闭保护区段命令*/
|
||||
if (CI_SUCCESS == retVal)
|
||||
{
|
||||
virCIid = GetOverlapBelongVirCiId(expLkOverlapId);
|
||||
|
||||
virCIid= GetOverlapBelongVirCiId(expLkOverlapId);
|
||||
if(FUNC_SWITCH_ON == includeVirFlag)
|
||||
{
|
||||
ciCtrModeFlag = GetVirCImode(virCIid);/*获取联锁控制模式*/
|
||||
if ((CI_MODE_CI_LOCAL == ciCtrModeFlag) || (0u == ciCtrModeFlag))/*处于联锁控或者获取错误,发送现地不能响应人工锁闭命令*/
|
||||
}
|
||||
else
|
||||
{
|
||||
ciCtrModeFlag = GetCiModeFlag(); /*获取联锁控制模式*/
|
||||
}
|
||||
|
||||
if((CI_MODE_CI_LOCAL ==ciCtrModeFlag)||(0u ==ciCtrModeFlag))/*处于联锁控或者获取错误,发送现地不能响应人工锁闭命令*/
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
/*add by shl*/
|
||||
|
||||
if (CI_SUCCESS == retVal)
|
||||
{
|
||||
|
||||
routedLockOverlapId = GetRouteOverlapLockedId(routeId); /*获取进路锁闭过保护区段ID*/
|
||||
|
||||
if (0u == routedLockOverlapId)
|
||||
{
|
||||
/*判断进路状态,是否满足锁闭保护区段条件,若满足则设置期望锁闭保护区段*/
|
||||
routeState = GetRouteState(routeId);
|
||||
@@ -1549,35 +1549,38 @@ void SetAtsExpectLockOverlapIdProc(const UINT16 expLkOverlapId,const UINT8 lockT
|
||||
(routeState == ROUTE_STATE_HALF_UNLOCK)
|
||||
)
|
||||
{/*设置指定ID进路的期望锁闭保护区段ID*/
|
||||
if (LABOR_LOCK_OVERLAP == lockType)/*人工锁闭*/
|
||||
if(LABOR_LOCK_OVERLAP == lockType)/*人工锁闭*/
|
||||
{
|
||||
SetOverlapAtsOrlaborLockCmdFlag(expLkOverlapId, LOCK_OVERLAP_CMD_YES);/*设置保护区段锁闭命令标志,用于保护区段解锁倒计时计算*/
|
||||
SetOverlaplaborLockCmdFlag(expLkOverlapId, LOCK_OVERLAP_CMD_YES);/*设置人工锁闭标志,用于人工命令一次有效处理*/
|
||||
ClearPreLoaborUnlockState(expLkOverlapId);
|
||||
SetOverlapAtsOrlaborLockCmdFlag(expLkOverlapId,LOCK_OVERLAP_CMD_YES);/*设置保护区段锁闭命令标志,用于保护区段解锁倒计时计算*/
|
||||
SetOverlaplaborLockCmdFlag(expLkOverlapId,LOCK_OVERLAP_CMD_YES);/*设置人工锁闭标志,用于人工命令一次有效处理*/
|
||||
}
|
||||
else if (ATS_LOCK_OVERLAP == lockType)/*ATS锁闭*/
|
||||
else if(ATS_LOCK_OVERLAP == lockType)/*ATS锁闭*/
|
||||
{
|
||||
phySectionId = GetRouteLastPhySectionId(routeId);
|
||||
phySectionSta = GetPhySecCurMergeState(phySectionId);
|
||||
if (SECTION_OCCUPY_YES == phySectionSta)
|
||||
if(SECTION_OCCUPY_YES==phySectionSta)
|
||||
{
|
||||
SetOverlapAtsOrlaborLockCmdFlag(expLkOverlapId, LOCK_OVERLAP_CMD_YES);/*设置保护区段锁闭命令标志*/
|
||||
SetOverlapAtsOrlaborLockCmdFlag(expLkOverlapId,LOCK_OVERLAP_CMD_YES);/*设置保护区段锁闭命令标志*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*什么也不做*/
|
||||
}
|
||||
SetRouteAtsExpLkOverlapId(routeId, expLkOverlapId);
|
||||
SetRouteAtsExpLkOverlapId(routeId,expLkOverlapId);
|
||||
SetOverlapFromSetRouteCmdFlag(expLkOverlapId, OVERLAP_ROUTE_FLAG_NO);/*清除标志*/
|
||||
SetOverlapAtsLastTimeLockCyc(expLkOverlapId, dwCurCycNum);
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1601,6 +1604,7 @@ UINT8 CheckPhySecFaultUnlockCanDo(const UINT16 phySectionId,const UINT8 virCIid)
|
||||
UINT16 lockBelongRouteId = 0u; /*区段锁闭所属进路ID*/
|
||||
UINT8 reVal = CI_ERROR;
|
||||
UINT8 belongvirCIid = 0u;
|
||||
UINT8 includeVirFlag = GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
UINT8 isErrLock = CI_ERROR;
|
||||
UINT8 phyLockState = 0U;
|
||||
|
||||
@@ -1626,7 +1630,8 @@ UINT8 CheckPhySecFaultUnlockCanDo(const UINT16 phySectionId,const UINT8 virCIid)
|
||||
}
|
||||
if(CI_SUCCESS == reVal)
|
||||
{
|
||||
|
||||
if(FUNC_SWITCH_ON == includeVirFlag)
|
||||
{
|
||||
belongvirCIid = GetRouteBelongVirCiId(lockBelongRouteId);
|
||||
if(0u < virCIid)
|
||||
{
|
||||
@@ -1652,7 +1657,11 @@ UINT8 CheckPhySecFaultUnlockCanDo(const UINT16 phySectionId,const UINT8 virCIid)
|
||||
reVal = CI_ERROR;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
reVal = CI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
/*按顺序解锁进路异常锁闭*/
|
||||
@@ -1875,9 +1884,8 @@ void SetRouteOvlpOtherCiShrFlg(const UINT16 wRouteId, const UINT16 wOverlapId,co
|
||||
void ClearSomeFlagDependRouteState(const UINT16 routeId)
|
||||
{
|
||||
UINT8 routeState = GetRouteState(routeId);
|
||||
UINT16 startSignalId = 0U;
|
||||
UINT16 EnginVehicCroCloBelongRoute = 0U;
|
||||
UINT8 chZrenjieFlag = 0U;
|
||||
UINT16 startSignalId = 0u;
|
||||
UINT16 EnginVehicCroCloBelongRoute = 0u;
|
||||
|
||||
/*清理工程车跨压关信号所属进路,清理工程车跨压状态*/
|
||||
if ((ROUTE_STATE_YUXIAN_LOCK != routeState)
|
||||
@@ -1914,29 +1922,6 @@ void ClearSomeFlagDependRouteState(const UINT16 routeId)
|
||||
{
|
||||
SetRouteGroupRouteCmdFlag(routeId, ROUTE_GROUPROUTE_CMD_NO); /*清除进路的组合进路命令标志*/
|
||||
}
|
||||
|
||||
/*若进路处于以下状态,清除联挂进路标志*/
|
||||
if ((ROUTE_STATE_IDLE == routeState) || (ROUTE_STATE_DELAY_UNLOCK == routeState)
|
||||
|| (ROUTE_STATE_LEAD_XUANPAI == routeState) || (ROUTE_STATE_LEAD_LOCK == routeState)
|
||||
|| (ROUTE_STATE_LEAD_LOCKERR == routeState) || (ROUTE_STATE_LEAD_OPEN == routeState))
|
||||
{
|
||||
SetRouteCouplinkFlag(routeId, ROUTE_COUPLINK_FLAG_NO);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
/*无总人解标志且不处于延时解锁状态,清除联络线解锁标志*/
|
||||
chZrenjieFlag = GetRouteZongRenJieFlag(routeId);
|
||||
if ((ROUTE_ZONGRENJIE_SET_NO == chZrenjieFlag) && (ROUTE_STATE_DELAY_UNLOCK != routeState))
|
||||
{
|
||||
SetRouteConnectReleaseFlag(routeId, ROUTE_CONNECT_RELEASE_NO); /*清除联络线解锁标志*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -3410,12 +3395,14 @@ void OtherCiLogSecFaultUnlockProcess(const UINT16 wLogSectionId, const UINT8 chV
|
||||
UINT8 chLogFaultUnLockRes = 0U;/*逻辑区段故障解锁条件检查结果*/
|
||||
UINT8 chLogSecBelongRouteDir = 0U;/*逻辑区段锁闭所属进路方向*/
|
||||
UINT8 chRouteLogSecHaveUnLock = 0u;/*进路逻辑区段是否已解锁*/
|
||||
UINT8 chIncludeVirFlag = 0U;/*是否支持虚拟联锁*/
|
||||
UINT8 chBelongVirCiId = 0U;/*逻辑区段所属虚拟联锁ID*/
|
||||
UINT16 wLogSecBelongPhySecId = 0U;/*逻辑区段所属物理区段ID*/
|
||||
|
||||
chLocalCiId = GetSystemParaLocalCiId(); /*获取本机联锁ID*/
|
||||
wLogLockBelongRouteId = GetLogSecLockBelongRoute(wLogSectionId);
|
||||
chFuncSwitch = GetCiFunctionSwitchConfig(FUNC_SWITCH_USE_RELAY_INTERFACE_BETWEEN_NEIGHBOURCI);
|
||||
chIncludeVirFlag = GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
chConfirmRelayInterfaceFlag = GetCiCiRelayInterfConfirmFlag();/*继电接口确认状态*/
|
||||
|
||||
if ((0U < wLogLockBelongRouteId) && (ROUTE_SUM_MAX > wLogLockBelongRouteId))
|
||||
@@ -3449,15 +3436,21 @@ void OtherCiLogSecFaultUnlockProcess(const UINT16 wLogSectionId, const UINT8 chV
|
||||
else if ((chLocalCiId == chLogSecBelongCiId) && (TRANSMIT_STATE_GOOD == chCommState))
|
||||
{
|
||||
wLogSecBelongPhySecId = GetLgcSecRelativePhySecId(wLogSectionId);
|
||||
|
||||
if (FUNC_SWITCH_ON == chIncludeVirFlag)
|
||||
{
|
||||
chBelongVirCiId = GetLogSecBelongVirCiId(wLogSectionId);
|
||||
if ((chVirCIid == chBelongVirCiId) && (0U != chVirCIid))
|
||||
{
|
||||
/*进路属于相邻联锁,且区段属于本联锁时,传递区段故障解锁命令 */
|
||||
AddCiSendToCiCmdInfo(CI_CMD_SECTION_FAULT_UNLOCK, wLogSecBelongPhySecId, 0U, chRouteBelongCiId);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*进路属于相邻联锁,且区段属于本联锁时,传递区段故障解锁命令 */
|
||||
AddCiSendToCiCmdInfo(CI_CMD_SECTION_FAULT_UNLOCK, wLogSecBelongPhySecId, 0U, chRouteBelongCiId);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3478,6 +3471,7 @@ UINT8 CheckLogSecFaultUnlockCanDo(const UINT16 wLogSectionId, const UINT8 chVirC
|
||||
UINT16 wLockBelongRouteId = 0U; /*区段锁闭所属进路ID*/
|
||||
UINT8 reVal = CI_ERROR;
|
||||
UINT8 chBelongvirCIid = 0U;
|
||||
UINT8 chIncludeVirFlag = GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
|
||||
if ((0u == wLogSectionId) || (LOGIC_SECTION_SUM_MAX <= wLogSectionId))
|
||||
{
|
||||
@@ -3500,7 +3494,8 @@ UINT8 CheckLogSecFaultUnlockCanDo(const UINT16 wLogSectionId, const UINT8 chVirC
|
||||
}
|
||||
if (CI_SUCCESS == reVal)
|
||||
{
|
||||
|
||||
if (FUNC_SWITCH_ON == chIncludeVirFlag)
|
||||
{
|
||||
chBelongvirCIid = GetRouteBelongVirCiId(wLockBelongRouteId);
|
||||
if (0U < chVirCIid)
|
||||
{
|
||||
@@ -3527,6 +3522,11 @@ UINT8 CheckLogSecFaultUnlockCanDo(const UINT16 wLogSectionId, const UINT8 chVirC
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
reVal = CI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
@@ -4483,6 +4483,7 @@ void DriveLogRouteSignalClose(const UINT16 wLogSignalId)
|
||||
UINT8 sigalMaintainState = 0u;
|
||||
UINT8 detainOpenRedBright = 0u;
|
||||
UINT8 signalDetainFlag = 0u;
|
||||
UINT8 includeVirFlag = GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
if ((0u == wLogSignalId) || (SIGNAL_SUM_MAX <= wLogSignalId))
|
||||
{
|
||||
/*不做处理*/
|
||||
@@ -4490,11 +4491,15 @@ void DriveLogRouteSignalClose(const UINT16 wLogSignalId)
|
||||
else
|
||||
{
|
||||
/*虚拟联锁兼容*/
|
||||
|
||||
if (FUNC_SWITCH_ON == includeVirFlag)
|
||||
{
|
||||
belongVirCIid = GetSignalBelongVirCiId(wLogSignalId);
|
||||
allSignalBrightFlag = GetVirCIAllSignalBrightState(belongVirCIid); /*全站亮灯标志*/
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
allSignalBrightFlag = GetAllSignalBrightFlag(); /*全站亮灯标志*/
|
||||
}
|
||||
|
||||
/*无论什么时候,复示信号机关闭都驱动红灭*/
|
||||
signalIsfushiFlag = GetSignalIsfushiFlag(wLogSignalId);
|
||||
@@ -5093,6 +5098,7 @@ void LogRouteErrLockFaultManage(const UINT16 wPhySectionId)
|
||||
void SetAtsLockOverlapHaveRouteId(const UINT16 expLkOverlapId, const UINT16 routeId)
|
||||
{
|
||||
UINT16 routeOverlapSum = 0U; /*进路保护区段数目*/
|
||||
UINT16 routedLockOverlapId = 0U; /*进路锁闭过OverlapId*/
|
||||
UINT8 retVal = CI_SUCCESS; /*返回值*/
|
||||
UINT8 routeState = 0U; /*进路状态*/
|
||||
UINT16 preOverlepId = 0U;
|
||||
@@ -5101,11 +5107,11 @@ void SetAtsLockOverlapHaveRouteId(const UINT16 expLkOverlapId, const UINT16 rout
|
||||
UINT8 phySectionSta = 0U;
|
||||
UINT8 belongCiId = 0U;
|
||||
UINT8 localCiId = GetSystemParaLocalCiId(); /*获取本机联锁ID*/
|
||||
UINT8 includeVirFlag = GetCiFunctionSwitchConfig(FUNC_INCLUDEVIRCI_FLAG);
|
||||
UINT8 virCIid = 0U;
|
||||
UINT8 ciCtrModeFlag = 0U;
|
||||
UINT8 routeStateFlag = 0U;
|
||||
UINT8 flag = 0U;
|
||||
UINT32 dwCurCycNum = Get2oo2CurCycleNum();
|
||||
|
||||
routeStateFlag = GetRouteStateFlag(routeId);
|
||||
|
||||
@@ -5168,8 +5174,14 @@ void SetAtsLockOverlapHaveRouteId(const UINT16 expLkOverlapId, const UINT16 rout
|
||||
if (CI_SUCCESS == retVal)
|
||||
{
|
||||
virCIid = GetOverlapBelongVirCiId(expLkOverlapId);
|
||||
if (FUNC_SWITCH_ON == includeVirFlag)
|
||||
{
|
||||
ciCtrModeFlag = GetVirCImode(virCIid);/*获取联锁控制模式*/
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
ciCtrModeFlag = GetCiModeFlag(); /*获取联锁控制模式*/
|
||||
}
|
||||
|
||||
if ((CI_MODE_CI_LOCAL == ciCtrModeFlag) || (0U == ciCtrModeFlag))/*处于联锁控或者获取错误,发送现地不能响应人工锁闭命令*/
|
||||
{
|
||||
@@ -5178,6 +5190,10 @@ void SetAtsLockOverlapHaveRouteId(const UINT16 expLkOverlapId, const UINT16 rout
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == retVal)
|
||||
{
|
||||
routedLockOverlapId = GetRouteOverlapLockedId(routeId); /*获取进路锁闭过保护区段ID*/
|
||||
|
||||
if (0U == routedLockOverlapId)
|
||||
{
|
||||
/*判断进路状态,是否满足锁闭保护区段条件,若满足则设置期望锁闭保护区段*/
|
||||
routeState = GetRouteState(routeId);
|
||||
@@ -5193,8 +5209,7 @@ void SetAtsLockOverlapHaveRouteId(const UINT16 expLkOverlapId, const UINT16 rout
|
||||
|| (ROUTE_STATE_NEAR_LOCKERR == routeState)
|
||||
|| ((ROUTE_STATE_AUTO_UNLOCK == routeState) && (ROUTE_STATE_FLAG_YES == routeStateFlag))
|
||||
)
|
||||
{
|
||||
/*设置指定ID进路的期望锁闭保护区段ID*/
|
||||
{/*设置指定ID进路的期望锁闭保护区段ID*/
|
||||
/*仅处理ATS办理保护区段,不处理人工办理保护区段*/
|
||||
phySectionId = GetRouteLastPhySectionId(routeId);
|
||||
phySectionSta = GetPhySecCurMergeState(phySectionId);
|
||||
@@ -5211,7 +5226,6 @@ void SetAtsLockOverlapHaveRouteId(const UINT16 expLkOverlapId, const UINT16 rout
|
||||
|
||||
SetOverlapFromSetRouteCmdFlag(expLkOverlapId, OVERLAP_ROUTE_FLAG_YES);/*设置保护区段由进路连带标识*/
|
||||
|
||||
SetOverlapAtsLastTimeLockCyc(expLkOverlapId, dwCurCycNum);
|
||||
retVal = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
@@ -5225,6 +5239,8 @@ void SetAtsLockOverlapHaveRouteId(const UINT16 expLkOverlapId, const UINT16 rout
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (0U == flag)
|
||||
{/*发送的这个区段不属于任何进路的保护区段*/
|
||||
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
#include "../LogicManage/TradInterlockLogicManage.h"
|
||||
#include "../Train/TrainDefine.h"
|
||||
#include "LogicalRouteDataManage.h"
|
||||
#include "../EnvelopeManage/EnvelopeManageAPI.h"
|
||||
|
||||
#ifdef SCADE_MODE
|
||||
#include "../LogicManage/General/LogicManageScadeInterface.h"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -365,11 +365,9 @@ void SetOverlapLockState(const UINT16 overlapId, const UINT8 lockState, const UI
|
||||
/*
|
||||
* 功能描述: 办理普通进路逻辑管理
|
||||
* 参数说明: const UINT16 routeId, 进路ID
|
||||
* const UINT8 chSendLevel 命令发送等级
|
||||
* 返回值 : void
|
||||
* BY cgh 20250828
|
||||
*/
|
||||
void SetCommonRouteLogicManage(const UINT16 routeId, const UINT8 chSendLevel);
|
||||
void SetCommonRouteLogicManage(const UINT16 routeId);
|
||||
|
||||
/*
|
||||
* 功能描述: 办理引导进路逻辑管理
|
||||
@@ -628,6 +626,14 @@ void StartTrianTestManage(void);
|
||||
*/
|
||||
void StopTrianTestManage(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 取消临时限速设置
|
||||
* 参数说明: 无
|
||||
* 返回值 :
|
||||
CI_ERROR 失败
|
||||
CI_SUCCESS 成功
|
||||
*/
|
||||
UINT8 CancleLinShiXianSuManage(void);
|
||||
/*
|
||||
* 功能描述: 取消临时限速设置
|
||||
* 参数说明: 无
|
||||
@@ -941,7 +947,7 @@ UINT8 CheckPhysecFlockReasonSpksId(const UINT16 phySectionId, UINT16* spksId, UI
|
||||
*
|
||||
*修改:mpt 2022年3月9日 增加保护区段人工解锁逻辑
|
||||
*/
|
||||
UINT8 LaborUnlockOverlapProc(const UINT16 overlapId);
|
||||
UINT8 LaborUnlockOverlapProc(const UINT8 overlapId);
|
||||
/*
|
||||
* 功能描述: 设置联锁锁闭保护区段标志管理
|
||||
* 参数说明: const UINT16 routeId, 进路ID
|
||||
@@ -1125,167 +1131,6 @@ void RouteTrainResUnlockManage(void);
|
||||
*/
|
||||
void LeadRouteFirstXuanPaiManage(const UINT16 routeId);
|
||||
|
||||
/*
|
||||
* 功能描述: 设置OC-P旁路状态确认标志
|
||||
* 参数说明: UINT8 setFlag,设置标志
|
||||
* UINT16 pscId PSC设备ID
|
||||
* 返回值 :无
|
||||
*/
|
||||
void SetOcPscPlConfirmFlag(UINT8 setFlag, const UINT16 ocPId);
|
||||
|
||||
/*
|
||||
* 功能描述: 保护区段状态更新
|
||||
* 参数说明: const UINT16 wRouteId 进路ID
|
||||
* 返回值 :无
|
||||
* by cgh 20250928
|
||||
*/
|
||||
void OverlapStateUpdateManage(void);
|
||||
/*
|
||||
* 功能描述: 更新列车向后跳跃允许状态处理
|
||||
* 参数说明: 无
|
||||
* 返回值 : 无
|
||||
* Create: fan 20250725
|
||||
*/
|
||||
void TrainJumpBackApplyProc(void);
|
||||
/*
|
||||
* 功能描述: 办理联挂进路逻辑管理
|
||||
* 参数说明: const UINT16 wRouteId
|
||||
* 返回值 : 无
|
||||
* Create: 20250917
|
||||
*/
|
||||
void SetCouplinkRouteLogicManage(const UINT16 wRouteId);
|
||||
|
||||
/*
|
||||
* 功能描述: 锁闭道岔逻辑管理
|
||||
* 参数说明: void
|
||||
* 返回值 :
|
||||
*/
|
||||
void lockSwitchLogicManage(void);
|
||||
/*
|
||||
* 功能描述: 计轴区段跳跃锁闭状态机管理
|
||||
* 参数说明: const UINT16 axisSecId, 计轴区段ID
|
||||
* 返回值 : void
|
||||
* add by mpt 20260407
|
||||
*/
|
||||
void AxisJumpLockStateManage(const UINT16 axisSectionId);
|
||||
|
||||
/*
|
||||
* 功能描述: 试车状态管理逻辑处理中获取本联锁是否具备试车功能(拆分复杂度使用)
|
||||
*参数说明:无
|
||||
* 返回值 :CI_SUCCESS 是试车线(含合设) CI_ERROR
|
||||
*/
|
||||
UINT8 GetLocalCiIsScx(void);
|
||||
/*
|
||||
* 功能描述: 联络线进路解锁管理
|
||||
* 参数说明: const UINT16 wRouteId 进路ID
|
||||
* 返回值 : 无
|
||||
* Create:lyj 20260603
|
||||
*/
|
||||
void ConnectRouteReleaseManage(const UINT16 wRouteId);
|
||||
|
||||
/*
|
||||
* 功能描述: 新增一二次命令管理
|
||||
* 参数说明: 无
|
||||
* 返回值 : void
|
||||
* BY fan 20260602
|
||||
*/
|
||||
void AtsFollowUpCmdProcess(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 道岔单解命令管理
|
||||
* 参数说明: 无
|
||||
* 返回值 : void
|
||||
* BY fan 20260602
|
||||
*/
|
||||
void FollowUpDansuoCanclMsgProc(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 道岔单解命令状态检查,返回成功或检查失败原因
|
||||
* 参数说明:
|
||||
UINT16 wDevId命令中设备
|
||||
UINT16 wMsgType, 命令类型
|
||||
* 返回值 :
|
||||
1 成功
|
||||
2:道岔未设置单锁
|
||||
3:道岔不属于本集中区
|
||||
5:已办理非进路调车
|
||||
* BY fan 20260603
|
||||
*/
|
||||
UINT8 FollowUpDansuoCancleCheck(UINT16 wDevId, UINT16 wMsgType);
|
||||
|
||||
/*
|
||||
* 功能描述: 道岔解封命令管理
|
||||
* 参数说明: 无
|
||||
* 返回值 : void
|
||||
* BY fan 20260602
|
||||
*/
|
||||
void FollowUpSwitchUnFlockMsgProc(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 道岔解封命令状态检查,返回成功或检查失败原因,二次操作时执行命令
|
||||
* 参数说明:
|
||||
UINT16 wDevId命令中设备
|
||||
UINT16 wMsgType, 命令类型
|
||||
* 返回值 :
|
||||
1 成功
|
||||
2:道岔未设置封锁
|
||||
3:道岔不属于本集中区
|
||||
5:已办理非进路调车
|
||||
* BY fan 20260603
|
||||
*/
|
||||
UINT8 FollowUpSwitchUnFlockCheck(UINT16 wDevId, UINT16 wMsgType);
|
||||
|
||||
/*
|
||||
* 功能描述: 区段解封命令管理
|
||||
* 参数说明: 无
|
||||
* 返回值 : void
|
||||
* BY fan 20260604
|
||||
*/
|
||||
void FollowUpSecUnFlockMsgProc(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 区段解封命令状态检查,返回成功或检查失败原因,二次操作时执行命令
|
||||
* 参数说明:
|
||||
UINT16 wDevId命令中设备
|
||||
UINT16 wMsgType, 命令类型
|
||||
* 返回值 :
|
||||
1 成功
|
||||
2:未设置人工区段封锁
|
||||
3:不属于本集中区
|
||||
* BY fan 20260604
|
||||
*/
|
||||
UINT8 FollowUpSecUnFlockCheck(UINT16 wDevId, UINT16 wMsgType);
|
||||
|
||||
/*
|
||||
* 功能描述: 信号机解封命令管理
|
||||
* 参数说明: 无
|
||||
* 返回值 : void
|
||||
* BY fan 20260604
|
||||
*/
|
||||
void FollowUpSignalUnFlockMsgProc(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 信号机解封命令状态检查,返回成功或检查失败原因,二次操作时执行命令
|
||||
* 参数说明:
|
||||
UINT16 wDevId命令中设备
|
||||
UINT16 wMsgType, 命令类型
|
||||
* 返回值 :
|
||||
1 成功
|
||||
2:未设置信号机封锁
|
||||
3:不属于本集中区
|
||||
5:所属非进路已办理
|
||||
* BY fan 20260604
|
||||
*/
|
||||
UINT8 FollowUpSignalUnFlockCheck(UINT16 wDevId, UINT16 wMsgType);
|
||||
|
||||
/*
|
||||
* 功能描述:信号已开放进路的共享资源处理
|
||||
* 参数说明:无
|
||||
* 返 回 值:无
|
||||
* Created By LQ 2026.06.09
|
||||
*/
|
||||
void OpenedRouteShareResPro(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -189,7 +189,7 @@ UINT8 OpenCbtcLTrainRouteErrProcess(const UINT16 routeId, const UINT8 checkStep)
|
||||
UINT8 sendLevel = ESEND_LEVEL_ZERO;
|
||||
UINT8 routeReverseProperty = 0u;
|
||||
UINT8 airShaftRouteType = 0u;
|
||||
UINT8 chRouteCouplinkFlag = 0U;
|
||||
|
||||
/* 联锁逻辑检查 */
|
||||
/* 进路监督模式为【CBTC】*/
|
||||
|
||||
@@ -325,22 +325,12 @@ UINT8 OpenCbtcLTrainRouteErrProcess(const UINT16 routeId, const UINT8 checkStep)
|
||||
{
|
||||
routeReverseProperty = GetRouteReverseProperty(routeId);
|
||||
airShaftRouteType = GetAirShaftRouteType(routeId);
|
||||
chRouteCouplinkFlag = GetRouteCouplinkFlag(routeId); /*获取进路联挂标志*/
|
||||
if ((ROUTE_REVERSE_PROPERTY_YES == routeReverseProperty)|| (ROUTE_TYPE_AIRSHAFT == airShaftRouteType))
|
||||
{
|
||||
if (ROUTE_COUPLINK_FLAG_YES == chRouteCouplinkFlag)
|
||||
{
|
||||
/* 反向联挂进路允许追踪,区段条件在OpenCbtcRouteSectionErrCheck */
|
||||
/*存在联挂标志,不在查反向进路全部空闲,其他条件检查;风井进路设置不上联挂标志所以需要检查全部区段空闲*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*反向进路需检查所有区段的占用状态,之前由于不检查占用状态导致信号出清进路内方第一区段,信号机重开的问题*/
|
||||
|
||||
if ((ROUTE_REVERSE_PROPERTY_YES == routeReverseProperty) || (ROUTE_TYPE_AIRSHAFT == airShaftRouteType))
|
||||
{ /*反向进路需检查所有区段的占用状态,之前由于不检查占用状态导致信号出清进路内方第一区段,信号机重开的问题*/
|
||||
/*风井进路不允许追踪办理,故开放条件需增加对进路内方所有区段的占用状态检查*/
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId, &devId, &devState);
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId,&devId, &devState);
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -349,12 +339,10 @@ UINT8 OpenCbtcLTrainRouteErrProcess(const UINT16 routeId, const UINT8 checkStep)
|
||||
else
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_MERGY_OCU_STATE, devState, sendLevel);
|
||||
SetErrorData(functionId,CI_DEVICE_TYPE_PHYSEC,devId,ETYPE_PS_MERGY_OCU_STATE,devState,sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
/* 防护进路联锁条件检查 */
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
@@ -775,7 +763,7 @@ UINT8 OpenCbtcReturnRouteErrProcess(const UINT16 routeId, const UINT8 checkStep)
|
||||
/* 取消标志 */
|
||||
UINT8 const zxqFlag = GetRouteZongQuXiaoFlag(routeId);
|
||||
UINT8 const zrjFlag = GetRouteZongRenJieFlag(routeId);
|
||||
UINT8 chRouteCouplinkFlag = 0U;
|
||||
|
||||
/*故障发送级别*/
|
||||
UINT8 sendLevel = ESEND_LEVEL_ZERO;
|
||||
|
||||
@@ -912,16 +900,8 @@ UINT8 OpenCbtcReturnRouteErrProcess(const UINT16 routeId, const UINT8 checkStep)
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
chRouteCouplinkFlag = GetRouteCouplinkFlag(routeId); /*获取进路联挂标志*/
|
||||
if (ROUTE_COUPLINK_FLAG_YES == chRouteCouplinkFlag)
|
||||
{
|
||||
checkResult = SetCouplinkRouteSecOccCheck(routeId, &devId, &devState);
|
||||
}
|
||||
else
|
||||
{
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId, &devId, &devState);
|
||||
}
|
||||
if (CI_SUCCESS == checkResult)
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
@@ -1366,7 +1346,6 @@ UINT8 KeepCbtcLTrainRouteErrProcess(const UINT16 routeId)
|
||||
UINT16 trainEnteringRouteState = 0u;
|
||||
UINT8 signalCrossState = 0u;
|
||||
UINT8 rcWorkMode = 0U; /*rc工作模式*/
|
||||
UINT8 chRouteCouplinkFlag = 0U;
|
||||
rcWorkMode = GetLocalRcWorkMode();
|
||||
/* 联锁逻辑检查 */
|
||||
|
||||
@@ -1492,16 +1471,7 @@ UINT8 KeepCbtcLTrainRouteErrProcess(const UINT16 routeId)
|
||||
{ /*反向进路或风井进路需对进路内方所有区段的占压状态进行检查*/
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
chRouteCouplinkFlag = GetRouteCouplinkFlag(routeId); /*获取进路联挂标志*/
|
||||
if (ROUTE_COUPLINK_FLAG_YES == chRouteCouplinkFlag)
|
||||
{
|
||||
checkResult = KeepCouplinkRouteSecOccCheck(routeId, &devId, &devState);;
|
||||
}
|
||||
else
|
||||
{
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId, &devId, &devState);
|
||||
}
|
||||
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId,&devId, &devState);
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -1886,7 +1856,6 @@ UINT8 KeepCbtcReturnRouteErrProcess(const UINT16 routeId)
|
||||
UINT8 trainEnteringRouteState =0u;
|
||||
UINT8 signalCrossState = 0u;
|
||||
UINT8 rcWorkMode = 0U; /*rc工作模式*/
|
||||
UINT8 chRouteCouplinkFlag = 0U;
|
||||
rcWorkMode = GetLocalRcWorkMode();
|
||||
devState = GetRouteLevel(routeId);
|
||||
if (ROUTE_LEVEL_CBTC == devState)
|
||||
@@ -2021,17 +1990,8 @@ UINT8 KeepCbtcReturnRouteErrProcess(const UINT16 routeId)
|
||||
}
|
||||
}
|
||||
else if(RC_WORK_MODE_CI == rcWorkMode)
|
||||
{
|
||||
chRouteCouplinkFlag = GetRouteCouplinkFlag(routeId); /*获取进路联挂标志*/
|
||||
if (ROUTE_COUPLINK_FLAG_YES == chRouteCouplinkFlag)
|
||||
{
|
||||
checkResult = KeepCouplinkRouteSecOccCheck(routeId, &devId, &devState);
|
||||
}
|
||||
else
|
||||
{
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId, &devId, &devState);
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -3051,9 +3011,10 @@ UINT8 RecoverOpenRouteCheckCLD(const UINT16 routeId)
|
||||
UINT8 routeType = 0u; /*进路类型*/
|
||||
UINT8 errType = CI_ERROR;/*定义检查失败时的错误类型*/
|
||||
UINT8 jkjRelayValidFlag = 0u; /*初始化应急盘继电器有效状态*/
|
||||
UINT16 jkjRelayId = GetJkjRelayId();
|
||||
jkjRelayValidFlag = GetCiJkjFlag();
|
||||
routeType = GetRouteType(routeId); /*获取进路类型*/
|
||||
if (JKJ_REYLAY_VALID == jkjRelayValidFlag)
|
||||
if ((jkjRelayId > 0u) && (JKJ_REYLAY_VALID == jkjRelayValidFlag))
|
||||
{/*应急盘继电器有效状态,不允许信号重开*/
|
||||
errType = CI_ERROR;
|
||||
}
|
||||
@@ -3107,7 +3068,6 @@ static UINT8 OtherCiValidErrCheck(UINT16 const routeId)
|
||||
UINT8 toOpenCheckFlag = 0u;/*恢复可重开信号的条件标志*/
|
||||
UINT8 otherResult = 0u;/*其他联锁检查条件返回值*/
|
||||
UINT8 cFuncSwitchSpks = 0U; /*SPKS信号重开检查进路级别开关*/
|
||||
UINT8 cPsdExceptOpenState = 0U; /*PSD异常打开状态*/
|
||||
|
||||
if (routeLevel == ROUTE_LEVEL_BLOC)
|
||||
{
|
||||
@@ -3161,20 +3121,12 @@ static UINT8 OtherCiValidErrCheck(UINT16 const routeId)
|
||||
{
|
||||
if (psdIdBuf[j] == tmpOtherCiDevInfo->DevId)
|
||||
{
|
||||
cPsdExceptOpenState = GePsdExceptState(tmpOtherCiDevInfo->DevId);
|
||||
if (PSD_EXCEPT_NO == cPsdExceptOpenState)
|
||||
{
|
||||
toOpenCheckFlag = 1U; /*PSD未异常,设置可自动重开*/
|
||||
}
|
||||
else
|
||||
{
|
||||
toOpenCheckFlag = 0U; /*存在PSD异常,停止遍历,设置不可自动重开*/
|
||||
toOpenCheckFlag = 1u;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
toOpenCheckFlag = 0u;
|
||||
@@ -3633,9 +3585,6 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
/*防护进路*/
|
||||
UINT8 const overlapSum = GetRouteOverlapSum(routeId);
|
||||
UINT16 const overlapId = GetRouteOverlapLockedId(routeId);
|
||||
UINT8 cSndSideProFuncSwitch = 0U;
|
||||
|
||||
cSndSideProFuncSwitch = GetSndSideProtectFuncSwitch(); /*二级侧防功能开关*/
|
||||
|
||||
UINT8 lineIdentity = CI_TRADITION_RAILWAY;
|
||||
|
||||
@@ -3679,7 +3628,7 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
}
|
||||
}
|
||||
|
||||
if (CI_TRADITION_RAILWAY == lineIdentity)
|
||||
if(CI_TRADITION_RAILWAY == lineIdentity)
|
||||
{
|
||||
/*保护区段道岔【位置正确】*/
|
||||
if (CI_SUCCESS == reResult)
|
||||
@@ -3698,11 +3647,12 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
/* zt 删除单轨相关代码 2022-02-15 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
|
||||
/*保护区段 内所有道岔【未封锁】*/
|
||||
@@ -3742,11 +3692,11 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
}
|
||||
|
||||
/*保护区段关联防护道岔【位置正确】*/
|
||||
if (CI_SUCCESS == reResult)
|
||||
if(CI_SUCCESS == reResult)
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = OvlpRelatedProtSwitchPosCheck(overlapId, &devId, &devState);
|
||||
checkResult = OvlpRelatedProtSwitchPosCheck(overlapId,&devId,&devState);
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -3764,7 +3714,7 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = OvlpRelatedProtSwitchLockCheck(overlapId, &devId, &devState);
|
||||
checkResult = OvlpRelatedProtSwitchLockCheck(overlapId,&devId, &devState);
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -3777,6 +3727,7 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
/*检查进路侵限条件状态*/
|
||||
@@ -3792,23 +3743,15 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
/*保护区段侧防条件检查*/
|
||||
if ((CI_SUCCESS == reResult) || (CI_ROUTE_RECOVER_ERR == reResult))
|
||||
{
|
||||
if (FUNC_SWITCH_ON == cSndSideProFuncSwitch)
|
||||
{
|
||||
/*仅在二级侧防开关配置为支持二级侧防时才进行侧防条件检查*/
|
||||
/*检查保护区段侧防道岔区段状态*/
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = OlapSideProtectConditionCheck(overlapId, 0U, 0U);
|
||||
checkResult = OverlapLateralDfnCheck(overlapId, &devId, &devState);
|
||||
if (CI_ERROR == checkResult)
|
||||
{
|
||||
reResult = checkResult;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*检查保护区段有效性*/
|
||||
if ((CI_SUCCESS == reResult) || (CI_ROUTE_RECOVER_ERR == reResult))
|
||||
@@ -3826,7 +3769,7 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = OverlapAllSecJumpLockStateCheck(overlapId, &devId, &devState);
|
||||
checkResult = OverlapAllSecJumpLockStateCheck(overlapId,&devId,&devState);
|
||||
if (CI_ERROR == checkResult)
|
||||
{
|
||||
reResult = checkResult;
|
||||
@@ -3847,30 +3790,13 @@ static UINT8 OpenBlocRouteOverlapErrCheck(const UINT16 routeId)
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = OverlapFloodGateStateCheck(overlapId, &devId, &devStateType, &devState);
|
||||
checkResult = OverlapFloodGateStateCheck(overlapId,&devId,&devStateType,&devState);
|
||||
if (CI_ERROR == checkResult)
|
||||
{
|
||||
reResult = checkResult;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*检查照查继电器状态*/
|
||||
if ((CI_SUCCESS == reResult) || (CI_ROUTE_RECOVER_ERR == reResult))
|
||||
{
|
||||
checkResult = OverlapZhaoChaRelayCheck(overlapId, ESEND_LEVEL_ZERO);
|
||||
|
||||
if (CI_ERROR == checkResult)
|
||||
{
|
||||
reResult = checkResult;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4172,15 +4098,12 @@ static UINT8 KeepCbtcRouteSectionErrCheck(const UINT16 routeId)
|
||||
UINT8 preLogDevState = 0u; /*之前逻辑区段占用状态*/
|
||||
UINT8 LogSecCurCtOrUtOcc = 0U; /*逻辑区段当前占用状态*/
|
||||
UINT8 cLocalCiType = 0U; /*本控区类型*/
|
||||
UINT8 chRouteBelongVirCiId = 0U;
|
||||
|
||||
rcWorkMode = GetLocalRcWorkMode();
|
||||
|
||||
/* 联锁逻辑检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
cLocalCiType = GetLocalCiType();
|
||||
chRouteBelongVirCiId = GetRouteBelongVirCiId(routeId);
|
||||
cLocalCiType = GetLocalVirCiType(chRouteBelongVirCiId);
|
||||
if (CI_TYPE_CLD != cLocalCiType)
|
||||
{
|
||||
/*非车辆段,按CBTC既有逻辑处理*/
|
||||
@@ -4326,14 +4249,11 @@ static UINT8 OpenCbtcRouteSectionErrCheck(const UINT16 routeId)
|
||||
UINT8 functionId = EFUNC_OPENROUTESECTIONERRCHECK;
|
||||
UINT8 rcWorkMode = 0U;
|
||||
UINT8 cLocalCiType = 0U; /*本控区类型*/
|
||||
UINT8 chRouteCouplinkFlag = 0U;
|
||||
UINT8 chSigCrossState = 0U;
|
||||
UINT8 chRouteBelongVirCiId = 0U;
|
||||
|
||||
rcWorkMode = GetLocalRcWorkMode();
|
||||
|
||||
/* 联锁逻辑检查 */
|
||||
chRouteBelongVirCiId = GetRouteBelongVirCiId(routeId);
|
||||
cLocalCiType = GetLocalVirCiType(chRouteBelongVirCiId);
|
||||
cLocalCiType = GetLocalCiType();
|
||||
if (CI_TYPE_CLD != cLocalCiType)
|
||||
{
|
||||
/*非车辆段,按CBTC既有逻辑处理*/
|
||||
@@ -4356,32 +4276,18 @@ static UINT8 OpenCbtcRouteSectionErrCheck(const UINT16 routeId)
|
||||
}
|
||||
else if (RC_WORK_MODE_CI == rcWorkMode)
|
||||
{/*CI*/
|
||||
|
||||
/* 进路始端信号机【未跨压】且内方第一逻辑区段【空闲】*/
|
||||
startSignalId = GetRouteStartSignalId(routeId);
|
||||
chSigCrossState = GetSignalCrossState(startSignalId);
|
||||
if (SIGNAL_CROSS_STATE_NO == chSigCrossState)
|
||||
{
|
||||
chRouteCouplinkFlag = GetRouteCouplinkFlag(routeId); /*获取进路联挂标志*/
|
||||
if (ROUTE_COUPLINK_FLAG_YES == chRouteCouplinkFlag)
|
||||
{
|
||||
/*联挂进路区段占用检查*/
|
||||
reResult = SetCouplinkRouteSecOccCheck(routeId, &devId, &devState);
|
||||
}
|
||||
else
|
||||
{
|
||||
devId = GetRouteInFirstLogSecId(routeId);
|
||||
devState = GetLogSecCurOccupyState(devId);
|
||||
if (SECTION_OCCUPY_NO == devState)
|
||||
if ((GetSignalCrossState(startSignalId) == SIGNAL_CROSS_STATE_NO) &&
|
||||
(devState == SECTION_OCCUPY_NO))
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reResult = CheckEngineerVehicleNear(routeId);/*检查是否是工程车接近的跨压*/
|
||||
}
|
||||
@@ -4733,7 +4639,7 @@ static UINT8 RouteIntruSecVainSPKSErrCheck(const UINT16 routeId)
|
||||
*/
|
||||
static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId)
|
||||
{
|
||||
/* 局部变量定义初始化 */
|
||||
/* 局部变量定义初始化 */
|
||||
UINT16 relayId = 0U;
|
||||
UINT8 relayState = 0U;
|
||||
UINT8 zcPhySecSum = 0U; /*照查物理区段数目*/
|
||||
@@ -4745,11 +4651,14 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId)
|
||||
UINT8 retVal = CI_ERROR; /*函数返回值*/
|
||||
UINT16 pDevId = 0U;
|
||||
UINT8 pDevState = 0U;
|
||||
UINT8 chRouteLevel = 0U;
|
||||
UINT8 chErrTemp = 0U;
|
||||
|
||||
/* 对端照查检查 */
|
||||
zcPhySecSum = GetRouteThatZhaoChaPhySecSum(routeId); /*获取照查物理区段数目*/
|
||||
pZcPhySecIdBuf = GetRouteThatZhaoChaPhySecIdBuf(routeId); /*获取照查物理区段ID数组*/
|
||||
/*进路监督级别确认*/
|
||||
chRouteLevel = GetRouteLevel(routeId);
|
||||
|
||||
if (NULL == pZcPhySecIdBuf)
|
||||
{
|
||||
@@ -4761,12 +4670,12 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId)
|
||||
|
||||
for (ii = 0u; ii < zcPhySecSum; ii++)
|
||||
{
|
||||
retVal = RoutePhySecZhaoChaErrCheck(routeId, pZcPhySecIdBuf[ii]);
|
||||
retVal = RoutePhySecZhaoChaErrCheck(routeId,pZcPhySecIdBuf[ii]);
|
||||
if (CI_ERROR == retVal)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else if (CI_ROUTE_RECOVER_ERR == retVal) /*YF00083-1013,出现一个封锁即跳出,防止两个物理区段,一个封锁在前检查,一个未封锁在后检查覆盖掉retVal的值*/
|
||||
else if(CI_ROUTE_RECOVER_ERR == retVal) /*YF00083-1013,出现一个封锁即跳出,防止两个物理区段,一个封锁在前检查,一个未封锁在后检查覆盖掉retVal的值*/
|
||||
{
|
||||
chErrTemp++; /*有一个SPKS封锁就计数一次*/
|
||||
}
|
||||
@@ -4784,8 +4693,19 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId)
|
||||
|
||||
if ((CI_SUCCESS == retVal) || (CI_ROUTE_RECOVER_ERR == retVal))
|
||||
{/*照查物理区段检查通过,检查本端照查继电器*/
|
||||
if (ROUTE_LEVEL_BLOC == chRouteLevel)
|
||||
{
|
||||
thisRealyId = GetRouteThisZhaoChaRelayId(routeId); /*后备模式本端照查继电器ID*/
|
||||
}
|
||||
else if (ROUTE_LEVEL_CBTC == chRouteLevel)
|
||||
{
|
||||
thisRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId);/*CBTC模式本端照查继电器ID*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*非法监督模式,继电器ID为0,在下面不会处理*/
|
||||
}
|
||||
|
||||
thisRealyId = GetRouteThisZhaoChaRelayId(routeId); /*本端照查继电器ID*/
|
||||
thisRelayState = GetRelayCollState(thisRealyId); /*获取指定ID继电器的状态*/
|
||||
routeState = GetRouteState(routeId); /*获取进路状态*/
|
||||
|
||||
@@ -4793,27 +4713,20 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId)
|
||||
{/*存在本端照查继电器*/
|
||||
if ((ROUTE_STATE_FIRST_LOCKERR == routeState) ||
|
||||
(ROUTE_STATE_YUXIAN_LOCK == routeState) ||
|
||||
(ROUTE_STATE_YUXIAN_OPEN == routeState) ||
|
||||
(ROUTE_STATE_NEAR_OPEN == routeState) ||
|
||||
(ROUTE_STATE_NEAR_LOCK == routeState) ||
|
||||
(ROUTE_STATE_NEAR_LOCKERR == routeState) ||
|
||||
(ROUTE_STATE_DELAY_UNLOCK == routeState) ||
|
||||
(ROUTE_STATE_AUTO_UNLOCK == routeState) ||
|
||||
(ROUTE_STATE_AUTO_UNLOCKERR == routeState) ||
|
||||
(ROUTE_STATE_HALF_UNLOCKDELAY == routeState) ||
|
||||
(ROUTE_STATE_LEAD_LOCKERR == routeState) ||
|
||||
(ROUTE_STATE_LEAD_OPEN == routeState))
|
||||
(ROUTE_STATE_NEAR_OPEN == routeState) ||
|
||||
(ROUTE_STATE_YUXIAN_OPEN == routeState))
|
||||
{
|
||||
/*需判断本端照查的状态*/
|
||||
if (RELAY_STATE_UP == thisRelayState)
|
||||
/*进路状态初锁异常,预先锁闭,接近锁闭异常,接近开放,预先开放,
|
||||
需判断本端照查的状态*/
|
||||
if(RELAY_STATE_UP == thisRelayState)
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
}
|
||||
}
|
||||
else if ((ROUTE_STATE_FIRST_LOCK == routeState) ||
|
||||
(ROUTE_STATE_LEAD_LOCK == routeState))
|
||||
else if (ROUTE_STATE_FIRST_LOCK == routeState)
|
||||
{
|
||||
if (RELAY_STATE_UP == thisRelayState)
|
||||
if(RELAY_STATE_UP == thisRelayState)
|
||||
{
|
||||
/*等待,返回等待标志*/
|
||||
retVal = RELAY_STATE_WAITE;
|
||||
@@ -4829,10 +4742,20 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId)
|
||||
|
||||
if ((CI_SUCCESS == retVal) || (CI_ROUTE_RECOVER_ERR == retVal))
|
||||
{/*本端照查继电器检查通过,检查对端照查继电器*/
|
||||
if (ROUTE_LEVEL_BLOC == chRouteLevel)
|
||||
{
|
||||
relayId = GetRouteThatZhaoChaRelayId(routeId); /*后备模式对端照查继电器ID*/
|
||||
}
|
||||
else if (ROUTE_LEVEL_CBTC == chRouteLevel)
|
||||
{
|
||||
relayId = GetRouteCbtcThatZhaoChaRelayId(routeId);/*CBTC模式对端照查继电器ID*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*非法监督模式,继电器ID为0,在下面不会处理*/
|
||||
}
|
||||
|
||||
relayId = GetRouteThatZhaoChaRelayId(routeId); /*对端照查继电器ID*/
|
||||
|
||||
if (0u != relayId)
|
||||
if(0u != relayId)
|
||||
{/*存在对端照查继电器*/
|
||||
|
||||
relayState = GetRelayCollState(relayId);
|
||||
@@ -4850,6 +4773,7 @@ static UINT8 RouteRelayZhaoChaErrCheck(UINT16 const routeId)
|
||||
}
|
||||
|
||||
return retVal;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -50,116 +50,58 @@ void JKJRelayLogicProcess(void)
|
||||
{
|
||||
UINT16 wJkjRelayId = 0u;
|
||||
UINT8 JkjRelayState = CI_ERROR;
|
||||
UINT32 yjValidCycNum = 0u;
|
||||
UINT32 JkjRelayCycNum = 0u;
|
||||
UINT32 JkjValidCycNum = 0u;
|
||||
UINT32 curCycNum = 0u;
|
||||
UINT8 checkRes = CI_TIME_OUT;
|
||||
UINT8 ii = 0u;
|
||||
UINT8 haveYjkBreakFlag = 0u;
|
||||
UINT8 ocYjkBreakFlag = 0u;
|
||||
UINT8 tmpRet =CI_ERROR;
|
||||
|
||||
wJkjRelayId = GetJkjRelayId();
|
||||
JkjRelayState = GetRelayCollState(wJkjRelayId); /*JKJ应急盘继电器采集状态*/
|
||||
yjValidCycNum = GetJkjRelayValidCycNum(); /*JKJ应急盘状态有效周期*/
|
||||
JkjRelayCycNum = GetRelayStateUpdateCycNum(wJkjRelayId); /*JKJ应急盘继电器状态更新周期*/
|
||||
JkjValidCycNum = GetJkjRelayValidCycNum(); /*JKJ应急盘状态有效周期*/
|
||||
|
||||
|
||||
|
||||
if ((wJkjRelayId > 0u) && (RELAY_STATE_DOWN == JkjRelayState))
|
||||
{
|
||||
curCycNum = Get2oo2CurCycleNum();
|
||||
|
||||
for (ii = 0u; ii < m_OcToCiOrginDataNum; ii++)
|
||||
if (0u == JkjRelayCycNum)
|
||||
{/*若未计时,则设置起始周期*/
|
||||
tmpRet = SetRelayStateUpdateCycNum(wJkjRelayId,curCycNum);
|
||||
if (CI_ERROR == tmpRet)
|
||||
{
|
||||
if (OC_HAVE_YJK == m_OcToCiOrginDataArr[ii].chHaveYjk)
|
||||
{/*任意一个OC具备应急控*/
|
||||
haveYjkBreakFlag = 1u;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*继续*/
|
||||
/*错误处理*/
|
||||
}
|
||||
}
|
||||
|
||||
for (ii = 0u; ii < m_OcToCiOrginDataNum; ii++)
|
||||
{
|
||||
if (OC_CTLMODE_YJK == m_OcToCiOrginDataArr[ii].chControlMode)
|
||||
{/*任意一个OC是应急控*/
|
||||
ocYjkBreakFlag = 1u;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*继续*/
|
||||
}
|
||||
}
|
||||
|
||||
if (wJkjRelayId > 0u)
|
||||
{
|
||||
/*配置了继电器*/
|
||||
if (RELAY_STATE_DOWN == JkjRelayState)
|
||||
{/*落下*/
|
||||
if (0u == yjValidCycNum)
|
||||
{/*未计时*/
|
||||
SetJkjRelayValidCycNum(curCycNum); /*设置应急有效周期*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不做处理*/
|
||||
}
|
||||
checkRes = SystemOverTimeCheck(yjValidCycNum, JKJ_REYLAY_VALID_CYCLE_NUM);
|
||||
checkRes = SystemOverTimeCheck(JkjRelayCycNum,JKJ_REYLAY_VALID_CYCLE_NUM);
|
||||
if (CI_TIME_OUT == checkRes)
|
||||
{ /*应急有效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_VALID); /*设置应急盘有效标志为有效*/
|
||||
}
|
||||
else
|
||||
{ /*应急盘有效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_VALID); /*设置JKJ应急盘有效标志为有效*/
|
||||
if (0u == JkjValidCycNum) /*之前没有设置应急盘有效开始周期*/
|
||||
{
|
||||
; /*不做处理*/
|
||||
SetJkjRelayValidCycNum(curCycNum); /*设置JKJ应急盘有效周期*/
|
||||
}
|
||||
}
|
||||
else if (RELAY_STATE_UP == JkjRelayState)
|
||||
{/*吸起*/
|
||||
/*应急无效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_INVALID); /*设置应急盘有效标志为无效*/
|
||||
SetJkjRelayValidCycNum(0u); /*设置应急无效周期*/
|
||||
}
|
||||
else
|
||||
else if ((wJkjRelayId > 0u) && (RELAY_STATE_UP == JkjRelayState))
|
||||
{
|
||||
/*应急无效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_VALID); /*设置应急盘有效标志为无效*/
|
||||
SetJkjRelayValidCycNum(curCycNum); /*设置应急无效周期*/
|
||||
}
|
||||
}
|
||||
else if(1u == haveYjkBreakFlag)
|
||||
tmpRet = SetRelayStateUpdateCycNum(wJkjRelayId, 0u); /*清除JKJ继电器有效起始周期号*/
|
||||
if (CI_ERROR == tmpRet)
|
||||
{
|
||||
/*OC具备应急控*/
|
||||
if (1u == ocYjkBreakFlag)
|
||||
{/*有一个OC处于应急控,则应急有效*/
|
||||
if (0u == yjValidCycNum)
|
||||
{/*未计时*/
|
||||
SetJkjRelayValidCycNum(curCycNum); /*设置应急有效周期*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不做处理*/
|
||||
}
|
||||
checkRes = SystemOverTimeCheck(yjValidCycNum, JKJ_REYLAY_VALID_CYCLE_NUM);
|
||||
if (CI_TIME_OUT == checkRes)
|
||||
{ /*应急有效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_VALID); /*设置应急盘有效标志为有效*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不做处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{/*应急无效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_INVALID); /*设置应急盘有效标志为无效*/
|
||||
SetJkjRelayValidCycNum(0u); /*设置应急无效周期*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*JKJ未配置,OC无应急控功能,应急盘无效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_INVALID); /*设置应急盘有效标志为无效*/
|
||||
SetJkjRelayValidCycNum(0u); /*设置应急无效周期*/
|
||||
/*错误处理*/
|
||||
}
|
||||
/*应急盘无效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_INVALID); /*设置JKJ应急盘继电器有效标志为无效*/
|
||||
|
||||
SetJkjRelayValidCycNum(0u); /*设置JKJ应急盘无效周期*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*应急盘无效*/
|
||||
SetCiJkjFlag(JKJ_REYLAY_INVALID); /*设置JKJ应急盘继电器有效标志为无效*/
|
||||
SetJkjRelayValidCycNum(0u); /*设置JKJ应急盘继电器无效周期*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -229,7 +171,6 @@ void NonRouteLogicProcess(void)
|
||||
{
|
||||
NonRouteCancelDeal(pNonRoute->NonRouteId); /*非进路取消处理*/
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,41 +182,21 @@ void NonRouteLogicProcess(void)
|
||||
*/
|
||||
void NonRouteXuanPaiDeal(UINT8 nonRouteId)
|
||||
{
|
||||
UINT8 reResult = CI_ERROR;
|
||||
NonRouteDataStruct *pNonRoute = GetNonRouteDataById(nonRouteId);
|
||||
reResult = LockNonRouteP(nonRouteId);
|
||||
if (CI_SUCCESS == reResult)
|
||||
if (CI_SUCCESS == LockNonRouteP(nonRouteId))
|
||||
{ /*锁闭成功*/
|
||||
reResult = CheckNonRouteSwitchPosRight(nonRouteId, 0U, 0U);
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
/*进路道岔位置正确*/
|
||||
/*侵限区段侵限条件不满足检查*/
|
||||
reResult = NonRouteIntruSecVainCheck(nonRouteId, EFUNC_CLD_LOCK_NONROUTE, ESEND_LEVEL_ATS);
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
SetNonRouteStateDeal(nonRouteId, NONROUTE_STATE_LOCK); /*设置非进路为锁闭*/
|
||||
}
|
||||
else
|
||||
{
|
||||
SetNonRouteStateDeal(nonRouteId, NONROUTE_STATE_IDLE); /*设置非进路为空闲*/
|
||||
/* NonRouteIntruSecVainCheck函数已经有故障码,不再记录*/
|
||||
}
|
||||
|
||||
|
||||
if (CI_SUCCESS == CheckNonRouteSwitchPosRight(nonRouteId,0u,0u))
|
||||
{ /*进路道岔位置正确*/
|
||||
SetNonRouteStateDeal(nonRouteId,NONROUTE_STATE_LOCK); /*设置非进路为锁闭*/
|
||||
}
|
||||
else
|
||||
{ /*道岔未动作到位*/
|
||||
|
||||
/*非进路锁闭驱动道岔*/
|
||||
reResult = NonRouteLockDrvSwitchDeal(nonRouteId);
|
||||
if (CI_SUCCESS == reResult)
|
||||
if (CI_ERROR == NonRouteLockDrvSwitchDeal(nonRouteId))
|
||||
{
|
||||
/*继续驱动道岔*/
|
||||
}
|
||||
else
|
||||
{
|
||||
SetNonRouteStateDeal(nonRouteId, NONROUTE_STATE_IDLE); /*设置非进路为空闲*/
|
||||
SetNonRouteStateDeal(nonRouteId,NONROUTE_STATE_IDLE); /*设置非进路为空闲*/
|
||||
}
|
||||
|
||||
}
|
||||
@@ -894,6 +815,9 @@ void RouteLogicProcess(void)
|
||||
/*扣车、SPKS、PSD导致信号关闭又重开处理*/
|
||||
RouteRecoverOpenProc(routeId);
|
||||
|
||||
/*进路调车同意逻辑处理*/
|
||||
RouteDCTYLogicM(routeId);
|
||||
|
||||
/*根据进路状态清理相关标志*/
|
||||
ClearSomeFlagDependRouteState(routeId);
|
||||
/*cgh-合并CID-2349-5:*/
|
||||
@@ -4436,22 +4360,37 @@ void NonRouteCancelDeal(UINT8 nonRouteId)
|
||||
void UpdateZhaoChaDeal(const UINT16 routeId, const UINT8 routeState)
|
||||
{
|
||||
UINT16 wSelfRealyId = 0U; /*本模式本端照查ID*/
|
||||
UINT16 wOtherRealyId = 0U; /*本模式本端照查ID*/
|
||||
UINT8 relauDrvState = 0U;
|
||||
UINT8 chRouteLevel = GetRouteLevel(routeId);
|
||||
UINT8 chOverTimeCheck = 0U;
|
||||
UINT32 dwTimeOutCycCount = 0U;
|
||||
UINT32 dwRouteLockStartCycNum = 0U;
|
||||
|
||||
wSelfRealyId = GetRouteThisZhaoChaRelayId(routeId); /*本端照查继电器ID*/
|
||||
dwRouteLockStartCycNum = GetRouteLockStartCycNum(routeId);
|
||||
if (ROUTE_LEVEL_BLOC == chRouteLevel)
|
||||
{
|
||||
wSelfRealyId = GetRouteThisZhaoChaRelayId(routeId); /*后备模式本端照查继电器ID*/
|
||||
wOtherRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId); /*CBTC模式本端照查继电器ID*/
|
||||
}
|
||||
else if (ROUTE_LEVEL_CBTC == chRouteLevel)
|
||||
{
|
||||
wSelfRealyId = GetRouteCbtcThisZhaoChaRelayId(routeId); /*CBTC模式本端照查继电器ID*/
|
||||
wOtherRealyId = GetRouteThisZhaoChaRelayId(routeId); /*后备模式本端照查继电器ID*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*非法监督模式,继电器ID为0,在下面不会处理*/
|
||||
}
|
||||
|
||||
dwTimeOutCycCount = GetSystemParaSignalCloseCyc();
|
||||
|
||||
if (0U < wSelfRealyId)
|
||||
{
|
||||
if ((routeState == ROUTE_STATE_IDLE) ||
|
||||
(routeState == ROUTE_STATE_FIRST_XUANPAI) ||
|
||||
(routeState == ROUTE_STATE_XUANPAI) ||
|
||||
(routeState == ROUTE_STATE_LEAD_FIRST_XUANPAI) ||
|
||||
(routeState == ROUTE_STATE_LEAD_XUANPAI))
|
||||
{
|
||||
/*进路空闲 两种模式照查都吸起*/
|
||||
if (0U < wSelfRealyId)
|
||||
{
|
||||
relauDrvState = GetRelayDriveState(wSelfRealyId);
|
||||
if (RELAY_DRIVE_STATE_NULL == relauDrvState)
|
||||
@@ -4459,15 +4398,34 @@ void UpdateZhaoChaDeal(const UINT16 routeId, const UINT8 routeState)
|
||||
(void)SetRelayDriveState(wSelfRealyId, RELAY_STATE_UP);
|
||||
}
|
||||
}
|
||||
if (0U < wOtherRealyId)
|
||||
{
|
||||
relauDrvState = GetRelayDriveState(wOtherRealyId);
|
||||
if (RELAY_DRIVE_STATE_NULL == relauDrvState)
|
||||
{
|
||||
(void)SetRelayDriveState(wOtherRealyId, RELAY_STATE_UP);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*进路锁闭 本模式照查落下,另一模式照查吸起*/
|
||||
if (0U < wOtherRealyId)
|
||||
{
|
||||
relauDrvState = GetRelayDriveState(wOtherRealyId);
|
||||
if (RELAY_DRIVE_STATE_NULL == relauDrvState)
|
||||
{
|
||||
(void)SetRelayDriveState(wOtherRealyId, RELAY_STATE_UP);
|
||||
}
|
||||
}
|
||||
if (0U < wSelfRealyId)
|
||||
{
|
||||
(void)SetRelayDriveState(wSelfRealyId, RELAY_STATE_DOWN);
|
||||
relauDrvState = GetRelayCollState(wSelfRealyId);
|
||||
|
||||
if (RELAY_STATE_DOWN != relauDrvState)
|
||||
{ /*照查继电器未落下*/
|
||||
chOverTimeCheck = SystemOverTimeCheck(dwRouteLockStartCycNum, dwTimeOutCycCount);
|
||||
if (CI_TIME_OUT == chOverTimeCheck)
|
||||
chOverTimeCheck = CheckRelayDriveOutTime(wSelfRealyId, dwTimeOutCycCount);
|
||||
if (CI_ERROR == chOverTimeCheck)
|
||||
{/*照查超时超时*/
|
||||
|
||||
/*xxxxx宕机*/
|
||||
@@ -6047,8 +6005,6 @@ void DTrainReturnUnlockP(void)
|
||||
UINT16 routeId = 0u; /*进路ID*/
|
||||
UINT8 belongCiId = 0u; /*进路所属联锁ID*/
|
||||
UINT16 ii = 0u; /*循环索引*/
|
||||
UINT8 belongVirCIid = 0U;
|
||||
UINT8 chLocalVirCiType = 0U;
|
||||
|
||||
|
||||
routeCurSum = GetRouteCurSum(); /*获取进路总数*/
|
||||
@@ -6070,14 +6026,10 @@ void DTrainReturnUnlockP(void)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
belongVirCIid = GetRouteBelongVirCiId(routeId);
|
||||
chLocalVirCiType = GetLocalVirCiType(belongVirCIid);
|
||||
if (CI_TYPE_CLD == chLocalVirCiType)
|
||||
{
|
||||
|
||||
/*调车中途折返进路完整锁闭处理*/
|
||||
DTrainReturnUnlockRouteAllLockP(routeId);
|
||||
}
|
||||
}
|
||||
|
||||
/*处理调车中途折返*/
|
||||
for (ii = 0u; ii < routeCurSum; ii++)
|
||||
@@ -6095,14 +6047,10 @@ void DTrainReturnUnlockP(void)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
belongVirCIid = GetRouteBelongVirCiId(routeId);
|
||||
chLocalVirCiType = GetLocalVirCiType(belongVirCIid);
|
||||
if (CI_TYPE_CLD == chLocalVirCiType)
|
||||
{
|
||||
|
||||
/*调车中途折返进路部分锁闭处理*/
|
||||
DTrainRtnUnlockRoutePartLockP(routeId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6120,11 +6068,6 @@ UINT16 GetReturnId(const UINT16 routeId)
|
||||
UINT8 preRouteState = 0u; /* 之前进路状态 */
|
||||
UINT16 ii = 0u;
|
||||
UINT8 toGo = CI_SUCCESS;
|
||||
UINT8 chRouteState = 0U;
|
||||
UINT8 chRoutePhysicalType = 0U;
|
||||
UINT8 chAllLockSecNoOccupyCheck = 0U;
|
||||
UINT8 chTrainEnterRouteFlag = 0U;
|
||||
|
||||
routeState = GetRouteState(routeId); /*获取进路状态*/
|
||||
preRouteState = GetRoutePreState(routeId);/*获取进路前一状态*/
|
||||
|
||||
@@ -6134,8 +6077,7 @@ UINT16 GetReturnId(const UINT16 routeId)
|
||||
toGo = CI_ERROR;
|
||||
}
|
||||
|
||||
chAllLockSecNoOccupyCheck = RouteAllLockSecNoOccupyCheck(routeId);
|
||||
if ((CI_ERROR == chAllLockSecNoOccupyCheck) && (CI_SUCCESS == toGo))
|
||||
if ((CI_ERROR == RouteAllLockSecNoOccupyCheck(routeId)) && (CI_SUCCESS == toGo))
|
||||
{ /*进路区段不是都空闲*/
|
||||
|
||||
toGo = CI_ERROR;
|
||||
@@ -6156,14 +6098,12 @@ UINT16 GetReturnId(const UINT16 routeId)
|
||||
/*获取所有满足道岔条件的进路ID*/
|
||||
for (ii = 0u; ii < starSigRouteSum; ii++)
|
||||
{
|
||||
chRouteState = GetRouteState(starSigRouteBuf[ii]);
|
||||
chRoutePhysicalType = CheckRoutePhysicalType(starSigRouteBuf[ii]);
|
||||
/*B库改为两条进路,当8编组车占压两条进路时,此时BG2进路解锁需要检查以差值信号机为始端的进路的状态*/
|
||||
if ((ROUTE_STATE_IDLE == chRouteState) &&(CI_SUCCESS == chRoutePhysicalType))
|
||||
if ((ROUTE_STATE_IDLE == GetRouteState(starSigRouteBuf[ii])) &&(CI_SUCCESS == CheckRoutePhysicalType(starSigRouteBuf[ii])) &&
|
||||
(SIGNAL_VIRTUAL_YES == GetSignalVirtualAttr(returnSigId)))
|
||||
{
|
||||
/*以并置信号机为始端的进路均为空闲且进路包含的区段均为列检库区段,且并置信号机为虚拟信号机,
|
||||
该种算法目前只限制在库线中中途折返场景(SIGNAL_VIRTUAL_YES == GetSignalVirtualAttr(returnSigId))*/
|
||||
/*联挂功能去掉虚拟信号机检查条件*/
|
||||
该种算法目前只限制在库线中中途折返场景*/
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -6184,17 +6124,16 @@ UINT16 GetReturnId(const UINT16 routeId)
|
||||
{
|
||||
/*当前状态是接近锁闭异常*/
|
||||
|
||||
/* 如果是差至,如果列车驶入过进路,同时之前状态必须为接近锁闭开放
|
||||
/* 如果是差至,如果列车驶入过进路,同时之前状态必须为接近锁闭正常(列车压入,信号关闭)
|
||||
* 否则不认为是同一列车跨入中途折返处理
|
||||
*/
|
||||
chTrainEnterRouteFlag = GetTrainEnterRouteFlag(routeId);
|
||||
if((ROUTE_STATE_NEAR_OPEN == preRouteState) && (TRAIN_ENTER_ROUTE_FLAG_YES == chTrainEnterRouteFlag))
|
||||
if((ROUTE_STATE_NEAR_LOCK == preRouteState) && (TRAIN_ENTER_ROUTE_FLAG_YES == GetTrainEnterRouteFlag(routeId)))
|
||||
{
|
||||
returnSigId = GetRouteChaZhiSignalId(routeId); /*获取差置信号机ID*/
|
||||
}
|
||||
else
|
||||
{
|
||||
returnSigId = 0U;
|
||||
returnSigId = 0u;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6227,8 +6166,6 @@ void DTrainReturnUnlockRouteAllLockP(const UINT16 routeId)
|
||||
UINT8 chLockBelRouteType = 0U;/*区段锁闭所属进路进路类型*/
|
||||
UINT8 chTrainEnterRouteFlag = 0U;/*列车驶入进路标志*/
|
||||
UINT8 chRouteInOutSecOccupy = 0U;/*进路内外方同时占压标志*/
|
||||
UINT32 dwRoutLockCycNum = 0U;
|
||||
UINT32 dwReturnRoutLockCycNum = 0U;
|
||||
|
||||
routeState = GetRouteState(routeId); /*获取进路状态*/
|
||||
routeType = GetRouteType(routeId);
|
||||
@@ -6270,16 +6207,14 @@ void DTrainReturnUnlockRouteAllLockP(const UINT16 routeId)
|
||||
wLockRouteStartSigId = GetRouteStartSignalId(lockBelongRouteId);/*获取进路始端信号机ID*/
|
||||
chTrainEnterRouteFlag = CheckTrainEnterRoute(lockBelongRouteId);/*获取列车驶入进路标志*/
|
||||
chRouteInOutSecOccupy = RouteInOutSecOccupy(lockBelongRouteId);/*进路内外方同时占用标志*/
|
||||
dwRoutLockCycNum = GetRouteLockStartCycNum(routeId); /*获取进路锁闭起始周期*/
|
||||
dwReturnRoutLockCycNum = GetRouteLockStartCycNum(lockBelongRouteId);/*获取折出进路锁闭起始周期*/
|
||||
|
||||
if ((ROUTE_STATE_NEAR_OPEN == chLockBelRouteState) && (ROUTE_TYPE_DIAOCHE == chLockBelRouteType) &&
|
||||
(returnSigId == wLockRouteStartSigId) && (dwReturnRoutLockCycNum > dwRoutLockCycNum) &&
|
||||
(returnSigId == wLockRouteStartSigId) &&
|
||||
((CI_SUCCESS == chTrainEnterRouteFlag) ||
|
||||
((CI_SUCCESS == chRouteInOutSecOccupy) && (ROUTE_TYPE_LIECHE == routeType))))
|
||||
{
|
||||
/*折出进路是调车进路&&状态是接近开放&&折出进路始端信号机是本进路折返信号机 &&(有车驶入 或 待解锁进路为列车进路是折出进路时内外方区段同时占压)*/
|
||||
/*by cgh 20250414增加条件:折出进路锁闭时间晚于需中途解锁进路*/
|
||||
|
||||
/*解锁成功*/
|
||||
SetRoutePhySectionLockState(routeId, PHYSICAL_SECTION_LOCK_NO); /*设置进路区段未锁闭*/
|
||||
|
||||
@@ -6289,10 +6224,10 @@ void DTrainReturnUnlockRouteAllLockP(const UINT16 routeId)
|
||||
SetRouteStateDeal(routeId, ROUTE_STATE_IDLE); /*设置进路状态为空闲*/
|
||||
}
|
||||
if ((ROUTE_TYPE_LIECHE == chLockBelRouteType) && (ROUTE_STATE_NEAR_LOCK == chLockBelRouteState)
|
||||
&& (returnSigId == wLockRouteStartSigId) && (dwReturnRoutLockCycNum > dwRoutLockCycNum))
|
||||
&& (returnSigId == wLockRouteStartSigId))
|
||||
{
|
||||
/*折出进路是列车进路 且 进路状态是接近锁闭正常 且 折出进路始端信号机是本进路折返信号机*/
|
||||
/*by cgh 20250414增加条件:折出进路锁闭时间晚于需中途解锁进路*/
|
||||
|
||||
/*解锁成功*/
|
||||
SetRoutePhySectionLockState(routeId, PHYSICAL_SECTION_LOCK_NO); /*设置进路区段未锁闭*/
|
||||
/*设置进路逻辑区段: 未锁闭*/
|
||||
@@ -6330,8 +6265,6 @@ void DTrainRtnUnlockRemoteRAllLockP(const UINT16 routeId)
|
||||
UINT8 chLockBelRouteType = 0U;/*区段锁闭所属进路进路类型*/
|
||||
UINT8 chTrainEnterRouteFlag = 0U;/*列车驶入进路标志*/
|
||||
UINT8 chRouteInOutSecOccupy = 0U;/*进路内外方同时占压标志*/
|
||||
UINT32 dwRoutLockCycNum = 0U;
|
||||
UINT32 dwReturnRoutLockCycNum = 0U;
|
||||
|
||||
routeState = GetRouteState(routeId); /*获取进路状态*/
|
||||
routeType = GetRouteType(routeId);
|
||||
@@ -6379,16 +6312,13 @@ void DTrainRtnUnlockRemoteRAllLockP(const UINT16 routeId)
|
||||
wLockRouteStartSigId = GetRouteStartSignalId(lockBelongRouteId);/*获取进路始端信号机ID*/
|
||||
chTrainEnterRouteFlag = CheckTrainEnterRoute(lockBelongRouteId);/*获取列车驶入进路标志*/
|
||||
chRouteInOutSecOccupy = RouteInOutSecOccupy(lockBelongRouteId);/*进路内外方同时占用标志*/
|
||||
dwRoutLockCycNum = GetRouteLockStartCycNum(routeId); /*获取进路锁闭起始周期*/
|
||||
dwReturnRoutLockCycNum = GetRouteLockStartCycNum(lockBelongRouteId);/*获取折出进路锁闭起始周期*/
|
||||
|
||||
if ((ROUTE_STATE_NEAR_OPEN == chLockBelRouteState) && (ROUTE_TYPE_DIAOCHE == chLockBelRouteType) &&
|
||||
(returnSigId == wLockRouteStartSigId) && (dwReturnRoutLockCycNum > dwRoutLockCycNum) &&
|
||||
(returnSigId == wLockRouteStartSigId) &&
|
||||
((CI_SUCCESS == chTrainEnterRouteFlag) ||
|
||||
((CI_SUCCESS == chRouteInOutSecOccupy) && (ROUTE_TYPE_LIECHE== routeType))))
|
||||
{
|
||||
/*折出进路是调车进路&&状态是接近开放&&折出进路始端信号机是本进路折返信号机 &&(有车驶入 或 待解锁进路为列车进路是折出进路时内外方区段同时占压)*/
|
||||
/*by cgh 20250414增加条件:折出进路锁闭时间晚于需中途解锁进路*/
|
||||
/*解锁成功*/
|
||||
SetRoutePhySectionLockState(routeId, PHYSICAL_SECTION_LOCK_NO); /*设置进路区段未锁闭*/
|
||||
/*设置进路逻辑区段: 未锁闭*/
|
||||
@@ -6396,10 +6326,9 @@ void DTrainRtnUnlockRemoteRAllLockP(const UINT16 routeId)
|
||||
SetRouteStateDeal(routeId, ROUTE_STATE_IDLE); /*设置进路状态为空闲*/
|
||||
}
|
||||
if ((ROUTE_TYPE_LIECHE== chLockBelRouteType) && (ROUTE_STATE_NEAR_LOCK == chLockBelRouteState)
|
||||
&& (returnSigId == wLockRouteStartSigId) && (dwReturnRoutLockCycNum > dwRoutLockCycNum))
|
||||
&& (returnSigId == wLockRouteStartSigId))
|
||||
{
|
||||
/*折出进路是列车进路 且 进路状态是接近锁闭正常 且 折出进路始端信号机是本进路折返信号机*/
|
||||
/*by cgh 20250414增加条件:折出进路锁闭时间晚于需中途解锁进路*/
|
||||
/*解锁成功*/
|
||||
SetRoutePhySectionLockState(routeId, PHYSICAL_SECTION_LOCK_NO); /*设置进路区段未锁闭*/
|
||||
/*设置进路逻辑区段: 未锁闭*/
|
||||
@@ -6538,94 +6467,75 @@ UINT16 GetRouteBingZhiSignalId(const UINT16 routeId)
|
||||
*/
|
||||
UINT16 GetRouteChaZhiSignalId(const UINT16 routeId)
|
||||
{
|
||||
UINT16 startSigId = 0U; /*始端信号机ID*/
|
||||
UINT16 signalSum = 0U; /*信号机总数*/
|
||||
UINT16 signalId = 0U; /*信号机ID*/
|
||||
UINT16 routeSecSum = 0U; /*进路区段总数*/
|
||||
RoutePhysicalSectionStruct* pRoutePhySecStru = NULL; /*进路区段数据*/
|
||||
UINT16 returnOutSecId = 0U; /*折返信号机外方区段ID*/
|
||||
UINT16 returnInSecId = 0U; /*折返信号机内方区段ID*/
|
||||
UINT16 lockBelongRouteId = 0U; /*锁闭所属进路ID*/
|
||||
UINT16 outSecId = 0U; /*外方区段ID*/
|
||||
UINT16 ii = 0U;
|
||||
UINT16 tmpSigId = 0U;
|
||||
UINT8 chPhySecType = 0U;
|
||||
UINT16 wTempPhySecId = 0U;
|
||||
UINT16 wReturnSignal = 0U;
|
||||
UINT16 wTempSigId = 0U;
|
||||
UINT8 chPhyLockState = 0U;
|
||||
UINT16 wLockRouteId = 0U;
|
||||
UINT16 wTempSigOutPhyId = 0U;
|
||||
UINT16 wTempSigInPhyId = 0U;
|
||||
UINT16 startSigId = 0u; /*始端信号机ID*/
|
||||
UINT16 signalSum = 0u; /*信号机总数*/
|
||||
UINT16 signalId = 0u; /*信号机ID*/
|
||||
UINT16 routeSecSum = 0u; /*进路区段总数*/
|
||||
RoutePhysicalSectionStruct *pRoutePhySecStru = NULL; /*进路区段数据*/
|
||||
UINT16 returnOutSecId = 0u; /*折返信号机外方区段ID*/
|
||||
UINT16 returnInSecId = 0u; /*折返信号机内方区段ID*/
|
||||
UINT16 lockBelongRouteId = 0u; /*锁闭所属进路ID*/
|
||||
UINT16 outSecId = 0u; /*外方区段ID*/
|
||||
UINT16 ii = 0u;
|
||||
UINT16 tmpSigId = 0u;
|
||||
|
||||
|
||||
startSigId = GetRouteStartSignalId(routeId); /*获取进路始端信号机ID*/
|
||||
signalSum = GetSignalCurSum(); /*获取信号机总数*/
|
||||
|
||||
outSecId = GetSignalOutFirstPhySecId(startSigId);
|
||||
chPhySecType = GetPhySecType(outSecId);
|
||||
if (PHYSICAL_SEC_TYPE_NOSWITCH == chPhySecType)
|
||||
if (PHYSICAL_SEC_TYPE_NOSWITCH == GetPhySecType(GetSignalOutFirstPhySecId(startSigId)))
|
||||
{ /*无岔区段*/
|
||||
|
||||
for (ii = 0u; ii < signalSum; ii++)
|
||||
{
|
||||
signalId = GetSignalId(ii); /*获取信号机ID*/
|
||||
wTempPhySecId = GetSignalOutFirstPhySecId(signalId);
|
||||
|
||||
if ((outSecId == wTempPhySecId) && (startSigId != signalId))
|
||||
if ((GetSignalOutFirstPhySecId(startSigId) == GetSignalOutFirstPhySecId(signalId)) &&
|
||||
(startSigId != signalId))
|
||||
{
|
||||
wReturnSignal = signalId;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
return signalId;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{ /*有岔*/
|
||||
|
||||
outSecId = GetSignalOutFirstPhySecId(startSigId); /*进路始端信号机外方区段ID*/
|
||||
lockBelongRouteId = GetPhySecRLockBelongRouteId(outSecId); /*区段锁闭所属进路ID*/
|
||||
|
||||
routeSecSum = GetRoutePhysicalSectionSum(lockBelongRouteId); /*获取进路区段总数*/
|
||||
pRoutePhySecStru = GetRouteSectionData(lockBelongRouteId); /*获取进路区段数据*/
|
||||
|
||||
if ((0U == routeSecSum) || (NULL == pRoutePhySecStru))
|
||||
if ((0u == routeSecSum) || (NULL == pRoutePhySecStru))
|
||||
{
|
||||
/*不处理*/
|
||||
return 0u;
|
||||
}
|
||||
else
|
||||
if (routeSecSum == 1u)
|
||||
{
|
||||
if (1U == routeSecSum)
|
||||
/*if ((PHYSICAL_SECTION_LOCK_NORMAL == GetPhySecLockState(pRoutePhySecStru[0].PhysicalSectionId)) &&
|
||||
(lockBelongRouteId == GetPhySecRLockBelongRouteId(pRoutePhySecStru[0].PhysicalSectionId)))*/
|
||||
{
|
||||
returnOutSecId = pRoutePhySecStru[0U].PhysicalSectionId;/*折返信号机外方区段ID*/
|
||||
returnOutSecId = pRoutePhySecStru[0].PhysicalSectionId;/*折返信号机外方区段ID*/
|
||||
|
||||
tmpSigId = GetRouteStartSignalId(lockBelongRouteId);/*折返信号机内方区段ID*/
|
||||
|
||||
returnInSecId = GetSignalOutFirstPhySecId(tmpSigId);
|
||||
}
|
||||
else if (1U < routeSecSum)
|
||||
}
|
||||
else if (routeSecSum > 1u)
|
||||
{
|
||||
for (ii = 0U; ii < routeSecSum; ii++)
|
||||
for (ii = 0u; ii < routeSecSum; ii++)
|
||||
{
|
||||
|
||||
chPhyLockState = GetPhySecLockState(pRoutePhySecStru[ii].PhysicalSectionId);
|
||||
wLockRouteId = GetPhySecRLockBelongRouteId(pRoutePhySecStru[ii].PhysicalSectionId);
|
||||
if ((PHYSICAL_SECTION_LOCK_NORMAL == chPhyLockState) &&
|
||||
(lockBelongRouteId == wLockRouteId))
|
||||
if ((PHYSICAL_SECTION_LOCK_NORMAL == GetPhySecLockState(pRoutePhySecStru[ii].PhysicalSectionId)) &&
|
||||
(lockBelongRouteId == GetPhySecRLockBelongRouteId(pRoutePhySecStru[ii].PhysicalSectionId)))
|
||||
{ /*本进路第一个锁闭的区段*/
|
||||
|
||||
returnOutSecId = pRoutePhySecStru[ii].PhysicalSectionId; /*折返信号机外方区段ID*/
|
||||
|
||||
if (0U < ii)
|
||||
if (ii > 0u)
|
||||
{
|
||||
returnInSecId = pRoutePhySecStru[ii - 1U].PhysicalSectionId; /*折返信号机内方区段ID*/
|
||||
}
|
||||
else
|
||||
{
|
||||
wTempSigId = GetRouteStartSignalId(lockBelongRouteId);/*获取锁闭进路的外方第一区段*/
|
||||
returnInSecId = GetSignalOutFirstPhySecId(wTempSigId);
|
||||
|
||||
returnInSecId = pRoutePhySecStru[ii-1U].PhysicalSectionId; /*折返信号机内方区段ID*/
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -6636,36 +6546,24 @@ UINT16 GetRouteChaZhiSignalId(const UINT16 routeId)
|
||||
{
|
||||
/*无操作*/
|
||||
}
|
||||
if ((0u == returnOutSecId) || (0u == returnInSecId))
|
||||
{
|
||||
return 0u;
|
||||
}
|
||||
|
||||
if ((0U == returnOutSecId) || (0U == returnInSecId))
|
||||
{
|
||||
/*无操作*/
|
||||
}
|
||||
else
|
||||
{
|
||||
for (ii = 0u; ii < signalSum; ii++)
|
||||
{
|
||||
signalId = GetSignalId(ii); /*获取信号机ID*/
|
||||
wTempSigOutPhyId = GetSignalOutFirstPhySecId(signalId);
|
||||
wTempSigInPhyId = GetSignalInFirstPhySecId(signalId, routeId);
|
||||
if ((returnOutSecId == wTempSigOutPhyId) &&
|
||||
(returnInSecId == wTempSigInPhyId))
|
||||
|
||||
if ((returnOutSecId == GetSignalOutFirstPhySecId(signalId)) &&
|
||||
(returnInSecId == GetSignalInFirstPhySecId(signalId, routeId)))
|
||||
{
|
||||
wReturnSignal = signalId;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*无操作*/
|
||||
return signalId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return wReturnSignal;
|
||||
return 0u;
|
||||
}
|
||||
|
||||
|
||||
@@ -7171,232 +7069,58 @@ UINT8 CLDPhySectionFaultUnlockDeal(const UINT16 phySectionId,const UINT16 lockBe
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 取消洗车命令处理
|
||||
* 参数说明: 无
|
||||
* 功能描述: 取消洗车逻辑管理
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
by hh 20251208
|
||||
*/
|
||||
void CancelWashWorkLogicM(void)
|
||||
{
|
||||
UINT16 washMachineId = 0U; /*洗车机ID*/
|
||||
UINT16 wDownWashRelateRouteFirstId = 0U; /*降级模式洗车线控制台表示灯1关联进路ID*/
|
||||
UINT8 chRouteState = 0U;/*进路状态*/
|
||||
UINT8 downWashAllowState = 0U;/*降级模式洗车同意状态(融合)*/
|
||||
UINT8 washMachineButtonType = GetCiFunctionSwitchConfig(FUNC_WDOWNWASH_ZIFUSHI_BUTTON); /*降级模式洗车同意按钮自复式类型*/
|
||||
washMachineId = GetWashMachineId(0U);
|
||||
|
||||
if ((FUNC_SWITCH_ON == washMachineButtonType) && (washMachineId > 0u) && (washMachineId < WASHMACHINE_SUM_MAX))
|
||||
{
|
||||
downWashAllowState = GetDownWashAllowState(washMachineId);
|
||||
|
||||
if (WASH_COL_STATE_ALLOW_YES == downWashAllowState)
|
||||
{
|
||||
wDownWashRelateRouteFirstId = GetDownWashRelateRoute1Id(washMachineId);
|
||||
chRouteState = GetRouteState(wDownWashRelateRouteFirstId);
|
||||
|
||||
if (ROUTE_STATE_IDLE == chRouteState)
|
||||
{
|
||||
/*设置降级模式洗车线和DCC的洗车同意按钮状态无效*/
|
||||
SetDownWashAllowColState(washMachineId, WASH_COL_STATE_ALLOW_NO);
|
||||
/*清除洗车线洗车同意按钮有效周期*/
|
||||
SetDownWashBtVadCycle(washMachineId, 0U);
|
||||
SetDownDccWashAllowColState(washMachineId, WASH_COL_STATE_ALLOW_NO);
|
||||
/*清除DCC洗车同意按钮有效周期*/
|
||||
SetDownWashDccBtVadCycle(washMachineId, 0U);
|
||||
SetDownWashReqState(washMachineId, WASH_REQ_STATE_ALLOW_NO);
|
||||
SetDownWashReqCycle(washMachineId, 0U);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*向ATS报警进路未取消,请先取消进路 0XB5*/
|
||||
SetCiSendCmdBackInfoData(CI_BACK_ROUTE_IDLE_NOT, CI_DEVICE_TYPE_ROUTE, wDownWashRelateRouteFirstId, 0U, 0U);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*向ATS报警"当前洗车机洗车同意按钮未按下,不需要取消 0XB6"*/
|
||||
SetCiSendCmdBackInfoData(CI_BACK_WASH_BUTTON_PRESS_NOT, CI_DEVICE_TYPE_WASHMACHINE, washMachineId, 0U, 0U);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*其他情况不处理*/
|
||||
{/*取消洗车命令*/
|
||||
UINT16 washMachineId = 0u;
|
||||
washMachineId = GetWashMachineId(0u);
|
||||
#if 0
|
||||
SetCancelWashMachineFlag(washMachineId,CANCEL_WASH_FLAG_SET_YES);
|
||||
#endif
|
||||
if (washMachineId >0u)
|
||||
{/*收到现地取消洗车命令,直接把洗车同意按钮状逻辑态置为抬起*/
|
||||
(void)SetWashmachineXTALogicState(washMachineId,XTA_STATE_RAISE_UP);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 请求洗车命令处理
|
||||
* 参数说明: 无
|
||||
* 返回值 : void
|
||||
*by hh 20251208
|
||||
*/
|
||||
void ReqWashWorkLogicM(void)
|
||||
{
|
||||
UINT32 curCycle = Get2oo2CurCycleNum(); /*当前周期号*/
|
||||
UINT8 downWashReqState = WASH_REQ_STATE_ALLOW_NO; /*洗车机洗车请求状态*/
|
||||
UINT16 wMachineId = 0U; /*洗车机ID*/
|
||||
UINT8 washMachineButtonType = GetCiFunctionSwitchConfig(FUNC_WDOWNWASH_ZIFUSHI_BUTTON); /*降级模式洗车同意按钮自复式类型*/
|
||||
wMachineId = GetWashMachineId(0U);
|
||||
|
||||
if((FUNC_SWITCH_ON == washMachineButtonType) && (wMachineId >0u) && (wMachineId < WASHMACHINE_SUM_MAX))
|
||||
{
|
||||
downWashReqState = GetDownWashReqState(wMachineId);
|
||||
if (WASH_REQ_STATE_ALLOW_NO == downWashReqState)
|
||||
{
|
||||
/*设置降级模式洗车请求有效*/
|
||||
SetDownWashReqState(wMachineId, WASH_REQ_STATE_ALLOW_YES);
|
||||
/*设置降级模式洗车请求周期号有效*/
|
||||
SetDownWashReqCycle(wMachineId, curCycle);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*向ATS报警当前洗车机洗车请求有效,请勿重复操作 0xB3*/
|
||||
SetCiSendCmdBackInfoData(CI_BACK_WASH_APPLY_NOT, CI_DEVICE_TYPE_WASHMACHINE, wMachineId, 0U, 0U);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 反向通过请求命令处理
|
||||
* 参数说明:无
|
||||
* 返回值 : void
|
||||
*by hh 20251208
|
||||
*/
|
||||
void ReqPassWashWorkLogicM(void)
|
||||
{
|
||||
UINT32 curCycle = Get2oo2CurCycleNum(); /*当前周期号*/
|
||||
UINT8 downWashPassReqState = WASH_REQ_STATE_ALLOW_NO; /*反向洗车请求状态*/
|
||||
UINT16 wMachineId = 0U; /*洗车机ID*/
|
||||
UINT8 washMachineButtonType = GetCiFunctionSwitchConfig(FUNC_WDOWNWASH_ZIFUSHI_BUTTON); /*降级模式洗车同意按钮自复式类型*/
|
||||
wMachineId = GetWashMachineId(0U);
|
||||
|
||||
if ((FUNC_SWITCH_ON == washMachineButtonType) && (wMachineId > 0u) && (wMachineId < WASHMACHINE_SUM_MAX))
|
||||
{
|
||||
downWashPassReqState = GetDownWashPassReqState(wMachineId);
|
||||
|
||||
if (WASH_REQ_STATE_ALLOW_NO == downWashPassReqState)
|
||||
{
|
||||
/*设置降级模式反向洗车请求有效*/
|
||||
SetDownWashPassReqState(wMachineId, WASH_REQ_STATE_ALLOW_YES);
|
||||
/*设置降级模式反向洗车请求周期号有效*/
|
||||
SetDownWashPassReqCycle(wMachineId, curCycle);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetCiSendCmdBackInfoData(CI_BACK_WASH_PASSAPPLY_NOT, CI_DEVICE_TYPE_WASHMACHINE, wMachineId, 0U, 0U);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 取消反向通过请求命令处理
|
||||
* 参数说明: 无
|
||||
* 返回值 : void
|
||||
*by hh 20251208
|
||||
*/
|
||||
void CancelPassWashWorkLogicM(void)
|
||||
{
|
||||
UINT16 wDownWashRelateRouteSecId = 0U; /*降级模式洗车线控制台表示灯2关联进路ID*/
|
||||
UINT8 chRouteState = 0U;/*进路状态*/
|
||||
UINT8 downWashAllowPassState = 0U;/*降级模式反向通过洗车同意状态(融合)*/
|
||||
UINT16 wMachineId = 0U; /*洗车机ID*/
|
||||
UINT8 washMachineButtonType = GetCiFunctionSwitchConfig(FUNC_WDOWNWASH_ZIFUSHI_BUTTON); /*降级模式洗车同意按钮自复式类型*/
|
||||
wMachineId = GetWashMachineId(0U);
|
||||
if ((FUNC_SWITCH_ON == washMachineButtonType) && (wMachineId > 0u && wMachineId < WASHMACHINE_SUM_MAX))
|
||||
{
|
||||
downWashAllowPassState = GetDownWashAllowPassState(wMachineId);
|
||||
|
||||
if (WASH_COL_STATE_ALLOW_YES == downWashAllowPassState)
|
||||
{
|
||||
wDownWashRelateRouteSecId = GetDownWashRelateRoute2Id(wMachineId);
|
||||
chRouteState = GetRouteState(wDownWashRelateRouteSecId);
|
||||
|
||||
if (ROUTE_STATE_IDLE == chRouteState)
|
||||
{
|
||||
/*设置降级模式洗车线和DCC的反向洗车同意按钮状态无效*/
|
||||
SetDownWashAllowPassColState(wMachineId, WASH_COL_STATE_ALLOW_NO);
|
||||
/*清除洗车线反向通过同意按钮有效周期*/
|
||||
SetDownWashBtVadPassCycle(wMachineId, 0U);
|
||||
SetDownDccWashAllowPassColState(wMachineId, WASH_COL_STATE_ALLOW_NO);
|
||||
/*清除DCC反向通过同意按钮有效周期*/
|
||||
SetDownWashDccBtVadPassCycle(wMachineId, 0U);
|
||||
SetDownWashPassReqState(wMachineId, WASH_REQ_STATE_ALLOW_NO);
|
||||
SetDownWashPassReqCycle(wMachineId, 0U);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*向ATS报警进路未取消,请先取消进路 0XB5*/
|
||||
SetCiSendCmdBackInfoData(CI_BACK_ROUTE_IDLE_NOT, CI_DEVICE_TYPE_ROUTE, wDownWashRelateRouteSecId, 0U, 0U);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
/*向ATS报警"洗车机XXX反向通过同意按钮未按下,不需要取消 0XB7"*/
|
||||
SetCiSendCmdBackInfoData(CI_BACK_WASH_PASSBUTTON_PRESS_NOT, CI_DEVICE_TYPE_WASHMACHINE, wMachineId, 0U, 0U);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*其他情况不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 进路调车同意逻辑管理
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
* by cgh 20250523
|
||||
*/
|
||||
void RouteDCTYLogic(UINT16 routeId)
|
||||
void RouteDCTYLogicM(UINT16 routeId)
|
||||
{
|
||||
UINT8 routeType = 0U;
|
||||
UINT8 routeState = 0U;
|
||||
UINT16 routeDCQJId = 0U;
|
||||
UINT16 routeDCQJTwoId = 0U;
|
||||
|
||||
UINT8 routeType = 0u;
|
||||
UINT8 routeState = 0u;
|
||||
UINT16 routeDCQJId = 0u;
|
||||
routeType = GetRouteType(routeId);/*进路类型*/
|
||||
routeState = GetRouteState(routeId);/*进路状态*/
|
||||
routeDCQJId = GetRouteDCQJId(routeId);
|
||||
routeDCQJTwoId = GetRouteDCQJTwoId(routeId);
|
||||
|
||||
if ((0U < routeDCQJId) && (0U < routeDCQJTwoId) && (ROUTE_TYPE_DIAOCHE == routeType))
|
||||
if ((routeDCQJId >0u) && (ROUTE_TYPE_DIAOCHE == routeType))
|
||||
{/*调车请求继电器ID存在,且是调车进路*/
|
||||
if((ROUTE_STATE_FIRST_LOCK == routeState) ||
|
||||
(ROUTE_STATE_FIRST_LOCKERR == routeState) ||
|
||||
(ROUTE_STATE_YUXIAN_LOCK == routeState) ||
|
||||
(ROUTE_STATE_YUXIAN_OPEN == routeState) ||
|
||||
(ROUTE_STATE_NEAR_OPEN == routeState) ||
|
||||
(ROUTE_STATE_NEAR_LOCK == routeState) ||
|
||||
(ROUTE_STATE_NEAR_LOCKERR == routeState)||
|
||||
(ROUTE_STATE_AUTO_UNLOCK == routeState) ||
|
||||
(ROUTE_STATE_AUTO_UNLOCKERR == routeState) ||
|
||||
(ROUTE_STATE_DELAY_UNLOCK == routeState))
|
||||
{
|
||||
/*进路存在锁闭:进路初锁、进路初锁异常、预先锁闭、预先开放、接近开放、接近锁闭异常、接近锁闭正常、延时解锁、自动解锁正常、自动解锁异常*/
|
||||
SetRouteDCQState(routeId,ROUTE_DCQ_REQUEST);/*设置进路调车请求状态调车请求有效*/
|
||||
(ROUTE_STATE_LEAD_LOCK == routeState) ||
|
||||
(ROUTE_STATE_LEAD_LOCKERR == routeState) ||
|
||||
(ROUTE_STATE_LEAD_OPEN == routeState) ||
|
||||
(ROUTE_STATE_DELAY_UNLOCK == routeState) ||
|
||||
(ROUTE_STATE_NEAR_LOCK == routeState))
|
||||
{/*进路是完整锁闭:进路初锁、进路初锁异常、预先锁闭、预先开放、接近开放、接近锁闭异常、接近锁闭正常
|
||||
、引导锁闭、引导锁闭异常、引导开放、延时解锁*/
|
||||
(void)SetRouteDCQState(routeId,ROUTE_DCQ_REQUEST);/*设置进路调车请求状态为调车请求*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*其它情况设置进路调车请求状态为调车请求无效;调车同意状态无效*/
|
||||
SetRouteDCQState(routeId,ROUTE_DCQ_NOT_REQUEST);
|
||||
SetRouteDCTYState(routeId, ROUTE_DCT_NOT_AGREE);
|
||||
{/*非完整锁闭设置进路调车请求状态为非调车请求*/
|
||||
(void)SetRouteDCQState(routeId,ROUTE_DCQ_NOT_REQUEST);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -766,44 +766,18 @@ UINT16 GetReturnId(const UINT16 routeId);
|
||||
void DTrainRtnUnlockRemoteRAllLockP(const UINT16 routeId);
|
||||
|
||||
/*
|
||||
* 功能描述: 取消洗车命令处理
|
||||
* 参数说明: 无
|
||||
* 功能描述: 取消洗车逻辑管理
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
by hh 20251208
|
||||
*/
|
||||
void CancelWashWorkLogicM(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 请求洗车命令处理
|
||||
* 参数说明: 无
|
||||
* 返回值 : void
|
||||
*by hh 20251208
|
||||
*/
|
||||
void ReqWashWorkLogicM(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 反向通过请求命令处理
|
||||
* 参数说明:无
|
||||
* 返回值 : void
|
||||
*by hh 20251208
|
||||
*/
|
||||
void ReqPassWashWorkLogicM(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 取消反向通过请求洗车逻辑管理
|
||||
* 参数说明: const UINT16 wMachineId 洗车机ID
|
||||
* 返回值 : void
|
||||
*by hh 20251208
|
||||
*/
|
||||
void CancelPassWashWorkLogicM(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 进路调车同意逻辑管理
|
||||
* 参数说明: void
|
||||
* 返回值 : void
|
||||
* by cgh 20250523
|
||||
*/
|
||||
void RouteDCTYLogic(UINT16 routeId);
|
||||
void RouteDCTYLogicM(UINT16 routeId);
|
||||
|
||||
/*
|
||||
* 功能描述: 调车进路调车同意联锁条件检查
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -946,18 +946,6 @@ UINT8 RouteAllSecJumpLockStateCheck(UINT16 const routeId,UINT16 *pDevId,UINT8 *p
|
||||
* CI_SUCCESS
|
||||
*/
|
||||
UINT8 KeepRouteSwitchCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述:引导进路信号保持道岔联锁条件检查
|
||||
* 参数说明:UINT16 RouteId, 进路号
|
||||
* UINT8 functionId, 调用函数编号
|
||||
* UINT8 sendLevel, 故障码发送级别
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By LQ 2025.09.29
|
||||
*/
|
||||
UINT8 KeepLeadRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述: 保持列车进路信号机联锁条件检查
|
||||
* 参数说明:
|
||||
@@ -982,18 +970,6 @@ UINT8 KeepLTrainRouteSignalCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel
|
||||
*/
|
||||
UINT8 LockBlocRouteSwitchCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述:引导进路锁闭道岔联锁条件检查
|
||||
* 参数说明:UINT16 RouteId, 进路号
|
||||
* UINT8 functionId, 调用函数编号
|
||||
* UINT8 sendLevel, 故障码发送级别
|
||||
* 返 回 值:CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* RETURN_LOCK_ERR_SWITPOS 道岔位置不正确
|
||||
* Created By LQ 2025.09.29
|
||||
*/
|
||||
UINT8 LockLeadRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述: 锁闭点式进路区段联锁条件检查
|
||||
* 参数说明:
|
||||
@@ -1045,6 +1021,14 @@ CI_ERROR:
|
||||
*/
|
||||
UINT8 CheckRouteZongRenJieFeasibility(const UINT16 routeId);
|
||||
|
||||
/*
|
||||
* 功能描述: 检查调车进路总人解的可行性。只要进路有一个区段可以直接解锁或变绿光带都认为总人解可行。注:调车进路总人解不可调用该函数
|
||||
* 参数说明: const UINT16 routeId, 进路ID
|
||||
* 返回值 : UINT8
|
||||
CI_SUCCESS:总人解可执行
|
||||
CI_ERROR:总人解不可执行
|
||||
*/
|
||||
UINT8 CheckDiaoCheRouteZRJFeasibility(const UINT16 routeId);
|
||||
|
||||
/*
|
||||
锁闭本联锁保护区段条件检查
|
||||
@@ -1189,17 +1173,6 @@ UINT8 OpenLTrainRouteSignalCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel
|
||||
*/
|
||||
UINT8 OpenBlocRouteSwitchCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述:引导进路开放信号道岔联锁条件检查
|
||||
* 参数说明:UINT16 RouteId, 进路号
|
||||
* UINT8 functionId, 调用函数编号
|
||||
* UINT8 sendLevel, 故障码发送级别
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By LQ 2025.09.29
|
||||
*/
|
||||
UINT8 OpenLeadRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLevel);
|
||||
|
||||
/* L10_点式进路开放信号保护区段联锁条件检查 */
|
||||
/*
|
||||
* 功能描述: 点式进路开放信号保护区段联锁条件检查
|
||||
@@ -1524,7 +1497,6 @@ UINT8 AxisSecAllSwitchPosCheck(UINT16 const axisSecId,UINT16 *pDevId,UINT8 *pDev
|
||||
* 参数说明: UINT16 const routeId, 进路编号
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* qw.liu 修改 进路外方第一区段道岔位置检查不使用接近区段,改为直接查逻辑区段
|
||||
*/
|
||||
UINT8 RouteOutfirstPhySecSwiPosCheck(UINT16 const routeId);
|
||||
/*
|
||||
@@ -1897,7 +1869,15 @@ UINT8 LockLeadRouteSectionCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLeve
|
||||
*/
|
||||
UINT8 LogicSecSwitchLtrlDfncCheck(UINT16 const wLgcId, UINT16 *pDevId, UINT8 *pDevState);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 进路区段全部侧防条件满足检查
|
||||
* 参数说明: UINT16 routeId, 进路号
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
*/
|
||||
UINT8 RouteAllLtrlDfncSwitchCheck(UINT16 const routeId, UINT16 *pDevId, UINT8 *pDevState);
|
||||
|
||||
/*
|
||||
* 功能描述: 进路区段全部联络线设备条件满足检查
|
||||
@@ -2231,7 +2211,15 @@ UINT8 LogSecSeqIncUTCheck(const UINT16 wTrainId, const UINT8 cLogSecSum, const U
|
||||
*/
|
||||
UINT8 RouteHalfProSwitchFLockCheck(UINT16 const routeId, UINT16* pDevId, UINT8* pDevState, UINT8* pYLockAlarmFlag);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 进路区段全部侧防条件满足检查
|
||||
* 参数说明: UINT16 routeId, 进路号
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
*/
|
||||
UINT8 RouteHalfLtrlDfncSwitchCheck(UINT16 const routeId, UINT16 *pDevId, UINT8 *pDevState);
|
||||
|
||||
/*
|
||||
* 功能描述: 部分进路区段全部联络线设备条件满足检查
|
||||
@@ -2306,7 +2294,7 @@ UINT16 SearchNonMainRoute(UINT8 cRouteSum, UINT16 wRouteIdBuff[]);
|
||||
UINT8 SwitchRelLogSecLSXSStateCheck(UINT16 switchId, UINT16* pLogSecId, UINT8* pLogState);
|
||||
|
||||
/*
|
||||
* 功能描述: 进路照查容忍条件满足检查
|
||||
* 功能描述: 信号保持开放时进路照查条件满足检查
|
||||
* 参数说明: UINT16 const routeId, 进路号
|
||||
* 返回值 : CI_ERROR 失败
|
||||
* CI_SUCCESS 成功
|
||||
@@ -2518,7 +2506,16 @@ UINT8 CheckRouteZhefanJiesuo(UINT16 const routeId);
|
||||
*/
|
||||
UINT8 CheckOverlapPhysecOtherLock(UINT16 const overlapId, UINT16* pDevId, UINT8* pDevState);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述:保护区段侧防条件检查
|
||||
* 参数说明:UINT16 const overlapId, OverlapID
|
||||
* UINT16* pDevId 设备Id(返回)
|
||||
* UINT8* pDevState 设备状态(返回)
|
||||
* 返回值 :0 检查失败
|
||||
* 1 检查成功
|
||||
* Created By LQ 2024.01.05
|
||||
*/
|
||||
UINT8 OverlapLateralDfnCheck(UINT16 const overlapId, UINT16* pDevId, UINT8* pDevState);
|
||||
|
||||
/*
|
||||
* 功能描述: 检查保护区段的CBTC区域属性
|
||||
@@ -2617,15 +2614,13 @@ UINT8 CtTrainHeadSuspCheck(const UINT16 wTrainId, const UINT8 cLogSecSeqDir, con
|
||||
* 功能描述:车辆段部分进路的逻辑区段序列和列车位置检查
|
||||
* 输入参数:const UINT8 cLogSecSum 逻辑区段数量
|
||||
* const UINT16* pLogSecIdBuff 逻辑区段序列
|
||||
* const UINT16 wTrainId 列车ID
|
||||
* const UINT8 cFunctionId 函数ID
|
||||
* const UINT8 cSendLevel 报警发送级别
|
||||
* const UINT16 wTrainId
|
||||
* 输出参数:无
|
||||
* 返回值 :CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By LQ 2024.09.05
|
||||
*/
|
||||
UINT8 LogSecSeqAndTrainPosCheckCLD(const UINT8 cLogSecSum, const UINT16* pLogSecIdBuff, const UINT16 wTrainId, const UINT8 cFunctionId, const UINT8 cSendLevel);
|
||||
UINT8 LogSecSeqAndTrainPosCheckCLD(const UINT8 cLogSecSum, const UINT16* pLogSecIdBuff, const UINT16 wTrainId);
|
||||
|
||||
/*
|
||||
* 功能描述:车辆段部分进路的逻辑区段序列与进路匹配检查
|
||||
@@ -2724,323 +2719,5 @@ UINT8 OverlapProSwUsingCheck(const UINT16 wOverlapId, UINT16* pDevId, UINT8* pDe
|
||||
*/
|
||||
UINT8 RouteRelAllSwitchPosCheck(UINT16 const routeId);
|
||||
|
||||
/*
|
||||
*函数功能:保护区段照查继电器检查
|
||||
*参数说明:const UINT16 wOverlapId保护区段ID
|
||||
* UINT8 chSendLevel, 故障码发送级别
|
||||
*返回值:CI_ERROR 失败
|
||||
* CI_SUCCESS 成功
|
||||
* RELAY_STATE_WAITE 本端照查继电器条件不满足--等待
|
||||
* by cgh 20250617
|
||||
*/
|
||||
UINT8 OverlapZhaoChaRelayCheck(const UINT16 wOverlapId, UINT8 chSendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述: 进路区段全部防护锁闭检查
|
||||
* 参数说明: UINT16 routeId, 进路号
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS 区段状态均为防护锁闭
|
||||
* by fan 20250724
|
||||
*/
|
||||
UINT8 RouteAllSecProtectLockCheck(UINT16 const routeId);
|
||||
|
||||
/*
|
||||
* 功能描述: 逻辑区段关联计轴无休眠车检查
|
||||
* 参数说明: UINT16 logSectionId, 逻辑区段ID
|
||||
* 返回值 : CI_ERROR 存在休眠车
|
||||
* CI_SUCCESS 检查通过
|
||||
* by fan 20250728
|
||||
*/
|
||||
UINT8 LogSecRelateNoSleepTrainCheck(UINT16 const logSectionId);
|
||||
|
||||
/*
|
||||
* 功能描述:校验指定进路是否非场段进路或为场段出库/出段进路
|
||||
* 参数说明:UINT16 wRouteId 进路ID
|
||||
* 返 回 值:CI_ERROR 其它进路
|
||||
* CI_SUCCESS 非场段进路或为场段出库/出段进路
|
||||
* Created By LQ 2025.08.05
|
||||
*/
|
||||
UINT8 RouteCldAttrCheck(UINT16 wRouteId);
|
||||
|
||||
/*
|
||||
* 功能描述:保护区段占用解锁条件检查
|
||||
* 参数说明:UINT16 overlapId 保护区段ID
|
||||
* UINT8 functionId 函数ID
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By LQ 2025.08.18
|
||||
*/
|
||||
UINT8 OverlapOccuUnlockCheck(UINT16 overlapId, UINT8 functionId);
|
||||
/*
|
||||
* 功能描述:办理联挂进路区段检查
|
||||
* 参数说明:const UINT16 wRouteId 进路ID
|
||||
* UINT16* pDevId 设备ID
|
||||
* UINT8* pDevState 设备状态
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By 2025.09.18
|
||||
*/
|
||||
UINT8 SetCouplinkRouteSecOccCheck(const UINT16 wRouteId, UINT16* pDevId, UINT8* pDevState);
|
||||
/*
|
||||
* 功能描述:保持联挂进路区段占用检查
|
||||
* 参数说明:const UINT16 wRouteId 进路ID
|
||||
* UINT16* pDevId 设备ID
|
||||
* UINT8* pDevState 设备状态
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By 2025.09.18
|
||||
*/
|
||||
UINT8 KeepCouplinkRouteSecOccCheck(const UINT16 wRouteId, UINT16* pDevId, UINT8* pDevState);
|
||||
|
||||
/*
|
||||
* 功能描述:单个侧防条件检查
|
||||
* 参数说明:SideProtecStru SidePretectData 一项侧防条件
|
||||
* UINT16 wDevId 设备ID
|
||||
* UINT8 cDevType 设备类型
|
||||
* UINT8 functionId 函数ID
|
||||
* UINT8 sendLevel 发送等级
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
*/
|
||||
UINT8 SingleSideProtectCheck(SideProtecStru SidePretectData, UINT16 wDevId, UINT8 cDevType, UINT8 functionId, UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述:侧防道岔位置检查
|
||||
* 参数说明:SideProtecSwitchData* pSideProtecSwitchBuf 道岔侧防条件
|
||||
* UINT8 chSideProtecSwitchNum 侧防道岔数量
|
||||
* 返 回 值:CI_ERROR 0 侧防道岔位置连通
|
||||
* CI_SUCCESS 1 侧防道岔位置不连通
|
||||
*/
|
||||
UINT8 SideProtectSwitchPosCheck(SideProtecSwitchData* pSideProtecSwitchBuf, UINT8 chSideProtecSwitchNum);
|
||||
|
||||
/*
|
||||
* 功能描述:侧防物理区段条件检查
|
||||
* 参数说明:SideProtecStru SidePretectData 侧防条件
|
||||
* UINT8 functionId 函数ID
|
||||
* UINT8 sendLevel 发送等级
|
||||
* 返 回 值: CI_ERROR 失败
|
||||
* CI_SUCCESS 成功
|
||||
*/
|
||||
UINT8 SideProtectPhySecCheck(SideProtecStru SidePretectData, UINT8 functionId, UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述: 检查进路侧防条件
|
||||
* 参数说明:UINT16 routeId 进路ID
|
||||
UINT8 functionId 函数ID
|
||||
UINT8 sendLevel 发送等级
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* 创建 :
|
||||
*/
|
||||
UINT8 RouteSideProtectConditionCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLevel);
|
||||
/*
|
||||
* 功能描述: 检查保护区段侧防条件
|
||||
* 参数说明:UINT16 wOverlapId 保护区段ID
|
||||
UINT8 functionId 函数ID
|
||||
UINT8 sendLevel 发送等级
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* 创建 :
|
||||
*/
|
||||
UINT8 OlapSideProtectConditionCheck(UINT16 wOverlapId, UINT8 functionId, UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述:侧防区段道岔位置检查
|
||||
* 参数说明:UINT16 const physicalId, 物理区段ID
|
||||
* SideProtecStru SidePretectData 侧防数据
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
*/
|
||||
UINT8 SideProtectPhySecSwtPosCheck(const UINT16 physicalId, SideProtecStru SidePretectData);
|
||||
|
||||
/*
|
||||
* 功能描述:检查保护区段道岔及防护道岔位置是否正确
|
||||
* 参数说明:const UINT16 overlapId overlap ID
|
||||
* 返 回 值:CI_ERROR 0 道岔位置错误
|
||||
* CI_SUCCESS 1 道岔位置正确
|
||||
* Created By LQ 2025.09.28
|
||||
*/
|
||||
UINT8 CheckOverlapSwitchPosRight(const UINT16 overlapId);
|
||||
|
||||
/*
|
||||
*函数功能:保护区段之前人工解锁状态检查
|
||||
*参数说明:const UINT16 wRouteId 进路ID
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* by cgh 20250929
|
||||
*/
|
||||
UINT8 OverlapPreLaborUnLockStateCheck(UINT16 const wRouteId, UINT16* pDevId, UINT8* pDevState);
|
||||
|
||||
/*
|
||||
* 功能描述:侧防关键道岔检查
|
||||
* 参数说明:UINT16 wSwitchId 关键道岔ID
|
||||
* UINT16 wDevId 设备ID
|
||||
* UINT8 cDevType 设备类型
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By LQ 2025.09.29
|
||||
*/
|
||||
UINT8 SingleSideKeySwitchCheck(UINT16 wSwitchId, UINT16 wDevId, UINT8 cDevType);
|
||||
|
||||
/*
|
||||
* 功能描述:物理区段锁闭码位侧防条件检查
|
||||
* 参数说明:UINT16 wPhySecId 物理区段ID
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By LQ 2025.09.29
|
||||
*/
|
||||
UINT8 PhySecLockMaskSideProtectCheck(UINT16 wPhySecId);
|
||||
/*
|
||||
*函数功能:自动通过进路办理联挂属性检查
|
||||
*参数说明: const UINT16 wAutoRouteId 进路ID
|
||||
* const UINT8 chFunctionId 函数ID
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* by lyj 20250929
|
||||
*/
|
||||
UINT8 AutoRouteCouplinkStateCheck(const UINT16 wAutoRouteId, const UINT8 chFunctionId);
|
||||
/*
|
||||
*函数功能:自动折返进路办理联挂属性检查
|
||||
*参数说明: const UINT16 wAutoRouteId 进路ID
|
||||
* const UINT8 chFunctionId 函数ID
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* by lyj 20250929
|
||||
*/
|
||||
UINT8 AutoReturnRouteCouplinkCheck(const UINT16 wAutoRouteId, const UINT8 chFunctionId);
|
||||
/*
|
||||
*函数功能:全自动折返进路办理联挂属性检查
|
||||
*参数说明: const UINT16 wAutoRouteId 进路ID
|
||||
* const UINT8 chFunctionId 函数ID
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* by lyj 20250929
|
||||
*/
|
||||
UINT8 AllAutoReturnRCouplinkCheck(const UINT16 wAutoRouteId, const UINT8 chFunctionId);
|
||||
/*
|
||||
* 功能描述: 区段征用、区段防护道岔区段征用、区段内道岔道岔征用检查、区段内防护道岔道岔征用
|
||||
* 参数说明:const UINT16 axisSecId 计轴区段ID
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
UINT8 JumpPhySectionUseCheck(const UINT16 axisSecId);
|
||||
/*
|
||||
* 功能描述:区段防护道岔区段、防护道岔征用检查
|
||||
* 参数说明:const UINT16 axisSecId 计轴区段ID
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
UINT8 JumpPhySectionPortectUseCheck(const UINT16 axisSecId);
|
||||
/*
|
||||
* 功能描述:逻辑区段防护道岔区段征用、道岔征用检查
|
||||
* 参数说明:const UINT16 axisSecId 计轴区段ID
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
UINT8 JumpLogicSecPortectUseCheck(const UINT16 wLgcId);
|
||||
/*
|
||||
* 功能描述:计轴区段所在道岔道岔征用检查
|
||||
* 参数说明:const UINT16 axisSecId 计轴区段ID
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
UINT8 JumpPhySectionSwitchUseCheck(const UINT16 axisSecId);
|
||||
/*
|
||||
* 功能描述:设置跳跃锁闭防护道岔区段征用状态
|
||||
* 参数说明:const UINT16 axisSecId 计轴区段ID
|
||||
* const UINT8 state 状态
|
||||
* 返回值 : void
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
void SetJumpPhySectionPortectSecUse(const UINT16 axisSecId, const UINT8 state);
|
||||
/*
|
||||
* 功能描述:设置逻辑区段的防护道岔区段征用
|
||||
* 参数说明:const UINT16 axisSecId 计轴区段ID
|
||||
* const UINT8 state 状态
|
||||
* 返回值 : void
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
void SetJumpLogicSecPortectUse(const UINT16 wLgcId, const UINT8 state);
|
||||
/*
|
||||
* 功能描述: 检查计轴区段跳跃锁闭是否有防护道岔驱动超时
|
||||
* 参数说明: const UINT16 routeId, 进路ID
|
||||
* 返回值 : UINT8
|
||||
CI_SUCCESS:计轴区段防护道岔无道岔驱动超时
|
||||
CI_ERROR:计轴区段防护道岔驱动超时
|
||||
add by mpt 20260331
|
||||
*/
|
||||
UINT8 ChekJumpLockProtectSwitDrivOvtmStat(const UINT16 axisSecId);
|
||||
/*
|
||||
* 功能描述: 计轴区段道岔封锁状态检查
|
||||
* 参数说明: UINT16 const axisSecId, 计轴区段编号
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* Add by mpt 20260331
|
||||
*/
|
||||
UINT8 AxisSecProtSwitchFLockCheck(UINT16 const axisSecId, UINT16* pDevId, UINT8* pDevState);
|
||||
/*
|
||||
* 功能描述: 计轴区段的防护道岔位置和动作有效性检查
|
||||
* 参数说明: UINT16 const axisSecId, 计轴区段编号
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
UINT8 AxisSecPorteSwitchPosMoveCheck(UINT16 const axisSecId, UINT16* pDevId, UINT8* pDevState, UINT8 funcId, UINT8 sendLevel);
|
||||
/*
|
||||
* 功能描述: 计轴区段所有防护道岔位置正确检查
|
||||
* 参数说明: UINT16 const axisSecId, 计轴区段编号
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* add mpt 20260331
|
||||
*/
|
||||
UINT8 AxisSecAllProtSwitchPosCheck(UINT16 const axisSecId, UINT16* pDevId, UINT8* pDevState);
|
||||
/*
|
||||
* 功能描述: 设置计轴区段关联防护道岔防护锁闭状态
|
||||
* 参数说明: const UINT16 axisSecId, 计轴区段ID
|
||||
* const UINT8 lockCommand, 锁闭状态
|
||||
* 返回值 : void
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
void SetAxisRelProSwitchLockSta(const UINT16 axisSecId, const UINT8 lockCommand);
|
||||
/*
|
||||
* 功能描述: 计轴区段关联防护道岔防护锁闭检查
|
||||
* 参数说明: UINT16 const routeId, 计轴区段号
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* add mpt 20260331
|
||||
*/
|
||||
UINT8 AxisRelatedProSwitchLockCheck(UINT16 const axisSecId, UINT16* pDevId, UINT8* pDevState);
|
||||
/*
|
||||
* 功能描述: 设置逻辑区段关联防护道岔防护锁闭状态
|
||||
* 参数说明: const UINT16 axisSecId, 计轴区段ID
|
||||
* const UINT8 lockCommand, 锁闭状态
|
||||
* 返回值 : void
|
||||
* add by mpt 20260331
|
||||
*/
|
||||
void SetLogSecRelProSwitchLockSta(const UINT16 wLgcId, const UINT8 lockCommand);
|
||||
/*
|
||||
* 功能描述:计轴区段所有道岔是否全部征用
|
||||
* 参数说明:const UINT16 axisSecId 计轴区段ID
|
||||
* 返回值 : CI_ERROR 未全部征用
|
||||
* CI_SUCCESS 全部征用
|
||||
* add by mpt 20260403
|
||||
*/
|
||||
UINT8 JumpPhySecAllUseCheck(const UINT16 axisSecId);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -325,11 +325,10 @@ UINT8 PhySectionDelayUnlockProcess(const UINT16 routeId, UINT16* phySectionId);
|
||||
/* C25_解锁进路overlap逻辑处理 */
|
||||
/*
|
||||
* 功能描述: 解锁进路overlap逻辑处理
|
||||
* 参数说明: const UINT16 routeId 进路号
|
||||
* 返回值 : CI_ERROR 0x00 失败
|
||||
* CI_SUCCESS 0x01 成功
|
||||
* CI_UNLOCK_OVERLAP_REQURE 0x02 向ZC/车申请解锁保护区段
|
||||
* CI_OVERLAP_OCC_UNLOCK 0x06 保护区段执行占用特殊解锁
|
||||
* 参数说明: const UINT16 routeId
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
* CI_UNLOCK_OVERLAP_REQURE 向ZC申请解锁保护区段
|
||||
* 故障编码: EFUNC_UNLOCK_OVER_LAP
|
||||
*/
|
||||
UINT8 UnlockRouteOverlapLogicProcess(const UINT16 routeId, UINT16* overlapId, UINT16* pTrainId);
|
||||
@@ -688,16 +687,15 @@ void LgcSecUnlockProc(const UINT16 routeId, const UINT16 logSectionId);
|
||||
* 返回值 : void
|
||||
*/
|
||||
void RouteLgcSecResReleaseProcess(const UINT16 wRouteId);
|
||||
|
||||
/*
|
||||
* 功能描述: 检查保护区段人工解锁是否可执行
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT16 wRouteId 进路ID
|
||||
* const UINT32 dwOverlapUnlockCount 保护区段自动解锁周期数
|
||||
* const UINT32 dwOverlapUnlockStartCyc 保护区段自动解锁起始周期
|
||||
* 返回值 : CI_SUCCESS:成功
|
||||
CI_ERROR:失败
|
||||
* edit cgh 20250928
|
||||
*/
|
||||
UINT8 CheckOverlapLaborUnlock(const UINT16 overlapId, const UINT16 wRouteId);
|
||||
UINT8 CheckOverlapLaborUnlock(const UINT16 overlapId, const UINT32 dwOverlapUnlockCount, const UINT32 dwOverlapUnlockStartCyc);
|
||||
/*
|
||||
* 功能描述: 计算保护区段解锁倒计时开始周期
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
@@ -825,30 +823,6 @@ UINT8 RouteLgcSecResReturnSecCheck(UINT16 wValidReturnSigId, const UINT16 wRoute
|
||||
*/
|
||||
UINT8 LgcOverlapUsableProcess(UINT16 const wLgcSecId);
|
||||
#endif
|
||||
/*
|
||||
* 功能描述: 进路联挂标志处理
|
||||
* 参数说明: const UINT16 wRouteId 进路ID
|
||||
* const UINT8 functionId 函数ID
|
||||
* const UINT8 sendLevel 报警级别
|
||||
* 返回值 : 联挂标志设置结果
|
||||
* Create: 20250917
|
||||
*/
|
||||
UINT8 SetRouteCouplinkProcess(const UINT16 wRouteId, const UINT8 functionId, const UINT8 sendLevel);
|
||||
/*
|
||||
* 功能描述: 刷新联挂标志
|
||||
* 参数说明: const UINT16 wRouteId 进路ID
|
||||
* 返回值 : 无
|
||||
* Create: 20250919
|
||||
*/
|
||||
void UpdateRouteCouplinkFlag(const UINT16 wRouteId);
|
||||
/*
|
||||
* 功能描述: 联络线接车进路解锁处理
|
||||
* 参数说明: const UINT16 wRouteId 进路ID
|
||||
* 返回值 : 无
|
||||
* Create: lyj 20260603
|
||||
*/
|
||||
void ConnectRouteReleaseProc(const UINT16 wRouteId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -823,7 +823,7 @@ UINT8 SetLogRouteSwitchCheck(UINT16 logRouteId, UINT8 functionId, UINT8 sendLeve
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = LogRouteCeFangSwitchCheck(logRouteId, functionId, sendLevel);
|
||||
checkResult = LogRouteCeFangSwitchCheck(logRouteId, &devId, &devState);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -831,7 +831,8 @@ UINT8 SetLogRouteSwitchCheck(UINT16 logRouteId, UINT8 functionId, UINT8 sendLeve
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_NO_UT_CT_OCU_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
@@ -1033,7 +1034,7 @@ UINT8 LockLogRouteSwitchCheck(UINT16 logRouteId, UINT8 functionId, UINT8 sendLev
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = LogRouteCeFangSwitchCheck(logRouteId, functionId, sendLevel);
|
||||
checkResult = LogRouteCeFangSwitchCheck(logRouteId, &devId, &devState);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -1041,7 +1042,8 @@ UINT8 LockLogRouteSwitchCheck(UINT16 logRouteId, UINT8 functionId, UINT8 sendLev
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_NO_UT_CT_OCU_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
@@ -1296,39 +1298,46 @@ UINT8 LogRouteProSwitchFLockCheck(UINT16 const routeId, UINT16* pDevId, UINT8* p
|
||||
/*
|
||||
* 功能描述: 逻辑进路侧防条件满足检查
|
||||
* 参数说明: UINT16 routeId, 逻辑进路号
|
||||
* UINT8 functionId, 函数ID
|
||||
* UINT8 sendLevel 发送等级
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
*/
|
||||
UINT8 LogRouteCeFangSwitchCheck(UINT16 const routeId,UINT8 functionId, UINT8 sendLevel)
|
||||
UINT8 LogRouteCeFangSwitchCheck(UINT16 const routeId, UINT16* pDevId, UINT8* pDevState)
|
||||
{
|
||||
/* 进路区段*/
|
||||
UINT16 const checkSum = GetLogicalRouteInLogSecSum(routeId);
|
||||
UINT16* const dataIdBuf = GetLogicalRouteInLogSecId(routeId);
|
||||
|
||||
/* 局部变量定义初始化 */
|
||||
UINT8 i = 0u; /* 循环变量 */
|
||||
UINT16 i = 0u; /* 循环变量 */
|
||||
UINT16 devId = 0u;
|
||||
UINT8 reVal = CI_ERROR;
|
||||
SideProtecStru* pLogRoutSidePrtectData = NULL;
|
||||
UINT8 chLogRoutSidePrtectDataNum = 0u;
|
||||
|
||||
UINT8 cDevType = 0u;
|
||||
UINT8 cDevStateType = 0u;
|
||||
UINT16 cDevId = 0u;
|
||||
UINT8 cDevState = 0u;
|
||||
|
||||
pLogRoutSidePrtectData = GetLogRoutSidePrtectData(routeId);
|
||||
chLogRoutSidePrtectDataNum = GetLogRoutSidePrtectDataNum(routeId);
|
||||
|
||||
if (NULL == pLogRoutSidePrtectData)
|
||||
if ((0u == checkSum) || (NULL == pDevId) || (NULL == pDevState))
|
||||
{
|
||||
/*区段数据错误*/
|
||||
reVal = CI_ERROR;
|
||||
}
|
||||
else
|
||||
{
|
||||
reVal = CI_SUCCESS;
|
||||
/*功能预留*/
|
||||
/*开始检查*/
|
||||
for (i = 0u; i < checkSum; i++)
|
||||
{
|
||||
devId = dataIdBuf[i];
|
||||
reVal = LogicSecSwitchLtrlDfncCheck(devId, pDevId, pDevState);
|
||||
if (CI_SUCCESS == reVal)
|
||||
{
|
||||
/* 通过检查*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*状态不一致返回故障状态*/
|
||||
reVal = CI_ERROR;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*全部通过检查*/
|
||||
return reVal;
|
||||
}
|
||||
@@ -2791,7 +2800,7 @@ UINT8 KeepLogRouteSwitchCheck(UINT16 wLogRouteId, UINT8 functionId, UINT8 sendLe
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
checkResult = LogRouteCeFangSwitchCheck(wLogRouteId, functionId, sendLevel);
|
||||
checkResult = LogRouteCeFangSwitchCheck(wLogRouteId, &devId, &devState);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -2799,7 +2808,8 @@ UINT8 KeepLogRouteSwitchCheck(UINT16 wLogRouteId, UINT8 functionId, UINT8 sendLe
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_NO_UT_CT_OCU_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
|
||||
@@ -138,12 +138,12 @@ UINT8 LogRouteProSwitchFLockCheck(UINT16 const routeId, UINT16* pDevId, UINT8* p
|
||||
/*
|
||||
* 功能描述: 逻辑进路侧防条件满足检查
|
||||
* 参数说明: UINT16 routeId, 逻辑进路号
|
||||
* UINT8 functionId, 函数ID
|
||||
* UINT8 sendLevel 发送等级
|
||||
* UINT16 *pDevId, 设备Id(返回)
|
||||
* UINT8 *pDevState, 设备状态(返回)
|
||||
* 返回值 : CI_ERROR
|
||||
* CI_SUCCESS
|
||||
*/
|
||||
UINT8 LogRouteCeFangSwitchCheck(UINT16 const routeId, UINT8 functionId, UINT8 sendLevel);
|
||||
UINT8 LogRouteCeFangSwitchCheck(UINT16 const routeId, UINT16* pDevId, UINT8* pDevState);
|
||||
|
||||
/*
|
||||
* 功能描述: 逻辑进路区段全部联络线设备条件满足检查
|
||||
|
||||
@@ -28,32 +28,10 @@ UINT8 SetLTrainRouteP(const UINT16 routeId)
|
||||
/* 局部变量定义初始化 */
|
||||
UINT8 devState = 0U; /*设备状态*/
|
||||
UINT8 reResult = CI_ERROR; /*返回值*/
|
||||
UINT8 chRouteCouplinkFlag = 0U;
|
||||
UINT8 chRouteLevel = 0U;
|
||||
|
||||
/* 联锁条件检查 */
|
||||
chRouteCouplinkFlag = GetRouteCouplinkFlag(routeId); /*获取进路联挂标志*/
|
||||
chRouteLevel = GetRouteLevel(routeId); /*获取进路监督级别*/
|
||||
|
||||
devState = GetRouteState(routeId);
|
||||
if ((ROUTE_COUPLINK_FLAG_YES == chRouteCouplinkFlag) && (ROUTE_LEVEL_CBTC == chRouteLevel))
|
||||
{
|
||||
/* 进路状态条件:进路状态空闲、进路初选、自动解锁正常、自动解锁异常(ARB)、初锁异常、预先锁闭、接近锁闭正常、接近锁闭异常都可以办理联挂进路 */
|
||||
if ((ROUTE_STATE_IDLE == devState) || (ROUTE_STATE_FIRST_XUANPAI == devState) || (ROUTE_STATE_FIRST_LOCKERR == devState)
|
||||
|| (ROUTE_STATE_YUXIAN_LOCK == devState) || (ROUTE_STATE_NEAR_LOCK == devState) || (ROUTE_STATE_NEAR_LOCKERR == devState)
|
||||
|| (ROUTE_STATE_AUTO_UNLOCK == devState) || (ROUTE_STATE_AUTO_UNLOCKERR == devState))
|
||||
{
|
||||
/* 返回成功 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_ROUTE_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*进路状态空闲或初选或自动解锁异常(ARB且故障锁闭)*/
|
||||
if ((ROUTE_STATE_IDLE == devState) || (ROUTE_STATE_FIRST_XUANPAI == devState) || (ROUTE_STATE_AUTO_UNLOCKERR == devState))
|
||||
{
|
||||
@@ -67,8 +45,6 @@ UINT8 SetLTrainRouteP(const UINT16 routeId)
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*信号联锁条件检查*/
|
||||
/*if ((CI_SUCCESS == reResult) && (CI_ERROR == SetLTrainRouteSignalCheck(routeId,functionId,sendLevel)))*/
|
||||
@@ -205,7 +181,6 @@ UINT8 SetLeadRouteP(const UINT16 routeId)
|
||||
UINT16 devId = 0u; /*设备ID*/
|
||||
UINT8 devState = 0u; /*设备状态*/
|
||||
UINT8 reResult = CI_SUCCESS; /*返回值*/
|
||||
UINT8 cFuncSwitch = FUNC_SWITCH_ON; /*引导进路是否检查防淹门开关*/
|
||||
|
||||
/* 联锁条件检查 */
|
||||
devId = routeId;
|
||||
@@ -242,7 +217,7 @@ UINT8 SetLeadRouteP(const UINT16 routeId)
|
||||
}
|
||||
|
||||
/*道岔联锁条件检查*/
|
||||
if ((CI_SUCCESS == reResult) && (CI_ERROR == SetLeadRouteSwitchCheck(routeId,functionId,sendLevel)))
|
||||
if ((CI_SUCCESS == reResult) && (CI_ERROR == SetLTrainRouteSwitchCheck(routeId,functionId,sendLevel)))
|
||||
{
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
@@ -251,17 +226,8 @@ UINT8 SetLeadRouteP(const UINT16 routeId)
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
/*防淹门联锁条件检查*/
|
||||
cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_FLOODGATE_CHECK);
|
||||
reResult = BlocRouteFloodGateCheck(routeId,functionId,sendLevel);
|
||||
|
||||
if (FUNC_SWITCH_OFF == cFuncSwitch)
|
||||
{
|
||||
/*引导进路办理不检查防淹门状态*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*引导进路办理检查防淹门状态*/
|
||||
reResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel);
|
||||
}
|
||||
}
|
||||
|
||||
return reResult;
|
||||
@@ -694,7 +660,7 @@ UINT8 LockLeadTrainRouteP(const UINT16 routeId)
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
chCheckResult = SetLeadRouteSwitchCheck(routeId, functionId, sendLevel);
|
||||
chCheckResult = SetLTrainRouteSwitchCheck(routeId, functionId, sendLevel);
|
||||
if (CI_ERROR == chCheckResult)
|
||||
{
|
||||
/* 失败返回 */
|
||||
@@ -1598,14 +1564,12 @@ UINT8 SetNonRouteP(UINT8 nonRouteId)
|
||||
reResult = NonRouteRelProSwiPosMovValCheck(nonRouteId,functionId,sendLevel);
|
||||
}
|
||||
|
||||
#if 0
|
||||
/*修复缺陷YF0083-2105---LYJ--20260128*/
|
||||
if (CI_SUCCESS == reResult)
|
||||
{/*侵限区段侵限条件不满足检查*/
|
||||
reResult = NonRouteIntruSecVainCheck(nonRouteId,functionId,sendLevel);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
return reResult;
|
||||
}
|
||||
@@ -1723,6 +1687,14 @@ UINT8 LockNonRouteP(UINT8 nonRouteId)
|
||||
|
||||
reResult = NonRouteRelProSwiPosMovValCheck(nonRouteId,functionId,sendLevel);
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{/*侵限区段侵限条件不满足检查*/
|
||||
reResult = NonRouteIntruSecVainCheck(nonRouteId,functionId,sendLevel);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return reResult;
|
||||
}
|
||||
|
||||
@@ -2023,6 +1995,8 @@ UINT8 CancelDTrainRouteP(const UINT16 routeId)
|
||||
UINT8 devState = 0u; /*设备状态*/
|
||||
UINT16 cancleZhaoChaRelayId = 0u; /*取消照查继电器ID*/
|
||||
UINT8 relayState = 0u; /*继电器采集状态*/
|
||||
UINT8 chRouteLevel = 0U;
|
||||
|
||||
|
||||
/* 联锁条件检查 */
|
||||
/*进路内所有区段正常锁闭*/
|
||||
@@ -2060,8 +2034,19 @@ UINT8 CancelDTrainRouteP(const UINT16 routeId)
|
||||
}
|
||||
if (CI_SUCCESS == reResult)
|
||||
{/*检查取消照查继电器状态是否吸起*/
|
||||
cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*取消照查继电器ID*/
|
||||
|
||||
chRouteLevel = GetRouteLevel(routeId);
|
||||
if (ROUTE_LEVEL_BLOC == chRouteLevel)
|
||||
{
|
||||
cancleZhaoChaRelayId = GetRouteCancleZhaoChaRelayId(routeId); /*后备模式取消照查继电器ID*/
|
||||
}
|
||||
else if (ROUTE_LEVEL_CBTC == chRouteLevel)
|
||||
{
|
||||
cancleZhaoChaRelayId = GetRouteCbtcCancelZhaochaRelay(routeId);/*CBTC模式取消照查继电器ID*/
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*非法监督模式,继电器ID为0,在下面不会处理*/
|
||||
}
|
||||
if((0u != cancleZhaoChaRelayId) && (0xFFFFu != cancleZhaoChaRelayId))
|
||||
{
|
||||
/*取消继电器有效:取消继电器采集状态为:吸起*/
|
||||
@@ -2201,8 +2186,7 @@ UINT8 SetLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel
|
||||
|
||||
UINT16 devId = 0u; /*设备ID*/
|
||||
UINT8 devState = 0u; /*设备状态*/
|
||||
UINT8 chRouteCouplinkFlag = 0U;
|
||||
UINT8 chRouteLevel = 0U;
|
||||
|
||||
|
||||
/* 联锁逻辑检查 */
|
||||
/* 进路内所有区段未被封锁 */
|
||||
@@ -2227,35 +2211,16 @@ UINT8 SetLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
chRouteCouplinkFlag = GetRouteCouplinkFlag(routeId); /*获取进路联挂标志*/
|
||||
chRouteLevel = GetRouteLevel(routeId); /*获取进路监督级别*/
|
||||
if ((ROUTE_COUPLINK_FLAG_YES == chRouteCouplinkFlag) && (ROUTE_LEVEL_CBTC == chRouteLevel))
|
||||
{
|
||||
checkResult = SetCouplinkRouteSecOccCheck(routeId, &devId, &devState);
|
||||
}
|
||||
else
|
||||
{
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId, &devId, &devState);
|
||||
}
|
||||
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId,&devId, &devState);
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (0U == devId)
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_COUPLINK_ROUTE_IDLE, 0U, sendLevel);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_MERGY_OCU_STATE, devState, sendLevel);
|
||||
}
|
||||
|
||||
SetErrorData(functionId,CI_DEVICE_TYPE_PHYSEC,devId,ETYPE_PS_MERGY_OCU_STATE,devState,sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
@@ -2408,12 +2373,11 @@ UINT8 SetLTrainRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLeve
|
||||
|
||||
}
|
||||
}
|
||||
/*场段进路不查侧防条件*/
|
||||
#if 0
|
||||
|
||||
/*进路侧防道岔条件检查*/
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
checkResult = RouteSideProtectConditionCheck(routeId, functionId, sendLevel);
|
||||
checkResult = RouteAllLtrlDfncSwitchCheck(routeId, &devId, &devState);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
@@ -2421,7 +2385,8 @@ UINT8 SetLTrainRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLeve
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_NO_UT_CT_OCU_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
@@ -2431,7 +2396,6 @@ UINT8 SetLTrainRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLeve
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
@@ -2564,288 +2528,9 @@ UINT8 SetLTrainRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLeve
|
||||
}
|
||||
else
|
||||
{
|
||||
/*如果是进路防护道岔等待相邻联锁反馈道岔检查状态,先不检查防护道岔是否全在位置,继续等待*/
|
||||
}
|
||||
|
||||
if (CI_ERROR == reResultP)
|
||||
{/*如果防护道岔的检查结果为错误,则总的检查结果为错误*/
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
else if (CI_SUCCESS == reResultP)
|
||||
{
|
||||
/*如果防护道岔的检查结果为成功,则总的检查结果保持不变*/
|
||||
}
|
||||
else if (RETURN_LOCK_ERR_WAIT_SWCHECK == reResultP)
|
||||
{
|
||||
/*如果防护道岔的检查结果等待检查,则总的检查结果等待检查*/
|
||||
reResult = RETURN_LOCK_ERR_WAIT_SWCHECK;
|
||||
}
|
||||
else if (RETURN_LOCK_ERR_SWITPOS == reResultP)
|
||||
{/*如果防护道岔的检查结果为锁闭位置错误,则总的检查结果为锁闭位置错误*/
|
||||
reResult = RETURN_LOCK_ERR_SWITPOS;
|
||||
}
|
||||
else
|
||||
{/*其它不存在的情况,置总的结果为错误*/
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
}
|
||||
else if (RETURN_LOCK_ERR_WAIT_SWCHECK == reResult)
|
||||
{
|
||||
/*进路内道岔等待相邻联锁反馈道岔检查状态,先不检查防护道岔状态,继续等待*/
|
||||
;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
/* 返回结果 */
|
||||
return reResult;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:办理引导进路道岔联锁条件检查
|
||||
* 参数说明:UINT16 RouteId, 进路号
|
||||
* UINT8 functionId, 调用函数编号
|
||||
* UINT8 sendLevel, 故障码发送级别
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By LQ 2025.09.29
|
||||
*/
|
||||
UINT8 SetLeadRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLevel)
|
||||
{
|
||||
/* 局部变量定义初始化 */
|
||||
UINT8 reResult = CI_ERROR; /*返回值*/
|
||||
UINT8 checkResult = CI_ERROR; /*检查结果*/
|
||||
UINT16 devId = 0U; /*设备ID*/
|
||||
UINT8 devState = 0U; /*设备状态*/
|
||||
UINT8 reResultP = CI_ERROR; /*道岔位置局部检查返回值*/
|
||||
UINT8 chConnetCheckFunc = 0U;
|
||||
|
||||
chConnetCheckFunc = GetCiFunctionSwitchConfig(FUNC_SETROUTE_CONNECT_CHECK); /*获取是否要检查联络线条件的开关*/
|
||||
|
||||
/*进路内所有道岔【未引导总锁】*/
|
||||
devId = 0U;
|
||||
devState = 0U;
|
||||
checkResult = RouteSwitchYLockCheck(routeId, &devId, &devState);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_SWITCH, devId, ETYPE_SWT_YLOCK_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
/*进路内所有道岔【未封锁】*/
|
||||
devId = 0U;
|
||||
devState = 0U;
|
||||
checkResult = RouteSwitchFLockCheck(routeId, &devId, &devState);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_SWITCH, devId, ETYPE_SWT_FLOCK_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*继续执行*/
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
/*进路防护道岔【未封锁】*/
|
||||
devId = 0U;
|
||||
devState = 0U;
|
||||
checkResult = RouteReltProtSwitchFLockCheck(routeId, &devId, &devState);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_SWITCH, devId, ETYPE_SWT_FLOCK_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
/*进路侧防道岔条件检查*/
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
checkResult = RouteSideProtectConditionCheck(routeId, functionId, sendLevel);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
if (FUNC_SWITCH_ON == chConnetCheckFunc)
|
||||
{
|
||||
; /*开关打开,不检查联络线条件*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*进路联络线设备条件检查*/
|
||||
checkResult = RouteContactLineDevSwitchCheck(routeId, functionId, sendLevel);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
/*进路内所有道岔位置正确或位置不正确但可动作*/
|
||||
devId = 0U;
|
||||
devState = 0U;
|
||||
checkResult = RouteSwitchPosAndMoveValidCheck(routeId, sendLevel);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 失败返回 */
|
||||
reResult = checkResult;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*继续执行*/
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
/*进路内所有道岔位置正确
|
||||
不正确:RETURN_LOCK_ERR_SWITPOS
|
||||
正确:CI_SUCCESS */
|
||||
devId = 0U;
|
||||
devState = 0U;
|
||||
checkResult = RouteAllSwitchPosCheck(routeId, &devId, &devState);
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 失败返回 */
|
||||
reResult = RETURN_LOCK_ERR_SWITPOS;
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*如果是进路内道岔等待相邻联锁反馈道岔检查状态,先不检查道岔是否全在位置,继续等待*/
|
||||
}
|
||||
|
||||
if ((CI_SUCCESS == reResult) || (RETURN_LOCK_ERR_SWITPOS == reResult))
|
||||
{
|
||||
/*进路关联防护道岔【未引导总锁】*/
|
||||
devId = 0U;
|
||||
devState = 0U;
|
||||
checkResult = RouteRelatedProSwitchYLockCheck(routeId, &devId, &devState);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResultP = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_SWITCH, devId, ETYPE_SWT_YLOCK_STATE, devState, sendLevel);
|
||||
/* 失败返回 */
|
||||
reResultP = CI_ERROR;
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == reResultP)
|
||||
{
|
||||
/*进路关联防护道岔位置正确或位置不正确但可动作*/
|
||||
devId = 0U;
|
||||
devState = 0U;
|
||||
checkResult = RouteRelProSwiPosAndMovValCheck(routeId, sendLevel);
|
||||
if (CI_SUCCESS == checkResult)
|
||||
{
|
||||
/* 能检查到防护道岔是否可动作,说明道岔全在本控区或相邻控区已反馈道岔检查状态 */
|
||||
/* 通过检查 */
|
||||
reResultP = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 失败返回 */
|
||||
reResultP = checkResult;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
reResultP = CI_ERROR;
|
||||
}
|
||||
|
||||
if (CI_SUCCESS == reResultP)
|
||||
{
|
||||
/*进路关联防护道岔位置正确*/
|
||||
devId = 0U;
|
||||
devState = 0U;
|
||||
checkResult = RouteRelatedProSwitchPosCheck(routeId, &devId, &devState);
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResultP = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 失败返回 */
|
||||
reResultP = RETURN_LOCK_ERR_SWITPOS;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*如果是进路防护道岔等待相邻联锁反馈道岔检查状态,先不检查防护道岔是否全在位置,继续等待*/
|
||||
}
|
||||
|
||||
if (CI_ERROR == reResultP)
|
||||
{/*如果防护道岔的检查结果为错误,则总的检查结果为错误*/
|
||||
reResult = CI_ERROR;
|
||||
@@ -3210,8 +2895,7 @@ UINT8 LockLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLeve
|
||||
|
||||
UINT16 devId = 0u; /*设备ID*/
|
||||
UINT8 devState = 0u; /*设备状态*/
|
||||
UINT8 chRouteCouplinkFlag = 0U;
|
||||
UINT8 chRouteLevel = 0U;
|
||||
|
||||
|
||||
/* 联锁逻辑检查 */
|
||||
/* 进路内所有区段未被封锁 */
|
||||
@@ -3236,35 +2920,16 @@ UINT8 LockLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLeve
|
||||
{
|
||||
devId = 0u;
|
||||
devState = 0u;
|
||||
chRouteCouplinkFlag = GetRouteCouplinkFlag(routeId); /*获取进路联挂标志*/
|
||||
chRouteLevel = GetRouteLevel(routeId); /*获取进路监督级别*/
|
||||
if ((ROUTE_COUPLINK_FLAG_YES == chRouteCouplinkFlag) && (ROUTE_LEVEL_CBTC == chRouteLevel))
|
||||
{
|
||||
checkResult = SetCouplinkRouteSecOccCheck(routeId, &devId, &devState);
|
||||
}
|
||||
else
|
||||
{
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId, &devId, &devState);
|
||||
}
|
||||
|
||||
checkResult = RouteAllSecOccuClearCheck(routeId,&devId, &devState);
|
||||
if (checkResult == CI_SUCCESS)
|
||||
{
|
||||
/* 通过检查 */
|
||||
reResult = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (0U == devId)
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_ROUTE, routeId, ETYPE_COUPLINK_ROUTE_IDLE, 0U, sendLevel);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 记录故障码 */
|
||||
SetErrorData(functionId, CI_DEVICE_TYPE_PHYSEC, devId, ETYPE_PS_MERGY_OCU_STATE, devState, sendLevel);
|
||||
}
|
||||
|
||||
SetErrorData(functionId,CI_DEVICE_TYPE_PHYSEC,devId,ETYPE_PS_MERGY_OCU_STATE,devState,sendLevel);
|
||||
/* 失败返回 */
|
||||
reResult = CI_ERROR;
|
||||
}
|
||||
@@ -4450,7 +4115,6 @@ UINT8 SetLeadRouteCheck(const UINT16 routeId)
|
||||
UINT16 devId = 0u; /*设备ID*/
|
||||
UINT8 devState = 0u; /*设备状态*/
|
||||
UINT8 reResult = CI_ERROR; /*返回值*/
|
||||
UINT8 cFuncSwitch = FUNC_SWITCH_ON; /*引导进路是否检查防淹门开关*/
|
||||
|
||||
/* 联锁条件检查 */
|
||||
devId = routeId;
|
||||
@@ -4531,7 +4195,7 @@ UINT8 SetLeadRouteCheck(const UINT16 routeId)
|
||||
/*道岔联锁条件检查*/
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
reResult = SetLeadRouteSwitchCheck(routeId, functionId, sendLevel);
|
||||
reResult = SetLTrainRouteSwitchCheck(routeId, functionId, sendLevel);
|
||||
if (CI_ERROR == reResult)
|
||||
{
|
||||
/* 失败返回 */
|
||||
@@ -4550,18 +4214,7 @@ UINT8 SetLeadRouteCheck(const UINT16 routeId)
|
||||
/*防淹门联锁条件检查*/
|
||||
if (CI_SUCCESS == reResult)
|
||||
{
|
||||
cFuncSwitch = GetCiFunctionSwitchConfig(FUNC_LEADROUTE_FLOODGATE_CHECK);
|
||||
|
||||
if (FUNC_SWITCH_OFF == cFuncSwitch)
|
||||
{
|
||||
/*引导进路锁闭不检查防淹门状态*/
|
||||
}
|
||||
else
|
||||
{
|
||||
/*引导进路锁闭检查防淹门状态*/
|
||||
reResult = BlocRouteFloodGateCheck(routeId, functionId, sendLevel);
|
||||
}
|
||||
|
||||
if (CI_ERROR == reResult)
|
||||
{
|
||||
/* 失败返回 */
|
||||
|
||||
@@ -266,17 +266,6 @@ UINT8 SetLTrainRouteSectionCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel
|
||||
*/
|
||||
UINT8 SetLTrainRouteSwitchCheck(UINT16 routeId,UINT8 functionId,UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述:办理引导进路道岔联锁条件检查
|
||||
* 参数说明:UINT16 RouteId, 进路号
|
||||
* UINT8 functionId, 调用函数编号
|
||||
* UINT8 sendLevel, 故障码发送级别
|
||||
* 返 回 值:CI_ERROR 0 失败
|
||||
* CI_SUCCESS 1 成功
|
||||
* Created By LQ 2025.09.29
|
||||
*/
|
||||
UINT8 SetLeadRouteSwitchCheck(UINT16 routeId, UINT8 functionId, UINT8 sendLevel);
|
||||
|
||||
/*
|
||||
* 功能描述: 办理调车进路区段联锁条件检查
|
||||
* 参数说明:
|
||||
|
||||
@@ -46,7 +46,6 @@ UINT8 MainProcess(void)
|
||||
UINT8 retVal = CI_SUCCESS;
|
||||
UINT8 localCiType = GetLocalCiType();
|
||||
UINT16* pTiocFsVersion = NULL;
|
||||
UINT8 cControlState = 0U; /*主备用状态*/
|
||||
unsigned long long cost[20] = {0U};
|
||||
|
||||
#ifdef LOGPRINT
|
||||
@@ -103,10 +102,6 @@ UINT8 MainProcess(void)
|
||||
#endif/*2OO2平台标志结束*/
|
||||
}
|
||||
|
||||
/*更新当前系统升主起始周期号*/
|
||||
UpdateSystemMainUseCyc();
|
||||
debug_infor_printf((const)"\n\nSystemMainUseCyc: %d\n", gSystemUpdateMainUseCycNum);/*系统切换主用起始周期号*/
|
||||
|
||||
#endif/*打印标志结束*/
|
||||
|
||||
cost[0] = MSCP_GetTick();
|
||||
@@ -149,21 +144,6 @@ UINT8 MainProcess(void)
|
||||
/*清除上周期故障码*/
|
||||
ClearErrorData();
|
||||
|
||||
cControlState = GetLocalCiBackUpPattern();
|
||||
|
||||
if (SYSTEM_WORK_MODE_UNAVAILABLE == cControlState)
|
||||
{
|
||||
#if 0
|
||||
/*系统不可用时,周期重置设备状态*/
|
||||
ResetDevStateProcess();
|
||||
debug_infor_printf((const)"\nMainProcess: ControlState[%d], ResetDevStateProcess\n", cControlState);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
cost[6] = MSCP_GetTick();
|
||||
debug_infor_printf((const)"\n Parse :%dms InputData:%dms MainProcess:%dms Output:%dms PackOut:%dms SendLog:%dms \n", (cost[1] - cost[0]) / 1000, (cost[2] - cost[1]) / 1000, (cost[3] - cost[2]) / 1000, (cost[4] - cost[3]) / 1000, (cost[5] - cost[4]) / 1000, (cost[6] - cost[5]) / 1000);
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ UINT16 GetMaskId(const UINT8 SendsystemType, const UINT8 RecvsystemType, const U
|
||||
{
|
||||
UINT16 returnValue = 0u;/*·µ»ØÖµ*/
|
||||
|
||||
if (SendsystemType == CI_SYSTEM_TYPE_RCI)
|
||||
if (SendsystemType == CI_SYSTEM_TYPE_CI)
|
||||
{
|
||||
switch (RecvsystemType)
|
||||
{
|
||||
@@ -74,7 +74,7 @@ UINT16 GetMaskId(const UINT8 SendsystemType, const UINT8 RecvsystemType, const U
|
||||
}
|
||||
else if (SendsystemType == CI_SYSTEM_TYPE_ZC)
|
||||
{
|
||||
if (CI_SYSTEM_TYPE_RCI == RecvsystemType)
|
||||
if (CI_SYSTEM_TYPE_CI == RecvsystemType)
|
||||
{
|
||||
returnValue = ZcToCiMaskConfigDataStru[Index].MaskId;
|
||||
}
|
||||
@@ -345,7 +345,7 @@ UINT16 GetMaskIndex(const UINT8 SendsystemType, const UINT8 RecvsystemType, cons
|
||||
|
||||
|
||||
|
||||
if (SendsystemType == CI_SYSTEM_TYPE_RCI)
|
||||
if (SendsystemType == CI_SYSTEM_TYPE_CI)
|
||||
{
|
||||
switch (RecvsystemType)
|
||||
{
|
||||
@@ -390,7 +390,7 @@ UINT16 GetMaskIndex(const UINT8 SendsystemType, const UINT8 RecvsystemType, cons
|
||||
}
|
||||
else if (SendsystemType == CI_SYSTEM_TYPE_ZC)
|
||||
{
|
||||
if (CI_SYSTEM_TYPE_RCI == RecvsystemType)
|
||||
if (CI_SYSTEM_TYPE_CI == RecvsystemType)
|
||||
{
|
||||
for (ii = 1u; ii <= ZcToCiMaskCurSum; ii++)
|
||||
{
|
||||
|
||||
@@ -49,8 +49,6 @@
|
||||
#define MASK_TYPE_SWITCH_BYPASS ((UINT8)0x0D) /*定义道岔旁路码位*/
|
||||
#define MASK_TYPE_SWITCH_OPEN_CAP ((UINT8)0x0E) /*定义道岔所在板卡开盖状态*/
|
||||
#define MASK_TYPE_SWITCH_SUDDEN_JICHA ((UINT8)0x0F) /*定义道岔静态红闪码位*/
|
||||
#define MASK_TYPE_SWITCH_JICHA ((UINT8)0x10) /*定义道岔挤岔码位:28.0.0.14数据结构使用*/
|
||||
#define MASK_TYPE_SWITCH_QINGXIAN ((UINT8)0x11) /*定义道岔侵限状态码位*/
|
||||
|
||||
/*单轨_道岔码位*/
|
||||
/* zt 删除单轨相关代码 2022-02-15 */
|
||||
@@ -64,12 +62,11 @@
|
||||
#define MASK_TYPE_SIGNAL_REDCLOSE ((UINT8)0x15) /*定义信号机红灭码位*/
|
||||
#define MASK_TYPE_SIGNAL_GREENCLOSE ((UINT8)0x16) /*定义信号机绿灭码位*/
|
||||
#define MASK_TYPE_SIGNAL_YELLOWCLOSE ((UINT8)0x17) /*定义信号机黄灭码位*/
|
||||
#define MASK_TYPE_SIGNAL_REDBREAK ((UINT8)0x18) /*定义信号机红断码位--暂无使用*/
|
||||
#define MASK_TYPE_SIGNAL_REDBREAK ((UINT8)0x18) /*定义信号机红断码位*/
|
||||
#define MASK_TYPE_SIGNAL_GREENBREAK ((UINT8)0x19) /*定义信号机绿断码位*/
|
||||
#define MASK_TYPE_SIGNAL_YELLOWBREAK ((UINT8)0x1a) /*定义信号机黄断码位*/
|
||||
#define MASK_TYPE_SIGNAL_WHITEBREAK ((UINT8)0x1b) /*定义信号机白断码位*/
|
||||
#define MASK_TYPE_SIGNAL_BLUEBREAK ((UINT8)0x25) /*定义信号机蓝断码位*/
|
||||
#define MASK_TYPE_SIGNAL_BREAK ((UINT8)0x1c) /*定义信号机断丝码位 (对全电子联锁=红灯断丝)*/
|
||||
#define MASK_TYPE_SIGNAL_BREAK ((UINT8)0x1c) /*定义信号机断丝码位*/
|
||||
#define MASK_TYPE_SIGNAL_FENGSUO ((UINT8)0x1d) /*定义信号机封锁码位*/
|
||||
|
||||
#define MASK_TYPE_SIGNAL_OPENSTATE ((UINT8)0x1e) /*定义信号机开放状态码位*/
|
||||
@@ -93,9 +90,6 @@
|
||||
#define MASK_TYPE_SIGNAL_DET_ERR ((UINT8)0x5c) /*信号机扣车按钮故障状态码位*/
|
||||
#define MASK_TYPE_SIGNAL_AUTO_DERAIN ((UINT8)0x5e) /*信号机自动扣车码位*/
|
||||
|
||||
#define MASK_TYPE_SIGNAL_DET_CUT_VALID ((UINT8)0xA6) /*信号机扣车旁路按钮有效状态码位*/
|
||||
#define MASK_TYPE_SIGNAL_DET_CUT_ERR ((UINT8)0xA7) /*信号机扣车旁路按钮故障状态码位*/
|
||||
|
||||
#define MASK_ZC_CI_SIG_ENGINEERV_NEAR ((UINT8)0x97) /*定义信号机工程车接近码位*/
|
||||
#define MASK_CI_ZC_SIG_ENGINCROSS_STE ((UINT8)0x98) /*定义信号机工程车关灯码位*/
|
||||
|
||||
@@ -118,14 +112,7 @@
|
||||
#define MASK_TYPE_PHYSECTION_HEAD_XTD ((UINT8)0x31) /*定义物理区段运行方向下行状态码位*/
|
||||
#define MASK_TYPE_PHYSECTION_HEAD_STD ((UINT8)0x32) /*定义物理区段运行方向上行状态码位*/
|
||||
#define MASK_TYPE_LIECHE_STOPSTATE ((UINT8)0x3a) /*定义列车停稳信息状态码位*/
|
||||
#define MASK_TYPE_PHYSECTION_INTRUSION ((UINT8)0x5a) /*定义物理区段侵限状态码位(CI->ZC)*/
|
||||
#define MASK_TYPE_PHYSECTION_ATS_FLOCK ((UINT8)0x5b) /*定义物理区段由ATS封锁状态码位(CI->ZC)*/
|
||||
#define MASK_TYPE_PHYSEC_CENTERDETAIN_UP ((UINT8)0x3d) /*定义物理区段CI-ATS中心上行扣车状态状态码位 (兼容28.0.0.14使用)*/
|
||||
#define MASK_TYPE_PHYSEC_CENTERDETAIN_DOWN ((UINT8)0x3e) /*定义物理区段CI-ATS中心下行扣车状态状态码位 (兼容28.0.0.14使用)*/
|
||||
#define MASK_TYPE_PHYSEC_STATIONDETAIN_UP ((UINT8)0x3f) /*定义物理区段CI-ATS车站上行扣车状态状态码位 (兼容28.0.0.14使用)*/
|
||||
#define MASK_TYPE_PHYSEC_STATIONDETAIN_DOWN ((UINT8)0x40) /*定义物理区段CI-ATS车站下行扣车状态状态码位 (兼容28.0.0.14使用)*/
|
||||
#define MASK_TYPE_AXISSECTION_DETAIN_UP ((UINT8)0x41) /*定义区段CI-ZC上行扣车状态状态码位 (兼容28.0.0.14使用)*/
|
||||
#define MASK_TYPE_AXISSECTION_DETAIN_DOWN ((UINT8)0x42) /*定义区段CI-ZC下行扣车状态状态码位 (兼容28.0.0.14使用)*/
|
||||
|
||||
|
||||
/*逻辑区段相关码位*/
|
||||
#define MASK_TYPE_LOGICSECTION_UTOCCUPY ((UINT8)0x33) /*定义逻辑区段非通信车占用码位*/
|
||||
@@ -141,10 +128,9 @@
|
||||
#define MASK_TYPE_DOWNWARD_DIRECTION ((UINT8)0x94) /*定义逻辑区段下行锁闭码位*/
|
||||
#define MASK_TYPE_LOGICSECTION_PROTECTLOCK ((UINT8)0x99) /*定义逻辑区段防护锁闭码位*/
|
||||
#define MASK_TYPE_LOGICSECTION_JUMPLOCK ((UINT8)0x9A) /*定义逻辑区段跳跃锁闭码位*/
|
||||
#define MASK_TYPE_LOGSEC_CBTC_ARB ((UINT8)0x9B) /*定义逻辑区段CBTC_ARB状态码位*/
|
||||
#define MASK_TYPE_LOGICSECTION_ARB ((UINT8)0x9B) /*定义逻辑区段ARB状态码位*/
|
||||
#define MASK_TYPE_LOGICSECTION_SPKS_FLOCK ((UINT8)0x9C) /*定义逻辑区段SPKS封锁状态码位*/
|
||||
#define MASK_TYPE_LOGICSECTION_EMERG_XIANSU ((UINT8)0x9D) /*定义逻辑区段紧急临时限速码位*/
|
||||
#define MASK_TYPE_LOGSEC_PB_TACS_ARB ((UINT8)0xB3) /*定义逻辑区段PB_TACS_ARB状态码位*/
|
||||
|
||||
|
||||
|
||||
/*保护区段相关码位*/
|
||||
@@ -170,9 +156,6 @@
|
||||
#define MASK_TYPE_ROUTE_DC_QINGQIU ((UINT8)0x51) /*定义进路调车请求状态码位(CI-ATS)*/
|
||||
#define MASK_TYPE_ROUTE_DC_AGREE ((UINT8)0x52) /*定义进路调车同意状态码位(CI-ATS)*/
|
||||
#define MASK_TYPE_ROUTE_AUTO_TRIGGER ((UINT8)0x53) /*定义进路自动触发标码位(CI-ATS)*/
|
||||
#define MASK_TYPE_ROUTE_DC_AGREE_ERR ((UINT8)0x54) /*定义进路调车同意按钮故障状态码位(CI-ATS)*/
|
||||
#define MASK_TYPE_ROUTE_COUPLIN_SUCCESS ((UINT8)0xA8) /*定义进路联挂成功码位(ZC-CI)*/
|
||||
#define MASK_TYPE_ROUTE_COUPLIN_ERROR ((UINT8)0xA9) /*定义进路联挂失败码位(ZC-CI)*/
|
||||
|
||||
|
||||
/*站台相关码位*/
|
||||
@@ -186,10 +169,6 @@
|
||||
#define MASK_TYPE_ESP_FLASH_STATE ((UINT8)0x9b) /*定义ESS闪灯灯状态码位*/
|
||||
#define MASK_TYPE_CANCEL_ESP_FAULT ((UINT8)0x9c) /*定义取消紧急关闭按钮故障码位*/
|
||||
#define MASK_TYPE_ESP_FAULT ((UINT8)0x9d) /*定义紧急关闭按钮故障码位*/
|
||||
#define MASK_TYPE_CUT_ESP_FAULT ((UINT8)0xA3) /*定义紧急关闭旁路按钮故障码位*/
|
||||
#define MASK_TYPE_CUT_ESP_STATE ((UINT8)0xA4) /*定义紧急关闭旁路按钮激活状态码位*/
|
||||
#define MASK_TYPE_ONEPLAT_ESP_STATE ((UINT8)0xAB) /*定义紧急关闭按钮同站紧急按钮激活状态码位*/
|
||||
#define MASK_TYPE_ONEPLAT_CUT_ESP_STATE ((UINT8)0xAC) /*定义紧急关闭按钮同站旁路按钮激活状态码位*/
|
||||
|
||||
/*站台安全门相关码位*/
|
||||
#define MASK_TYPE_PSD_STATE ((UINT8)0x60) /*定义站台安全门状态码位-ZC,LEU用*/
|
||||
@@ -207,11 +186,7 @@
|
||||
#define MASK_TYPE_PSD_PDB_FLASH_STATE ((UINT8)0xA0) /*定义清客确认箱PDB按钮指示灯闪灯状态码位*/
|
||||
#define MASK_TYPE_PSD_VIDEO_QK_LU ((UINT8)0xA1) /*定义清客按钮箱视频清客表示灯(绿)状态码位*/
|
||||
#define MASK_TYPE_PSD_VIDEO_QK_HONG ((UINT8)0xA2) /*定义清客按钮箱视频清客表示灯(红)状态码位*/
|
||||
#define MASK_TYPE_PSD_EXCEPT ((UINT8)0xA5) /*定义站台安全门异常码位 CI-ATS、CI-ZC*/
|
||||
#define MASK_TYPE_PSD_JXTCPANGLU_FAULT ((UINT8)0xAA) /*定义间隙探测旁路按钮故障码位*/
|
||||
#define MASK_TYPE_PSD_IBP_STATE ((UINT8)0xAD) /*定义IBP盘按钮状态码位*/
|
||||
#define MASK_TYPE_PSD_IBP_FAULT ((UINT8)0xAE) /*定义IBP盘按钮故障码位*/
|
||||
#define MASK_TYPE_PSD_JXTC_STATE ((UINT8)0xAF) /*定义间隙探测状态码位*/
|
||||
|
||||
/*车库门相关码位*/
|
||||
#define MASK_TYPE_GARAGEDOOR_OPEN_STATE ((UINT8)0x62) /*定义车库门开门状态码位(CI->ATS)*/
|
||||
#define MASK_TYPE_GARAGEDOOR_CLOSE_STATE ((UINT8)0x63) /*定义车库门关门状态码位(CI->ATS)*/
|
||||
@@ -243,10 +218,6 @@
|
||||
/*洗车机相关码位*/
|
||||
#define MASK_TYPE_WASHMACHINE_READYSTATE ((UINT8)0x74) /*定义洗车机就绪状态码位*/
|
||||
#define MASK_TYPE_WASHMACHINE_WORKMODE ((UINT8)0x9E) /*定义洗车机工作模式码位*/
|
||||
#define MASK_TYPE_WASHMACHINE_ZNTBUTTN ((UINT8)0x9F) /*定义CI-ATS洗车机降级模式洗车线洗车同意按钮粘连码位,0有粘连,1为无粘连*/
|
||||
#define MASK_TYPE_DCCWASHACHINE_ZNTBUTTN ((UINT8)0xb0) /*定义CI-ATS洗车机降级模式DCC洗车同意按钮粘连码位,0有粘连,1为无粘连*/
|
||||
#define MASK_TYPE_PASSWASHMACHINE_ZNTBUTTN ((UINT8)0xb1) /*定义CI-ATS洗车机降级模式洗车线洗车反向通过同意按钮粘连码位,0有粘连,1为无粘连*/
|
||||
#define MASK_TYPE_DCCPASSWASHMACHINE_ZNTBUTTN ((UINT8)0xb2) /*定义CI-ATS洗车机降级模式DCC洗车反向通过同意按钮粘连码位,0有粘连,1为无粘连*/
|
||||
|
||||
/*防淹门相关码位*/
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
|
||||
NonAutoReturnDataStruct NonReturnDataStru[NON_AUTO_RETURN_SUM_MAX]; /*无人自动折返动态结构体*/
|
||||
NonAutoReturnDataStructCC NonReturnDataStruCC[NON_AUTO_RETURN_SUM_MAX]; /*无人自动折返动态结构体-车车*/
|
||||
|
||||
/*
|
||||
* 功能描述: 获取无人折返数据结构体指针
|
||||
@@ -29,16 +28,6 @@ NonAutoReturnDataStruct* GetNonReturnData(void)
|
||||
return NonReturnDataStru;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取无人折返数据结构体指针-车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
NonAutoReturnDataStruct *
|
||||
*/
|
||||
NonAutoReturnDataStruct* GetNonReturnDataCC(void)
|
||||
{
|
||||
return NonReturnDataStruCC;
|
||||
}
|
||||
/*
|
||||
* 功能描述: 获取指定ID无人自动折返按钮命令列车ID
|
||||
* 参数说明: const UINT16 autoReturnId, 自动折返ID
|
||||
@@ -52,7 +41,7 @@ UINT16 GetNonRtnCmdSetTrainId(const UINT16 nonReturnId)
|
||||
bufIndex = GetNonReturnBufIndex(nonReturnId);
|
||||
if (bufIndex < NON_AUTO_RETURN_SUM_MAX)
|
||||
{
|
||||
trainId = NonReturnDataStruCC[bufIndex].cmdSetTrainId;
|
||||
trainId = NonReturnDataStru[bufIndex].cmdSetTrainId;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -75,7 +64,7 @@ void SetNonRtnCmdSetTrainId(const UINT16 nonReturnId,const UINT16 trainId)
|
||||
if (bufIndex < NON_AUTO_RETURN_SUM_MAX)
|
||||
{
|
||||
|
||||
NonReturnDataStruCC[bufIndex].cmdSetTrainId = trainId;
|
||||
NonReturnDataStru[bufIndex].cmdSetTrainId = trainId;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -35,21 +35,15 @@ typedef struct S_RtnRelayAdhesionStruct
|
||||
/*无人自动自动折返数据结构体*/
|
||||
typedef struct S_NonAutoReturnDataStruct
|
||||
{
|
||||
UINT16 cmdSetTrainId; /*命令列车ID (动态字段)*/
|
||||
UINT8 IndicatorDevID; /*指示灯设备ID*/
|
||||
UINT8 VobcToCIAutoRtnIndicFlashState; /*车载给联锁的无人折返指示灯闪灯状态*/
|
||||
UINT8 VobcToCIAutoRtnIndicSteadyState; /*车载给联锁的无人折返指示灯稳灯状态*/
|
||||
RtnRelayAdhesionStruct RtnRelayAdhesionState; /*无人折返继电器粘连状态*/
|
||||
} NonAutoReturnDataStruct;
|
||||
|
||||
/*无人自动自动折返数据结构体-车车*/
|
||||
typedef struct S_NonAutoReturnDataStructCC
|
||||
{
|
||||
UINT8 IndicatorDevID; /*指示灯设备ID*/
|
||||
UINT16 cmdSetTrainId; /*命令列车ID (动态字段)*/
|
||||
} NonAutoReturnDataStructCC;
|
||||
|
||||
extern NonAutoReturnDataStruct NonReturnDataStru[NON_AUTO_RETURN_SUM_MAX]; /*无人自动折返动态结构体*/
|
||||
extern NonAutoReturnDataStructCC NonReturnDataStruCC[NON_AUTO_RETURN_SUM_MAX]; /*无人自动折返动态结构体-车车*/
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID无人自动折返按钮命令列车ID
|
||||
* 参数说明: const UINT16 autoReturnId, 自动折返ID
|
||||
@@ -57,13 +51,6 @@ extern NonAutoReturnDataStructCC NonReturnDataStruCC[NON_AUTO_RETURN_SUM_MAX];
|
||||
* >0: 无人自动折返按钮指示灯继电器ID
|
||||
*/
|
||||
UINT16 GetNonRtnCmdSetTrainId(const UINT16 nonReturnId);
|
||||
/*
|
||||
* 功能描述: 获取无人折返数据结构体指针-车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
NonAutoReturnDataStruct *
|
||||
*/
|
||||
NonAutoReturnDataStruct* GetNonReturnDataCC(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取无人折返数据结构体指针
|
||||
|
||||
@@ -365,24 +365,6 @@ UINT16 GetSCXColAgreeTryRelayIdById(UINT8 nonRouteId)
|
||||
return collAgreeTryTrainRelayId;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试车线采集的轨旁试车指示器继电器ID
|
||||
* 参数说明: UINT8 nonRouteId 非进路id
|
||||
* 返回值 : 试车线采集的轨旁试车指示器继电器ID
|
||||
*/
|
||||
UINT16 GetWaysideTryTrainIndRelayId(UINT8 nonRouteId)
|
||||
{
|
||||
UINT16 collAgreeTryTrainRelayId = 0u;
|
||||
|
||||
NonRouteConfigDataStruct* pNonRouteConfig = GetNonRouteConfigDataPtrById(nonRouteId);
|
||||
if (pNonRouteConfig != NULL)
|
||||
{
|
||||
collAgreeTryTrainRelayId = pNonRouteConfig->ColWaysideTryTrainIndRelayId; /* 试车线采集的轨旁试车指示器继电器ID */
|
||||
}
|
||||
|
||||
return collAgreeTryTrainRelayId;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:根据道岔id查找对应的非进路
|
||||
* 参数说明:swId-道岔id
|
||||
|
||||
@@ -82,7 +82,6 @@ typedef struct S_NonRouteConfigDataStruct
|
||||
UINT16 AgreeTryTrainRelayId; /*同意试车继电器ID (配置字段)*/
|
||||
UINT16 DrvApplyTryTrainRelayId; /* 试车线驱动的申请试车继电器ID */
|
||||
UINT16 ColAgreeTryTrainRelayId; /* 试车线采集的同意试车继电器ID */
|
||||
UINT16 ColWaysideTryTrainIndRelayId; /* 试车线采集的轨旁试车指示器继电器ID */
|
||||
} NonRouteConfigDataStruct;
|
||||
|
||||
/*******************************全局变量声明*******************************/
|
||||
@@ -269,14 +268,6 @@ UINT8 GetnonRouteIdbelongVirCIid(UINT8 nonRouteId);
|
||||
*/
|
||||
UINT8 GetnonRouteIdbelongCIid(UINT8 nonRouteId);
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 获取试车线采集的轨旁试车指示器继电器ID
|
||||
* 参数说明: UINT8 nonRouteId 非进路id
|
||||
* 返回值 : 试车线采集的轨旁试车指示器继电器ID
|
||||
*/
|
||||
UINT16 GetWaysideTryTrainIndRelayId(UINT8 nonRouteId);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -873,122 +873,3 @@ UINT8 GetOverlapProSwitchPos(const UINT16 wOverlapId, const UINT16 wProSwitchId)
|
||||
|
||||
return cRetVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段本端照查继电器ID
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 : 本端照查继电器ID
|
||||
* by cgh 20250617
|
||||
*/
|
||||
UINT16 GetOverlapThisZhaoChaRelayId(const UINT16 overlapId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT16 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetOverlapConfigBufIndex(overlapId); /*获取数组下标*/
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
reVal = OverlapConfigDataStru[bufIndex].wOverlapThisZhaoChaRelayId;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段对端照查继电器ID
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 : 对端照查继电器ID
|
||||
* by cgh 20250617
|
||||
*/
|
||||
UINT16 GetOverlapThatZhaoChaRelayId(const UINT16 overlapId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT16 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetOverlapConfigBufIndex(overlapId); /*获取数组下标*/
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
reVal = OverlapConfigDataStru[bufIndex].wOverlapThatZhaoChaRelayId;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定保护区段侧防条件
|
||||
* 参数说明: const UINT16 wRouteId, 进路ID
|
||||
* 返回值 : 返回侧防条件数据
|
||||
*/
|
||||
SideProtecGroupStru GetOverlapSideProtecGroupData(const UINT16 wOverlapId)
|
||||
{
|
||||
SideProtecGroupStru cRetVal = { 0u };
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
|
||||
bufIndex = GetOverlapConfigBufIndex(wOverlapId); /*获取数组下标*/
|
||||
|
||||
if (OVERLAP_SUM_MAX > bufIndex)
|
||||
{
|
||||
cRetVal = OverlapConfigDataStru[bufIndex].SideProtecGroupData;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*无处理*/
|
||||
}
|
||||
|
||||
return cRetVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取保护区段指定道岔的防护锁闭位置
|
||||
* 参数说明: const UINT16 wOverlapId, 保护区段ID
|
||||
* const UINT16 wSwitchId 道岔ID
|
||||
*
|
||||
* 返回值 :1,2为道岔位置,0u 非法值
|
||||
*
|
||||
*/
|
||||
UINT8 GetOverlapThisPortecSwitchPos(const UINT16 wOverlapId, const UINT16 wSwitchId)
|
||||
{
|
||||
UINT8 chRetVal = 0U;
|
||||
UINT16 bufIndex = 0U;
|
||||
UINT8 i = 0u;
|
||||
|
||||
bufIndex = GetOverlapConfigBufIndex(wOverlapId); /*获取保护区段数组下标*/
|
||||
|
||||
if (OVERLAP_SUM_MAX > bufIndex)
|
||||
{
|
||||
for (i = 0u; i < OverlapConfigDataStru[bufIndex].ProtectSwitchSum; i++)
|
||||
{
|
||||
if (OverlapConfigDataStru[bufIndex].ProtectSwitchStru[i].ProtectSwitchId == wSwitchId)
|
||||
{
|
||||
chRetVal = OverlapConfigDataStru[bufIndex].ProtectSwitchStru[i].ProtectPosition;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
|
||||
if ((SWITCH_POSITION_DINGWEI == chRetVal) || (SWITCH_POSITION_FANWEI == chRetVal))
|
||||
{
|
||||
/*校验通过*/
|
||||
}
|
||||
else
|
||||
{
|
||||
chRetVal = 0u;
|
||||
}
|
||||
|
||||
return chRetVal;
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "CommonTypes.h"
|
||||
#include "../System/CiSystemDefine.h"
|
||||
#include "../System/SystemParameterManage.h"
|
||||
#include "RouteConfigDataManage.h"
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -72,9 +72,7 @@ typedef struct S_OverlapConfigDataStruct
|
||||
UINT16 OverlapRouteSum; /*保护区段进路总数*/
|
||||
UINT16 OverlapRouteIdBuf[OVERLAP_ROUTE_SUM_MAX]; /*保护区段进路数组*/
|
||||
UINT16 AxisSecFarId; /*保护区段最远端计轴区段ID*/
|
||||
UINT16 wOverlapThisZhaoChaRelayId; /*保护区段本端照查继电器ID*/
|
||||
UINT16 wOverlapThatZhaoChaRelayId; /*保护区段对端照查继电器ID*/
|
||||
SideProtecGroupStru SideProtecGroupData; /*保护区段侧防条件*/
|
||||
|
||||
} OverlapConfigDataStruct;
|
||||
|
||||
extern OverlapConfigDataStruct OverlapConfigDataStru[OVERLAP_SUM_MAX]; /*定义OVERLAP数据配置结构体,cgh-合并CID-2539-1:此处声明不进行初始化,统一放到InitAllStaticDataStr函数中进行初始化,为解决生成内核过大得问题*/
|
||||
@@ -375,36 +373,6 @@ UINT8 CheckOtherCiOlpHaveLocalCiPSw(const UINT16 wOverlapId);
|
||||
*/
|
||||
UINT8 GetOverlapProSwitchPos(const UINT16 wOverlapId, const UINT16 wProSwitchId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段本端照查继电器ID
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 : 本端照查继电器ID
|
||||
* by cgh 20250617
|
||||
*/
|
||||
UINT16 GetOverlapThisZhaoChaRelayId(const UINT16 overlapId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段对端照查继电器ID
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 : 对端照查继电器ID
|
||||
* by cgh 20250617
|
||||
*/
|
||||
UINT16 GetOverlapThatZhaoChaRelayId(const UINT16 overlapId);
|
||||
/*
|
||||
* 功能描述: 获取指定保护区段侧防条件
|
||||
* 参数说明: const UINT16 wRouteId, 进路ID
|
||||
* 返回值 : 返回侧防条件数据
|
||||
*/
|
||||
SideProtecGroupStru GetOverlapSideProtecGroupData(const UINT16 wOverlapId);
|
||||
/*
|
||||
* 功能描述: 获取保护区段指定道岔的防护锁闭位置
|
||||
* 参数说明: const UINT16 wOverlapId, 保护区段ID
|
||||
* const UINT16 wSwitchId 道岔ID
|
||||
*
|
||||
* 返回值 :1,2为道岔位置,0u 非法值
|
||||
*
|
||||
*/
|
||||
UINT8 GetOverlapThisPortecSwitchPos(const UINT16 wOverlapId, const UINT16 wSwitchId);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
|
||||
OverlapDataStruct OverlapDataStru[OVERLAP_SUM_MAX]; /*定义OVERLAP数据结构体*/
|
||||
OverlapDataStructCC OverlapDataStruCC[OVERLAP_SUM_MAX]; /*定义OVERLAP数据结构体-车车*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
@@ -28,16 +28,7 @@ OverlapDataStruct *GetOverlapData(void)
|
||||
{
|
||||
return OverlapDataStru;
|
||||
}
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段数据-车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
OverlapDataStructCC *
|
||||
*/
|
||||
OverlapDataStructCC* GetOverlapDataCC(void)
|
||||
{
|
||||
return OverlapDataStruCC;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段所属进路ID
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
@@ -60,7 +51,7 @@ UINT16 GetOverlapBelongRouteId(const UINT16 overlapId)
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 设置指定ID保护区段所属进路
|
||||
* 功能描述: 设置指定ID保护区段组解锁起始周期号
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT16 belongRouteId, 所属进路号
|
||||
* 返回值 : 无
|
||||
@@ -91,13 +82,11 @@ void SetOverlapRelateProtSwLockSta(const UINT16 overlapId, const UINT8 lockComma
|
||||
UINT16 protectSwitchId = 0u; /*防护道岔ID*/
|
||||
UINT8 overlapProtectSwitchSum = 0u; /*防护道岔数目*/
|
||||
OverlapProtectSwitchStruct* overlapProtectSwitchStru = NULL; /*防护道岔数据*/
|
||||
UINT8 cSwitchCurPos = 0U;
|
||||
UINT8 cFuncRet = CI_ERROR;
|
||||
|
||||
overlapProtectSwitchSum = GetOverlapRelatedProtSwitSum(overlapId); /*获取防护道岔数目*/
|
||||
overlapProtectSwitchStru = GetOverlapRelatedProtSwitStru(overlapId); /*获取防护道岔数据*/
|
||||
|
||||
if ((0U == overlapProtectSwitchSum) || (NULL == overlapProtectSwitchStru))
|
||||
if (0u == overlapProtectSwitchSum)
|
||||
{
|
||||
retVal = CI_ERROR;
|
||||
}
|
||||
@@ -118,28 +107,18 @@ void SetOverlapRelateProtSwLockSta(const UINT16 overlapId, const UINT8 lockComma
|
||||
for (ii= 0u; ii < overlapProtectSwitchSum; ii++)
|
||||
{
|
||||
protectSwitchId = overlapProtectSwitchStru[ii].ProtectSwitchId;
|
||||
cSwitchCurPos = GetSwitchCurPosition(protectSwitchId);
|
||||
cFuncRet = checkSwtLastValDrvPosStayorNot(protectSwitchId, overlapProtectSwitchStru[ii].ProtectPosition);
|
||||
if ((SWITCH_LOCK_PROTECT_CANCEL == lockCommand)
|
||||
|| ((SWITCH_LOCK_PROTECT_SET == lockCommand) && (cSwitchCurPos == overlapProtectSwitchStru[ii].ProtectPosition) && (CI_SUCCESS == cFuncRet)))
|
||||
{
|
||||
SetSwitchLockStatus(SWITCH_PLOCKTYPE_OVERLAP, overlapId, protectSwitchId, lockCommand); /*设置道岔防护锁闭状态*/
|
||||
SetSwitchLockStatus(SWITCH_PLOCKTYPE_OVERLAP,overlapId,protectSwitchId, lockCommand); /*设置道岔防护锁闭状态*/
|
||||
/*RC 13.0.0 修:不检查防护道岔中双动道岔另一端*/
|
||||
#if 0
|
||||
if (SWITCH_TYPE_DOUBLE == GetSwitchType(protectSwitchId))
|
||||
{ /*双动道岔*/
|
||||
SetSwitchLockStatus(SWITCH_PLOCKTYPE_OVERLAP, overlapId, GetDSwitchOtherId(protectSwitchId), lockCommand); /*设置道岔防护锁 闭状态*/
|
||||
SetSwitchLockStatus(SWITCH_PLOCKTYPE_OVERLAP,overlapId,GetDSwitchOtherId(protectSwitchId), lockCommand); /*设置道岔防护锁 闭状态*/
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
/*防护道岔不在防护位置或防护道岔存在反向驱动时,不设置防护锁闭*/
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -286,7 +265,7 @@ void SetOverlapUnlockApplyFlag(const UINT16 overlapId, const UINT8 overlapUnlock
|
||||
* 功能描述:获取指定ID保护区段申请解锁的列车ID
|
||||
* 参数说明:const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 :0 获取失败
|
||||
* 其它 列车ID(不带0x10)
|
||||
* 其它 列车ID(不带0x14)
|
||||
*/
|
||||
UINT16 GetOverlapUnlockApplyTrainId(const UINT16 overlapId)
|
||||
{
|
||||
@@ -297,7 +276,7 @@ UINT16 GetOverlapUnlockApplyTrainId(const UINT16 overlapId)
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
reVal = OverlapDataStruCC[bufIndex].wOverlapUnlockApplyTrainId;
|
||||
reVal = OverlapDataStru[bufIndex].wOverlapUnlockApplyTrainId;
|
||||
}
|
||||
return reVal;
|
||||
}
|
||||
@@ -306,7 +285,7 @@ UINT16 GetOverlapUnlockApplyTrainId(const UINT16 overlapId)
|
||||
/*
|
||||
* 功能描述: 设置指定ID保护区段申请解锁的列车ID
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT16 wTrainId,列车ID(不带0x10)
|
||||
* const UINT16 wTrainId,列车ID(不带0x14)
|
||||
* 返回值 : 无
|
||||
*
|
||||
*/
|
||||
@@ -318,7 +297,7 @@ void SetOverlapUnlockApplyTrainId(const UINT16 overlapId, const UINT16 wTrainId)
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
OverlapDataStruCC[bufIndex].wOverlapUnlockApplyTrainId = wTrainId;
|
||||
OverlapDataStru[bufIndex].wOverlapUnlockApplyTrainId = wTrainId;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -643,7 +622,7 @@ void SetReqIvocUnlockStartCycNum(const UINT16 overlapId, const UINT32 reqIvocUnl
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
OverlapDataStruCC[bufIndex].dwReqIvocUnLockStartCycNum = reqIvocUnlockStartCycNum; /*人工解锁起始周期号*/
|
||||
OverlapDataStru[bufIndex].dwReqIvocUnLockStartCycNum = reqIvocUnlockStartCycNum; /*人工解锁起始周期号*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -662,7 +641,7 @@ UINT32 GetReqIvocUnlockStartCycNum(const UINT16 overlapId)
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
reVal = OverlapDataStruCC[bufIndex].dwReqIvocUnLockStartCycNum; /*人工解锁起始周期号*/
|
||||
reVal = OverlapDataStru[bufIndex].dwReqIvocUnLockStartCycNum; /*人工解锁起始周期号*/
|
||||
}
|
||||
return reVal;
|
||||
}
|
||||
@@ -682,7 +661,7 @@ void SetOverlapIvocAllowUnlockFlag(const UINT16 overlapId, const UINT8 overlapIv
|
||||
|
||||
if ((bufIndex < OVERLAP_SUM_MAX) && ((IVOC_ALLOW_UNLOCK_OVERLAP_YES == overlapIvocUnlockFlag) || (IVOC_ALLOW_UNLOCK_OVERLAP_NO == overlapIvocUnlockFlag)))
|
||||
{
|
||||
OverlapDataStruCC[bufIndex].cIvocAllowUnlockFlag = overlapIvocUnlockFlag;
|
||||
OverlapDataStru[bufIndex].cIvocAllowUnlockFlag = overlapIvocUnlockFlag;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -706,7 +685,7 @@ UINT8 GetOverlapIvocAllowUnlockFlag(const UINT16 overlapId)
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
reVal = OverlapDataStruCC[bufIndex].cIvocAllowUnlockFlag;
|
||||
reVal = OverlapDataStru[bufIndex].cIvocAllowUnlockFlag;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -842,13 +821,13 @@ UINT8 GetOverlapFromSetRouteCmdFlag(const UINT16 overlapId)
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 清除保护区段个别标志
|
||||
* 功能描述: 清保护区段人工或ATS锁闭命令标志
|
||||
* 参数说明: const UINT16 routeId, 进路ID
|
||||
* const UINT16 overlapId, 保护区段ID
|
||||
* 返回值:无
|
||||
* by cgh 20260106
|
||||
* by cgh 20240920
|
||||
*/
|
||||
void CleanOverlapSpecificFlag(const UINT16 routeId, const UINT16 overlapId)
|
||||
void CleanOverlapAtsOrlaborLockFlag(const UINT16 routeId, const UINT16 overlapId)
|
||||
{
|
||||
UINT16 overlapRouteSum = 0U; /*保护区段进路数量*/
|
||||
UINT16* pOverlapRouteBuf = NULL; /*保护区段进路数据*/
|
||||
@@ -856,8 +835,6 @@ void CleanOverlapSpecificFlag(const UINT16 routeId, const UINT16 overlapId)
|
||||
UINT16 routeLastPhyId = 0U; /*进路最后一个物理区段ID*/
|
||||
UINT8 routeLastPhyState = 0U; /*进路最后一个物理区段融合占用状态*/
|
||||
UINT16 ii = 0U; /*游标*/
|
||||
UINT32 dwUnlockStartCycNum = 0U; /*保护区段解锁起始周期号*/
|
||||
UINT32 dwAtsLastTimeLockCyc = 0U; /*最近一次ATS锁闭保护区段周期号*/
|
||||
|
||||
overlapRouteSum = GetOverlapRouteIdSum(overlapId); /*获取保护区段进路数量*/
|
||||
pOverlapRouteBuf = GetOverlapRouteIdBuf(overlapId); /*获取保护区段进路数据*/
|
||||
@@ -878,32 +855,6 @@ void CleanOverlapSpecificFlag(const UINT16 routeId, const UINT16 overlapId)
|
||||
{
|
||||
SetOverlapAtsOrlaborLockCmdFlag(overlapId, LOCK_OVERLAP_CMD_NO);
|
||||
}
|
||||
|
||||
dwUnlockStartCycNum = GetOverlapUnlockStartCycNum(overlapId);
|
||||
dwAtsLastTimeLockCyc = GetOverlapAtsLastTimeLockCyc(overlapId);
|
||||
|
||||
if (0U == dwUnlockStartCycNum)
|
||||
{
|
||||
/*说明是人工解锁,人工解锁就不保留之前的命令了*/
|
||||
SetRouteAtsExpLkOverlapId(routeId, 0U);
|
||||
SetOverlapFromSetRouteCmdFlag(overlapId, OVERLAP_ROUTE_FLAG_NO);/*清除保护区段建立命令由进路命令连带下发标志*/
|
||||
}
|
||||
else
|
||||
{
|
||||
atsExpLockOverlapId = GetRouteAtsExpLkOverlapId(routeId);
|
||||
|
||||
if ((dwAtsLastTimeLockCyc <= dwUnlockStartCycNum) && (0U < dwAtsLastTimeLockCyc)
|
||||
&& (overlapId == atsExpLockOverlapId))
|
||||
{
|
||||
/*ATS最后一次下发锁闭保护区段命令时保护区段未自动解锁*/
|
||||
SetRouteAtsExpLkOverlapId(routeId, 0U);
|
||||
SetOverlapFromSetRouteCmdFlag(overlapId, OVERLAP_ROUTE_FLAG_NO);/*清除保护区段建立命令由进路命令连带下发标志*/
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1025,262 +976,3 @@ UINT8 GetOverlapProSwtCheckStartFlag(const UINT16 wOverlapId)
|
||||
|
||||
return cRetVal;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段之前人工解锁状态
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0:之前人工解锁状态
|
||||
* BY CGH 20250928
|
||||
*/
|
||||
UINT8 GetOverlapPreLoaborUnlockState(const UINT16 overlapId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT8 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetOverlapConfigBufIndex(overlapId); /*获取数组下标*/
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
reVal = OverlapDataStru[bufIndex].chPreLaborUnlockState;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 设置指定ID保护区段之前人工解锁状态
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT8 chPreLaborUnlockState, 之前人工解锁状态
|
||||
* 返回值 void
|
||||
* by cgh 20250928
|
||||
*/
|
||||
void SetOverlapPreLoaborUnlockState(const UINT16 overlapId, const UINT8 chPreLaborUnlockState)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
|
||||
bufIndex = GetOverlapConfigBufIndex(overlapId); /*获取数组下标*/
|
||||
|
||||
if ((bufIndex < OVERLAP_SUM_MAX)
|
||||
&& ((PRO_PRE_LABOR_UNLOCK_STATE_YES == chPreLaborUnlockState)
|
||||
|| (PRO_PRE_LABOR_UNLOCK_STATE_NO == chPreLaborUnlockState)))
|
||||
{
|
||||
OverlapDataStru[bufIndex].chPreLaborUnlockState = chPreLaborUnlockState; /*设置解锁起始周期号*/
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:保护区段锁闭所属进路检查
|
||||
* 参数说明: const UINT16 wOverlapId 进路ID
|
||||
* 返回值 :CI_SUCCESS 所有进路均空闲
|
||||
* CI_ERROR 存在进路不是空闲
|
||||
* by cgh 20250928
|
||||
*/
|
||||
UINT8 OverlapLockRouteCheck(const UINT16 wOverlapId)
|
||||
{
|
||||
UINT8 chReval = CI_ERROR;
|
||||
UINT16 dwOverlapRouteSum = 0U; /*保护区段进路数目*/
|
||||
UINT16* pOverlapRouteBuf = NULL; /*保护区段进路数组*/
|
||||
UINT16 jj = 0U;
|
||||
UINT8 chRouteState = 0U; /*进路状态*/
|
||||
UINT8 chFlag = 0U; /*检查标志*/
|
||||
|
||||
if ((0U < wOverlapId) && (OVERLAP_SUM_MAX > wOverlapId))
|
||||
{
|
||||
dwOverlapRouteSum = GetOverlapRouteIdSum(wOverlapId);
|
||||
pOverlapRouteBuf = GetOverlapRouteIdBuf(wOverlapId);
|
||||
|
||||
if ((NULL != pOverlapRouteBuf))
|
||||
{
|
||||
for (jj = 0U; jj < dwOverlapRouteSum; jj++)
|
||||
{
|
||||
chRouteState = GetRouteState(pOverlapRouteBuf[jj]);
|
||||
|
||||
if ((ROUTE_STATE_IDLE != chRouteState))
|
||||
{
|
||||
chFlag = 1U;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
if (0U == chFlag)
|
||||
{
|
||||
chReval = CI_SUCCESS;
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*存在不空闲的进路*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
return chReval;
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID保护区段关联物理区段停准停稳状态
|
||||
* 参数说明:const UINT16 overlapId 保护区段ID
|
||||
* const UINT8 chSetFlag 设置标志
|
||||
* 返回值 :无
|
||||
*/
|
||||
void SetOverlapBelPhyStopSteadyFlag(const UINT16 wOverlapId, const UINT8 chSetFlag)
|
||||
{
|
||||
UINT16 wOverlopBelRouteId = 0U; /*保护区段锁闭所属进路ID*/
|
||||
UINT8 chRoutePhySecSum = 0U; /*进路包含的物理区段数目*/
|
||||
RoutePhysicalSectionStruct* szRoutePhySecData = NULL; /*进路包含物理区段结构数组*/
|
||||
|
||||
if ((0U < wOverlapId) && (wOverlapId < OVERLAP_SUM_MAX)
|
||||
&& ((PHYSICAL_SECTION_STOPSTEADY_NO == chSetFlag) || (PHYSICAL_SECTION_STOPSTEADY_YES == chSetFlag)))
|
||||
{
|
||||
wOverlopBelRouteId = GetOverlapBelongRouteId(wOverlapId);
|
||||
|
||||
if (0U != wOverlopBelRouteId)
|
||||
{
|
||||
chRoutePhySecSum = GetRoutePhysicalSectionSum(wOverlopBelRouteId);
|
||||
szRoutePhySecData = GetRouteSectionData(wOverlopBelRouteId);
|
||||
|
||||
if (NULL != szRoutePhySecData)
|
||||
{
|
||||
/*设置车车的物理区段停稳状态*/
|
||||
SetPhySecStopSteadyFlagCC(szRoutePhySecData[chRoutePhySecSum - 1U].PhysicalSectionId, chSetFlag);
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*无锁闭所属进路不处理*/
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/* 功能描述:清除期望保护区段关联所有进路的所有保护区段人工锁闭过标志
|
||||
* 参数说明: const UINT16 expLkOverlapId, ATS或现地发送的期望锁闭区段ID
|
||||
* 返回值 : 无
|
||||
* by cgh 20260106
|
||||
*/
|
||||
void ClearPreLoaborUnlockState(const UINT16 expLkOverlapId)
|
||||
{
|
||||
UINT8 overlapSum = 0U;
|
||||
UINT16* overlapIdBuf = NULL;
|
||||
UINT16 ii = 0U;
|
||||
UINT8 jj = 0U;
|
||||
UINT8 localCiId = 0U; /*本联锁集中区ID*/
|
||||
UINT8 OverlapBelongCiId = 0U;
|
||||
UINT16 overlapRouteSum = 0U;/*保护区段关联进路数量*/
|
||||
UINT16* overlapRouteBuf = NULL;/*保护区段关联进路数据*/
|
||||
|
||||
overlapRouteSum = GetOverlapRouteIdSum(expLkOverlapId);/*获取保护区段关联进路总数*/
|
||||
overlapRouteBuf = GetOverlapRouteIdBuf(expLkOverlapId);/*获取进路数据*/
|
||||
localCiId = GetSystemParaLocalCiId(); /*获取本机联锁ID*/
|
||||
|
||||
if ((0U != overlapRouteSum) && (NULL != overlapRouteBuf))
|
||||
{
|
||||
for (ii = 0U; ii < overlapRouteSum; ii++)
|
||||
{
|
||||
overlapSum = GetRouteOverlapSum(overlapRouteBuf[ii]); /*获取Overlap总数*/
|
||||
overlapIdBuf = GetRouteOverlapIdBuf(overlapRouteBuf[ii]); /*获取Overlap ID BUF*/
|
||||
|
||||
if ((0U == overlapSum) || (NULL == overlapIdBuf))
|
||||
{
|
||||
;/*数据异常*/
|
||||
}
|
||||
else
|
||||
{
|
||||
for (jj = 0U; jj < overlapSum; jj++)
|
||||
{
|
||||
OverlapBelongCiId = GetOverlapBelongCiId(overlapIdBuf[jj]);
|
||||
if (OverlapBelongCiId == localCiId)
|
||||
{
|
||||
SetOverlapPreLoaborUnlockState(overlapIdBuf[jj], PRO_PRE_LABOR_UNLOCK_STATE_NO);
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*相邻联锁的不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
; /*不处理*/
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段最近一次ATS锁闭保护区段周期号
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 : 最近一次ATS锁闭保护区段周期号
|
||||
* BY CGH 20260106
|
||||
*/
|
||||
UINT32 GetOverlapAtsLastTimeLockCyc(const UINT16 overlapId)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
UINT32 reVal = CI_ERROR;
|
||||
|
||||
bufIndex = GetOverlapConfigBufIndex(overlapId); /*获取数组下标*/
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
reVal = OverlapDataStru[bufIndex].dwAtsLastTimeLockCyc;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
return reVal;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 功能描述: 设置指定ID保护区段最近一次ATS锁闭保护区段周期号
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT32 dwAtsLastTimeLockCyc, 最近一次ATS锁闭保护区段周期号
|
||||
* 返回值 void
|
||||
* by cgh 20250928
|
||||
*/
|
||||
void SetOverlapAtsLastTimeLockCyc(const UINT16 overlapId, const UINT32 dwAtsLastTimeLockCyc)
|
||||
{
|
||||
UINT16 bufIndex = 0U; /*数组下标*/
|
||||
|
||||
bufIndex = GetOverlapConfigBufIndex(overlapId); /*获取数组下标*/
|
||||
|
||||
if (bufIndex < OVERLAP_SUM_MAX)
|
||||
{
|
||||
OverlapDataStru[bufIndex].dwAtsLastTimeLockCyc = dwAtsLastTimeLockCyc; /*设置解锁起始周期号*/
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
@@ -35,6 +35,9 @@ typedef struct S_OverlapDataStruct
|
||||
UINT32 UnlockStartCycNum; /*保护区段解锁起始周期号 (动态字段)*/
|
||||
UINT32 XuanPaiStartCycNum; /*保护区段选排开始周期号(动态字段)*/
|
||||
UINT8 OverlapUnlockApplyFlag; /*向ZC申请解锁保护区段解锁标志,20181105*/
|
||||
UINT16 wOverlapUnlockApplyTrainId;/* 申请保护区段解锁的列车ID(不带0x14)*/
|
||||
UINT32 dwReqIvocUnLockStartCycNum; /*向车申请解锁保护区段起始周期号*/
|
||||
UINT8 cIvocAllowUnlockFlag; /*列车允许解锁保护区段标志,0xAA同意解锁,0x55不同意解锁*/
|
||||
UINT8 OverlapCanLaborUnlockFlag;/*保护区段可以人工解锁标志*/
|
||||
UINT8 OverlapLaborUnlockSetState;/*保护区段人工解锁设置状态*/
|
||||
UINT32 laborUnlockStartCycNum;/*人工解锁起始周期号*/
|
||||
@@ -45,21 +48,10 @@ typedef struct S_OverlapDataStruct
|
||||
UINT8 OverlapFromSetRouteCmdFlag;/*保护区段由进路办理时连带的标志*/
|
||||
UINT8 cProSwitchCheckResultFlag; /*跨控区防护道岔检查结果标志(0xFF:默认值,0x55:失败,0xAA:成功)*/
|
||||
UINT8 cProSwitchCheckStartFlag; /*跨控区防护道岔检查开始标志(0x55:检查开始,0xAA:检查停止)*/
|
||||
UINT8 chPreLaborUnlockState; /*之前人工解锁状态*/
|
||||
UINT32 dwAtsLastTimeLockCyc; /*最近一次ATS锁闭保护区段周期号*/
|
||||
} OverlapDataStruct;
|
||||
|
||||
/*保护区段数据结构体*/
|
||||
typedef struct S_OverlapDataStructCC
|
||||
{
|
||||
UINT16 OverlapId; /*保护区段组ID (初始化字段)*/
|
||||
UINT16 wOverlapUnlockApplyTrainId; /*申请保护区段解锁的列车ID(不带0x10)*/
|
||||
UINT32 dwReqIvocUnLockStartCycNum; /*向车申请解锁保护区段起始周期号*/
|
||||
UINT8 cIvocAllowUnlockFlag; /*列车允许解锁保护区段标志,0xAA同意解锁,0x55不同意解锁*/
|
||||
}OverlapDataStructCC;
|
||||
/*******************************全局变量声明*******************************/
|
||||
extern OverlapDataStruct OverlapDataStru[OVERLAP_SUM_MAX]; /*定义OVERLAP数据结构体*/
|
||||
extern OverlapDataStructCC OverlapDataStruCC[OVERLAP_SUM_MAX]; /*定义OVERLAP数据结构体-车车*/
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段数据
|
||||
* 参数说明:
|
||||
@@ -67,19 +59,6 @@ extern OverlapDataStructCC OverlapDataStruCC[OVERLAP_SUM_MAX]; /*
|
||||
OverlapDataStruct *
|
||||
*/
|
||||
OverlapDataStruct *GetOverlapData(void);
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段数据-车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
OverlapDataStructCC *
|
||||
*/
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段数据-车车
|
||||
* 参数说明:
|
||||
* 返回值 :
|
||||
OverlapDataStructCC *
|
||||
*/
|
||||
OverlapDataStructCC* GetOverlapDataCC(void);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段所属进路ID
|
||||
@@ -90,7 +69,7 @@ OverlapDataStructCC* GetOverlapDataCC(void);
|
||||
UINT16 GetOverlapBelongRouteId(const UINT16 overlapId);
|
||||
|
||||
/*
|
||||
* 功能描述: 设置指定ID保护区段所属进路
|
||||
* 功能描述: 设置指定ID保护区段组解锁起始周期号
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT16 belongRouteId, 所属进路号
|
||||
* 返回值 : 无
|
||||
@@ -159,7 +138,7 @@ void SetOverlapUnlockApplyFlag(const UINT16 overlapId, const UINT8 overlapUnlock
|
||||
* 功能描述:获取指定ID保护区段申请解锁的列车ID
|
||||
* 参数说明:const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 :0 获取失败
|
||||
* 其它 列车ID(不带0x10)
|
||||
* 其它 列车ID(不带0x14)
|
||||
*/
|
||||
UINT16 GetOverlapUnlockApplyTrainId(const UINT16 overlapId);
|
||||
|
||||
@@ -167,7 +146,7 @@ UINT16 GetOverlapUnlockApplyTrainId(const UINT16 overlapId);
|
||||
/*
|
||||
* 功能描述: 设置指定ID保护区段申请解锁的列车ID
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT16 wTrainId,列车ID(不带0x10)
|
||||
* const UINT16 wTrainId,列车ID(不带0x14)
|
||||
* 返回值 : 无
|
||||
*
|
||||
*/
|
||||
@@ -336,13 +315,13 @@ void SetOverlapFromSetRouteCmdFlag(const UINT16 overlapId, const UINT8 setFlag);
|
||||
UINT8 GetOverlapFromSetRouteCmdFlag(const UINT16 overlapId);
|
||||
|
||||
/*
|
||||
* 功能描述: 清除保护区段个别标志
|
||||
* 功能描述: 清保护区段人工或ATS锁闭命令标志
|
||||
* 参数说明: const UINT16 routeId, 进路ID
|
||||
* const UINT16 overlapId, 保护区段ID
|
||||
* 返回值:无
|
||||
* by cgh 20260106
|
||||
* by cgh 20240920
|
||||
*/
|
||||
void CleanOverlapSpecificFlag(const UINT16 routeId, const UINT16 overlapId);
|
||||
void CleanOverlapAtsOrlaborLockFlag(const UINT16 routeId, const UINT16 overlapId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置保护区段防护道岔检查结果标志
|
||||
@@ -381,65 +360,6 @@ void SetOverlapProSwtCheckStartFlag(const UINT16 wOverlapId, const UINT8 cCheckS
|
||||
*/
|
||||
UINT8 GetOverlapProSwtCheckStartFlag(const UINT16 wOverlapId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段之前人工解锁状态
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 : 0: 获取数据失败
|
||||
* >0:之前人工解锁状态
|
||||
* BY CGH 20250928
|
||||
*/
|
||||
UINT8 GetOverlapPreLoaborUnlockState(const UINT16 overlapId);
|
||||
|
||||
/*
|
||||
* 功能描述: 设置指定ID保护区段之前人工解锁状态
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT8 chPreLaborUnlockState, 之前人工解锁状态
|
||||
* 返回值 void
|
||||
* by cgh 20250928
|
||||
*/
|
||||
void SetOverlapPreLoaborUnlockState(const UINT16 overlapId, const UINT8 chPreLaborUnlockState);
|
||||
|
||||
/*
|
||||
* 功能描述:保护区段锁闭所属进路检查
|
||||
* 参数说明: const UINT16 wOverlapId 进路ID
|
||||
* 返回值 :CI_SUCCESS 所有进路均空闲
|
||||
* CI_ERROR 存在进路不是空闲
|
||||
* by cgh 20250928
|
||||
*/
|
||||
UINT8 OverlapLockRouteCheck(const UINT16 wOverlapId);
|
||||
|
||||
/*
|
||||
* 功能描述:设置指定ID保护区段关联物理区段停准停稳状态
|
||||
* 参数说明:const UINT16 overlapId 保护区段ID
|
||||
* const UINT8 chSetFlag 设置标志
|
||||
* 返回值 :无
|
||||
*/
|
||||
void SetOverlapBelPhyStopSteadyFlag(const UINT16 wOverlapId, const UINT8 chSetFlag);
|
||||
|
||||
/* 功能描述:清除期望保护区段关联所有进路的所有保护区段人工锁闭过标志
|
||||
* 参数说明: const UINT16 expLkOverlapId, ATS或现地发送的期望锁闭区段ID
|
||||
* 返回值 : 无
|
||||
* by cgh 20260106
|
||||
*/
|
||||
void ClearPreLoaborUnlockState(const UINT16 expLkOverlapId);
|
||||
|
||||
/*
|
||||
* 功能描述: 获取指定ID保护区段最近一次ATS锁闭保护区段周期号
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* 返回值 : 最近一次ATS锁闭保护区段周期号
|
||||
* BY CGH 20260106
|
||||
*/
|
||||
UINT32 GetOverlapAtsLastTimeLockCyc(const UINT16 overlapId);
|
||||
|
||||
/*
|
||||
* 功能描述: 设置指定ID保护区段最近一次ATS锁闭保护区段周期号
|
||||
* 参数说明: const UINT16 overlapId, 保护区段ID
|
||||
* const UINT32 dwAtsLastTimeLockCyc, 最近一次ATS锁闭保护区段周期号
|
||||
* 返回值 void
|
||||
* by cgh 20250928
|
||||
*/
|
||||
void SetOverlapAtsLastTimeLockCyc(const UINT16 overlapId, const UINT32 dwAtsLastTimeLockCyc);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -72,10 +72,6 @@
|
||||
#define PROSWITCH_CHECK_START_VALID ((UINT8)0x55) /*开始检查*/
|
||||
#define PROSWITCH_CHECK_START_INVALID ((UINT8)0xAA) /*停止检查*/
|
||||
|
||||
/*保护区段之前人工解锁标志*/
|
||||
#define PRO_PRE_LABOR_UNLOCK_STATE_YES ((UINT8)0x55) /*之前成功人工解锁过*/
|
||||
#define PRO_PRE_LABOR_UNLOCK_STATE_NO ((UINT8)0xAA) /*之前未人工解锁过*/
|
||||
|
||||
#define OVERLAP_USING_OVERTIME_CYC_NUM 10U /*保护区段征用超时周期数*/
|
||||
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user