Browse Source

git-svn-id: http://10.4.3.168:50001/svn/Furnace@46 dbcde07d-dcf5-c148-8a84-ac3097b7778e

Xiongbing 2 months ago
parent
commit
091f613554

+ 31 - 0
Branch/NTP02/Furnace/FurnaceRT/Config/IO/NTP02/DeviceModelGasLine.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<DeviceModelDefine type="Furnace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  >
+
+	<IoHeaterBands  classType="FurnaceRT.Devices.IoHeaterBand2" assembly="FurnaceRT">
+    <IoHeaterBand2 id="CH1" display="GaslineHeaterCH1" schematicId="" unit="" module=""  aiPV="AI_CH1PV" aiControlOutput="AI_CH1WorkingOutput"  diAlarmOutput="DI_CH1AlarmOutput" doOutRangeAlarmInhibit="DO_CH1OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH1F2CLNAlarmInhibit" doChannelInhibit="DO_CH1ChannelInhibit" aoSetPoint="AO_CH1SV" aoAlarmHigher="AO_CH1AlarmHigherPoint" aoAlarmLower="AO_CH1AlarmLowerPoint" aoAlarmInhibit="AO_CH1SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH2" display="GaslineHeaterCH2" schematicId="" unit="" module=""  aiPV="AI_CH2PV" aiControlOutput="AI_CH2WorkingOutput"  diAlarmOutput="DI_CH2AlarmOutput" doOutRangeAlarmInhibit="DO_CH2OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH2F2CLNAlarmInhibit" doChannelInhibit="DO_CH2ChannelInhibit" aoSetPoint="AO_CH2SV" aoAlarmHigher="AO_CH2AlarmHigherPoint" aoAlarmLower="AO_CH2AlarmLowerPoint" aoAlarmInhibit="AO_CH2SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH3" display="GaslineHeaterCH3" schematicId="" unit="" module=""  aiPV="AI_CH3PV" aiControlOutput="AI_CH3WorkingOutput"  diAlarmOutput="DI_CH3AlarmOutput" doOutRangeAlarmInhibit="DO_CH3OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH3F2CLNAlarmInhibit" doChannelInhibit="DO_CH3ChannelInhibit" aoSetPoint="AO_CH3SV" aoAlarmHigher="AO_CH3AlarmHigherPoint" aoAlarmLower="AO_CH3AlarmLowerPoint" aoAlarmInhibit="AO_CH3SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH4" display="GaslineHeaterCH4" schematicId="" unit="" module=""  aiPV="AI_CH4PV" aiControlOutput="AI_CH4WorkingOutput"  diAlarmOutput="DI_CH4AlarmOutput" doOutRangeAlarmInhibit="DO_CH4OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH4F2CLNAlarmInhibit" doChannelInhibit="DO_CH4ChannelInhibit" aoSetPoint="AO_CH4SV" aoAlarmHigher="AO_CH4AlarmHigherPoint" aoAlarmLower="AO_CH4AlarmLowerPoint" aoAlarmInhibit="AO_CH4SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH5" display="GaslineHeaterCH5" schematicId="" unit="" module=""  aiPV="AI_CH5PV" aiControlOutput="AI_CH5WorkingOutput"  diAlarmOutput="DI_CH5AlarmOutput" doOutRangeAlarmInhibit="DO_CH5OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH5F2CLNAlarmInhibit" doChannelInhibit="DO_CH5ChannelInhibit" aoSetPoint="AO_CH5SV" aoAlarmHigher="AO_CH5AlarmHigherPoint" aoAlarmLower="AO_CH5AlarmLowerPoint" aoAlarmInhibit="AO_CH5SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH6" display="GaslineHeaterCH6" schematicId="" unit="" module=""  aiPV="AI_CH6PV" aiControlOutput="AI_CH6WorkingOutput"  diAlarmOutput="DI_CH6AlarmOutput" doOutRangeAlarmInhibit="DO_CH6OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH6F2CLNAlarmInhibit" doChannelInhibit="DO_CH6ChannelInhibit" aoSetPoint="AO_CH6SV" aoAlarmHigher="AO_CH6AlarmHigherPoint" aoAlarmLower="AO_CH6AlarmLowerPoint" aoAlarmInhibit="AO_CH6SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH7" display="GaslineHeaterCH7" schematicId="" unit="" module=""  aiPV="AI_CH7PV" aiControlOutput="AI_CH7WorkingOutput"  diAlarmOutput="DI_CH7AlarmOutput" doOutRangeAlarmInhibit="DO_CH7OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH7F2CLNAlarmInhibit" doChannelInhibit="DO_CH7ChannelInhibit" aoSetPoint="AO_CH7SV" aoAlarmHigher="AO_CH7AlarmHigherPoint" aoAlarmLower="AO_CH7AlarmLowerPoint" aoAlarmInhibit="AO_CH7SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH8" display="GaslineHeaterCH8" schematicId="" unit="" module=""  aiPV="AI_CH8PV" aiControlOutput="AI_CH8WorkingOutput"  diAlarmOutput="DI_CH8AlarmOutput" doOutRangeAlarmInhibit="DO_CH8OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH8F2CLNAlarmInhibit" doChannelInhibit="DO_CH8ChannelInhibit" aoSetPoint="AO_CH8SV" aoAlarmHigher="AO_CH8AlarmHigherPoint" aoAlarmLower="AO_CH8AlarmLowerPoint" aoAlarmInhibit="AO_CH8SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH9" display="GaslineHeaterCH9" schematicId="" unit="" module=""  aiPV="AI_CH9PV" aiControlOutput="AI_CH9WorkingOutput"  diAlarmOutput="DI_CH9AlarmOutput" doOutRangeAlarmInhibit="DO_CH9OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH9F2CLNAlarmInhibit" doChannelInhibit="DO_CH9ChannelInhibit" aoSetPoint="AO_CH9SV" aoAlarmHigher="AO_CH9AlarmHigherPoint" aoAlarmLower="AO_CH9AlarmLowerPoint" aoAlarmInhibit="AO_CH9SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH10" display="GaslineHeaterCH10" schematicId="" unit="" module=""  aiPV="AI_CH10PV" aiControlOutput="AI_CH10WorkingOutput"  diAlarmOutput="DI_CH10AlarmOutput" doOutRangeAlarmInhibit="DO_CH10OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH10F2CLNAlarmInhibit" doChannelInhibit="DO_CH10ChannelInhibit" aoSetPoint="AO_CH10SV" aoAlarmHigher="AO_CH10AlarmHigherPoint" aoAlarmLower="AO_CH10AlarmLowerPoint" aoAlarmInhibit="AO_CH10SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH11" display="GaslineHeaterCH11" schematicId="" unit="" module=""  aiPV="AI_CH11PV" aiControlOutput="AI_CH11WorkingOutput"  diAlarmOutput="DI_CH11AlarmOutput" doOutRangeAlarmInhibit="DO_CH11OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH11F2CLNAlarmInhibit" doChannelInhibit="DO_CH11ChannelInhibit" aoSetPoint="AO_CH11SV" aoAlarmHigher="AO_CH11AlarmHigherPoint" aoAlarmLower="AO_CH11AlarmLowerPoint" aoAlarmInhibit="AO_CH11SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH12" display="GaslineHeaterCH12" schematicId="" unit="" module=""  aiPV="AI_CH12PV" aiControlOutput="AI_CH12WorkingOutput"  diAlarmOutput="DI_CH12AlarmOutput" doOutRangeAlarmInhibit="DO_CH12OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH12F2CLNAlarmInhibit" doChannelInhibit="DO_CH12ChannelInhibit" aoSetPoint="AO_CH12SV" aoAlarmHigher="AO_CH12AlarmHigherPoint" aoAlarmLower="AO_CH12AlarmLowerPoint" aoAlarmInhibit="AO_CH12SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH13" display="GaslineHeaterCH13" schematicId="" unit="" module=""  aiPV="AI_CH13PV" aiControlOutput="AI_CH13WorkingOutput"  diAlarmOutput="DI_CH13AlarmOutput" doOutRangeAlarmInhibit="DO_CH13OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH13F2CLNAlarmInhibit" doChannelInhibit="DO_CH13ChannelInhibit" aoSetPoint="AO_CH13SV" aoAlarmHigher="AO_CH13AlarmHigherPoint" aoAlarmLower="AO_CH13AlarmLowerPoint" aoAlarmInhibit="AO_CH13SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH14" display="GaslineHeaterCH14" schematicId="" unit="" module=""  aiPV="AI_CH14PV" aiControlOutput="AI_CH14WorkingOutput"  diAlarmOutput="DI_CH14AlarmOutput" doOutRangeAlarmInhibit="DO_CH14OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH14F2CLNAlarmInhibit" doChannelInhibit="DO_CH14ChannelInhibit" aoSetPoint="AO_CH14SV" aoAlarmHigher="AO_CH14AlarmHigherPoint" aoAlarmLower="AO_CH14AlarmLowerPoint" aoAlarmInhibit="AO_CH14SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH15" display="GaslineHeaterCH15" schematicId="" unit="" module=""  aiPV="AI_CH15PV" aiControlOutput="AI_CH15WorkingOutput"  diAlarmOutput="DI_CH15AlarmOutput" doOutRangeAlarmInhibit="DO_CH15OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH15F2CLNAlarmInhibit" doChannelInhibit="DO_CH15ChannelInhibit" aoSetPoint="AO_CH15SV" aoAlarmHigher="AO_CH15AlarmHigherPoint" aoAlarmLower="AO_CH15AlarmLowerPoint" aoAlarmInhibit="AO_CH15SensorBreakAlarmInhibit" aioType="float" />
+    <IoHeaterBand2 id="CH16" display="GaslineHeaterCH16" schematicId="" unit="" module=""  aiPV="AI_CH16PV" aiControlOutput="AI_CH16WorkingOutput"  diAlarmOutput="DI_CH16AlarmOutput" doOutRangeAlarmInhibit="DO_CH16OutRangeAlarmInhibit" doF2CLNAlarmInhibit="DO_CH16F2CLNAlarmInhibit" doChannelInhibit="DO_CH16ChannelInhibit" aoSetPoint="AO_CH16SV" aoAlarmHigher="AO_CH16AlarmHigherPoint" aoAlarmLower="AO_CH16AlarmLowerPoint" aoAlarmInhibit="AO_CH16SensorBreakAlarmInhibit" aioType="float" />
+	</IoHeaterBands>
+	<!--<IoAlarmSignals classType="Aitex.Core.RT.Device.Unit.IoAlarmSignal" assembly="MECF.Framework.RT.EquipmentLibrary">
+		<IoAlarmSignal id="AlarmSignalSensorBreak"			diSignalsplay="SensorBreakAlarm"				diSignal="DI_SensorBreakAlarm"			alarmTrigValue="true"/>
+		<IoAlarmSignal id="AlarmSignalTempOutRange"			diSignalsplay="TempOutRangeAlarm"				diSignal="DI_TempOutRangeAlarm"			alarmTrigValue="true"/>
+		<IoAlarmSignal id="AlarmSignalCLN"		diSignalsplay="CLNAlarm"			diSignal="DI_CLNAlarm"		alarmTrigValue="true"/>
+	</IoAlarmSignals>
+	<IoTriggers >
+		<IoTrigger id="TrigPowerOn" display="" schematicId="" unit="" doTrigger="DO_PowerOn"/>
+	</IoTriggers>-->
+
+</DeviceModelDefine>

