Commit Graph

14 Commits

Author SHA1 Message Date
Miguel 9d6c554534 feat: Implement address normalization and tag mapping functionality
- Added ExampleAddressNormalization class to demonstrate automatic address normalization for PLCs.
- Introduced MapTagToAddress function in PLCViewModel for mapping symbolic tags to absolute addresses.
- Enhanced reading and writing functions to utilize the new mapping system, ensuring compatibility with both AdvCoSimulator and Sharp7 drivers.
- Improved error messages for unsupported tag operations in Sharp7 mode.
- Updated documentation to reflect changes in tag handling and address normalization.
- Created TagMappingExample class to showcase differential behavior between drivers.
- Unified interface for tag operations, eliminating driver-specific code.
- Prepared for future implementation of a tag mapping table.
2025-09-03 10:15:24 +02:00
Miguel c7ecdb7c14 feat: Implement dual driver support for PLC communication with Snap7 and AdvCoSimulator
- Added IPlcConnection interface for abstraction of PLC connections.
- Implemented Sharp7Connection for native S7 communication using Sharp7 library.
- Implemented AdvCoSimulatorConnection for communication with Siemens PLCSim.
- Unified API for reading/writing boolean and numeric values across both drivers.
- Enhanced PLCViewModel to support dynamic driver switching and connection management.
- Created ExampleUsage.cs to demonstrate usage of the library with both drivers.
- Updated README.md with installation instructions and API usage examples.
- Added diagnostic tests in TestApp.cs to validate driver configurations.
- Removed snap7.dll dependency and migrated to managed Sharp7 library.
2025-09-02 18:55:37 +02:00
Miguel 3bf7527a91 Implementada lógica de actualización segura en PLCViewModel para evitar actualizaciones concurrentes y mejorar la gestión de tiempos de espera. 2025-09-02 12:48:00 +02:00
Miguel 4a05bad08a Implementada protección contra actualizaciones concurrentes en PLCViewModel para evitar loops infinitos y mejorar la estabilidad del sistema. 2025-06-23 21:20:12 +02:00
Miguel c0ff14a5ae Mejorado logica cuando el PLC esta siendo actualizado 2025-03-26 15:19:27 +01:00
Miguel 430dbfbb76 Agregada clase de Serializacion para separar la logica del MainViewModel 2025-02-21 15:12:10 +01:00
Miguel 210b93b15a Quitado los cronometros para mejorar la performance 2025-02-17 13:03:43 +01:00
Miguel 72256a214c Agregada funcion de analizar la matriz de exportacion de tags. Creada un submenu para cargar los ultimos directorios ustilizados. Cambiado intercambio de datos para los Motores simulados a DINT 2025-02-14 14:04:29 +01:00
Miguel 5208ae54b3 Agregado Timers para ver donde se pierde tiempo 2025-02-13 14:01:54 +01:00
Miguel b7cddacde5 Creado Encoder Lineal. Corregido error de inicio de tiempo en simulacion. Creado Frame Plate para que se muevan los objetos con un encoder lineal. Agregado a los transportes la actualizacion de geometrias en caso de que sean movidos por la interfaz. 2025-01-04 10:34:19 +01:00
Miguel 81643249b9 Mejorada la implementacion de rotacion y redimensionado. 2024-06-28 19:47:08 +02:00
Miguel b3f5ebc53a Mejorado UserControl 2024-06-23 00:07:41 +02:00
Miguel 2addea3c17 Add project files. 2024-06-22 19:08:27 +02:00
Miguel f04e6a28b2 Add .gitattributes and .gitignore. 2024-06-22 19:08:26 +02:00