whyclxw
2020-09-19 1bffd54630f3c20c29879b20033804d759db4750
src/com/dev/base/data/Dynamicload_SocketClient_Thread.java
@@ -27,7 +27,7 @@
      this.dinf = dinf;
      dbutton = new Dynamicload_button(dinf.getDev_id());
      dcontrol = new Dynamicload_control(dinf.getDev_id());
      dcontrol = new Dynamicload_control(dinf.getDev_id(),dinf.getFZ_button_num());
      dstate = new Dynamicload_state(dinf.getDev_id(),dinf.getFZ_button_num());
      master = new MyModbusMaster(dinf.getDev_ip(), MyModbusMaster.SLAVEID_DEFAULT);
      //System.out.println("master: "+master);
@@ -40,6 +40,12 @@
      Date last = new Date();
      while (true) {
         try {
            /*PowerArk_Task_SQL.queryDynamicload_Control(conn_pool, dcontrol);
            if(dcontrol.isControl_en()) {
               //************************** 控制输出 *******************************//*
               writeDynamicload_Control(master,dcontrol);
               PowerArk_Task_SQL.update_Dynamicload_Control(conn_pool, dcontrol);
            }*/
            if (runCount % 2 == 0) {
               // *************************** 更新负载按钮信息******************************//*
@@ -60,7 +66,6 @@
            //System.err.println(dinf.dev_id + "=====" + ((new Date()).getTime() - last.getTime()));
            last = new Date();
            PowerArk_Task_SQL.insertOrUpdateDeviceConnectState(conn_pool, dinf.dev_id, master);
            if (runCount % 10 == 0) {
               // 更新当前设备ip
               master.setTarget_ip(dinf.dev_ip);
@@ -82,6 +87,144 @@
      }
   }
   //控制输出
   private void writeDynamicload_Control(MyModbusMaster master, Dynamicload_control dcontrol) {
      if(dcontrol.FZ_b1>0) {
         if(dcontrol.FZ_b1==1) {
            MyModbusUtils.writeCoil(80, true, master);
         }else {
            MyModbusUtils.writeCoil(80, false, master);
         }
      }
      if(dcontrol.FZ_b2>0) {
         if(dcontrol.FZ_b2==1) {
            MyModbusUtils.writeCoil(81, true, master);
         }else {
            MyModbusUtils.writeCoil(81, false, master);
         }
      }
      if(dcontrol.FZ_b3>0) {
         if(dcontrol.FZ_b3==1) {
            MyModbusUtils.writeCoil(82, true, master);
         }else {
            MyModbusUtils.writeCoil(82, false, master);
         }
      }
      if(dcontrol.FZ_b4>0) {
         if(dcontrol.FZ_b4==1) {
            MyModbusUtils.writeCoil(83, true, master);
         }else {
            MyModbusUtils.writeCoil(83, false, master);
         }
      }
      if(dcontrol.FZ_b5>0) {
         if(dcontrol.FZ_b5==1) {
            MyModbusUtils.writeCoil(84, true, master);
         }else {
            MyModbusUtils.writeCoil(84, false, master);
         }
      }
      if(dcontrol.FZ_b6>0) {
         if(dcontrol.FZ_b6==1) {
            MyModbusUtils.writeCoil(85, true, master);
         }else {
            MyModbusUtils.writeCoil(85, false, master);
         }
      }
      if(dcontrol.FZ_b7>0) {
         if(dcontrol.FZ_b7==1) {
            MyModbusUtils.writeCoil(86, true, master);
         }else {
            MyModbusUtils.writeCoil(86, false, master);
         }
      }
      if(dcontrol.FZ_b8>0) {
         if(dcontrol.FZ_b8==1) {
            MyModbusUtils.writeCoil(87, true, master);
         }else {
            MyModbusUtils.writeCoil(87, false, master);
         }
      }
      if(dcontrol.FZ_b9>0) {
         if(dcontrol.FZ_b9==1) {
            MyModbusUtils.writeCoil(88, true, master);
         }else {
            MyModbusUtils.writeCoil(88, false, master);
         }
      }
      if(dcontrol.FZ_b10>0) {
         if(dcontrol.FZ_b10==1) {
            MyModbusUtils.writeCoil(89, true, master);
         }else {
            MyModbusUtils.writeCoil(89, false, master);
         }
      }
      if(dcontrol.FZ_b11>0) {
         if(dcontrol.FZ_b11==1) {
            MyModbusUtils.writeCoil(90, true, master);
         }else {
            MyModbusUtils.writeCoil(90, false, master);
         }
      }
      if(dcontrol.start_auto>0) {
         MyModbusUtils.writeCoil(8, true, master);
      }
      if(dcontrol.stop_auto>0) {
         MyModbusUtils.writeCoil(9, true, master);
      }
      if(dcontrol.sudden_crease>0) {
         MyModbusUtils.writeCoil(10, true, master);
      }
      if(dcontrol.all_open>0) {
         MyModbusUtils.writeCoil(11, true, master);
      }
      /*if(dcontrol.FZ_autostate1>0) {
         MyModbusUtils.writeCoil(1, true, master);
      }
      if(dcontrol.FZ_autostate2>0) {
         MyModbusUtils.writeCoil(2, true, master);
      }
      if(dcontrol.FZ_autostate3>0) {
         MyModbusUtils.writeCoil(3, true, master);
      }
      if(dcontrol.FZ_autostate4>0) {
         MyModbusUtils.writeCoil(4, true, master);
      }
      if(dcontrol.FZ_autostate5>0) {
         MyModbusUtils.writeCoil(5, true, master);
      }*/
      /*if(dcontrol.local_control>0) {
         MyModbusUtils.writeCoil(40, true, master);
      }
      if(dcontrol.back_control>0) {
         MyModbusUtils.writeCoil(41, true, master);
      }
      if(dcontrol.central_control>0) {
         MyModbusUtils.writeCoil(42, true, master);
      }
      if(dcontrol.inter_volume_M200>0) {
         MyModbusUtils.writeCoil(160, true, master);
      }
      if(dcontrol.fan_button>0) {
         MyModbusUtils.writeCoil(12, true, master);
      }*/
      if(dcontrol.set_power>0) {
         if(dcontrol.button_num==11) {
            MyModbusUtils.writeHoldingRegister(4, dcontrol.set_power, DataType.TWO_BYTE_INT_UNSIGNED, master);
         }else {
            MyModbusUtils.writeHoldingRegister(8, dcontrol.set_power, DataType.TWO_BYTE_INT_UNSIGNED, master);
         }
      }
      if(dcontrol.interval_time>0) {
         if(dcontrol.button_num==11) {
            MyModbusUtils.writeHoldingRegister(6, dcontrol.interval_time, DataType.TWO_BYTE_INT_UNSIGNED, master);
         }else {
            MyModbusUtils.writeHoldingRegister(16, dcontrol.interval_time, DataType.TWO_BYTE_INT_UNSIGNED, master);
         }
      }
      dcontrol.clear();
   }
   /**
    * 多点读取负载按钮状态
    * @param master