File diff suppressed because it is too large
+ 2 - 2
Branch/NTP02/Furnace/FurnaceRT/Config/IO/NTP02/DeviceModelPM.xml


+ 73 - 9
Branch/NTP02/Furnace/FurnaceRT/Config/IO/NTP02/IoProviderConfig.xml

@@ -13,15 +13,79 @@
 		</Blocks>
 	</IoProvider>
 
-	<!--<IoProvider load_condition="2" module="System" name="Heater" map_module="Heater" map_file="_ioDefineHeater.xml" class="FurnaceRT.Equipments.Systems.ModbusTCP" assembly="FurnaceRT"  >
-		<Parameter ip="192.168.250.15" port="502" station_id="1"
+  <IoProvider load_condition="2" module="System" name="Heater" map_module="Heater" map_file="_ioDefineHeater.xml" class="FurnaceRT.Equipments.Systems.ModbusTCP" assembly="FurnaceRT"  >
+    <Parameter ip="192.168.250.15" port="502" station_id="1"
 				   doStartAddress="15500" diStartAddress="15660" aoStartAddress="15520" aiStartAddress="15682"/>
-		<Blocks>
-			<Block type="di" offset="0" size="20" value_type=""></Block>
-			<Block type="do" offset="0" size="30" value_type=""></Block>
-			<Block type="ai" offset="0" size="100" value_type="float"></Block>
-			<Block type="ao" offset="0" size="120" value_type="float"></Block>
-		</Blocks>
-	</IoProvider>-->
+    <Blocks>
+      <Block type="di" offset="0" size="20" value_type=""></Block>
+      <Block type="do" offset="0" size="30" value_type=""></Block>
+      <Block type="ai" offset="0" size="100" value_type="float"></Block>
+      <Block type="ao" offset="0" size="120" value_type="float"></Block>
+    </Blocks>
+  </IoProvider>
+
+  <IoProvider load_condition="2" module="System" name="GasLine1" map_module="GasLine1" map_file="_ioDefineGasLine.xml" class="FurnaceRT.Equipments.Systems.ModbusTCP" assembly="FurnaceRT"  >
+    <Parameter ip="192.168.250.11" port="502" station_id="1" interval="1000"
+				   doStartAddress="15756" diStartAddress="15564" aoStartAddress="15628" aiStartAddress="15500"/>
+    <Blocks>
+      <Block type="di" offset="0" size="40" value_type=""></Block>
+      <Block type="do" offset="0" size="100" value_type=""></Block>
+      <Block type="ai" offset="0" size="200" value_type="float"></Block>
+      <Block type="ao" offset="0" size="240" value_type="float"></Block>
+    </Blocks>
+  </IoProvider>
+
+  <IoProvider load_condition="2" module="System" name="GasLine2" map_module="GasLine2" map_file="_ioDefineGasLine.xml" class="FurnaceRT.Equipments.Systems.ModbusTCP" assembly="FurnaceRT"  >
+    <Parameter ip="192.168.250.12" port="502" station_id="1" interval="1000"
+				  doStartAddress="15756" diStartAddress="15564" aoStartAddress="15628" aiStartAddress="15500"/>
+    <Blocks>
+      <Block type="di" offset="0" size="40" value_type=""></Block>
+      <Block type="do" offset="0" size="100" value_type=""></Block>
+      <Block type="ai" offset="0" size="200" value_type="float"></Block>
+      <Block type="ao" offset="0" size="240" value_type="float"></Block>
+    </Blocks>
+  </IoProvider>
+  <IoProvider load_condition="2" module="System" name="GasLine3" map_module="GasLine3" map_file="_ioDefineGasLine.xml" class="FurnaceRT.Equipments.Systems.ModbusTCP" assembly="FurnaceRT"  >
+    <Parameter ip="192.168.250.13" port="502" station_id="1" interval="1000"
+				   doStartAddress="15756" diStartAddress="15564" aoStartAddress="15628" aiStartAddress="15500"/>
+    <Blocks>
+      <Block type="di" offset="0" size="40" value_type=""></Block>
+      <Block type="do" offset="0" size="100" value_type=""></Block>
+      <Block type="ai" offset="0" size="200" value_type="float"></Block>
+      <Block type="ao" offset="0" size="240" value_type="float"></Block>
+    </Blocks>
+  </IoProvider>
+  <IoProvider load_condition="2" module="System" name="GasLine4" map_module="GasLine4" map_file="_ioDefineGasLine.xml" class="FurnaceRT.Equipments.Systems.ModbusTCP" assembly="FurnaceRT"  >
+    <Parameter ip="192.168.250.14" port="502" station_id="1" interval="1000"
+				   doStartAddress="15756" diStartAddress="15564" aoStartAddress="15628" aiStartAddress="15500"/>
+    <Blocks>
+      <Block type="di" offset="0" size="40" value_type=""></Block>
+      <Block type="do" offset="0" size="100" value_type=""></Block>
+      <Block type="ai" offset="0" size="200" value_type="float"></Block>
+      <Block type="ao" offset="0" size="240" value_type="float"></Block>
+    </Blocks>
+  </IoProvider>
+  <IoProvider load_condition="2" module="System" name="GasLine6" map_module="GasLine6" map_file="_ioDefineGasLine.xml" class="FurnaceRT.Equipments.Systems.ModbusTCP" assembly="FurnaceRT"  >
+    <Parameter ip="192.168.250.16" port="502" station_id="1" interval="1000"
+				   doStartAddress="15756" diStartAddress="15564" aoStartAddress="15628" aiStartAddress="15500"/>
+    <Blocks>
+      <Block type="di" offset="0" size="40" value_type=""></Block>
+      <Block type="do" offset="0" size="100" value_type=""></Block>
+      <Block type="ai" offset="0" size="200" value_type="float"></Block>
+      <Block type="ao" offset="0" size="240" value_type="float"></Block>
+    </Blocks>
+  </IoProvider>
+  <!--<IoProvider load_condition="2" module="System" name="GasLine7" map_module="GasLine7" map_file="_ioDefineGasLine.xml" class="FurnaceRT.Equipments.Systems.ModbusTCP" assembly="FurnaceRT"  >
+    <Parameter ip="192.168.250.17" port="502" station_id="1" interval="1000"
+				    doStartAddress="15756" diStartAddress="15564" aoStartAddress="15628" aiStartAddress="15500"/>
+    <Blocks>
+      <Block type="di" offset="0" size="40" value_type=""></Block>
+      <Block type="do" offset="0" size="100" value_type=""></Block>
+      <Block type="ai" offset="0" size="200" value_type="float"></Block>
+      <Block type="ao" offset="0" size="240" value_type="float"></Block>
+    </Blocks>
+  </IoProvider>-->
+  
+	
 
 </IoProviders>

+ 176 - 0
Branch/NTP02/Furnace/FurnaceRT/Config/IO/NTP02/_ioDefineGasLine.xml

