DELL
2024-04-18 bc5734f0089133f74bd1417912e88c2f850e78d1
昆明平台兼容紫晶61850电源协转数据上送
7个文件已修改
1个文件已添加
35251 ■■■■■ 已修改文件
IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/info.log 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/ZJDY(1).icd 34687 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/config.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/main/main_PowerDev_IEC61850.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/power/comm/Power_61850_SocketClient.java 433 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/power/data/PowerData_RT.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/power/data/PowerData_RT_Array.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
IEC61850_ForPowerSupply_ForNW/IEC61850_ForPowerSupply_logs/info.log
@@ -725,3 +725,107 @@
2024-01-14 21:48:52.890 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:TEMPLATE - PowerDev_IEC61850_ClientThread Started Connect...
2024-01-14 21:49:33.351 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start!!! 
2024-01-14 21:49:48.470 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Start Record......
2024-04-18 08:47:35.880 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.103 RC_20210621
2024-04-18 08:47:35.883 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.79, port: 3360
2024-04-18 08:47:36.238 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.79, port: 3360
2024-04-18 08:48:58.382 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.103 RC_20210621
2024-04-18 08:48:58.384 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 08:48:58.724 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 08:48:59.604 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - createClient!!!
2024-04-18 08:48:59.605 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - Power_IEC61850_DEV_Client Thread Started: Power_IEC61850_DEV_Count = 1
2024-04-18 08:48:59.605 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start After 45 Seconds...
2024-04-18 08:48:59.608 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV1 Id: 110000001, Ip: 127.0.0.1
2024-04-18 08:48:59.611 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Started ...
2024-04-18 08:48:59.612 [Thread-12] [INFO] com.power.alarm.PwrDevHistoryAlm_SubtableThread -  PwrDevHistoryAlm_SubtableThread Start at 2024-04-18 08:48:59
2024-04-18 08:49:04.614 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 08:49:45.027 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start!!!
2024-04-18 08:50:00.116 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Start Record......
2024-04-18 08:57:34.910 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.103 RC_20210621
2024-04-18 08:57:34.915 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 08:57:35.364 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 08:57:36.136 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - createClient!!!
2024-04-18 08:57:36.137 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - Power_IEC61850_DEV_Client Thread Started: Power_IEC61850_DEV_Count = 1
2024-04-18 08:57:36.138 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start After 45 Seconds...
2024-04-18 08:57:36.144 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV1 Id: 110000001, Ip: 127.0.0.1
2024-04-18 08:57:36.164 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Started ...
2024-04-18 08:57:36.165 [Thread-12] [INFO] com.power.alarm.PwrDevHistoryAlm_SubtableThread -  PwrDevHistoryAlm_SubtableThread Start at 2024-04-18 08:57:36
2024-04-18 08:57:41.156 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 08:58:21.482 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start!!!
2024-04-18 08:58:36.688 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Start Record......
2024-04-18 11:05:37.553 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.103 RC_20210621
2024-04-18 11:05:37.557 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 11:05:38.060 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 11:05:39.099 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - createClient!!!
2024-04-18 11:05:39.101 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - Power_IEC61850_DEV_Client Thread Started: Power_IEC61850_DEV_Count = 1
2024-04-18 11:05:39.103 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start After 45 Seconds...
2024-04-18 11:05:39.108 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV1 Id: 110000001, Ip: 127.0.0.1
2024-04-18 11:05:39.113 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Started ...
2024-04-18 11:05:39.114 [Thread-12] [INFO] com.power.alarm.PwrDevHistoryAlm_SubtableThread -  PwrDevHistoryAlm_SubtableThread Start at 2024-04-18 11:05:39
2024-04-18 11:05:44.121 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 11:06:24.471 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start!!!
2024-04-18 11:06:39.602 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Start Record......
2024-04-18 16:06:58.349 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.103 RC_20210621
2024-04-18 16:06:58.352 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:06:58.759 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:06:59.492 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - createClient!!!
2024-04-18 16:06:59.493 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - Power_IEC61850_DEV_Client Thread Started: Power_IEC61850_DEV_Count = 1
2024-04-18 16:06:59.495 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start After 45 Seconds...
2024-04-18 16:06:59.496 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV1 Id: 110000001, Ip: 127.0.0.1
2024-04-18 16:06:59.501 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Started ...
2024-04-18 16:06:59.503 [Thread-12] [INFO] com.power.alarm.PwrDevHistoryAlm_SubtableThread -  PwrDevHistoryAlm_SubtableThread Start at 2024-04-18 16:06:59
2024-04-18 16:07:04.500 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:07:11.628 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:07:18.669 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:07:25.716 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:07:32.767 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:07:39.825 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:07:44.916 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start!!!
2024-04-18 16:07:46.875 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:07:53.934 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:08:00.026 [Thread-11] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Start Record......
2024-04-18 16:08:00.991 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:09:18.263 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.103 RC_20210621
2024-04-18 16:09:18.269 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:09:19.154 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:09:20.367 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - createClient!!!
2024-04-18 16:09:20.369 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - Power_IEC61850_DEV_Client Thread Started: Power_IEC61850_DEV_Count = 2
2024-04-18 16:09:20.371 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start After 45 Seconds...
2024-04-18 16:09:20.378 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV1 Id: 110000001, Ip: 127.0.0.1
2024-04-18 16:09:20.379 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV2 Id: 110000002, Ip: 127.0.0.1
2024-04-18 16:09:20.386 [Thread-12] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Started ...
2024-04-18 16:09:20.388 [Thread-13] [INFO] com.power.alarm.PwrDevHistoryAlm_SubtableThread -  PwrDevHistoryAlm_SubtableThread Start at 2024-04-18 16:09:20
2024-04-18 16:09:25.388 [Thread-11] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000002 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:09:25.388 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:10:05.779 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start!!!
2024-04-18 16:10:20.992 [Thread-12] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Start Record......
2024-04-18 16:46:04.981 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.104 RC_20210621
2024-04-18 16:46:04.989 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:46:05.322 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:46:11.316 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.104 RC_20210621
2024-04-18 16:46:11.318 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:46:11.628 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:46:12.297 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - createClient!!!
2024-04-18 16:46:12.298 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - Power_IEC61850_DEV_Client Thread Started: Power_IEC61850_DEV_Count = 2
2024-04-18 16:46:12.299 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start After 45 Seconds...
2024-04-18 16:46:12.302 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV1 Id: 110000001, Ip: 127.0.0.1
2024-04-18 16:46:12.302 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV2 Id: 110000002, Ip: 127.0.0.1
2024-04-18 16:46:12.308 [Thread-12] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Started ...
2024-04-18 16:46:12.309 [Thread-13] [INFO] com.power.alarm.PwrDevHistoryAlm_SubtableThread -  PwrDevHistoryAlm_SubtableThread Start at 2024-04-18 16:46:12
2024-04-18 16:46:17.315 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:46:17.315 [Thread-11] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000002 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:46:57.670 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start!!!
2024-04-18 16:47:12.840 [Thread-12] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Start Record......
2024-04-18 16:52:29.645 [main] [INFO] com.main.main_PowerDev_IEC61850 - Server Started...,Version: Welcome To Use Monitor_PowerDev_IEC61850 V1.104 RC_20210621
2024-04-18 16:52:29.652 [main] [INFO] com.main.main_PowerDev_IEC61850 - 正在连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:52:30.414 [main] [INFO] com.main.main_PowerDev_IEC61850 - 成功连接数据库 DBserver IP:192.168.10.82, port: 3360
2024-04-18 16:52:31.388 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - createClient!!!
2024-04-18 16:52:31.389 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - Power_IEC61850_DEV_Client Thread Started: Power_IEC61850_DEV_Count = 2
2024-04-18 16:52:31.391 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start After 45 Seconds...
2024-04-18 16:52:31.400 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV1 Id: 110000001, Ip: 127.0.0.1
2024-04-18 16:52:31.400 [Thread-8] [INFO] com.power.comm.Power_61850_Task_Thread - POWER_IEC61850_DEV2 Id: 110000002, Ip: 127.0.0.1
2024-04-18 16:52:31.407 [Thread-12] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Started ...
2024-04-18 16:52:31.408 [Thread-13] [INFO] com.power.alarm.PwrDevHistoryAlm_SubtableThread -  PwrDevHistoryAlm_SubtableThread Start at 2024-04-18 16:52:31
2024-04-18 16:52:36.404 [Thread-10] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000001 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:52:36.404 [Thread-11] [INFO] com.power.comm.Power_61850_SocketClient - ID:115000002 - IP:127.0.0.1- PowerDevProtocolName:ZJDY - PowerDev_IEC61850_ClientThread Started Connect...
2024-04-18 16:53:16.778 [Thread-9] [INFO] com.power.alarm.PwrDeviceAlarm_Thread - PwrDeviceAlarm_Thread start!!!
2024-04-18 16:53:31.899 [Thread-12] [INFO] com.power.datasave.PowerRealDataSave_Thread - PowerRealDataSave_Thread: Start Record......
IEC61850_ForPowerSupply_ForNW/ZJDY(1).icd
New file
Diff too large
IEC61850_ForPowerSupply_ForNW/config.xml
@@ -2,7 +2,7 @@
<root>
  <mysql_ramdb_recreate_en>false</mysql_ramdb_recreate_en>
  <mysql_server_ip>192.168.10.79</mysql_server_ip>
  <mysql_server_ip>192.168.10.82</mysql_server_ip>
  <!--SOURCE_BATTDATA_TYPE_FBSDEV = 0-->
  <!--SOURCE_BATTDATA_TYPE_SQLSERVER = 1-->
  <!--SOURCE_BATTDATA_TYPE_C_INTERFACE = 2-->
