| | |
| | | package com.electrical.TwoKW;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.Calendar;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | |
| | | @Override
|
| | | public void run() {
|
| | | System.out.println("Electric_2Kw_TestData_Thread Start at "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
| | | Date now = null;
|
| | | Date last = new Date(0);
|
| | | while(true) {
|
| | | try {
|
| | | now = new Date();
|
| | | |
| | | for(int i=0;i<einfs.size();i++) {
|
| | | boolean isExist = false;
|
| | | Electric_inf_2kw einf = einfs.get(i);
|
| | |
| | | threads.add(thread);
|
| | | new Thread(thread).start();
|
| | | }
|
| | | |
| | | //构造今天和明天的历史实时数据表
|
| | | Electrical_2KWTask_SQL.createTb_electric2mw_realdata(pool, einf.electric2KW_id, now);
|
| | | Electrical_2KWTask_SQL.createTb_electric2mw_realdata(pool, einf.electric2KW_id, tomorrow(now));
|
| | | |
| | | }
|
| | | Thread.sleep(3000);
|
| | | } catch (Exception e) {
|
| | |
| | | now = new Date();
|
| | | long timelong = (now.getTime()-last.getTime())/1000;
|
| | | if(timelong >= TESTDATA_RECORD_INTERVAL) {
|
| | | |
| | | if(einf.conn_state == 1) {
|
| | | //通讯正常
|
| | | Electrical_2KWTask_SQL.insertTb_electric2mw_realdata(pool, einf, now);
|
| | | last = now;
|
| | | }
|
| | | }
|
| | | Thread.sleep(500);
|
| | | } catch (Exception e) {
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | /**
|
| | | * 返回明天日期
|
| | | * @param today
|
| | | * @return
|
| | | */
|
| | | public Date tomorrow(Date today) {
|
| | | Calendar calendar = Calendar.getInstance();
|
| | | calendar.setTime(today);
|
| | | calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + 1);
|
| | | return calendar.getTime();
|
| | | }
|
| | | }
|
| | |
| | | public int electric2KW_type ; //'2' COMMENT '电源类型', |
| | | public String note ;//'', |
| | | |
| | | public int conn_state; //当前设备连接状态 1:通讯正常 0:通讯故障 |
| | | |
| | | public Electric_State_2kw state; |
| | | public Electric_Rt_2kw rt; |
| | | public Electric_Control_Single_2kw control; |
| | |
| | | } |
| | | } |
| | | |
| | | public static void insertTb_electric2mw_realdata() { |
| | | String sql_str = " INSERT INTO db_electric2mwsystem.tb_electric2mw_realdata_6001_2020_09_21(electric2KW_id,record_time,brachdcvol,brachdccurr,alldcvol,alldccurr,controlangle,localgivevol,localgivecurr) " + |
| | | " VALUES();"; |
| | | /** |
| | | * 插入历史实时数据 |
| | | * @param pool |
| | | * @param einf |
| | | * @param time |
| | | */ |
| | | public static void insertTb_electric2mw_realdata(MysqlConnPool pool,Electric_inf_2kw einf,Date time) { |
| | | Electric_State_2kw state = einf.state; |
| | | String sql_str = " INSERT INTO "+Sql_Mysql.Tb_electric2MW_realdata+einf.electric2KW_id+"_"+Com.getDateTimeFormat(time, Com.DTF_Y_M_D)+"(electric2KW_id,record_time,brachdcvol,brachdccurr,alldcvol,alldccurr,controlangle,localgivevol,localgivecurr) " + |
| | | " VALUES(" |
| | | + einf.electric2KW_id+",'" |
| | | + Com.getDateTimeFormat(time, Com.DTF_YMDhms)+ "'," |
| | | + state.brachdcvol +"," |
| | | + state.brachdccurr +"," |
| | | + state.alldcvol +"," |
| | | + state.alldccurr +"," |
| | | + state.controlangle +"," |
| | | + state.localgivevol +"," |
| | | + state.localgivecurr +"" |
| | | + ");"; |
| | | Sql_Mysql sql = new Sql_Mysql(pool.getConn()); |
| | | try { |
| | | sql.sqlMysqlExecute(sql_str); |
| | | } catch (SQLException e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | sql.close_con(); |
| | | } |
| | | |
| | | } |
| | | |
| | | //更新2mw电源控制信息表 |
| | |
| | | //System.out.println(master.getTotalerr()+"##############"+master.getConnectState()); |
| | | //更新当前设备的连接状态 |
| | | Electrical_2KWTask_SQL.insertOrUpdateDeviceConnectState(conn_pool,einf.electric2KW_id,master); |
| | | einf.conn_state = master.getConnectState(); //更新当前设备的连接状态 |
| | | if(runCount%10 == 0) { |
| | | //更新当前设备ip |
| | | master.setTarget_ip(einf.electric2KW_ip); |
| | |
| | | import com.config.AppConfig; |
| | | import com.config.AppParam; |
| | | import com.electrical.TwoKW.Electric_2Kw_ServerSocket_Thread; |
| | | import com.electrical.TwoKW.Electric_2Kw_TestData_Thread; |
| | | import com.electrical.TwoKW.Electric_inf_2kw; |
| | | import com.electrical.TwoKW.Electrical_2KWTask_SQL; |
| | | import com.sql.MysqlConnPool; |
| | |
| | | //2MW通讯读取数据线程 |
| | | Electric_2Kw_ServerSocket_Thread server=new Electric_2Kw_ServerSocket_Thread(GB_MysqlConnPool,einfs); |
| | | new Thread(server).start(); |
| | | |
| | | { |
| | | Electric_2Kw_TestData_Thread record = new Electric_2Kw_TestData_Thread(GB_MysqlConnPool, einfs); |
| | | new Thread(record).start(); |
| | | } |
| | | |
| | | while(true) { |
| | | try { |
| | | Thread.sleep(5000); |