PLC_Server.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. 
  2. using System;
  3. using Curtain.Net.Sockets.PLC;
  4. using PLC_S.ServerModel;
  5. namespace PLC_S
  6. {
  7. public class PLC_Server
  8. {
  9. public static PLC_S_S PLC_S_S = null;
  10. public static IWindowsServer ServerSocket = null;
  11. public static void Start()
  12. {
  13. try
  14. {
  15. if (ServerSocket != null)
  16. {
  17. Stop();
  18. }
  19. }
  20. catch { }
  21. PLC_S_S = PLC_S_S.Get();
  22. switch (PLC_S_S.PLCServiceType)
  23. {
  24. // 产品型号
  25. case "GC":
  26. ServerSocket = new GoodsCode();
  27. break;
  28. //// 产品等级
  29. //case "GL":
  30. // ServerSocket = new GoodsLevel();
  31. // break;
  32. // 工序计件
  33. case "PW":
  34. ServerSocket = new PieceWork();
  35. break;
  36. case "FGC_BZ":
  37. ServerSocket = new FGC_BZ();
  38. break;
  39. //// 条码打印
  40. //case "BP":
  41. // ServerSocket = new BarcodePrint();
  42. // break;
  43. //// 高压注浆
  44. //case "HPG":
  45. // ServerSocket = new HighPressureGrouting();
  46. // break;
  47. //// 登窑
  48. //case "KL":
  49. // ServerSocket = new KilnLoad();
  50. // break;
  51. //// 入窑
  52. //case "KI":
  53. // ServerSocket = new KilnInput();
  54. // break;
  55. //// 卸窑
  56. //case "KUL":
  57. // ServerSocket = new KilnUnLoad();
  58. // break;
  59. default:
  60. throw new NotImplementedException(PLC_S_S.PLCServiceType);
  61. }
  62. ServerSocket.Start(PLC_S_S.Port);
  63. return;
  64. }
  65. public static void Stop()
  66. {
  67. ServerSocket?.Stop();
  68. ServerSocket?.Dispose();
  69. ServerSocket = null;
  70. }
  71. }
  72. }