150 lines
3.5 KiB
C#
150 lines
3.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace S7Explorer.Models
|
|
{
|
|
public class S7Block : S7Object
|
|
{
|
|
private string _authorName;
|
|
private string _family;
|
|
private string _version;
|
|
private DateTime? _modified;
|
|
private int _size;
|
|
private string _language;
|
|
|
|
[DisplayName("Autor")]
|
|
public string AuthorName
|
|
{
|
|
get => _authorName;
|
|
set
|
|
{
|
|
if (_authorName != value)
|
|
{
|
|
_authorName = value;
|
|
OnPropertyChanged(nameof(AuthorName));
|
|
}
|
|
}
|
|
}
|
|
|
|
[DisplayName("Familia")]
|
|
public string Family
|
|
{
|
|
get => _family;
|
|
set
|
|
{
|
|
if (_family != value)
|
|
{
|
|
_family = value;
|
|
OnPropertyChanged(nameof(Family));
|
|
}
|
|
}
|
|
}
|
|
|
|
[DisplayName("Versión")]
|
|
public string Version
|
|
{
|
|
get => _version;
|
|
set
|
|
{
|
|
if (_version != value)
|
|
{
|
|
_version = value;
|
|
OnPropertyChanged(nameof(Version));
|
|
}
|
|
}
|
|
}
|
|
|
|
[DisplayName("Modificado")]
|
|
public DateTime? Modified
|
|
{
|
|
get => _modified;
|
|
set
|
|
{
|
|
if (_modified != value)
|
|
{
|
|
_modified = value;
|
|
OnPropertyChanged(nameof(Modified));
|
|
}
|
|
}
|
|
}
|
|
|
|
[DisplayName("Tamaño (bytes)")]
|
|
public int Size
|
|
{
|
|
get => _size;
|
|
set
|
|
{
|
|
if (_size != value)
|
|
{
|
|
_size = value;
|
|
OnPropertyChanged(nameof(Size));
|
|
}
|
|
}
|
|
}
|
|
|
|
[DisplayName("Lenguaje")]
|
|
public string Language
|
|
{
|
|
get => _language;
|
|
set
|
|
{
|
|
if (_language != value)
|
|
{
|
|
_language = value;
|
|
OnPropertyChanged(nameof(Language));
|
|
}
|
|
}
|
|
}
|
|
|
|
public S7Block()
|
|
{
|
|
// Establece valores predeterminados específicos para bloques
|
|
}
|
|
}
|
|
|
|
public class S7DataBlock : S7Block
|
|
{
|
|
private bool _instanceDb;
|
|
|
|
[DisplayName("Es DB de Instancia")]
|
|
public bool IsInstanceDb
|
|
{
|
|
get => _instanceDb;
|
|
set
|
|
{
|
|
if (_instanceDb != value)
|
|
{
|
|
_instanceDb = value;
|
|
OnPropertyChanged(nameof(IsInstanceDb));
|
|
}
|
|
}
|
|
}
|
|
|
|
public S7DataBlock()
|
|
{
|
|
ObjectType = S7ObjectType.DataBlock;
|
|
}
|
|
}
|
|
|
|
public class S7FunctionBlock : S7Block
|
|
{
|
|
public S7FunctionBlock()
|
|
{
|
|
ObjectType = S7ObjectType.FunctionBlock;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Clase para representar un parámetro de función
|
|
/// </summary>
|
|
public class FunctionParameter
|
|
{
|
|
public string Name { get; set; }
|
|
public string DataType { get; set; }
|
|
public string Direction { get; set; } // IN, OUT, IN/OUT
|
|
public string Description { get; set; }
|
|
}
|
|
} |