@@ -0,0 +1,176 @@
+<?xml version="1.0"?>
+<IO_DEFINE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Dig_In>
+    <DI_ITEM Index="0"	Name="DI_CH1AlarmOutput" BufferOffset="0"	Addr="15564"	Description="CH1 Alarm Output"/>
+    <DI_ITEM Index="1"	Name="DI_CH2AlarmOutput" BufferOffset="1"	Addr="15565"	Description="CH2 Alarm Output"/>
+    <DI_ITEM Index="2"	Name="DI_CH3AlarmOutput" BufferOffset="2"	Addr="15566"	Description="CH3 Alarm Output"/>
+    <DI_ITEM Index="3"	Name="DI_CH4AlarmOutput" BufferOffset="3"	Addr="15567"	Description="CH4 Alarm Output"/>
+    <DI_ITEM Index="4"	Name="DI_CH5AlarmOutput" BufferOffset="4"	Addr="15568"	Description="CH5 Alarm Output"/>
+    <DI_ITEM Index="5"	Name="DI_CH6AlarmOutput" BufferOffset="5"	Addr="15569"	Description="CH6 Alarm Output"/>
+    <DI_ITEM Index="6"	Name="DI_CH7AlarmOutput" BufferOffset="6"	Addr="15570"	Description="CH7 Alarm Output"/>
+    <DI_ITEM Index="7"	Name="DI_CH8AlarmOutput" BufferOffset="7"	Addr="15571"	Description="CH8 Alarm Output"/>
+    <DI_ITEM Index="8"	Name="DI_CH9AlarmOutput" BufferOffset="8"	Addr="15572"	Description="CH9 Alarm Output"/>
+    <DI_ITEM Index="9"	Name="DI_CH10AlarmOutput" BufferOffset="9"	Addr="15573"	Description="CH10 Alarm Output"/>
+    <DI_ITEM Index="10"	Name="DI_CH11AlarmOutput" BufferOffset="10"	Addr="15574"	Description="CH11 Alarm Output"/>
+    <DI_ITEM Index="11"	Name="DI_CH12AlarmOutput" BufferOffset="11"	Addr="15575"	Description="CH12 Alarm Output"/>
+    <DI_ITEM Index="12"	Name="DI_CH13AlarmOutput" BufferOffset="12"	Addr="15576"	Description="CH13 Alarm Output"/>
+    <DI_ITEM Index="13"	Name="DI_CH14AlarmOutput" BufferOffset="13"	Addr="15577"	Description="CH14 Alarm Output"/>
+    <DI_ITEM Index="14"	Name="DI_CH15AlarmOutput" BufferOffset="14"	Addr="15578"	Description="CH15 Alarm Output"/>
+    <DI_ITEM Index="15"	Name="DI_CH16AlarmOutput" BufferOffset="15"	Addr="15579"	Description="CH16 Alarm Output"/>
+    <DI_ITEM Index="32"	Name="DI_SensorBreakAlarm" BufferOffset="32" Addr="15596"	Description="Sensor Break Alarm"/>
+    <DI_ITEM Index="34"	Name="DI_TempOutRangeAlarm" BufferOffset="34" Addr="15598"	Description="Temp Out Range Alarm"/>
+    <DI_ITEM Index="36"	Name="DI_CLNAlarm" BufferOffset="36"	Addr="15600"	Description="CLN Alarm"/>
+  </Dig_In>
+  <Dig_Out>
+    <DO_ITEM Index="0"	Name="DO_CH1OutRangeAlarmInhibit" BufferOffset="0"	Addr="15756"	Description="CH1 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="1"	Name="DO_CH2OutRangeAlarmInhibit" BufferOffset="1"	Addr="15757"	Description="CH2 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="2"	Name="DO_CH3OutRangeAlarmInhibit" BufferOffset="2"	Addr="15758"	Description="CH3 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="3"	Name="DO_CH4OutRangeAlarmInhibit" BufferOffset="3"	Addr="15759"	Description="CH4 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="4"	Name="DO_CH5OutRangeAlarmInhibit" BufferOffset="4"	Addr="15760"	Description="CH5 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="5"	Name="DO_CH6OutRangeAlarmInhibit" BufferOffset="5"	Addr="15761"	Description="CH6 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="6"	Name="DO_CH7OutRangeAlarmInhibit" BufferOffset="6"	Addr="15762"	Description="CH7 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="7"	Name="DO_CH8OutRangeAlarmInhibit" BufferOffset="7"	Addr="15763"	Description="CH8 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="8"	Name="DO_CH9OutRangeAlarmInhibit" BufferOffset="8"	Addr="15764"	Description="CH9 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="9"	Name="DO_CH10OutRangeAlarmInhibit" BufferOffset="9" Addr="15765"	Description="CH10 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="10"	Name="DO_CH11OutRangeAlarmInhibit" BufferOffset="10" Addr="15766"	Description="CH11 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="11"	Name="DO_CH12OutRangeAlarmInhibit" BufferOffset="11" Addr="15767"	Description="CH12 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="12"	Name="DO_CH13OutRangeAlarmInhibit" BufferOffset="12" Addr="15768"	Description="CH13 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="13"	Name="DO_CH14OutRangeAlarmInhibit" BufferOffset="13" Addr="15769"	Description="CH14 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="14"	Name="DO_CH15OutRangeAlarmInhibit" BufferOffset="14" Addr="15770"	Description="CH15 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="15"	Name="DO_CH16OutRangeAlarmInhibit" BufferOffset="15" Addr="15771"	Description="CH16 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="16"	Name="DO_CH1F2CLNAlarmInhibit" BufferOffset="16"	Addr="15772"	Description="CH1 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="17"	Name="DO_CH2F2CLNAlarmInhibit" BufferOffset="17"	Addr="15773"	Description="CH2 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="18"	Name="DO_CH3F2CLNAlarmInhibit" BufferOffset="18"	Addr="15774"	Description="CH3 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="19"	Name="DO_CH4F2CLNAlarmInhibit" BufferOffset="19"	Addr="15775"	Description="CH4 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="20"	Name="DO_CH5F2CLNAlarmInhibit" BufferOffset="20"	Addr="15776"	Description="CH5 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="21"	Name="DO_CH6F2CLNAlarmInhibit" BufferOffset="21"	Addr="15777"	Description="CH6 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="22"	Name="DO_CH7F2CLNAlarmInhibit" BufferOffset="22"	Addr="15778"	Description="CH7 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="23"	Name="DO_CH8F2CLNAlarmInhibit" BufferOffset="23"	Addr="15779"	Description="CH8 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="24"	Name="DO_CH9F2CLNAlarmInhibit" BufferOffset="24"	Addr="15780"	Description="CH9 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="25"	Name="DO_CH10F2CLNAlarmInhibit" BufferOffset="25" Addr="15781"	Description="CH10 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="26"	Name="DO_CH11F2CLNAlarmInhibit" BufferOffset="26" Addr="15782"	Description="CH11 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="27"	Name="DO_CH12F2CLNAlarmInhibit" BufferOffset="27" Addr="15783"	Description="CH12 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="28"	Name="DO_CH13F2CLNAlarmInhibit" BufferOffset="28" Addr="15784"	Description="CH13 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="29"	Name="DO_CH14F2CLNAlarmInhibit" BufferOffset="29" Addr="15785"	Description="CH14 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="30"	Name="DO_CH15F2CLNAlarmInhibit" BufferOffset="30" Addr="15786"	Description="CH15 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="31"	Name="DO_CH16F2CLNAlarmInhibit" BufferOffset="31" Addr="15787"	Description="CH16 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="32"	Name="DO_CH1ChannelInhibit" BufferOffset="32"	Addr="15788"	Description="CH1 Channe lInhibit"/>
+    <DO_ITEM Index="33"	Name="DO_CH2ChannelInhibit" BufferOffset="33"	Addr="15789"	Description="CH2 Channe lInhibit"/>
+    <DO_ITEM Index="34"	Name="DO_CH3ChannelInhibit" BufferOffset="34"	Addr="15790"	Description="CH3 Channe lInhibit"/>
+    <DO_ITEM Index="35"	Name="DO_CH4ChannelInhibit" BufferOffset="35"	Addr="15791"	Description="CH4 Channe lInhibit"/>
+    <DO_ITEM Index="36" Name="DO_CH5ChannelInhibit" BufferOffset="36" Addr="15792"	Description="CH5 Channe lInhibit"/>
+    <DO_ITEM Index="37" Name="DO_CH6ChannelInhibit" BufferOffset="37" Addr="15793"	Description="CH6 Channe lInhibit"/>
+    <DO_ITEM Index="38" Name="DO_CH7ChannelInhibit" BufferOffset="38" Addr="15794"	Description="CH7 Channe lInhibit"/>
+    <DO_ITEM Index="39" Name="DO_CH8ChannelInhibit" BufferOffset="39" Addr="15795"	Description="CH8 Channe lInhibit"/>
+    <DO_ITEM Index="40" Name="DO_CH9ChannelInhibit" BufferOffset="40" Addr="15796"	Description="CH9 Channe lInhibit"/>
+    <DO_ITEM Index="41" Name="DO_CH10ChannelInhibit" BufferOffset="41" Addr="15797"	Description="CH10 Channe lInhibit"/>
+    <DO_ITEM Index="42" Name="DO_CH11ChannelInhibit" BufferOffset="42" Addr="15798"	Description="CH11 Channe lInhibit"/>
+    <DO_ITEM Index="43" Name="DO_CH12ChannelInhibit" BufferOffset="43" Addr="15799"	Description="CH12 Channe lInhibit"/>
+    <DO_ITEM Index="44" Name="DO_CH13ChannelInhibit" BufferOffset="44" Addr="15800"	Description="CH13 Channe lInhibit"/>
+    <DO_ITEM Index="45" Name="DO_CH14ChannelInhibit" BufferOffset="45" Addr="15801"	Description="CH14 Channe lInhibit"/>
+    <DO_ITEM Index="46" Name="DO_CH15ChannelInhibit" BufferOffset="46" Addr="15802"	Description="CH15 Channe lInhibit"/>
+    <DO_ITEM Index="47" Name="DO_CH16ChannelInhibit" BufferOffset="47" Addr="15803"	Description="CH16 Channe lInhibit"/>
+    <DO_ITEM Index="48" Name="DO_PowerOn" BufferOffset="48" Addr="15804"	Description="Power On"/>
+  </Dig_Out>
+  <Ana_In>
+    <AI_ITEM Index="0"	Name="AI_CH1PV"	BufferOffset="0"	Addr="15500"	Description="CH1 PV" />
+    <AI_ITEM Index="2"	Name="AI_CH2PV"	BufferOffset="2"	Addr="15502"	Description="CH2 PV" />
+    <AI_ITEM Index="4"	Name="AI_CH3PV"	BufferOffset="4"	Addr="15504"	Description="CH3 PV" />
+    <AI_ITEM Index="6"	Name="AI_CH4PV"	BufferOffset="6"	Addr="15506"	Description="CH4 PV" />
+    <AI_ITEM Index="8"	Name="AI_CH5PV"	BufferOffset="8"	Addr="15508"	Description="CH5 PV" />
+    <AI_ITEM Index="10"	Name="AI_CH6PV"	BufferOffset="10"	Addr="15510"	Description="CH6 PV" />
+    <AI_ITEM Index="12"	Name="AI_CH7PV"	BufferOffset="12"	Addr="15512"	Description="CH7 PV" />
+    <AI_ITEM Index="14"	Name="AI_CH8PV"	BufferOffset="14"	Addr="15514"	Description="CH8 PV" />
+    <AI_ITEM Index="16"	Name="AI_CH9PV"	BufferOffset="16"	Addr="15516"	Description="CH9 PV" />
+    <AI_ITEM Index="18"	Name="AI_CH10PV" BufferOffset="18"	Addr="15518"	Description="CH10 PV" />
+    <AI_ITEM Index="20"	Name="AI_CH11PV" BufferOffset="20"	Addr="15520"	Description="CH11 PV" />
+    <AI_ITEM Index="22"	Name="AI_CH12PV" BufferOffset="22"	Addr="15522"	Description="CH12 PV" />
+    <AI_ITEM Index="24"	Name="AI_CH13PV" BufferOffset="24"	Addr="15524"	Description="CH13 PV" />
+    <AI_ITEM Index="26"	Name="AI_CH14PV" BufferOffset="26"	Addr="15526"	Description="CH14 PV" />
+    <AI_ITEM Index="28"	Name="AI_CH15PV" BufferOffset="28"	Addr="15528"	Description="CH15 PV" />
+    <AI_ITEM Index="30"	Name="AI_CH16PV" BufferOffset="30"	Addr="15530"	Description="CH16 PV" />
+    <AI_ITEM Index="32"	Name="AI_CH1WorkingOutput" BufferOffset="32"	Addr="15532"	Description="CH1 Working Output"/>
+    <AI_ITEM Index="34"	Name="AI_CH2WorkingOutput" BufferOffset="34"	Addr="15534"	Description="CH2 Working Output"/>
+    <AI_ITEM Index="36"	Name="AI_CH3WorkingOutput" BufferOffset="36"	Addr="15536"	Description="CH3 Working Output"/>
+    <AI_ITEM Index="38"	Name="AI_CH4WorkingOutput" BufferOffset="38"	Addr="15538"	Description="CH4 Working Output"/>
+    <AI_ITEM Index="40"	Name="AI_CH5WorkingOutput" BufferOffset="40"	Addr="15540"	Description="CH5 Working Output"/>
+    <AI_ITEM Index="42"	Name="AI_CH6WorkingOutput" BufferOffset="42"	Addr="15542"	Description="CH6 Working Output"/>
+    <AI_ITEM Index="44"	Name="AI_CH7WorkingOutput" BufferOffset="44"	Addr="15544"	Description="CH7 Working Output"/>
+    <AI_ITEM Index="46"	Name="AI_CH8WorkingOutput" BufferOffset="46"	Addr="15546"	Description="CH8 Working Output"/>
+    <AI_ITEM Index="48"	Name="AI_CH9WorkingOutput" BufferOffset="48"	Addr="15548"	Description="CH9 Working Output"/>
+    <AI_ITEM Index="50"	Name="AI_CH10WorkingOutput" BufferOffset="50"	Addr="15550"	Description="CH10 Working Output"/>
+    <AI_ITEM Index="52"	Name="AI_CH11WorkingOutput" BufferOffset="52"	Addr="15552"	Description="CH11 Working Output"/>
+    <AI_ITEM Index="54"	Name="AI_CH12WorkingOutput" BufferOffset="54"	Addr="15554"	Description="CH12 Working Output"/>
+    <AI_ITEM Index="56"	Name="AI_CH13WorkingOutput" BufferOffset="56"	Addr="15556"	Description="CH13 Working Output"/>
+    <AI_ITEM Index="58"	Name="AI_CH14WorkingOutput" BufferOffset="58"	Addr="15558"	Description="CH14 Working Output"/>
+    <AI_ITEM Index="60"	Name="AI_CH15WorkingOutput" BufferOffset="60"	Addr="15560"	Description="CH15 Working Output"/>
+    <AI_ITEM Index="62"	Name="AI_CH16WorkingOutput" BufferOffset="62"	Addr="15562"	Description="CH16 Working Output"/>
+  </Ana_In>
+  <Ana_Out>
+    <AO_ITEM Index="0"	Name="AO_CH1SV" BufferOffset="0"	Addr="15628"	Description="CH1 SV"/>
+    <AO_ITEM Index="2"	Name="AO_CH2SV" BufferOffset="2"	Addr="15630"	Description="CH2 SV"/>
+    <AO_ITEM Index="4"	Name="AO_CH3SV" BufferOffset="4"	Addr="15632"	Description="CH3 SV"/>
+    <AO_ITEM Index="6"	Name="AO_CH4SV" BufferOffset="6"	Addr="15634"	Description="CH4 SV"/>
+    <AO_ITEM Index="8"	Name="AO_CH5SV" BufferOffset="8"	Addr="15636"	Description="CH5 SV"/>
+    <AO_ITEM Index="10"	Name="AO_CH6SV" BufferOffset="10"	Addr="15638"	Description="CH6 SV"/>
+    <AO_ITEM Index="12"	Name="AO_CH7SV" BufferOffset="12"	Addr="15640"	Description="CH7 SV"/>
+    <AO_ITEM Index="14"	Name="AO_CH8SV"	BufferOffset="14"	Addr="15642"	Description="CH8 SV"/>
+    <AO_ITEM Index="16"	Name="AO_CH9SV"	BufferOffset="16"	Addr="15644"	Description="CH9 SV"/>
+    <AO_ITEM Index="18"	Name="AO_CH10SV" BufferOffset="18"	Addr="15646"	Description="CH10 SV"/>
+    <AO_ITEM Index="20"	Name="AO_CH11SV" BufferOffset="20"	Addr="15648"	Description="CH11 SV"/>
+    <AO_ITEM Index="22"	Name="AO_CH12SV" BufferOffset="22"	Addr="15650"	Description="CH12 SV"/>
+    <AO_ITEM Index="24"	Name="AO_CH13SV" BufferOffset="24"	Addr="15652"	Description="CH13 SV"/>
+    <AO_ITEM Index="26"	Name="AO_CH14SV" BufferOffset="26"	Addr="15654"	Description="CH14 SV"/>
+    <AO_ITEM Index="28"	Name="AO_CH15SV" BufferOffset="28"	Addr="15656"	Description="CH15 SV"/>
+    <AO_ITEM Index="30"	Name="AO_CH16SV" BufferOffset="30"	Addr="15658"	Description="CH16 SV" />
+    <AO_ITEM Index="32"	Name="AO_CH1SensorBreakAlarmInhibit" BufferOffset="32"	Addr="15660"	Description="CH1 sensor break alarm inhibit"/>
+    <AO_ITEM Index="34"	Name="AO_CH2SensorBreakAlarmInhibit" BufferOffset="34"	Addr="15662"	Description="CH2 sensor break alarm inhibit"/>
+    <AO_ITEM Index="36"	Name="AO_CH3SensorBreakAlarmInhibit" BufferOffset="36"	Addr="15664"	Description="CH3 sensor break alarm inhibit"/>
+    <AO_ITEM Index="38"	Name="AO_CH4SensorBreakAlarmInhibit" BufferOffset="38"	Addr="15666"	Description="CH4 sensor break alarm inhibit"/>
+    <AO_ITEM Index="40"	Name="AO_CH5SensorBreakAlarmInhibit" BufferOffset="40"	Addr="15668"	Description="CH5 sensor break alarm inhibit"/>
+    <AO_ITEM Index="42"	Name="AO_CH6SensorBreakAlarmInhibit" BufferOffset="42"	Addr="15670"	Description="CH6 sensor break alarm inhibit"/>
+    <AO_ITEM Index="44"	Name="AO_CH7SensorBreakAlarmInhibit" BufferOffset="44"	Addr="15672"	Description="CH7 sensor break alarm inhibit"/>
+    <AO_ITEM Index="46"	Name="AO_CH8SensorBreakAlarmInhibit" BufferOffset="46"	Addr="15674"	Description="CH8 sensor break alarm inhibit"/>
+    <AO_ITEM Index="48"	Name="AO_CH9SensorBreakAlarmInhibit" BufferOffset="48"	Addr="15676"	Description="CH9 sensor break alarm inhibit"/>
+    <AO_ITEM Index="50"	Name="AO_CH10SensorBreakAlarmInhibit" BufferOffset="50"	Addr="15678"	Description="CH10 sensor break alarm inhibit"/>
+    <AO_ITEM Index="52"	Name="AO_CH11SensorBreakAlarmInhibit" BufferOffset="52"	Addr="15680"	Description="CH11 sensor break alarm inhibit"/>
+    <AO_ITEM Index="54"	Name="AO_CH12SensorBreakAlarmInhibit" BufferOffset="54"	Addr="15682"	Description="CH12 sensor break alarm inhibit"/>
+    <AO_ITEM Index="56"	Name="AO_CH13SensorBreakAlarmInhibit" BufferOffset="56"	Addr="15684"	Description="CH13 sensor break alarm inhibit"/>
+    <AO_ITEM Index="58"	Name="AO_CH14SensorBreakAlarmInhibit" BufferOffset="58"	Addr="15686"	Description="CH14 sensor break alarm inhibit"/>
+    <AO_ITEM Index="60"	Name="AO_CH15SensorBreakAlarmInhibit" BufferOffset="60"	Addr="15688"	Description="CH15 sensor break alarm inhibit"/>
+    <AO_ITEM Index="62"	Name="AO_CH16SensorBreakAlarmInhibit" BufferOffset="62"	Addr="15690"	Description="CH16 sensor break alarm inhibit" />
+    <AO_ITEM Index="64"	Name="AO_CH1AlarmHigherPoint" BufferOffset="64"	Addr="15692"	Description="CH1 Alarm Higher Point"/>
+    <AO_ITEM Index="66"	Name="AO_CH2AlarmHigherPoint" BufferOffset="66"	Addr="15694"	Description="CH2 Alarm Higher Point"/>
+    <AO_ITEM Index="68"	Name="AO_CH3AlarmHigherPoint" BufferOffset="68"	Addr="15696"	Description="CH3 Alarm Higher Point"/>
+    <AO_ITEM Index="70"	Name="AO_CH4AlarmHigherPoint" BufferOffset="70"	Addr="15698"	Description="CH4 Alarm Higher Point"/>
+    <AO_ITEM Index="72"	Name="AO_CH5AlarmHigherPoint" BufferOffset="72"	Addr="15700"	Description="CH5 Alarm Higher Point"/>
+    <AO_ITEM Index="74"	Name="AO_CH6AlarmHigherPoint" BufferOffset="74"	Addr="15702"	Description="CH6 Alarm Higher Point"/>
+    <AO_ITEM Index="76"	Name="AO_CH7AlarmHigherPoint" BufferOffset="76"	Addr="15704"	Description="CH7 Alarm Higher Point"/>
+    <AO_ITEM Index="78"	Name="AO_CH8AlarmHigherPoint" BufferOffset="78"	Addr="15706"	Description="CH8 Alarm Higher Point"/>
+    <AO_ITEM Index="80"	Name="AO_CH9AlarmHigherPoint" BufferOffset="80"	Addr="15708"	Description="CH9 Alarm Higher Point"/>
+    <AO_ITEM Index="82"	Name="AO_CH10AlarmHigherPoint" BufferOffset="82" Addr="15710"	Description="CH10 Alarm Higher Point"/>
+    <AO_ITEM Index="84"	Name="AO_CH11AlarmHigherPoint" BufferOffset="84" Addr="15712"	Description="CH11 Alarm Higher Point"/>
+    <AO_ITEM Index="86"	Name="AO_CH12AlarmHigherPoint" BufferOffset="86" Addr="15714"	Description="CH12 Alarm Higher Point"/>
+    <AO_ITEM Index="88"	Name="AO_CH13AlarmHigherPoint" BufferOffset="88" Addr="15716"	Description="CH13 Alarm Higher Point"/>
+    <AO_ITEM Index="90"	Name="AO_CH14AlarmHigherPoint" BufferOffset="90" Addr="15718"	Description="CH14 Alarm Higher Point"/>
+    <AO_ITEM Index="92"	Name="AO_CH15AlarmHigherPoint" BufferOffset="92" Addr="15720"	Description="CH15 Alarm Higher Point"/>
+    <AO_ITEM Index="94"	Name="AO_CH16AlarmHigherPoint" BufferOffset="94" Addr="15722"	Description="CH16 Alarm Higher Point"/>
+    <AO_ITEM Index="96"	Name="AO_CH1AlarmLowerPoint" BufferOffset="96"	Addr="15724"	Description="CH1 Alarm Lower Point"/>
+    <AO_ITEM Index="98"	Name="AO_CH2AlarmLowerPoint" BufferOffset="98"	Addr="15726"	Description="CH2 Alarm Lower Point"/>
+    <AO_ITEM Index="100"	Name="AO_CH3AlarmLowerPoint" BufferOffset="100"	Addr="15728"	Description="CH3 Alarm Lower Point"/>
+    <AO_ITEM Index="102"	Name="AO_CH4AlarmLowerPoint" BufferOffset="102"	Addr="15730"	Description="CH4 Alarm Lower Point"/>
+    <AO_ITEM Index="104"	Name="AO_CH5AlarmLowerPoint" BufferOffset="104"	Addr="15732"	Description="CH5 Alarm Lower Point"/>
+    <AO_ITEM Index="106"	Name="AO_CH6AlarmLowerPoint" BufferOffset="106"	Addr="15734"	Description="CH6 Alarm Lower Point"/>
+    <AO_ITEM Index="108"	Name="AO_CH7AlarmLowerPoint" BufferOffset="108"	Addr="15736"	Description="CH7 Alarm Lower Point"/>
+    <AO_ITEM Index="110"	Name="AO_CH8AlarmLowerPoint" BufferOffset="110"	Addr="15738"	Description="CH8 Alarm Lower Point"/>
+    <AO_ITEM Index="112"	Name="AO_CH9AlarmLowerPoint" BufferOffset="112"	Addr="15740"	Description="CH9 Alarm Lower Point"/>
+    <AO_ITEM Index="114"	Name="AO_CH10AlarmLowerPoint" BufferOffset="114" Addr="15742"	Description="CH10 Alarm Lower Point"/>
+    <AO_ITEM Index="116"	Name="AO_CH11AlarmLowerPoint" BufferOffset="116" Addr="15744"	Description="CH11 Alarm Lower Point"/>
+    <AO_ITEM Index="118"	Name="AO_CH12AlarmLowerPoint" BufferOffset="118" Addr="15746"	Description="CH12 Alarm Lower Point"/>
+    <AO_ITEM Index="120"	Name="AO_CH13AlarmLowerPoint" BufferOffset="120" Addr="15748"	Description="CH13 Alarm Lower Point"/>
+    <AO_ITEM Index="122"	Name="AO_CH14AlarmLowerPoint" BufferOffset="122" Addr="15750"	Description="CH14 Alarm Lower Point"/>
+    <AO_ITEM Index="124"	Name="AO_CH15AlarmLowerPoint" BufferOffset="124" Addr="15752"	Description="CH15 Alarm Lower Point"/>
+    <AO_ITEM Index="126"	Name="AO_CH16AlarmLowerPoint" BufferOffset="126" Addr="15754"	Description="CH16 Alarm Lower Point"/>
+    <AO_ITEM Index="226" Name="AO_RecipeChange" BufferOffset="226" Addr="15854"	Description="Recipe Change"/>
+  </Ana_Out>
+</IO_DEFINE>

