var.py 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003
  1. from tkinter import *
  2. import datetime
  3. import time
  4. import sql
  5. class Var_value(Frame):
  6. def __init__(self, init_window):
  7. self.init_window = init_window
  8. self.windows_idx = 'app'
  9. self.last_windows_idx = 'app'
  10. self.screen_width = 1024
  11. self.screen_height = 600
  12. self.sqlclient = sql.sqlclient
  13. self.pro_exit_stat = False
  14. self.order_ok_str = StringVar()
  15. self.order_ng_str = StringVar()
  16. self.order_targe_str = StringVar()
  17. self.order_snp_str = StringVar()
  18. self.order_year_str = StringVar()
  19. self.batch_str = StringVar()
  20. self.printf_num_str = StringVar()
  21. self.serial_num_str = StringVar()
  22. self.airtightness_17700_str = StringVar()
  23. self.airtightness_17720_str = StringVar()
  24. self.startdelay_17700_str = StringVar()
  25. self.airtime_17700_str = StringVar()
  26. self.presstime_17700_str = StringVar()
  27. self.testtime_17700_str = StringVar()
  28. self.exhaust_17700_str = StringVar()
  29. self.maxpress_17700_str = StringVar()
  30. self.minpress_17700_str = StringVar()
  31. self.setpress_17700_str = StringVar()
  32. self.capacity_17700_str = StringVar()
  33. self.posthreshold_17700_str =StringVar()
  34. self.pnegthreshold_17700_str = StringVar()
  35. self.startdelay_17720_str = StringVar()
  36. self.airtime_17720_str = StringVar()
  37. self.presstime_17720_str = StringVar()
  38. self.testtime_17720_str = StringVar()
  39. self.exhaust_17720_str = StringVar()
  40. self.maxpress_17720_str = StringVar()
  41. self.minpress_17720_str = StringVar()
  42. self.setpress_17720_str = StringVar()
  43. self.capacity_17720_str = StringVar()
  44. self.posthreshold_17720_str = StringVar()
  45. self.pnegthreshold_17720_str = StringVar()
  46. # self.team_list = ['A组', 'B组', 'C组', 'D组']
  47. self.team_list = ['A组', 'B组']
  48. self.team_sel = 0
  49. self.team = chr(self.team_sel + ord('A'))
  50. self.team_value = self.team_list[self.team_sel]
  51. self.product_load = True
  52. self.product_list = ['', '', '', '', '', '', '', '', '', '', '', '', '', '']
  53. self.product_17700_list = ['', '', '', '', '', '', '', '', '', '', '', '', '', '']
  54. self.product_17720_list = ['', '', '', '', '', '', '', '', '', '', '', '', '', '']
  55. self.product_idx = 0
  56. self.product_list_str = [StringVar()]*14
  57. for i in range(14):
  58. temp = StringVar()
  59. temp.set(self.product_list[i])
  60. self.product_list_str[i] = temp
  61. self.opc_product_idx = 0
  62. self.opc_product_name = ''
  63. self.product_idx_str = StringVar()
  64. self.product_str = StringVar()
  65. self.product_idx_str.set(self.product_idx+1)
  66. self.product_name = self.product_list[self.product_idx]
  67. self.product_str.set(self.product_name)
  68. self.workstatstr = False
  69. self.bee_stat = False
  70. self.auth_stat = False
  71. self.auth_timeout = 300
  72. self.originchkok_stat = False
  73. self.upairtightok_stat = False
  74. self.upairtightng_stat = False
  75. self.upprintok_stat = False
  76. self.origindir_stat = False
  77. self.downairtightok_stat = False
  78. self.downairtightng_stat = False
  79. self.downprintok_stat = False
  80. self.motororiginok_stat = False
  81. self.motoronup_stat = False
  82. self.motorondown_stat = False
  83. self.motorunuse_stat = False
  84. self.upgages_stat = False
  85. self.upworks_stat = False
  86. self.upmpen_stat = False
  87. self.upconnect_stat = False
  88. self.downgages_stat = False
  89. self.downworks_stat = False
  90. self.downmpen_stat = False
  91. self.downconnect_stat = False
  92. self.batch_y = 'L'
  93. self.batch_m = '1'
  94. self.batch_d = '01'
  95. self.batch = self.batch_y+self.batch_m+self.batch_d
  96. self.batch_str.set(self.batch)
  97. self.order_ok_str.set("0")
  98. self.order_ng_str.set("0")
  99. self.order_targe_str.set("0")
  100. self.order_snp_str.set("----")
  101. self.order_year_str.set(self.batch_y)
  102. self.order_ok = 0
  103. self.order_ng = 0
  104. self.order_targe = 0
  105. self.order_sng = 0
  106. self.order_update_stat = False
  107. self.batch_update_stat = False
  108. # 批号
  109. self.number_type = '2GN'
  110. self.number_count = 1
  111. self.number_value = '{0}{1}{2}{3}{4:04d}{5}'.format(self.number_type,
  112. self.batch_y, self.batch_m,
  113. self.batch_d,
  114. self.number_count,
  115. chr(self.team_sel + ord('A')))
  116. self.printf_num_str.set(self.number_value)
  117. self.serial_num = 1
  118. self.serial_num_value = '{0:04d}{1:02d}{2:02d}{3:05d}'.format(datetime.datetime.now().year,
  119. datetime.datetime.now().month,
  120. datetime.datetime.now().day,
  121. self.serial_num)
  122. self.serial_num_str.set(self.serial_num_value)
  123. self.serial_num_working = ''
  124. self.product_ok = False
  125. # '<01>:0.215 MPa:(OK):0.171 ml/min'
  126. self.airtightness_17700 = ''
  127. # '<01>:0.51 MPa:(TD):0.504 ml/min'
  128. self.airtightness_17720 = ''
  129. self.airtightness_17700_str.set(self.airtightness_17700)
  130. self.airtightness_17720_str.set(self.airtightness_17720)
  131. self.product_17700_name = ''
  132. self.product_17720_name = ''
  133. self.product_name_noset = '品番读取中'
  134. self.inquire_begin_data = datetime.datetime.now().strftime('%Y-%m-%d')
  135. self.inquire_end_data = datetime.datetime.now().strftime('%Y-%m-%d')
  136. self.opc_conn_stat = "OPC服务器未连接"
  137. self.socket_conn_stat = False
  138. self.airdata_work_stat = 'finish'
  139. self.order_count = 1
  140. self.order_num = '{0}{1}{2}{3:02d}'.format(self.number_type, datetime.datetime.now().strftime('%Y%m%d%H%M%S'),
  141. chr(self.team_sel + ord('A')), self.order_count)
  142. # 查询
  143. self.data_columns = (
  144. "date", "time", "serial", "batch", "testok", "data", "team", "product_name", "startup", "air", "press",
  145. "test", "exhaust", "maxpress", "minpress", "setpress",
  146. "capacity", "posthreshold", "pnegthreshold")
  147. self.data_headers = (
  148. "日期", "时间", "序号", "标签号", "测试结果", "气密数据", "班组", "品番", "启动延时", "充气时间",
  149. "保压时间", "测试时间", "排气时间", "最大压力", "最小压力", "设定压力", "容积", "正阈值", "负阈值")
  150. self.param_columns = ("product_idx", "product_name", "param_type", "startup", "air", "press",
  151. "test", "exhaust", "maxpress", "minpress", "setpress",
  152. "capacity", "posthreshold", "pnegthreshold")
  153. self.param_headers = ("产品编号", "品番", "启动延时", "充气时间",
  154. "保压时间", "测试时间", "排气时间", "最大压力", "最小压力", "设定压力", "容积", "正阈值", "负阈值")
  155. self.product_data = []
  156. self.listview_content = "NULL"
  157. self.listview_stat = False
  158. self.listview_lock = False
  159. self.file_name = ''
  160. self.file_save_stat = True
  161. class opc_var:
  162. def __init__(self):
  163. self.lock = False
  164. self.opcrdkv = {}
  165. self.opcwrkv = {}
  166. self.opcwrstatkv = {}
  167. # OPC组
  168. self.stationtype = 'G01_0374'
  169. self.stationdev = 'DevCJ2W'
  170. self.stationgroup = "{0}.{1}".format(self.stationtype, self.stationdev)
  171. # 蜂鸣器控制
  172. self.Bee_Addr = '{0}.{1}.Bee'.format(self.stationtype, self.stationdev)
  173. self.opcaddrlist = [self.Bee_Addr]
  174. self.opcrdkv[self.Bee_Addr] = True
  175. self.opcwrkv[self.Bee_Addr] = True
  176. self.opcwrstatkv[self.Bee_Addr] = False
  177. # 产品编号
  178. self.Product_idx_Addr = '{0}.{1}.Product_idx'.format(self.stationtype, self.stationdev)
  179. self.opcaddrlist.append(self.Product_idx_Addr)
  180. self.opcrdkv[self.Product_idx_Addr] = 0
  181. self.opcwrkv[self.Product_idx_Addr] = 0
  182. self.opcwrstatkv[self.Product_idx_Addr] = False
  183. # 品番名
  184. self.Product_name_Addr = '{0}.{1}.Product_name'.format(self.stationtype, self.stationdev)
  185. self.opcaddrlist.append(self.Product_name_Addr)
  186. self.opcrdkv[self.Product_name_Addr] = ''
  187. self.opcwrkv[self.Product_name_Addr] = ''
  188. self.opcwrstatkv[self.Product_name_Addr] = False
  189. # 批号前缀
  190. self.Number_type_Addr = '{0}.{1}.Dev_num'.format(self.stationtype, self.stationdev)
  191. self.opcaddrlist.append(self.Number_type_Addr)
  192. self.opcrdkv[self.Number_type_Addr] = ''
  193. self.opcwrkv[self.Number_type_Addr] = ''
  194. self.opcwrstatkv[self.Number_type_Addr] = False
  195. # 年批号 ASCII A-Z
  196. self.Batch_y_Addr = '{0}.{1}.Batch_y'.format(self.stationtype, self.stationdev)
  197. self.opcaddrlist.append(self.Batch_y_Addr)
  198. self.opcrdkv[self.Batch_y_Addr] = 65
  199. self.opcwrkv[self.Batch_y_Addr] = 65
  200. self.opcwrstatkv[self.Batch_y_Addr] = False
  201. # 月批号 ASCII A-Z
  202. self.Batch_m_Addr = '{0}.{1}.Batch_m'.format(self.stationtype, self.stationdev)
  203. self.opcaddrlist.append(self.Batch_m_Addr)
  204. self.opcrdkv[self.Batch_m_Addr] = 65
  205. self.opcwrkv[self.Batch_m_Addr] = 65
  206. self.opcwrstatkv[self.Batch_m_Addr] = False
  207. # 日批号
  208. self.Batch_d_Addr = '{0}.{1}.Batch_d'.format(self.stationtype, self.stationdev)
  209. self.opcaddrlist.append(self.Batch_d_Addr)
  210. self.opcrdkv[self.Batch_d_Addr] = 1
  211. self.opcwrkv[self.Batch_d_Addr] = 1
  212. self.opcwrstatkv[self.Batch_d_Addr] = False
  213. # 气密数据17700
  214. self.Air_data_17720_Addr = '{0}.{1}.Air_data_17720'.format(self.stationtype, self.stationdev)
  215. self.opcaddrlist.append(self.Air_data_17720_Addr)
  216. self.opcrdkv[self.Air_data_17720_Addr] = ''
  217. self.opcwrkv[self.Air_data_17720_Addr] = ''
  218. self.opcwrstatkv[self.Air_data_17720_Addr] = False
  219. # 气密数据17720
  220. self.Air_data_17700_Addr = '{0}.{1}.Air_data_17700'.format(self.stationtype, self.stationdev)
  221. self.opcaddrlist.append(self.Air_data_17700_Addr)
  222. self.opcrdkv[self.Air_data_17700_Addr] = ''
  223. self.opcwrkv[self.Air_data_17700_Addr] = ''
  224. self.opcwrstatkv[self.Air_data_17700_Addr] = False
  225. # OK数
  226. self.Ok_count_Addr = '{0}.{1}.Ok_count'.format(self.stationtype, self.stationdev)
  227. self.opcaddrlist.append(self.Ok_count_Addr)
  228. self.opcrdkv[self.Ok_count_Addr] = 0
  229. self.opcwrkv[self.Ok_count_Addr] = 0
  230. self.opcwrstatkv[self.Ok_count_Addr] = False
  231. # NG数
  232. self.Ng_count_Addr = '{0}.{1}.Ng_count'.format(self.stationtype, self.stationdev)
  233. self.opcaddrlist.append(self.Ng_count_Addr)
  234. self.opcrdkv[self.Ng_count_Addr] = 0
  235. self.opcwrkv[self.Ng_count_Addr] = 0
  236. self.opcwrstatkv[self.Ng_count_Addr] = False
  237. # Targe数
  238. self.Targe_count_Addr = '{0}.{1}.Targe_count'.format(self.stationtype, self.stationdev)
  239. self.opcaddrlist.append(self.Targe_count_Addr)
  240. self.opcrdkv[self.Targe_count_Addr] = 0
  241. self.opcwrkv[self.Targe_count_Addr] = 0
  242. self.opcwrstatkv[self.Targe_count_Addr] = False
  243. # SNP
  244. self.SNP_count_Addr = '{0}.{1}.SNP_count'.format(self.stationtype, self.stationdev)
  245. self.opcaddrlist.append(self.SNP_count_Addr)
  246. self.opcrdkv[self.SNP_count_Addr] = 0
  247. self.opcwrkv[self.SNP_count_Addr] = 0
  248. self.opcwrstatkv[self.SNP_count_Addr] = False
  249. # 点检OK
  250. self.Origin_ok_Addr = '{0}.{1}.Origin_ok'.format(self.stationtype, self.stationdev)
  251. self.opcaddrlist.append(self.Origin_ok_Addr)
  252. self.opcrdkv[self.Origin_ok_Addr] = 0
  253. self.opcwrkv[self.Origin_ok_Addr] = 0
  254. self.opcwrstatkv[self.Origin_ok_Addr] = False
  255. # 原点指示
  256. self.Origin_dir_Addr = '{0}.{1}.Origin_dir'.format(self.stationtype, self.stationdev)
  257. self.opcaddrlist.append(self.Origin_dir_Addr)
  258. self.opcrdkv[self.Origin_dir_Addr] = 0
  259. self.opcwrkv[self.Origin_dir_Addr] = 0
  260. self.opcwrstatkv[self.Origin_dir_Addr] = False
  261. # 上气密OK
  262. self.Upairtight_ok_Addr = '{0}.{1}.Upairtight_ok'.format(self.stationtype, self.stationdev)
  263. self.opcaddrlist.append(self.Upairtight_ok_Addr)
  264. self.opcrdkv[self.Upairtight_ok_Addr] = False
  265. self.opcwrkv[self.Upairtight_ok_Addr] = False
  266. self.opcwrstatkv[self.Upairtight_ok_Addr] = False
  267. # 上气密OK
  268. self.Upairtight_ng_Addr = '{0}.{1}.Upairtight_ng'.format(self.stationtype, self.stationdev)
  269. self.opcaddrlist.append(self.Upairtight_ng_Addr)
  270. self.opcrdkv[self.Upairtight_ng_Addr] = False
  271. self.opcwrkv[self.Upairtight_ng_Addr] = False
  272. self.opcwrstatkv[self.Upairtight_ng_Addr] = False
  273. # 下气密OK
  274. self.Downairtight_ok_Addr = '{0}.{1}.Downairtight_ok'.format(self.stationtype, self.stationdev)
  275. self.opcaddrlist.append(self.Downairtight_ok_Addr)
  276. self.opcrdkv[self.Downairtight_ok_Addr] = False
  277. self.opcwrkv[self.Downairtight_ok_Addr] = False
  278. self.opcwrstatkv[self.Downairtight_ok_Addr] = False
  279. # 下气密OK
  280. self.Downairtight_ng_Addr = '{0}.{1}.Downairtight_ng'.format(self.stationtype, self.stationdev)
  281. self.opcaddrlist.append(self.Downairtight_ng_Addr)
  282. self.opcrdkv[self.Downairtight_ng_Addr] = False
  283. self.opcwrkv[self.Downairtight_ng_Addr] = False
  284. self.opcwrstatkv[self.Downairtight_ng_Addr] = False
  285. # 上刻印完成
  286. self.Upprint_ok_Addr = '{0}.{1}.Upprint_ok'.format(self.stationtype, self.stationdev)
  287. self.opcaddrlist.append(self.Upprint_ok_Addr)
  288. self.opcrdkv[self.Upprint_ok_Addr] = False
  289. self.opcwrkv[self.Upprint_ok_Addr] = False
  290. self.opcwrstatkv[self.Upprint_ok_Addr] = False
  291. # 下刻印完成
  292. self.Downprint_ok_Addr = '{0}.{1}.Downprint_ok'.format(self.stationtype, self.stationdev)
  293. self.opcaddrlist.append(self.Downprint_ok_Addr)
  294. self.opcrdkv[self.Downprint_ok_Addr] = False
  295. self.opcwrkv[self.Downprint_ok_Addr] = False
  296. self.opcwrstatkv[self.Downprint_ok_Addr] = False
  297. # 上gage-s
  298. self.Upgage_s_Addr = '{0}.{1}.Upgage_s'.format(self.stationtype, self.stationdev)
  299. self.opcaddrlist.append(self.Upgage_s_Addr)
  300. self.opcrdkv[self.Upgage_s_Addr] = False
  301. self.opcwrkv[self.Upgage_s_Addr] = False
  302. self.opcwrstatkv[self.Upgage_s_Addr] = False
  303. # 下gage-s
  304. self.Downgage_s_Addr = '{0}.{1}.Downgage_s'.format(self.stationtype, self.stationdev)
  305. self.opcaddrlist.append(self.Downgage_s_Addr)
  306. self.opcrdkv[self.Downgage_s_Addr] = False
  307. self.opcwrkv[self.Downgage_s_Addr] = False
  308. self.opcwrstatkv[self.Downgage_s_Addr] = False
  309. # 上work-s
  310. self.Upwork_s_Addr = '{0}.{1}.Upwork_s'.format(self.stationtype, self.stationdev)
  311. self.opcaddrlist.append(self.Upwork_s_Addr)
  312. self.opcrdkv[self.Upwork_s_Addr] = False
  313. self.opcwrkv[self.Upwork_s_Addr] = False
  314. self.opcwrstatkv[self.Upwork_s_Addr] = False
  315. # 下work-s
  316. self.Downwork_s_Addr = '{0}.{1}.Downwork_s'.format(self.stationtype, self.stationdev)
  317. self.opcaddrlist.append(self.Downwork_s_Addr)
  318. self.opcrdkv[self.Downwork_s_Addr] = False
  319. self.opcwrkv[self.Downwork_s_Addr] = False
  320. self.opcwrstatkv[self.Downwork_s_Addr] = False
  321. # 上m-pen
  322. self.Upm_pen_Addr = '{0}.{1}.Upm_pen'.format(self.stationtype, self.stationdev)
  323. self.opcaddrlist.append(self.Upm_pen_Addr)
  324. self.opcrdkv[self.Upm_pen_Addr] = False
  325. self.opcwrkv[self.Upm_pen_Addr] = False
  326. self.opcwrstatkv[self.Upm_pen_Addr] = False
  327. # 下m-pen
  328. self.Downm_pen_Addr = '{0}.{1}.Downm_pen'.format(self.stationtype, self.stationdev)
  329. self.opcaddrlist.append(self.Downm_pen_Addr)
  330. self.opcrdkv[self.Downm_pen_Addr] = False
  331. self.opcwrkv[self.Downm_pen_Addr] = False
  332. self.opcwrstatkv[self.Downm_pen_Addr] = False
  333. # 上connet
  334. self.Upconnect_Addr = '{0}.{1}.Upconnect'.format(self.stationtype, self.stationdev)
  335. self.opcaddrlist.append(self.Upconnect_Addr)
  336. self.opcrdkv[self.Upconnect_Addr] = False
  337. self.opcwrkv[self.Upconnect_Addr] = False
  338. self.opcwrstatkv[self.Upconnect_Addr] = False
  339. # 下connet
  340. self.Downconnect_Addr = '{0}.{1}.Downconnect'.format(self.stationtype, self.stationdev)
  341. self.opcaddrlist.append(self.Downconnect_Addr)
  342. self.opcrdkv[self.Downconnect_Addr] = False
  343. self.opcwrkv[self.Downconnect_Addr] = False
  344. self.opcwrstatkv[self.Downconnect_Addr] = False
  345. # 电机原点正确
  346. self.Motororgin_ok_Addr = '{0}.{1}.Motororgin_ok'.format(self.stationtype, self.stationdev)
  347. self.opcaddrlist.append(self.Motororgin_ok_Addr)
  348. self.opcrdkv[self.Motororgin_ok_Addr] = False
  349. self.opcwrkv[self.Motororgin_ok_Addr] = False
  350. self.opcwrstatkv[self.Motororgin_ok_Addr] = False
  351. # 电机位于上工位
  352. self.Motor_onup_Addr = '{0}.{1}.Motor_onup'.format(self.stationtype, self.stationdev)
  353. self.opcaddrlist.append(self.Motor_onup_Addr)
  354. self.opcrdkv[self.Motor_onup_Addr] = False
  355. self.opcwrkv[self.Motor_onup_Addr] = False
  356. self.opcwrstatkv[self.Motor_onup_Addr] = False
  357. # 电机位于下工位
  358. self.Motor_ondown_Addr = '{0}.{1}.Motor_ondown'.format(self.stationtype, self.stationdev)
  359. self.opcaddrlist.append(self.Motor_ondown_Addr)
  360. self.opcrdkv[self.Motor_ondown_Addr] = False
  361. self.opcwrkv[self.Motor_ondown_Addr] = False
  362. self.opcwrstatkv[self.Motor_ondown_Addr] = False
  363. # 手动刻印
  364. self.Manual_print_Addr = '{0}.{1}.Manual_print'.format(self.stationtype, self.stationdev)
  365. self.opcaddrlist.append(self.Manual_print_Addr)
  366. self.opcrdkv[self.Manual_print_Addr] = False
  367. self.opcwrkv[self.Manual_print_Addr] = False
  368. self.opcwrstatkv[self.Manual_print_Addr] = False
  369. # 手动刻印上工位
  370. self.Manual_printup_Addr = '{0}.{1}.Manual_printup'.format(self.stationtype, self.stationdev)
  371. self.opcaddrlist.append(self.Manual_printup_Addr)
  372. self.opcrdkv[self.Manual_printup_Addr] = False
  373. self.opcwrkv[self.Manual_printup_Addr] = False
  374. self.opcwrstatkv[self.Manual_printup_Addr] = False
  375. # 手动刻印上工位
  376. self.Manual_printdown_Addr = '{0}.{1}.Manual_printdown'.format(self.stationtype, self.stationdev)
  377. self.opcaddrlist.append(self.Manual_printdown_Addr)
  378. self.opcrdkv[self.Manual_printdown_Addr] = False
  379. self.opcwrkv[self.Manual_printdown_Addr] = False
  380. self.opcwrstatkv[self.Manual_printdown_Addr] = False
  381. # 手动刻印OK
  382. self.Manual_printok_Addr = '{0}.{1}.Manual_printok'.format(self.stationtype, self.stationdev)
  383. self.opcaddrlist.append(self.Manual_printok_Addr)
  384. self.opcrdkv[self.Manual_printok_Addr] = False
  385. self.opcwrkv[self.Manual_printok_Addr] = False
  386. self.opcwrstatkv[self.Manual_printok_Addr] = False
  387. # PLC通讯状态
  388. self.PLC_ok_Addr = '{0}.{1}.PLC_ok'.format(self.stationtype, self.stationdev)
  389. self.opcaddrlist.append(self.PLC_ok_Addr)
  390. self.opcrdkv[self.PLC_ok_Addr] = False
  391. self.opcwrkv[self.PLC_ok_Addr] = False
  392. self.opcwrstatkv[self.PLC_ok_Addr] = False
  393. # 气密数据保存状态
  394. self.Airdata_stat_Addr = '{0}.{1}.Airdata_stat'.format(self.stationtype, self.stationdev)
  395. self.opcaddrlist.append(self.Airdata_stat_Addr)
  396. self.opcrdkv[self.Airdata_stat_Addr] = 0
  397. self.opcwrkv[self.Airdata_stat_Addr] = 0
  398. self.opcwrstatkv[self.Airdata_stat_Addr] = False
  399. # 自动刻印完成
  400. self.Auto_printok_Addr = '{0}.{1}.Auto_printok'.format(self.stationtype, self.stationdev)
  401. self.opcaddrlist.append(self.Auto_printok_Addr)
  402. self.opcrdkv[self.Auto_printok_Addr] = False
  403. self.opcwrkv[self.Auto_printok_Addr] = False
  404. self.opcwrstatkv[self.Auto_printok_Addr] = False
  405. # 打印开始信号
  406. self.Print_start_Addr = '{0}.{1}.Print_start'.format(self.stationtype, self.stationdev)
  407. self.opcaddrlist.append(self.Print_start_Addr)
  408. self.opcrdkv[self.Print_start_Addr] = False
  409. self.opcwrkv[self.Print_start_Addr] = False
  410. self.opcwrstatkv[self.Print_start_Addr] = False
  411. # 开始工作信号
  412. self.Start_work_Addr = '{0}.{1}.Start_work'.format(self.stationtype, self.stationdev)
  413. self.opcaddrlist.append(self.Start_work_Addr)
  414. self.opcrdkv[self.Start_work_Addr] = False
  415. self.opcwrkv[self.Start_work_Addr] = False
  416. self.opcwrstatkv[self.Start_work_Addr] = False
  417. # 测试值ok_r
  418. self.Airtest_ok_r_Addr = '{0}.{1}.Airtest_ok_r'.format(self.stationtype, self.stationdev)
  419. self.opcaddrlist.append(self.Airtest_ok_r_Addr)
  420. self.opcrdkv[self.Airtest_ok_r_Addr] = False
  421. self.opcwrkv[self.Airtest_ok_r_Addr] = False
  422. self.opcwrstatkv[self.Airtest_ok_r_Addr] = False
  423. # 测试值ok_w
  424. self.Airtest_ok_w_Addr = '{0}.{1}.Airtest_ok_w'.format(self.stationtype, self.stationdev)
  425. self.opcaddrlist.append(self.Airtest_ok_w_Addr)
  426. self.opcrdkv[self.Airtest_ok_w_Addr] = False
  427. self.opcwrkv[self.Airtest_ok_w_Addr] = False
  428. self.opcwrstatkv[self.Airtest_ok_w_Addr] = False
  429. # 测试值ng_r
  430. self.Airtest_ng_r_Addr = '{0}.{1}.Airtest_ng_r'.format(self.stationtype, self.stationdev)
  431. self.opcaddrlist.append(self.Airtest_ng_r_Addr)
  432. self.opcrdkv[self.Airtest_ng_r_Addr] = False
  433. self.opcwrkv[self.Airtest_ng_r_Addr] = False
  434. self.opcwrstatkv[self.Airtest_ng_r_Addr] = False
  435. # 测试值ng_w
  436. self.Airtest_ng_w_Addr = '{0}.{1}.Airtest_ng_w'.format(self.stationtype, self.stationdev)
  437. self.opcaddrlist.append(self.Airtest_ng_w_Addr)
  438. self.opcrdkv[self.Airtest_ng_w_Addr] = False
  439. self.opcwrkv[self.Airtest_ng_w_Addr] = False
  440. self.opcwrstatkv[self.Airtest_ng_w_Addr] = False
  441. def set_Bee(self, value):
  442. while(self.lock == True):
  443. time.sleep(0.01)
  444. self.opcwrkv[self.Bee_Addr] = value
  445. self.opcwrstatkv[self.Bee_Addr] = True
  446. def get_Bee(self):
  447. return self.opcrdkv[self.Bee_Addr]
  448. def check_Bee(self):
  449. if self.opcwrstatkv[self.Bee_Addr] == True:
  450. if self.opcrdkv[self.Bee_Addr] == self.opcwrkv[self.Bee_Addr]:
  451. self.opcwrstatkv[self.Bee_Addr] = False
  452. def set_Product_idx(self, value):
  453. while (self.lock == True):
  454. time.sleep(0.01)
  455. self.opcwrkv[self.Product_idx_Addr] = value
  456. self.opcwrstatkv[self.Product_idx_Addr] = True
  457. def get_Product_idx(self):
  458. return self.opcrdkv[self.Product_idx_Addr]
  459. def check_Product_idx(self):
  460. if self.opcwrstatkv[self.Product_idx_Addr] == True:
  461. if self.opcrdkv[self.Product_idx_Addr] == self.opcwrkv[self.Product_idx_Addr]:
  462. self.opcwrstatkv[self.Product_idx_Addr] = False
  463. def set_Number_type(self, value):
  464. while (self.lock == True):
  465. time.sleep(0.01)
  466. self.opcwrkv[self.Number_type_Addr] = value
  467. self.opcwrstatkv[self.Number_type_Addr] = True
  468. def get_Number_type(self):
  469. return self.opcrdkv[self.Number_type_Addr]
  470. def check_Number_type(self):
  471. if self.opcwrstatkv[self.Number_type_Addr] == True:
  472. if self.opcrdkv[self.Number_type_Addr] == self.opcwrkv[self.Number_type_Addr]:
  473. self.opcwrstatkv[self.Number_type_Addr] = False
  474. def set_Product_name(self, value):
  475. while (self.lock == True):
  476. time.sleep(0.01)
  477. self.opcwrkv[self.Product_name_Addr] = value
  478. self.opcwrstatkv[self.Product_name_Addr] = True
  479. def get_Product_name(self):
  480. return self.opcrdkv[self.Product_name_Addr]
  481. def check_Product_name(self):
  482. if self.opcwrstatkv[self.Product_name_Addr] == True:
  483. if self.opcrdkv[self.Product_name_Addr] == self.opcwrkv[self.Product_name_Addr]:
  484. self.opcwrstatkv[self.Product_name_Addr] = False
  485. def set_Batch_y(self, value):
  486. while (self.lock == True):
  487. time.sleep(0.01)
  488. self.opcwrkv[self.Batch_y_Addr] = value
  489. self.opcwrstatkv[self.Batch_y_Addr] = True
  490. def get_Batch_y(self):
  491. return self.opcrdkv[self.Batch_y_Addr]
  492. def check_Batch_y(self):
  493. if self.opcwrstatkv[self.Batch_y_Addr] == True:
  494. if self.opcrdkv[self.Batch_y_Addr] == self.opcwrkv[self.Batch_y_Addr]:
  495. self.opcwrstatkv[self.Batch_y_Addr] = False
  496. def set_Batch_m(self, value):
  497. while (self.lock == True):
  498. time.sleep(0.01)
  499. self.opcwrkv[self.Batch_m_Addr] = value
  500. self.opcwrstatkv[self.Batch_m_Addr] = True
  501. def get_Batch_m(self):
  502. return self.opcrdkv[self.Batch_m_Addr]
  503. def check_Batch_m(self):
  504. if self.opcwrstatkv[self.Batch_m_Addr] == True:
  505. if self.opcrdkv[self.Batch_m_Addr] == self.opcwrkv[self.Batch_m_Addr]:
  506. self.opcwrstatkv[self.Batch_m_Addr] = False
  507. def set_Batch_d(self, value):
  508. while (self.lock == True):
  509. time.sleep(0.01)
  510. self.opcwrkv[self.Batch_d_Addr] = value
  511. self.opcwrstatkv[self.Batch_d_Addr] = True
  512. def get_Batch_d(self):
  513. return self.opcrdkv[self.Batch_d_Addr]
  514. def check_Batch_d(self):
  515. if self.opcwrstatkv[self.Batch_d_Addr] == True:
  516. if self.opcrdkv[self.Batch_d_Addr] == self.opcwrkv[self.Batch_d_Addr]:
  517. self.opcwrstatkv[self.Batch_d_Addr] = False
  518. def set_Air_data_17700(self, value):
  519. while (self.lock == True):
  520. time.sleep(0.01)
  521. self.opcwrkv[self.Air_data_17700_Addr] = value
  522. self.opcwrstatkv[self.Air_data_17700_Addr] = True
  523. def get_Air_data_17700(self):
  524. return self.opcrdkv[self.Air_data_17700_Addr]
  525. def check_Air_data_17700(self):
  526. if self.opcwrstatkv[self.Air_data_17700_Addr] == True:
  527. if self.opcrdkv[self.Air_data_17700_Addr] == self.opcwrkv[self.Air_data_17700_Addr]:
  528. self.opcwrstatkv[self.Air_data_17700_Addr] = False
  529. def set_Air_data_17720(self, value):
  530. while (self.lock == True):
  531. time.sleep(0.01)
  532. self.opcwrkv[self.Air_data_17720_Addr] = value
  533. self.opcwrstatkv[self.Air_data_17720_Addr] = True
  534. def get_Air_data_17720(self):
  535. return self.opcrdkv[self.Air_data_17720_Addr]
  536. def check_Air_data_17720(self):
  537. if self.opcwrstatkv[self.Air_data_17720_Addr] == True:
  538. if self.opcrdkv[self.Air_data_17720_Addr] == self.opcwrkv[self.Air_data_17720_Addr]:
  539. self.opcwrstatkv[self.Air_data_17720_Addr] = False
  540. def set_Ok_count(self, value):
  541. while (self.lock == True):
  542. time.sleep(0.01)
  543. self.opcwrkv[self.Ok_count_Addr] = value
  544. self.opcwrstatkv[self.Ok_count_Addr] = True
  545. def get_Ok_count(self):
  546. return self.opcrdkv[self.Ok_count_Addr]
  547. def check_Ok_count(self):
  548. if self.opcwrstatkv[self.Ok_count_Addr] == True:
  549. if self.opcrdkv[self.Ok_count_Addr] == self.opcwrkv[self.Ok_count_Addr]:
  550. self.opcwrstatkv[self.Ok_count_Addr] = False
  551. def set_Ng_count(self, value):
  552. while (self.lock == True):
  553. time.sleep(0.01)
  554. self.opcwrkv[self.Ng_count_Addr] = value
  555. self.opcwrstatkv[self.Ng_count_Addr] = True
  556. def get_Ng_count(self):
  557. return self.opcrdkv[self.Ng_count_Addr]
  558. def check_Ng_count(self):
  559. if self.opcwrstatkv[self.Ng_count_Addr] == True:
  560. if self.opcrdkv[self.Ng_count_Addr] == self.opcwrkv[self.Ng_count_Addr]:
  561. self.opcwrstatkv[self.Ng_count_Addr] = False
  562. def set_Targe_count(self, value):
  563. while (self.lock == True):
  564. time.sleep(0.01)
  565. self.opcwrkv[self.Targe_count_Addr] = value
  566. self.opcwrstatkv[self.Targe_count_Addr] = True
  567. def get_Targe_count(self):
  568. return self.opcrdkv[self.Targe_count_Addr]
  569. def check_Targe_count(self):
  570. if self.opcwrstatkv[self.Targe_count_Addr] == True:
  571. if self.opcrdkv[self.Targe_count_Addr] == self.opcwrkv[self.Targe_count_Addr]:
  572. self.opcwrstatkv[self.Targe_count_Addr] = False
  573. def set_SNP_count(self, value):
  574. while (self.lock == True):
  575. time.sleep(0.01)
  576. self.opcwrkv[self.SNP_count_Addr] = value
  577. self.opcwrstatkv[self.SNP_count_Addr] = True
  578. def get_SNP_count(self):
  579. return self.opcrdkv[self.SNP_count_Addr]
  580. def check_SNP_count(self):
  581. if self.opcwrstatkv[self.SNP_count_Addr] == True:
  582. if self.opcrdkv[self.SNP_count_Addr] == self.opcwrkv[self.SNP_count_Addr]:
  583. self.opcwrstatkv[self.SNP_count_Addr] = False
  584. def set_Origin_ok(self, value):
  585. while (self.lock == True):
  586. time.sleep(0.01)
  587. self.opcwrkv[self.Origin_ok_Addr] = value
  588. self.opcwrstatkv[self.Origin_ok_Addr] = True
  589. def get_Origin_ok(self):
  590. return self.opcrdkv[self.Origin_ok_Addr]
  591. def check_Origin_ok(self):
  592. if self.opcwrstatkv[self.Origin_ok_Addr] == True:
  593. if self.opcrdkv[self.Origin_ok_Addr] == self.opcwrkv[self.Origin_ok_Addr]:
  594. self.opcwrstatkv[self.Origin_ok_Addr] = False
  595. def set_Origin_dir(self, value):
  596. while (self.lock == True):
  597. time.sleep(0.01)
  598. self.opcwrkv[self.Origin_dir_Addr] = value
  599. self.opcwrstatkv[self.Origin_dir_Addr] = True
  600. def get_Origin_dir(self):
  601. return self.opcrdkv[self.Origin_dir_Addr]
  602. def check_Origin_dir(self):
  603. if self.opcwrstatkv[self.Origin_dir_Addr] == True:
  604. if self.opcrdkv[self.Origin_dir_Addr] == self.opcwrkv[self.Origin_dir_Addr]:
  605. self.opcwrstatkv[self.Origin_dir_Addr] = False
  606. def set_Upairtight_ok(self, value):
  607. while (self.lock == True):
  608. time.sleep(0.01)
  609. self.opcwrkv[self.Upairtight_ok_Addr] = value
  610. self.opcwrstatkv[self.Upairtight_ok_Addr] = True
  611. def get_Upairtight_ok(self):
  612. return self.opcrdkv[self.Upairtight_ok_Addr]
  613. def check_Upairtight_ok(self):
  614. if self.opcwrstatkv[self.Upairtight_ok_Addr] == True:
  615. if self.opcrdkv[self.Upairtight_ok_Addr] == self.opcwrkv[self.Upairtight_ok_Addr]:
  616. self.opcwrstatkv[self.Upairtight_ok_Addr] = False
  617. def set_Upairtight_ng(self, value):
  618. while (self.lock == True):
  619. time.sleep(0.01)
  620. self.opcwrkv[self.Upairtight_ng_Addr] = value
  621. self.opcwrstatkv[self.Upairtight_ng_Addr] = True
  622. def get_Upairtight_ng(self):
  623. return self.opcrdkv[self.Upairtight_ng_Addr]
  624. def check_Upairtight_ng(self):
  625. if self.opcwrstatkv[self.Upairtight_ng_Addr] == True:
  626. if self.opcrdkv[self.Upairtight_ng_Addr] == self.opcwrkv[self.Upairtight_ng_Addr]:
  627. self.opcwrstatkv[self.Upairtight_ng_Addr] = False
  628. def set_Downairtight_ok(self, value):
  629. while (self.lock == True):
  630. time.sleep(0.01)
  631. self.opcwrkv[self.Downairtight_ok_Addr] = value
  632. self.opcwrstatkv[self.Downairtight_ok_Addr] = True
  633. def get_Downairtight_ok(self):
  634. return self.opcrdkv[self.Downairtight_ok_Addr]
  635. def check_Downairtight_ok(self):
  636. if self.opcwrstatkv[self.Downairtight_ok_Addr] == True:
  637. if self.opcrdkv[self.Downairtight_ok_Addr] == self.opcwrkv[self.Downairtight_ok_Addr]:
  638. self.opcwrstatkv[self.Downairtight_ok_Addr] = False
  639. def set_Downairtight_ng(self, value):
  640. while (self.lock == True):
  641. time.sleep(0.01)
  642. self.opcwrkv[self.Downairtight_ng_Addr] = value
  643. self.opcwrstatkv[self.Downairtight_ng_Addr] = True
  644. def get_Downairtight_ng(self):
  645. return self.opcrdkv[self.Downairtight_ng_Addr]
  646. def check_Downairtight_ng(self):
  647. if self.opcwrstatkv[self.Downairtight_ng_Addr] == True:
  648. if self.opcrdkv[self.Downairtight_ng_Addr] == self.opcwrkv[self.Downairtight_ng_Addr]:
  649. self.opcwrstatkv[self.Downairtight_ng_Addr] = False
  650. def set_Upprint_ok(self, value):
  651. while (self.lock == True):
  652. time.sleep(0.01)
  653. self.opcwrkv[self.Upprint_ok_Addr] = value
  654. self.opcwrstatkv[self.Upprint_ok_Addr] = True
  655. def get_Upprint_ok(self):
  656. return self.opcrdkv[self.Upprint_ok_Addr]
  657. def check_Upprint_ok(self):
  658. if self.opcwrstatkv[self.Upprint_ok_Addr] == True:
  659. if self.opcrdkv[self.Upprint_ok_Addr] == self.opcwrkv[self.Upprint_ok_Addr]:
  660. self.opcwrstatkv[self.Upprint_ok_Addr] = False
  661. def set_Downprint_ok(self, value):
  662. while (self.lock == True):
  663. time.sleep(0.01)
  664. self.opcwrkv[self.Downprint_ok_Addr] = value
  665. self.opcwrstatkv[self.Downprint_ok_Addr] = True
  666. def get_Downprint_ok(self):
  667. return self.opcrdkv[self.Downprint_ok_Addr]
  668. def check_Downprint_ok(self):
  669. if self.opcwrstatkv[self.Downprint_ok_Addr] == True:
  670. if self.opcrdkv[self.Downprint_ok_Addr] == self.opcwrkv[self.Downprint_ok_Addr]:
  671. self.opcwrstatkv[self.Downprint_ok_Addr] = False
  672. def set_Upgage_s(self, value):
  673. while (self.lock == True):
  674. time.sleep(0.01)
  675. self.opcwrkv[self.Upgage_s_Addr] = value
  676. self.opcwrstatkv[self.Upgage_s_Addr] = True
  677. def get_Upgage_s(self):
  678. return self.opcrdkv[self.Upgage_s_Addr]
  679. def check_Upgage_s(self):
  680. if self.opcwrstatkv[self.Upgage_s_Addr] == True:
  681. if self.opcrdkv[self.Upgage_s_Addr] == self.opcwrkv[self.Upgage_s_Addr]:
  682. self.opcwrstatkv[self.Upgage_s_Addr] = False
  683. def set_Downgage_s(self, value):
  684. while (self.lock == True):
  685. time.sleep(0.01)
  686. self.opcwrkv[self.Downgage_s_Addr] = value
  687. self.opcwrstatkv[self.Downgage_s_Addr] = True
  688. def get_Downgage_s(self):
  689. return self.opcrdkv[self.Downgage_s_Addr]
  690. def check_Downgage_s(self):
  691. if self.opcwrstatkv[self.Downgage_s_Addr] == True:
  692. if self.opcrdkv[self.Downgage_s_Addr] == self.opcwrkv[self.Downgage_s_Addr]:
  693. self.opcwrstatkv[self.Downgage_s_Addr] = False
  694. def set_Upwork_s(self, value):
  695. while (self.lock == True):
  696. time.sleep(0.01)
  697. self.opcwrkv[self.Upwork_s_Addr] = value
  698. self.opcwrstatkv[self.Upwork_s_Addr] = True
  699. def get_Upwork_s(self):
  700. return self.opcrdkv[self.Upwork_s_Addr]
  701. def check_Upwork_s(self):
  702. if self.opcwrstatkv[self.Upwork_s_Addr] == True:
  703. if self.opcrdkv[self.Upwork_s_Addr] == self.opcwrkv[self.Upwork_s_Addr]:
  704. self.opcwrstatkv[self.Upwork_s_Addr] = False
  705. def set_Downwork_s(self, value):
  706. while (self.lock == True):
  707. time.sleep(0.01)
  708. self.opcwrkv[self.Downwork_s_Addr] = value
  709. self.opcwrstatkv[self.Downwork_s_Addr] = True
  710. def get_Downwork_s(self):
  711. return self.opcrdkv[self.Downwork_s_Addr]
  712. def check_Downwork_s(self):
  713. if self.opcwrstatkv[self.Downwork_s_Addr] == True:
  714. if self.opcrdkv[self.Downwork_s_Addr] == self.opcwrkv[self.Downwork_s_Addr]:
  715. self.opcwrstatkv[self.Downwork_s_Addr] = False
  716. def set_Upm_pen(self, value):
  717. while (self.lock == True):
  718. time.sleep(0.01)
  719. self.opcwrkv[self.Upm_pen_Addr] = value
  720. self.opcwrstatkv[self.Upm_pen_Addr] = True
  721. def get_Upm_pen(self):
  722. return self.opcrdkv[self.Upm_pen_Addr]
  723. def check_Upm_pen(self):
  724. if self.opcwrstatkv[self.Upm_pen_Addr] == True:
  725. if self.opcrdkv[self.Upm_pen_Addr] == self.opcwrkv[self.Upm_pen_Addr]:
  726. self.opcwrstatkv[self.Upm_pen_Addr] = False
  727. def set_Downm_pen(self, value):
  728. while (self.lock == True):
  729. time.sleep(0.01)
  730. self.opcwrkv[self.Downm_pen_Addr] = value
  731. self.opcwrstatkv[self.Downm_pen_Addr] = True
  732. def get_Downm_pen(self):
  733. return self.opcrdkv[self.Downm_pen_Addr]
  734. def check_Downm_pen(self):
  735. if self.opcwrstatkv[self.Downm_pen_Addr] == True:
  736. if self.opcrdkv[self.Downm_pen_Addr] == self.opcwrkv[self.Downm_pen_Addr]:
  737. self.opcwrstatkv[self.Downm_pen_Addr] = False
  738. def set_Upconnect(self, value):
  739. while (self.lock == True):
  740. time.sleep(0.01)
  741. self.opcwrkv[self.Upconnect_Addr] = value
  742. self.opcwrstatkv[self.Upconnect_Addr] = True
  743. def get_Upconnect(self):
  744. return self.opcrdkv[self.Upconnect_Addr]
  745. def check_Upconnect(self):
  746. if self.opcwrstatkv[self.Upconnect_Addr] == True:
  747. if self.opcrdkv[self.Upconnect_Addr] == self.opcwrkv[self.Upconnect_Addr]:
  748. self.opcwrstatkv[self.Upconnect_Addr] = False
  749. def set_Downconnect(self, value):
  750. while (self.lock == True):
  751. time.sleep(0.01)
  752. self.opcwrkv[self.Downconnect_Addr] = value
  753. self.opcwrstatkv[self.Downconnect_Addr] = True
  754. def get_Downconnect(self):
  755. return self.opcrdkv[self.Downconnect_Addr]
  756. def check_Downconnect(self):
  757. if self.opcwrstatkv[self.Downconnect_Addr] == True:
  758. if self.opcrdkv[self.Downconnect_Addr] == self.opcwrkv[self.Downconnect_Addr]:
  759. self.opcwrstatkv[self.Downconnect_Addr] = False
  760. def set_Motororgin_ok(self, value):
  761. while (self.lock == True):
  762. time.sleep(0.01)
  763. self.opcwrkv[self.Motororgin_ok_Addr] = value
  764. self.opcwrstatkv[self.Motororgin_ok_Addr] = True
  765. def get_Motororgin_ok(self):
  766. return self.opcrdkv[self.Motororgin_ok_Addr]
  767. def check_Motororgin_ok(self):
  768. if self.opcwrstatkv[self.Motororgin_ok_Addr] == True:
  769. if self.opcrdkv[self.Motororgin_ok_Addr] == self.opcwrkv[self.Motororgin_ok_Addr]:
  770. self.opcwrstatkv[self.Motororgin_ok_Addr] = False
  771. def set_Motor_onup(self, value):
  772. while (self.lock == True):
  773. time.sleep(0.01)
  774. self.opcwrkv[self.Motor_onup_Addr] = value
  775. self.opcwrstatkv[self.Motor_onup_Addr] = True
  776. def get_Motor_onup(self):
  777. return self.opcrdkv[self.Motor_onup_Addr]
  778. def check_Motor_onup(self):
  779. if self.opcwrstatkv[self.Motor_onup_Addr] == True:
  780. if self.opcrdkv[self.Motor_onup_Addr] == self.opcwrkv[self.Motor_onup_Addr]:
  781. self.opcwrstatkv[self.Motor_onup_Addr] = False
  782. def set_Motor_ondown(self, value):
  783. while (self.lock == True):
  784. time.sleep(0.01)
  785. self.opcwrkv[self.Motor_ondown_Addr] = value
  786. self.opcwrstatkv[self.Motor_ondown_Addr] = True
  787. def get_Motor_ondown(self):
  788. return self.opcrdkv[self.Motor_ondown_Addr]
  789. def check_Motor_ondown(self):
  790. if self.opcwrstatkv[self.Motor_ondown_Addr] == True:
  791. if self.opcrdkv[self.Motor_ondown_Addr] == self.opcwrkv[self.Motor_ondown_Addr]:
  792. self.opcwrstatkv[self.Motor_ondown_Addr] = False
  793. def set_Manual_print(self, value):
  794. while (self.lock == True):
  795. time.sleep(0.01)
  796. self.opcwrkv[self.Manual_print_Addr] = value
  797. self.opcwrstatkv[self.Manual_print_Addr] = True
  798. def get_Manual_print(self):
  799. return self.opcrdkv[self.Manual_print_Addr]
  800. def check_Manual_print(self):
  801. if self.opcwrstatkv[self.Manual_print_Addr] == True:
  802. if self.opcrdkv[self.Manual_print_Addr] == self.opcwrkv[self.Manual_print_Addr]:
  803. self.opcwrstatkv[self.Manual_print_Addr] = False
  804. def set_Manual_printup(self, value):
  805. while (self.lock == True):
  806. time.sleep(0.01)
  807. self.opcwrkv[self.Manual_printup_Addr] = value
  808. self.opcwrstatkv[self.Manual_printup_Addr] = True
  809. def get_Manual_printup(self):
  810. return self.opcrdkv[self.Manual_printup_Addr]
  811. def check_Manual_printup(self):
  812. if self.opcwrstatkv[self.Manual_printup_Addr] == True:
  813. if self.opcrdkv[self.Manual_printup_Addr] == self.opcwrkv[self.Manual_printup_Addr]:
  814. self.opcwrstatkv[self.Manual_printup_Addr] = False
  815. def set_Manual_printdown(self, value):
  816. while (self.lock == True):
  817. time.sleep(0.01)
  818. self.opcwrkv[self.Manual_printdown_Addr] = value
  819. self.opcwrstatkv[self.Manual_printdown_Addr] = True
  820. def get_Manual_printdown(self):
  821. return self.opcrdkv[self.Manual_printdown_Addr]
  822. def check_Manual_printdown(self):
  823. if self.opcwrstatkv[self.Manual_printdown_Addr] == True:
  824. if self.opcrdkv[self.Manual_printdown_Addr] == self.opcwrkv[self.Manual_printdown_Addr]:
  825. self.opcwrstatkv[self.Manual_printdown_Addr] = False
  826. def set_Manual_printok(self, value):
  827. while (self.lock == True):
  828. time.sleep(0.01)
  829. self.opcwrkv[self.Manual_printok_Addr] = value
  830. self.opcwrstatkv[self.Manual_printok_Addr] = True
  831. def get_Manual_printok(self):
  832. return self.opcrdkv[self.Manual_printok_Addr]
  833. def check_Manual_printok(self):
  834. if self.opcwrstatkv[self.Manual_printok_Addr] == True:
  835. if self.opcrdkv[self.Manual_printok_Addr] == self.opcwrkv[self.Manual_printok_Addr]:
  836. self.opcwrstatkv[self.Manual_printok_Addr] = False
  837. def set_PLC_ok(self, value):
  838. while (self.lock == True):
  839. time.sleep(0.01)
  840. self.opcwrkv[self.PLC_ok_Addr] = value
  841. self.opcwrstatkv[self.PLC_ok_Addr] = True
  842. def get_PLC_ok(self):
  843. return self.opcrdkv[self.PLC_ok_Addr]
  844. def check_PLC_ok(self):
  845. if self.opcwrstatkv[self.PLC_ok_Addr] == True:
  846. if self.opcrdkv[self.PLC_ok_Addr] == self.opcwrkv[self.PLC_ok_Addr]:
  847. self.opcwrstatkv[self.PLC_ok_Addr] = False
  848. def set_Airdata_stat(self, value):
  849. while (self.lock == True):
  850. time.sleep(0.01)
  851. self.opcwrkv[self.Airdata_stat_Addr] = value
  852. self.opcwrstatkv[self.Airdata_stat_Addr] = True
  853. def get_Airdata_stat(self):
  854. return self.opcrdkv[self.Airdata_stat_Addr]
  855. def check_Airdata_stat(self):
  856. if self.opcwrstatkv[self.Airdata_stat_Addr] == True:
  857. if self.opcrdkv[self.Airdata_stat_Addr] == self.opcwrkv[self.Airdata_stat_Addr]:
  858. self.opcwrstatkv[self.Airdata_stat_Addr] = False
  859. def set_Auto_printok(self, value):
  860. while (self.lock == True):
  861. time.sleep(0.01)
  862. self.opcwrkv[self.Auto_printok_Addr] = value
  863. self.opcwrstatkv[self.Auto_printok_Addr] = True
  864. def get_Auto_printok(self):
  865. return self.opcrdkv[self.Auto_printok_Addr]
  866. def check_Auto_printok(self):
  867. if self.opcwrstatkv[self.Auto_printok_Addr] == True:
  868. if self.opcrdkv[self.Auto_printok_Addr] == self.opcwrkv[self.Auto_printok_Addr]:
  869. self.opcwrstatkv[self.Auto_printok_Addr] = False
  870. def set_Print_start(self, value):
  871. while (self.lock == True):
  872. time.sleep(0.01)
  873. self.opcwrkv[self.Print_start_Addr] = value
  874. self.opcwrstatkv[self.Print_start_Addr] = True
  875. def get_Print_start(self):
  876. return self.opcrdkv[self.Print_start_Addr]
  877. def check_Print_start(self):
  878. if self.opcwrstatkv[self.Print_start_Addr] == True:
  879. if self.opcrdkv[self.Print_start_Addr] == self.opcwrkv[self.Print_start_Addr]:
  880. self.opcwrstatkv[self.Print_start_Addr] = False
  881. def set_Start_work(self, value):
  882. while (self.lock == True):
  883. time.sleep(0.01)
  884. self.opcwrkv[self.Start_work_Addr] = value
  885. self.opcwrstatkv[self.Start_work_Addr] = True
  886. def get_Start_work(self):
  887. return self.opcrdkv[self.Start_work_Addr]
  888. def check_Start_work(self):
  889. if self.opcwrstatkv[self.Start_work_Addr] == True:
  890. if self.opcrdkv[self.Start_work_Addr] == self.opcwrkv[self.Start_work_Addr]:
  891. self.opcwrstatkv[self.Start_work_Addr] = False
  892. def set_Airtest_ok_r(self, value):
  893. while (self.lock == True):
  894. time.sleep(0.01)
  895. self.opcwrkv[self.Airtest_ok_r_Addr] = value
  896. self.opcwrstatkv[self.Airtest_ok_r_Addr] = True
  897. def get_Airtest_ok_r(self):
  898. return self.opcrdkv[self.Airtest_ok_r_Addr]
  899. def check_Airtest_ok_r(self):
  900. if self.opcwrstatkv[self.Airtest_ok_r_Addr] == True:
  901. if self.opcrdkv[self.Airtest_ok_r_Addr] == self.opcwrkv[self.Airtest_ok_r_Addr]:
  902. self.opcwrstatkv[self.Airtest_ok_r_Addr] = False
  903. def set_Airtest_ok_w(self, value):
  904. while (self.lock == True):
  905. time.sleep(0.01)
  906. self.opcwrkv[self.Airtest_ok_w_Addr] = value
  907. self.opcwrstatkv[self.Airtest_ok_w_Addr] = True
  908. def get_Airtest_ok_w(self):
  909. return self.opcrdkv[self.Airtest_ok_w_Addr]
  910. def check_Airtest_ok_w(self):
  911. if self.opcwrstatkv[self.Airtest_ok_w_Addr] == True:
  912. if self.opcrdkv[self.Airtest_ok_w_Addr] == self.opcwrkv[self.Airtest_ok_w_Addr]:
  913. self.opcwrstatkv[self.Airtest_ok_w_Addr] = False
  914. def set_Airtest_ng_r(self, value):
  915. while (self.lock == True):
  916. time.sleep(0.01)
  917. self.opcwrkv[self.Airtest_ng_r_Addr] = value
  918. self.opcwrstatkv[self.Airtest_ng_r_Addr] = True
  919. def get_Airtest_ng_r(self):
  920. return self.opcrdkv[self.Airtest_ng_r_Addr]
  921. def check_Airtest_ng_r(self):
  922. if self.opcwrstatkv[self.Airtest_ng_r_Addr] == True:
  923. if self.opcrdkv[self.Airtest_ng_r_Addr] == self.opcwrkv[self.Airtest_ng_r_Addr]:
  924. self.opcwrstatkv[self.Airtest_ng_r_Addr] = False
  925. def set_Airtest_ng_w(self, value):
  926. while (self.lock == True):
  927. time.sleep(0.01)
  928. self.opcwrkv[self.Airtest_ng_w_Addr] = value
  929. self.opcwrstatkv[self.Airtest_ng_w_Addr] = True
  930. def get_Airtest_ng_w(self):
  931. return self.opcrdkv[self.Airtest_ng_w_Addr]
  932. def check_Airtest_ng_w(self):
  933. if self.opcwrstatkv[self.Airtest_ng_w_Addr] == True:
  934. if self.opcrdkv[self.Airtest_ng_w_Addr] == self.opcwrkv[self.Airtest_ng_w_Addr]:
  935. self.opcwrstatkv[self.Airtest_ng_w_Addr] = False