|
|
@@ -8,7 +8,7 @@ import java.nio.charset.Charset;
|
|
|
|
|
|
public class ModbusUtil {
|
|
|
|
|
|
- public static void getDataB(ModbusTcp plc){
|
|
|
+ public static void getDataA(ModbusTcp plc){
|
|
|
|
|
|
// 41065=F-out 41066=S-out
|
|
|
// 41069=F-min 41071=S-min 41070=F-max 41072=S-max
|
|
|
@@ -16,14 +16,14 @@ public class ModbusUtil {
|
|
|
|
|
|
Short cur = plc.readInt16(1136);
|
|
|
|
|
|
- if(MesClient.bMax <= 0){
|
|
|
- MesClient.bMax = plc.readInt16(1128);
|
|
|
- MesClient.param3.setText(String.valueOf(MesClient.bMax));
|
|
|
+ if(MesClient.aMax <= 0){
|
|
|
+ MesClient.aMax = plc.readInt16(1128);
|
|
|
+ MesClient.param3.setText(String.valueOf(MesClient.aMax));
|
|
|
}
|
|
|
|
|
|
- if(MesClient.sortB == cur - 1){
|
|
|
- MesClient.sortB = cur;
|
|
|
-// MesClient.bFinish = plc.readInt16(1138);
|
|
|
+ if(MesClient.sortA == cur - 1){
|
|
|
+ MesClient.sortA = cur;
|
|
|
+// MesClient.aFinish = plc.readInt16(1138);
|
|
|
String fout = plc.readInt16(1064)+"";
|
|
|
String sout = (float)plc.readInt16(1065)/1000+"";
|
|
|
|
|
|
@@ -34,8 +34,8 @@ public class ModbusUtil {
|
|
|
String smax = (float)plc.readInt16(1071)/1000+"";
|
|
|
|
|
|
MesClient.param4.setText(cur+"");
|
|
|
- MesClient.foutParamB.setText(fout+"");
|
|
|
- MesClient.soutParamB.setText(sout+"");
|
|
|
+ MesClient.foutParamA.setText(fout+"");
|
|
|
+ MesClient.soutParamA.setText(sout+"");
|
|
|
|
|
|
String qty = "1";
|
|
|
if(Integer.valueOf(fout) < Integer.valueOf(fmin) || Integer.valueOf(fout) > Integer.valueOf(fmax)){
|
|
|
@@ -46,40 +46,40 @@ public class ModbusUtil {
|
|
|
}
|
|
|
|
|
|
if(qty.equals("0")){
|
|
|
- MesClient.zdStatusB = 1;
|
|
|
- MesClient.foutB = fout;
|
|
|
- MesClient.soutB = sout;
|
|
|
- MesClient.fmaxB = fmax;
|
|
|
- MesClient.fminB = fmin;
|
|
|
- MesClient.sminB = smin;
|
|
|
- MesClient.smaxB = smax;
|
|
|
- MesClient.curB = cur+"";
|
|
|
+ MesClient.zdStatusA = 1;
|
|
|
+ MesClient.foutA = fout;
|
|
|
+ MesClient.soutA = sout;
|
|
|
+ MesClient.fmaxA = fmax;
|
|
|
+ MesClient.fminA = fmin;
|
|
|
+ MesClient.sminA = smin;
|
|
|
+ MesClient.smaxA = smax;
|
|
|
+ MesClient.curA = cur+"";
|
|
|
MesClient.resetResultB.setEnabled(true);
|
|
|
MesClient.okResultB.setEnabled(true);
|
|
|
MesClient.ngResultB.setEnabled(true);
|
|
|
|
|
|
+ ModbusUtil.setPowerOff(MesClient.plcA);
|
|
|
ModbusUtil.setPowerOff(MesClient.plcB);
|
|
|
- ModbusUtil.setPowerOff(MesClient.plcC);
|
|
|
|
|
|
if(!MesClient.product_sn2.getText().isEmpty()){
|
|
|
- DataUtil.addNgData(MesClient.product_sn2.getText(),"B");
|
|
|
+ DataUtil.addNgData(MesClient.product_sn2.getText(),"A");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// String qty = plc.readInt16(1072)+"";
|
|
|
// System.out.println("cur:"+cur);
|
|
|
if(qty.equals("1") && !MesClient.product_sn2.getText().isEmpty()){
|
|
|
- MesClient.bFinish++;
|
|
|
- JdbcUtils.insertProdData(MesClient.mes_gw, MesClient.mes_line_sn, MesClient.product_sn2.getText(),"B",fout,sout,fmin,smin,fmax,smax,qty,cur+"", MesClient.user_menu.getText());
|
|
|
+ MesClient.aFinish++;
|
|
|
+ JdbcUtils.insertProdData(MesClient.mes_gw, MesClient.mes_line_sn, MesClient.product_sn2.getText(),"A",fout,sout,fmin,smin,fmax,smax,qty,cur+"", MesClient.user_menu.getText());
|
|
|
}
|
|
|
}
|
|
|
- if(MesClient.zdStatusB == 0 && MesClient.zdStatusC == 0){
|
|
|
+ if(MesClient.zdStatusA == 0 && MesClient.zdStatusB == 0){
|
|
|
upResult2();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- public static void getDataC(ModbusTcp plc){
|
|
|
+ public static void getDataB(ModbusTcp plc){
|
|
|
|
|
|
// 41065=F-out 41066=S-out
|
|
|
// 41069=F-min 41071=S-min 41070=F-max 41072=S-max
|
|
|
@@ -87,14 +87,14 @@ public class ModbusUtil {
|
|
|
|
|
|
Short cur = plc.readInt16(1136);
|
|
|
|
|
|
- if(MesClient.cMax <= 0){
|
|
|
- MesClient.cMax = plc.readInt16(1128);
|
|
|
- MesClient.param5.setText(String.valueOf(MesClient.cMax));
|
|
|
+ if(MesClient.bMax <= 0){
|
|
|
+ MesClient.bMax = plc.readInt16(1128);
|
|
|
+ MesClient.param5.setText(String.valueOf(MesClient.bMax));
|
|
|
}
|
|
|
|
|
|
- if(MesClient.sortC == cur - 1){
|
|
|
- MesClient.sortC = cur;
|
|
|
-// MesClient.cFinish = plc.readInt16(1138);
|
|
|
+ if(MesClient.sortB == cur - 1){
|
|
|
+ MesClient.sortB = cur;
|
|
|
+// MesClient.bFinish = plc.readInt16(1138);
|
|
|
String fout = plc.readInt16(1064)+"";
|
|
|
String sout = (float)plc.readInt16(1065)/1000+"";
|
|
|
|
|
|
@@ -105,8 +105,8 @@ public class ModbusUtil {
|
|
|
String smax = (float)plc.readInt16(1071)/1000+"";
|
|
|
|
|
|
MesClient.param6.setText(cur+"");
|
|
|
- MesClient.foutParamC.setText(fout+"");
|
|
|
- MesClient.soutParamC.setText(sout+"");
|
|
|
+ MesClient.foutParamB.setText(fout+"");
|
|
|
+ MesClient.soutParamB.setText(sout+"");
|
|
|
|
|
|
// String qty = plc.readInt16(1072)+"";
|
|
|
|
|
|
@@ -119,51 +119,63 @@ public class ModbusUtil {
|
|
|
}
|
|
|
|
|
|
if(qty.equals("0")){
|
|
|
- MesClient.zdStatusC = 1;
|
|
|
- MesClient.foutC = fout;
|
|
|
- MesClient.soutC = sout;
|
|
|
- MesClient.fmaxC = fmax;
|
|
|
- MesClient.fminC = fmin;
|
|
|
- MesClient.sminC = smin;
|
|
|
- MesClient.smaxC = smax;
|
|
|
- MesClient.curC = cur+"";
|
|
|
+ MesClient.zdStatusB = 1;
|
|
|
+ MesClient.foutB = fout;
|
|
|
+ MesClient.soutB = sout;
|
|
|
+ MesClient.fmaxB = fmax;
|
|
|
+ MesClient.fminB = fmin;
|
|
|
+ MesClient.sminB = smin;
|
|
|
+ MesClient.smaxB = smax;
|
|
|
+ MesClient.curB = cur+"";
|
|
|
MesClient.resetResultB.setEnabled(true);
|
|
|
MesClient.okResultB.setEnabled(true);
|
|
|
MesClient.ngResultB.setEnabled(true);
|
|
|
|
|
|
+ ModbusUtil.setPowerOff(MesClient.plcA);
|
|
|
ModbusUtil.setPowerOff(MesClient.plcB);
|
|
|
- ModbusUtil.setPowerOff(MesClient.plcC);
|
|
|
|
|
|
if(!MesClient.product_sn2.getText().isEmpty()){
|
|
|
- DataUtil.addNgData(MesClient.product_sn2.getText(),"C");
|
|
|
+ DataUtil.addNgData(MesClient.product_sn2.getText(),"B");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
System.out.println("cur:"+cur);
|
|
|
if(qty.equals("1") && !MesClient.product_sn2.getText().isEmpty()){
|
|
|
- MesClient.cFinish++;
|
|
|
- JdbcUtils.insertProdData(MesClient.mes_gw, MesClient.mes_line_sn, MesClient.product_sn2.getText(),"C",fout,sout,fmin,smin,fmax,smax,qty,cur+"", MesClient.user_menu.getText());
|
|
|
+ MesClient.bFinish++;
|
|
|
+ JdbcUtils.insertProdData(MesClient.mes_gw, MesClient.mes_line_sn, MesClient.product_sn2.getText(),"B",fout,sout,fmin,smin,fmax,smax,qty,cur+"", MesClient.user_menu.getText());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if(MesClient.zdStatusC == 0 && MesClient.zdStatusB == 0){
|
|
|
+ if(MesClient.zdStatusB == 0 && MesClient.zdStatusA == 0){
|
|
|
upResult2();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 上传总结果
|
|
|
public static void upResult2(){
|
|
|
- if(!MesClient.product_sn2.getText().isEmpty() && MesClient.bMax > 0 && MesClient.bMax <= MesClient.sortB && MesClient.cMax > 0 && MesClient.cMax <= MesClient.sortC){
|
|
|
+ if(!MesClient.product_sn2.getText().isEmpty() && MesClient.aMax > 0 && MesClient.aMax <= MesClient.sortA && MesClient.bMax > 0 && MesClient.bMax <= MesClient.sortB){
|
|
|
if(MesClient.tjStatus2 == 0 && MesClient.check_quality_result2){
|
|
|
MesClient.tjStatus2 = 1;
|
|
|
MesClient.getUser();
|
|
|
String retf = "OK";
|
|
|
- if(MesClient.bFinish != MesClient.bMax){
|
|
|
+ if(MesClient.aFinish != MesClient.aMax){
|
|
|
retf = "NG";
|
|
|
}
|
|
|
- if(MesClient.cFinish != MesClient.cMax){
|
|
|
+ if(MesClient.bFinish != MesClient.bMax){
|
|
|
retf = "NG";
|
|
|
}
|
|
|
+ // 先上传 pos="A" 子结果,使服务端 result1 被写入
|
|
|
+ JSONObject retObjA = DataUtil.sendQualitySub(MesClient.product_sn2.getText(), retf,"A","2", MesClient.user20);
|
|
|
+ if(retObjA == null || retObjA.get("result")==null || !retObjA.get("result").toString().equalsIgnoreCase("true")) {
|
|
|
+ if(retObjA == null || retObjA.get("result")==null){
|
|
|
+ MesClient.setMenuStatus("请求失败,请重试",-1);
|
|
|
+ }else{
|
|
|
+ MesClient.setMenuStatus(retObjA.getString("message"),-1);
|
|
|
+ }
|
|
|
+ MesClient.tjStatus2 = 0;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 再上传 pos="B" 子结果,使服务端 result2 被写入,两次子结果到齐后服务端更新总结果
|
|
|
JSONObject retObj = DataUtil.sendQualitySub(MesClient.product_sn2.getText(), retf,"B","2", MesClient.user20);
|
|
|
if(retObj.get("result")!=null&&retObj.get("result").toString().equalsIgnoreCase("true")) {
|
|
|
MesClient.resetScanB();
|
|
|
@@ -177,6 +189,7 @@ public class ModbusUtil {
|
|
|
MesClient.setMenuStatus(retObj.getString("message"),-1);
|
|
|
}
|
|
|
}
|
|
|
+ MesClient.tjStatus2 = 0;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -275,12 +288,12 @@ public class ModbusUtil {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static void setTaskB(ModbusTcp plc){
|
|
|
+ public static void setTaskA(ModbusTcp plc){
|
|
|
try{
|
|
|
- short fmax = Short.parseShort(MesClient.configParam.getMaxFoutValB());
|
|
|
- short fmin = Short.parseShort(MesClient.configParam.getMinFoutValB());
|
|
|
- float smaxf = Float.valueOf(MesClient.configParam.getMaxSoutValB())*1000;
|
|
|
- float sminf = Float.valueOf(MesClient.configParam.getMinSoutValB())*1000;
|
|
|
+ short fmax = Short.parseShort(MesClient.configParam.getMaxFoutValA());
|
|
|
+ short fmin = Short.parseShort(MesClient.configParam.getMinFoutValA());
|
|
|
+ float smaxf = Float.valueOf(MesClient.configParam.getMaxSoutValA())*1000;
|
|
|
+ float sminf = Float.valueOf(MesClient.configParam.getMinSoutValA())*1000;
|
|
|
|
|
|
short smax = (short) smaxf;
|
|
|
short smin = (short) sminf;
|
|
|
@@ -296,12 +309,12 @@ public class ModbusUtil {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static void setTaskC(ModbusTcp plc){
|
|
|
+ public static void setTaskB(ModbusTcp plc){
|
|
|
try{
|
|
|
- short fmax = Short.parseShort(MesClient.configParam.getMaxFoutValC());
|
|
|
- short fmin = Short.parseShort(MesClient.configParam.getMinFoutValC());
|
|
|
- float smaxf = Float.valueOf(MesClient.configParam.getMaxSoutValC())*1000;
|
|
|
- float sminf = Float.valueOf(MesClient.configParam.getMinSoutValC())*1000;
|
|
|
+ short fmax = Short.parseShort(MesClient.configParam.getMaxFoutValB());
|
|
|
+ short fmin = Short.parseShort(MesClient.configParam.getMinFoutValB());
|
|
|
+ float smaxf = Float.valueOf(MesClient.configParam.getMaxSoutValB())*1000;
|
|
|
+ float sminf = Float.valueOf(MesClient.configParam.getMinSoutValB())*1000;
|
|
|
|
|
|
short smax = (short) smaxf;
|
|
|
short smin = (short) sminf;
|
|
|
@@ -317,20 +330,6 @@ public class ModbusUtil {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public static void setTask2S(ModbusTcp plc){
|
|
|
- try{
|
|
|
-// plc.writeInt16(1070,(short) 3600);
|
|
|
-// plc.writeInt16(1071,(short) 4600);
|
|
|
-
|
|
|
-// short v1 = Short.parseShort(MesClient.configParam.getSminb62());
|
|
|
-// short v2 = Short.parseShort(MesClient.configParam.getSmaxb62());
|
|
|
-// plc.writeInt16(1070,v1);
|
|
|
-// plc.writeInt16(1071,v2);
|
|
|
- }catch (Exception e){
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
// A枪说明 192.168.1.7
|
|
|
// plc.writeCoil(3079,false);
|