You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
3.1 KiB

  1. // ********************************************************************************
  2. // 文件名字: Command.S2F33
  3. // 文件描述: Command.S2F33
  4. // 开发人员: Michael
  5. // 创建时间: 2019/11/8 0:08
  6. //
  7. // 更新历史:
  8. // + 创建 Command.S2F33.cs 文件. by Michael @2019/11/8 0:08
  9. // ********************************************************************************
  10. using ARI.EAP.HOST;
  11. using ARI.EAP.HOST.Common;
  12. using ARI.EAP.HOST.SRD;
  13. using Glorysoft.SECS.EQP.Message;
  14. using Glorysoft.SECS.EQP.Utilities;
  15. using Glorysoft.SECSwell;
  16. using System;
  17. using System.Collections.Generic;
  18. namespace Glorysoft.SECS.EQP.Commands
  19. {
  20. public partial class Command
  21. {
  22. public static void S2F33Command(S2F33Item items, object tag = null)
  23. {
  24. if (SimulatorInfo.Instance.Context != null && SimulatorInfo.Instance.Context.IsConnected)
  25. {
  26. var trans = SimulatorInfo.Instance.Context.GetTransaction(2, 33, "S2F33");
  27. trans.Primary.Root.Item(1).SetValue(eSECS_FORMAT.U4,items.DATAID);
  28. var sc = tag as Scenario;
  29. if (!EquipmentStatus.initStatus)
  30. {
  31. foreach (var item in items.Reports)
  32. {
  33. var rpt = SECSUtil.CreateSECSItem("", eSECS_FORMAT.LIST);
  34. rpt.Add(SECSUtil.CreateSECSItem(nameof(item.RPTID), eSECS_FORMAT.U4, item.RPTID));
  35. rpt.Add(SECSUtil.CreateSECSItem("", eSECS_FORMAT.LIST));
  36. //foreach (var svid in item.SVIDs)
  37. //{
  38. // rpt.Item(2).Add(SECSUtil.CreateSECSItem("SVID", eSECS_FORMAT.U4, svid));
  39. //}
  40. trans.Primary.Root.Item(2).Add(rpt);
  41. }
  42. }
  43. else
  44. {
  45. foreach (var even in Configurations.conf.sRDConfiguration.events)
  46. {
  47. var rpt = SECSUtil.CreateSECSItem(even.name, eSECS_FORMAT.LIST);
  48. rpt.Add(SECSUtil.CreateSECSItem(nameof(even.reportid), eSECS_FORMAT.U4, even.reportid));
  49. rpt.Add(SECSUtil.CreateSECSItem("SVList", eSECS_FORMAT.LIST));
  50. foreach(var id in even.validVariables)
  51. {
  52. rpt.Item(2).Add(SECSUtil.CreateSECSItem(Configurations.conf.sRDConfiguration.tryGetSVOrDV(id), eSECS_FORMAT.U4, id));
  53. }
  54. trans.Primary.Root.Item(2).Add(rpt);
  55. }
  56. }
  57. trans.Tag = tag;
  58. SimulatorInfo.Instance.Context.SendMessage(trans);
  59. LoggerService.SECSLogger.Info(trans.Primary);
  60. if (!EquipmentStatus.initStatus)
  61. Global.MF.addlog(trans, LoggerService.Send, "Delete Reports", 0);
  62. else
  63. Global.MF.addlog(trans, LoggerService.Send, "Define Reports", 0);
  64. LoggerService.SECSLogger.Info(trans.Primary);
  65. }
  66. }
  67. }
  68. }