IEC61850_ForPowerSupply_ForNW/src/com/main/main_PowerDev_IEC61850.java
@@ -19,7 +19,7 @@
public class main_PowerDev_IEC61850 {
    
    public final static boolean app_debug = false;
    public final static double m_VersionNum = 1.103;
    public final static double m_VersionNum = 1.104;
    public final static String m_Version = "Welcome To Use Monitor_PowerDev_IEC61850 V" 
                                            + m_VersionNum + " RC_20210621";
    
@@ -72,6 +72,7 @@
            }
        } while (true);
        
        logger.info("成功连接数据库" + " DBserver IP:" + m_AppConfig.getMysqlServerIp() + ", port: " + DEF_MysqlServerFBS9100S_Port );
        
        Sql_Mysql sql_ck = new Sql_Mysql(GB_MysqlConnPool.getConn());
IEC61850_ForPowerSupply_ForNW/src/com/power/comm/Power_61850_SocketClient.java
@@ -241,14 +241,26 @@
    
    private void read_ACDC_LD() {
        
        String acdcDeviceName = pwrDev_rtData.PowerDevProtocolName + "CPSS";
        String acdcDeviceName = pwrDev_rtData.PowerDevProtocolName + "CPSS" + pwrDev_rtData.PowerDevProtocolIndex;
        try {
            DataSet ds = null;
            //************ 遥测量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsCpssYc)", acdcDeviceName);
            //-------------------------------------------------------------------------------------//
            ///-------------------------------------------------------------------------------------//
            DataSet ds = m_ServerModel.getDataSet(acdcDeviceName + "/LLN0.dsCpssYc").copy();
            if(acdcDeviceName.contains("ZJDY")) {
                //紫晶电源遥测
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsMeasure1)", acdcDeviceName);
                ///-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acdcDeviceName + "/LLN0.dsMeasure1");
            }else {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsCpssYc)", acdcDeviceName);
                ///-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acdcDeviceName + "/LLN0.dsCpssYc");
            }
            if(null == ds) {
                return;
            }
            ds = ds.copy();
            int size_cnt = ds.getMembers().size();            
            m_Association.getDataSetValues(ds);
            int m = 0;
