版博士V2.0程序
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

590 строки
15 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace MaiMuAOI.SysCtrl
  8. {
  9. public enum LightChannelEnum
  10. {
  11. [Description("通道1")]
  12. CH1 = 1,
  13. [Description("通道2")]
  14. CH2 = 2,
  15. [Description("通道3")]
  16. CH3 = 3,
  17. [Description("通道4")]
  18. CH4 = 4,
  19. [Description("通道5")]
  20. CH5 = 5,
  21. [Description("通道6")]
  22. CH6 = 6,
  23. }
  24. public enum AxisName
  25. {
  26. [Description("0-X1轴")]
  27. Axis0 = 0,
  28. [Description("1-X2轴")]
  29. Axis1 = 1,
  30. [Description("2-Y轴")]
  31. Axis2 = 2,
  32. [Description("3-Z轴")]
  33. Axis3 = 3,
  34. }
  35. public enum AxMoveMode
  36. {
  37. //MODE1_Abs = 0,
  38. //MODE2_Rel = 1,
  39. 绝对位置 = 0,
  40. 相对位置 = 1,
  41. }
  42. public enum MarkCam
  43. {
  44. 尺寸检测Mark,
  45. 缺陷检测Mark
  46. }
  47. public enum SmallAxCmdPos
  48. {
  49. 倍率0_58X = 0,
  50. 倍率1_0X = 4600,
  51. 倍率1_5X = 6700,
  52. 倍率2_0X = 8400,
  53. 倍率2_5X = 10300,
  54. 倍率3_0X = 11700,
  55. 倍率3_5X = 12800,
  56. 倍率4_0X = 13650,
  57. 倍率4_5X = 14500,
  58. 倍率5_0X = 15200,
  59. 倍率5_5X = 15900,
  60. 倍率6_0X = 16500,
  61. 倍率6_5X = 17150,
  62. 倍率7_0X = 17700,
  63. 倍率7_5X = 18650,
  64. }
  65. public enum IODirectionEnum
  66. {
  67. [Description("仅输入")]
  68. 输入 = 0,
  69. [Description("仅输出")]
  70. 输出 = 1,
  71. [Description("输入与输出")]
  72. 输入输出 = 2,
  73. }
  74. public enum AxisState : uint
  75. {
  76. STA_AX_DISABLE,
  77. STA_AX_READY,
  78. STA_AX_STOPPING,
  79. STA_AX_ERROR_STOP,
  80. STA_AX_HOMING,
  81. STA_AX_PTP_MOT,
  82. STA_AX_CONTI_MOT,
  83. STA_AX_SYNC_MOT,
  84. STA_AX_EXT_JOG,
  85. STA_AX_EXT_MPG,
  86. STA_AX_PAUSE,
  87. STA_AX_BUSY,
  88. STA_AX_WAIT_DI,
  89. STA_AX_WAIT_PTP,
  90. STA_AX_WAIT_VEL
  91. }
  92. public enum ScannerType
  93. {
  94. [Description("板卡相机")]
  95. GENTL = 0,
  96. [Description("网口相机")]
  97. CC = 1,
  98. }
  99. public enum AIEngineLibEnum
  100. {
  101. [Description("缺陷库")]
  102. 缺陷库 = 0,
  103. [Description("测量库")]
  104. 测量库 = 1,
  105. [Description("缺陷与测量库")]
  106. 缺陷与测量库 = 2,
  107. }
  108. public enum DefectCodeEnum
  109. {
  110. [Description("堵孔")]
  111. dk,
  112. [Description("脏污")]
  113. zw,
  114. [Description("纤维丝")]
  115. xws,
  116. [Description("钢丝异常")]
  117. gsyc,
  118. [Description("缺口")]
  119. qk,
  120. [Description("针孔")]
  121. zk,
  122. [Description("泡泡")]
  123. pp,
  124. [Description("划伤")]
  125. hs,
  126. [Description("压线")]
  127. yx,
  128. [Description("斜边")]
  129. xb,
  130. [Description("格栅")]
  131. gs,
  132. [Description("断栅")]
  133. ds,
  134. [Description("钢丝断裂")]
  135. gsdl,
  136. [Description("残胶堵孔")]
  137. cjdk,
  138. [Description("正常")]
  139. normal,
  140. }
  141. public enum DefectNameEnum
  142. {
  143. 堵孔,
  144. 脏污,
  145. 纤维丝,
  146. 钢丝异常,
  147. 缺口,
  148. 针孔,
  149. 泡泡,
  150. 划伤,
  151. 压线,
  152. 斜边,
  153. 格栅,
  154. 断栅,
  155. 钢丝断裂,
  156. 残胶堵孔,
  157. 正常
  158. }
  159. public enum ValType
  160. {
  161. 字符串,
  162. 数值,
  163. }
  164. public enum CMDName
  165. {
  166. IO默认输出 = 0,
  167. 启动按钮 = 10,//输入+输出
  168. 暂停按钮 = 11,//输入+输出
  169. 复位按钮 = 12,//输入+输出
  170. 绿灯输出 = 15,
  171. 黄灯输出 = 16,
  172. 红灯输出 = 17,
  173. 日光灯输出 = 18,
  174. 蜂鸣器输出 = 20,
  175. //张力读取结束输出 = 25,//张力读取
  176. 张力读取 = 25,//张力读取
  177. 喷墨输出 = 26,
  178. 门磁告警输入 = 30,
  179. 喷墨告警输入 = 31,
  180. 厚度气缸与轴运动告警 = 34,
  181. 下料完成输出 = 35,
  182. Y轴复位输出 = 40,
  183. Y轴复位完成输入 = 41,
  184. }
  185. public enum DOName
  186. {
  187. 三色灯红灯 = 0,
  188. 三色灯绿灯 = 1,
  189. 三色灯黄灯 = 2,
  190. 三色灯蜂鸣器 = 3,
  191. 测厚气缸 = 4,
  192. 加紧气缸 = 5,
  193. 双手启动绿灯 = 7,
  194. 启动按钮绿灯 = 8,
  195. 复位按钮黄灯 = 9,
  196. 停止按钮红灯 = 10,
  197. 触发张力按钮灯 = 11,
  198. 日光灯 = 12,
  199. X1回原 = 13,
  200. X2回原 = 14,
  201. Y轴回原点 = 15
  202. }
  203. public enum DIName
  204. {
  205. 启动按钮 = 14,
  206. 暂停按钮 = 3,
  207. 复位按钮 = 2,
  208. 触发张力 = 4,
  209. 产品有无 = 5,
  210. 右夹紧缩回 = 6,
  211. 右夹紧伸出 = 7,
  212. 前夹紧缩回 = 8,
  213. 前夹紧伸出 = 9,
  214. 侧推伸出 = 0,
  215. 侧推缩回 = 1,
  216. 双手启动 = 10,
  217. 门磁 = 11,
  218. Y轴回原点完成 = 15
  219. }
  220. /// <summary>
  221. /// 数据处理方式
  222. /// </summary>
  223. public enum DataProcess
  224. {
  225. 均值,
  226. 最大值,
  227. 最小值
  228. }
  229. /// <summary>
  230. /// 数据判断方式
  231. /// </summary>
  232. public enum DataJudgment
  233. {
  234. 均值,
  235. 单点,
  236. }
  237. public enum PointTestType
  238. {
  239. Y轴方向PT值检测,
  240. 线宽正面,
  241. 反面检测,
  242. X轴方向PT值检测,
  243. 主栅连接线检测,
  244. 主栅宽度检测,
  245. 主栅间距,
  246. 细栅间距检测,
  247. 背极宽度,
  248. 主栅长度检测,
  249. Mark点横向间距,
  250. Mark点竖向间距,
  251. 鱼叉口长,
  252. 鱼叉口宽,
  253. 鱼叉口间距,
  254. 蜈蚣角长,
  255. 蜈蚣角宽,
  256. 分片间隔,
  257. 焊点长,
  258. 焊点宽,
  259. 焊点间隔,
  260. SP2主栅宽度,
  261. 断点间隔
  262. }
  263. #region 打印数据类型
  264. public enum PrinterType
  265. {
  266. Label,
  267. Excel
  268. }
  269. public enum PrintDataEnum
  270. {
  271. [Description("检测结果")]
  272. Qualified,
  273. [Description("外观比对")]
  274. CompareResult,
  275. [Description("张力均值")]
  276. TensionValue,
  277. [Description("膜厚均值")]
  278. HeightValue,
  279. [Description("线宽均值")]
  280. LineWidthValue,
  281. [Description("Y-PT均值")]
  282. PTValue,
  283. [Description("X-PT均值")]
  284. XPTValue,
  285. [Description("反面线宽均值")]
  286. FLineWidthValue,
  287. [Description("主栅连接线均值")]
  288. MGridIntervalValue,
  289. [Description("主栅宽度均值")]
  290. MGridWidthValue,
  291. [Description("主栅间距均值")]
  292. MGridSpreadValue,
  293. [Description("细栅间距均值")]
  294. FGridSpreadValue,
  295. [Description("背极宽度均值")]
  296. BackPoleWidthValue,
  297. [Description("主栅长度均值")]
  298. MGridLengthValue,
  299. [Description("Mark点横向间距均值")]
  300. MarkXDisValue ,
  301. [Description("Mark点竖向间距均值")]
  302. MarkYDisValue ,
  303. [Description("鱼叉口长均值")]
  304. ForkLengthValue,
  305. [Description("鱼叉口宽均值")]
  306. ForkWidthValue ,
  307. [Description("鱼叉口间距均值")]
  308. ForkDisValue ,
  309. [Description("蜈蚣角长均值")]
  310. ChilopodLengthValue,
  311. [Description("蜈蚣角宽均值")]
  312. ChilopodWidthValue ,
  313. [Description("分片间隔均值")]
  314. ShardingDisValue ,
  315. [Description("焊点间隔均值")]
  316. WeldingSpotDisValue,
  317. [Description("焊点长均值")]
  318. WeldingSpotLengthValue ,
  319. [Description("焊点宽均值")]
  320. WeldingSpotWidthValue ,
  321. [Description("张力上下限")]
  322. TensionValueLimit,
  323. [Description("膜厚上下限")]
  324. HeightValueLimit,
  325. [Description("线宽上下限")]
  326. LineWidthValueLimit,
  327. [Description("Y-PT上下限")]
  328. PTValueLimit,
  329. [Description("X-PT上下限")]
  330. XPTValueLimit,
  331. [Description("反面线宽上下限")]
  332. FLineWidthValueLimit,
  333. [Description("主栅连接线上下限")]
  334. MGridIntervalValueLimit,
  335. [Description("主栅宽度上下限")]
  336. MGridWidthValueLimit,
  337. [Description("主栅间距上下限")]
  338. MGridSpreadValueLimit,
  339. [Description("细栅间距上下限")]
  340. FGridSpreadValueLimit,
  341. [Description("背极宽度上下限")]
  342. BackPoleWidthValueLimit,
  343. [Description("主栅长度上下限")]
  344. MGridLengthValueLimit,
  345. [Description("Mark点横向间距上下限")]
  346. MarkXDisValueLimit,
  347. [Description("Mark点竖向间距上下限")]
  348. MarkYDisValueLimit,
  349. [Description("鱼叉口长上下限")]
  350. ForkLengthValueLimit,
  351. [Description("鱼叉口宽上下限")]
  352. ForkWidthValueLimit,
  353. [Description("鱼叉口间距上下限")]
  354. ForkDisValueLimit,
  355. [Description("蜈蚣角长上下限")]
  356. ChilopodLengthValueLimit,
  357. [Description("蜈蚣角宽上下限")]
  358. ChilopodWidthValueLimit,
  359. [Description("分片间隔上下限")]
  360. ShardingDisValueLimit,
  361. [Description("焊点间隔上下限")]
  362. WeldingSpotDisValueLimit,
  363. [Description("焊点长上下限")]
  364. WeldingSpotLengthValueLimit,
  365. [Description("焊点宽上下限")]
  366. WeldingSpotWidthValueLimit,
  367. [Description("缺陷总数")]
  368. DefectCount,
  369. [Description("堵孔数量")]
  370. DKCount,
  371. [Description("脏污数量")]
  372. ZWCount,
  373. [Description("钢丝异常数量")]
  374. GSYCCount,
  375. [Description("纤维丝数量")]
  376. XWSCount,
  377. [Description("缺口数量")]
  378. QKCount,
  379. [Description("针孔数量")]
  380. ZKCount,
  381. [Description("泡泡数量")]
  382. PPCount,
  383. [Description("划伤数量")]
  384. HSCount,
  385. [Description("压线数量")]
  386. YXCount,
  387. [Description("斜边数量")]
  388. XBCount,
  389. [Description("栅线数量")]
  390. SXCount,
  391. [Description("断栅数量")]
  392. DSCount,
  393. [Description("钢丝断裂数量")]
  394. GSDLCount,
  395. [Description("残胶堵孔数量")]
  396. CJDKCount,
  397. [Description("检测单号")]
  398. DetectOrder,
  399. [Description("料号")]
  400. OrderCode,
  401. [Description("料号名称")]
  402. OrderName,
  403. [Description("料号批次")]
  404. BatchId,
  405. [Description("网版编码")]
  406. SN,
  407. [Description("检测时间")]
  408. Time,
  409. [Description("操作员")]
  410. OperatorName,
  411. }
  412. public enum PrintDataPdtEnum
  413. {
  414. [Description("检测结果")]
  415. Qualified,
  416. [Description("外观比对")]
  417. CompareResult,
  418. [Description("检测单号")]
  419. DetectOrder,
  420. [Description("检测数量")]
  421. DetectCnt,
  422. [Description("合格数量")]
  423. OKCnt,
  424. [Description("不合格数量")]
  425. NgCnt,
  426. [Description("料号")]
  427. OrderCode,
  428. [Description("料号名称")]
  429. OrderName,
  430. [Description("料号批次")]
  431. BatchId,
  432. [Description("供应商")]
  433. GYS,
  434. [Description("网版编码")]
  435. SN,
  436. [Description("检测时间")]
  437. Time,
  438. [Description("检测日期")]
  439. Date,
  440. [Description("操作员")]
  441. OperatorName,
  442. }
  443. static class EnumExtensions
  444. {
  445. public static string GetDescription(this Enum val)
  446. {
  447. var field = val.GetType().GetField(val.ToString());
  448. var customAttribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute));
  449. return customAttribute == null ? val.ToString() : ((DescriptionAttribute)customAttribute).Description;
  450. }
  451. }
  452. #endregion
  453. #region MES代码
  454. public enum MesCodeEnum
  455. {
  456. [Description("检测单号")]
  457. MM0001,
  458. [Description("料号")]
  459. MM0002,
  460. [Description("料号名称")]
  461. MM0003,
  462. [Description("网版编码")]
  463. MM0004,
  464. [Description("操作员")]
  465. MM0005,
  466. [Description("检测时间")]
  467. MM0006,
  468. [Description("料号批次")]
  469. MM0007,
  470. [Description("外观比对")]
  471. MM0008,
  472. [Description("检测结果")]
  473. MM0009,
  474. [Description("张力均值")]
  475. MM0010,
  476. [Description("膜厚均值")]
  477. MM0011,
  478. [Description("线宽均值")]
  479. MM0012,
  480. [Description("Y-PT均值")]
  481. MM0013,
  482. [Description("X-PT均值")]
  483. MM0014,
  484. [Description("主栅连接线检测(主栅间隔)")]
  485. MM0015,
  486. [Description("主栅宽度检测")]
  487. MM0016,
  488. [Description("主栅间距")]
  489. MM0017,
  490. [Description("细栅间距检测")]
  491. MM0018,
  492. [Description("背极宽度")]
  493. MM0019,
  494. [Description("主栅长度检测")]
  495. MM0020,
  496. [Description("Mark点横向间距")]
  497. MM0021,
  498. [Description("Mark点竖向间距")]
  499. MM0022,
  500. [Description("鱼叉口长")]
  501. MM0023,
  502. [Description("鱼叉口宽")]
  503. MM0024,
  504. [Description("鱼叉口间距")]
  505. MM0025,
  506. [Description("蜈蚣角长")]
  507. MM0026,
  508. [Description("蜈蚣角宽")]
  509. MM0027,
  510. [Description("缺陷总数")]
  511. MALL000,
  512. [Description("堵孔数量")]
  513. MDK000,
  514. [Description("脏污数量")]
  515. MZW000,
  516. [Description("钢丝异常数量")]
  517. MGSYC000,
  518. [Description("纤维丝数量")]
  519. MQWS000,
  520. [Description("缺口数量")]
  521. MQK000,
  522. [Description("针孔数量")]
  523. MZK000,
  524. [Description("泡泡数量")]
  525. MPP000,
  526. [Description("划伤数量")]
  527. MHS000,
  528. [Description("压线数量")]
  529. MYX000,
  530. [Description("斜边数量")]
  531. MXB000,
  532. [Description("栅线数量")]
  533. MSX000,
  534. [Description("检测单号")]
  535. DetectOrder,
  536. [Description("料号")]
  537. OrderCode,
  538. [Description("料号名称")]
  539. OrderName,
  540. [Description("料号批次")]
  541. BatchId,
  542. [Description("网版编码")]
  543. SN,
  544. }
  545. #endregion
  546. }