IoSignalLight.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Xml;
  2. using Aitex.Core.RT.IOCore;
  3. namespace Aitex.Core.RT.Device.Unit
  4. {
  5. public class IoSignalLight : BaseDevice, IDevice
  6. {
  7. private bool _value;
  8. private DOAccessor _do = null;
  9. private DIAccessor _diFeedback;
  10. public bool Value
  11. {
  12. get
  13. {
  14. if (_diFeedback != null)
  15. return _diFeedback.Value;
  16. if (_do != null)
  17. return _do.Value;
  18. return false;
  19. }
  20. set
  21. {
  22. _value = value;
  23. string reason;
  24. _do.SetValue(value, out reason);
  25. }
  26. }
  27. public IoSignalLight(string module, XmlElement node)
  28. {
  29. base.Module = module;
  30. base.Name = node.GetAttribute("id");
  31. base.Display = node.GetAttribute("display");
  32. base.DeviceID = node.GetAttribute("schematicId");
  33. _do = ParseDoNode("doSet", node);
  34. _diFeedback = ParseDiNode("diFeedback", node);
  35. }
  36. public bool Initialize() { return true; }
  37. public void Terminate() { }
  38. public void Monitor() { }
  39. public void Reset() { }
  40. }
  41. }