No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

83 líneas
2.6 KiB

  1. #region << 版 本 注 释 >>
  2. /*----------------------------------------------------------------
  3. * 创建者:13118
  4. * 创建时间:2022/3/17 15:08:35
  5. * 版本:V1.0.0
  6. * 描述:
  7. *
  8. * ----------------------------------------------------------------
  9. * 修改人:
  10. * 时间:
  11. * 修改说明:
  12. *
  13. * 版本:V1.0.1
  14. *----------------------------------------------------------------*/
  15. #endregion << 版 本 注 释 >>
  16. using ARI.EAP.HOST.SRD;
  17. using ARI.EAP.HOST.Utilities;
  18. using Glorysoft.SECS.EQP.Utilities;
  19. using System;
  20. using System.Collections.Generic;
  21. using System.Linq;
  22. using System.Text;
  23. using System.Threading.Tasks;
  24. using System.Timers;
  25. namespace ARI.EAP.HOST.Common
  26. {
  27. /// <summary>
  28. /// MESHeartBit 的摘要说明
  29. /// 提供与MES的连接心跳和monitor的心跳
  30. /// </summary>
  31. public class MESHeartBit
  32. {
  33. private Timer timer1;
  34. private string url = Configurations.conf.httpConfiguration.heartBitUrl;
  35. public MESHeartBit()
  36. {
  37. timer1 = new Timer(60000);
  38. timer1.Elapsed += new ElapsedEventHandler(Method);
  39. timer1.AutoReset = true;
  40. timer1.Enabled = true;
  41. }
  42. public void Method(object source, ElapsedEventArgs e)
  43. {
  44. string httpContent = SECSUtil.ToJson<MESHeartBitParam>(new MESHeartBitParam());
  45. HttpUtils.sentPOST(url,httpContent);
  46. EquipmentStatus.socketClient.SendMessage(httpContent);
  47. }
  48. public void Method()
  49. {
  50. string httpContent = SECSUtil.ToJson<MESHeartBitParam>(new MESHeartBitParam());
  51. HttpUtils.sentPOST(url, httpContent);
  52. EquipmentStatus.socketClient.SendMessage(httpContent);
  53. }
  54. }
  55. [Serializable]
  56. public class MESHeartBitParam
  57. {
  58. public string connectStatus { get; set; }
  59. public string deviceId { get; set; }
  60. public string eapStatus { get; set; }
  61. public string equipmentName { get; set; }
  62. public string ip { get; set; }
  63. public string mqStatus { get; set; }
  64. public string port { get; set; }
  65. public MESHeartBitParam()
  66. {
  67. this.deviceId = Configurations.conf.connectSetting.deviceId;
  68. this.equipmentName = Configurations.conf.connectSetting.equipmentName1;
  69. this.ip = Configurations.conf.connectSetting.remoteIp;
  70. this.port = Configurations.conf.connectSetting.remotePort;
  71. this.connectStatus = EquipmentStatus.EqConnectState;
  72. this.mqStatus = EquipmentStatus.MQstate;
  73. this.eapStatus = EquipmentStatus.EapState.ToString();
  74. }
  75. }
  76. }