ElectricalSystem_MonitorServer_4KW/config.xml
@@ -2,7 +2,7 @@ <root> <mysql_ramdb_recreate_en>false</mysql_ramdb_recreate_en> <mysql_server_ip>127.0.0.1</mysql_server_ip> <mysql_server_ip>118.89.139.230</mysql_server_ip> <!--SOURCE_BATTDATA_TYPE_FBSDEV = 0--> <!--SOURCE_BATTDATA_TYPE_SQLSERVER = 1--> <!--SOURCE_BATTDATA_TYPE_C_INTERFACE = 2--> ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electric_4KW_ModbusAddress.java
New file @@ -0,0 +1,345 @@ package com.electrical.FourKW; public class Electric_4KW_ModbusAddress { //ABCD套获取地址 public static int getAddress(int electric_id,String addressName) { int address=0; if(addressName.equals("upsetcurr")) {//上位机设定电流 switch (electric_id) { case 4001:address=25;break; case 4002:address=45;break; case 4003:address=65;break; case 4004:address=85;break; default:break; } } if(addressName.equals("upsetvol")) {//上位机设定电压 switch (electric_id) { case 4001:address=26;break; case 4002:address=46;break; case 4003:address=66;break; case 4004:address=86;break; default:break; } } if(addressName.equals("convolcontrol")) {//恒压控制 switch (electric_id) { case 4001:address=432;break; case 4002:address=752;break; case 4003:address=1072;break; case 4004:address=1392;break; default:break; } } if(addressName.equals("concurrcontrol")) {//恒流控制 switch (electric_id) { case 4001:address=433;break; case 4002:address=753;break; case 4003:address=1073;break; case 4004:address=1393;break; default:break; } } if(addressName.equals("othermodes")) {//其他模式运行 switch (electric_id) { case 4001:address=434;break; case 4002:address=754;break; case 4003:address=1074;break; case 4004:address=1394;break; default:break; } } if(addressName.equals("parallelmodes")) {//并联稳压运行 switch (electric_id) { case 4001:address=435;break; case 4002:address=755;break; case 4003:address=1075;break; case 4004:address=1395;break; default:break; } } if(addressName.equals("startposition")) {//启动位 switch (electric_id) { case 4001:address=436;break; case 4002:address=756;break; case 4003:address=1076;break; case 4004:address=1396;break; default:break; } } if(addressName.equals("stopposition")) {//ֹͣλ switch (electric_id) { case 4001:address=437;break; case 4002:address=757;break; case 4003:address=1077;break; case 4004:address=1397;break; default:break; } } if(addressName.equals("resetposition")) {//复位 switch (electric_id) { case 4001:address=438;break; case 4002:address=758;break; case 4003:address=1078;break; case 4004:address=1398;break; default:break; } } if(addressName.equals("fanstart")) {//风机启动 switch (electric_id) { case 4001:address=440;break; case 4002:address=760;break; case 4003:address=1080;break; case 4004:address=1400;break; default:break; } } if(addressName.equals("fanstop")) {//风机停止 switch (electric_id) { case 4001:address=441;break; case 4002:address=761;break; case 4003:address=1081;break; case 4004:address=1401;break; default:break; } } if(addressName.equals("dcvol")) {//直流电压 switch (electric_id) { case 4001:address=35;break; case 4002:address=55;break; case 4003:address=75;break; case 4004:address=95;break; default:break; } }if(addressName.equals("dccurr")) {//直流电流 switch (electric_id) { case 4001:address=36;break; case 4002:address=56;break; case 4003:address=76;break; case 4004:address=96;break; default:break; } } if(addressName.equals("controlangle")) {//控制角 switch (electric_id) { case 4001:address=37;break; case 4002:address=57;break; case 4003:address=77;break; case 4004:address=97;break; default:break; } } if(addressName.equals("loopflag")) {//开闭环标志位【0开环;1闭环】 switch (electric_id) { case 4001:address=634;break; case 4002:address=954;break; case 4003:address=1274;break; case 4004:address=1594;break; default:break; } } if(addressName.equals("remoteflag")) {//就地远程标志位【0远程;1就地】 switch (electric_id) { case 4001:address=635;break; case 4002:address=955;break; case 4003:address=1275;break; case 4004:address=1595;break; default:break; } } if(addressName.equals("orderflag")) {//正序逆序标志位【0正序;1逆序】 switch (electric_id) { case 4001:address=636;break; case 4002:address=956;break; case 4003:address=1276;break; case 4004:address=1596;break; default:break; } } if(addressName.equals("consvolcurrflag")) {//恒压横流标志位【0恒压;1恒流】 switch (electric_id) { case 4001:address=639;break; case 4002:address=959;break; case 4003:address=1279;break; case 4004:address=1599;break; default:break; } } if(addressName.equals("powerstartflag")) {//电源启动标志位【0停止;1启动】 switch (electric_id) { case 4001:address=624;break; case 4002:address=944;break; case 4003:address=1264;break; case 4004:address=1584;break; default:break; } } if(addressName.equals("workmodelflag")) {//工作模式标志位【0其他模式;1并联稳压】 switch (electric_id) { case 4001:address=625;break; case 4002:address=945;break; case 4003:address=1265;break; case 4004:address=1585;break; default:break; } } if(addressName.equals("case_trip_output")) {//机箱跳闸输出 switch (electric_id) { case 4001:address=640;break; case 4002:address=960;break; case 4003:address=1280;break; case 4004:address=1600;break; default:break; } } if(addressName.equals("fault_reset_signal")) {//故障复位信号 switch (electric_id) { case 4001:address=641;break; case 4002:address=961;break; case 4003:address=1281;break; case 4004:address=1601;break; default:break; } } if(addressName.equals("high_vol_switch_status")) {//高压开关状态 switch (electric_id) { case 4001:address=642;break; case 4002:address=962;break; case 4003:address=1282;break; case 4004:address=1602;break; default:break; } } if(addressName.equals("stop_button")) {//急停按钮 switch (electric_id) { case 4001:address=643;break; case 4002:address=963;break; case 4003:address=1283;break; case 4004:address=1603;break; default:break; } } if(addressName.equals("main_cabinet_fan_status")) {//主柜风机状态 switch (electric_id) { case 4001:address=644;break; case 4002:address=964;break; case 4003:address=1284;break; case 4004:address=1604;break; default:break; } } if(addressName.equals("trans_cabinet_door_lock")) {//变压器柜门连锁 switch (electric_id) { case 4001:address=645;break; case 4002:address=965;break; case 4003:address=1285;break; case 4004:address=1605;break; default:break; } } if(addressName.equals("trans_cabinet_overtem_alarm")) {//变压器超温报警 switch (electric_id) { case 4001:address=646;break; case 4002:address=966;break; case 4003:address=1286;break; case 4004:address=1606;break; default:break; } } if(addressName.equals("trans_cabinet_overtem_trip")) {//变压器超温跳闸 switch (electric_id) { case 4001:address=647;break; case 4002:address=967;break; case 4003:address=1287;break; case 4004:address=1607;break; default:break; } } if(addressName.equals("qs1_state")) {//QS1״̬ switch (electric_id) { case 4001:address=648;break; case 4002:address=968;break; case 4003:address=1288;break; case 4004:address=1608;break; default:break; } } if(addressName.equals("qs2_state")) {//QS2״̬ switch (electric_id) { case 4001:address=649;break; case 4002:address=969;break; case 4003:address=1289;break; case 4004:address=1609;break; default:break; } } if(addressName.equals("switch_cabinet_door_status")) {//转换开关柜门状态 switch (electric_id) { case 4001:address=652;break; case 4002:address=972;break; case 4003:address=1292;break; case 4004:address=1612;break; default:break; } } if(addressName.equals("alldcvol")) {//总直流电压 switch (electric_id) { case 4001:address=41;break; case 4003:address=81;break; default:break; } } if(addressName.equals("alldccurr")) {//总直流电流 switch (electric_id) { case 4001:address=42;break; case 4003:address=82;break; default:break; } } return address; } //获取总开关地址和总状态地址 public static int getAllAdd(String addressName) { int address=0; switch (addressName) { case "km1_switchon_one":address=240;break;//一号转换开关柜KM1合闸指令 case "km1_switchoff_one":address=241;break; //一号转换开关柜KM1分闸指令 case "km2_switchon_one":address=242;break;//一号转换开关柜KM2合闸指令 case "km2_switchoff_one":address=243;break; //一号转换开关柜KM2分闸指令 case "km3_switchon_one":address=244;break;//一号转换开关柜KM3合闸指令 case "km3_switchoff_one":address=245;break; //一号转换开关柜KM3分闸指令 case "km4_switchon_one":address=246;break;//一号转换开关柜KM4合闸指令 case "km4_switchoff_one":address=247;break; //一号转换开关柜KM4分闸指令 case "km1_switchon_two":address=248;break;//二号转换开关柜KM1合闸指令 case "km1_switchoff_two":address=249;break;//二号转换开关柜KM1分闸指令 case "km2_switchon_two":address=250;break;//二号转换开关柜KM2合闸指令 case "km2_switchoff_two":address=251;break;//二号转换开关柜KM2分闸指令 case "km3_switchon_two":address=252;break;//二号转换开关柜KM3合闸指令 case "km3_switchoff_two":address=253;break;//二号转换开关柜KM3分闸指令 case "km4_switchon_two":address=254;break;//二号转换开关柜KM4合闸指令 case "km4_switchoff_two":address=255;break;//二号转换开关柜KM4分闸指令 case "start_a":address=272;break;//A套启动 case "stop_a":address=288;break;//A套停止 case "start_b":address=273;break;//B套启动 case "stop_b":address=289;break;//B套停止 case "start_c":address=274;break;//C套启动 case "stop_c":address=290;break;//C套停止 case "start_d":address=275;break;//D套启动 case "stop_d":address=291;break;//D套停止 case "abconn_start":address=276;break;//AB套并联运行启动 case "abconn_stop":address=292;break;//AB套并联运行停止 case "cdconn_start":address=277;break;//CD套并联运行启动 case "cdconn_stop":address=293;break;//CD套并联运行停止 case "allconn_start":address=278;break;//四套并联运行启动 case "allconn_stop":address=294;break;//四套并联运行停止 case "abconn_flag":address=312;break;//AB并串联标志位 case "cdconn_flag":address=313;break;//CD并串联标志位 case "abconn_volset":address=275;break;//AB并联电压给定 case "abconn_currset":address=276;break;//AB并联电流给定 case "cdconn_volset":address=277;break;//CD并联电压给定 case "cdconn_currset":address=278;break;//CD并联电流给定 default:break; } return address; } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electric_4Kw_ServerSocket_Thread.java
New file @@ -0,0 +1,63 @@ package com.electrical.FourKW; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.base.Com; import com.sql.MysqlConnPool; public class Electric_4Kw_ServerSocket_Thread implements Runnable{ public List<Electric_inf> einfs; public MysqlConnPool conn_pool; public Map<Integer, Electrical_4KW_SocketClient_Thread> einfthreads; public Electric_4Kw_ServerSocket_Thread(MysqlConnPool conn_pool,List<Electric_inf> einfs) { this.einfs = einfs; this.conn_pool = conn_pool; this.einfthreads = new HashMap<Integer,Electrical_4KW_SocketClient_Thread>(); } @Override public void run() { // TODO Auto-generated method stub System.out.println(" Electrical_4KW_ServerSocket_Thread Start at " +Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)); for(int i = 0;i<einfs.size();i++) { //插入或更新电源单表控制 Electrical_Task_SQL.replace_Electric_Control_Single(conn_pool, new Electric_Control_Single(einfs.get(i).getElectric_id())); //插入或更新电源实时信息表和电源实时状态表 Electrical_Task_SQL.replace_Electric_Rt(conn_pool, new Electric_Rt(einfs.get(i).getElectric_id())); //插入或更新电源实时状态表 Electrical_Task_SQL.replace_Electric_State(conn_pool, new Electric_State(einfs.get(i).getElectric_id())); Electrical_4KW_SocketClient_Thread thread = new Electrical_4KW_SocketClient_Thread(einfs.get(i),conn_pool); einfthreads.put(einfs.get(i).electric_id, thread); new Thread(thread).start(); } /*while(true) { try { for(int i=0;i<motors.size();i++) { Motor_inf motor = motors.get(i); Motor_inf temp = motorthreads.get(motor.motor_id).motor; if(temp == null) { //尚未启动的设备 Motor_SocketClient_Thread thread = new Motor_SocketClient_Thread(motor,conn_pool); motorthreads.put(motor.motor_id, thread); new Thread(thread).start(); } } Thread.sleep(5000); } catch (Exception e) { try { Thread.sleep(5000); } catch (InterruptedException e1) { //e1.printStackTrace(); } e.printStackTrace(); } }*/ } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electric_All_ServerSocket_Thread.java
New file @@ -0,0 +1,34 @@ package com.electrical.FourKW; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.base.Com; import com.sql.MysqlConnPool; public class Electric_All_ServerSocket_Thread implements Runnable{ public MysqlConnPool conn_pool; public String PLC_ip; public Electric_All_ServerSocket_Thread(MysqlConnPool conn_pool,String PLC_ip) { this.conn_pool = conn_pool; this.PLC_ip=PLC_ip; } @Override public void run() { // TODO Auto-generated method stub System.out.println(" Electrical_ALL_ServerSocket_Thread Start at " +Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)); //插入或更新电源总开关状态表 Electrical_Task_SQL.replace_Electric_Switch(conn_pool, new Electric_Switch(PLC_ip)); //插入或更新4套电源状态表 Electrical_Task_SQL.replace_Electric_Power(conn_pool, new Electric_Power(PLC_ip)); Electrical_ALL_SocketClient_Thread thread = new Electrical_ALL_SocketClient_Thread(PLC_ip,conn_pool); new Thread(thread).start(); } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electric_Control_Single.java
@@ -1,113 +1,193 @@ package com.electrical.FourKW; public class Electric_Control_Single { public int electric_id; //电源id public float upsetcurr; //上位机设定电流 public float upsetvol; //上位机设定电压 public int convolcontrol; //恒压控制 public int concurrcontrol; //恒流控制 public int othermodes; //其他模式运行 public int parallelmodes; //并联稳压运行 public int startposition; //启动位 public int stopposition; //ֹͣλ public int resetposition; //复位 public int fanstart; //风机启动 public int fanstop; //风机停止 public float dcvol; //直流电压 public float dccurr; //直流电流 public float controlangle; //控制角 public Electric_Control_Single(int electric_id) { this.electric_id = electric_id; } public int getElectric_id() { return electric_id; } public float getUpsetcurr() { return upsetcurr; } public float getUpsetvol() { return upsetvol; } public int getConvolcontrol() { return convolcontrol; } public int getConcurrcontrol() { return concurrcontrol; } public int getOthermodes() { return othermodes; } public int getParallelmodes() { return parallelmodes; } public int getStartposition() { return startposition; } public int getStopposition() { return stopposition; } public int getResetposition() { return resetposition; } public int getFanstart() { return fanstart; } public int getFanstop() { return fanstop; } public float getDcvol() { return dcvol; } public float getDccurr() { return dccurr; } public float getControlangle() { return controlangle; } public void setElectric_id(int electric_id) { this.electric_id = electric_id; } public void setUpsetcurr(float upsetcurr) { this.upsetcurr = upsetcurr; } public void setUpsetvol(float upsetvol) { this.upsetvol = upsetvol; } public void setConvolcontrol(int convolcontrol) { this.convolcontrol = convolcontrol; } public void setConcurrcontrol(int concurrcontrol) { this.concurrcontrol = concurrcontrol; } public void setOthermodes(int othermodes) { this.othermodes = othermodes; } public void setParallelmodes(int parallelmodes) { this.parallelmodes = parallelmodes; } public void setStartposition(int startposition) { this.startposition = startposition; } public void setStopposition(int stopposition) { this.stopposition = stopposition; } public void setResetposition(int resetposition) { this.resetposition = resetposition; } public void setFanstart(int fanstart) { this.fanstart = fanstart; } public void setFanstop(int fanstop) { this.fanstop = fanstop; } public void setDcvol(float dcvol) { this.dcvol = dcvol; } public void setDccurr(float dccurr) { this.dccurr = dccurr; } public void setControlangle(float controlangle) { this.controlangle = controlangle; } } package com.electrical.FourKW; public class Electric_Control_Single { public int electric_id; //电源id public float upsetcurr; //上位机设定电流 public float upsetvol; //上位机设定电压 public int convolcontrol; //恒压控制 public int concurrcontrol; //恒流控制 public int othermodes; //其他模式运行 public int parallelmodes; //并联稳压运行 public int startposition; //启动位 public int stopposition; //ֹͣλ public int resetposition; //复位 public int fanstart; //风机启动 public int fanstop; //风机停止 public float dcvol; //直流电压 public float dccurr; //直流电流 public float controlangle; //控制角 public boolean control_en = false; public void clear() { this.control_en = false; this.upsetcurr = 0; this.upsetvol = 0; this.convolcontrol = 0; this.concurrcontrol = 0; this.othermodes = 0; this.parallelmodes = 0; this.startposition = 0; this.stopposition = 0; this.resetposition = 0; this.fanstart = 0; this.fanstop = 0; this.dcvol = 0; this.dccurr = 0; this.controlangle = 0; } public Electric_Control_Single(int electric_id) { this.electric_id = electric_id; } public int getElectric_id() { return electric_id; } public float getUpsetcurr() { return upsetcurr; } public float getUpsetvol() { return upsetvol; } public int getConvolcontrol() { return convolcontrol; } public int getConcurrcontrol() { return concurrcontrol; } public int getOthermodes() { return othermodes; } public int getParallelmodes() { return parallelmodes; } public int getStartposition() { return startposition; } public int getStopposition() { return stopposition; } public int getResetposition() { return resetposition; } public int getFanstart() { return fanstart; } public int getFanstop() { return fanstop; } public float getDcvol() { return dcvol; } public float getDccurr() { return dccurr; } public float getControlangle() { return controlangle; } public void setElectric_id(int electric_id) { this.electric_id = electric_id; } public void setUpsetcurr(float upsetcurr) { if(upsetcurr > 0) { control_en = true; } this.upsetcurr = upsetcurr; } public void setUpsetvol(float upsetvol) { if(upsetvol > 0) { control_en = true; } this.upsetvol = upsetvol; } public void setConvolcontrol(int convolcontrol) { if(convolcontrol > 0) { control_en = true; } this.convolcontrol = convolcontrol; } public void setConcurrcontrol(int concurrcontrol) { if(concurrcontrol > 0) { control_en = true; } this.concurrcontrol = concurrcontrol; } public void setOthermodes(int othermodes) { if(othermodes > 0) { control_en = true; } this.othermodes = othermodes; } public void setParallelmodes(int parallelmodes) { if(parallelmodes > 0) { control_en = true; } this.parallelmodes = parallelmodes; } public void setStartposition(int startposition) { if(startposition > 0) { control_en = true; } this.startposition = startposition; } public void setStopposition(int stopposition) { if(stopposition > 0) { control_en = true; } this.stopposition = stopposition; } public void setResetposition(int resetposition) { if(resetposition > 0) { control_en = true; } this.resetposition = resetposition; } public void setFanstart(int fanstart) { if(fanstart > 0) { control_en = true; } this.fanstart = fanstart; } public void setFanstop(int fanstop) { if(fanstop > 0) { control_en = true; } this.fanstop = fanstop; } public void setDcvol(float dcvol) { if(dcvol > 0) { control_en = true; } this.dcvol = dcvol; } public void setDccurr(float dccurr) { if(dccurr > 0) { control_en = true; } this.dccurr = dccurr; } public void setControlangle(float controlangle) { if(controlangle > 0) { control_en = true; } this.controlangle = controlangle; } public boolean isControl_en() { return control_en; } public void setControl_en(boolean control_en) { this.control_en = control_en; } @Override public String toString() { return "Electric_Control_Single [electric_id=" + electric_id + ", upsetcurr=" + upsetcurr + ", upsetvol=" + upsetvol + ", convolcontrol=" + convolcontrol + ", concurrcontrol=" + concurrcontrol + ", othermodes=" + othermodes + ", parallelmodes=" + parallelmodes + ", startposition=" + startposition + ", stopposition=" + stopposition + ", resetposition=" + resetposition + ", fanstart=" + fanstart + ", fanstop=" + fanstop + ", dcvol=" + dcvol + ", dccurr=" + dccurr + ", controlangle=" + controlangle + ", control_en=" + control_en + "]"; } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electric_Power.java
@@ -1,26 +1,165 @@ package com.electrical.FourKW; public class Electric_Power { public int start_a; //A套启动 public int stop_a; //A套停止 public int start_b; //B套启动 public int stop_b; //B套停止 public int start_c; //C套启动 public int stop_c; //C套停止 public int start_d; //D套启动 public int stop_d; //D套停止 public int abconn_start; //AB套并联运行启动 public int abconn_stop; //AB套并联运行停止 public int cdconn_start; //CD套并联运行启动 public int cdconn_stop; //CD套并联运行停止 public int allconn_start; //四套并联运行启动 public int allconn_stop; //四套并联运行停止 public int abconn_flag; //AB并串联标志位 public int cdconn_flag; //CD并串联标志位 public int abconn_volset; //AB并联电压给定 public int abconn_currset; //AB并联电流给定 public int cdconn_volset; //CD并联电压给定 public int cdconn_currset; //CD并联电流给定 public String note; } package com.electrical.FourKW; public class Electric_Power { public String PLC_ip; //plc的ip地址 public int start_a; //A套启动 public int stop_a; //A套停止 public int start_b; //B套启动 public int stop_b; //B套停止 public int start_c; //C套启动 public int stop_c; //C套停止 public int start_d; //D套启动 public int stop_d; //D套停止 public int abconn_start; //AB套并联运行启动 public int abconn_stop; //AB套并联运行停止 public int cdconn_start; //CD套并联运行启动 public int cdconn_stop; //CD套并联运行停止 public int allconn_start; //四套并联运行启动 public int allconn_stop; //四套并联运行停止 public int abconn_flag; //AB并串联标志位 public int cdconn_flag; //CD并串联标志位 public int abconn_volset; //AB并联电压给定 public int abconn_currset; //AB并联电流给定 public int cdconn_volset; //CD并联电压给定 public int cdconn_currset; //CD并联电流给定 public String note; public Electric_Power(String pLC_ip) { super(); this.PLC_ip = pLC_ip; } public String getPLC_ip() { return PLC_ip; } public void setPLC_ip(String pLC_ip) { PLC_ip = pLC_ip; } public int getStart_a() { return start_a; } public void setStart_a(int start_a) { this.start_a = start_a; } public int getStop_a() { return stop_a; } public void setStop_a(int stop_a) { this.stop_a = stop_a; } public int getStart_b() { return start_b; } public void setStart_b(int start_b) { this.start_b = start_b; } public int getStop_b() { return stop_b; } public void setStop_b(int stop_b) { this.stop_b = stop_b; } public int getStart_c() { return start_c; } public void setStart_c(int start_c) { this.start_c = start_c; } public int getStop_c() { return stop_c; } public void setStop_c(int stop_c) { this.stop_c = stop_c; } public int getStart_d() { return start_d; } public void setStart_d(int start_d) { this.start_d = start_d; } public int getStop_d() { return stop_d; } public void setStop_d(int stop_d) { this.stop_d = stop_d; } public int getAbconn_start() { return abconn_start; } public void setAbconn_start(int abconn_start) { this.abconn_start = abconn_start; } public int getAbconn_stop() { return abconn_stop; } public void setAbconn_stop(int abconn_stop) { this.abconn_stop = abconn_stop; } public int getCdconn_start() { return cdconn_start; } public void setCdconn_start(int cdconn_start) { this.cdconn_start = cdconn_start; } public int getCdconn_stop() { return cdconn_stop; } public void setCdconn_stop(int cdconn_stop) { this.cdconn_stop = cdconn_stop; } public int getAllconn_start() { return allconn_start; } public void setAllconn_start(int allconn_start) { this.allconn_start = allconn_start; } public int getAllconn_stop() { return allconn_stop; } public void setAllconn_stop(int allconn_stop) { this.allconn_stop = allconn_stop; } public int getAbconn_flag() { return abconn_flag; } public void setAbconn_flag(int abconn_flag) { this.abconn_flag = abconn_flag; } public int getCdconn_flag() { return cdconn_flag; } public void setCdconn_flag(int cdconn_flag) { this.cdconn_flag = cdconn_flag; } public int getAbconn_volset() { return abconn_volset; } public void setAbconn_volset(int abconn_volset) { this.abconn_volset = abconn_volset; } public int getAbconn_currset() { return abconn_currset; } public void setAbconn_currset(int abconn_currset) { this.abconn_currset = abconn_currset; } public int getCdconn_volset() { return cdconn_volset; } public void setCdconn_volset(int cdconn_volset) { this.cdconn_volset = cdconn_volset; } public int getCdconn_currset() { return cdconn_currset; } public void setCdconn_currset(int cdconn_currset) { this.cdconn_currset = cdconn_currset; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electric_Switch.java
@@ -1,128 +1,141 @@ package com.electrical.FourKW; public class Electric_Switch { public int km1_switchon_one; //一号转换开关柜KM1合闸指令 public int km1_switchoff_one; //一号转换开关柜KM1分闸指令 public int km2_switchon_one; //一号转换开关柜KM2合闸指令 public int km2_switchoff_one; //一号转换开关柜KM2分闸指令 public int km3_switchon_one; //一号转换开关柜KM3合闸指令 public int km3_switchoff_one; //一号转换开关柜KM3分闸指令 public int km4_switchon_one; //一号转换开关柜KM4合闸指令 public int km4_switchoff_one; //一号转换开关柜KM4分闸指令 public int km1_switchon_two; //二号转换开关柜KM1合闸指令 public int km1_switchoff_two; //二号转换开关柜KM1分闸指令 public int km2_switchon_two; //二号转换开关柜KM2合闸指令 public int km2_switchoff_two; //二号转换开关柜KM2分闸指令 public int km3_switchon_two; //二号转换开关柜KM3合闸指令 public int km3_switchoff_two; //二号转换开关柜KM3分闸指令 public int km4_switchon_two; //二号转换开关柜KM4合闸指令 public int km4_switchoff_two; //二号转换开关柜KM4分闸指令 public String note; //备用 public int getKm1_switchon_one() { return km1_switchon_one; } public int getKm1_switchoff_one() { return km1_switchoff_one; } public int getKm2_switchon_one() { return km2_switchon_one; } public int getKm2_switchoff_one() { return km2_switchoff_one; } public int getKm3_switchon_one() { return km3_switchon_one; } public int getKm3_switchoff_one() { return km3_switchoff_one; } public int getKm4_switchon_one() { return km4_switchon_one; } public int getKm4_switchoff_one() { return km4_switchoff_one; } public int getKm1_switchon_two() { return km1_switchon_two; } public int getKm1_switchoff_two() { return km1_switchoff_two; } public int getKm2_switchon_two() { return km2_switchon_two; } public int getKm2_switchoff_two() { return km2_switchoff_two; } public int getKm3_switchon_two() { return km3_switchon_two; } public int getKm3_switchoff_two() { return km3_switchoff_two; } public int getKm4_switchon_two() { return km4_switchon_two; } public int getKm4_switchoff_two() { return km4_switchoff_two; } public String getNote() { return note; } public void setKm1_switchon_one(int km1_switchon_one) { this.km1_switchon_one = km1_switchon_one; } public void setKm1_switchoff_one(int km1_switchoff_one) { this.km1_switchoff_one = km1_switchoff_one; } public void setKm2_switchon_one(int km2_switchon_one) { this.km2_switchon_one = km2_switchon_one; } public void setKm2_switchoff_one(int km2_switchoff_one) { this.km2_switchoff_one = km2_switchoff_one; } public void setKm3_switchon_one(int km3_switchon_one) { this.km3_switchon_one = km3_switchon_one; } public void setKm3_switchoff_one(int km3_switchoff_one) { this.km3_switchoff_one = km3_switchoff_one; } public void setKm4_switchon_one(int km4_switchon_one) { this.km4_switchon_one = km4_switchon_one; } public void setKm4_switchoff_one(int km4_switchoff_one) { this.km4_switchoff_one = km4_switchoff_one; } public void setKm1_switchon_two(int km1_switchon_two) { this.km1_switchon_two = km1_switchon_two; } public void setKm1_switchoff_two(int km1_switchoff_two) { this.km1_switchoff_two = km1_switchoff_two; } public void setKm2_switchon_two(int km2_switchon_two) { this.km2_switchon_two = km2_switchon_two; } public void setKm2_switchoff_two(int km2_switchoff_two) { this.km2_switchoff_two = km2_switchoff_two; } public void setKm3_switchon_two(int km3_switchon_two) { this.km3_switchon_two = km3_switchon_two; } public void setKm3_switchoff_two(int km3_switchoff_two) { this.km3_switchoff_two = km3_switchoff_two; } public void setKm4_switchon_two(int km4_switchon_two) { this.km4_switchon_two = km4_switchon_two; } public void setKm4_switchoff_two(int km4_switchoff_two) { this.km4_switchoff_two = km4_switchoff_two; } public void setNote(String note) { this.note = note; } } package com.electrical.FourKW; public class Electric_Switch { public String PLC_ip; //plc的ip地址 public int km1_switchon_one; //一号转换开关柜KM1合闸指令 public int km1_switchoff_one; //一号转换开关柜KM1分闸指令 public int km2_switchon_one; //一号转换开关柜KM2合闸指令 public int km2_switchoff_one; //一号转换开关柜KM2分闸指令 public int km3_switchon_one; //一号转换开关柜KM3合闸指令 public int km3_switchoff_one; //一号转换开关柜KM3分闸指令 public int km4_switchon_one; //一号转换开关柜KM4合闸指令 public int km4_switchoff_one; //一号转换开关柜KM4分闸指令 public int km1_switchon_two; //二号转换开关柜KM1合闸指令 public int km1_switchoff_two; //二号转换开关柜KM1分闸指令 public int km2_switchon_two; //二号转换开关柜KM2合闸指令 public int km2_switchoff_two; //二号转换开关柜KM2分闸指令 public int km3_switchon_two; //二号转换开关柜KM3合闸指令 public int km3_switchoff_two; //二号转换开关柜KM3分闸指令 public int km4_switchon_two; //二号转换开关柜KM4合闸指令 public int km4_switchoff_two; //二号转换开关柜KM4分闸指令 public String note; //备用 public Electric_Switch(String pLC_ip) { super(); this.PLC_ip = pLC_ip; } public String getPLC_ip() { return PLC_ip; } public void setPLC_ip(String pLC_ip) { PLC_ip = pLC_ip; } public int getKm1_switchon_one() { return km1_switchon_one; } public int getKm1_switchoff_one() { return km1_switchoff_one; } public int getKm2_switchon_one() { return km2_switchon_one; } public int getKm2_switchoff_one() { return km2_switchoff_one; } public int getKm3_switchon_one() { return km3_switchon_one; } public int getKm3_switchoff_one() { return km3_switchoff_one; } public int getKm4_switchon_one() { return km4_switchon_one; } public int getKm4_switchoff_one() { return km4_switchoff_one; } public int getKm1_switchon_two() { return km1_switchon_two; } public int getKm1_switchoff_two() { return km1_switchoff_two; } public int getKm2_switchon_two() { return km2_switchon_two; } public int getKm2_switchoff_two() { return km2_switchoff_two; } public int getKm3_switchon_two() { return km3_switchon_two; } public int getKm3_switchoff_two() { return km3_switchoff_two; } public int getKm4_switchon_two() { return km4_switchon_two; } public int getKm4_switchoff_two() { return km4_switchoff_two; } public String getNote() { return note; } public void setKm1_switchon_one(int km1_switchon_one) { this.km1_switchon_one = km1_switchon_one; } public void setKm1_switchoff_one(int km1_switchoff_one) { this.km1_switchoff_one = km1_switchoff_one; } public void setKm2_switchon_one(int km2_switchon_one) { this.km2_switchon_one = km2_switchon_one; } public void setKm2_switchoff_one(int km2_switchoff_one) { this.km2_switchoff_one = km2_switchoff_one; } public void setKm3_switchon_one(int km3_switchon_one) { this.km3_switchon_one = km3_switchon_one; } public void setKm3_switchoff_one(int km3_switchoff_one) { this.km3_switchoff_one = km3_switchoff_one; } public void setKm4_switchon_one(int km4_switchon_one) { this.km4_switchon_one = km4_switchon_one; } public void setKm4_switchoff_one(int km4_switchoff_one) { this.km4_switchoff_one = km4_switchoff_one; } public void setKm1_switchon_two(int km1_switchon_two) { this.km1_switchon_two = km1_switchon_two; } public void setKm1_switchoff_two(int km1_switchoff_two) { this.km1_switchoff_two = km1_switchoff_two; } public void setKm2_switchon_two(int km2_switchon_two) { this.km2_switchon_two = km2_switchon_two; } public void setKm2_switchoff_two(int km2_switchoff_two) { this.km2_switchoff_two = km2_switchoff_two; } public void setKm3_switchon_two(int km3_switchon_two) { this.km3_switchon_two = km3_switchon_two; } public void setKm3_switchoff_two(int km3_switchoff_two) { this.km3_switchoff_two = km3_switchoff_two; } public void setKm4_switchon_two(int km4_switchon_two) { this.km4_switchon_two = km4_switchon_two; } public void setKm4_switchoff_two(int km4_switchoff_two) { this.km4_switchoff_two = km4_switchoff_two; } public void setNote(String note) { this.note = note; } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electric_inf.java
@@ -1,53 +1,60 @@ package com.electrical.FourKW; public class Electric_inf { public int electric_id; public String electric_name; public int electric_type; public String electric_ip; public String note; public Electric_Rt rt; public Electric_State state; public Electric_Control_Single control; public Electric_Control_Single control_joint; //联动控制 public Electric_inf(int electric_id) { this.electric_id = electric_id; this.rt = new Electric_Rt(electric_id); this.state = new Electric_State(electric_id); this.control = new Electric_Control_Single(electric_id); this.control_joint = new Electric_Control_Single(electric_id); } public int getElectric_id() { return electric_id; } public String getElectric_name() { return electric_name; } public int getElectric_type() { return electric_type; } public String getElectric_ip() { return electric_ip; } public String getNote() { return note; } public void setElectric_id(int electric_id) { this.electric_id = electric_id; } public void setElectric_name(String electric_name) { this.electric_name = electric_name; } public void setElectric_type(int electric_type) { this.electric_type = electric_type; } public void setElectric_ip(String electric_ip) { this.electric_ip = electric_ip; } public void setNote(String note) { this.note = note; } } package com.electrical.FourKW; public class Electric_inf { public int electric_id; public String electric_name; public int electric_type; public String electric_ip; public String note; public Electric_Rt rt; public Electric_State state; public Electric_Control_Single control; public Electric_Control_Single control_joint; //联动控制 public Electric_inf(int electric_id) { this.electric_id = electric_id; this.rt = new Electric_Rt(electric_id); this.state = new Electric_State(electric_id); this.control = new Electric_Control_Single(electric_id); this.control_joint = new Electric_Control_Single(electric_id); } public int getElectric_id() { return electric_id; } public String getElectric_name() { return electric_name; } public int getElectric_type() { return electric_type; } public String getElectric_ip() { return electric_ip; } public String getNote() { return note; } public void setElectric_id(int electric_id) { this.electric_id = electric_id; } public void setElectric_name(String electric_name) { this.electric_name = electric_name; } public void setElectric_type(int electric_type) { this.electric_type = electric_type; } public void setElectric_ip(String electric_ip) { this.electric_ip = electric_ip; } public void setNote(String note) { this.note = note; } @Override public String toString() { return "Electric_inf [electric_id=" + electric_id + ", electric_name=" + electric_name + ", electric_type=" + electric_type + ", electric_ip=" + electric_ip + ", note=" + note + "]"; } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electrical_4KW_SocketClient_Thread.java
New file @@ -0,0 +1,200 @@ package com.electrical.FourKW; import java.util.Date; import javax.swing.text.html.CSS; import com.modbus.data.MyModbusMaster; import com.modbus.data.MyModbusUtils; import com.serotonin.modbus4j.code.DataType; import com.sql.MysqlConnPool; public class Electrical_4KW_SocketClient_Thread implements Runnable{ public MysqlConnPool conn_pool; public Electric_inf einf; public Electric_Rt ert; public Electric_State estate; public Electric_Control_Single ecs; public MyModbusMaster master; //public static final int MAX_READALARM_COUNT = 20; //一次读取告警节点的最大数量 //public int read_alarm_index = 0; //读取告警索引 public Electrical_4KW_SocketClient_Thread(Electric_inf einf,MysqlConnPool conn_pool) { this.conn_pool = conn_pool; this.einf = einf; ert = new Electric_Rt(einf.getElectric_id()); estate = new Electric_State(einf.getElectric_id()); ecs = new Electric_Control_Single(einf.getElectric_id()); master = new MyModbusMaster(einf.getElectric_ip(), MyModbusMaster.SLAVEID_DEFAULT); } @Override public void run() { int runCount = 0; while(true) { try { Electrical_Task_SQL.queryElectric_Control_Single(conn_pool, ecs); //System.out.println(ecs.isControl_en()+"################33 "+runCount); if(ecs.isControl_en()) { /************************** 单点控制输出 *******************************/ writeElectricalControlSignal(master,ecs); Electrical_Task_SQL.replace_Electric_Control_Single(conn_pool, ecs); } if(runCount %2 == 0) { *//*************************** 更新电源实时信息******************************//* readElectrical_rt(master,ert); Electrical_Task_SQL.replace_Electric_Rt(conn_pool, ert); *//**************************** 更新电源状态信息 *****************************//* readElectrical_state(master,estate); Electrical_Task_SQL.replace_Electric_State(conn_pool, estate); } /*if(runCount %4 == 0) { *//*************************** 读取故障状态信息 ******************************//* //Date start = new Date(); //readMotorAlarmData(master,motor); //Date end = new Date(); //System.out.println((end.getTime()-start.getTime())/1000); }*/ if(runCount%10 == 0) { //更新当前设备ip master.setTarget_ip(einf.electric_ip); } if(runCount > 999900) { runCount = 0; } runCount ++; Thread.sleep(20000); } catch (Exception e) { try { Thread.sleep(1000); } catch (InterruptedException e1) { //e1.printStackTrace(); } e.printStackTrace(); } } } /** * 单点控制输出 * @param master * @param ecs */ private void writeElectricalControlSignal(MyModbusMaster master, Electric_Control_Single ecs) { System.out.println(ecs); if(ecs.upsetcurr >0) { MyModbusUtils.writeHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "upsetcurr"), ecs.upsetcurr, DataType.TWO_BYTE_INT_UNSIGNED, master); } if(ecs.upsetvol >0) { MyModbusUtils.writeHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "upsetvol"), ecs.upsetvol, DataType.TWO_BYTE_INT_UNSIGNED, master); } if(ecs.convolcontrol >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "convolcontrol"), true, master); } if(ecs.concurrcontrol >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "concurrcontrol"),true, master); } if(ecs.othermodes >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "othermodes"),true, master); } if(ecs.parallelmodes >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "parallelmodes"),true, master); } if(ecs.startposition >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "startposition"),true, master); } if(ecs.stopposition >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "stopposition"),true, master); } if(ecs.resetposition >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "resetposition"),true,master); } if(ecs.fanstart >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "fanstart"),true, master); } if(ecs.fanstop >0) { MyModbusUtils.writeCoil(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "fanstop"),true, master); } if(ecs.dcvol >0) { MyModbusUtils.writeHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "dcvol"), ecs.dcvol, DataType.TWO_BYTE_INT_UNSIGNED, master); } if(ecs.dccurr >0) { MyModbusUtils.writeHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "dccurr"), ecs.dccurr, DataType.TWO_BYTE_INT_UNSIGNED, master); } if(ecs.controlangle >0) { MyModbusUtils.writeHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ecs.getElectric_id(), "controlangle"), ecs.controlangle, DataType.TWO_BYTE_INT_UNSIGNED, master); } ecs.clear(); } /** * 更新电源实时信息 * @param master * @param load_state */ private void readElectrical_rt(MyModbusMaster master, Electric_Rt ert) { ert.upsetcurr = (float) master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "upsetcurr"), DataType.TWO_BYTE_INT_SIGNED, master), ert.upsetcurr); //上位机设定电流 58 ert.upsetvol = (float)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "upsetvol"), DataType.TWO_BYTE_INT_SIGNED, master), ert.upsetvol); //上位机设定电压 ert.convolcontrol = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "convolcontrol"), master), ert.convolcontrol); //恒压控制 ert.concurrcontrol = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "concurrcontrol"), master), ert.concurrcontrol); //恒流控制 ert.othermodes = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "othermodes"), master), ert.othermodes); //其他模式运行 ert.parallelmodes = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "parallelmodes"),master), ert.parallelmodes); //并联稳压运行 ert.startposition = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "startposition"),master), ert.startposition); //启动位 ert.stopposition = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "stopposition"), master), ert.stopposition); //ֹͣλ ert.resetposition = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "resetposition"), master), ert.resetposition); //复位 ert.fanstart = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "fanstart"), master), ert.fanstart); //风机启动 ert.fanstop = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "fanstop"), master), ert.fanstop); //风机停止 ert.dcvol = (float)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "dcvol"), DataType.TWO_BYTE_INT_SIGNED, master), ert.dcvol);//直流电压 ert.dccurr = (float)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "dccurr"), DataType.TWO_BYTE_INT_SIGNED, master), ert.dccurr);//直流电流 ert.controlangle = (int)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "controlangle"), DataType.TWO_BYTE_INT_SIGNED, master), ert.controlangle);//控制角 ert.loopflag = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "loopflag"), master), ert.loopflag); //开闭环标志位【0开环;1闭环】 ert.remoteflag = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "remoteflag"), master), ert.remoteflag);//就地远程标志位【0远程;1就地】 ert.orderflag = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "orderflag"),master), ert.orderflag);//正序逆序标志位【0正序;1逆序】 ert.consvolcurrflag = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "consvolcurrflag"), master), ert.consvolcurrflag);//恒压横流标志位【0恒压;1恒流】 ert.powerstartflag = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "powerstartflag"),master), ert.powerstartflag);//电源启动标志位【0停止;1启动】 ert.workmodelflag = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(ert.getElectric_id(), "workmodelflag"), master), ert.workmodelflag); //工作模式标志位【0其他模式;1并联稳压】 } /** * 更新电源状态信息 * @param master * @param load_state */ private void readElectrical_state(MyModbusMaster master, Electric_State estate) { estate.case_trip_output = (int) master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "case_trip_output"), master), estate.case_trip_output);//机箱跳闸输出 estate.fault_reset_signal = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "fault_reset_signal"), master), estate.fault_reset_signal);//故障复位信号 estate.high_vol_switch_status = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "high_vol_switch_status"), master), estate.high_vol_switch_status);//高压开关状态 estate.stop_button = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "stop_button"), master), estate.stop_button);//急停按钮 estate.main_cabinet_fan_status = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "main_cabinet_fan_status"), master), estate.main_cabinet_fan_status);//主柜风机状态 estate.trans_cabinet_door_lock = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "trans_cabinet_door_lock"), master), estate.trans_cabinet_door_lock);//变压器柜门连锁 estate.trans_cabinet_overtem_alarm = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "trans_cabinet_overtem_alarm"), master), estate.trans_cabinet_overtem_alarm);//变压器超温报警 estate.trans_cabinet_overtem_trip = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "trans_cabinet_overtem_trip"), master), estate.trans_cabinet_overtem_trip);//变压器超温跳闸 estate.qs1_state = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "qs1_state"), master), estate.qs1_state);//QS1״̬ estate.qs2_state = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "qs2_state"), master), estate.qs2_state);//QS2״̬ estate.switch_cabinet_door_status = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "switch_cabinet_door_status"), master), estate.switch_cabinet_door_status);//转换开关柜门状态 if(estate.getElectric_id()==4001||estate.getElectric_id()==4003) { estate.alldcvol = (float)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "alldcvol"), DataType.TWO_BYTE_INT_SIGNED, master), estate.alldcvol);//总直流电压 estate.alldccurr = (float)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAddress(estate.getElectric_id(), "alldccurr"), DataType.TWO_BYTE_INT_SIGNED, master), estate.alldccurr);//总直流电流 }else { estate.alldcvol=0; estate.alldccurr = 0; } } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electrical_ALL_SocketClient_Thread.java
New file @@ -0,0 +1,116 @@ package com.electrical.FourKW; import com.modbus.data.MyModbusMaster; import com.modbus.data.MyModbusUtils; import com.serotonin.modbus4j.code.DataType; import com.sql.MysqlConnPool; public class Electrical_ALL_SocketClient_Thread implements Runnable{ public MysqlConnPool conn_pool; public Electric_Switch eswitch; public Electric_Power epower; public MyModbusMaster master; //public static final int MAX_READALARM_COUNT = 20; //一次读取告警节点的最大数量 //public int read_alarm_index = 0; //读取告警索引 public Electrical_ALL_SocketClient_Thread(String PLC_ip,MysqlConnPool conn_pool) { this.conn_pool = conn_pool; eswitch=new Electric_Switch(PLC_ip); epower=new Electric_Power(PLC_ip); master = new MyModbusMaster(PLC_ip, MyModbusMaster.SLAVEID_DEFAULT); } @Override public void run() { int runCount = 0; while(true) { try { if(runCount %2 == 0) { /*************************** 更新电源总开关状态表******************************/ readElectrical_switch(master,eswitch); Electrical_Task_SQL.replace_Electric_Switch(conn_pool, eswitch); /**************************** 更新4套电源状态表*****************************/ readElectrical_power(master,epower); Electrical_Task_SQL.replace_Electric_Power(conn_pool, epower); } /* if(runCount%10 == 0) { //更新当前设备ip master.setTarget_ip(einf.electric_ip); } */ if(runCount > 999900) { runCount = 0; } runCount ++; Thread.sleep(200); } catch (Exception e) { try { Thread.sleep(1000); } catch (InterruptedException e1) { //e1.printStackTrace(); } e.printStackTrace(); } } } /** * 更新电源总开关状态表 * @param master * @param load_state */ private void readElectrical_switch(MyModbusMaster master, Electric_Switch eswitch) { eswitch.km1_switchon_one = (int) master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km1_switchon_one"), master), eswitch.km1_switchon_one); //一号转换开关柜KM1合闸指令 eswitch.km1_switchoff_one = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km1_switchoff_one"), master), eswitch.km1_switchoff_one); //一号转换开关柜KM1分闸指令 eswitch.km2_switchon_one = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km2_switchon_one"), master), eswitch.km2_switchon_one); //一号转换开关柜KM2合闸指令 eswitch.km2_switchoff_one = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km2_switchoff_one"), master), eswitch.km2_switchoff_one); //一号转换开关柜KM2分闸指令 eswitch.km3_switchon_one = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km3_switchon_one"), master), eswitch.km3_switchon_one); //一号转换开关柜KM3合闸指令 eswitch.km3_switchoff_one = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km3_switchoff_one"),master), eswitch.km3_switchoff_one); //一号转换开关柜KM3分闸指令 eswitch.km4_switchon_one = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km4_switchon_one"),master), eswitch.km4_switchon_one); //一号转换开关柜KM4合闸指令 eswitch.km4_switchoff_one = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km4_switchoff_one"), master), eswitch.km4_switchoff_one); //一号转换开关柜KM4分闸指令 eswitch.km1_switchon_two = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km1_switchon_two"), master),eswitch.km1_switchon_two); //二号转换开关柜KM1合闸指令 eswitch.km1_switchoff_two = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km1_switchoff_two"), master),eswitch.km1_switchoff_two); //二号转换开关柜KM1分闸指令 eswitch.km2_switchon_two = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km2_switchon_two"), master),eswitch.km2_switchon_two); //二号转换开关柜KM2合闸指令 eswitch.km2_switchoff_two = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km2_switchoff_two"), master), eswitch.km2_switchoff_two); //二号转换开关柜KM2分闸指令 eswitch.km3_switchon_two = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km3_switchon_two"), master),eswitch.km3_switchon_two); //二号转换开关柜KM3合闸指令 eswitch.km3_switchoff_two = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km3_switchoff_two"), master), eswitch.km3_switchoff_two); //二号转换开关柜KM3分闸指令 eswitch.km4_switchon_two = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km4_switchon_two"), master), eswitch.km4_switchon_two); //二号转换开关柜KM4合闸指令 eswitch.km4_switchoff_two = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("km4_switchoff_two"), master),eswitch.km4_switchoff_two); //二号转换开关柜KM4分闸指令 } /** * 更新电源总开关状态表 * @param master * @param load_state */ private void readElectrical_power(MyModbusMaster master, Electric_Power epower) { epower.start_a = (int) master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("start_a"), master), epower.start_a ); //A套启动 epower.stop_a = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("stop_a"), master),epower.stop_a ); //A套停止 epower.start_b = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("start_b"), master), epower.start_b ); //B套启动 epower.stop_b = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("stop_b"), master), epower.stop_b ); //B套停止 epower.start_c = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("start_c"), master),epower.start_c); //C套启动 epower.stop_c = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("stop_c"), master), epower.stop_c ); //C套停止 epower.start_d = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("start_d"), master), epower.start_d); //D套启动 epower.stop_d = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("stop_d"), master), epower.stop_d ); //D套停止 epower.abconn_start = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("abconn_start"), master), epower.abconn_start); //AB套并联运行启动 epower.abconn_stop = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("abconn_stop"), master), epower.abconn_stop); //AB套并联运行停止 epower.cdconn_start = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("cdconn_start"), master), epower.cdconn_start); //CD套并联运行启动 epower.cdconn_stop = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("cdconn_stop"), master), epower.cdconn_stop); //CD套并联运行停止 epower.allconn_start = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("allconn_start"), master), epower.allconn_start); //四套并联运行启动 epower.allconn_stop = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("allconn_stop"), master), epower.allconn_stop); //四套并联运行停止 epower.abconn_flag = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("abconn_flag"), master), epower.abconn_flag); //AB并串联标志位 epower.cdconn_flag = (int)master.checkNullData(MyModbusUtils.readCoilStatus(Electric_4KW_ModbusAddress.getAllAdd("cdconn_flag"), master), epower.cdconn_flag); //CD并串联标志位 /*epower.abconn_volset = (int)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAllAdd("abconn_volset"), DataType.TWO_BYTE_INT_SIGNED, master), epower.abconn_volset); //AB并联电压给定 epower.abconn_currset = (int)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAllAdd("abconn_currset"),DataType.TWO_BYTE_INT_SIGNED, master), epower.abconn_currset); //AB并联电流给定 epower.cdconn_volset = (int)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAllAdd("cdconn_volset"), DataType.TWO_BYTE_INT_SIGNED, master), epower.cdconn_volset); //CD并联电压给定 epower.cdconn_currset = (int)master.checkNullData(MyModbusUtils.readHoldingRegister(Electric_4KW_ModbusAddress.getAllAdd("cdconn_currset"), DataType.TWO_BYTE_INT_SIGNED, master), epower.cdconn_currset); //CD并联电流给定 */ } } ElectricalSystem_MonitorServer_4KW/src/com/electrical/FourKW/Electrical_Task_SQL.java
@@ -1,304 +1,420 @@ package com.electrical.FourKW; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import com.sql.MysqlConnPool; import com.sql.Sql_Mysql; public class Electrical_Task_SQL { /** * 查询所有的设备记录 * @param pool * @param electric */ public static void queryAllElectric(MysqlConnPool pool,List<Electric_inf> electrics) { String sql_str = " select * from " + Sql_Mysql.Tb_Electric_Inf + " order by electric_id;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); ResultSet res = null; try { res = sql.sqlMysqlQuery(sql_str); Electric_inf elect = null; while(res.next()) { elect = new Electric_inf(res.getInt("electric_id")); elect.setElectric_name(res.getString("electric_name")); elect.setElectric_type(res.getInt("electric_type")); elect.setElectric_ip(res.getString("electric_ip")); electrics.add(elect); } } catch (SQLException e) { e.printStackTrace(); } finally { if(res != null) { try { res.close(); } catch (SQLException e) { e.printStackTrace(); } } sql.close_con(); } } /** * 初始化数据库表 * @param pool */ public static void init(MysqlConnPool pool) { createDB_ElectricSystem(pool); createTb_Electric_inf(pool); createTb_Electric_Switch(pool); createTb_Electric_State(pool); createTb_Electric_State(pool); createTb_Electric_Rt(pool); createTb_Electric_Power(pool); createTb_Electric_Control_Single(pool); } /** * 创建4KW电源数据库 * @param pool */ public static void createDB_ElectricSystem(MysqlConnPool pool) { Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + Sql_Mysql.DB_ElectricSystem); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源信息表 * @param pool */ public static void createTb_Electric_inf(MysqlConnPool pool) { String sql_str = "CREATE TABLE IF NOT EXISTS "+Sql_Mysql.Tb_Electric_Inf+" (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " electric_id int(11) NOT NULL DEFAULT '3001' COMMENT '设备id'," + " electric_name varchar(255) NOT NULL DEFAULT '' COMMENT '电源名称'," + " electric_type int(11) NOT NULL DEFAULT '0' COMMENT '电源类型(备用)'," + " electric_ip varchar(255) NOT NULL DEFAULT '127.0.0.1' COMMENT '电源设备ip(重要)'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)," + " KEY electric_id_key (electric_id)" + ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源总开关状态表 * @param pool */ public static void createTb_Electric_Switch(MysqlConnPool pool) { String sql_str = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_Switch + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " km1_switchon_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM1合闸指令'," + " km1_switchoff_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM1分闸指令'," + " km2_switchon_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM2合闸指令'," + " km2_switchoff_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM2分闸指令'," + " km3_switchon_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM3合闸指令'," + " km3_switchoff_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM3分闸指令'," + " km4_switchon_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM4合闸指令'," + " km4_switchoff_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM4分闸指令'," + " km1_switchon_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM1合闸指令'," + " km1_switchoff_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM1分闸指令'," + " km2_switchon_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM2合闸指令'," + " km2_switchoff_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM2分闸指令'," + " km3_switchon_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM3合闸指令'," + " km3_switchoff_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM3分闸指令'," + " km4_switchon_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM4合闸指令'," + " km4_switchoff_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM4分闸指令'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源状态表 * @param pool */ public static void createTb_Electric_State(MysqlConnPool pool) { String sql_str = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_State + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " electric_id int(11) NOT NULL DEFAULT '3001' COMMENT '设备id'," + " case_trip_output int(11) NOT NULL DEFAULT '0' COMMENT '机箱跳闸输出'," + " fault_reset_signal int(11) NOT NULL DEFAULT '0' COMMENT '故障复位信号'," + " high_vol_switch_status int(11) NOT NULL DEFAULT '0' COMMENT '高压开关状态'," + " stop_button int(11) NOT NULL DEFAULT '0' COMMENT '急停按钮'," + " main_cabinet_fan_status int(11) NOT NULL DEFAULT '0' COMMENT '主柜风机状态'," + " trans_cabinet_door_lock int(11) NOT NULL DEFAULT '0' COMMENT '变压器柜门连锁'," + " trans_cabinet_overtem_alarm int(11) NOT NULL DEFAULT '0' COMMENT '变压器超温报警'," + " trans_cabinet_overtem_trip int(11) NOT NULL DEFAULT '0' COMMENT '变压器超温跳闸'," + " qs1_state int(11) NOT NULL DEFAULT '0' COMMENT 'QS1״̬'," + " qs2_state int(11) NOT NULL DEFAULT '0' COMMENT 'QS2״̬'," + " switch_cabinet_door_status int(11) NOT NULL DEFAULT '0' COMMENT '转换开关柜门状态'," + " alldcvol float NOT NULL DEFAULT '0' COMMENT '总直流电压'," + " alldccurr float NOT NULL DEFAULT '0' COMMENT '总直流电流'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)," + " KEY electric_id_key (electric_id)" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源状态表 * @param pool */ public static void createTb_Electric_Rt(MysqlConnPool pool) { String sql_str = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_Rt + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " electric_id int(11) NOT NULL DEFAULT '3001' COMMENT '设备id'," + " upsetcurr float NOT NULL DEFAULT '0' COMMENT '上位机设定电流'," + " upsetvol float NOT NULL DEFAULT '0' COMMENT '上位机设定电压'," + " convolcontrol int(11) NOT NULL DEFAULT '0' COMMENT '恒压控制'," + " concurrcontrol int(11) NOT NULL DEFAULT '0' COMMENT '恒流控制'," + " othermodes int(11) NOT NULL DEFAULT '0' COMMENT '其他模式运行'," + " parallelmodes int(11) NOT NULL DEFAULT '0' COMMENT '并联稳压运行'," + " startposition int(11) NOT NULL DEFAULT '0' COMMENT '启动位'," + " stopposition int(11) NOT NULL DEFAULT '0' COMMENT 'ֹͣλ'," + " resetposition int(11) NOT NULL DEFAULT '0' COMMENT '复位'," + " fanstart int(11) NOT NULL DEFAULT '0' COMMENT '风机启动'," + " fanstop int(11) NOT NULL DEFAULT '0' COMMENT '风机停止'," + " dcvol float NOT NULL DEFAULT '0' COMMENT '直流电压 '," + " dccurr float NOT NULL DEFAULT '0' COMMENT '直流电流'," + " controlangle int(11) NOT NULL DEFAULT '0' COMMENT '控制角'," + " loopflag int(11) NOT NULL DEFAULT '0' COMMENT '开闭环标志位(0开环,1闭环)'," + " remoteflag int(11) NOT NULL DEFAULT '0' COMMENT '就地远程标志位(0远程,1就地)'," + " orderflag int(11) NOT NULL DEFAULT '0' COMMENT '正序逆序标志位(0正序,1逆序)'," + " consvolcurrflag int(11) NOT NULL DEFAULT '0' COMMENT '恒压恒流标志位(0恒压,1恒流)'," + " powerstartflag int(11) NOT NULL DEFAULT '0' COMMENT '电源启动标志位(0停止,1启动) '," + " workmodelflag int(11) NOT NULL DEFAULT '0' COMMENT '工作模式标志位(0其他模式,1并联稳压)'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)," + " KEY electric_id_key (electric_id)" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源控制状态表 * @param pool */ public static void createTb_Electric_Power(MysqlConnPool pool) { String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_Power + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " start_a int(11) NOT NULL DEFAULT '0' COMMENT 'A套启动'," + " stop_a int(11) NOT NULL DEFAULT '0' COMMENT 'A套停止'," + " start_b int(11) NOT NULL DEFAULT '0' COMMENT 'B套启动'," + " stop_b int(11) NOT NULL DEFAULT '0' COMMENT 'B套停止'," + " start_c int(11) NOT NULL DEFAULT '0' COMMENT 'C套启动'," + " stop_c int(11) NOT NULL DEFAULT '0' COMMENT 'C套停止'," + " start_d int(11) NOT NULL DEFAULT '0' COMMENT 'D套启动'," + " stop_d int(11) NOT NULL DEFAULT '0' COMMENT 'D套停止'," + " abconn_start int(11) NOT NULL DEFAULT '0' COMMENT 'A套B套并联运行启动'," + " abconn_stop int(11) NOT NULL DEFAULT '0' COMMENT 'A套B套并联运行停止'," + " cdconn_start int(11) NOT NULL DEFAULT '0' COMMENT 'C套D套并联运行启动'," + " cdconn_stop int(11) NOT NULL DEFAULT '0' COMMENT 'C套D套并联运行停止'," + " allconn_start int(11) NOT NULL DEFAULT '0' COMMENT '四套并联运行启动'," + " allconn_stop int(11) NOT NULL DEFAULT '0' COMMENT '四套并联运行停止'," + " abconn_flag int(11) NOT NULL DEFAULT '0' COMMENT 'AB并串联标志位'," + " cdconn_flag int(11) NOT NULL DEFAULT '0' COMMENT 'CD并串联标志位'," + " abconn_volset int(11) NOT NULL DEFAULT '0' COMMENT 'AB并联电压给定'," + " abconn_currset int(11) NOT NULL DEFAULT '0' COMMENT 'AB并联电流给定'," + " cdconn_volset int(11) NOT NULL DEFAULT '0' COMMENT 'CD并联电压给定'," + " cdconn_currset int(11) NOT NULL DEFAULT '0' COMMENT 'CD并联电流给定'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源控制状态表 * @param pool */ public static void createTb_Electric_Control_Single(MysqlConnPool pool) { String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_Control_Single + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " electric_id int(11) NOT NULL DEFAULT '3001' COMMENT '电源id'," + " upsetcurr float NOT NULL DEFAULT '0' COMMENT '上位机设定电流'," + " upsetvol float NOT NULL DEFAULT '0' COMMENT '上位机设定电压'," + " convolcontrol int(11) NOT NULL DEFAULT '0' COMMENT '恒压控制'," + " concurrcontrol int(11) NOT NULL DEFAULT '0' COMMENT '恒流控制'," + " othermodes int(11) NOT NULL DEFAULT '0' COMMENT '其他模式运行'," + " parallelmodes int(11) NOT NULL DEFAULT '0' COMMENT '并联稳压运行'," + " startposition int(11) NOT NULL DEFAULT '0' COMMENT '启动位'," + " stopposition int(11) NOT NULL DEFAULT '0' COMMENT 'ֹͣλ'," + " resetposition int(11) NOT NULL DEFAULT '0' COMMENT '复位'," + " fanstart int(11) NOT NULL DEFAULT '0' COMMENT '风机启动'," + " fanstop int(11) NOT NULL DEFAULT '0' COMMENT '风机停止'," + " dcvol float NOT NULL DEFAULT '0' COMMENT '直流电压'," + " dccurr float NOT NULL DEFAULT '0' COMMENT '直流电流'," + " controlangle float NOT NULL DEFAULT '0' COMMENT '控制角'," + " PRIMARY KEY (num)" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } } package com.electrical.FourKW; import java.security.interfaces.RSAKey; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import com.mysql.jdbc.EscapeTokenizer; import com.sql.MysqlConnPool; import com.sql.Sql_Mysql; public class Electrical_Task_SQL { /** * 查询所有的设备记录 * @param pool * @param electric */ public static String queryAllElectric(MysqlConnPool pool,List<Electric_inf> electrics) { String PLC_ip=""; String sql_str = " select * from " + Sql_Mysql.Tb_Electric_Inf + " order by electric_id;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); ResultSet res = null; try { res = sql.sqlMysqlQuery(sql_str); Electric_inf elect = null; while(res.next()) { elect = new Electric_inf(res.getInt("electric_id")); elect.setElectric_name(res.getString("electric_name")); elect.setElectric_type(res.getInt("electric_type")); elect.setElectric_ip(res.getString("electric_ip")); electrics.add(elect); PLC_ip=elect.getElectric_ip(); } } catch (SQLException e) { e.printStackTrace(); } finally { if(res != null) { try { res.close(); } catch (SQLException e) { e.printStackTrace(); } } sql.close_con(); } return PLC_ip; } /** * 初始化数据库表 * @param pool */ public static void init(MysqlConnPool pool) { createDB_ElectricSystem(pool); createTb_Electric_inf(pool); createTb_Electric_Switch(pool); createTb_Electric_State(pool); createTb_Electric_State(pool); createTb_Electric_Rt(pool); createTb_Electric_Power(pool); createTb_Electric_Control_Single(pool); } /** * 创建4KW电源数据库 * @param pool */ public static void createDB_ElectricSystem(MysqlConnPool pool) { Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute("CREATE DATABASE IF NOT EXISTS " + Sql_Mysql.DB_ElectricSystem); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源信息表 * @param pool */ public static void createTb_Electric_inf(MysqlConnPool pool) { String sql_str = "CREATE TABLE IF NOT EXISTS "+Sql_Mysql.Tb_Electric_Inf+" (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " electric_id int(11) NOT NULL DEFAULT '3001' COMMENT '设备id'," + " electric_name varchar(255) NOT NULL DEFAULT '' COMMENT '电源名称'," + " electric_type int(11) NOT NULL DEFAULT '0' COMMENT '电源类型(备用)'," + " electric_ip varchar(255) NOT NULL DEFAULT '127.0.0.1' COMMENT '电源设备ip(重要)'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)," + " KEY electric_id_key (electric_id)" + ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源总开关状态表 * @param pool */ public static void createTb_Electric_Switch(MysqlConnPool pool) { String sql_str = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_Switch + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " PLC_ip varchar(255) NOT NULL DEFAULT '127.0.0.1' COMMENT 'PLC_ip', "+ " km1_switchon_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM1合闸指令'," + " km1_switchoff_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM1分闸指令'," + " km2_switchon_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM2合闸指令'," + " km2_switchoff_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM2分闸指令'," + " km3_switchon_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM3合闸指令'," + " km3_switchoff_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM3分闸指令'," + " km4_switchon_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM4合闸指令'," + " km4_switchoff_one int(11) NOT NULL DEFAULT '0' COMMENT '一号转换开关柜KM4分闸指令'," + " km1_switchon_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM1合闸指令'," + " km1_switchoff_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM1分闸指令'," + " km2_switchon_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM2合闸指令'," + " km2_switchoff_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM2分闸指令'," + " km3_switchon_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM3合闸指令'," + " km3_switchoff_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM3分闸指令'," + " km4_switchon_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM4合闸指令'," + " km4_switchoff_two int(11) NOT NULL DEFAULT '0' COMMENT '二号转换开关柜KM4分闸指令'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num),"+ " UNIQUE KEY PLC_ip_key (PLC_ip) USING BTREE " + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源状态表 * @param pool */ public static void createTb_Electric_State(MysqlConnPool pool) { String sql_str = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_State + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " electric_id int(11) NOT NULL DEFAULT '3001' COMMENT '设备id'," + " case_trip_output int(11) NOT NULL DEFAULT '0' COMMENT '机箱跳闸输出'," + " fault_reset_signal int(11) NOT NULL DEFAULT '0' COMMENT '故障复位信号'," + " high_vol_switch_status int(11) NOT NULL DEFAULT '0' COMMENT '高压开关状态'," + " stop_button int(11) NOT NULL DEFAULT '0' COMMENT '急停按钮'," + " main_cabinet_fan_status int(11) NOT NULL DEFAULT '0' COMMENT '主柜风机状态'," + " trans_cabinet_door_lock int(11) NOT NULL DEFAULT '0' COMMENT '变压器柜门连锁'," + " trans_cabinet_overtem_alarm int(11) NOT NULL DEFAULT '0' COMMENT '变压器超温报警'," + " trans_cabinet_overtem_trip int(11) NOT NULL DEFAULT '0' COMMENT '变压器超温跳闸'," + " qs1_state int(11) NOT NULL DEFAULT '0' COMMENT 'QS1״̬'," + " qs2_state int(11) NOT NULL DEFAULT '0' COMMENT 'QS2״̬'," + " switch_cabinet_door_status int(11) NOT NULL DEFAULT '0' COMMENT '转换开关柜门状态'," + " alldcvol float NOT NULL DEFAULT '0' COMMENT '总直流电压'," + " alldccurr float NOT NULL DEFAULT '0' COMMENT '总直流电流'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)," + " UNIQUE KEY electric_id_key (electric_id) USING BTREE" + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源状态表 * @param pool */ public static void createTb_Electric_Rt(MysqlConnPool pool) { String sql_str = "CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_Rt + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " electric_id int(11) NOT NULL DEFAULT '3001' COMMENT '设备id'," + " upsetcurr float NOT NULL DEFAULT '0' COMMENT '上位机设定电流'," + " upsetvol float NOT NULL DEFAULT '0' COMMENT '上位机设定电压'," + " convolcontrol int(11) NOT NULL DEFAULT '0' COMMENT '恒压控制'," + " concurrcontrol int(11) NOT NULL DEFAULT '0' COMMENT '恒流控制'," + " othermodes int(11) NOT NULL DEFAULT '0' COMMENT '其他模式运行'," + " parallelmodes int(11) NOT NULL DEFAULT '0' COMMENT '并联稳压运行'," + " startposition int(11) NOT NULL DEFAULT '0' COMMENT '启动位'," + " stopposition int(11) NOT NULL DEFAULT '0' COMMENT 'ֹͣλ'," + " resetposition int(11) NOT NULL DEFAULT '0' COMMENT '复位'," + " fanstart int(11) NOT NULL DEFAULT '0' COMMENT '风机启动'," + " fanstop int(11) NOT NULL DEFAULT '0' COMMENT '风机停止'," + " dcvol float NOT NULL DEFAULT '0' COMMENT '直流电压 '," + " dccurr float NOT NULL DEFAULT '0' COMMENT '直流电流'," + " controlangle int(11) NOT NULL DEFAULT '0' COMMENT '控制角'," + " loopflag int(11) NOT NULL DEFAULT '0' COMMENT '开闭环标志位(0开环,1闭环)'," + " remoteflag int(11) NOT NULL DEFAULT '0' COMMENT '就地远程标志位(0远程,1就地)'," + " orderflag int(11) NOT NULL DEFAULT '0' COMMENT '正序逆序标志位(0正序,1逆序)'," + " consvolcurrflag int(11) NOT NULL DEFAULT '0' COMMENT '恒压恒流标志位(0恒压,1恒流)'," + " powerstartflag int(11) NOT NULL DEFAULT '0' COMMENT '电源启动标志位(0停止,1启动) '," + " workmodelflag int(11) NOT NULL DEFAULT '0' COMMENT '工作模式标志位(0其他模式,1并联稳压)'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)," + " UNIQUE KEY electric_id_key (electric_id) USING BTREE " + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建4套电源状态表 * @param pool */ public static void createTb_Electric_Power(MysqlConnPool pool) { String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_Power + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " PLC_ip varchar(255) NOT NULL DEFAULT '127.0.0.1' COMMENT 'PLC_ip', "+ " start_a int(11) NOT NULL DEFAULT '0' COMMENT 'A套启动'," + " stop_a int(11) NOT NULL DEFAULT '0' COMMENT 'A套停止'," + " start_b int(11) NOT NULL DEFAULT '0' COMMENT 'B套启动'," + " stop_b int(11) NOT NULL DEFAULT '0' COMMENT 'B套停止'," + " start_c int(11) NOT NULL DEFAULT '0' COMMENT 'C套启动'," + " stop_c int(11) NOT NULL DEFAULT '0' COMMENT 'C套停止'," + " start_d int(11) NOT NULL DEFAULT '0' COMMENT 'D套启动'," + " stop_d int(11) NOT NULL DEFAULT '0' COMMENT 'D套停止'," + " abconn_start int(11) NOT NULL DEFAULT '0' COMMENT 'A套B套并联运行启动'," + " abconn_stop int(11) NOT NULL DEFAULT '0' COMMENT 'A套B套并联运行停止'," + " cdconn_start int(11) NOT NULL DEFAULT '0' COMMENT 'C套D套并联运行启动'," + " cdconn_stop int(11) NOT NULL DEFAULT '0' COMMENT 'C套D套并联运行停止'," + " allconn_start int(11) NOT NULL DEFAULT '0' COMMENT '四套并联运行启动'," + " allconn_stop int(11) NOT NULL DEFAULT '0' COMMENT '四套并联运行停止'," + " abconn_flag int(11) NOT NULL DEFAULT '0' COMMENT 'AB并串联标志位'," + " cdconn_flag int(11) NOT NULL DEFAULT '0' COMMENT 'CD并串联标志位'," + " abconn_volset int(11) NOT NULL DEFAULT '0' COMMENT 'AB并联电压给定'," + " abconn_currset int(11) NOT NULL DEFAULT '0' COMMENT 'AB并联电流给定'," + " cdconn_volset int(11) NOT NULL DEFAULT '0' COMMENT 'CD并联电压给定'," + " cdconn_currset int(11) NOT NULL DEFAULT '0' COMMENT 'CD并联电流给定'," + " note varchar(255) NOT NULL DEFAULT ''," + " PRIMARY KEY (num)," + " UNIQUE KEY PLC_ip_key (PLC_ip) USING BTREE " + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } /** * 创建电源单点控制状态表 * @param pool */ public static void createTb_Electric_Control_Single(MysqlConnPool pool) { String sql_str = " CREATE TABLE IF NOT EXISTS " + Sql_Mysql.Tb_Electric_Control_Single + " (" + " num bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键'," + " electric_id int(11) NOT NULL DEFAULT '3001' COMMENT '电源id'," + " upsetcurr float NOT NULL DEFAULT '0' COMMENT '上位机设定电流'," + " upsetvol float NOT NULL DEFAULT '0' COMMENT '上位机设定电压'," + " convolcontrol int(11) NOT NULL DEFAULT '0' COMMENT '恒压控制'," + " concurrcontrol int(11) NOT NULL DEFAULT '0' COMMENT '恒流控制'," + " othermodes int(11) NOT NULL DEFAULT '0' COMMENT '其他模式运行'," + " parallelmodes int(11) NOT NULL DEFAULT '0' COMMENT '并联稳压运行'," + " startposition int(11) NOT NULL DEFAULT '0' COMMENT '启动位'," + " stopposition int(11) NOT NULL DEFAULT '0' COMMENT 'ֹͣλ'," + " resetposition int(11) NOT NULL DEFAULT '0' COMMENT '复位'," + " fanstart int(11) NOT NULL DEFAULT '0' COMMENT '风机启动'," + " fanstop int(11) NOT NULL DEFAULT '0' COMMENT '风机停止'," + " dcvol float NOT NULL DEFAULT '0' COMMENT '直流电压'," + " dccurr float NOT NULL DEFAULT '0' COMMENT '直流电流'," + " controlangle float NOT NULL DEFAULT '0' COMMENT '控制角'," + " PRIMARY KEY (num),"+ " UNIQUE KEY electric_id_key (electric_id) USING BTREE " + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } //插入或更新电源单点控制表 public static void replace_Electric_Control_Single(MysqlConnPool pool,Electric_Control_Single ecs) { String sql_str = " replace into "+ Sql_Mysql.Tb_Electric_Control_Single +"(electric_id,upsetcurr,upsetvol,convolcontrol,concurrcontrol,othermodes,parallelmodes,startposition,stopposition,resetposition,fanstart,fanstop,dcvol,dccurr,controlangle) " + " values("+ecs.electric_id+","+ecs.upsetcurr+","+ecs.upsetvol+","+ecs.convolcontrol+","+ecs.concurrcontrol+","+ecs.othermodes+","+ecs.parallelmodes+","+ecs.startposition+","+ecs.stopposition+","+ecs.resetposition+","+ecs.fanstart+","+ecs.fanstop+","+ecs.dcvol+","+ecs.dccurr+","+ecs.controlangle+")"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } //插入或更新电源实时信息表 public static void replace_Electric_Rt(MysqlConnPool pool,Electric_Rt ert) { String sql_str = " replace into "+ Sql_Mysql.Tb_Electric_Rt +"(electric_id,upsetcurr,upsetvol,convolcontrol,concurrcontrol,othermodes,parallelmodes,startposition,stopposition,resetposition,fanstart,fanstop,dcvol,dccurr,controlangle,loopflag,remoteflag,orderflag,consvolcurrflag,powerstartflag,workmodelflag) " + " values("+ert.electric_id+","+ert.upsetcurr+","+ert.upsetvol+","+ert.convolcontrol+","+ert.concurrcontrol+","+ert.othermodes+","+ert.parallelmodes+","+ert.startposition+","+ert.stopposition+","+ert.resetposition+","+ert.fanstart+","+ert.fanstop+","+ert.dcvol+","+ert.dccurr+","+ert.controlangle+","+ert.loopflag+","+ert.remoteflag+","+ert.orderflag+","+ert.consvolcurrflag+","+ert.powerstartflag+","+ert.workmodelflag+")"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } //插入或更新电源实时状态表 public static void replace_Electric_State(MysqlConnPool pool,Electric_State estate) { String sql_str = " replace into "+ Sql_Mysql.Tb_Electric_State +"(electric_id,case_trip_output,fault_reset_signal,high_vol_switch_status,stop_button,main_cabinet_fan_status,trans_cabinet_door_lock,trans_cabinet_overtem_alarm,trans_cabinet_overtem_trip,qs1_state,qs2_state,switch_cabinet_door_status,alldcvol,alldccurr) " + " values("+estate.electric_id+","+estate.case_trip_output+","+estate.fault_reset_signal+","+estate.high_vol_switch_status+","+estate.stop_button+","+estate.main_cabinet_fan_status+","+estate.trans_cabinet_door_lock+","+estate.trans_cabinet_overtem_alarm+","+estate.trans_cabinet_overtem_trip+","+estate.qs1_state+","+estate.qs2_state+","+estate.switch_cabinet_door_status+","+estate.alldcvol+","+estate.alldccurr+")"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } //插入或更新电源总开关状态表 public static void replace_Electric_Switch(MysqlConnPool pool,Electric_Switch eswitch) { String sql_str = " replace into "+ Sql_Mysql.Tb_Electric_Switch +"(PLC_ip,km1_switchon_one,km1_switchoff_one,km2_switchon_one,km2_switchoff_one,km3_switchon_one,km3_switchoff_one,km4_switchon_one,km4_switchoff_one,km1_switchon_two,km1_switchoff_two,km2_switchon_two,km2_switchoff_two,km3_switchon_two,km3_switchoff_two,km4_switchon_two,km4_switchoff_two) " + " values('"+eswitch.PLC_ip+"',"+eswitch.km1_switchon_one+","+eswitch.km1_switchoff_one+","+eswitch.km2_switchon_one+","+eswitch.km2_switchoff_one+","+eswitch.km3_switchon_one+","+eswitch.km3_switchoff_one+","+eswitch.km4_switchon_one+","+eswitch.km4_switchoff_one+","+eswitch.km1_switchon_two+","+eswitch.km1_switchoff_two+","+eswitch.km2_switchon_two+","+eswitch.km2_switchoff_two+","+eswitch.km3_switchon_two+","+eswitch.km3_switchoff_two+","+eswitch.km4_switchon_two+","+eswitch.km4_switchoff_two+")"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } //插入或更新4套电源状态表 public static void replace_Electric_Power(MysqlConnPool pool,Electric_Power epower) { String sql_str = " replace into "+ Sql_Mysql.Tb_Electric_Power +"(PLC_ip,start_a,stop_a,start_b,stop_b,start_c,stop_c,start_d,stop_d,abconn_start,abconn_stop,cdconn_start,cdconn_stop,allconn_start,allconn_stop,abconn_flag,cdconn_flag,abconn_volset,abconn_currset,cdconn_volset,cdconn_currset) " + " values('"+epower.PLC_ip+"',"+epower.start_a+","+epower.stop_a+","+epower.start_b+","+epower.stop_b+","+epower.start_c+","+epower.stop_c+","+epower.start_d+","+epower.stop_d+","+epower.abconn_start+","+epower.abconn_stop+","+epower.cdconn_start+","+epower.cdconn_stop +","+epower.allconn_start+","+epower.allconn_stop+","+epower.abconn_flag+","+epower.cdconn_flag+","+epower.abconn_volset+","+epower.abconn_currset+","+epower.cdconn_volset+","+epower.abconn_currset+")"; Sql_Mysql sql = new Sql_Mysql(pool.getConn()); try { sql.sqlMysqlExecute(sql_str); } catch (SQLException e) { e.printStackTrace(); } finally { sql.close_con(); } } //查询电源单点控制表中数据 public static void queryElectric_Control_Single(MysqlConnPool conn_pool,Electric_Control_Single ecs) { String sql_str = " select * from " + Sql_Mysql.Tb_Electric_Control_Single+" Where electric_id = " +ecs.getElectric_id(); ResultSet res = null; Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn()); try { res = sql.sqlMysqlQuery(sql_str); if(res.next()) { ecs.setElectric_id(res.getInt("electric_id")); ecs.setUpsetcurr(res.getFloat("upsetcurr")); ecs.setUpsetvol(res.getFloat("upsetvol")); ecs.setConvolcontrol(res.getInt("convolcontrol")); ecs.setConcurrcontrol(res.getInt("concurrcontrol")); ecs.setOthermodes(res.getInt("othermodes")); ecs.setParallelmodes(res.getInt("parallelmodes")); ecs.setStartposition(res.getInt("startposition")); ecs.setStopposition(res.getInt("stopposition")); ecs.setResetposition(res.getInt("resetposition")); ecs.setFanstart(res.getInt("fanstart")); ecs.setFanstop(res.getInt("fanstop")); ecs.setDcvol(res.getFloat("dcvol")); ecs.setDccurr(res.getFloat("dccurr")); ecs.setControlangle(res.getFloat("controlangle")); System.out.println(ecs.toString()); } } catch (Exception e) { e.printStackTrace(); } finally { if(res != null) { try { res.close(); } catch (SQLException e) { e.printStackTrace(); } } sql.close_con(); } } } ElectricalSystem_MonitorServer_4KW/src/main/main_ElectricalSystem_MonitorServer_4KW.java
@@ -1,101 +1,113 @@ package main; import java.sql.Connection; import java.sql.SQLException; import java.util.Date; import com.base.Com; import com.config.AppConfig; import com.config.AppParam; import com.electrical.FourKW.Electric_inf; import com.electrical.FourKW.Electrical_Task_SQL; import com.sql.MysqlConnPool; public class main_ElectricalSystem_MonitorServer_4KW { /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ public final static boolean app_debug = false; public final static double m_VersionNum = 1.102; public final static String m_Version = "Welcome To Use main_ElectricalSystem_MonitorServer_4KW V" + m_VersionNum ; /**************************************************************************/ /**************************************************************************/ public static final int MysqlServer_Port = 3360; private static AppConfig m_AppConfig; private static MysqlConnPool GB_MysqlConnPool; public static AppParam GB_App_Param; /*********************************************************************************************/ /*********************************************************************************************/ public static void main(String[] args) { String ver = m_Version; System.out.println("main_MonitorServer_Motor Server Started At DateTime: " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)); //创建config.xml文件 m_AppConfig = new AppConfig(); System.out.println("SQLserver IP:" + m_AppConfig.getMysqlServerIp() + ", port: "+MysqlServer_Port); //初始化连接池中的各种参数信息 GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port,100); //创建tb_app_param表,并且设置表中的数据 GB_App_Param = new AppParam(GB_MysqlConnPool); checkingMySQLServerStart(); //检测数据库服务是否启动 /*********************************************************************************/ /*********************************************************************************/ //初始化数据库 Electrical_Task_SQL.init(GB_MysqlConnPool); while(true) { try { Thread.sleep(5000); } catch (Exception e) { e.printStackTrace(); } } /*********************************************************************************/ } public static void checkingMySQLServerStart(){ int MysqlServer_Port = 3360; System.out.println("IP:"+m_AppConfig.getMysqlServerIp()+"port"+MysqlServer_Port); //初始化连接池中的各种参数信息 m_AppConfig.getMysqlServerIp() GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port, 5); while(true){ Connection conn = null; try { System.out.println(" 开始检测数据库连接 "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)); conn = GB_MysqlConnPool.getConn(); if(conn != null){ System.out.println("检测数据库连接成功"); break; } } catch (Exception e) { try { Thread.sleep(1000); } catch (InterruptedException e1) { e1.printStackTrace(); } System.out.println(" MySQL_FBSDEV not Start ... "); } finally { if(conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } } } package main; import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.base.Com; import com.config.AppConfig; import com.config.AppParam; import com.electrical.FourKW.Electric_4Kw_ServerSocket_Thread; import com.electrical.FourKW.Electric_All_ServerSocket_Thread; import com.electrical.FourKW.Electric_inf; import com.electrical.FourKW.Electrical_Task_SQL; import com.sql.MysqlConnPool; public class main_ElectricalSystem_MonitorServer_4KW { /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ /**************************************************************************/ public final static boolean app_debug = false; public final static double m_VersionNum = 1.102; public final static String m_Version = "Welcome To Use main_ElectricalSystem_MonitorServer_4KW V" + m_VersionNum ; /**************************************************************************/ /**************************************************************************/ public static final int MysqlServer_Port = 3360; private static AppConfig m_AppConfig; private static MysqlConnPool GB_MysqlConnPool; public static AppParam GB_App_Param; public static List<Electric_inf> einfs=new ArrayList(); public static String PLC_ip=""; /*********************************************************************************************/ /*********************************************************************************************/ public static void main(String[] args) { String ver = m_Version; System.out.println("main_MonitorServer_Motor Server Started At DateTime: " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)); //创建config.xml文件 m_AppConfig = new AppConfig(); System.out.println("SQLserver IP:" + m_AppConfig.getMysqlServerIp() + ", port: "+MysqlServer_Port); //初始化连接池中的各种参数信息 GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port,100); //创建tb_app_param表,并且设置表中的数据 GB_App_Param = new AppParam(GB_MysqlConnPool); checkingMySQLServerStart(); //检测数据库服务是否启动 /*********************************************************************************/ /*********************************************************************************/ //初始化数据库 Electrical_Task_SQL.init(GB_MysqlConnPool); //查询所有的电源系统 PLC_ip=Electrical_Task_SQL.queryAllElectric(GB_MysqlConnPool,einfs); //读取每套电源系统的信息 Electric_4Kw_ServerSocket_Thread server = new Electric_4Kw_ServerSocket_Thread(GB_MysqlConnPool,einfs); new Thread(server).start(); //System.out.println("PLC_ip:"+PLC_ip); //读取4套电源总信息和开关信息//读取每套电源系统的信息 Electric_All_ServerSocket_Thread serverALL = new Electric_All_ServerSocket_Thread(GB_MysqlConnPool,PLC_ip); new Thread(serverALL).start(); /*while(true) { try { Thread.sleep(5000); } catch (Exception e) { e.printStackTrace(); } }*/ /*********************************************************************************/ } public static void checkingMySQLServerStart(){ int MysqlServer_Port = 3360; System.out.println("IP:"+m_AppConfig.getMysqlServerIp()+"port"+MysqlServer_Port); //初始化连接池中的各种参数信息 m_AppConfig.getMysqlServerIp() GB_MysqlConnPool = new MysqlConnPool(m_AppConfig.getMysqlServerIp(), MysqlServer_Port, 5); while(true){ Connection conn = null; try { System.out.println(" 开始检测数据库连接 "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms)); conn = GB_MysqlConnPool.getConn(); if(conn != null){ System.out.println("检测数据库连接成功"); break; } } catch (Exception e) { try { Thread.sleep(1000); } catch (InterruptedException e1) { e1.printStackTrace(); } System.out.println(" MySQL_FBSDEV not Start ... "); } finally { if(conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } } }