var.py 46 KB

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