SECSTransactionBuilder.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Brooks.WinSECS;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.LoadPorts.SMIF
  8. {
  9. public static class SECSTransactionBuilder
  10. {
  11. public static SECSTransaction BuildS1F5(int formCode)
  12. {
  13. SECSTransaction secsTransaction = new SECSTransaction(1, 5);
  14. secsTransaction.Primary.Root.Name = "FSR";
  15. secsTransaction.Primary.Root.AddNew("SFCD", "Status form code");
  16. secsTransaction.Primary.Root.Item("SFCD").Format = SECS_FORMAT.BINARY;
  17. secsTransaction.Primary.Root.Item("SFCD").Value = formCode;
  18. secsTransaction.ReplyExpected = true;
  19. return secsTransaction;
  20. }
  21. public static SECSTransaction BuildS2F41(int rcmd, string cpname = "", string cpval = "")
  22. {
  23. SECSTransaction secsTransaction = new SECSTransaction(2, 41);
  24. secsTransaction.Primary.Root.Name = "HCS";
  25. secsTransaction.Primary.Root.AddNew("L2", "");
  26. secsTransaction.Primary.Root.Item("L2").Format = SECS_FORMAT.LIST;
  27. secsTransaction.Primary.Root.Item("L2").AddNew("RCMD", "Remote command code");
  28. secsTransaction.Primary.Root.Item("L2").Item("RCMD").Format = SECS_FORMAT.U1;
  29. secsTransaction.Primary.Root.Item("L2").Item("RCMD").Value = rcmd;
  30. secsTransaction.Primary.Root.Item("L2").AddNew("Ln", "");
  31. secsTransaction.Primary.Root.Item("L2").Item("Ln").Format = SECS_FORMAT.LIST;
  32. if (cpval != "")
  33. {
  34. secsTransaction.Primary.Root.Item("L2").Item("Ln").AddNew("CPAL", "Command parameter value");
  35. secsTransaction.Primary.Root.Item("L2").Item("Ln").Item("CPAL").Format = SECS_FORMAT.U2;
  36. secsTransaction.Primary.Root.Item("L2").Item("Ln").Item("CPAL").Value = cpval;
  37. }
  38. secsTransaction.ReplyExpected = true;
  39. return secsTransaction;
  40. }
  41. }
  42. }