+ 10 - 10
Branch/NTP02/Furnace/FurnaceRT/Equipments/Systems/ModbusTCP.cs

@@ -65,7 +65,7 @@ namespace FurnaceRT.Equipments.Systems
 
             _enableLog = SC.GetValue<bool>($"System.ModbusCommunicationEnableLogMessage");
             OP.Subscribe($"Sysytem.{Name}.ModbusPLC", InvokeReset);
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
             {
                 _wcfPlc = new WcfPlc("System", Name, $"WcfPlc_{Name}");
                 _wcfPlc.Initialize();
@@ -244,7 +244,7 @@ namespace FurnaceRT.Equipments.Systems
 
             if (!_trigConnected.M)
             {
-                if (SC.GetValue<bool>("System.IsSimulatorMode"))
+                if (!SC.GetValue<bool>("System.IsSimulatorMode"))
                 {
                     Close();
                     Open();
@@ -267,7 +267,7 @@ namespace FurnaceRT.Equipments.Systems
         protected override bool[] ReadDi(int offset, int size)
         {
 
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
             {
                 int address = offset + _aiStartAddress;
                 var ret = _wcfPlc.ReadBool(address.ToString(), out bool[] data, size, out _);
@@ -356,7 +356,7 @@ namespace FurnaceRT.Equipments.Systems
 
         protected override float[] ReadAiFloat(int offset, int size)
         {
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
             {
                 int address = offset + _aiStartAddress;
                 var ret = _wcfPlc.ReadFloat(address.ToString(), out float[] data, size, out _);
@@ -435,7 +435,7 @@ namespace FurnaceRT.Equipments.Systems
         protected bool[] ReadDo(int offset, int size)
         {
 
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
             {
                 return null;
             }
@@ -501,7 +501,7 @@ namespace FurnaceRT.Equipments.Systems
         protected override short[] ReadAi(int offset, int size)
         {
 
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
             {
                 int address = offset + _aiStartAddress;
                 var ret = _wcfPlc.ReadInt16(address.ToString(), out short[] data, size, out _);
@@ -580,7 +580,7 @@ namespace FurnaceRT.Equipments.Systems
         protected float[] ReadAoFloat(int offset, int size)
         {
 
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
             {
                 return null;
             }
@@ -653,7 +653,7 @@ namespace FurnaceRT.Equipments.Systems
 
         protected short[] ReadAo(int offset, int size)
         {
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
             {
                 return null;
             }
@@ -726,7 +726,7 @@ namespace FurnaceRT.Equipments.Systems
 
         public override bool SetValueFloat(AOAccessor aoItem, float value)
         {
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
                 return true;
 
             if (!_trigConnected.M)
@@ -760,7 +760,7 @@ namespace FurnaceRT.Equipments.Systems
 
         public override bool SetValue(DOAccessor doItem, bool value)
         {
-            if (!SC.GetValue<bool>("System.IsSimulatorMode"))
+            if (SC.GetValue<bool>("System.IsSimulatorMode"))
                 return true;
 
             if (!_trigConnected.M)

+ 6 - 0
Branch/NTP02/Furnace/FurnaceRT/FurnaceRT.csproj

@@ -467,6 +467,12 @@
     <None Include="Config\IO\NTP02\_ioDefineHeater.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
+    <None Include="Config\IO\NTP02\DeviceModelGasLine.xml">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="Config\IO\NTP02\_ioDefineGasLine.xml">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
     <Content Include="Config\Parameter\AlarmCondition\ParameterFormat.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>

+ 11 - 8
Branch/NTP02/Furnace/FurnaceRT/Instances/ToolLoader.cs

@@ -58,7 +58,7 @@ namespace FurnaceRT.Instances
                 , RtInstance.DatabaseName
                 , PathManager.GetCfgDir() + "DBModel.sql");
 
-          
+
             Singleton<OperationManager>.Instance.Initialize();
 
             Singleton<DataManager>.Instance.Initialize();
@@ -81,7 +81,7 @@ namespace FurnaceRT.Instances
             ConnectionManager.Instance.Initialize();
 
             string ioProviderPathFile = PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\IoProviderConfig.xml";
- 
+
             IoProviderManager.Instance.Initialize(ioProviderPathFile);
 
             WaferManager.Instance.Initialize();
@@ -90,22 +90,25 @@ namespace FurnaceRT.Instances
             Singleton<DeviceManager>.Instance.DisableAsyncInitialize = true;
 
             Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelPM.xml", "Furnace", ModuleName.PM1, "PM1", false);
-            Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + "IO\\DeviceModelHeater.xml", "Furnace", ModuleName.System, "Heater", true);
-            if(SC.GetStringValue("System.SetUp.ToolType") == "ELK")
+          
+            if (SC.GetStringValue("System.SetUp.ToolType") == "ELK" || SC.GetStringValue("System.SetUp.ToolType") == "NTP02")
             {
                 Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine1", false);
                 Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine2", false);
                 Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine3", false);
                 Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine4", false);
-                Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine5", false);
                 Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine6", false);
-                Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine7", false);
+                if (SC.GetStringValue("System.SetUp.ToolType") == "ELK")
+                {
+                    Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine7", false);
+                }
                 //Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + $"IO\\{SC.GetStringValue("System.SetUp.ToolType")}\\DeviceModelGasLine.xml", "Furnace", ModuleName.PM1, "GasLine8", false);
             }
 
+            Singleton<DeviceManager>.Instance.Initialize(PathManager.GetCfgDir() + "IO\\DeviceModelHeater.xml", "Furnace", ModuleName.System, "Heater", true);
             Singleton<DeviceEntity>.Instance.Initialize();
 
-            
+
 
             RtSystemManager.Instance.AddCustomBackend("SC", new BackendSCConfigView());
             //RtSystemManager.Instance.AddCustomBackend("Tune Table", new BackendTuneView());
@@ -117,7 +120,7 @@ namespace FurnaceRT.Instances
             Singleton<FAJobController>.Instance.FAloadports["LP1"].SetAnyInheritILoadPortDevice(DEVICE.GetDevice<IoLP>("PM1." + ModuleName.LP1.ToString()));
             Singleton<FAJobController>.Instance.FAloadports["LP2"].SetAnyInheritILoadPortDevice(DEVICE.GetDevice<IoLP>("PM1." + ModuleName.LP2.ToString()));
 
-            if(DEVICE.GetDevice<E84Passiver>("LP1.Loadport1E84") != null)
+            if (DEVICE.GetDevice<E84Passiver>("LP1.Loadport1E84") != null)
                 DEVICE.GetDevice<E84Passiver>("LP1.Loadport1E84").Provider = Singleton<FAJobController>.Instance.FAloadports["LP1"];
             if (DEVICE.GetDevice<E84Passiver>("LP2.Loadport2E84") != null)
                 DEVICE.GetDevice<E84Passiver>("LP2.Loadport2E84").Provider = Singleton<FAJobController>.Instance.FAloadports["LP2"];

+ 176 - 0
Branch/NTP02/Furnace/FurnaceSimulator/Config/NTP02/_ioDefineGasLine.xml

@@ -0,0 +1,176 @@
+<?xml version="1.0"?>
+<IO_DEFINE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Dig_In>
+    <DI_ITEM Index="0"	Name="DI_CH1AlarmOutput" BufferOffset="0"	Addr="15393"	Description="CH1 Alarm Output"/>
+    <DI_ITEM Index="1"	Name="DI_CH2AlarmOutput" BufferOffset="1"	Addr="15394"	Description="CH2 Alarm Output"/>
+    <DI_ITEM Index="2"	Name="DI_CH3AlarmOutput" BufferOffset="2"	Addr="15395"	Description="CH3 Alarm Output"/>
+    <DI_ITEM Index="3"	Name="DI_CH4AlarmOutput" BufferOffset="3"	Addr="15396"	Description="CH4 Alarm Output"/>
+    <DI_ITEM Index="4"	Name="DI_CH5AlarmOutput" BufferOffset="4"	Addr="15397"	Description="CH5 Alarm Output"/>
+    <DI_ITEM Index="5"	Name="DI_CH6AlarmOutput" BufferOffset="5"	Addr="15398"	Description="CH6 Alarm Output"/>
+    <DI_ITEM Index="6"	Name="DI_CH7AlarmOutput" BufferOffset="6"	Addr="15399"	Description="CH7 Alarm Output"/>
+    <DI_ITEM Index="7"	Name="DI_CH8AlarmOutput" BufferOffset="7"	Addr="15400"	Description="CH8 Alarm Output"/>
+    <DI_ITEM Index="8"	Name="DI_CH9AlarmOutput" BufferOffset="8"	Addr="15401"	Description="CH9 Alarm Output"/>
+    <DI_ITEM Index="9"	Name="DI_CH10AlarmOutput" BufferOffset="9"	Addr="15402"	Description="CH10 Alarm Output"/>
+    <DI_ITEM Index="10"	Name="DI_CH11AlarmOutput" BufferOffset="10"	Addr="15403"	Description="CH11 Alarm Output"/>
+    <DI_ITEM Index="11"	Name="DI_CH12AlarmOutput" BufferOffset="11"	Addr="15404"	Description="CH12 Alarm Output"/>
+    <DI_ITEM Index="12"	Name="DI_CH13AlarmOutput" BufferOffset="12"	Addr="15405"	Description="CH13 Alarm Output"/>
+    <DI_ITEM Index="13"	Name="DI_CH14AlarmOutput" BufferOffset="13"	Addr="15406"	Description="CH14 Alarm Output"/>
+    <DI_ITEM Index="14"	Name="DI_CH15AlarmOutput" BufferOffset="14"	Addr="15407"	Description="CH15 Alarm Output"/>
+    <DI_ITEM Index="15"	Name="DI_CH16AlarmOutput" BufferOffset="15"	Addr="15408"	Description="CH16 Alarm Output"/>
+    <DI_ITEM Index="16"	Name="DI_SensorBreakAlarm" BufferOffset="16" Addr="15409"	Description="Sensor Break Alarm"/>
+    <DI_ITEM Index="17"	Name="DI_TempOutRangeAlarm" BufferOffset="17" Addr="15410"	Description="Temp Out Range Alarm"/>
+    <DI_ITEM Index="18"	Name="DI_CLNAlarm" BufferOffset="18"	Addr="15411"	Description="CLN Alarm"/>
+  </Dig_In>
+  <Dig_Out>
+    <DO_ITEM Index="0"	Name="DO_CH1OutRangeAlarmInhibit" BufferOffset="0"	Addr="15489"	Description="CH1 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="1"	Name="DO_CH2OutRangeAlarmInhibit" BufferOffset="1"	Addr="15490"	Description="CH2 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="2"	Name="DO_CH3OutRangeAlarmInhibit" BufferOffset="2"	Addr="15491"	Description="CH3 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="3"	Name="DO_CH4OutRangeAlarmInhibit" BufferOffset="3"	Addr="15492"	Description="CH4 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="4"	Name="DO_CH5OutRangeAlarmInhibit" BufferOffset="4"	Addr="15493"	Description="CH5 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="5"	Name="DO_CH6OutRangeAlarmInhibit" BufferOffset="5"	Addr="15494"	Description="CH6 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="6"	Name="DO_CH7OutRangeAlarmInhibit" BufferOffset="6"	Addr="15495"	Description="CH7 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="7"	Name="DO_CH8OutRangeAlarmInhibit" BufferOffset="7"	Addr="15496"	Description="CH8 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="8"	Name="DO_CH9OutRangeAlarmInhibit" BufferOffset="8"	Addr="15497"	Description="CH9 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="9"	Name="DO_CH10OutRangeAlarmInhibit" BufferOffset="9" Addr="15498"	Description="CH10 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="10"	Name="DO_CH11OutRangeAlarmInhibit" BufferOffset="10" Addr="15499"	Description="CH11 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="11"	Name="DO_CH12OutRangeAlarmInhibit" BufferOffset="11" Addr="15500"	Description="CH12 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="12"	Name="DO_CH13OutRangeAlarmInhibit" BufferOffset="12" Addr="15501"	Description="CH13 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="13"	Name="DO_CH14OutRangeAlarmInhibit" BufferOffset="13" Addr="15502"	Description="CH14 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="14"	Name="DO_CH15OutRangeAlarmInhibit" BufferOffset="14" Addr="15503"	Description="CH15 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="15"	Name="DO_CH16OutRangeAlarmInhibit" BufferOffset="15" Addr="15504"	Description="CH16 Out Range Alarm Inhibit"/>
+    <DO_ITEM Index="16"	Name="DO_CH1F2CLNAlarmInhibit" BufferOffset="16"	Addr="15505"	Description="CH1 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="17"	Name="DO_CH2F2CLNAlarmInhibit" BufferOffset="17"	Addr="15506"	Description="CH2 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="18"	Name="DO_CH3F2CLNAlarmInhibit" BufferOffset="18"	Addr="15507"	Description="CH3 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="19"	Name="DO_CH4F2CLNAlarmInhibit" BufferOffset="19"	Addr="15508"	Description="CH4 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="20"	Name="DO_CH5F2CLNAlarmInhibit" BufferOffset="20"	Addr="15509"	Description="CH5 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="21"	Name="DO_CH6F2CLNAlarmInhibit" BufferOffset="21"	Addr="15510"	Description="CH6 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="22"	Name="DO_CH7F2CLNAlarmInhibit" BufferOffset="22"	Addr="15511"	Description="CH7 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="23"	Name="DO_CH8F2CLNAlarmInhibit" BufferOffset="23"	Addr="15512"	Description="CH8 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="24"	Name="DO_CH9F2CLNAlarmInhibit" BufferOffset="24"	Addr="15513"	Description="CH9 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="25"	Name="DO_CH10F2CLNAlarmInhibit" BufferOffset="25" Addr="15514"	Description="CH10 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="26"	Name="DO_CH11F2CLNAlarmInhibit" BufferOffset="26" Addr="15515"	Description="CH11 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="27"	Name="DO_CH12F2CLNAlarmInhibit" BufferOffset="27" Addr="15516"	Description="CH12 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="28"	Name="DO_CH13F2CLNAlarmInhibit" BufferOffset="28" Addr="15517"	Description="CH13 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="29"	Name="DO_CH14F2CLNAlarmInhibit" BufferOffset="29" Addr="15518"	Description="CH14 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="30"	Name="DO_CH15F2CLNAlarmInhibit" BufferOffset="30" Addr="15519"	Description="CH15 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="31"	Name="DO_CH16F2CLNAlarmInhibit" BufferOffset="31" Addr="15520"	Description="CH16 F2 CLN Alarm Inhibit"/>
+    <DO_ITEM Index="32"	Name="DO_CH1ChannelInhibit" BufferOffset="32"	Addr="15521"	Description="CH1 Channe lInhibit"/>
+    <DO_ITEM Index="33"	Name="DO_CH2ChannelInhibit" BufferOffset="33"	Addr="15522"	Description="CH2 Channe lInhibit"/>
+    <DO_ITEM Index="34"	Name="DO_CH3ChannelInhibit" BufferOffset="34"	Addr="15523"	Description="CH3 Channe lInhibit"/>
+    <DO_ITEM Index="35"	Name="DO_CH4ChannelInhibit" BufferOffset="35"	Addr="15524"	Description="CH4 Channe lInhibit"/>
+    <DO_ITEM Index="36" Name="DO_CH5ChannelInhibit" BufferOffset="36" Addr="15525"	Description="CH5 Channe lInhibit"/>
+    <DO_ITEM Index="37" Name="DO_CH6ChannelInhibit" BufferOffset="37" Addr="15526"	Description="CH6 Channe lInhibit"/>
+    <DO_ITEM Index="38" Name="DO_CH7ChannelInhibit" BufferOffset="38" Addr="15527"	Description="CH7 Channe lInhibit"/>
+    <DO_ITEM Index="39" Name="DO_CH8ChannelInhibit" BufferOffset="39" Addr="15528"	Description="CH8 Channe lInhibit"/>
+    <DO_ITEM Index="40" Name="DO_CH9ChannelInhibit" BufferOffset="40" Addr="15529"	Description="CH9 Channe lInhibit"/>
+    <DO_ITEM Index="41" Name="DO_CH10ChannelInhibit" BufferOffset="41" Addr="15530"	Description="CH10 Channe lInhibit"/>
+    <DO_ITEM Index="42" Name="DO_CH11ChannelInhibit" BufferOffset="42" Addr="15531"	Description="CH11 Channe lInhibit"/>
+    <DO_ITEM Index="43" Name="DO_CH12ChannelInhibit" BufferOffset="43" Addr="15532"	Description="CH12 Channe lInhibit"/>
+    <DO_ITEM Index="44" Name="DO_CH13ChannelInhibit" BufferOffset="44" Addr="15533"	Description="CH13 Channe lInhibit"/>
+    <DO_ITEM Index="45" Name="DO_CH14ChannelInhibit" BufferOffset="45" Addr="15534"	Description="CH14 Channe lInhibit"/>
+    <DO_ITEM Index="46" Name="DO_CH15ChannelInhibit" BufferOffset="46" Addr="15535"	Description="CH15 Channe lInhibit"/>
+    <DO_ITEM Index="47" Name="DO_CH16ChannelInhibit" BufferOffset="47" Addr="15536"	Description="CH16 Channe lInhibit"/>
+    <DO_ITEM Index="48" Name="DO_PowerOn" BufferOffset="48" Addr="15537"	Description="Power On"/>
+  </Dig_Out>
+  <Ana_In>
+    <AI_ITEM Index="0"	Name="AI_CH1PV"	BufferOffset="0"	Addr="15361"	Description="CH1 PV" />
+    <AI_ITEM Index="1"	Name="AI_CH2PV"	BufferOffset="1"	Addr="15362"	Description="CH2 PV" />
+    <AI_ITEM Index="2"	Name="AI_CH3PV"	BufferOffset="2"	Addr="15363"	Description="CH3 PV" />
+    <AI_ITEM Index="3"	Name="AI_CH4PV"	BufferOffset="3"	Addr="15364"	Description="CH4 PV" />
+    <AI_ITEM Index="4"	Name="AI_CH5PV"	BufferOffset="4"	Addr="15365"	Description="CH5 PV" />
+    <AI_ITEM Index="5"	Name="AI_CH6PV"	BufferOffset="5"	Addr="15366"	Description="CH6 PV" />
+    <AI_ITEM Index="6"	Name="AI_CH7PV"	BufferOffset="6"	Addr="15367"	Description="CH7 PV" />
+    <AI_ITEM Index="7"	Name="AI_CH8PV"	BufferOffset="7"	Addr="15368"	Description="CH8 PV" />
+    <AI_ITEM Index="8"	Name="AI_CH9PV"	BufferOffset="8"	Addr="15369"	Description="CH9 PV" />
+    <AI_ITEM Index="9"	Name="AI_CH10PV" BufferOffset="9"	Addr="15370"	Description="CH10 PV" />
+    <AI_ITEM Index="10"	Name="AI_CH11PV" BufferOffset="10"	Addr="15371"	Description="CH11 PV" />
+    <AI_ITEM Index="11"	Name="AI_CH12PV" BufferOffset="11"	Addr="15372"	Description="CH12 PV" />
+    <AI_ITEM Index="12"	Name="AI_CH13PV" BufferOffset="12"	Addr="15373"	Description="CH13 PV" />
+    <AI_ITEM Index="13"	Name="AI_CH14PV" BufferOffset="13"	Addr="15374"	Description="CH14 PV" />
+    <AI_ITEM Index="14"	Name="AI_CH15PV" BufferOffset="14"	Addr="15375"	Description="CH15 PV" />
+    <AI_ITEM Index="15"	Name="AI_CH16PV" BufferOffset="15"	Addr="15376"	Description="CH16 PV" />
+    <AI_ITEM Index="16"	Name="AI_CH1WorkingOutput" BufferOffset="16"	Addr="15377"	Description="CH1 Working Output"/>
+    <AI_ITEM Index="17"	Name="AI_CH2WorkingOutput" BufferOffset="17"	Addr="15378"	Description="CH2 Working Output"/>
+    <AI_ITEM Index="18"	Name="AI_CH3WorkingOutput" BufferOffset="18"	Addr="15379"	Description="CH3 Working Output"/>
+    <AI_ITEM Index="19"	Name="AI_CH4WorkingOutput" BufferOffset="19"	Addr="15380"	Description="CH4 Working Output"/>
+    <AI_ITEM Index="20"	Name="AI_CH5WorkingOutput" BufferOffset="20"	Addr="15381"	Description="CH5 Working Output"/>
+    <AI_ITEM Index="21"	Name="AI_CH6WorkingOutput" BufferOffset="21"	Addr="15382"	Description="CH6 Working Output"/>
+    <AI_ITEM Index="22"	Name="AI_CH7WorkingOutput" BufferOffset="22"	Addr="15383"	Description="CH7 Working Output"/>
+    <AI_ITEM Index="23"	Name="AI_CH8WorkingOutput" BufferOffset="23"	Addr="15384"	Description="CH8 Working Output"/>
+    <AI_ITEM Index="24"	Name="AI_CH9WorkingOutput" BufferOffset="24"	Addr="15385"	Description="CH9 Working Output"/>
+    <AI_ITEM Index="25"	Name="AI_CH10WorkingOutput" BufferOffset="25"	Addr="15386"	Description="CH10 Working Output"/>
+    <AI_ITEM Index="26"	Name="AI_CH11WorkingOutput" BufferOffset="26"	Addr="15387"	Description="CH11 Working Output"/>
+    <AI_ITEM Index="27"	Name="AI_CH12WorkingOutput" BufferOffset="27"	Addr="15388"	Description="CH12 Working Output"/>
+    <AI_ITEM Index="28"	Name="AI_CH13WorkingOutput" BufferOffset="28"	Addr="15389"	Description="CH13 Working Output"/>
+    <AI_ITEM Index="29"	Name="AI_CH14WorkingOutput" BufferOffset="29"	Addr="15390"	Description="CH14 Working Output"/>
+    <AI_ITEM Index="30"	Name="AI_CH15WorkingOutput" BufferOffset="30"	Addr="15391"	Description="CH15 Working Output"/>
+    <AI_ITEM Index="31"	Name="AI_CH16WorkingOutput" BufferOffset="31"	Addr="15392"	Description="CH16 Working Output"/>
+  </Ana_In>
+  <Ana_Out>
+    <AO_ITEM Index="0"	Name="AO_CH1SV" BufferOffset="0"	Addr="15425"	Description="CH1 SV"/>
+    <AO_ITEM Index="1"	Name="AO_CH2SV" BufferOffset="1"	Addr="15426"	Description="CH2 SV"/>
+    <AO_ITEM Index="2"	Name="AO_CH3SV" BufferOffset="2"	Addr="15427"	Description="CH3 SV"/>
+    <AO_ITEM Index="3"	Name="AO_CH4SV" BufferOffset="3"	Addr="15428"	Description="CH4 SV"/>
+    <AO_ITEM Index="4"	Name="AO_CH5SV" BufferOffset="4"	Addr="15429"	Description="CH5 SV"/>
+    <AO_ITEM Index="5"	Name="AO_CH6SV" BufferOffset="5"	Addr="15430"	Description="CH6 SV"/>
+    <AO_ITEM Index="6"	Name="AO_CH7SV" BufferOffset="6"	Addr="15431"	Description="CH7 SV"/>
+    <AO_ITEM Index="7"	Name="AO_CH8SV"	BufferOffset="7"	Addr="15432"	Description="CH8 SV"/>
+    <AO_ITEM Index="8"	Name="AO_CH9SV"	BufferOffset="8"	Addr="15433"	Description="CH9 SV"/>
+    <AO_ITEM Index="9"	Name="AO_CH10SV" BufferOffset="9"	Addr="15434"	Description="CH10 SV"/>
+    <AO_ITEM Index="10"	Name="AO_CH11SV" BufferOffset="10"	Addr="15435"	Description="CH11 SV"/>
+    <AO_ITEM Index="11"	Name="AO_CH12SV" BufferOffset="11"	Addr="15436"	Description="CH12 SV"/>
+    <AO_ITEM Index="12"	Name="AO_CH13SV" BufferOffset="12"	Addr="15437"	Description="CH13 SV"/>
+    <AO_ITEM Index="13"	Name="AO_CH14SV" BufferOffset="13"	Addr="15438"	Description="CH14 SV"/>
+    <AO_ITEM Index="14"	Name="AO_CH15SV" BufferOffset="14"	Addr="15439"	Description="CH15 SV"/>
+    <AO_ITEM Index="15"	Name="AO_CH16SV" BufferOffset="15"	Addr="15440"	Description="CH16 SV" />
+    <AO_ITEM Index="16"	Name="AO_CH1SensorBreakAlarmInhibit" BufferOffset="16"	Addr="15441"	Description="CH1 sensor break alarm inhibit"/>
+    <AO_ITEM Index="17"	Name="AO_CH2SensorBreakAlarmInhibit" BufferOffset="17"	Addr="15442"	Description="CH2 sensor break alarm inhibit"/>
+    <AO_ITEM Index="18"	Name="AO_CH3SensorBreakAlarmInhibit" BufferOffset="18"	Addr="15443"	Description="CH3 sensor break alarm inhibit"/>
+    <AO_ITEM Index="19"	Name="AO_CH4SensorBreakAlarmInhibit" BufferOffset="19"	Addr="15444"	Description="CH4 sensor break alarm inhibit"/>
+    <AO_ITEM Index="20"	Name="AO_CH5SensorBreakAlarmInhibit" BufferOffset="20"	Addr="15445"	Description="CH5 sensor break alarm inhibit"/>
+    <AO_ITEM Index="21"	Name="AO_CH6SensorBreakAlarmInhibit" BufferOffset="21"	Addr="15446"	Description="CH6 sensor break alarm inhibit"/>
+    <AO_ITEM Index="22"	Name="AO_CH7SensorBreakAlarmInhibit" BufferOffset="22"	Addr="15447"	Description="CH7 sensor break alarm inhibit"/>
+    <AO_ITEM Index="23"	Name="AO_CH8SensorBreakAlarmInhibit" BufferOffset="23"	Addr="15448"	Description="CH8 sensor break alarm inhibit"/>
+    <AO_ITEM Index="24"	Name="AO_CH9SensorBreakAlarmInhibit" BufferOffset="24"	Addr="15449"	Description="CH9 sensor break alarm inhibit"/>
+    <AO_ITEM Index="25"	Name="AO_CH10SensorBreakAlarmInhibit" BufferOffset="25"	Addr="15450"	Description="CH10 sensor break alarm inhibit"/>
+    <AO_ITEM Index="26"	Name="AO_CH11SensorBreakAlarmInhibit" BufferOffset="26"	Addr="15451"	Description="CH11 sensor break alarm inhibit"/>
+    <AO_ITEM Index="27"	Name="AO_CH12SensorBreakAlarmInhibit" BufferOffset="27"	Addr="15452"	Description="CH12 sensor break alarm inhibit"/>
+    <AO_ITEM Index="28"	Name="AO_CH13SensorBreakAlarmInhibit" BufferOffset="28"	Addr="15453"	Description="CH13 sensor break alarm inhibit"/>
+    <AO_ITEM Index="29"	Name="AO_CH14SensorBreakAlarmInhibit" BufferOffset="29"	Addr="15454"	Description="CH14 sensor break alarm inhibit"/>
+    <AO_ITEM Index="30"	Name="AO_CH15SensorBreakAlarmInhibit" BufferOffset="30"	Addr="15455"	Description="CH15 sensor break alarm inhibit"/>
+    <AO_ITEM Index="31"	Name="AO_CH16SensorBreakAlarmInhibit" BufferOffset="31"	Addr="15456"	Description="CH16 sensor break alarm inhibit" />
+    <AO_ITEM Index="32"	Name="AO_CH1AlarmHigherPoint" BufferOffset="32"	Addr="15457"	Description="CH1 Alarm Higher Point"/>
+    <AO_ITEM Index="33"	Name="AO_CH2AlarmHigherPoint" BufferOffset="33"	Addr="15458"	Description="CH2 Alarm Higher Point"/>
+    <AO_ITEM Index="34"	Name="AO_CH3AlarmHigherPoint" BufferOffset="34"	Addr="15459"	Description="CH3 Alarm Higher Point"/>
+    <AO_ITEM Index="35"	Name="AO_CH4AlarmHigherPoint" BufferOffset="35"	Addr="15460"	Description="CH4 Alarm Higher Point"/>
+    <AO_ITEM Index="36"	Name="AO_CH5AlarmHigherPoint" BufferOffset="36"	Addr="15461"	Description="CH5 Alarm Higher Point"/>
+    <AO_ITEM Index="37"	Name="AO_CH6AlarmHigherPoint" BufferOffset="37"	Addr="15462"	Description="CH6 Alarm Higher Point"/>
+    <AO_ITEM Index="38"	Name="AO_CH7AlarmHigherPoint" BufferOffset="38"	Addr="15463"	Description="CH7 Alarm Higher Point"/>
+    <AO_ITEM Index="39"	Name="AO_CH8AlarmHigherPoint" BufferOffset="39"	Addr="15464"	Description="CH8 Alarm Higher Point"/>
+    <AO_ITEM Index="40"	Name="AO_CH9AlarmHigherPoint" BufferOffset="40"	Addr="15465"	Description="CH9 Alarm Higher Point"/>
+    <AO_ITEM Index="41"	Name="AO_CH10AlarmHigherPoint" BufferOffset="41" Addr="15466"	Description="CH10 Alarm Higher Point"/>
+    <AO_ITEM Index="42"	Name="AO_CH11AlarmHigherPoint" BufferOffset="42" Addr="15467"	Description="CH11 Alarm Higher Point"/>
+    <AO_ITEM Index="43"	Name="AO_CH12AlarmHigherPoint" BufferOffset="43" Addr="15468"	Description="CH12 Alarm Higher Point"/>
+    <AO_ITEM Index="44"	Name="AO_CH13AlarmHigherPoint" BufferOffset="44" Addr="15469"	Description="CH13 Alarm Higher Point"/>
+    <AO_ITEM Index="45"	Name="AO_CH14AlarmHigherPoint" BufferOffset="45" Addr="15470"	Description="CH14 Alarm Higher Point"/>
+    <AO_ITEM Index="46"	Name="AO_CH15AlarmHigherPoint" BufferOffset="46" Addr="15471"	Description="CH15 Alarm Higher Point"/>
+    <AO_ITEM Index="47"	Name="AO_CH16AlarmHigherPoint" BufferOffset="47" Addr="15472"	Description="CH16 Alarm Higher Point"/>
+    <AO_ITEM Index="48"	Name="AO_CH1AlarmLowerPoint" BufferOffset="48"	Addr="15473"	Description="CH1 Alarm Lower Point"/>
+    <AO_ITEM Index="49"	Name="AO_CH2AlarmLowerPoint" BufferOffset="49"	Addr="15474"	Description="CH2 Alarm Lower Point"/>
+    <AO_ITEM Index="50"	Name="AO_CH3AlarmLowerPoint" BufferOffset="50"	Addr="15475"	Description="CH3 Alarm Lower Point"/>
+    <AO_ITEM Index="51"	Name="AO_CH4AlarmLowerPoint" BufferOffset="51"	Addr="15476"	Description="CH4 Alarm Lower Point"/>
+    <AO_ITEM Index="52"	Name="AO_CH5AlarmLowerPoint" BufferOffset="52"	Addr="15477"	Description="CH5 Alarm Lower Point"/>
+    <AO_ITEM Index="53"	Name="AO_CH6AlarmLowerPoint" BufferOffset="53"	Addr="15478"	Description="CH6 Alarm Lower Point"/>
+    <AO_ITEM Index="54"	Name="AO_CH7AlarmLowerPoint" BufferOffset="54"	Addr="15479"	Description="CH7 Alarm Lower Point"/>
+    <AO_ITEM Index="55"	Name="AO_CH8AlarmLowerPoint" BufferOffset="55"	Addr="15480"	Description="CH8 Alarm Lower Point"/>
+    <AO_ITEM Index="56"	Name="AO_CH9AlarmLowerPoint" BufferOffset="56"	Addr="15481"	Description="CH9 Alarm Lower Point"/>
+    <AO_ITEM Index="57"	Name="AO_CH10AlarmLowerPoint" BufferOffset="57" Addr="15482"	Description="CH10 Alarm Lower Point"/>
+    <AO_ITEM Index="58"	Name="AO_CH11AlarmLowerPoint" BufferOffset="58" Addr="15483"	Description="CH11 Alarm Lower Point"/>
+    <AO_ITEM Index="59"	Name="AO_CH12AlarmLowerPoint" BufferOffset="59" Addr="15484"	Description="CH12 Alarm Lower Point"/>
+    <AO_ITEM Index="60"	Name="AO_CH13AlarmLowerPoint" BufferOffset="60" Addr="15485"	Description="CH13 Alarm Lower Point"/>
+    <AO_ITEM Index="61"	Name="AO_CH14AlarmLowerPoint" BufferOffset="61" Addr="15486"	Description="CH14 Alarm Lower Point"/>
+    <AO_ITEM Index="62"	Name="AO_CH15AlarmLowerPoint" BufferOffset="62" Addr="15487"	Description="CH15 Alarm Lower Point"/>
+    <AO_ITEM Index="63"	Name="AO_CH16AlarmLowerPoint" BufferOffset="63" Addr="15488"	Description="CH16 Alarm Lower Point"/>
+    <AO_ITEM Index="113" Name="AO_RecipeChange" BufferOffset="113" Addr="15538"	Description="Recipe Change"/>
+  </Ana_Out>
+</IO_DEFINE>

+ 5 - 1
Branch/NTP02/Furnace/FurnaceSimulator/FurnaceSimulator.csproj

@@ -210,7 +210,11 @@
     <Resource Include="Config\NTP02\_ioDefineHeater.xml" />
     <Resource Include="Config\NTP02\_ioDefinePM.xml" />
   </ItemGroup>
-  <ItemGroup />
+  <ItemGroup>
+    <None Include="Config\NTP02\_ioDefineGasLine.xml">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
   <ItemGroup>
     <None Include="Config\SiBCN\_ioDefinePM.xml">
       <SubType>Designer</SubType>

+ 3 - 3
Branch/NTP02/Furnace/FurnaceSimulator/Instances/SimulatorSystem.cs

@@ -64,10 +64,10 @@ namespace FurnaceSimulator.Instances
                typeof(SimulatorPlc2),
                typeof(SimulatorPlc3),
                typeof(SimulatorPlc4),
-               typeof(SimulatorPlc5),
+               //typeof(SimulatorPlc5),
                typeof(SimulatorPlc6),
-               typeof(SimulatorPlc7),
-               typeof(SimulatorPlc8),
+               //typeof(SimulatorPlc7),
+               //typeof(SimulatorPlc8),
                //typeof(SimulatorPlc9),
             });
             SetDefaultValue();

+ 9 - 9
Branch/NTP02/Furnace/FurnaceSimulator/Views/PLCView.xaml

@@ -12,49 +12,49 @@
                 Port="6740"
                 Source="System.PM1"/>
         </TabItem>
-        <!--<TabItem Header="GasLine1">
+        <TabItem Header="GasLine1">
             <local:SimulatorPlcFloatIOView
-                IoMapFile="ELK\\_ioDefineGasLine.xml"
+                IoMapFile="NTP02\\_ioDefineGasLine.xml"
                 Module="GasLine1"
                 Port="6741"
                 Source="System.GasLine1"/>
         </TabItem>
         <TabItem Header="GasLine2">
             <local:SimulatorPlcFloatIOView
-                IoMapFile="ELK\\_ioDefineGasLine.xml"
+                IoMapFile="NTP02\\_ioDefineGasLine.xml"
                 Module="GasLine2"
                 Port="6742"
                 Source="System.GasLine2"/>
         </TabItem>
         <TabItem Header="GasLine3">
             <local:SimulatorPlcFloatIOView
-                IoMapFile="ELK\\_ioDefineGasLine.xml"
+                IoMapFile="NTP02\\_ioDefineGasLine.xml"
                 Module="GasLine3"
                 Port="6743"
                 Source="System.GasLine3"/>
         </TabItem>
         <TabItem Header="GasLine4">
             <local:SimulatorPlcFloatIOView
-                IoMapFile="ELK\\_ioDefineGasLine.xml"
+                IoMapFile="NTP02\\_ioDefineGasLine.xml"
                 Module="GasLine4"
                 Port="6744"
                 Source="System.GasLine4"/>
         </TabItem>
         <TabItem Header="GasLine6">
             <local:SimulatorPlcFloatIOView
-                IoMapFile="ELK\\_ioDefineGasLine.xml"
+                IoMapFile="NTP02\\_ioDefineGasLine.xml"
                 Module="GasLine6"
                 Port="6746"
                 Source="System.GasLine6"/>
         </TabItem>
-        <TabItem Header="GasLine7">
+        <!--<TabItem Header="GasLine7">
             <local:SimulatorPlcFloatIOView
                 IoMapFile="ELK\\_ioDefineGasLine.xml"
                 Module="GasLine7"
                 Port="6747"
                 Source="System.GasLine7"/>
-        </TabItem>-->
-        <!--<TabItem Header="GasLine8">
+        </TabItem>
+        <TabItem Header="GasLine8">
             <local:SimulatorPlcFloatIOView
                 IoMapFile="ELK\\_ioDefineGasLine.xml"
                 Module="GasLine8"

+ 5 - 5
Branch/NTP02/Furnace/FurnaceUI/Config/Menu.xml

@@ -27,11 +27,11 @@
     <menuItem  id="ioList"		resKey="AxisMon"			viewmodel="FurnaceUI.Views.Maintenances.IOListViewModel,FurnaceUI" System="System.PM1"/>
 	</menuItem>
 	<menuItem id="GasLine"	resKey="GasLine" >
-		<menuItem  id="GasLine1"		    resKey="IO-GasLine1"	type="ELK"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine1"/>
-		<menuItem  id="GasLine2"		    resKey="IO-GasLine2"	type="ELK"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine2"/>
-		<menuItem  id="GasLine3"		    resKey="IO-GasLine3"	type="ELK"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine3"/>
-		<menuItem  id="GasLine4"		    resKey="IO-GasLine4"	type="ELK"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine4"/>
-		<menuItem  id="GasLine6"		    resKey="IO-GasLine6"	type="ELK"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine6"/>
+		<menuItem  id="GasLine1"		    resKey="IO-GasLine1"	type="ELK,NTP02"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine1"/>
+		<menuItem  id="GasLine2"		    resKey="IO-GasLine2"	type="ELK,NTP02"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine2"/>
+		<menuItem  id="GasLine3"		    resKey="IO-GasLine3"	type="ELK,NTP02"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine3"/>
+		<menuItem  id="GasLine4"		    resKey="IO-GasLine4"	type="ELK,NTP02"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine4"/>
+		<menuItem  id="GasLine6"		    resKey="IO-GasLine6"	type="ELK,NTP02"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine6"/>
 		<menuItem  id="GasLine7"		    resKey="IO-GasLine7"	type="ELK"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine7"/>
 		<!--<menuItem  id="GasLine8"		    resKey="IO-GasLine8"	type="ELK"		viewmodel="FurnaceUI.Models.Maintenances.IO1.IO1ViewModel,FurnaceUI" System="System.GasLine8"/>-->
 	</menuItem>