Mejorado el Filtrado

This commit is contained in:
Miguel 2024-06-20 14:50:23 +02:00
parent f33273bbf6
commit 2fe1af47dc
6 changed files with 1683 additions and 19 deletions

File diff suppressed because it is too large Load Diff

View File

@ -52,6 +52,7 @@
<None Remove="imagenes\gear.png" /> <None Remove="imagenes\gear.png" />
<None Remove="imagenes\motorNegro.png" /> <None Remove="imagenes\motorNegro.png" />
<None Remove="imagenes\motorVerde.png" /> <None Remove="imagenes\motorVerde.png" />
<None Remove="Images\base.png" />
<None Remove="motor2.png" /> <None Remove="motor2.png" />
<None Remove="tank.png" /> <None Remove="tank.png" />
</ItemGroup> </ItemGroup>
@ -119,6 +120,7 @@
<Resource Include="imagenes\motorNegro.png" /> <Resource Include="imagenes\motorNegro.png" />
<Resource Include="imagenes\motorVerde.png" /> <Resource Include="imagenes\motorVerde.png" />
<Resource Include="imagenes\tank.png" /> <Resource Include="imagenes\tank.png" />
<Resource Include="Images\base.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

BIN
Images/base.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -191,7 +191,8 @@ namespace CtrEditor
OpenWorkDirectoryCommand = new RelayCommand(OpenWorkDirectory); OpenWorkDirectoryCommand = new RelayCommand(OpenWorkDirectory);
datosDeTrabajo = new DatosDeTrabajo(); datosDeTrabajo = new DatosDeTrabajo();
osListFilter = new ObjetosSimulablesFilterTypes(); OsListFilter = new ObjetosSimulablesFilterTypes();
OsListFilter.All = true;
osListFilter.PropertyChanged += OsListFilter_PropertyChanged; osListFilter.PropertyChanged += OsListFilter_PropertyChanged;
@ -245,7 +246,7 @@ namespace CtrEditor
{ {
var objeto = item as osBase; var objeto = item as osBase;
return (objeto.Cloned == osListFilter.Cloned) && return osListFilter.All || (objeto.Cloned == osListFilter.Cloned) &&
(objeto.Enable_On_All_Pages == osListFilter.Enable_On_All_Pages) && (objeto.Enable_On_All_Pages == osListFilter.Enable_On_All_Pages) &&
(objeto.Show_On_This_Page == osListFilter.Show_On_This_Page); (objeto.Show_On_This_Page == osListFilter.Show_On_This_Page);
} }

View File

@ -1,21 +1,9 @@
using Siemens.Simatic.Simulation.Runtime; using Siemens.Simatic.Simulation.Runtime;
using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading; using System.Windows.Threading;
namespace CtrEditor.Siemens namespace CtrEditor.Siemens
@ -118,7 +106,8 @@ namespace CtrEditor.Siemens
ConnectionStatus = "connected"; ConnectionStatus = "connected";
IsConnected = true; IsConnected = true;
} }
} catch (Exception ex) }
catch (Exception ex)
{ {
LastError = ex.Message; LastError = ex.Message;
ConnectionStatus = "offline"; ConnectionStatus = "offline";
@ -156,6 +145,49 @@ namespace CtrEditor.Siemens
} }
} }
public enum SiemensAbsoluteAreaType
{
IO,
M,
DB,
Tag
}
public enum SiemensAbsoluteTagType
{
Byte,
Char,
Int,
DInt,
Word,
DWord,
Real,
Date,
Time,
Time_Of_Day,
S5Time,
Bool,
String,
WString,
LReal,
UDInt,
USInt,
UInt,
ULInt,
LWord,
LInt,
Date_And_Time,
DTL
}
public class TagAddress
{
SiemensAbsoluteAreaType areaType;
SiemensAbsoluteTagType tagType;
int DB;
int word_offset;
int bit;
}
public class PLCModel public class PLCModel
{ {
public IInstance Instance { get; set; } public IInstance Instance { get; set; }
@ -167,7 +199,7 @@ namespace CtrEditor.Siemens
IsConfigured = false; IsConfigured = false;
try try
{ {
Instance?.UpdateTagList(ETagListDetails.IO | ETagListDetails.DB, true); // ETagListDetails.IO | ETagListDetails.DB Instance?.UpdateTagList(ETagListDetails.IO | ETagListDetails.DB | ETagListDetails.M, true); // ETagListDetails.IO | ETagListDetails.DB
IsConfigured = true; IsConfigured = true;
} }
catch (Exception ex) catch (Exception ex)
@ -238,7 +270,7 @@ namespace CtrEditor.Siemens
{ {
try try
{ {
Instance?.WriteInt16(pTag,(short) pValue); Instance?.WriteInt16(pTag, (short)pValue);
} }
catch (Exception ex) catch (Exception ex)
{ {

View File

@ -25,6 +25,9 @@ namespace CtrEditor
public bool enable_On_All_Pages; public bool enable_On_All_Pages;
[ObservableProperty] [ObservableProperty]
public bool show_On_This_Page; public bool show_On_This_Page;
[ObservableProperty]
public bool all;
} }
public class ListItemPropertyDescriptor<T> : PropertyDescriptor public class ListItemPropertyDescriptor<T> : PropertyDescriptor