Forráskód Böngészése

revise wago simulator

chenzk 1 hónapja%!(EXTRA string=óta)
szülő
commit
2ca0186e2e

+ 5 - 5
CyberX8_MainPages/Views/OperationOverView.xaml

@@ -96,7 +96,7 @@
                     <Border BorderBrush="Gray" BorderThickness="1">
                         <StackPanel Orientation="Horizontal" >
                             <StackPanel>
-                                <TextBox Background="{DynamicResource Table_BG_Title}"  Text="LP1" Width="Auto" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" 
+                                <TextBox Background="{DynamicResource Table_BG_Title}"  Text="LP1" Width="100" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" 
                                      IsReadOnly="True" FontSize="10"/>
                                 <ctrls:FOUPFrontView UnitData="{Binding LP1ModuleInfo}"
                                                      IsCassettePlaced="{Binding RtDataValues[LP1.CassettePlaced]}"
@@ -119,7 +119,7 @@
 
                             </StackPanel>
                             <StackPanel>
-                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP2" Width="Auto" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
+                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP2" Width="100" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
                                      IsReadOnly="True" FontSize="10"/>
                                 <ctrls:FOUPFrontView UnitData="{Binding LP2ModuleInfo}" 
                                                      IsCassettePlaced="{Binding RtDataValues[LP2.CassettePlaced]}"
@@ -142,7 +142,7 @@
                             </StackPanel>
 
                             <StackPanel >
-                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP3" Width="Auto" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
+                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP3" Width="100" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
                                      IsReadOnly="True" FontSize="10"/>
                                 <ctrls:FOUPFrontView UnitData="{Binding LP3ModuleInfo}" 
                                                      IsCassettePlaced="{Binding RtDataValues[LP3.CassettePlaced]}"
@@ -164,7 +164,7 @@
 
                             </StackPanel>
                             <StackPanel >
-                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="Dummy1" Width="Auto" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
+                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="Dummy1" Width="50" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
                                      IsReadOnly="True" FontSize="10"/>
                                 <ctrls:FOUPFrontView UnitData="{Binding Dummy1ModuleInfo}" 
                                                      IsCassettePlaced="{Binding RtDataValues[Dummy1.CassettePlaced]}"
@@ -182,7 +182,7 @@
                                            Visibility="{Binding RtDataValues[Dummy1.CassettePlaced],Converter={StaticResource boolToVisibility2}}"/>
                             </StackPanel>
                             <StackPanel >
-                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="Dummy2" Width="Auto" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
+                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="Dummy2" Width="50" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
                                      IsReadOnly="True" FontSize="10"/>
                                 <ctrls:FOUPFrontView UnitData="{Binding Dummy2ModuleInfo}"
                                                      IsCassettePlaced="{Binding RtDataValues[Dummy2.CassettePlaced]}"

+ 1 - 1
CyberX8_RT/Config/System.sccfg

@@ -62,7 +62,7 @@
 	<configs name="EFEM" nameView="EFEM">
 		<config default="30" name="HomeTimeout" nameView="Home Timeout" description="EFEM初始化超时" max="300" min="1" paramter="" tag="" unit="s" type="Integer" />
 		<config default="60" name="MotionTimeout" nameView="Motion Timeout" description="motion time out" max="600" min="1" paramter="" tag="" unit="s" type="Integer" />
-		<config default="127.0.0.1:13001" name="IPAddress" nameView="IP Address" description="EFEM IP、端口设置;default 10.0.0.100:13001" max="" min="" paramter="" tag="" unit="" type="String" />
+		<config default="127.0.0.1:1102" name="IPAddress" nameView="IP Address" description="EFEM IP、端口设置;default 10.0.0.100:1102" max="" min="" paramter="" tag="" unit="" type="String" />
 		<config default="true" name="CheckSideDoorOnEAPMap" nameView="CheckSideDoorOnEAPMap" description="在自动跑货的时候检查侧门是否关闭" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true"/>
 		<config default="true" name="CheckCassetteDoorOnEAPMap" nameView="CheckCassetteDoorOnEAPMap" description="在自动跑货的时候检查EFEM正门是否关闭" max="" min="" paramter="" tag="" unit="" type="Bool" visible="true"/>
 		

