var.py 46 KB

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