From b86abab05ca255309bc1defe3a4969032c983891 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 16 十月 2024 16:48:27 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 697 ---------------------------------------------------------
1 files changed, 11 insertions(+), 686 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 49bce81..6acaa03 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -46,6 +46,7 @@
public boolean charge0; //璇锋眰鍏呯數
public boolean charge1; //璇锋眰鍏呯數
private short heartBeatVal = 1;
+ private boolean result = false;
public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
add(100);add(101);add(102);add(103);add(104);add(105);add(106);add(107);
add(108);add(109);add(110);add(111);add(112);add(113);add(114);add(115);
@@ -133,7 +134,7 @@
/**
* 鏉$爜鏁伴噺
*/
- private int barcodeSize = 9;
+ private int barcodeSize = 5;
/**
* 鍏ュ嚭搴撴ā寮�
@@ -183,32 +184,6 @@
case 2:
write((StaProtocol)task.getData());
break;
- // 鍐欐暟鎹� ID+鐩爣绔� 鐮佸灈瀹屾垚 缁欒緭閫佺嚎鍐欎换鍔″畬鎴�
- case 3:
- write3((StaProtocol)task.getData());
- break;
- // 鍐欐暟鎹� ID+鐩爣绔� 鐮佸灈瀹屾垚 缁欒緭閫佺嚎鍐欎换鍔″畬鎴愬浣�
- case 4:
- write4((StaProtocol)task.getData());
- break;
- case 5:
- write3((StaProtocol)task.getData());
- Thread.sleep(400);
- write4((StaProtocol)task.getData());
- Thread.sleep(400);
- write((StaProtocol)task.getData());
- break;
- case 9:
- write9((StaProtocol)task.getData());
- break;
- case 10:
- write10((StaProtocol)task.getData());
- break;
- case 11:
- write11((StaProtocol)task.getData());
- break;
- case 99:
- write99((Integer) task.getData());
default:
break;
}
@@ -224,7 +199,7 @@
@Override
public boolean connect() {
- boolean result = false;
+ result = false;
siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp());
siemensS7Net.setRack(slave.getRack().byteValue());
siemensS7Net.setSlot(slave.getSlot().byteValue());
@@ -245,8 +220,6 @@
* 璇诲彇鐘舵�� ====> 鏁村潡plc
*/
private void read() throws InterruptedException {
-// // 鏇存柊鍏ュ嚭搴撴ā寮�
-// updateIoMode();
ArrayList<Integer> staNos = getStaNo();
int staNoSize = staNos.size();
OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8));
@@ -302,87 +275,6 @@
}
}
- if (slave.getId()==2){
- Thread.sleep(200);
- int[] staNosRgv = {623,624,625,626};
- for (int i = 0; i < staNosRgv.length; i++) {
- OperateResultExOne<byte[]> resultRgv = siemensS7Net.Read("DB100."+(1800+i*6), (short) 5);
- OperateResultExOne<byte[]> resultRgv2 = siemensS7Net.Read("DB100."+(1824+i*12), (short) 8);
- if (resultRgv.IsSuccess) {
- Integer siteId = staNosRgv[i]; // 绔欑偣缂栧彿
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- continue;
- }
- try{
- staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 0)); // 灏忚溅鐩爣浣�
-
- staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2)); // 褰撳墠浣嶇疆
-
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgv.Content, 4, 1);
- staProtocol.setRGV1(status[0]); // 灏忚溅鏃犺揣绌洪棽
- staProtocol.setRGV2(status[1]); // 灏忚溅杈撻�佺嚎鍙栬揣鍒颁綅
- staProtocol.setRGV3(status[2]); // 灏忚溅杩愯涓�
-
-// staProtocol.setRGV1(false); // 灏忚溅鏃犺揣绌洪棽
-// staProtocol.setRGV2(true); // 灏忚溅杈撻�佺嚎鍙栬揣鍒颁綅
-// staProtocol.setRGV3(false); // 灏忚溅杩愯涓�
-
- staProtocol.setRGV44(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 2));//灏忚溅鏀瑰乏渚ц揣鐗╃洰鏍囩珯
- staProtocol.setRGV55(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 4)); //灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯
- staProtocol.setRGV66(siemensS7Net.getByteTransform().TransInt16(resultRgv2.Content, 6)); // 涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡
-//
-// staProtocol.setRGV44((short) 0);//灏忚溅鏀瑰乏渚ц揣鐗╃洰鏍囩珯
-// staProtocol.setRGV55((short) 0); //灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯
-// staProtocol.setRGV66((short) 0); // 涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡
-
- staProtocol.setRGV4(staProtocol.getRGV44() != 0 && staProtocol.getRGV44() != 2);//灏忚溅鏀瑰乏渚ц揣鐗╃洰鏍囩珯
- staProtocol.setRGV5(staProtocol.getRGV55() != 0 && staProtocol.getRGV55() != 2); //灏忚溅鏀瑰彸渚ц揣鐗╃洰鏍囩珯
- staProtocol.setRGV6(staProtocol.getRGV66() != 0 && staProtocol.getRGV66() != 2); // 涓婁綅鏈烘竻闄ゅ钩绉昏溅璧勬枡
-
-
- }catch (Exception e){
- log.error("璇诲彇RGV淇℃伅澶辫触"+e.getMessage());
- }
- }
- }
- }
-
-
- //鏉$爜鎵弿鍣�
- Thread.sleep(200);
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.2440",(short)(barcodeSize*8));
- if (result2.IsSuccess) {
- int[] staNosRgv = {281,292,173,214,120,100,101,102,103};
-
- for (int i = 0; i < barcodeSize; i++) { //1:281 2:292 3:174(173) 4:214 5:120
- String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
- BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
- if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
- Integer siteId = staNosRgv[i]; // 绔欑偣缂栧彿
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- continue;
- }
- staProtocol.setBarcode(barcode);
- barcodeThread.setBarcode(barcode);
- }
- }
- }
-
- //RGV灏忚溅
- Thread.sleep(200);
- OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.160",(short)2);
- if (result3.IsSuccess) {
- Integer siteId = 2000;
- StaProtocol staProtocol = station.get(siteId);
- if (null == staProtocol) {
- staProtocol = new StaProtocol();
- staProtocol.setSiteId(siteId);
- station.put(siteId, staProtocol);
- }
- staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0)));
- }
if (result.IsSuccess) {
@@ -396,9 +288,13 @@
basDevps.add(staProtocol.toSqlModel());
}
- BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
- if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
- throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+ try{
+ BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+ if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
+ throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+ }
+ } catch (Exception e){
+ log.error("鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
}
} catch (Exception e) {
e.printStackTrace();
@@ -455,548 +351,6 @@
}
}
-
- /**
- * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� 鐮佸灈瀹屾垚 缁欒緭閫佺嚎鍐欎换鍔″畬鎴�
- */
- private void write3(StaProtocol staProtocol) throws InterruptedException {
- if (null == staProtocol) {
- return;
- }
- Integer siteId = staProtocol.getSiteId();
- Integer index =0;
- switch (siteId){
- case 607:
- index=0;
- break;
- default:
- return;
- }
-
- OperateResult write = null;
- //浠诲姟涓嬪彂娆℃暟
- int writeCount = 0;
- do {
- write = siemensS7Net.Write("DB100.1872", 1); // 浠诲姟瀹屾垚
- if(write.IsSuccess){
- writeCount=6;
- }else {
- writeCount++;
- log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
- }
- }while (writeCount<5);
-
- if (!write.IsSuccess) {
- staProtocol = station.get(staProtocol.getSiteId());
- if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
- staProtocol.setPakMk(true);
- }
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
- log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
- } else {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
- log.info("杈撻�佺嚎鍛戒护涓嬪彂鐮佸灈瀹屾垚 缁欒緭閫佺嚎鍐欎换鍔″畬鎴� [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol));
- }
- }
-
- private void write4(StaProtocol staProtocol) throws InterruptedException {
- if (null == staProtocol) {
- return;
- }
- Integer siteId = staProtocol.getSiteId();
- Integer index =0;
- switch (siteId){
- case 607:
- index=0;
- break;
- default:
- return;
- }
-
- OperateResult write = null;
- //浠诲姟涓嬪彂娆℃暟
- int writeCount = 0;
- do {
- write = siemensS7Net.Write("DB100.1872", 0); // 浠诲姟瀹屾垚澶嶄綅
- if(write.IsSuccess){
- writeCount=6;
- } else {
- writeCount++;
- log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
- }
- }while (writeCount<5);
-
- if (!write.IsSuccess) {
- staProtocol = station.get(staProtocol.getSiteId());
- if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
- staProtocol.setPakMk(true);
- }
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
- log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
- } else {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
- log.info("杈撻�佺嚎鍛戒护涓嬪彂瀹屾垚 缁欒緭閫佸浣� [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSONString(staProtocol));
- }
- }
-
- /**
- * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏�
- */
- private void write11(StaProtocol staProtocol) throws InterruptedException {
- if (null == staProtocol) {
- return;
- }
- News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol));
-
- boolean rgv6 = staProtocol.isRGV6();
- OperateResult result1 = null;
- OperateResult result2 = null;
- String resultV1 = "";
- String resultV2 = "";
- String resultV3 = "";
- short resultS1 = 1;
- short resultS2 = 2;
- switch (staProtocol.getSiteId()){
- case 623:
- resultV1 = "DB100.1830";
- resultV2 = "DB100.1826";
- resultV3 = "DB100.1828";
- break;
- case 624:
- resultV1 = "DB100.1842";
- resultV2 = "DB100.1838";
- resultV3 = "DB100.1840";
- break;
- case 625:
- resultV1 = "DB100.1854";
- resultV2 = "DB100.1850";
- resultV3 = "DB100.1852";
- break;
- case 626:
- resultV1 = "DB100.1866";
- resultV2 = "DB100.1862";
- resultV3 = "DB100.1864";
- break;
- default:
- return;
- }
- siemensS7Net.Write(resultV2, (short) 0);
- siemensS7Net.Write(resultV3, (short) 0);
- result1 = siemensS7Net.Write(resultV1, resultS1);
-
- //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
- try {
- Thread.sleep(200);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-
- int writeCount = 1;
- do {
- try{
- if(!result1.IsSuccess){
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2);
- if (resultRead1.IsSuccess) {
- short status = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0);
- if (status == 1){
- break;
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- }catch (Exception e){
- log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
-
- result2 = siemensS7Net.Write(resultV1, resultS2);
-
- //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
- try {
- Thread.sleep(200);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-
- writeCount = 1;
- do {
- try{
- if(!result2.IsSuccess){
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV1, resultS2);
-
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2);
- if (resultRead1.IsSuccess) {
- short status = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0);
- if (status == resultS2){
- break;
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV1, resultS2);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV1, resultS2);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- }catch (Exception e){
- log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
- }
-
- private void write10(StaProtocol staProtocol) throws InterruptedException {
- if (null == staProtocol) {
- return;
- }
- News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol));
-
- boolean rgv4 = staProtocol.isRGV4();
- boolean rgv5 = staProtocol.isRGV5();
- OperateResult result1 = null;
- OperateResult result2 = null;
- String resultV1 = "";
- String resultV2 = "";
- short resultS1 = 1;
- short resultS2 = 2;
- if (rgv4){
- switch (staProtocol.getSiteId()){
- case 623:
- resultV1 = "DB100.1826";
- resultV2 = "DB100.1830";
- break;
- case 624:
- resultV1 = "DB100.1838";
- resultV2 = "DB100.1842";
- break;
- case 625:
- resultV1 = "DB100.1850";
- resultV2 = "DB100.1854";
- break;
- case 626:
- resultV1 = "DB100.1862";
- resultV2 = "DB100.1866";
- break;
- default:
- return;
- }
- } else if (rgv5){
- switch (staProtocol.getSiteId()){
- case 623:
- resultV1 = "DB100.1828";
- resultV2 = "DB100.1830";
- break;
- case 624:
- resultV1 = "DB100.1840";
- resultV2 = "DB100.1842";
- break;
- case 625:
- resultV1 = "DB100.1852";
- resultV2 = "DB100.1854";
- break;
- case 626:
- resultV1 = "DB100.1864";
- resultV2 = "DB100.1866";
- break;
- default:
- return;
- }
- }
- siemensS7Net.Write(resultV2, (short) 0);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
- try {
- Thread.sleep(200);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- int writeCount = 1;
- do {
- try{
- if(!result1.IsSuccess){
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2);
- if (resultRead1.IsSuccess) {
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1);
- short statusR1 = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0);
- if (statusR1 == resultS1){
- break;
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- }catch (Exception e){
- log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
-
-
- result2 = siemensS7Net.Write(resultV1, resultS2);
-
- writeCount = 1;
- do {
- try{
- if(!result2.IsSuccess){
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV1, resultS2);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2);
- if (resultRead1.IsSuccess) {
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1);
- short statusR1 = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0);
- if (statusR1 == resultS2){
- break;
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV1, resultS2);
-
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV1, resultS2);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- }catch (Exception e){
- log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
- }
-
- private void write9(StaProtocol staProtocol) throws InterruptedException {
- if (null == staProtocol) {
- return;
- }
- short resultS1 = staProtocol.getEndRow();
- OperateResult result1 = null;
- OperateResult result2 = null;
- String resultV1 = "";
- String resultV2 = "";
- News.error("RGV鍐欏叆鍛戒护"+JSON.toJSONString(staProtocol));
-
- switch (staProtocol.getSiteId()){
- case 623:
- resultV1 = "DB100.1824";
- resultV2 = "DB100.1848";
- break;
- case 624:
- resultV1 = "DB100.1836";
- resultV2 = "DB100.1860";
- break;
- case 625:
- resultV1 = "DB100.1848";
- resultV2 = "DB100.1824";
- break;
- case 626:
- resultV1 = "DB100.1860";
- resultV2 = "DB100.1836";
- break;
- default:
- return;
- }
- result1 = siemensS7Net.Write(resultV1, resultS1);
- result2 = siemensS7Net.Write(resultV2, resultS1);
- //纭寲缃愪换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
- try {
- Thread.sleep(200);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
-
- int writeCount = 1;
- do {
- try{
- if(!result1.IsSuccess){
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read(resultV1, (short) 2);
- if (resultRead1.IsSuccess) {
- short transInt16 = siemensS7Net.getByteTransform().TransInt16(resultRead1.Content, 0);
- if (transInt16 == resultS1){
- break;
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result1 = siemensS7Net.Write(resultV1, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- }catch (Exception e){
- log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
-
- writeCount = 1;
- do {
- try{
- if(!result2.IsSuccess){
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV2, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead2 = siemensS7Net.Read(resultV2, (short) 2);
- if (resultRead2.IsSuccess) {
- short transInt16 = siemensS7Net.getByteTransform().TransInt16(resultRead2.Content, 0);
- if (transInt16 == resultS1){
- break;
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV2, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(staProtocol),writeCount);
- result2 = siemensS7Net.Write(resultV2, resultS1);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- }catch (Exception e){
- log.error("鍐欏叆RGV鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
-
- if (!result1.IsSuccess) {
- staProtocol = station.get(staProtocol.getSiteId());
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSONString(staProtocol)));
- log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSONString(staProtocol));
- } else {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(staProtocol)));
- log.info("杈撻�佺嚎鍛戒护涓嬪彂瀹屾垚 缁欒緭閫佸浣� [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSONString(staProtocol));
- }
- }
-
- private void write99(Integer devNo) throws InterruptedException {
- String resultV1 = "";
- switch (devNo){
- case 1:
- resultV1 = "DB500.0.0";
- break;
- case 2:
- resultV1 = "DB500.0.1";
- break;
- case 3:
- resultV1 = "DB500.0.2";
- break;
- default:
- return;
- }
- OperateResult result = siemensS7Net.Write(resultV1, true);
- Integer writeCount = 0;
- do {
- try{
- if(!result.IsSuccess){
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount);
- result = siemensS7Net.Write(resultV1, true);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- OperateResultExOne<byte[]> resultRead1 = siemensS7Net.Read("resultV1", (short) 1);
- if (resultRead1.IsSuccess) {
- boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRead1.Content, 0, 1);
- if (status[devNo-1]){
- break;
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount);
- result = siemensS7Net.Write(resultV1, true);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- } else {
- log.error("鍐欏叆RGV鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔� 鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(devNo),writeCount);
- result = siemensS7Net.Write(resultV1, true);
- Thread.sleep(100);
- writeCount++;
- continue;
- }
- }catch (Exception e){
- log.error("鍐欏叆鏁版嵁鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
- }
- writeCount++;
- } while (writeCount<6);
- }
-
-
- // 鏇存柊鍏ュ嚭搴撴ā寮�
- private void updateIoMode() throws InterruptedException {
- if (this.ioModeOf2F != IoModeType.NONE) {
- if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) {
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={1}", slave.getId()));
- log.error("鍐欏叆杈撻�佺嚎2F鍏ュ嚭搴撴ā寮忓け璐ャ�傝緭閫佺嚎plc缂栧彿={}", slave.getId());
- }
- }
- }
-
/**
* 蹇冭烦
*/
@@ -1029,37 +383,8 @@
}
public static void main(String[] args) {
- System.out.println(staNos1.indexOf(129));
- System.out.println(staNos1.size());
- for (int i = 0; i<staNos1.size(); i++) {
-// System.out.println(i*2);
-// System.out.println(i*2 + 200);
-// System.out.println(i);
- }
- int index = staNos1.indexOf(128);
- System.out.println(index*2);
- System.out.println(index*2 + 200);
+
}
-// public static void main(String[] args) throws Exception {
-// DevpSlave slave = new DevpSlave();
-// slave.setIp("192.168.2.125");
-// SiemensDevpThread devpThread = new SiemensDevpThread(slave);
-// devpThread.connect();
-// devpThread.read();
-// // 鍐�
-// StaProtocol staProtocol = devpThread.getStation().get(1);
-// staProtocol.setWorkNo((short) 232);
-// staProtocol.setStaNo((short) 6);
-// staProtocol.setAutoing(true);
-// staProtocol.setEmptyMk(true);
-// staProtocol.setInEnable(true);
-// devpThread.write(staProtocol);
-// System.out.println("----------------------------------------");
-// // 璇�
-// devpThread.read();
-// System.out.println(JSON.toJSONString(devpThread.station));
-//
-// }
}
--
Gitblit v1.9.1