Browse Source

去掉不需要的IO

JET-YDB\JET-YANGDB 2 days ago
parent
commit
33002a0938

+ 4 - 4
Framework/Common/IOCore/IOManager.cs

@@ -618,7 +618,7 @@ namespace MECF.Framework.Common.IOCore
 
                 if (!isIgnoreSaveDB)
                 {
-                    DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value);
+                    //DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value);
                     DATA.Subscribe($"IO32.{accessor.Name}", () =>
                     {
                         if (accessor.Index < accessor.Buffer.Length - 1)
@@ -662,7 +662,7 @@ namespace MECF.Framework.Common.IOCore
 
                 if (!isIgnoreSaveDB)
                 {
-                    DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value);
+                    //DATA.Subscribe($"IO.{accessor.Name}", () => accessor.Value);
                     DATA.Subscribe($"IO32.{accessor.Name}", () =>
                     {
                         if (accessor.Index < accessor.Buffer.Length - 1)
@@ -884,7 +884,7 @@ namespace MECF.Framework.Common.IOCore
 
                 if (!isIgnoreSaveDB)
                 {
-                    DATA.Subscribe($"IO.{moduleName}", () => aoAccessor.Value);
+                    //DATA.Subscribe($"IO.{moduleName}", () => aoAccessor.Value);
                     DATA.Subscribe($"IO32.{moduleName}", () =>
                     {
                         if (aoAccessor.Index < aoAccessor.Buffer.Length-1)
@@ -963,7 +963,7 @@ namespace MECF.Framework.Common.IOCore
 
                 if (!isIgnoreSaveDB)
                 {
-                    DATA.Subscribe($"IO.{moduleName}", () => aiAccessor.Value);
+                    //DATA.Subscribe($"IO.{moduleName}", () => aiAccessor.Value);
                     DATA.Subscribe($"IO32.{moduleName}", () =>
                     {
                         if (aiAccessor.Index < aiAccessor.Buffer.Length-1)

BIN
VirgoRT/Config/DeviceModelVirgo.xml


+ 0 - 26
VirgoRT/Config/System.sccfg

@@ -485,19 +485,6 @@
 			<config default="true" name="IsEnabled" nameView="Is Enabled" description="IsEnabled" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
 			<config default="0" name="ChannelNumber" nameView="EPD Channel Number" description="channel number" max="32" min="0" paramter="" tag="" unit="" type="Integer" />
 		</configs>
-
-		<configs name="TriStateLiftPin" nameView="TriState LiftPin Setting" visible="true">
-			<config default="50" name="AutoSpeed" nameView="Lift Servo Auto speed" description="Lift Servo Auto speed" max="100" min="0"  paramter="" tag="" unit="mm/s" type="Double" />
-			<config default="5" name="ManualSpeed" nameView="Lift Servo manual speed" description="Lift Servo manual speed" max="10" min="0"  paramter="" tag="" unit="mm/s" type="Double" />
-			<config default="550" name="AccTime" nameView="Lift Servo Acc  time" description="Lift Servo Acc time" max="1000" min="100"  paramter="" tag="" unit="ms" type="Double" />
-			<config default="550" name="DecTime" nameView="Lift Servo Dec  time" description="Lift Servo Dec time" max="1000" min="100"  paramter="" tag="" unit="ms" type="Double" />
-			<config default="-50" name="CCWLimitPosition" nameView="Lift Servo CCW limit position" description="Lift Servo CCW limit position" max="0" min="-100"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="500" name="CWLimitPosition" nameView="Lift Servo CW limit position" description="Lift Servo CCW limit position" max="1000" min="0"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="0" name="CorrectionValue" nameView="Lift Servo Correction value" description="Lift Servo Correction value" max="10" min="-10"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="200" name="Position1" nameView="Lift Servo Position1" description="Lift Servo Position1" max="1000" min="-100"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="500" name="Position2" nameView="Lift Servo Position2" description="Lift Servo Position2" max="1000" min="-100"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="800" name="Position3" nameView="Lift Servo Position3" description="Lift Servo Position3" max="1000" min="-100"  paramter="" tag="" unit="mm" type="Double" />
-		</configs>
     <configs name="TriStateLiftPin2" nameView="Group TriState LiftPin Setting" visible="true">
       <config default="1" name="ServoWorkMode" nameView="Lift Servo Work Mode" description="Lift Servo Work Mode" max="1000" min="0"  paramter="" tag="" unit="" type="Double" />
       <config default="3" name="OriginSpeed" nameView="Lift Servo Auto speed" description="Lift Servo Auto speed" max="30" min="0"  paramter="" tag="" unit="mm/s" type="Double" />
@@ -904,19 +891,6 @@
 			<config default="true" name="IsEnabled" nameView="Is Enabled" description="IsEnabled" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
 			<config default="1" name="ChannelNumber" nameView="EPD Channel Number" description="channel number" max="32" min="0" paramter="" tag="" unit="" type="Integer" />
 		</configs>
-
-		<configs name="TriStateLiftPin" nameView="TriState LiftPin Setting" visible="true">
-			<config default="50" name="AutoSpeed" nameView="Lift Servo Auto speed" description="Lift Servo Auto speed" max="100" min="0"  paramter="" tag="" unit="mm/s" type="Double" />
-			<config default="5" name="ManualSpeed" nameView="Lift Servo manual speed" description="Lift Servo manual speed" max="10" min="0"  paramter="" tag="" unit="mm/s" type="Double" />
-			<config default="550" name="AccTime" nameView="Lift Servo Acc  time" description="Lift Servo Acc time" max="1000" min="100"  paramter="" tag="" unit="ms" type="Double" />
-			<config default="550" name="DecTime" nameView="Lift Servo Dec  time" description="Lift Servo Dec time" max="1000" min="100"  paramter="" tag="" unit="ms" type="Double" />
-			<config default="-50" name="CCWLimitPosition" nameView="Lift Servo CCW limit position" description="Lift Servo CCW limit position" max="0" min="-100"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="500" name="CWLimitPosition" nameView="Lift Servo CW limit position" description="Lift Servo CCW limit position" max="1000" min="0"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="0" name="CorrectionValue" nameView="Lift Servo Correction value" description="Lift Servo Correction value" max="10" min="-10"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="200" name="Position1" nameView="Lift Servo Position1" description="Lift Servo Position1" max="1000" min="-100"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="500" name="Position2" nameView="Lift Servo Position2" description="Lift Servo Position2" max="1000" min="-100"  paramter="" tag="" unit="mm" type="Double" />
-			<config default="800" name="Position3" nameView="Lift Servo Position3" description="Lift Servo Position3" max="1000" min="-100"  paramter="" tag="" unit="mm" type="Double" />
-		</configs>
     <configs name="TriStateLiftPin2" nameView="Group TriState LiftPin Setting" visible="true">
       <config default="1" name="ServoWorkMode" nameView="Lift Servo Work Mode" description="Lift Servo Work Mode" max="1000" min="0"  paramter="" tag="" unit="" type="Double" />
       <config default="3" name="OriginSpeed" nameView="Lift Servo Auto speed" description="Lift Servo Auto speed" max="30" min="0"  paramter="" tag="" unit="mm/s" type="Double" />

+ 55 - 55
VirgoRT/Config/_ioDefineVirgo.xml

@@ -9,12 +9,12 @@
 		<DI_ITEM Index="5" Name="DI_Water_Leak" Device="" Addr="w20.05" Note="1=OK, 0=alarm" />
 		<DI_ITEM Index="6" Name="DI_Slit_Door_Open_Pos" Device="" Addr="w20.06" Note="Interlock-HW" />
 		<DI_ITEM Index="7" Name="DI_Slit_Door_Close_Pos" Device="" Addr="w20.07" Note="Interlock-HW" />
-		<DI_ITEM Index="8" Name="DI_Lift_Pin_Up" Device="" Addr="w20.08" Note="1=on,0=off" />
-		<DI_ITEM Index="9" Name="DI_Lift_Pin_Down" Device="" Addr="w20.09" Note="1=on,0=off" />
-    <DI_ITEM Index="10" Name="DI_Guide_Pin_Small_Lifter_Up_Pos" Device="" Addr="w20.10" />
-    <DI_ITEM Index="11" Name="DI_Guide_Pin_Small_Lifter_Down_Pos" Device="" Addr="w20.11" />
-		<DI_ITEM Index="12" Name="DI_Guide_Pin_Medium_Lifter_Up_Pos" Device="" Addr="w20.12" />
-		<DI_ITEM Index="13" Name="DI_Guide_Pin_Medium_Lifter_Down_Pos" Device="" Addr="w20.13" />
+		<DI_ITEM Index="8" Name="" Device="" Addr="w20.08" Note="1=on,0=off" />
+		<DI_ITEM Index="9" Name="" Device="" Addr="w20.09" Note="1=on,0=off" />
+    <DI_ITEM Index="10" Name="" Device="" Addr="w20.10" />
+    <DI_ITEM Index="11" Name="" Device="" Addr="w20.11" />
+		<DI_ITEM Index="12" Name="" Device="" Addr="w20.12" />
+		<DI_ITEM Index="13" Name="" Device="" Addr="w20.13" />
 		<DI_ITEM Index="14" Name="DI_ARM_Not_Extend_to_PM" Device="" Addr="w20.14" Note="Interlock-PLC" />
 		<DI_ITEM Index="15" Name="DI_Generator_Hardware_Interlock" Device="" Addr="w20.15" Note="1=rf interlock ok,0=rf interlock off" />
     <DI_ITEM Index="16" Name="" />
@@ -68,11 +68,11 @@
 		<DI_ITEM Index="64" Name="" />
 		<DI_ITEM Index="65" Name="" />
 		<DI_ITEM Index="66" Name="" />
-		<DI_ITEM Index="67" Name="" />
-		<DI_ITEM Index="68" Name="" />
-		<DI_ITEM Index="69" Name="" />
-		<DI_ITEM Index="70" Name="" />
-		<DI_ITEM Index="71" Name="" />
+		<DI_ITEM Index="67" Name="DI_CHB_Wall_TC_Deviation_out_of_range" Addr="w24.03" />
+		<DI_ITEM Index="68" Name="DI_Grid_TC_Broken_Alarm" Addr="w24.04"/>
+		<DI_ITEM Index="69" Name="DI_CHB_Wall_Control_TC_Broken_Alarm" Addr="w24.05"/>
+		<DI_ITEM Index="70" Name="DI_CHB_Wall_Monitor_TC_Broken_Alarm" Addr="w24.06"/>
+		<DI_ITEM Index="71" Name="DI_CHB_Wall_Heater_On_FB" Addr="w24.07" />
 		<DI_ITEM Index="72" Name="" />
 		<DI_ITEM Index="73" Name="" />
 		<DI_ITEM Index="74" Name="" />
@@ -81,23 +81,23 @@
 		<DI_ITEM Index="77" Name="" />
 		<DI_ITEM Index="78" Name="" />
 		<DI_ITEM Index="79" Name="" />
-		<DI_ITEM Index="80" Name="DI_Lift_Servo_with_origin" Addr="w25.00"/>
-		<DI_ITEM Index="81" Name="DI_Lift_Servo_on" Addr="w25.01" />
-		<DI_ITEM Index="82" Name="DI_Lift_Servo_origin_Sensor" Addr="w25.02" />
-		<DI_ITEM Index="83" Name="Lift_Servo_up_Position_Sensor" Addr="w25.03" Note="0=OK, 1=alarm     Interlock-PLC"/>
-		<DI_ITEM Index="84" Name="DI_Lift_Servo_CCW_limit_Sensor_alarm" Addr="w25.04" Note="0=OK, 1=alarm     Interlock-PLC"/>
-		<DI_ITEM Index="85" Name="DI_Lift_Servo_alarm" Addr="w25.05" Note="0=OK, 1=alarm     Interlock-PLC"/>
-		<DI_ITEM Index="86" Name="DI_Lift_Servo_ORG_fail_alarm" Addr="w25.06" Note="0=OK, 1=alarm     Interlock-PLC"/>
-		<DI_ITEM Index="87" Name="DI_Lift_Servo_ABS_fail_alarm" Addr="w25.07" Note="0=OK, 1=alarm     Interlock-PLC"/>
-		<DI_ITEM Index="88" Name="DI_Lift_Servo_Over_software_Limit_alarm" Addr="w25.08" Note="0=OK, 1=alarm     Interlock-PLC"/>
-		<DI_ITEM Index="89" Name="DI_Lift_Servo_Go_Position1_Complete" Addr="w25.09" Note="定位到位置1完成"/>
-		<DI_ITEM Index="90" Name="DI_Lift_Servo_Go_Position2_Complete" Addr="w25.10" Note="定位到位置2完成"/>
-		<DI_ITEM Index="91" Name="DI_Lift_Servo_Go_Position3_Complete" Addr="w25.11" Note="定位到位置3完成"/>
-		<DI_ITEM Index="92" Name="DI_Lift_Servo_origin_Finished"  Addr="w25.12" Note="原点已建立"/>
-    <DI_ITEM Index="93" Name="DI_Lift_Servo_Go_Position4_Complete" Addr="W25.13" Device=""  Note="Lift Servo到位置4,定位完成" />
-    <DI_ITEM Index="94" Name="DI_Lift_Servo_Go_Position5_Complete" Addr="W25.14" Device=""  Note="Lift Servo到位置5,定位完成" />
-    <DI_ITEM Index="95" Name="DI_Lift_Servo_Pos_Module_Alarm" Addr="W25.15" Device=""  Note="0=Normal, 1=Alarm     Interlock-PLC" />
-    <DI_ITEM Index="96" Name="DI_Lift_Servo_Over_Software_Limit_Alarm" Addr="W26.00" Device=""  Note="0=Normal, 1=Alarm     Interlock-PLC" />
+		<DI_ITEM Index="80" Name="" Addr="w25.00"/>
+		<DI_ITEM Index="81" Name="" Addr="w25.01" />
+		<DI_ITEM Index="82" Name="" Addr="w25.02" />
+		<DI_ITEM Index="83" Name="" Addr="w25.03" Note="0=OK, 1=alarm     Interlock-PLC"/>
+		<DI_ITEM Index="84" Name="" Addr="w25.04" Note="0=OK, 1=alarm     Interlock-PLC"/>
+		<DI_ITEM Index="85" Name="" Addr="w25.05" Note="0=OK, 1=alarm     Interlock-PLC"/>
+		<DI_ITEM Index="86" Name="" Addr="w25.06" Note="0=OK, 1=alarm     Interlock-PLC"/>
+		<DI_ITEM Index="87" Name="" Addr="w25.07" Note="0=OK, 1=alarm     Interlock-PLC"/>
+		<DI_ITEM Index="88" Name="" Addr="w25.08" Note="0=OK, 1=alarm     Interlock-PLC"/>
+		<DI_ITEM Index="89" Name="" Addr="w25.09" Note="定位到位置1完成"/>
+		<DI_ITEM Index="90" Name="" Addr="w25.10" Note="定位到位置2完成"/>
+		<DI_ITEM Index="91" Name="" Addr="w25.11" Note="定位到位置3完成"/>
+		<DI_ITEM Index="92" Name=""  Addr="w25.12" Note="原点已建立"/>
+    <DI_ITEM Index="93" Name="" Addr="W25.13" Device=""  Note="Lift Servo到位置4,定位完成" />
+    <DI_ITEM Index="94" Name="" Addr="W25.14" Device=""  Note="Lift Servo到位置5,定位完成" />
+    <DI_ITEM Index="95" Name="" Addr="W25.15" Device=""  Note="0=Normal, 1=Alarm     Interlock-PLC" />
+    <DI_ITEM Index="96" Name="" Addr="W26.00" Device=""  Note="0=Normal, 1=Alarm     Interlock-PLC" />
 		<DI_ITEM Index="97" Name="" />
     <DI_ITEM Index="98" Name="" />
     <DI_ITEM Index="99" Name="DI_YAS_Servo_Controler_COMM_Alarm" Addr="W26.03" Device=""  Note="0=OK,1=Alarm  安川PLC与欧姆龙PLC通讯正常" />
@@ -169,12 +169,12 @@
 		<DO_ITEM Index="3" Name="" />
 		<DO_ITEM Index="4" Name="DO_Slit_Door_Open" Device="" Addr="w0.04" />
 		<DO_ITEM Index="5" Name="DO_Slit_Door_Close" Device="" Addr="w0.05" Note="Interlock-HW" />
-		<DO_ITEM Index="6" Name="DO_Lift_Pin_Up" Device="" Addr="w0.06" />
-		<DO_ITEM Index="7" Name="DO_Lift_Pin_Down" Device="" Addr="w0.07" />
-    <DO_ITEM Index="8" Name="DO_Guide_Pin_Small_Lifter_Up" Device="" Addr="w0.08" />
-    <DO_ITEM Index="9" Name="DO_Guide_Pin_Small_Lifter_Down" Device="" Addr="w0.09" />
-		<DO_ITEM Index="10" Name="DO_Guide_Pin_Medium_Lifter_Up" Device="" Addr="w0.10" />
-		<DO_ITEM Index="11" Name="DO_Guide_Pin_Medium_Lifter_Down" Device="" Addr="w0.11" />
+		<DO_ITEM Index="6" Name="" Device="" Addr="w0.06" />
+		<DO_ITEM Index="7" Name="" Device="" Addr="w0.07" />
+    <DO_ITEM Index="8" Name="" Device="" Addr="w0.08" />
+    <DO_ITEM Index="9" Name="" Device="" Addr="w0.09" />
+		<DO_ITEM Index="10" Name="" Device="" Addr="w0.10" />
+		<DO_ITEM Index="11" Name="" Device="" Addr="w0.11" />
     <DO_ITEM Index="12" Name="" />
     <DO_ITEM Index="13" Name="" />
 		<DO_ITEM Index="14" Name="DO_MFC1_Valve" Device="" Addr="w0.14" />
@@ -219,13 +219,13 @@
 		<DO_ITEM Index="53" Name="" />
 		<DO_ITEM Index="54" Name="" />
 		<DO_ITEM Index="55" Name="" />
-		<DO_ITEM Index="56" Name="DO_Lift_Servo_Go_Position1" Addr="w3.08" Note="有需求才置On,到达位置后或者停止置Off,反馈信号DI-89"/>
-		<DO_ITEM Index="57" Name="DO_Lift_Servo_Go_Position2" Addr="w3.09" Note="有需求才置On,到达位置后或者停止置Off,反馈信号DI-90" />
-		<DO_ITEM Index="58" Name="DO_Lift_Servo_Go_Position3" Addr="w3.10" Note="有需求才置On,到达位置后或者停止置Off,反馈信号DI-91" />
-		<DO_ITEM Index="59" Name="DO_Lift_Servo_origin"       Addr="w3.11" Note="有自动手动需求时置on;,DI-80标志位上升沿或者需要停止置Off" />
-		<DO_ITEM Index="60" Name="DO_Lift_Servo_stop"         Addr="w3.12" Note="有需求置1,一定时间后置off" />
-		<DO_ITEM Index="61" Name="DO_Lift_Servo_manaul_UP"       Addr="w3.13" Note="切换型按钮,按住置1,再按置off,非手动模式下强制置off" />
-		<DO_ITEM Index="62" Name="DO_Lift_Servo_manaul_DOWN"       Addr="w3.14" Note="切换型按钮,按住置1,再按置off,非手动模式下强制置off" />
+		<DO_ITEM Index="56" Name="" Addr="w3.08" Note="有需求才置On,到达位置后或者停止置Off,反馈信号DI-89"/>
+		<DO_ITEM Index="57" Name="" Addr="w3.09" Note="有需求才置On,到达位置后或者停止置Off,反馈信号DI-90" />
+		<DO_ITEM Index="58" Name="" Addr="w3.10" Note="有需求才置On,到达位置后或者停止置Off,反馈信号DI-91" />
+		<DO_ITEM Index="59" Name=""       Addr="w3.11" Note="有自动手动需求时置on;,DI-80标志位上升沿或者需要停止置Off" />
+		<DO_ITEM Index="60" Name=""         Addr="w3.12" Note="有需求置1,一定时间后置off" />
+		<DO_ITEM Index="61" Name=""       Addr="w3.13" Note="切换型按钮,按住置1,再按置off,非手动模式下强制置off" />
+		<DO_ITEM Index="62" Name=""       Addr="w3.14" Note="切换型按钮,按住置1,再按置off,非手动模式下强制置off" />
     <DO_ITEM Index="63" Name="" />
     <DO_ITEM Index="64" Name="" />
     <DO_ITEM Index="65" Name="" />
@@ -337,16 +337,16 @@
 		<AO_ITEM Index="25" Name="AO_BaisRF_Enable" BufferOffset="50" Device="" Addr="d1050" Note="0=Substrate heater mode ,1=Bais RF mode" />
 		<AO_ITEM Index="26" Name="AO_Grid_TC_Enable" BufferOffset="52" Device=""  Addr="d1052" Note="1=Grid TC"/>
 		<AO_ITEM Index="27" Name="AO_Lift_Servo_Enable" BufferOffset="54" Device=""  Addr="d1054" Note="0=Lift Pin ,1=Lift  Servo"/>
-		<AO_ITEM Index="28" Name="AO_Lift_Servo_Auto_speed" BufferOffset="56" Device=""  Addr="d1056" Note="mm/s"/>
-		<AO_ITEM Index="29" Name="AO_Lift_Servo_manual_speed" BufferOffset="58" Device=""  Addr="d1058" Note="mm/s" />
-		<AO_ITEM Index="30" Name="AO_Lift_Servo_Acc_time" BufferOffset="60" Device=""  Addr="d1060" Note="ms"/>
-		<AO_ITEM Index="31" Name="AO_Lift_Servo_Dec_time" BufferOffset="62" Device=""  Addr="d1062" Note="ms" />
-		<AO_ITEM Index="32" Name="AO_Lift_Servo_CCW_limit_position" BufferOffset="64" Device=""  Addr="d1064" Note="mm"/>
-		<AO_ITEM Index="33" Name="AO_Lift_Servo_CW_limit_position" BufferOffset="66" Device=""  Addr="d1066" Note="mm" />
-		<AO_ITEM Index="34" Name="AO_Lift_Servo_Correction_value" BufferOffset="68" Device=""  Addr="d1068" Note="mm"/>
-		<AO_ITEM Index="35" Name="AO_Lift_Servo_Position1" BufferOffset="70" Device=""  Addr="d1070" Note="mm"/>
-		<AO_ITEM Index="36" Name="AO_Lift_Servo_Position2" BufferOffset="72" Device=""  Addr="d1072" Note="mm" />
-		<AO_ITEM Index="37" Name="AO_Lift_Servo_Position3" BufferOffset="74" Device=""  Addr="d1074" Note="mm" />
+		<AO_ITEM Index="28" Name="" BufferOffset="56" Device=""  Addr="d1056" Note="mm/s"/>
+		<AO_ITEM Index="29" Name="" BufferOffset="58" Device=""  Addr="d1058" Note="mm/s" />
+		<AO_ITEM Index="30" Name="" BufferOffset="60" Device=""  Addr="d1060" Note="ms"/>
+		<AO_ITEM Index="31" Name="" BufferOffset="62" Device=""  Addr="d1062" Note="ms" />
+		<AO_ITEM Index="32" Name="" BufferOffset="64" Device=""  Addr="d1064" Note="mm"/>
+		<AO_ITEM Index="33" Name="" BufferOffset="66" Device=""  Addr="d1066" Note="mm" />
+		<AO_ITEM Index="34" Name="" BufferOffset="68" Device=""  Addr="d1068" Note="mm"/>
+		<AO_ITEM Index="35" Name="" BufferOffset="70" Device=""  Addr="d1070" Note="mm"/>
+		<AO_ITEM Index="36" Name="" BufferOffset="72" Device=""  Addr="d1072" Note="mm" />
+		<AO_ITEM Index="37" Name="" BufferOffset="74" Device=""  Addr="d1074" Note="mm" />
 		<AO_ITEM Index="38" Name="" />
 		<AO_ITEM Index="39" Name="" />
 		<AO_ITEM Index="40" Name="" />
@@ -427,10 +427,10 @@
     <AI_ITEM Index="37" Name="AI_CHB_Wall_Monitor_TC_Temp" BufferOffset="74" Device="" Addr="d2074" Note="TC temp" />
 		<AI_ITEM Index="38" Name="" />
 		<AI_ITEM Index="39" Name="" />
-		<AI_ITEM Index="40" Name="NC_Error_Code" BufferOffset="80" Addr="d2080" Note="定位模块错误代码"/>
-		<AI_ITEM Index="41" Name="AI_Lift_Servo_current_value" BufferOffset="82" Addr="d2082"/>
-		<AI_ITEM Index="42" Name="AI_Generator_Forward_Power" BufferOffset="84" Device="" Addr="d2084" Note="ICP Souce/RPS" />
-		<AI_ITEM Index="43" Name="AI_Generator_Reflect_Power" BufferOffset="86" Device="" Addr="d2086" />
+		<AI_ITEM Index="40" Name="" BufferOffset="80" Addr="d2080" Note="定位模块错误代码"/>
+		<AI_ITEM Index="41" Name="" BufferOffset="82" Addr="d2082"/>
+		<AI_ITEM Index="42" Name="" BufferOffset="84" Device="" Addr="d2084" Note="ICP Souce/RPS" />
+		<AI_ITEM Index="43" Name="" BufferOffset="86" Device="" Addr="d2086" />
 		<AI_ITEM Index="44" Name="" />
     <AI_ITEM Index="45" Name="AI_Lift_Virtual_Servo_Current_Position" Addr="d2090" Device=""  Note="UNIT:MM" />
     <AI_ITEM Index="46" Name="AI_Lift_Servo_1_Current_Position" Addr="d2092" Device="" />

+ 4 - 4
VirgoRT/Devices/IODevices/IoCylinder.cs

@@ -252,14 +252,14 @@ namespace VirgoRT.Devices
                             if (_operation == CylinderState.Open)
                             {
                                 EV.PostAlarmLog(Module, !_doON.Check(true, out var reason)
-                                        ? $"气缸信号 {Display} was Close,Reason:{reason}"
-                                        : $"气缸信号 {Display} was Close,Reason PLC kept");
+                                        ? $"{Display} cylinder sensor was Close,Reason:{reason}"
+                                        : $"{Display} cylinder sensor was Close,Reason PLC kept");
                             }
                             else
                             {
                                 EV.PostAlarmLog(Module, !_doON.Check(false, out var reason)
-                                        ? $"气缸信号 {Display} was Open,Reason:{reason}"
-                                        : $"气缸信号 {Display} was Open,Reason PLC Kept");
+                                        ? $"{Display} cylinder sensor was Open,Reason:{reason}"
+                                        : $"{Display} cylinder sensor was Open,Reason PLC Kept");
                             }
                             _operation = (CylinderState)SetPoint;
                         }

+ 7 - 0
VirgoRT/Devices/IODevices/IoMfc1.cs

@@ -434,6 +434,12 @@ namespace VirgoRT.Devices.IODevices
 
         public override void Ramp(double target, int time)
         {
+            _recipeAlarmChecker.RST = true;
+            _recipeWarningChecker.RST = true;
+
+            _alarmChecker.RST = true;
+            _warningChecker.RST = true;
+
             target = Math.Max(0, target);
             target = Math.Min(Scale, target);
             rampInitValue = SetPoint;    //ramp 初始值取当前设定值,而非实际读取值。零漂问题
@@ -469,6 +475,7 @@ namespace VirgoRT.Devices.IODevices
                 if (Math.Abs(SetPoint) < 0.01)
                     return;
 
+
                 double alarmRange = _scAlarmRange.IntValue;
                 double alarmTime = _scAlarmTime.IntValue;
                 ToleranceChecker alarmChecker = _alarmChecker;

+ 6 - 2
VirgoRT/Devices/IODevices/IoTriStateLift2.cs

@@ -11,6 +11,7 @@ using Aitex.Core.RT.SCCore;
 using Aitex.Core.RT.OperationCenter;
 
 using VirgoCommon;
+using Aitex.Core.RT.Log;
 
 namespace VirgoRT.Devices
 {
@@ -467,12 +468,15 @@ namespace VirgoRT.Devices
             if (_currentTarget == Position.Invalid)
                 return;
 
+            var servoOriginComplete = _diOrigin.Value;
+            var servoOrigin2Complete = _diOrigin2.Value;
+            var goPosOriginComplete = _diOrigin3.Value;
             if ((_currentTarget == Position.position1 && _diP1.Value) ||
                 (_currentTarget == Position.position2 && _diP2.Value) ||
                 (_currentTarget == Position.position3 && _diP3.Value) ||
-                (_currentTarget == Position.origin && swOrigin.ElapsedMilliseconds > 1000 && (_diOrigin.Value && _diOrigin2.Value && _diOrigin3.Value)))
+                (_currentTarget == Position.origin && swOrigin.ElapsedMilliseconds > 1000 && (servoOriginComplete  && servoOrigin2Complete && goPosOriginComplete)))
             {
-                EV.PostInfoLog(Module, $"Lift Pin arrive {_currentTarget}, ({_diOrigin.Index})_DI_Lift_Servo_1_Servo_Origin_Complete={_diOrigin.Value} ({_diOrigin2.Index})_DI_Lift_Servo_2_Servo_Origin_Complete={_diOrigin2.Value} ({_diOrigin3.Index})_DI_Lift_Servo_Group_Go_Pos_Origin_Complete={_diOrigin3.Value} ");
+                //EV.PostInfoLog(Module, $"Lift Pin arrive {_currentTarget}, ({_diOrigin.Index})_DI_Lift_Servo_1_Servo_Origin_Complete={servoOriginComplete} ({_diOrigin2.Index})_DI_Lift_Servo_2_Servo_Origin_Complete={servoOrigin2Complete} ({_diOrigin3.Index})_DI_Lift_Servo_Group_Go_Pos_Origin_Complete={goPosOriginComplete} ");
                 Reset();
                 return;
             }

+ 1 - 1
VirgoRT/Modules/PMs/PreProcess.cs

@@ -335,7 +335,7 @@ namespace VirgoRT.Modules.PMs
                 }
                 if (ret.Item2 == Result.TIMEOUT)
                 {
-                    Stop(_chamber.CheckLiftPinPos(LiftPinPosition) ? $"Set Pin Position timeout in {_PumpingAndPinDownTimeout / 1000} seconds" : $"Pumping timeout  in {_PumpingAndPinDownTimeout / 1000} seconds");
+                    Stop(!_chamber.CheckLiftPinPos(LiftPinPosition) ? $"Set Pin Position timeout in {_PumpingAndPinDownTimeout / 1000} seconds" : $"Pumping timeout  in {_PumpingAndPinDownTimeout / 1000} seconds");
                     throw new RoutineFaildException();
                 }
                 throw new RoutineBreakException();

+ 5 - 5
VirgoSimulator/Config/_ioDefineVirgo.xml

@@ -68,11 +68,11 @@
     <DI_ITEM Index="64" Name="" />
     <DI_ITEM Index="65" Name="" />
     <DI_ITEM Index="66" Name="" />
-    <DI_ITEM Index="67" Name="" />
-    <DI_ITEM Index="68" Name="" />
-    <DI_ITEM Index="69" Name="" />
-    <DI_ITEM Index="70" Name="" />
-    <DI_ITEM Index="71" Name="" />
+    <DI_ITEM Index="67" Name="DI_CHB_Wall_TC_Deviation_out_of_range" Addr="w24.03" />
+    <DI_ITEM Index="68" Name="DI_Grid_TC_Broken_Alarm" Addr="w24.04"/>
+    <DI_ITEM Index="69" Name="DI_CHB_Wall_Control_TC_Broken_Alarm" Addr="w24.05"/>
+    <DI_ITEM Index="70" Name="DI_CHB_Wall_Monitor_TC_Broken_Alarm" Addr="w24.06"/>
+    <DI_ITEM Index="71" Name="DI_CHB_Wall_Heater_On_FB" Addr="w24.07" />
     <DI_ITEM Index="72" Name="" />
     <DI_ITEM Index="73" Name="" />
     <DI_ITEM Index="74" Name="" />

+ 3 - 3
VirgoUI/Models/PMs/PMPIDView.xaml

@@ -23,7 +23,7 @@
             <ColumnDefinition Width="950"/>
         </Grid.ColumnDefinitions>
 
-        <!--<Canvas Background="#FFC5D0D8" Width="800" Height="300" Grid.Row="0" Grid.Column="0">
+        <Canvas Background="#FFC5D0D8" Width="800" Height="300" Grid.Row="0" Grid.Column="0">
             <TextBlock Text="CHB Wall PID Study" FontSize="30"  Canvas.Left="254" Canvas.Top="13">
 
             </TextBlock>
@@ -104,7 +104,7 @@
             <TextBlock Text="Finish" FontSize="16"  Canvas.Left="541" Canvas.Top="238">
 
             </TextBlock>
-        </Canvas>-->
+        </Canvas>
 
         <Canvas Background="#FFC5D0D8" Width="800" Height="300" Grid.Row="0" Grid.Column="1">
             <TextBlock Text="Foreline PID Study" FontSize="30"  Canvas.Left="254" Canvas.Top="13">
@@ -189,7 +189,7 @@
             </TextBlock>
         </Canvas>
 
-        <Canvas Background="#FFC5D0D8" Width="800" Height="300" Grid.Row="0" Grid.Column="0">
+        <Canvas Background="#FFC5D0D8" Width="800" Height="300" Grid.Row="1" Grid.Column="0">
             <TextBlock Text="Substrate PID Study" FontSize="30"  Canvas.Left="254" Canvas.Top="13">
 
             </TextBlock>

+ 86 - 0
VirgoUI/Models/PMs/PMPIDViewModel.cs

@@ -13,6 +13,92 @@ namespace VirgoUI.Client.Models.PMs
 {
     public class PMPIDViewModel : ModuleUiViewModelBase, ISupportMultipleSystem
     {
+        #region CHB Wall
+        public float CHBTemperatureSetpoint { get; set; }
+        public void CHBSetHeaterOn()
+        {
+            InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_CHB_Wall_Heater_On", true);
+        }
+        public void CHBSetHeaterOff()
+        {
+            InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_CHB_Wall_Heater_On", false);
+        }
+        public void CHBSetTemperature(object oj)
+        {
+            InvokeClient.Instance.Service.DoOperation("System.SetAoValue32", $"{SystemName.Split('.')[1]}.AO_CHB_Wall_Temperature_Setpoint", CHBTemperatureSetpoint);
+        }
+        public void CHBHeatPIDATStop()
+        {
+            InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_CHB_Heat_PID_AT_Star", false);
+            InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_CHB_Heat_PID_AT_Stop", true);
+        }
+        public void CHBHeatPIDATStart()
+        {
+            InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_CHB_Heat_PID_AT_Stop", false);
+            InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_CHB_Heat_PID_AT_Star", true);
+        }
+
+
+        [Subscription("DI_CHB_Wall_Heater_On_FB")]
+        public bool CHBHeaterOn { get; set; }
+        [Subscription("DI_CHB_Heat_PID_AT_Running")]
+        public bool CHBHeaterPIDATRunning { get; set; }
+        [Subscription("DI_CHB_Heat_PID_AT_Finished")]
+        public bool CHBHeaterPIDATFinished { get; set; }
+
+        private bool _CHBHeaterPIDATStarFB;
+        [Subscription("DI_CHB_Heat_PID_AT_Star_Fb")]
+        public bool CHBHeaterPIDATStarFB
+        {
+            get
+            {
+                return _CHBHeaterPIDATStarFB;
+            }
+            set
+            {
+                _CHBHeaterPIDATStarFB = value;
+                if (value)
+                {
+                    InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_CHB_Heat_PID_AT_Star", false);
+                }
+            }
+        }
+
+        private bool _CHBHeaterPIDATStopFB;
+        [Subscription("DI_CHB_Heat_PID_AT_Stop_Fb")]
+        public bool CHBHeaterPIDATStopFB
+        {
+            get
+            {
+                return _CHBHeaterPIDATStopFB;
+            }
+            set
+            {
+                _CHBHeaterPIDATStopFB = value;
+                if (value)
+                {
+                    InvokeClient.Instance.Service.DoOperation("System.SetDoValue", $"{SystemName.Split('.')[1]}.DO_CHB_Heat_PID_AT_Stop", false);
+                }
+            }
+        }
+
+        public float CHBControlTCTemp
+        {
+            get
+            {
+                return (float)QueryDataClient.Instance.Service.GetData($"IO32.{SystemName.Split('.')[1]}.AI_CHB_Wall_Control_TC_Temp");
+            }
+        }
+
+        public float CHBMonitorTCTemp
+        {
+            get
+            {
+                return (float)QueryDataClient.Instance.Service.GetData($"IO32.{SystemName.Split('.')[1]}.AI_CHB_Wall_Monitor_TC_Temp");
+            }
+        }
+        #endregion
+
         #region Foreline
         public float ForelineTemperatureSetpoint { get; set; }
         public void ForelineSetHeaterOn()

+ 1 - 1
VirgoUI/Models/PMs/PmOverviewView.xaml

@@ -1004,7 +1004,7 @@
                 
             </Grid>
 
-            <Grid Width="280"  Grid.ColumnSpan="3" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="200" Canvas.Top="670">
+            <Grid Width="280"  Grid.ColumnSpan="3" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="200" Canvas.Top="670" Visibility="Collapsed">
                 <Grid.RowDefinitions>
                     <RowDefinition Height="24"/>
                     <RowDefinition Height="32"/>