StirringTankClient.java 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142
  1. package com.ruoyi.hard.xuankang;
  2. import com.jwk.spring.boot.autoconfigure.ModbusTcpMasterTemplate;
  3. import com.jwk.spring.boot.constant.DATA_TYPE_WRAPPER;
  4. import com.jwk.spring.boot.modbus4j.ModbusMasterUtil;
  5. import com.serotonin.modbus4j.base.ModbusUtils;
  6. import com.serotonin.modbus4j.msg.ReadResponse;
  7. import lombok.extern.slf4j.Slf4j;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.beans.factory.annotation.Qualifier;
  10. import org.springframework.stereotype.Service;
  11. import static com.ruoyi.hard.xuankang.StirringTankClient.STIR_TANK_COMMAND.*;
  12. /**
  13. * 搅拌槽通讯客户端
  14. *
  15. * @author JWK
  16. * @version 1.0
  17. * @date 2023/3/30 11:00
  18. */
  19. @Slf4j
  20. @Service
  21. public class StirringTankClient {
  22. /**
  23. * 搅拌槽
  24. */
  25. @Autowired(required = false)
  26. @Qualifier("modbusTcpMasterTemplateFirst")
  27. private ModbusTcpMasterTemplate modbusTcpMasterTemplateFirst;
  28. /**
  29. * 搅拌槽命令
  30. */
  31. public enum STIR_TANK_COMMAND {
  32. //读碳酸钠液位
  33. READ_THE_STIRRING_TANK_01(1, 100, 1, 0),
  34. //读丁黄药液位
  35. READ_THE_STIRRING_TANK_02(1, 101, 1, 0),
  36. //读丁铵黑药液位
  37. READ_THE_STIRRING_TANK_03(1, 102, 1, 0),
  38. //读六偏磷酸钠液位
  39. READ_THE_STIRRING_TANK_04(1, 103, 1, 0),
  40. //读硫酸铵液位
  41. READ_THE_STIRRING_TANK_05(1, 104, 1, 0),
  42. //读乙黄药液位
  43. READ_THE_STIRRING_TANK_06(1, 105, 1, 0),
  44. //读碳酸钠药剂量
  45. READ_THE_STIRRING_TANK_07(1, 106, 1, 0),
  46. //读丁黄药药剂量
  47. READ_THE_STIRRING_TANK_08(1, 107, 1, 0),
  48. //读丁铵黑药药剂量
  49. READ_THE_STIRRING_TANK_09(1, 108, 1, 0),
  50. //读六偏磷酸钠药剂量
  51. READ_THE_STIRRING_TANK_10(1, 109, 1, 0),
  52. //读硫酸铵药剂量
  53. READ_THE_STIRRING_TANK_11(1, 110, 1, 0),
  54. //读乙黄药药剂量
  55. READ_THE_STIRRING_TANK_12(1, 111, 1, 0),
  56. //读仓库是否可以完成该剂量的注入标志位
  57. READ_THE_STIRRING_TANK_13(1, 112, 1, 0),
  58. //读药剂注入请求
  59. READ_THE_STIRRING_TANK_14(1, 113, 1, 0),
  60. //读搅拌槽运行
  61. READ_THE_STIRRING_TANK_15(1, 114, 1, 0),
  62. //读确认开始生产
  63. READ_THE_STIRRING_TANK_16(1, 115, 1, 0),
  64. //读仓库无法完成注药量
  65. READ_THE_REPOSITORY_01(1, 0, 1, 0),
  66. //写仓库无法完成注药量
  67. WRITE_THE_STIRRING_TANK_01(1, 0, 1, 0),
  68. //读仓库确认可完成注药量
  69. READ_THE_REPOSITORY_02(1, 1, 1, 0),
  70. //写仓库确认可完成注药量
  71. WRITE_THE_STIRRING_TANK_02(1, 1, 1, 1),
  72. //读仓库收到请求已经开始注药
  73. READ_THE_REPOSITORY_03(1, 2, 1, 0),
  74. //写仓库收到请求已经开始注药
  75. WRITE_THE_STIRRING_TANK_03(1, 2, 1, 1),
  76. //读仓库注入失败
  77. READ_THE_REPOSITORY_04(1, 3, 1, 0),
  78. //写仓库注入失败
  79. WRITE_THE_STIRRING_TANK_04(1, 3, 1, 0),
  80. //读仓库注入成功
  81. READ_THE_REPOSITORY_05(1, 4, 1, 0),
  82. //写仓库注入成功
  83. WRITE_THE_STIRRING_TANK_05(1, 4, 1, 1);
  84. /**
  85. * 从节点id
  86. */
  87. private int slaveId;
  88. /**
  89. * 地址
  90. */
  91. private int offset;
  92. /**
  93. * 读的长度
  94. */
  95. private int value;
  96. /**
  97. * 写的值
  98. */
  99. private int value1;
  100. STIR_TANK_COMMAND(int slaveId, int offset, int value, int value1) {
  101. this.slaveId = slaveId;
  102. this.offset = offset;
  103. this.value = value;
  104. this.value1 = value1;
  105. }
  106. public int getSlaveId() {
  107. return slaveId;
  108. }
  109. public int getOffset() {
  110. return offset;
  111. }
  112. public int getValue() {
  113. return value;
  114. }
  115. public int getValue1() {
  116. return value1;
  117. }
  118. }
  119. /**
  120. * 读碳酸钠搅拌槽液位
  121. *
  122. * @return 搅拌槽液位 *100
  123. */
  124. public Number readTank01() {
  125. Number number = read1(READ_THE_STIRRING_TANK_01.getSlaveId(), READ_THE_STIRRING_TANK_01.getOffset());
  126. return number;
  127. }
  128. /**
  129. * 读丁黄药搅拌槽液位
  130. *
  131. * @return
  132. */
  133. public Number readTank02() {
  134. Number number = read1(READ_THE_STIRRING_TANK_02.getSlaveId(), READ_THE_STIRRING_TANK_02.getOffset());
  135. return number;
  136. }
  137. /**
  138. * 读丁铵黑药搅拌槽液位
  139. *
  140. * @return
  141. */
  142. public Number readTank03() {
  143. Number number = read1(READ_THE_STIRRING_TANK_03.getSlaveId(), READ_THE_STIRRING_TANK_03.getOffset());
  144. return number;
  145. }
  146. /**
  147. * 读六偏磷酸钠搅拌槽液位
  148. *
  149. * @return
  150. */
  151. public Number readTank04() {
  152. Number number = read1(READ_THE_STIRRING_TANK_04.getSlaveId(), READ_THE_STIRRING_TANK_04.getOffset());
  153. return number;
  154. }
  155. /**
  156. * 读硫酸铵搅拌槽液位
  157. *
  158. * @return
  159. */
  160. public Number readTank05() {
  161. Number number = read1(READ_THE_STIRRING_TANK_05.getSlaveId(), READ_THE_STIRRING_TANK_05.getOffset());
  162. return number;
  163. }
  164. /**
  165. * 读乙黄药搅拌槽液位
  166. *
  167. * @return
  168. */
  169. public Number readTank06() {
  170. Number number = read1(READ_THE_STIRRING_TANK_06.getSlaveId(), READ_THE_STIRRING_TANK_06.getOffset());
  171. return number;
  172. }
  173. /**
  174. * 读碳酸钠药剂量
  175. *
  176. * @return
  177. */
  178. public Number readTank07() {
  179. Number number = read1(READ_THE_STIRRING_TANK_07.getSlaveId(), READ_THE_STIRRING_TANK_07.getOffset());
  180. return number;
  181. }
  182. /**
  183. * 读丁黄药药剂量
  184. *
  185. * @return
  186. */
  187. public Number readTank08() {
  188. Number number = read1(READ_THE_STIRRING_TANK_08.getSlaveId(), READ_THE_STIRRING_TANK_08.getOffset());
  189. return number;
  190. }
  191. /**
  192. * 读丁铵黑药药剂量
  193. *
  194. * @return
  195. */
  196. public Number readTank09() {
  197. Number number = read1(READ_THE_STIRRING_TANK_09.getSlaveId(), READ_THE_STIRRING_TANK_09.getOffset());
  198. return number;
  199. }
  200. /**
  201. * 读六偏磷酸钠药剂量
  202. *
  203. * @return
  204. */
  205. public Number readTank10() {
  206. Number number = read1(READ_THE_STIRRING_TANK_10.getSlaveId(), READ_THE_STIRRING_TANK_10.getOffset());
  207. return number;
  208. }
  209. /**
  210. * 读硫酸铵药剂量
  211. *
  212. * @return
  213. */
  214. public Number readTank11() {
  215. Number number = read1(READ_THE_STIRRING_TANK_11.getSlaveId(), READ_THE_STIRRING_TANK_11.getOffset());
  216. return number;
  217. }
  218. /**
  219. * 读乙黄药药剂量
  220. *
  221. * @return
  222. */
  223. public Number readTank12() {
  224. Number number = read1(READ_THE_STIRRING_TANK_12.getSlaveId(), READ_THE_STIRRING_TANK_12.getOffset());
  225. return number;
  226. }
  227. /**
  228. * 读仓库是否可以完成该剂量的注入标志位
  229. *
  230. * @return
  231. */
  232. public boolean[] readTank13() {
  233. Number number = read1(READ_THE_STIRRING_TANK_13.getSlaveId(), READ_THE_STIRRING_TANK_13.getOffset());
  234. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  235. return booleans;
  236. }
  237. /**
  238. * 读药剂注入请求
  239. *
  240. * @return
  241. */
  242. public boolean[] readTank14() {
  243. Number number = read1(READ_THE_STIRRING_TANK_14.getSlaveId(), READ_THE_STIRRING_TANK_14.getOffset());
  244. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  245. return booleans;
  246. }
  247. /**
  248. * 读搅拌槽运行
  249. *
  250. * @return
  251. */
  252. public boolean[] readTank15() {
  253. Number number = read1(READ_THE_STIRRING_TANK_15.getSlaveId(), READ_THE_STIRRING_TANK_15.getOffset());
  254. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  255. return booleans;
  256. }
  257. /**
  258. * 读确认开始生产
  259. *
  260. * @return
  261. */
  262. public boolean[] readTank16() {
  263. Number number = read1(READ_THE_STIRRING_TANK_16.getSlaveId(), READ_THE_STIRRING_TANK_16.getOffset());
  264. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  265. return booleans;
  266. }
  267. /**
  268. * 写仓库无法完成碳酸钠注药量
  269. *
  270. * @return
  271. */
  272. public Boolean writeTank01() {
  273. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  274. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  275. booleans[15] = true;
  276. int i = ConvertUtil.convertToInt(booleans);
  277. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  278. }
  279. /**
  280. * 清除写仓库无法完成碳酸钠注药量
  281. *
  282. * @return
  283. */
  284. public Boolean writeTank01f() {
  285. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  286. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  287. booleans[15] = false;
  288. int i = ConvertUtil.convertToInt(booleans);
  289. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  290. }
  291. /**
  292. * 通讯心跳
  293. *
  294. * @return
  295. */
  296. public Boolean writeTank01_6(){
  297. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  298. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  299. booleans[0] = true;
  300. int i = ConvertUtil.convertToInt(booleans);
  301. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  302. }
  303. /**
  304. * 通讯心跳
  305. *
  306. * @return
  307. */
  308. public Boolean writeTank01_7(){
  309. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  310. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  311. booleans[0] = false;
  312. int i = ConvertUtil.convertToInt(booleans);
  313. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  314. }
  315. /**
  316. * 写仓库无法完成丁黄药注药量
  317. *
  318. * @return
  319. */
  320. public Boolean writeTank01_1() {
  321. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  322. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  323. booleans[14] = true;
  324. int i = ConvertUtil.convertToInt(booleans);
  325. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  326. }
  327. /**
  328. * 清除写仓库无法完成丁黄药注药量
  329. *
  330. * @return
  331. */
  332. public Boolean writeTank01_1f() {
  333. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  334. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  335. booleans[14] = false;
  336. int i = ConvertUtil.convertToInt(booleans);
  337. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  338. }
  339. /**
  340. * 写仓库无法完成丁铵黑药注药量
  341. *
  342. * @return
  343. */
  344. public Boolean writeTank01_2() {
  345. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  346. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  347. booleans[13] = true;
  348. int i = ConvertUtil.convertToInt(booleans);
  349. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  350. }
  351. /**
  352. * 清除写仓库无法完成丁铵黑药注药量
  353. *
  354. * @return
  355. */
  356. public Boolean writeTank01_2f() {
  357. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  358. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  359. booleans[13] = false;
  360. int i = ConvertUtil.convertToInt(booleans);
  361. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  362. }
  363. /**
  364. * 写仓库无法完成六偏磷酸钠注药量
  365. *
  366. * @return
  367. */
  368. public Boolean writeTank01_3() {
  369. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  370. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  371. booleans[12] = true;
  372. int i = ConvertUtil.convertToInt(booleans);
  373. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  374. }
  375. /**
  376. * 清除写仓库无法完成六偏磷酸钠注药量
  377. *
  378. * @return
  379. */
  380. public Boolean writeTank01_3f() {
  381. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  382. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  383. booleans[12] = false;
  384. int i = ConvertUtil.convertToInt(booleans);
  385. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  386. }
  387. /**
  388. * 写仓库无法完成硫酸铵注药量
  389. *
  390. * @return
  391. */
  392. public Boolean writeTank01_4() {
  393. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  394. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  395. booleans[11] = true;
  396. int i = ConvertUtil.convertToInt(booleans);
  397. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  398. }
  399. /**
  400. * 清除写仓库无法完成硫酸铵注药量
  401. *
  402. * @return
  403. */
  404. public Boolean writeTank01_4f() {
  405. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  406. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  407. booleans[11] = false;
  408. int i = ConvertUtil.convertToInt(booleans);
  409. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  410. }
  411. /**
  412. * 写仓库无法完成乙黄药注药量
  413. *
  414. * @return
  415. */
  416. public Boolean writeTank01_5() {
  417. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  418. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  419. booleans[10] = true;
  420. int i = ConvertUtil.convertToInt(booleans);
  421. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  422. }
  423. /**
  424. * 清除写仓库无法完成乙黄药注药量
  425. *
  426. * @return
  427. */
  428. public Boolean writeTank01_5f() {
  429. Number number = read1(READ_THE_REPOSITORY_01.getSlaveId(), READ_THE_REPOSITORY_01.getOffset());
  430. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  431. booleans[10] = false;
  432. int i = ConvertUtil.convertToInt(booleans);
  433. return write(WRITE_THE_STIRRING_TANK_01.getSlaveId(), WRITE_THE_STIRRING_TANK_01.getOffset(), i);
  434. }
  435. /**
  436. * 写仓库确认可完成碳酸钠注药
  437. *
  438. * @return
  439. */
  440. public Boolean writeTank02() {
  441. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  442. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  443. booleans[15] = true;
  444. int i = ConvertUtil.convertToInt(booleans);
  445. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  446. }
  447. /**
  448. * 清除写仓库确认可完成碳酸钠注药
  449. *
  450. * @return
  451. */
  452. public Boolean writeTank02f() {
  453. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  454. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  455. booleans[15] = false;
  456. int i = ConvertUtil.convertToInt(booleans);
  457. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  458. }
  459. /**
  460. * 写仓库确认可完成丁黄药注药
  461. *
  462. * @return
  463. */
  464. public Boolean writeTank02_1() {
  465. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  466. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  467. booleans[14] = true;
  468. int i = ConvertUtil.convertToInt(booleans);
  469. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  470. }
  471. /**
  472. * 清除写仓库确认可完成丁黄药注药
  473. *
  474. * @return
  475. */
  476. public Boolean writeTank02_1f() {
  477. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  478. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  479. booleans[14] = false;
  480. int i = ConvertUtil.convertToInt(booleans);
  481. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  482. }
  483. /**
  484. * 写仓库确认可完成丁铵黑药注药
  485. *
  486. * @return
  487. */
  488. public Boolean writeTank02_2() {
  489. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  490. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  491. booleans[13] = true;
  492. int i = ConvertUtil.convertToInt(booleans);
  493. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  494. }
  495. /**
  496. * 清除写仓库确认可完成丁铵黑药注药
  497. *
  498. * @return
  499. */
  500. public Boolean writeTank02_2f() {
  501. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  502. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  503. booleans[13] = false;
  504. int i = ConvertUtil.convertToInt(booleans);
  505. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  506. }
  507. /**
  508. * 写仓库确认可完成六偏磷酸钠注药
  509. *
  510. * @return
  511. */
  512. public Boolean writeTank02_3() {
  513. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  514. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  515. booleans[12] = true;
  516. int i = ConvertUtil.convertToInt(booleans);
  517. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  518. }
  519. /**
  520. * 清除写仓库确认可完成六偏磷酸钠注药
  521. *
  522. * @return
  523. */
  524. public Boolean writeTank02_3f() {
  525. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  526. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  527. booleans[12] = false;
  528. int i = ConvertUtil.convertToInt(booleans);
  529. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  530. }
  531. /**
  532. * 写仓库确认可完成硫酸铵注药
  533. *
  534. * @return
  535. */
  536. public Boolean writeTank02_4() {
  537. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  538. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  539. booleans[11] = true;
  540. int i = ConvertUtil.convertToInt(booleans);
  541. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  542. }
  543. /**
  544. * 清除写仓库确认可完成硫酸铵注药
  545. *
  546. * @return
  547. */
  548. public Boolean writeTank02_4f() {
  549. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  550. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  551. booleans[11] = false;
  552. int i = ConvertUtil.convertToInt(booleans);
  553. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  554. }
  555. /**
  556. * 写仓库确认可完成乙黄药注药
  557. *
  558. * @return
  559. */
  560. public Boolean writeTank02_5() {
  561. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  562. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  563. booleans[10] = true;
  564. int i = ConvertUtil.convertToInt(booleans);
  565. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  566. }
  567. /**
  568. * 清除写仓库确认可完成乙黄药注药
  569. *
  570. * @return
  571. */
  572. public Boolean writeTank02_5f() {
  573. Number number = read1(READ_THE_REPOSITORY_02.getSlaveId(), READ_THE_REPOSITORY_02.getOffset());
  574. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  575. booleans[10] = false;
  576. int i = ConvertUtil.convertToInt(booleans);
  577. return write(WRITE_THE_STIRRING_TANK_02.getSlaveId(), WRITE_THE_STIRRING_TANK_02.getOffset(), i);
  578. }
  579. /**
  580. * 写仓库收到请求已经开始碳酸钠注药
  581. *
  582. * @return
  583. */
  584. public Boolean writeTank03() {
  585. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  586. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  587. booleans[15] = true;
  588. int i = ConvertUtil.convertToInt(booleans);
  589. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  590. }
  591. /**
  592. * 清除写仓库收到请求已经开始碳酸钠注药
  593. *
  594. * @return
  595. */
  596. public Boolean writeTank03f() {
  597. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  598. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  599. booleans[15] = false;
  600. int i = ConvertUtil.convertToInt(booleans);
  601. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  602. }
  603. /**
  604. * 写仓库收到请求已经开始丁黄药注药
  605. *
  606. * @return
  607. */
  608. public Boolean writeTank03_1() {
  609. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  610. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  611. booleans[14] = true;
  612. int i = ConvertUtil.convertToInt(booleans);
  613. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  614. }
  615. /**
  616. * 清除写仓库收到请求已经开始丁黄药注药
  617. *
  618. * @return
  619. */
  620. public Boolean writeTank03_1f() {
  621. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  622. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  623. booleans[14] = false;
  624. int i = ConvertUtil.convertToInt(booleans);
  625. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  626. }
  627. /**
  628. * 写仓库收到请求已经开始丁铵黑药注药
  629. *
  630. * @return
  631. */
  632. public Boolean writeTank03_2() {
  633. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  634. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  635. booleans[13] = true;
  636. int i = ConvertUtil.convertToInt(booleans);
  637. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  638. }
  639. /**
  640. * 清除写仓库收到请求已经开始丁铵黑药注药
  641. *
  642. * @return
  643. */
  644. public Boolean writeTank03_2f() {
  645. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  646. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  647. booleans[13] = false;
  648. int i = ConvertUtil.convertToInt(booleans);
  649. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  650. }
  651. /**
  652. * 写仓库收到请求已经开始六偏磷酸钠注药
  653. *
  654. * @return
  655. */
  656. public Boolean writeTank03_3() {
  657. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  658. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  659. booleans[12] = true;
  660. int i = ConvertUtil.convertToInt(booleans);
  661. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  662. }
  663. /**
  664. * 清除写仓库收到请求已经开始六偏磷酸钠注药
  665. *
  666. * @return
  667. */
  668. public Boolean writeTank03_3f() {
  669. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  670. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  671. booleans[12] = false;
  672. int i = ConvertUtil.convertToInt(booleans);
  673. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  674. }
  675. /**
  676. * 写仓库收到请求已经开始硫酸铵注药
  677. *
  678. * @return
  679. */
  680. public Boolean writeTank03_4() {
  681. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  682. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  683. booleans[11] = true;
  684. int i = ConvertUtil.convertToInt(booleans);
  685. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  686. }
  687. /**
  688. * 清除写仓库收到请求已经开始硫酸铵注药
  689. *
  690. * @return
  691. */
  692. public Boolean writeTank03_4f() {
  693. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  694. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  695. booleans[11] = false;
  696. int i = ConvertUtil.convertToInt(booleans);
  697. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  698. }
  699. /**
  700. * 写仓库收到请求已经开始乙黄药注药
  701. *
  702. * @return
  703. */
  704. public Boolean writeTank03_5() {
  705. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  706. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  707. booleans[10] = true;
  708. int i = ConvertUtil.convertToInt(booleans);
  709. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  710. }
  711. /**
  712. * 清除写仓库收到请求已经开始乙黄药注药
  713. *
  714. * @return
  715. */
  716. public Boolean writeTank03_5f() {
  717. Number number = read1(READ_THE_REPOSITORY_03.getSlaveId(), READ_THE_REPOSITORY_03.getOffset());
  718. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  719. booleans[10] = false;
  720. int i = ConvertUtil.convertToInt(booleans);
  721. return write(WRITE_THE_STIRRING_TANK_03.getSlaveId(), WRITE_THE_STIRRING_TANK_03.getOffset(), i);
  722. }
  723. /**
  724. * 写仓库注入碳酸钠失败
  725. *
  726. * @return
  727. */
  728. public Boolean writeTank04() {
  729. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  730. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  731. booleans[15] = true;
  732. int i = ConvertUtil.convertToInt(booleans);
  733. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  734. }
  735. /**
  736. * 清除写仓库注入碳酸钠失败
  737. *
  738. * @return
  739. */
  740. public Boolean writeTank04f() {
  741. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  742. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  743. booleans[15] = false;
  744. int i = ConvertUtil.convertToInt(booleans);
  745. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  746. }
  747. /**
  748. * 写仓库注入丁黄药失败
  749. *
  750. * @return
  751. */
  752. public Boolean writeTank04_1() {
  753. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  754. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  755. booleans[14] = true;
  756. int i = ConvertUtil.convertToInt(booleans);
  757. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  758. }
  759. /**
  760. * 清除写仓库注入丁黄药失败
  761. *
  762. * @return
  763. */
  764. public Boolean writeTank04_1f() {
  765. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  766. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  767. booleans[14] = false;
  768. int i = ConvertUtil.convertToInt(booleans);
  769. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  770. }
  771. /**
  772. * 写仓库注入丁铵黑药失败
  773. *
  774. * @return
  775. */
  776. public Boolean writeTank04_2() {
  777. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  778. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  779. booleans[13] = true;
  780. int i = ConvertUtil.convertToInt(booleans);
  781. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  782. }
  783. /**
  784. * 清除写仓库注入丁铵黑药失败
  785. *
  786. * @return
  787. */
  788. public Boolean writeTank04_2f() {
  789. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  790. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  791. booleans[13] = false;
  792. int i = ConvertUtil.convertToInt(booleans);
  793. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  794. }
  795. /**
  796. * 写仓库注入六偏磷酸钠失败
  797. *
  798. * @return
  799. */
  800. public Boolean writeTank04_3() {
  801. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  802. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  803. booleans[12] = true;
  804. int i = ConvertUtil.convertToInt(booleans);
  805. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  806. }
  807. /**
  808. * 清除写仓库注入六偏磷酸钠失败
  809. *
  810. * @return
  811. */
  812. public Boolean writeTank04_3f() {
  813. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  814. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  815. booleans[12] = false;
  816. int i = ConvertUtil.convertToInt(booleans);
  817. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  818. }
  819. /**
  820. * 写仓库注入硫酸铵失败
  821. *
  822. * @return
  823. */
  824. public Boolean writeTank04_4() {
  825. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  826. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  827. booleans[11] = true;
  828. int i = ConvertUtil.convertToInt(booleans);
  829. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  830. }
  831. /**
  832. * 清除写仓库注入硫酸铵失败
  833. *
  834. * @return
  835. */
  836. public Boolean writeTank04_4f() {
  837. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  838. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  839. booleans[11] = false;
  840. int i = ConvertUtil.convertToInt(booleans);
  841. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  842. }
  843. /**
  844. * 写仓库注入乙黄药失败
  845. *
  846. * @return
  847. */
  848. public Boolean writeTank04_5() {
  849. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  850. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  851. booleans[10] = true;
  852. int i = ConvertUtil.convertToInt(booleans);
  853. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  854. }
  855. /**
  856. * 清除写仓库注入乙黄药失败
  857. *
  858. * @return
  859. */
  860. public Boolean writeTank04_5f() {
  861. Number number = read1(READ_THE_REPOSITORY_04.getSlaveId(), READ_THE_REPOSITORY_04.getOffset());
  862. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  863. booleans[10] = false;
  864. int i = ConvertUtil.convertToInt(booleans);
  865. return write(WRITE_THE_STIRRING_TANK_04.getSlaveId(), WRITE_THE_STIRRING_TANK_04.getOffset(), i);
  866. }
  867. /**
  868. * 写仓库注入碳酸钠完成
  869. *
  870. * @return
  871. */
  872. public Boolean writeTank05() {
  873. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  874. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  875. booleans[15] = true;
  876. int i = ConvertUtil.convertToInt(booleans);
  877. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  878. }
  879. /**
  880. * 清除写仓库注入碳酸钠完成
  881. *
  882. * @return
  883. */
  884. public Boolean writeTank05f() {
  885. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  886. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  887. booleans[15] = false;
  888. int i = ConvertUtil.convertToInt(booleans);
  889. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  890. }
  891. /**
  892. * 写仓库注入丁黄药完成
  893. *
  894. * @return
  895. */
  896. public Boolean writeTank05_1() {
  897. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  898. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  899. booleans[14] = true;
  900. int i = ConvertUtil.convertToInt(booleans);
  901. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  902. }
  903. /**
  904. * 清除写仓库注入丁黄药完成
  905. *
  906. * @return
  907. */
  908. public Boolean writeTank05_1f() {
  909. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  910. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  911. booleans[14] = false;
  912. int i = ConvertUtil.convertToInt(booleans);
  913. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  914. }
  915. /**
  916. * 写仓库注入丁铵黑药完成
  917. *
  918. * @return
  919. */
  920. public Boolean writeTank05_2() {
  921. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  922. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  923. booleans[13] = true;
  924. int i = ConvertUtil.convertToInt(booleans);
  925. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  926. }
  927. /**
  928. * 清除写仓库注入丁铵黑药完成
  929. *
  930. * @return
  931. */
  932. public Boolean writeTank05_2f() {
  933. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  934. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  935. booleans[13] = false;
  936. int i = ConvertUtil.convertToInt(booleans);
  937. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  938. }
  939. /**
  940. * 写仓库注入六偏磷酸钠完成
  941. *
  942. * @return
  943. */
  944. public Boolean writeTank05_3() {
  945. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  946. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  947. booleans[12] = true;
  948. int i = ConvertUtil.convertToInt(booleans);
  949. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  950. }
  951. /**
  952. * 清除写仓库注入六偏磷酸钠完成
  953. *
  954. * @return
  955. */
  956. public Boolean writeTank05_3f() {
  957. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  958. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  959. booleans[12] = false;
  960. int i = ConvertUtil.convertToInt(booleans);
  961. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  962. }
  963. /**
  964. * 写仓库注入硫酸铵完成
  965. *
  966. * @return
  967. */
  968. public Boolean writeTank05_4() {
  969. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  970. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  971. booleans[11] = true;
  972. int i = ConvertUtil.convertToInt(booleans);
  973. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  974. }
  975. /**
  976. * 清除写仓库注入硫酸铵完成
  977. *
  978. * @return
  979. */
  980. public Boolean writeTank05_4f() {
  981. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  982. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  983. booleans[11] = false;
  984. int i = ConvertUtil.convertToInt(booleans);
  985. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  986. }
  987. /**
  988. * 写仓库注入乙黄药完成
  989. *
  990. * @return
  991. */
  992. public Boolean writeTank05_5() {
  993. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  994. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  995. booleans[10] = true;
  996. int i = ConvertUtil.convertToInt(booleans);
  997. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  998. }
  999. /**
  1000. * 清除写仓库注入乙黄药完成
  1001. *
  1002. * @return
  1003. */
  1004. public Boolean writeTank05_5f() {
  1005. Number number = read1(READ_THE_REPOSITORY_05.getSlaveId(), READ_THE_REPOSITORY_05.getOffset());
  1006. boolean[] booleans = ConvertUtil.convertToBooleans(number);
  1007. booleans[10] = false;
  1008. int i = ConvertUtil.convertToInt(booleans);
  1009. return write(WRITE_THE_STIRRING_TANK_05.getSlaveId(), WRITE_THE_STIRRING_TANK_05.getOffset(), i);
  1010. }
  1011. /**
  1012. * 读的方法
  1013. *
  1014. * @param slaveId
  1015. * @param offset
  1016. * @param len
  1017. * @return
  1018. */
  1019. private Number read1(int slaveId, int offset) {
  1020. ModbusMasterUtil modbusMasterUtil = modbusTcpMasterTemplateFirst.getModbusMasterUtil();
  1021. Number number = modbusMasterUtil.readHoldingRegister(slaveId, offset, DATA_TYPE_WRAPPER.TWO_BYTE_INT_UNSIGNED);
  1022. return number;
  1023. }
  1024. /**
  1025. * 写的方法
  1026. *
  1027. * @param slaveId
  1028. * @param offset
  1029. * @param value
  1030. * @return
  1031. */
  1032. private Boolean write(int slaveId, int offset, int value) {
  1033. ModbusMasterUtil modbusMasterUtil = modbusTcpMasterTemplateFirst.getModbusMasterUtil();
  1034. return modbusMasterUtil.writeHoldingRegisters(slaveId, offset, value);
  1035. }
  1036. }