twincatRecipe.cs 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.InteropServices;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Venus_Core
  8. {
  9. [StructLayout(LayoutKind.Sequential)]
  10. public class TwincatRecipe
  11. {
  12. [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.Struct, SizeConst = 100)]
  13. public RecipeEachStep[] Recipe = new RecipeEachStep[100];
  14. //[MarshalAs(UnmanagedType.I1)]
  15. //public bool DataReceivedFlag;
  16. }
  17. //public class ProcessRecipeFeedBack
  18. //{
  19. // public bool ProcessStart { get; set; }
  20. // public bool ProcessFinished { get; set; }
  21. // public short ProcessError { get; set; }
  22. // public short CurrentStepNo { get; set; }
  23. // public bool CurrentStepStart { get; set; }
  24. // public bool CurrentStepFinished { get; set; }
  25. //}
  26. [StructLayout(LayoutKind.Sequential)]
  27. public class ProcessRecipeFeedBack
  28. {
  29. [MarshalAs(UnmanagedType.I1)]
  30. public bool ProcessStart;
  31. [MarshalAs(UnmanagedType.I1)]
  32. public bool ProcessFinished;
  33. [MarshalAs(UnmanagedType.I2)]
  34. public short ProcessError;
  35. //[MarshalAs(UnmanagedType.I2)]
  36. //public short ProcessStartTime;
  37. //[MarshalAs(UnmanagedType.I2)]
  38. //public short ProcessFinishedTime;
  39. [MarshalAs(UnmanagedType.I2)]
  40. public short CurrentStepNo;
  41. [MarshalAs(UnmanagedType.I1)]
  42. public bool CurrentStepStart;
  43. [MarshalAs(UnmanagedType.I1)]
  44. public bool CurrentStepFinished;
  45. //[MarshalAs(UnmanagedType.I2)]
  46. //public short CurrentStepStartTime;
  47. //[MarshalAs(UnmanagedType.I2)]
  48. //public short CurrentStepFinishedTime;
  49. }
  50. [StructLayout(LayoutKind.Sequential)]
  51. public class ProcessRecipe
  52. {
  53. //总字节数44603
  54. [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.Struct, SizeConst = 100)]
  55. public RecipeEachStep[] Recipe = new RecipeEachStep[100];
  56. }
  57. [StructLayout(LayoutKind.Sequential)]
  58. public struct RecipeEachStep
  59. {
  60. //总字节数446
  61. [MarshalAs(UnmanagedType.I2)]
  62. public short StepNo;
  63. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 81)]
  64. public string Completion;//'Stable', 'Time' or 'End'
  65. [MarshalAs(UnmanagedType.I2)]
  66. public short StepTime;
  67. [MarshalAs(UnmanagedType.I2)]
  68. public short AddTime;
  69. [MarshalAs(UnmanagedType.I1)]
  70. public bool CycleStart;
  71. [MarshalAs(UnmanagedType.I1)]
  72. public bool CycleEnd;
  73. [MarshalAs(UnmanagedType.I2)]
  74. public short CycleNumber;
  75. [MarshalAs(UnmanagedType.I1)]
  76. public bool Lifter;
  77. [MarshalAs(UnmanagedType.I2)]
  78. public short AdjustTargetStepNo;
  79. [MarshalAs(UnmanagedType.I1)]
  80. public bool Data;
  81. [MarshalAs(UnmanagedType.Struct)]
  82. public Lst LstUnit;
  83. }
  84. [StructLayout(LayoutKind.Sequential)]
  85. public struct Lst
  86. {
  87. [MarshalAs(UnmanagedType.Struct)]
  88. public LstPressure Pressure;
  89. [MarshalAs(UnmanagedType.Struct)]
  90. public LstGas LstGas;
  91. [MarshalAs(UnmanagedType.Struct)]
  92. public LstHeater LstHeater;
  93. }
  94. [StructLayout(LayoutKind.Sequential)]
  95. public struct LstPressure
  96. {
  97. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 81)]
  98. public string ToleranceMode;//'Value' or 'Percent'
  99. [MarshalAs(UnmanagedType.I2)]
  100. public short ToleranceDelayTime;
  101. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 81)]
  102. public string PressureUnitMode;//'Pressure' or 'Position'
  103. [MarshalAs(UnmanagedType.I2)]
  104. public short StartValue;
  105. [MarshalAs(UnmanagedType.I2)]
  106. public short StartValueWarningRange;
  107. [MarshalAs(UnmanagedType.I2)]
  108. public short StartValueAlarmRange;
  109. [MarshalAs(UnmanagedType.I2)]
  110. public short ValvePositionPreset;
  111. [MarshalAs(UnmanagedType.I1)]
  112. public bool EnableRamp;
  113. [MarshalAs(UnmanagedType.I2)]
  114. public short HoldTime;
  115. [MarshalAs(UnmanagedType.I2)]
  116. public short RampTime;
  117. [MarshalAs(UnmanagedType.I2)]
  118. public short TargetValue;
  119. }
  120. [StructLayout(LayoutKind.Sequential)]
  121. public struct LstGas
  122. {
  123. [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 81)]
  124. public string ToleranceMode;//'Value' or 'Percent'
  125. [MarshalAs(UnmanagedType.I2)]
  126. public short ToleranceDelayTime;
  127. [MarshalAs(UnmanagedType.I2)]
  128. public short Gas1;
  129. [MarshalAs(UnmanagedType.I2)]
  130. public short Gas1WarningRange;
  131. [MarshalAs(UnmanagedType.I2)]
  132. public short Gas1AlarmRange;
  133. [MarshalAs(UnmanagedType.I2)]
  134. public short Gas2;
  135. [MarshalAs(UnmanagedType.I2)]
  136. public short Gas2WarningRange;
  137. [MarshalAs(UnmanagedType.I2)]
  138. public short Gas2AlarmRange;
  139. [MarshalAs(UnmanagedType.I2)]
  140. public short Gas3;
  141. [MarshalAs(UnmanagedType.I2)]
  142. public short Gas3WarningRange;
  143. [MarshalAs(UnmanagedType.I2)]
  144. public short Gas3AlarmRange;
  145. [MarshalAs(UnmanagedType.I2)]
  146. public short Gas4;
  147. [MarshalAs(UnmanagedType.I2)]
  148. public short Gas4WarningRange;
  149. [MarshalAs(UnmanagedType.I2)]
  150. public short Gas4AlarmRange;
  151. [MarshalAs(UnmanagedType.I2)]
  152. public short Gas5;
  153. [MarshalAs(UnmanagedType.I2)]
  154. public short Gas5WarningRange;
  155. [MarshalAs(UnmanagedType.I2)]
  156. public short Gas5AlarmRange;
  157. [MarshalAs(UnmanagedType.I2)]
  158. public short Gas6;
  159. [MarshalAs(UnmanagedType.I2)]
  160. public short Gas6WarningRange;
  161. [MarshalAs(UnmanagedType.I2)]
  162. public short Gas6AlarmRange;
  163. [MarshalAs(UnmanagedType.I2)]
  164. public short Gas7;
  165. [MarshalAs(UnmanagedType.I2)]
  166. public short Gas7WarningRange;
  167. [MarshalAs(UnmanagedType.I2)]
  168. public short Gas7AlarmRange;
  169. //[MarshalAs(UnmanagedType.I2)]
  170. //public short Gas8;
  171. //[MarshalAs(UnmanagedType.I2)]
  172. //public short Gas8WarningRange;
  173. //[MarshalAs(UnmanagedType.I2)]
  174. //public short Gas8AlarmRange;
  175. //[MarshalAs(UnmanagedType.I2)]
  176. //public short Gas9;
  177. //[MarshalAs(UnmanagedType.I2)]
  178. //public short Gas9WarningRange;
  179. //[MarshalAs(UnmanagedType.I2)]
  180. //public short Gas9AlarmRange;
  181. }
  182. [StructLayout(LayoutKind.Sequential)]
  183. public struct LstHeater
  184. {
  185. [MarshalAs(UnmanagedType.I2)]
  186. public short WallTemp;
  187. [MarshalAs(UnmanagedType.I2)]
  188. public short WallTempWaningRange;
  189. [MarshalAs(UnmanagedType.I2)]
  190. public short WallTempAlarmRange;
  191. [MarshalAs(UnmanagedType.I2)]
  192. public short LidTemp;
  193. [MarshalAs(UnmanagedType.I2)]
  194. public short LidTempWaningRange;
  195. [MarshalAs(UnmanagedType.I2)]
  196. public short LidTempAlarmRange;
  197. [MarshalAs(UnmanagedType.I2)]
  198. public short StageEdgeTemp;
  199. [MarshalAs(UnmanagedType.I2)]
  200. public short StageEdgeTempWaningRange;
  201. [MarshalAs(UnmanagedType.I2)]
  202. public short StageEdgeTempAlarmRange;
  203. [MarshalAs(UnmanagedType.I2)]
  204. public short StageCenterTemp;
  205. [MarshalAs(UnmanagedType.I2)]
  206. public short StageCenterTempWaningRange;
  207. [MarshalAs(UnmanagedType.I2)]
  208. public short StageCenterTempAlarmRange;
  209. //[MarshalAs(UnmanagedType.I1)]
  210. //public bool TCP_EnableRamp;
  211. //[MarshalAs(UnmanagedType.I2)]
  212. //public short TCP_RFPower;
  213. //[MarshalAs(UnmanagedType.I2)]
  214. //public short TCP_TuneCapPreset;
  215. //[MarshalAs(UnmanagedType.I2)]
  216. //public short TCP_LoadCapPreset;
  217. //[MarshalAs(UnmanagedType.I2)]
  218. //public short TCP_AutoTuneCapPreset;
  219. //[MarshalAs(UnmanagedType.I2)]
  220. //public short TCP_AutoLoadCapPreset;
  221. //[MarshalAs(UnmanagedType.I2)]
  222. //public short TCP_MaxReflectedPower;
  223. //[MarshalAs(UnmanagedType.I2)]
  224. //public short TCP_TargetRFPower;
  225. //[MarshalAs(UnmanagedType.LPStr)]
  226. //public string TCP_UnitName;
  227. //[MarshalAs(UnmanagedType.R4)]
  228. //public float AI_Chamber_Pressure_10t;
  229. }
  230. }