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

BIN
Images/base.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -164,7 +164,7 @@ namespace CtrEditor
}
[ObservableProperty]
public ObjetosSimulablesFilterTypes osListFilter;
public ObjetosSimulablesFilterTypes osListFilter;
[ObservableProperty]
private TipoSimulable selectedItem;
@ -191,7 +191,8 @@ namespace CtrEditor
OpenWorkDirectoryCommand = new RelayCommand(OpenWorkDirectory);
datosDeTrabajo = new DatosDeTrabajo();
osListFilter = new ObjetosSimulablesFilterTypes();
OsListFilter = new ObjetosSimulablesFilterTypes();
OsListFilter.All = true;
osListFilter.PropertyChanged += OsListFilter_PropertyChanged;
@ -245,7 +246,7 @@ namespace CtrEditor
{
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.Show_On_This_Page == osListFilter.Show_On_This_Page);
}

View File

@ -1,21 +1,9 @@
using Siemens.Simatic.Simulation.Runtime;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
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;
namespace CtrEditor.Siemens
@ -118,7 +106,8 @@ namespace CtrEditor.Siemens
ConnectionStatus = "connected";
IsConnected = true;
}
} catch (Exception ex)
}
catch (Exception ex)
{
LastError = ex.Message;
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 IInstance Instance { get; set; }
@ -167,7 +199,7 @@ namespace CtrEditor.Siemens
IsConfigured = false;
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;
}
catch (Exception ex)
@ -238,7 +270,7 @@ namespace CtrEditor.Siemens
{
try
{
Instance?.WriteInt16(pTag,(short) pValue);
Instance?.WriteInt16(pTag, (short)pValue);
}
catch (Exception ex)
{

View File

@ -24,7 +24,10 @@ namespace CtrEditor
[ObservableProperty]
public bool enable_On_All_Pages;
[ObservableProperty]
public bool show_On_This_Page;
public bool show_On_This_Page;
[ObservableProperty]
public bool all;
}
public class ListItemPropertyDescriptor<T> : PropertyDescriptor