MinicsManager.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using Aitex.Core.RT.Event;
  2. using Aitex.Core.RT.RecipeCenter;
  3. using Aitex.Core.Util;
  4. using MECF.Framework.Common.Equipment;
  5. using MECF.Framework.Common.Event;
  6. using MECF.Framework.Common.SCCore;
  7. using Microsoft.VisualBasic.Devices;
  8. using RTCommunicatorBase;
  9. using RTCommunicatorTLV;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Linq;
  13. using System.Reflection;
  14. using System.Text;
  15. using System.Threading;
  16. using System.Threading.Tasks;
  17. namespace MECF.Framework.Common.Minics
  18. {
  19. public class MinicsManager : Singleton<MinicsManager>, IRTMini8Provider
  20. {
  21. public void Connected(string ip, int port)
  22. {
  23. Console.WriteLine($"DisconnectedNotify {ip} {port}");
  24. }
  25. public void DisConnected(string ip, int port)
  26. {
  27. Console.WriteLine($"DisconnectedNotify {ip} {port}");
  28. }
  29. private RTCommunicator_TLV communicator = new RTCommunicator_TLV();
  30. public void Initialize(string ip = "127.0.0.1", int port = 50052)
  31. {
  32. communicator.Initialize(this);
  33. SWJConnectedMinics(ip, port);
  34. }
  35. public void SWJConnectedMinics(string ip, int port)
  36. {
  37. if (communicator.StartService(ip, port))
  38. {
  39. EV.PostInfoLog(ModuleName.Minics.ToString(), $"minics Connected {ip}:{port} sucessful");
  40. }
  41. else
  42. {
  43. for (int i = 1; i <= 3; i++)
  44. {
  45. var status = this.communicator.StartService(ip, port);
  46. try
  47. {
  48. if (status)
  49. break;
  50. }
  51. catch
  52. {
  53. if (i == 3)
  54. return;
  55. Thread.Sleep(300);
  56. EV.PostAlarmLog(ModuleName.Minics.ToString(), $"retry minics Connected {ip}:{port} error {i} times");
  57. }
  58. }
  59. }
  60. }
  61. public void End()
  62. {
  63. }
  64. public void SelectMinicsConfig(string minicsConfigName)
  65. {
  66. bool result = communicator.SelectConfigFile(minicsConfigName);
  67. if (!result)
  68. {
  69. EV.PostAlarmLog(ModuleName.Minics.ToString(), $"SelectMinicsConfig {minicsConfigName} fail!");
  70. }
  71. }
  72. public void CurrentTempConfigFile(string fileName)
  73. {
  74. }
  75. public void ChannelAlarmNotify(ST_ALARM alarm)
  76. {
  77. }
  78. public void Mini8ConnectNotify(byte mini8Index)
  79. {
  80. }
  81. public void Mini8DisconnectNotify(byte mini8)
  82. {
  83. }
  84. }
  85. }