@@ -405,12 +417,23 @@
        boolean origin_val;
        int timeout_tag;
        try {
            DataSet ds = null;
            //************ 遥信量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsCpssYx)", acdcDeviceName);
            //-------------------------------------------------------------------------------------//
            ///-------------------------------------------------------------------------------------//
            DataSet ds = m_ServerModel.getDataSet(acdcDeviceName + "/LLN0.dsCpssYx").copy();
            if(acdcDeviceName.contains("ZJDY")) {
                //紫晶电源遥信
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsState1)", acdcDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acdcDeviceName + "/LLN0.dsState1");
            }else {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsCpssYx)", acdcDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acdcDeviceName + "/LLN0.dsCpssYx");
            }
            if(null == ds) {
                return;
            }
            ds = ds.copy();
            int size_cnt = ds.getMembers().size();            
            m_Association.getDataSetValues(ds);
            int m = 0;
@@ -927,7 +950,92 @@
        } catch (IOException e) {
            setErrCommCountInc(0);
            logger.error(e.toString(), e);
        }
        }
        try {
            DataSet ds = null;
            //************ 紫晶电源告警量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            if(acdcDeviceName.contains("ZJDY")) {
                //紫晶电源遥信
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsAlm1)", acdcDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acdcDeviceName + "/LLN0.dsAlm1");
                if(null == ds) {
                    return;
                }
                ds = ds.copy();
                int size_cnt = ds.getMembers().size();
                m_Association.getDataSetValues(ds);
                int m = 0;
                for (int n = 0; n<size_cnt; n++) {
                    if(null == ds.getMembers().get(n).getChild("stVal")) {
                        continue;
                    }
                    FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("stVal");
                    FcModelNode fc_mode_t = (FcModelNode) ds.getMembers().get(n).getChild("t");
                    if(null != fc_mode) {
                        String fc_model_str = fc_mode.toString1();
                        if(fc_model_str.contains("gswGGIO1.Alm")) {
                            origin_val = pwrDev_rtData.m_acdcData.is_acIn1_trip;
                            pwrDev_rtData.m_acdcData.is_acIn1_trip = ((BdaBoolean)fc_mode).getValue();
                            if(origin_val==false && pwrDev_rtData.m_acdcData.is_acIn1_trip==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn1_Trip_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/gswGGIO2.Alm")) {
                            origin_val = pwrDev_rtData.m_acdcData.is_acIn2_trip;
                            pwrDev_rtData.m_acdcData.is_acIn2_trip = ((BdaBoolean)fc_mode).getValue();
                            if(origin_val==false && pwrDev_rtData.m_acdcData.is_acIn2_trip==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_AcIn2_Trip_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/gswGGIO3.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_acdcData.is_loader_fuse;
                            pwrDev_rtData.m_acdcData.is_loader_fuse = ((BdaBoolean)fc_mode).getValue();
                            if(origin_val==false && pwrDev_rtData.m_acdcData.is_loader_fuse==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                //Date dt = readNodeTimeStamp(acdcDeviceName + "/gswGGIO3.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_LoaderFuse_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/gswGGIO4.Alm.stVal")) {///gswGGIO4.Alm.stVal
                            origin_val = pwrDev_rtData.m_acdcData.is_battgroup1_fuse;
                            pwrDev_rtData.m_acdcData.is_battgroup1_fuse = ((BdaBoolean)fc_mode).getValue();
                            if(origin_val==false && pwrDev_rtData.m_acdcData.is_battgroup1_fuse==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                //Date dt = readNodeTimeStamp(acdcDeviceName + "/gswGGIO4.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_BattGrp1Fuse_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/gswGGIO5.Alm.stVal")) {///gswGGIO5.Alm.stVal
                            origin_val = pwrDev_rtData.m_acdcData.is_battgroup2_fuse;
                            timeout_tag = 0;
                            pwrDev_rtData.m_acdcData.is_battgroup2_fuse = ((BdaBoolean)fc_mode).getValue();
                            if(origin_val==false && pwrDev_rtData.m_acdcData.is_battgroup2_fuse==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                //Date dt = readNodeTimeStamp(acdcDeviceName + "/gswGGIO5.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_ACDC_BattGrp2Fuse_ID, 0, timeout_tag,dt);
                            }
                        }
                    }
                }
            }
            pwrDev_rtData.setCommSuccessCountInc();
            resetErrCommCount();
        } catch (IOException e) {
            setErrCommCountInc(0);
            logger.error(e.toString(), e);
        }
        
        /*****
        //************ 遥测量 **************
@@ -1069,15 +1177,26 @@
    
    private void read_AC_LD() { 
        
        String acDeviceName = pwrDev_rtData.PowerDevProtocolName + "ACSWIB";
        String acDeviceName = pwrDev_rtData.PowerDevProtocolName + "ACSWIB" + pwrDev_rtData.PowerDevProtocolIndex;
        
        try {
            DataSet ds = null;
            //************ 遥测量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsAcswibYc)", acDeviceName);
            //-------------------------------------------------------------------------------------//
            ///-------------------------------------------------------------------------------------//
            DataSet ds = m_ServerModel.getDataSet(acDeviceName + "/LLN0.dsAcswibYc").copy();
            if(acDeviceName.contains("ZJDY")) {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsMeasure1)", acDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acDeviceName + "/LLN0.dsMeasure1");
            }else {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsAcswibYc)", acDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acDeviceName + "/LLN0.dsAcswibYc");
            }
            if(null == ds) {
                //没有交流配电柜时跳出读取
                return;
            }
            ds = ds.copy();
            int size_cnt = ds.getMembers().size();            
            m_Association.getDataSetValues(ds);
            int m = 0;
@@ -1152,12 +1271,22 @@
        boolean origin_val;
        int timeout_tag;
        try {
            DataSet ds = null;
            //************ 遥信量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsAcswibYx)", acDeviceName);
            //-------------------------------------------------------------------------------------//
            ///-------------------------------------------------------------------------------------//
            DataSet ds = m_ServerModel.getDataSet(acDeviceName + "/LLN0.dsAcswibYx").copy();
            if(acDeviceName.contains("ZJDY")) {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsState1)", acDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acDeviceName + "/LLN0.dsState1");
            }else {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsAcswibYx)", acDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acDeviceName + "/LLN0.dsAcswibYx");
            }
            if(null == ds) {
                return;
            }
            ds = ds.copy();
            int size_cnt = ds.getMembers().size();            
            m_Association.getDataSetValues(ds);
            int m = 0;
@@ -1509,6 +1638,117 @@
            logger.error(e.toString(), e);
        }
        
        try {
            DataSet ds = null;
            //************ 遥信量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            if(acDeviceName.contains("ZJDY")) {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsAlm1)", acDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(acDeviceName + "/LLN0.dsAlm1");
                if(null == ds) {
                    return;
                }
                ds = ds.copy();
                int size_cnt = ds.getMembers().size();
                m_Association.getDataSetValues(ds);
                int m = 0;
                int fsw1_Trip_idx = 0;
                int fsw2_Trip_idx = 0;
                for (int n = 0; n<size_cnt; n++) {
                    if(null == ds.getMembers().get(n).getChild("stVal")) {
                        continue;
                    }
                    FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("stVal");
                    FcModelNode fc_mode_t = (FcModelNode) ds.getMembers().get(n).getChild("t");
                    if(null != fc_mode){
                        String fc_model_str = fc_mode.toString1();
                        if(fc_model_str.contains("/etmGGIO1.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_acData.is_ac_tempAlarm;
                            pwrDev_rtData.m_acData.is_ac_tempAlarm = ((BdaBoolean)fc_mode).getValue();
//                            pwrDev_rtData.m_acData.is_ac_tempAlarm = readBooleanNodeData(acDeviceName + "/etmGGIO1.Alm.stVal", Fc.ST, pwrDev_rtData.m_acData.is_ac_tempAlarm);
                            if(origin_val==false && pwrDev_rtData.m_acData.is_ac_tempAlarm==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                                Date dt = readNodeTimeStamp(acDeviceName + "/etmGGIO1.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_TempAlarm_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/gswGGIO1.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_acData.is_acIn1_trip;
                            pwrDev_rtData.m_acData.is_acIn1_trip = ((BdaBoolean)fc_mode).getValue();
                            //pwrDev_rtData.m_acData.is_acIn1_trip = readBooleanNodeData(acDeviceName + "/gswGGIO1.Alm.stVal", Fc.ST, pwrDev_rtData.m_acData.is_acIn1_trip);
                            if(origin_val==false && pwrDev_rtData.m_acData.is_acIn1_trip==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                //Date dt = readNodeTimeStamp(acDeviceName + "/gswGGIO1.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn1_Trip_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/gswGGIO2.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_acData.is_acIn2_trip;
                            timeout_tag = 0;
                            pwrDev_rtData.m_acData.is_acIn2_trip = ((BdaBoolean)fc_mode).getValue();
                            //pwrDev_rtData.m_acData.is_acIn2_trip = readBooleanNodeData(acDeviceName + "/gswGGIO2.Alm.stVal", Fc.ST, pwrDev_rtData.m_acData.is_acIn2_trip);
                            if(origin_val==false && pwrDev_rtData.m_acData.is_acIn2_trip==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                //Date dt = readNodeTimeStamp(acDeviceName + "/gswGGIO2.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_AcIn2_Trip_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/fsw1GGIO") && fc_model_str.contains("Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_acData.is_fsw1_Trip_SW[fsw1_Trip_idx];
                            //1段交流母线输出开关
                            pwrDev_rtData.m_acData.is_fsw1_Trip_SW[fsw1_Trip_idx] = ((BdaBoolean)fc_mode).getValue();
                            //pwrDev_rtData.m_acData.is_fsw1_Trip_SW[fsw1_Trip_idx] = readBooleanNodeData(acDeviceName + ref, Fc.ST, pwrDev_rtData.m_acData.is_fsw1_Trip_SW[i]);
                            if(origin_val==false && pwrDev_rtData.m_acData.is_fsw1_Trip_SW[fsw1_Trip_idx]==true) {
                                //Date dt = readNodeTimeStamp(acDeviceName + reft, Fc.ST);
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_MX1_SW_N_Trip_ID, (fsw1_Trip_idx+1), timeout_tag,dt);
                            }
                            fsw1_Trip_idx++;
                        }else if(fc_model_str.contains("/fsw2GGIO") && fc_model_str.contains("Alm.stVal")) {
                            //2段交流母线输出开关
                            //System.out.println(fc_model_str+"=="+fsw2_Trip_idx++);
                            origin_val = pwrDev_rtData.m_acData.is_fsw2_Trip_SW[fsw2_Trip_idx];
                            pwrDev_rtData.m_acData.is_fsw2_Trip_SW[fsw2_Trip_idx] = ((BdaBoolean)fc_mode).getValue();
                            //pwrDev_rtData.m_acData.is_fsw2_Trip_SW[fsw2_Trip_idx] = readBooleanNodeData(acDeviceName + ref, Fc.ST, pwrDev_rtData.m_acData.is_fsw2_Trip_SW[i]);
                            if(origin_val==false && pwrDev_rtData.m_acData.is_fsw2_Trip_SW[fsw2_Trip_idx]==true) {
                                //Date dt = readNodeTimeStamp(acDeviceName + reft, Fc.ST);
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_MX2_SW_N_Trip_ID, (fsw2_Trip_idx+1), timeout_tag,dt);
                            }
                            fsw2_Trip_idx ++;
                        }else if(fc_model_str.contains("/calmGGIO1.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_acData.is_total_alarm;
                            pwrDev_rtData.m_acData.is_total_alarm = ((BdaBoolean)fc_mode).getValue();
//                            pwrDev_rtData.m_acData.is_total_alarm = readBooleanNodeData(acDeviceName + "/calmGGIO1.Alm.stVal", Fc.ST, pwrDev_rtData.m_acData.is_total_alarm);
                            if(origin_val==false && pwrDev_rtData.m_acData.is_total_alarm==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                                Date dt = readNodeTimeStamp(acDeviceName + "/calmGGIO1.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_AC_TolalAlarm_ID, 0, timeout_tag,dt);
                            }
                        }
                    }
                }
            }
            pwrDev_rtData.setCommSuccessCountInc();
            resetErrCommCount();
        } catch (IOException e) {
            setErrCommCountInc(0);
            logger.error(e.toString(), e);
        }
        /***
        //************ 遥测量 **************
        pwrDev_rtData.SetPwrDeviceCommErrState(false);
@@ -1583,17 +1823,25 @@
        ***/
    }
    
    private void read_DC_LD() {
        String dcDeviceName = pwrDev_rtData.PowerDevProtocolName + "DCSWIB";
    private void read_DC_LD() {
        String dcDeviceName = pwrDev_rtData.PowerDevProtocolName + "DCSWIB"  + pwrDev_rtData.PowerDevProtocolIndex;
        try {
            DataSet ds = null;
            //************ 遥测量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsDcswibYc)", dcDeviceName);
            //-------------------------------------------------------------------------------------//
            ///-------------------------------------------------------------------------------------//
            DataSet ds = m_ServerModel.getDataSet(dcDeviceName + "/LLN0.dsDcswibYc").copy();
            if(dcDeviceName.contains("ZJDY")) {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsMeasure1)", dcDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(dcDeviceName + "/LLN0.dsMeasure1");
            }else {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsDcswibYc)", dcDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(dcDeviceName + "/LLN0.dsDcswibYc");
            }
            if(null == ds) {
                return;
            }
            ds = ds.copy();
            int size_cnt = ds.getMembers().size();            
            m_Association.getDataSetValues(ds);
            int m = 0;
@@ -1649,12 +1897,22 @@
        boolean origin_val;
        int timeout_tag;
        try {
            DataSet ds = null;
            //************ 遥信量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsDcswibYx)", dcDeviceName);
            //-------------------------------------------------------------------------------------//
            ///-------------------------------------------------------------------------------------//
            DataSet ds = m_ServerModel.getDataSet(dcDeviceName + "/LLN0.dsDcswibYx").copy();
            if(dcDeviceName.contains("ZJDY")) {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsState1)", dcDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(dcDeviceName + "/LLN0.dsState1");
            }else {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsDcswibYx)", dcDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(dcDeviceName + "/LLN0.dsDcswibYx");
            }
            if(null == ds) {
                return;
            }
            ds = ds.copy();
            int size_cnt = ds.getMembers().size();            
            m_Association.getDataSetValues(ds);
            int m = 0;
@@ -1807,6 +2065,119 @@
            logger.error(e.toString(), e);
        }
        
        try {
            DataSet ds = null;
            //************ 紫晶电源告警量 **************
            //---------------------------------Log Level.TRACE-------------------------------------//
            if(dcDeviceName.contains("ZJDY")) {
                logger.printf(Level.TRACE, "m_ServerModel.getDataSet(%s/LLN0.dsAlm1)", dcDeviceName);
                //-------------------------------------------------------------------------------------//
                ds = m_ServerModel.getDataSet(dcDeviceName + "/LLN0.dsAlm1");
                if(null == ds) {
                    return;
                }
                ds = ds.copy();
                int size_cnt = ds.getMembers().size();
                m_Association.getDataSetValues(ds);
                int m = 0;
                int fsw1_Trip_idx = 0;
                int fsw2_Trip_idx = 0;
                for (int n = 0; n<size_cnt; n++) {
                    if(null == ds.getMembers().get(n).getChild("stVal")) {
                        continue;
                    }
                    FcModelNode fc_mode = (FcModelNode) ds.getMembers().get(n).getChild("stVal");
                    FcModelNode fc_mode_t = (FcModelNode) ds.getMembers().get(n).getChild("t");
                    if(null != fc_mode){
                        String fc_model_str = fc_mode.toString1();
                        if(fc_model_str.contains("/etmGGIO.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_dcData.is_tempalarm;
                            pwrDev_rtData.m_dcData.is_tempalarm = ((BdaBoolean)fc_mode).getValue();
//                            pwrDev_rtData.m_dcData.is_tempalarm = readBooleanNodeData(dcDeviceName + "/etmGGIO.Alm.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_tempalarm);
                            if(origin_val==false && pwrDev_rtData.m_dcData.is_tempalarm==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                                Date dt = readNodeTimeStamp(dcDeviceName + "/etmGGIO.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TempAlarm_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/gswGGIO1.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_dcData.is_in1_swtrip;
                            pwrDev_rtData.m_dcData.is_in1_swtrip = ((BdaBoolean)fc_mode).getValue();
//                            pwrDev_rtData.m_dcData.is_in1_swtrip = readBooleanNodeData(dcDeviceName + "/gswGGIO1.Alm.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_in1_swtrip);
                            if(origin_val==false && pwrDev_rtData.m_dcData.is_in1_swtrip==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                                Date dt = readNodeTimeStamp(dcDeviceName + "/gswGGIO1.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DcIn1_Trip_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/gswGGIO2.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_dcData.is_in2_swtrip;
                            pwrDev_rtData.m_dcData.is_in2_swtrip = ((BdaBoolean)fc_mode).getValue();
//                            pwrDev_rtData.m_dcData.is_in2_swtrip = readBooleanNodeData(dcDeviceName + "/gswGGIO2.Alm.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_in2_swtrip);
                            if(origin_val==false && pwrDev_rtData.m_dcData.is_in2_swtrip==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                                Date dt = readNodeTimeStamp(dcDeviceName + "/gswGGIO2.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DcIn2_Trip_ID, 0, timeout_tag,dt);
                            }
                        }else if(fc_model_str.contains("/fsw1GGIO") && fc_model_str.contains("Alm.stVal")) {
                            //System.out.println(fc_model_str + "===" + fsw1_Trip_idx);
                            origin_val = pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx];
                            pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx] = ((BdaBoolean)fc_mode).getValue();
                            //pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx] = readBooleanNodeData(dcDeviceName + ref, Fc.ST, pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx]);
                            if(origin_val==false && pwrDev_rtData.m_dcData.is_fsw1_Trip_SW[fsw1_Trip_idx]==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                //Date dt = readNodeTimeStamp(dcDeviceName + reft, Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DC1_SW_N_Trip_ID, (fsw1_Trip_idx+1), timeout_tag,dt);
                            }
                            fsw1_Trip_idx ++;
                        }else if(fc_model_str.contains("/fsw2GGIO") && fc_model_str.contains("Alm.stVal")) {
                            //System.out.println(fc_model_str + "===" + fsw2_Trip_idx);
                            origin_val = pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[fsw2_Trip_idx];
                            pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[fsw2_Trip_idx] = ((BdaBoolean)fc_mode).getValue();
//                            pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[i] = readBooleanNodeData(dcDeviceName + ref, Fc.ST, pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[i]);
                            if(origin_val==false && pwrDev_rtData.m_dcData.is_fsw2_Trip_SW[fsw2_Trip_idx]==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
                                //Date dt = readNodeTimeStamp(dcDeviceName + reft, Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_DC2_SW_N_Trip_ID, (fsw2_Trip_idx+1), timeout_tag,dt);
                            }
                            fsw2_Trip_idx ++;
                        }else if(fc_model_str.contains("/calmGGIO.Alm.stVal")) {
                            origin_val = pwrDev_rtData.m_dcData.is_total_alarm;
                            pwrDev_rtData.m_dcData.is_total_alarm = ((BdaBoolean)fc_mode).getValue();
//                            pwrDev_rtData.m_dcData.is_total_alarm = readBooleanNodeData(dcDeviceName + "/calmGGIO.Alm.stVal", Fc.ST, pwrDev_rtData.m_dcData.is_total_alarm);
                            if(origin_val==false && pwrDev_rtData.m_dcData.is_total_alarm==true) {
                                Date dt = ((BdaTimestamp)fc_mode_t).getDate();
//                                Date dt = readNodeTimeStamp(dcDeviceName + "/calmGGIO.Alm.t", Fc.ST);
                                timeout_tag = checkIfBoolNodeTimeOut(dt);
                                PowerData_RT_SQL.make_TimeOutTag(m_ConnPool, pwrDev_rtData.PowerDevDeviceId, PwrDeviceAlarm_Data.ALM_TYPE_DC_TolalAlarm_ID, 0, timeout_tag,dt);
                            }
                        }
                    }
                }
            }
            pwrDev_rtData.setCommSuccessCountInc();
            resetErrCommCount();
        } catch (IOException e) {
            setErrCommCountInc(0);
            logger.error(e.toString(), e);
        }
        /***
        //************ 遥测量 **************
        pwrDev_rtData.m_dcData.dcIn1_vol = (float)54.1+float_rand_data;//readFloatNodeData(dcDeviceName + "/dciGGIO1.AnIn1.mag.f", Fc.MX, pwrDev_rtData.m_dcData.dcIn1_vol);
IEC61850_ForPowerSupply_ForNW/src/com/power/data/PowerData_RT.java
@@ -12,6 +12,8 @@
    public String PowerDevDeviceName = " ";
    public String PowerDevProtocolName = " ";
    
    public String PowerDevProtocolIndex = "";
    private MysqlConnPool m_ConPool;
    
    public PowerDev_acData m_acData = new PowerDev_acData();
@@ -116,4 +118,9 @@
        return exists;
    }
    public static void main(String[] args) {
        String msg = "JKHKJGHJKJGH2";
        System.out.println(msg.substring(0, msg.indexOf("2")));
    }
}
IEC61850_ForPowerSupply_ForNW/src/com/power/data/PowerData_RT_Array.java
@@ -54,7 +54,7 @@
            sql.sqlMysqlUseDB(Sql_Mysql.DB_PWRDEV_INF);
            
            String sql_str = "SELECT DISTINCT "
                    + " PowerDeviceId,PowerDeviceIp,ProtocolName"
                    + " PowerDeviceId,PowerDeviceIp,ProtocolName,StationIP "
                    + " FROM " + Sql_Mysql.TB_PWRDEV_INF
                    + " ORDER BY PowerDeviceId ASC";
    
@@ -67,7 +67,14 @@
                int pwrdevid = res.getInt("PowerDeviceId");
                String pwrdevip = res.getString("PowerDeviceIp").trim();
                String pwrdevprotname = res.getString("ProtocolName").trim();
                String StationIP = res.getString("StationIP").trim();
                String PowerDevProtocolIndex = "";
                
                if(pwrdevprotname.endsWith("2")) {
                    //紫晶第二套电源
                    PowerDevProtocolIndex = "2";
                    pwrdevprotname = pwrdevprotname.substring(0, pwrdevprotname.indexOf("2"));
                }
                //logger.info("Select res: pwrdevid = " + pwrdevid + "-- IP = " + pwrdevip);
                
                for(int n=0;n<Data_Array.size();n++) {
@@ -99,6 +106,8 @@
                    rtdata.PowerDevDeviceIp = pwrdevip;
                    rtdata.PowerDevProtocolName = pwrdevprotname;
                    
                    rtdata.PowerDevProtocolIndex = PowerDevProtocolIndex;
                    //logger.info("Insert: pwrdevid = " + pwrdevid + "-- IP = " + pwrdevip);
                    
                    //插入一条记录
IEC61850_ForPowerSupply_ForNW/src/com/version_inf/version_inf.txt
@@ -12,6 +12,10 @@
V1.104  2024-04-18 lijun
    1.兼容紫晶61850电源协转数据读取                一个协转中可能保存了2套电源数
        tb_pwrdev_inf  协议名称: 例如:ZJDY- 为读取第一套电源        ZJDY2- 为读取第二套电源
V1.103  2024-03-07 lijun
    1.新增历史告警分表,以及根据历史告警 记录最久保留3年的 电源历史告警记录