+ 34 - 1
CyberX8_Simulator/Devices/WagoSocketSimulator.cs

@@ -53,7 +53,23 @@ namespace CyberX8_Simulator.Devices
         /// <summary>
         /// 定时器
         /// </summary>
-        private PeriodicJob _periodicJob;
+        private PeriodicJob _periodicJob;
+
+        //delegate
+        #region Delegate
+        public delegate void VariableValueChanged(object obj);
+        #endregion
+
+        #region 事件
+        /// <summary>
+        /// 变量变更事件
+        /// </summary>
+        public event VariableValueChanged OnDIVariableValueChanged;
+        public event VariableValueChanged OnAIVariableValueChanged;
+        public event VariableValueChanged OnDOVariableValueChanged;
+        public event VariableValueChanged OnAOVariableValueChanged;
+        #endregion
+
         public WagoSocketSimulator(int port):base(port) 
         {
             SimulatorCommManager.Instance.OnUpdateVariableValueChanged += UpdataDataCausedByOtherModule;
@@ -193,6 +209,10 @@ namespace CyberX8_Simulator.Devices
         #region 公共方法
         public void UpdataDOBytes(string name,int value)
         {
+            if (OnDOVariableValueChanged != null)
+            {
+                OnDOVariableValueChanged(name);
+            }
             if (DONameIndexDic.ContainsKey(name))
             {
                 if (DONameIndexDic[name] < DOBytes.Length)
@@ -203,6 +223,11 @@ namespace CyberX8_Simulator.Devices
         }
         public void UpdataDIBytes(string name, int value)
         {
+            if (OnDIVariableValueChanged != null)
+            {
+                OnDIVariableValueChanged(name);
+            }
+
             if (DINameIndexDic.ContainsKey(name))
             {
                 if (DINameIndexDic[name] < DIBytes.Length)
@@ -213,6 +238,10 @@ namespace CyberX8_Simulator.Devices
         }
         public void UpdataAOShorts(string name, int value)
         {
+            if (OnAOVariableValueChanged != null)
+            {
+                OnAOVariableValueChanged(name);
+            }
             if (AONameIndexDic.ContainsKey(name))
             {
                 string hexValue = value.ToString("X2");
@@ -232,6 +261,10 @@ namespace CyberX8_Simulator.Devices
         }
         public void UpdataAIShorts(string name, int value)
         {
+            if (OnAIVariableValueChanged != null)
+            {
+                OnAIVariableValueChanged(name);
+            }
             if (AINameIndexDic.ContainsKey(name))
             {
                 string hexValue = value.ToString("X2");

+ 20 - 0
CyberX8_Simulator/Views/WagoView.xaml.cs

@@ -245,6 +245,10 @@ namespace CyberX8_Simulator.Views
             _sim = new WagoSocketSimulator(port);
             Init(_sim);
             InitData(port);
+            _sim.OnDIVariableValueChanged += DISelectionChangedAction;
+            _sim.OnAIVariableValueChanged += AISelectionChangedAction;
+            _sim.OnAOVariableValueChanged += AOSelectionChangedAction;
+            _sim.OnDOVariableValueChanged += DOSelectionChangedAction;
         }
 
         private void SetDIAction(object obj)
@@ -270,18 +274,34 @@ namespace CyberX8_Simulator.Views
 
         private void DOSelectionChangedAction(object obj)
         {
+            if (DOSelectedItem == null)
+            {
+                return;
+            }
             DOCurrentValue = _sim.DOBytes[_sim.DONameIndexDic[DOSelectedItem]];
         }
         private void DISelectionChangedAction(object obj)
         {
+            if (DISelectedItem == null)
+            {
+                return;
+            }
             DICurrentValue = _sim.DIBytes[_sim.DINameIndexDic[DISelectedItem]];
         }
         private void AOSelectionChangedAction(object obj)
         {
+            if (AOSelectedItem == null)
+            {
+                return;
+            }
             AOCurrentValue = _sim.AOShorts[_sim.AONameIndexDic[AOSelectedItem]];
         }
         private void AISelectionChangedAction(object obj)
         {
+            if(AISelectedItem == null)
+            {
+               return;
+            }
             AICurrentValue = _sim.AIShorts[_sim.AINameIndexDic[AISelectedItem]];
         }