DELL
2024-08-06 bab31228085a838e21496c01793256872fef60dc
修改样式
1 文件已重命名
70个文件已添加
139个文件已修改
1449 ■■■■■ 已修改文件
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/SPCommZDHJ.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_base.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart$1$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart$2.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart$3.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$10.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$11.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$12.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$13.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$14.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$15.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$16.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$17.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$18.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$19.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$2.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$20.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$21.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$3.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$4.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$5.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$6.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$7.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$8.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$9.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$10.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$11.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$12.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$13.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$14.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$15.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$16.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$17.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$18.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$19.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$20.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$21.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$22.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$23.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$24.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$25.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$26.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$27.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$28.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$29.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$3.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$30.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$31.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$32.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$33.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$34.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$35.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$36.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$37.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$38.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$39.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$4.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$40.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$41.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$42.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$43.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$44.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$45.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$46.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$47.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$48.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$49.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$5.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$50.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$51.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$52.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$53.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$54.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$55.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$56.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$57.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$58.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$59.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$6.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$60.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$61.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$62.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$63.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$64.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$65.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$66.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$67.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$68.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$7.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$8.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$9.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$10.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$11.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$12.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$13.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$14.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$15.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$16.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$17.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$18.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$19.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$2.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$20.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$21.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$22.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$23.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$24.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$25.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$3.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$4.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$5.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$6.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$7.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$8.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$9.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/png_180x180/61850_png.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/png_180x180/bts_4810.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/png_180x180/group_model.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/png_180x180/mon_model.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/png_180x180/qt_png.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/png_180x180/ukey_cfg.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/Com.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/IEC_61850_comm.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$1$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$10.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$11$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$11.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$12.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$13.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$14.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$15.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$16.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$17.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$18.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$19.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$2.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$20.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$21.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$22.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$23.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$24.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$25.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$26.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$27.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$28.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$29.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$3.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$30.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$31.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$32.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$33.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$34.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$35.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$36.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$37.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$38.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$39.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$4.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$40.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$41.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$42.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$43.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$44.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$45.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$46.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$47.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$48.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$49.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$5.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$50.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$51.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$52.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$53.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$54.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$55.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$56.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$57.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$6.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$7.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$8.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$9.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/config.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/lastconnection.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/pri_key.ksm 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/pub_key.ksm 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/pwd_A7.psm 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/fbs9600_zdhj/SPCommZDHJ.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/fbs9600_zdhj/zdhj_page_base.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/fbs9600_zdhj/zdhj_page_chart.java 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/fbs9600_zdhj/zdhj_page_param.java 258 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/simpower/power_page_mudata.java 555 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/main/main_window_computer.java 124 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/png_180x180/61850_png.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/png_180x180/bts_4810.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/png_180x180/group_model.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/png_180x180/mon_model.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/png_180x180/qt_png.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/png_180x180/ukey_cfg.png 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/user_app_form/Com.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/user_app_form/IEC_61850_comm.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/user_app_form/iec61850_page_base.java 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/SPCommZDHJ.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_base.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart$1$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart$2.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart$3.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_chart.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$10.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$11.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$12.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$13.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$14.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$15.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$16.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$17.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$18.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$19.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$2.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$20.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$21.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$3.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$4.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$5.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$6.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$7.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$8.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param$9.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/fbs9600_zdhj/zdhj_page_param.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$10.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$11.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$12.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$13.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$14.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$15.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$16.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$17.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$18.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$19.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$20.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$21.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$22.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$23.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$24.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$25.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$26.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$27.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$28.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$29.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$3.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$30.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$31.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$32.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$33.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$34.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$35.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$36.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$37.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$38.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$39.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$4.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$40.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$41.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$42.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$43.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$44.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$45.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$46.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$47.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$48.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$49.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$5.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$50.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$51.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$52.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$53.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$54.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$55.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$56.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$57.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$58.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$59.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$6.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$60.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$61.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$62.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$63.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$64.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$65.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$66.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$67.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$68.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$7.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$8.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata$9.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/simpower/power_page_mudata.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$10.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$11.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$12.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$13.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$14.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$15.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$16.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$17.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$18.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$19.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$2.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$20.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$21.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$22.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$23.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$24.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$25.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$3.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$4.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$5.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$6.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$7.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$8.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$9.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer.class
Binary files differ
Device_Simulator_DTS_Tester/bin/png_180x180/61850_png.png
Device_Simulator_DTS_Tester/bin/png_180x180/bts_4810.png
Device_Simulator_DTS_Tester/bin/png_180x180/group_model.png
Device_Simulator_DTS_Tester/bin/png_180x180/mon_model.png
Device_Simulator_DTS_Tester/bin/png_180x180/qt_png.png
Device_Simulator_DTS_Tester/bin/png_180x180/ukey_cfg.png
Device_Simulator_DTS_Tester/bin/user_app_form/Com.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/IEC_61850_comm.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$1$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$10.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$11$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$11.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$12.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$13.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$14.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$15.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$16.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$17.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$18.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$19.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$2.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$20.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$21.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$22.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$23.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$24.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$25.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$26.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$27.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$28.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$29.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$3.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$30.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$31.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$32.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$33.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$34.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$35.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$36.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$37.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$38.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$39.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$4.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$40.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$41.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$42.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$43.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$44.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$45.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$46.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$47.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$48.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$49.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$5.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$50.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$51.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$52.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$53.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$54.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$55.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$56.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$57.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$6.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$7.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$8.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base$9.class
Binary files differ
Device_Simulator_DTS_Tester/bin/user_app_form/iec61850_page_base.class
Binary files differ
Device_Simulator_DTS_Tester/config.xml
@@ -2,6 +2,6 @@
<root>
  <progam_type>0</progam_type>
  <server_ip>192.168.7.126</server_ip>
  <server_ip>127.0.0.1</server_ip>
  <server_port>102</server_port>
</root>
Device_Simulator_DTS_Tester/lastconnection.properties
@@ -1,4 +1,4 @@
#Mon Mar 25 11:28:09 CST 2024
#Wed Jun 26 19:28:11 CST 2024
tselLocal=0,0
serverAddress=127.0.0.1
tselRemote=0,1
Device_Simulator_DTS_Tester/pri_key.ksm
Binary files differ
Device_Simulator_DTS_Tester/pub_key.ksm
New file
@@ -0,0 +1 @@
ÂÇã3wò.É\–¸`}Øòហ   º    n–GöêŒê^œ²õØ­L¯»”ðÁmûșŸ7ŽÑÁ‹1ýK:¾–®Eë
Device_Simulator_DTS_Tester/pwd_A7.psm
New file
@@ -0,0 +1,2 @@
­®aí!r®‹})¤,§EïÌ  ‹\ 
ς›Ñ¢Î€ôBWÀ´Û™@Ï<µ¼§MV•oý»Ë{HQ׺Ê9žVSï    €À0PVk³ÒšÇ! ÷ÖûJ}®UŸ×釖¥-̔{¥ƒРÛRI¼W…óïÏÑ…·'U°;®»õJŽa®¨óí•C
Device_Simulator_DTS_Tester/src/com/dev/fbs9600_zdhj/SPCommZDHJ.java
@@ -168,7 +168,7 @@
    public double dev_param_res_dis_slope = 0;
    public double dev_param_res_wenbo_slope = 0;
    public int dev_param_monnum_setmode = 0;
    public int dev_param_devid = 0;
    public float dev_param_devid = 0;
    public double[] dev_param_resparam_d = new double[4];
    public double[] dev_param_resparam_s = new double[4];
    //--------------------------------------------------------//
@@ -581,7 +581,7 @@
                dev_param_res_dis_slope = ((double)bbf_rx.getShort()) / 10000;
                dev_param_res_wenbo_slope = ((double)bbf_rx.getShort()) / 10000;
                dev_param_monnum_setmode = bbf_rx.getShort();
                dev_param_devid = (int)(bbf_rx.getShort()&0xFFFF);
                dev_param_devid = (float)(bbf_rx.getShort()&0xFFFF)/1000;
                
                dev_param_resparam_d[0] = ((double)bbf_rx.getShort()) / 10000;
                dev_param_resparam_d[1] = ((double)bbf_rx.getShort()) / 10000;
Device_Simulator_DTS_Tester/src/com/dev/fbs9600_zdhj/zdhj_page_base.java
@@ -357,7 +357,7 @@
        
        JPanel panel_9 = new JPanel();
        panel_9.setBorder(new TitledBorder(null, "\u5E73\u5747\u56E0\u5B50", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_2.add(panel_9);
        //panel_2.add(panel_9);
        panel_9.setLayout(new BorderLayout(0, 0));
        
        tf_wenbo_curr_avg = new JTextField();
@@ -366,7 +366,7 @@
        
        JPanel panel_10 = new JPanel();
        panel_10.setBorder(new TitledBorder(null, "\u5CF0\u503C\u56E0\u5B50", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_2.add(panel_10);
        //panel_2.add(panel_10);
        panel_10.setLayout(new BorderLayout(0, 0));
        
        tf_wenbo_curr_peak = new JTextField();
Device_Simulator_DTS_Tester/src/com/dev/fbs9600_zdhj/zdhj_page_chart.java
@@ -1,12 +1,15 @@
package com.dev.fbs9600_zdhj;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import java.awt.GridLayout;
import java.awt.datatransfer.Clipboard;
@@ -18,11 +21,18 @@
import java.util.Vector;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import com.steema.teechart.drawing.Color;
import com.teechart.TBarChart_fbs;
import user_app_form.LimitedDocument;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FlowLayout;
public class zdhj_page_chart extends JPanel {
    private TBarChart_fbs m_TBarMonVolChart;
@@ -36,6 +46,41 @@
    private JTable table_zdhj_data;                
    private Vector<String> columnVector;
    private Vector<Vector<String>> dataRow;
    /**
     * 单体电压最值
     */
    private double m_MaxVol = 0;
    private double m_MinVol = 0;
    private double m_AvgVol = 0;
    /**
     * 单体温度最值
     */
    private double m_MaxTmp = 0;
    private double m_MinTmp = 0;
    private double m_AvgTmp = 0;
    /**
     * 单体内阻最值
     */
    private double m_MaxRes = 0;
    private double m_MinRes = 0;
    private double m_AvgRes = 0;
    /**
     * 单体均衡最值
     */
    private double m_MaxJHCurr = 0;
    private double m_MinJHCurr = 0;
    private double m_AvgJHCurr = 0;
    private JLabel jl_avgjhcurr;
    private JLabel jl_avgtmp;
    private JLabel jl_avgres;
    private JLabel jl_avgvol;
    /**
     * 
     */
@@ -197,9 +242,126 @@
        table_zdhj_data.addMouseListener(m_a);
        scrollPane_2.setViewportView(table_zdhj_data);
        
        DefaultTableCellRenderer tcr = new DefaultTableCellRenderer()
        {
            private static final long serialVersionUID = 1L;
            @Override
            public Component getTableCellRendererComponent(JTable table, Object value,
                    boolean isSelected, boolean hasFocus, int row, int column) {
                Component renderer = super.getTableCellRendererComponent(table, value, isSelected,
                                                                            hasFocus, row, column);
                float val = 0;
                if(0 == column)
                    val = Float.parseFloat((String)table.getValueAt(row, 1));
                else if((column>=1) && (column<=6))
                    val = Float.parseFloat((String) value);
                Color color = Color.transparent;
                if(1 == column)
                {
                    if(val >= (m_MaxVol-0.0001))
                        color = Color.fromArgb(0, 150, 0);
                    if(val <= (m_MinVol+0.0001))
                        color = Color.fromArgb(129, 137, 245);
//                    color = Color.red;
                }
                else if(3 == column)
                {
                    if(val >= (m_MaxTmp-0.0001))
                        color = Color.fromArgb(129, 137, 245);
                    if(val <= (m_MinTmp+0.0001))
                        color = Color.fromArgb(0, 150, 0);
                }
                else if(2 == column)
                {
                    if(val >= (m_MaxRes-0.0001))
                        color = Color.fromArgb(129, 137, 245);
                    if(val <= (m_MinRes+0.0001))
                        color = Color.fromArgb(0, 150, 0);
                }
                else if(4 == column)
                {
                    if(val >= (m_MaxJHCurr-0.0001))
                        color = Color.fromArgb(0, 150, 0);
                    if(val <= (m_MinJHCurr+0.0001))
                        color = Color.fromArgb(129, 137, 245);
                }
                renderer.setBackground(color);
                return renderer;
            }
        };
        tcr.setHorizontalAlignment(SwingConstants.CENTER);
        table_zdhj_data.setDefaultRenderer(Object.class, tcr);
        JTableHeader tableHeader = table_zdhj_data.getTableHeader();
        tableHeader.setDefaultRenderer(new DefaultTableCellRenderer() {
            private static final long serialVersionUID = 1L;
            @Override
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                setHorizontalAlignment(SwingConstants.CENTER);
                Component renderer = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
                return renderer;
            }
        });
        JPanel panel_10 = new JPanel();
        panel_10.setLayout(new BorderLayout(10, 10));
        
        tabbedPane.addTab("条形图", new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png")), barchars_panel, null);
        tabbedPane.addTab("表格", new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png")), scrollPane_2, null);
        tabbedPane.addTab("表格", new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png")), panel_10, null);
        panel_10.add(scrollPane_2,BorderLayout.CENTER);
        JPanel panel_11 = new JPanel();
        panel_11.setLayout(new GridLayout(1, 4, 10, 10));
        panel_10.add(panel_11,BorderLayout.NORTH);
        JPanel panel_12 = new JPanel();
        panel_12.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10));
        panel_11.add(panel_12);
        JLabel jl_avgvol_na = new JLabel("平均单体电压(V):");
        panel_12.add(jl_avgvol_na);
        jl_avgvol = new JLabel("0");
        panel_12.add(jl_avgvol);
        JPanel panel_13 = new JPanel();
        panel_13.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10));
        panel_11.add(panel_13);
        JLabel jl_avgres_na = new JLabel("平均单体内阻(mΩ):");
        panel_13.add(jl_avgres_na);
        jl_avgres = new JLabel("0");
        panel_13.add(jl_avgres);
        JPanel panel_14 = new JPanel();
        panel_14.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10));
        panel_11.add(panel_14);
        JLabel jl_avgtmp_na = new JLabel("平均单体温度(℃):");
        panel_14.add(jl_avgtmp_na);
        jl_avgtmp = new JLabel("0");
        panel_14.add(jl_avgtmp);
        JPanel panel_15 = new JPanel();
        panel_15.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10));
        panel_11.add(panel_15);
        JLabel jl_avgjhcurr_na = new JLabel("平均单体均衡(mA):");
        panel_15.add(jl_avgjhcurr_na);
        jl_avgjhcurr = new JLabel("0");
        panel_15.add(jl_avgjhcurr);
    }
    
    public void setSerialComm_ZDHJ(SPCommZDHJ sz) {
@@ -232,6 +394,16 @@
                dataRow.get(n).setElementAt(String.format("%1.0f", SerialComm_ZDHJ.monJHCurr[n]), 4);
            }
        }
        getMaxMinValue("mon_vol", SerialComm_ZDHJ.monVol, mon_cnt);
        getMaxMinValue("mon_tmp", SerialComm_ZDHJ.monTmp, mon_cnt);
        getMaxMinValue("mon_res", SerialComm_ZDHJ.monRes, mon_cnt);
        getMaxMinValue("mon_jhcurr", SerialComm_ZDHJ.monJHCurr, mon_cnt);
        jl_avgjhcurr.setText(String.format("%1.0f", m_AvgJHCurr));
        jl_avgtmp.setText(String.format("%1.1f", m_AvgTmp));
        jl_avgres.setText(String.format("%1.3f", m_AvgRes));
        jl_avgvol.setText(String.format("%1.3f", m_AvgVol));
        table_zdhj_data.updateUI();
        
        //int mon_cnt = SerialComm_ZDHJ.ZDHJ_BattCount;
@@ -240,4 +412,80 @@
        m_TBarMonTmpChart.updateChartData(TBarChart_fbs.Bar_Type_MonTmp, SerialComm_ZDHJ.monTmp, mon_cnt);
        m_TBarMonCurrChart.updateChartData(TBarChart_fbs.Bar_Type_MonSer, SerialComm_ZDHJ.monJHCurr, mon_cnt);
    }
    public void getMaxMinValue(String type, double[] data, int count)
    {
        if(type.equals("mon_vol"))
        {
            m_MaxVol = -90000;
            m_MinVol = 90000;
            double count_vol = 0;
            for(int n=0; n<count; n++)
            {
                if(m_MaxVol < data[n])
                    m_MaxVol = data[n];
                if(m_MinVol > data[n])
                    m_MinVol = data[n];
                count_vol += data[n];
            }
            m_AvgVol = Float.parseFloat(String.format("%1.3f", count_vol/count));
            m_MaxVol = Float.parseFloat(String.format("%1.3f", m_MaxVol));
            m_MinVol = Float.parseFloat(String.format("%1.3f", m_MinVol));
        }
        else if(type.equals("mon_tmp"))
        {
            m_MaxTmp = -90000;
            m_MinTmp = 90000;
            double count_tmp = 0;
            for(int n=0; n<count; n++)
            {
                if(m_MaxTmp < data[n])
                    m_MaxTmp = data[n];
                if(m_MinTmp > data[n])
                    m_MinTmp = data[n];
                count_tmp += data[n];
            }
            m_AvgTmp = Float.parseFloat(String.format("%1.1f", count_tmp/count));
            m_MaxTmp = Float.parseFloat(String.format("%1.1f", m_MaxTmp));
            m_MinTmp = Float.parseFloat(String.format("%1.1f", m_MinTmp));
        }
        else if(type.equals("mon_res"))
        {
            m_MaxRes = -90000;
            m_MinRes = 90000;
            double count_res = 0;
            for(int n=0; n<count; n++)
            {
                if(m_MaxRes < data[n])
                    m_MaxRes = data[n];
                if(m_MinRes > data[n])
                    m_MinRes = data[n];
                count_res += data[n];
            }
            m_AvgRes = Float.parseFloat(String.format("%1.3f", count_res/count));
            m_MaxRes = Float.parseFloat(String.format("%1.3f", m_MaxRes));
            m_MinRes = Float.parseFloat(String.format("%1.3f", m_MinRes));
        }
        else if(type.equals("mon_jhcurr"))
        {
            m_MaxJHCurr = -90000;
            m_MinJHCurr = 90000;
            double count_jhcurr = 0;
            for(int n=0; n<count; n++)
            {
                if(m_MaxJHCurr < data[n])
                    m_MaxJHCurr = data[n];
                if(m_MinJHCurr > data[n])
                    m_MinJHCurr = data[n];
                count_jhcurr += data[n];
            }
            m_AvgJHCurr = Float.parseFloat(String.format("%1.0f", count_jhcurr/count));
            m_MaxJHCurr = Float.parseFloat(String.format("%1.0f", m_MaxJHCurr));
            m_MinJHCurr = Float.parseFloat(String.format("%1.0f", m_MinJHCurr));
        }
    }
}
Device_Simulator_DTS_Tester/src/com/dev/fbs9600_zdhj/zdhj_page_param.java
@@ -5,14 +5,18 @@
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Date;
import javax.swing.BoxLayout;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.TitledBorder;
@@ -114,6 +118,7 @@
        panel_49.setLayout(new GridLayout(0, 8, 2, 0));
        
        panel = new JPanel();
        //模块地址
        panel.setBorder(new TitledBorder(null, "\u6A21\u5757\u5730\u5740", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_49.add(panel);
        panel.setLayout(new BorderLayout(0, 0));
@@ -123,6 +128,112 @@
        tf_zdhj_devaddr.setFont(new Font("Dialog", Font.PLAIN, 18));
        tf_zdhj_devaddr.setDocument(new LimitedDocument(3, "0123456789"));
        tf_zdhj_devaddr.setColumns(10);
        tf_zdhj_devaddr.setEditable(false);
        JPopupMenu modelMenu = new JPopupMenu();
        JMenuItem tableItem_mo1 = null;
            tableItem_mo1 = new JMenuItem("模块1 -> #01");
            tableItem_mo1.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_zdhj_devaddr.setText("1");
                modelMenu.setVisible(false);
            }
        });
            modelMenu.add(tableItem_mo1);
        JMenuItem tableItem_mo2 = null;
        tableItem_mo2 = new JMenuItem("模块2 -> #02");
        tableItem_mo2.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_zdhj_devaddr.setText("2");
                modelMenu.setVisible(false);
            }
        });
        modelMenu.add(tableItem_mo2);
        JMenuItem tableItem_mo3 = null;
        tableItem_mo3 = new JMenuItem("模块3 -> #03");
        tableItem_mo3.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_zdhj_devaddr.setText("3");
                modelMenu.setVisible(false);
            }
        });
        modelMenu.add(tableItem_mo3);
        JMenuItem tableItem_mo4 = null;
        tableItem_mo4 = new JMenuItem("模块4 -> #04");
        tableItem_mo4.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_zdhj_devaddr.setText("4");
                modelMenu.setVisible(false);
            }
        });
        modelMenu.add(tableItem_mo4);
        JMenuItem tableItem_mo5 = null;
        tableItem_mo5 = new JMenuItem("模块5 -> #05");
        tableItem_mo5.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_zdhj_devaddr.setText("5");
                modelMenu.setVisible(false);
            }
        });
        modelMenu.add(tableItem_mo5);
        JMenuItem tableItem_mo6 = null;
        tableItem_mo6 = new JMenuItem("模块6 -> #06");
        tableItem_mo6.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_zdhj_devaddr.setText("6");
                modelMenu.setVisible(false);
            }
        });
        modelMenu.add(tableItem_mo6);
        tf_zdhj_devaddr.addMouseListener(new MouseListener() {
            @Override
            public void mouseReleased(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseExited(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseClicked(MouseEvent e) {
                 // 获得焦点时显示菜单
                modelMenu.show(tf_zdhj_devaddr, 0, tf_zdhj_devaddr.getHeight());
                //设置在菜单弹出后文本框继续获取焦点
                //tf_zdhj_devid.requestFocusInWindow();
            }
        });
        
        panel_1 = new JPanel();
        panel_1.setBorder(new TitledBorder(null, "\u7535\u6D41\u91CF\u7A0B(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
@@ -145,10 +256,11 @@
        tf_zdhj_autores_interval.setFont(new Font("Dialog", Font.PLAIN, 18));
        tf_zdhj_autores_interval.setDocument(new LimitedDocument(4, "0123456789"));
        tf_zdhj_autores_interval.setColumns(10);
        tf_zdhj_autores_interval.setEditable(false);
        
        panel_3 = new JPanel();
        panel_3.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u5185\u963B\u65B9\u6CD5", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
        panel_49.add(panel_3);
        //panel_49.add(panel_3);
        panel_3.setLayout(new BorderLayout(0, 0));
        
        cb_zdhj_res_testtype = new JComboBox<String>();
@@ -158,8 +270,9 @@
        cb_zdhj_res_testtype.setSelectedIndex(0);
        
        panel_4 = new JPanel();
        //内阻阈值
        panel_4.setBorder(new TitledBorder(null, "\u5185\u963B\u9608\u503C(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_49.add(panel_4);
        //panel_49.add(panel_4);
        panel_4.setLayout(new BorderLayout(0, 0));
        
        tf_zdhj_wenbo_curr_lev = new JTextField();
@@ -173,8 +286,9 @@
        }
        
        panel_5 = new JPanel();
        //内阻模式
        panel_5.setBorder(new TitledBorder(null, "\u5185\u963B\u6A21\u5F0F", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_49.add(panel_5);
        //panel_49.add(panel_5);
        panel_5.setLayout(new BorderLayout(0, 0));
        
        cb_zdhj_res_dis_mode = new JComboBox<String>();
@@ -188,7 +302,9 @@
        }
        
        panel_6 = new JPanel();
        panel_6.setBorder(new TitledBorder(null, "\u6A21\u5F0FA\u7CFB\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        //模式A系数  -> 测试系数
//        panel_6.setBorder(new TitledBorder(null, "\u6A21\u5F0FA\u7CFB\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_6.setBorder(new TitledBorder(null, "\u6d4b\u8bd5\u7cfb\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_49.add(panel_6);
        panel_6.setLayout(new BorderLayout(0, 0));
        
@@ -199,8 +315,9 @@
        tf_zdhj_res_dis_slope.setColumns(10);
        
        panel_7 = new JPanel();
        //模式B系数
        panel_7.setBorder(new TitledBorder(null, "\u6A21\u5F0FB\u7CFB\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_49.add(panel_7);
        //panel_49.add(panel_7);
        panel_7.setLayout(new BorderLayout(0, 0));
        
        tf_zdhj_res_wenbo_slope = new JTextField();
@@ -218,7 +335,7 @@
        panel_51.setLayout(new GridLayout(0, 9, 2, 0));
        
        panel_8 = new JPanel();
        panel_8.setBorder(new TitledBorder(null, "#1\u5355\u4F53\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_8.setBorder(new TitledBorder(null, "CH01\u5355\u4F53\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_51.add(panel_8);
        panel_8.setLayout(new BorderLayout(0, 0));
        
@@ -230,7 +347,7 @@
        
        panel_9 = new JPanel();
        panel_9.setBorder(new TitledBorder(null, "#2\u5355\u4F53\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_51.add(panel_9);
        //panel_51.add(panel_9);
        panel_9.setLayout(new BorderLayout(0, 0));
        
        tf_zdhj_ch2_cnt = new JTextField();
@@ -240,7 +357,7 @@
        tf_zdhj_ch2_cnt.setColumns(10);
        
        panel_10 = new JPanel();
        panel_10.setBorder(new TitledBorder(null, "#3\u5355\u4F53\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_10.setBorder(new TitledBorder(null, "CH03\u5355\u4F53\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_51.add(panel_10);
        panel_10.setLayout(new BorderLayout(0, 0));
        
@@ -252,7 +369,7 @@
        
        panel_11 = new JPanel();
        panel_11.setBorder(new TitledBorder(null, "#4\u5355\u4F53\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_51.add(panel_11);
        //panel_51.add(panel_11);
        panel_11.setLayout(new BorderLayout(0, 0));
        
        tf_zdhj_ch4_cnt = new JTextField();
@@ -263,7 +380,7 @@
        
        panel_12 = new JPanel();
        panel_12.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "#5\u5355\u4F53\u6570", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
        panel_51.add(panel_12);
        //panel_51.add(panel_12);
        panel_12.setLayout(new BorderLayout(0, 0));
        
        tf_zdhj_ch5_cnt = new JTextField();
@@ -299,6 +416,7 @@
        }
        
        panel_15 = new JPanel();
        //编号模式
        panel_15.setBorder(new TitledBorder(null, "\u7F16\u53F7\u6A21\u5F0F", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_51.add(panel_15);
        panel_15.setLayout(new BorderLayout(0, 0));
@@ -310,15 +428,79 @@
        cb_monnum_setmode.setSelectedIndex(0);
        
        panel_16 = new JPanel();
        panel_16.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u5747\u8861\u7535\u538B(mV)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
        panel_16.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u5747\u8861\u7535\u538B(V)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
        panel_51.add(panel_16);
        panel_16.setLayout(new BorderLayout(0, 0));
        
        tf_zdhj_devid = new JTextField();
        tf_zdhj_devid.setFont(new Font("Dialog", Font.PLAIN, 18));
        panel_16.add(tf_zdhj_devid, BorderLayout.CENTER);
        tf_zdhj_devid.setDocument(new LimitedDocument(5, "0123456789"));
        tf_zdhj_devid.setDocument(new LimitedDocument(6, ".0123456789"));
        tf_zdhj_devid.setColumns(10);
        tf_zdhj_devid.setEditable(false);
        JPopupMenu popupMenu = new JPopupMenu();
        JMenuItem tableItem_lan1 = null;
            String it_str = "2V单体 -> 2.2";
            tableItem_lan1 = new JMenuItem(it_str);
            tableItem_lan1.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_zdhj_devid.setText("2.2");
                popupMenu.setVisible(false);
            }
        });
        popupMenu.add(tableItem_lan1);
        JMenuItem tableItem_lan2 = null;
        it_str = "12V单体 -> 13.2";
        tableItem_lan2 = new JMenuItem(it_str);
        tableItem_lan2.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_zdhj_devid.setText("13.2");
                popupMenu.setVisible(false);
            }
        });
        popupMenu.add(tableItem_lan2);
        tf_zdhj_devid.addMouseListener(new MouseListener() {
            @Override
            public void mouseReleased(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseExited(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseClicked(MouseEvent e) {
                 // 获得焦点时显示菜单
                popupMenu.show(tf_zdhj_devid, 0, tf_zdhj_devid.getHeight());
                //设置在菜单弹出后文本框继续获取焦点
                //tf_zdhj_devid.requestFocusInWindow();
            }
        });
        
        JPanel panel_54 = new JPanel();
        zdhj_title = "参数设置";
@@ -328,7 +510,7 @@
        
        JPanel panel_80 = new JPanel();
        panel_80.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u7EBF\u7F06\u8865\u507F(D1,D2,D3,D4 / S1,S2,S3,S4)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
        panel_48.add(panel_80);
        //panel_48.add(panel_80);
        panel_80.setLayout(new GridLayout(0, 8, 2, 0));
        
        tf_respm_d1 = new JTextField();
@@ -427,10 +609,10 @@
                    zdhj_param_data[0] = (short) Integer.parseInt(tf_zdhj_devaddr.getText());                //模块地址    
                    
                    short ch1_cnt = (short) Integer.parseInt(tf_zdhj_ch1_cnt.getText());                    //CH1单体数
                    short ch2_cnt = (short) Integer.parseInt(tf_zdhj_ch2_cnt.getText());                    //CH2单体数
                    short ch2_cnt = 0;//(short) Integer.parseInt(tf_zdhj_ch2_cnt.getText());                    //CH2单体数
                    short ch3_cnt = (short) Integer.parseInt(tf_zdhj_ch3_cnt.getText());                    //CH3单体数
                    short ch4_cnt = (short) Integer.parseInt(tf_zdhj_ch4_cnt.getText());                    //CH4单体数
                    short ch5_cnt = (short) Integer.parseInt(tf_zdhj_ch5_cnt.getText());                    //CH5单体数
                    short ch4_cnt = 0;//(short) Integer.parseInt(tf_zdhj_ch4_cnt.getText());                    //CH4单体数
                    short ch5_cnt = 0;//(short) Integer.parseInt(tf_zdhj_ch5_cnt.getText());                    //CH5单体数
                    if((ch1_cnt + ch2_cnt + ch3_cnt + ch4_cnt/* + ch5_cnt*/) > SPCommZDHJ.ZDHJ_MON_COUNT_MAX) {
                        String tmp_str = "所有通道单体总数不能超过";
@@ -447,27 +629,27 @@
                    zdhj_param_data[4] = ch4_cnt;
                    zdhj_param_data[5] = ch5_cnt;
                    
                    zdhj_param_data[6] = (short) Integer.parseInt(tf_zdhj_curr_range.getText());
                    zdhj_param_data[7] = (short) (Double.parseDouble(tf_zdhj_batt_floatcurr_lev.getText())*10);
                    zdhj_param_data[8] = (short) (Double.parseDouble(tf_zdhj_wenbo_curr_lev.getText())*100);
                    zdhj_param_data[9] = (short) Integer.parseInt(tf_zdhj_autores_interval.getText());
                    zdhj_param_data[10] = (short) cb_zdhj_res_testtype.getSelectedIndex();
                    zdhj_param_data[6] = (short) Integer.parseInt(tf_zdhj_curr_range.getText());                        //电流量程
                    zdhj_param_data[7] = (short) (Double.parseDouble(tf_zdhj_batt_floatcurr_lev.getText())*10);            //浮充电流阈值
                    zdhj_param_data[8] = (short) (Double.parseDouble(tf_zdhj_wenbo_curr_lev.getText())*100);            //内阻阈值
                    zdhj_param_data[9] = 720;//(short) Integer.parseInt(tf_zdhj_autores_interval.getText());            //内阻测试周期
                    zdhj_param_data[10] = 0;//(short) cb_zdhj_res_testtype.getSelectedIndex();                            //内阻方法
                    
                    zdhj_param_data[11] = (short) cb_zdhj_res_dis_mode.getSelectedIndex();
                    zdhj_param_data[12] = (short) Integer.parseInt(tf_zdhj_mon_stdcap.getText());
                    zdhj_param_data[13] = (short) (Double.parseDouble(tf_zdhj_res_dis_slope.getText())*10000);
                    zdhj_param_data[14] = (short) (Double.parseDouble(tf_zdhj_res_wenbo_slope.getText())*10000);
                    zdhj_param_data[15] = (short) cb_monnum_setmode.getSelectedIndex();
                    zdhj_param_data[16] = (short) Integer.parseInt(tf_zdhj_devid.getText());
                    zdhj_param_data[11] = 0;//(short) cb_zdhj_res_dis_mode.getSelectedIndex();                            //0-单节测试       1-同时测试
                    zdhj_param_data[12] = (short) Integer.parseInt(tf_zdhj_mon_stdcap.getText());                        //标称容量
                    zdhj_param_data[13] = 10000;//(short) (Double.parseDouble(tf_zdhj_res_dis_slope.getText())*10000);    //模式A系数
                    zdhj_param_data[14] = 10000;//(short) (Double.parseDouble(tf_zdhj_res_wenbo_slope.getText())*10000);//模式B系数
                    zdhj_param_data[15] = (short) cb_monnum_setmode.getSelectedIndex();                                    //编号模式
                    zdhj_param_data[16] = (short)(Float.parseFloat(tf_zdhj_devid.getText())*1000);                        //均衡电压
                    
                    zdhj_param_data[17] = (short) (Double.parseDouble(tf_respm_d1.getText())*10000);
                    zdhj_param_data[18] = (short) (Double.parseDouble(tf_respm_d2.getText())*10000);
                    zdhj_param_data[19] = (short) (Double.parseDouble(tf_respm_d3.getText())*10000);
                    zdhj_param_data[20] = (short) (Double.parseDouble(tf_respm_d4.getText())*10000);
                    zdhj_param_data[21] = (short) (Double.parseDouble(tf_respm_s1.getText())*10000);
                    zdhj_param_data[22] = (short) (Double.parseDouble(tf_respm_s2.getText())*10000);
                    zdhj_param_data[23] = (short) (Double.parseDouble(tf_respm_s3.getText())*10000);
                    zdhj_param_data[24] = (short) (Double.parseDouble(tf_respm_s4.getText())*10000);
                    zdhj_param_data[17] = 0;//(short) (Double.parseDouble(tf_respm_d1.getText())*10000);
                    zdhj_param_data[18] = 0;//(short) (Double.parseDouble(tf_respm_d2.getText())*10000);
                    zdhj_param_data[19] = 0;//(short) (Double.parseDouble(tf_respm_d3.getText())*10000);
                    zdhj_param_data[20] = 0;//(short) (Double.parseDouble(tf_respm_d4.getText())*10000);
                    zdhj_param_data[21] = 0;//(short) (Double.parseDouble(tf_respm_s1.getText())*10000);
                    zdhj_param_data[22] = 0;//(short) (Double.parseDouble(tf_respm_s2.getText())*10000);
                    zdhj_param_data[23] = 0;//(short) (Double.parseDouble(tf_respm_s3.getText())*10000);
                    zdhj_param_data[24] = 0;//(short) (Double.parseDouble(tf_respm_s4.getText())*10000);
                    //--------------------------------------------------------------------------------//
                    String tmp_str = "确定要设置 '配置参数' 吗?";
                    if(LANG_TYPE_EN == LANG_TYPE) {
@@ -950,7 +1132,8 @@
                
                tf_zdhj_devaddr.setText(String.format("%d", SerialComm_ZDHJ.dev_param_addr));
                tf_zdhj_curr_range.setText(String.format("%d", SerialComm_ZDHJ.dev_param_curr_range));
                tf_zdhj_autores_interval.setText(String.format("%d", SerialComm_ZDHJ.dev_param_auto_restest_interval));
                //tf_zdhj_autores_interval.setText(String.format("%d", SerialComm_ZDHJ.dev_param_auto_restest_interval));
                tf_zdhj_autores_interval.setText(String.format("%d", 720));
                tf_zdhj_wenbo_curr_lev.setText(String.format("%1.2f", SerialComm_ZDHJ.dev_param_wenbo_curr_lev));
                cb_zdhj_res_testtype.setSelectedIndex(SerialComm_ZDHJ.dev_param_res_test_type);
                cb_zdhj_res_dis_mode.setSelectedIndex(SerialComm_ZDHJ.dev_param_ResDisTestMethod);
@@ -965,7 +1148,8 @@
                tf_zdhj_mon_stdcap.setText(String.format("%d", SerialComm_ZDHJ.dev_param_Batt_StdCap));
                tf_zdhj_batt_floatcurr_lev.setText(String.format("%1.1f", SerialComm_ZDHJ.dev_param_FloatCurrLev));
                cb_monnum_setmode.setSelectedIndex(SerialComm_ZDHJ.dev_param_monnum_setmode);
                tf_zdhj_devid.setText(String.format("%d", SerialComm_ZDHJ.dev_param_devid));
                //System.out.println("SerialComm_ZDHJ.dev_param_devid:"+SerialComm_ZDHJ.dev_param_devid);
                tf_zdhj_devid.setText(String.format("%1.3f", SerialComm_ZDHJ.dev_param_devid));
                
                tf_respm_d1.setText(String.format("%1.4f", SerialComm_ZDHJ.dev_param_resparam_d[0]));
                tf_respm_d2.setText(String.format("%1.4f", SerialComm_ZDHJ.dev_param_resparam_d[1]));
Device_Simulator_DTS_Tester/src/com/dev/simpower/power_page_mudata.java
@@ -491,192 +491,696 @@
        
        JPanel panel_200 = new JPanel();
        dc_panel.add(panel_200,BorderLayout.EAST);
        panel_200.setLayout(new BorderLayout(5,5));
        panel_200.setLayout(new BorderLayout(5,0));
        
        JPanel panel_201 = new JPanel();
        panel_201.setBorder(new TitledBorder(null, "遥调量", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_200.add(panel_201,BorderLayout.NORTH);
        panel_201.setLayout(new GridLayout(5,4,5,5));
        panel_201.setLayout(new GridLayout(10,2,2,0));
        
        JPanel panel_203 = new JPanel();
        panel_203.setBorder(new TitledBorder(null, "直流过压告警阈值(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_203,BorderLayout.CENTER);
        panel_203.setLayout(new BorderLayout());
        panel_203.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_dc_overvol_coe = new JTextField();
        panel_203.add(tf_dc_overvol_coe,BorderLayout.CENTER);
        tf_dc_overvol_coe.setColumns(10);
        
        JButton btn_dc_overvol_read = new JButton("读取");
        btn_dc_overvol_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_overvol_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_203.add(btn_dc_overvol_read);                    //读取
        JButton btn_dc_overvol_set = new JButton("设置");
        btn_dc_overvol_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_overvol_coe = Float.parseFloat(tf_dc_overvol_coe.getText());
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start), power_util.createParamByteBuffer(dc_overvol_coe*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_overvol_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_203.add(btn_dc_overvol_set);                    //读取
        JPanel panel_204 = new JPanel();
        panel_204.setBorder(new TitledBorder(null, "直流欠压告警阈值(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_204,BorderLayout.CENTER);
        panel_204.setLayout(new BorderLayout());
        panel_204.setLayout(new FlowLayout(FlowLayout.LEADING,5,0));
        
        tf_dc_lessvol_coe = new JTextField();
        panel_204.add(tf_dc_lessvol_coe,BorderLayout.CENTER);
        tf_dc_lessvol_coe.setColumns(10);
        
        JButton btn_dc_lessvol_read = new JButton("读取");
        btn_dc_lessvol_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_lessvol_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_204.add(btn_dc_lessvol_read);                    //读取
        JButton btn_dc_lessvol_set = new JButton("设置");
        btn_dc_lessvol_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_lessvol_coe = Float.parseFloat(tf_dc_lessvol_coe.getText());                        //直流欠压告警点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+1), power_util.createParamByteBuffer(dc_lessvol_coe*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_lessvol_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_204.add(btn_dc_lessvol_set);                    //设置
        JPanel panel_205 = new JPanel();
        panel_205.setBorder(new TitledBorder(null, "电池高温告警阈值(℃)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_205,BorderLayout.CENTER);
        panel_205.setLayout(new BorderLayout());
        panel_205.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_dc_batt_hightemp_coe = new JTextField();
        panel_205.add(tf_dc_batt_hightemp_coe,BorderLayout.CENTER);
        tf_dc_batt_hightemp_coe.setColumns(10);
        
        JButton btn_dc_batt_hightemp_read = new JButton("读取");
        btn_dc_batt_hightemp_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_batt_hightemp_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_205.add(btn_dc_batt_hightemp_read);                    //读取
        JButton btn_dc_batt_hightemp_set = new JButton("设置");
        btn_dc_batt_hightemp_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_batt_hightemp_coe = Float.parseFloat(tf_dc_batt_hightemp_coe.getText());            //电池高温告警点                        //直流欠压告警点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+2), power_util.createParamByteBuffer(dc_batt_hightemp_coe));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_batt_hightemp_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_205.add(btn_dc_batt_hightemp_set);                    //设置
        JPanel panel_206 = new JPanel();
        panel_206.setBorder(new TitledBorder(null, "电池低温告警阈值(℃)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_206,BorderLayout.CENTER);
        panel_206.setLayout(new BorderLayout());
        panel_206.setLayout(new FlowLayout(FlowLayout.LEFT,5,0));
        
        tf_dc_batt_lowtemp_coe = new JTextField();
        panel_206.add(tf_dc_batt_lowtemp_coe,BorderLayout.CENTER);
        tf_dc_batt_lowtemp_coe.setColumns(10);
        
        JButton btn_dc_batt_lowtemp_read = new JButton("读取");
        btn_dc_batt_lowtemp_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_batt_lowtemp_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_206.add(btn_dc_batt_lowtemp_read);                    //读取
        JButton btn_dc_batt_lowtemp_set = new JButton("设置");
        btn_dc_batt_lowtemp_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_batt_lowtemp_coe = Float.parseFloat(tf_dc_batt_lowtemp_coe.getText());                //电池低温告警点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+3), power_util.createParamByteBuffer(dc_batt_lowtemp_coe));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_batt_lowtemp_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_206.add(btn_dc_batt_lowtemp_set);                    //设置
        JPanel panel_207 = new JPanel();
        panel_207.setBorder(new TitledBorder(null, "环境高温告警阈值(℃)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_207,BorderLayout.CENTER);
        panel_207.setLayout(new BorderLayout());
        panel_207.setLayout(new FlowLayout(FlowLayout.LEFT,5,0));
        
        tf_dc_envir_hightemp_coe = new JTextField();
        panel_207.add(tf_dc_envir_hightemp_coe,BorderLayout.CENTER);
        tf_dc_envir_hightemp_coe.setColumns(10);
        
        JButton btn_dc_envir_hightemp_read = new JButton("读取");
        btn_dc_envir_hightemp_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_envir_hightemp_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_207.add(btn_dc_envir_hightemp_read);                    //读取
        JButton btn_dc_envir_hightemp_set = new JButton("设置");
        btn_dc_envir_hightemp_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_envir_hightemp_coe = Float.parseFloat(tf_dc_envir_hightemp_coe.getText());            //环境高温告警点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+4), power_util.createParamByteBuffer(dc_envir_hightemp_coe));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_envir_hightemp_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_207.add(btn_dc_envir_hightemp_set);                    //设置
        JPanel panel_208 = new JPanel();
        panel_208.setBorder(new TitledBorder(null, "环境低温告警阈值(℃)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_208,BorderLayout.CENTER);
        panel_208.setLayout(new BorderLayout());
        panel_208.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_dc_envir_lowtemp_coe = new JTextField();
        panel_208.add(tf_dc_envir_lowtemp_coe,BorderLayout.CENTER);
        tf_dc_envir_lowtemp_coe.setColumns(10);
        
        JButton btn_dc_envir_lowtemp_read = new JButton("读取");
        btn_dc_envir_lowtemp_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_envir_lowtemp_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_208.add(btn_dc_envir_lowtemp_read);                    //读取
        JButton btn_dc_envir_lowtemp_set = new JButton("设置");
        btn_dc_envir_lowtemp_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_envir_lowtemp_coe = Float.parseFloat(tf_dc_envir_lowtemp_coe.getText());            //环境低温告警点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+5), power_util.createParamByteBuffer(dc_envir_lowtemp_coe));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_envir_lowtemp_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_208.add(btn_dc_envir_lowtemp_set);                    //设置
        JPanel panel_209 = new JPanel();
        panel_209.setBorder(new TitledBorder(null, "环境高湿告警阈值(%)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_209,BorderLayout.CENTER);
        panel_209.setLayout(new BorderLayout());
        panel_209.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_dc_envir_highhumid_coe = new JTextField();
        panel_209.add(tf_dc_envir_highhumid_coe,BorderLayout.CENTER);
        tf_dc_envir_highhumid_coe.setColumns(10);
        
        JButton btn_dc_envir_highhumid_read = new JButton("读取");
        btn_dc_envir_highhumid_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_envir_highhumid_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_209.add(btn_dc_envir_highhumid_read);                    //读取
        JButton btn_dc_envir_highhumid_set = new JButton("设置");
        btn_dc_envir_highhumid_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_envir_highhumid_coe = Float.parseFloat(tf_dc_envir_highhumid_coe.getText());        //环境高湿告警点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+6), power_util.createParamByteBuffer(dc_envir_highhumid_coe));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_envir_highhumid_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_209.add(btn_dc_envir_highhumid_set);                    //设置
        JPanel panel_210 = new JPanel();
        panel_210.setBorder(new TitledBorder(null, "环境低湿告警阈值(%)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_210,BorderLayout.CENTER);
        panel_210.setLayout(new BorderLayout());
        panel_210.setLayout(new FlowLayout(FlowLayout.LEFT,5,0));
        
        tf_dc_envir_lowhumid_coe = new JTextField();
        panel_210.add(tf_dc_envir_lowhumid_coe,BorderLayout.CENTER);
        tf_dc_envir_lowhumid_coe.setColumns(10);
        
        JButton btn_dc_envir_lowhumid_read = new JButton("读取");
        btn_dc_envir_lowhumid_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_envir_lowhumid_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_210.add(btn_dc_envir_lowhumid_read);                    //读取
        JButton btn_dc_envir_lowhumid_set = new JButton("设置");
        btn_dc_envir_lowhumid_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_envir_lowhumid_coe = Float.parseFloat(tf_dc_envir_lowhumid_coe.getText());            //环境低湿告警点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+7), power_util.createParamByteBuffer(dc_envir_lowhumid_coe));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_envir_lowhumid_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_210.add(btn_dc_envir_lowhumid_set);                    //设置
        JPanel panel_211 = new JPanel();
        panel_211.setBorder(new TitledBorder(null, "浮充电压(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_211,BorderLayout.CENTER);
        panel_211.setLayout(new BorderLayout());
        panel_211.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_dc_float_vol = new JTextField();
        panel_211.add(tf_dc_float_vol,BorderLayout.CENTER);
        tf_dc_float_vol.setColumns(10);
        
        JButton btn_dc_float_vol_read = new JButton("读取");
        btn_dc_float_vol_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_float_vol_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_211.add(btn_dc_float_vol_read);                    //读取
        JButton btn_dc_float_vol_set = new JButton("设置");
        btn_dc_float_vol_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_float_vol = Float.parseFloat(tf_dc_float_vol.getText());                            //浮充电压
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+8), power_util.createParamByteBuffer(dc_float_vol*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_float_vol_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_211.add(btn_dc_float_vol_set);                    //设置
        JPanel panel_212 = new JPanel();
        panel_212.setBorder(new TitledBorder(null, "均充电压(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_212,BorderLayout.CENTER);
        panel_212.setLayout(new BorderLayout());
        panel_212.setLayout(new FlowLayout(FlowLayout.LEFT,5,0));
        
        tf_dc_jun_vol = new JTextField();
        panel_212.add(tf_dc_jun_vol,BorderLayout.CENTER);
        tf_dc_jun_vol.setColumns(10);
        
        JButton btn_dc_jun_vol_read = new JButton("读取");
        btn_dc_jun_vol_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_jun_vol_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_212.add(btn_dc_jun_vol_read);                    //读取
        JButton btn_dc_jun_vol_set = new JButton("设置");
        btn_dc_jun_vol_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_jun_vol = Float.parseFloat(tf_dc_jun_vol.getText());                                //均充电压
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+9), power_util.createParamByteBuffer(dc_jun_vol*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_jun_vol_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_212.add(btn_dc_jun_vol_set);                    //设置
        JPanel panel_213 = new JPanel();
        panel_213.setBorder(new TitledBorder(null, "电池温度补偿系数(mV/℃)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_213,BorderLayout.CENTER);
        panel_213.setLayout(new BorderLayout());
        panel_213.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_dc_batt_temp_coe = new JTextField();
        panel_213.add(tf_dc_batt_temp_coe,BorderLayout.CENTER);
        tf_dc_batt_temp_coe.setColumns(10);
        
        JButton btn_dc_batt_temp_read = new JButton("读取");
        btn_dc_batt_temp_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_batt_temp_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_213.add(btn_dc_batt_temp_read);                    //读取
        JButton btn_dc_batt_temp_set = new JButton("设置");
        btn_dc_batt_temp_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_batt_temp_coe = Float.parseFloat(tf_dc_batt_temp_coe.getText());                    //电池温度补偿系数
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+10), power_util.createParamByteBuffer(dc_batt_temp_coe));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_batt_temp_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_213.add(btn_dc_batt_temp_set);                    //设置
        JPanel panel_214 = new JPanel();
        panel_214.setBorder(new TitledBorder(null, "电池温度补偿中心点(℃)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_214,BorderLayout.CENTER);
        panel_214.setLayout(new BorderLayout());
        panel_214.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_dc_batt_temp_core = new JTextField();
        panel_214.add(tf_dc_batt_temp_core,BorderLayout.CENTER);
        tf_dc_batt_temp_core.setColumns(10);
        
        JButton btn_dc_batt_temp_core_read = new JButton("读取");
        btn_dc_batt_temp_core_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_dc_batt_temp_core_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_214.add(btn_dc_batt_temp_core_read);                    //读取
        JButton btn_dc_batt_temp_core_set = new JButton("设置");
        btn_dc_batt_temp_core_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_batt_temp_core = Float.parseFloat(tf_dc_batt_temp_core.getText());                    //电池温度补偿中心点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+11), power_util.createParamByteBuffer(dc_batt_temp_core));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_dc_batt_temp_core_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_214.add(btn_dc_batt_temp_core_set);                    //设置
        JPanel panel_215 = new JPanel();
        panel_215.setBorder(new TitledBorder(null, "浮充转均充系数(C)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_215,BorderLayout.CENTER);
        panel_215.setLayout(new BorderLayout());
        panel_215.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_floattojun_coe = new JTextField();
        panel_215.add(tf_floattojun_coe,BorderLayout.CENTER);
        tf_floattojun_coe.setColumns(10);
        
        JButton btn_floattojun_coe_read = new JButton("读取");
        btn_floattojun_coe_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_floattojun_coe_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_215.add(btn_floattojun_coe_read);                    //读取
        JButton btn_floattojun_coe_set = new JButton("设置");
        btn_floattojun_coe_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float floattojun_coe = Float.parseFloat(tf_floattojun_coe.getText());                        //浮充转均充系数心点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+12), power_util.createParamByteBuffer(floattojun_coe*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_floattojun_coe_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_215.add(btn_floattojun_coe_set);                    //设置
        JPanel panel_216 = new JPanel();
        panel_216.setBorder(new TitledBorder(null, "均充转浮充系数(C)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_216,BorderLayout.CENTER);
        panel_216.setLayout(new BorderLayout());
        panel_216.setLayout(new FlowLayout(FlowLayout.LEFT,5,0));
        
        tf_juntofloat_coe = new JTextField();
        panel_216.add(tf_juntofloat_coe,BorderLayout.CENTER);
        tf_juntofloat_coe.setColumns(10);
        
        JButton btn_juntofloat_coe_read = new JButton("读取");
        btn_juntofloat_coe_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_juntofloat_coe_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_216.add(btn_juntofloat_coe_read);                    //读取
        JButton btn_juntofloat_coe_set = new JButton("设置");
        btn_juntofloat_coe_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float juntofloat_coe = Float.parseFloat(tf_juntofloat_coe.getText());                        //均充转浮充系数心点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+13), power_util.createParamByteBuffer(juntofloat_coe*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_juntofloat_coe_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_216.add(btn_juntofloat_coe_set);                    //设置
        JPanel panel_217 = new JPanel();
        panel_217.setBorder(new TitledBorder(null, "电池组数量", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_217,BorderLayout.CENTER);
        panel_217.setLayout(new BorderLayout());
        panel_217.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_batt_count = new JTextField();
        panel_217.add(tf_batt_count,BorderLayout.CENTER);
        tf_batt_count.setColumns(10);
        
        JButton btn_batt_count_read = new JButton("读取");
        btn_batt_count_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_batt_count_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_217.add(btn_batt_count_read);                    //读取
        JButton btn_batt_count_set = new JButton("设置");
        btn_batt_count_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float batt_count = Float.parseFloat(tf_batt_count.getText());                                //电池组数量                                            //均充转浮充系数心点
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+14), power_util.createParamByteBuffer(batt_count));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_batt_count_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_217.add(btn_batt_count_set);                    //设置
        JPanel panel_218 = new JPanel();
        panel_218.setBorder(new TitledBorder(null, "电池组容量(AH)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_218,BorderLayout.CENTER);
        panel_218.setLayout(new BorderLayout());
        panel_218.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_batt_cap = new JTextField();
        panel_218.add(tf_batt_cap,BorderLayout.CENTER);
        tf_batt_cap.setColumns(10);
        
        JButton btn_batt_cap_read = new JButton("读取");
        btn_batt_cap_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_batt_cap_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_218.add(btn_batt_cap_read);                    //读取
        JButton btn_batt_cap_set = new JButton("设置");
        btn_batt_cap_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float batt_cap = Float.parseFloat(tf_batt_cap.getText());                                    //电池组容量
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+15), power_util.createParamByteBuffer(batt_cap));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_batt_cap_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_218.add(btn_batt_cap_set);                    //设置
        JPanel panel_219 = new JPanel();
        panel_219.setBorder(new TitledBorder(null, "电池充电限流(C)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_219,BorderLayout.CENTER);
        panel_219.setLayout(new BorderLayout());
        panel_219.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_batt_char_curr_limit = new JTextField();
        panel_219.add(tf_batt_char_curr_limit,BorderLayout.CENTER);
        tf_batt_char_curr_limit.setColumns(10);
        
        JButton btn_batt_char_curr_limit_read = new JButton("读取");
        btn_batt_char_curr_limit_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_batt_char_curr_limit_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_219.add(btn_batt_char_curr_limit_read);                    //读取
        JButton btn_batt_char_curr_limit_set = new JButton("设置");
        btn_batt_char_curr_limit_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float batt_char_curr_limit = Float.parseFloat(tf_batt_char_curr_limit.getText());            //电池充电限流
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+16), power_util.createParamByteBuffer(batt_char_curr_limit*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_batt_char_curr_limit_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_219.add(btn_batt_char_curr_limit_set);                    //设置
        JPanel panel_220 = new JPanel();
        panel_220.setBorder(new TitledBorder(null, "负载下电模式", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_220,BorderLayout.CENTER);
        panel_220.setLayout(new BorderLayout());
        panel_220.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        jc_load_poweroff_mode = new JComboBox<>();
        jc_load_poweroff_mode.setModel(new DefaultComboBoxModel(new String[] {"电压                    ", "时间", "电量"}));
        jc_load_poweroff_mode.setModel(new DefaultComboBoxModel(new String[] {"电压                ", "时间", "电量"}));
        panel_220.add(jc_load_poweroff_mode,BorderLayout.CENTER);
        JButton btn_load_poweroff_mode_read = new JButton("读取");
        btn_load_poweroff_mode_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_load_poweroff_mode_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_220.add(btn_load_poweroff_mode_read);                    //读取
        JButton btn_load_poweroff_mode_set = new JButton("设置");
        btn_load_poweroff_mode_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    int load_poweroff_mode = jc_load_poweroff_mode.getSelectedIndex();                            //负载下电模式
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+17), power_util.createParamByteBuffer(load_poweroff_mode));
                } catch (Exception e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_load_poweroff_mode_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_220.add(btn_load_poweroff_mode_set);                    //设置
        
        JPanel panel_221 = new JPanel();
        panel_221.setBorder(new TitledBorder(null, "电池下电电压(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_221,BorderLayout.CENTER);
        panel_221.setLayout(new BorderLayout());
        panel_221.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_batt_poweroff_vol = new JTextField();
        panel_221.add(tf_batt_poweroff_vol,BorderLayout.CENTER);
        tf_batt_poweroff_vol.setColumns(10);
        
        JButton btn_batt_poweroff_vol_read = new JButton("读取");
        btn_batt_poweroff_vol_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_batt_poweroff_vol_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_221.add(btn_batt_poweroff_vol_read);                    //读取
        JButton btn_batt_poweroff_vol_set = new JButton("设置");
        btn_batt_poweroff_vol_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_batt_poweroff_vol = Float.parseFloat(tf_batt_poweroff_vol.getText());                //电池下电电压
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+18), power_util.createParamByteBuffer(dc_batt_poweroff_vol*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_batt_poweroff_vol_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_221.add(btn_batt_poweroff_vol_set);                    //设置
        JPanel panel_222 = new JPanel();
        panel_222.setBorder(new TitledBorder(null, "电池上电电压(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_201.add(panel_222,BorderLayout.CENTER);
        panel_222.setLayout(new BorderLayout());
        panel_222.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0));
        
        tf_batt_poweron_vol = new JTextField();
        panel_222.add(tf_batt_poweron_vol,BorderLayout.CENTER);
        tf_batt_poweron_vol.setColumns(13);
        tf_batt_poweron_vol.setColumns(10);
        JButton btn_batt_poweron_vol_read = new JButton("读取");
        btn_batt_poweron_vol_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_READ, Power_ComBase.MU_DCParam_RegAddr_Start, ByteBuffer.allocate(0));
            }
        });
        btn_batt_poweron_vol_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_222.add(btn_batt_poweron_vol_read);                    //读取
        JButton btn_batt_poweron_vol_set = new JButton("设置");
        btn_batt_poweron_vol_set.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    float dc_batt_poweron_vol = Float.parseFloat(tf_batt_poweron_vol.getText());                //电池上电电压
                    SerialComm.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, (Power_ComBase.MU_DCParam_RegAddr_Start+19), power_util.createParamByteBuffer(dc_batt_poweron_vol*100));
                } catch (NumberFormatException e1) {
                    Toolkit.getDefaultToolkit().beep();
                    JOptionPane.showMessageDialog(tabbedPane, "请输入合法的参数!");
                }
            }
        });
        btn_batt_poweron_vol_set.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_222.add(btn_batt_poweron_vol_set);                    //设置
        
        JPanel panel_280 = new JPanel();
        panel_200.add(panel_280,BorderLayout.CENTER);
@@ -684,9 +1188,10 @@
        
        
        JPanel panel_281 = new JPanel();
        panel_280.add(panel_281,BorderLayout.CENTER);
        //panel_280.add(panel_281,BorderLayout.CENTER);
        panel_281.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
        
        btn_dcparam_read = new JButton("读取参数");
        btn_dcparam_read.setEnabled(false);
        btn_dcparam_read.addActionListener(new ActionListener() {
Device_Simulator_DTS_Tester/src/main/main_window_computer.java
@@ -21,6 +21,7 @@
import javax.swing.UIManager;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -28,6 +29,7 @@
import java.util.List;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import java.awt.Font;
import java.awt.GridBagConstraints;
@@ -108,7 +110,7 @@
    //public String mTitle = "MSP&SAM&SWM&Curr_V1.523_220424G";
    public String mTitle = "调试工具";
    
    public String mVerSioin = "_V1.105";
    public String mVerSioin = "_V1.106";
    
    public static int LANG_TYPE    = LANG_TYPE_CN;
@@ -136,7 +138,7 @@
    public static final int DebugMode_TYPE_Package     = 1;    //电脑打包模式
    public static final int DebugMode_TYPE_Screen     = 2;    //10寸屏模式
    
    public int DebugMode = DebugMode_TYPE_Package;            //是否为调试模式true:调试模式     false:打包模式[会隐藏左侧选项卡]
    public int DebugMode = DebugMode_TYPE_Screen;            //是否为调试模式true:调试模式     false:打包模式[会隐藏左侧选项卡]
    
    public boolean MonVol_Is_Adj = false;
    public boolean MonRes_Is_Test = false;
@@ -209,6 +211,9 @@
    private JPanel panel_3;
    private JTextField tf_ip_addr;
    private JTextField tf_ip_port;
    private JPanel panel_10;        //返回按钮容器
    
    private module_mon_page panel_mon_base;
    private module_curr_page panel_Curr_Module;
@@ -329,8 +334,8 @@
        frmSerialport.setFont(new Font("宋体", Font.PLAIN, 12));
        //frmSerialport.setResizable(false);
        
        //frmSerialport.setIconImage(Toolkit.getDefaultToolkit().getImage(main_window_computer.class.getResource("/main/fuguang.png")));
        frmSerialport.setIconImage(Toolkit.getDefaultToolkit().getImage(main_window_computer.class.getResource("/main/12164006.png")));
        frmSerialport.setIconImage(Toolkit.getDefaultToolkit().getImage(main_window_computer.class.getResource("/main/fuguang.png")));
//        frmSerialport.setIconImage(Toolkit.getDefaultToolkit().getImage(main_window_computer.class.getResource("/main/12164006.png")));
        frmSerialport.setBounds(100, 100, 1180, 640);
        frmSerialport.setMinimumSize(new Dimension(1160, 640));
        //frmSerialport.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
@@ -339,8 +344,10 @@
        frmSerialport.setLayout(new BorderLayout());
        
        //frmSerialport.getContentPane().setBackground(new Color(112, 181, 208));
        //返回按钮容器
        JPanel panel_10 = new JPanel();
        panel_10 = new JPanel();
        
        //前置界面
        pre_panel = new JPanel();
@@ -349,6 +356,8 @@
        pre_panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
        
        btn_back = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_16x16/arrow_undo.png")));
        //pre_panel.setBackground(new Color(112, 181, 208));
        
        btn_back.setText("返回");
        btn_back.setSize(new Dimension(100, 80));
@@ -380,7 +389,7 @@
        });
        
        
        btn_mon = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_32x32/batt_mon.png")));
        btn_mon = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_180x180/mon_model.png")));
        //JButton btn_mon = new JButton(new ImageIcon(main_window_computer.class.getResource("/icon/mon_ied.png")));
        btn_mon.setText("单体模块");
        setButtonType(btn_mon);
@@ -390,7 +399,6 @@
                //执行进程
                SwingUtilities.invokeLater(() ->{
                    frmSerialport.getContentPane().removeAll();
                    
                    frmSerialport.getContentPane().add(top_panel1, BorderLayout.NORTH);
                    frmSerialport.getContentPane().add(main_TabbedRightPane0, BorderLayout.CENTER);
@@ -477,7 +485,7 @@
            }
        });
        
        btn_zdhj = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_32x32/zdhj_mon.png")));
        btn_zdhj = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_180x180/group_model.png")));
        btn_zdhj.setText("组端汇集模块");
        setButtonType(btn_zdhj);
        btn_zdhj.addActionListener(new ActionListener() {
@@ -502,7 +510,7 @@
            }
        });
        
        btn_fbs9100 = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_32x32/control.png")));
        btn_fbs9100 = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_180x180/bts_4810.png")));
        btn_fbs9100.setText("BTS主控");
        setButtonType(btn_fbs9100);
        btn_fbs9100.addActionListener(new ActionListener() {
@@ -620,7 +628,7 @@
            }
        });
        
        btn_bts4810 = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_32x32/dis_instrument1.png")));
        btn_bts4810 = new JButton(new ImageIcon(main_window_computer.class.getResource("/png_180x180/bts_4810.png")));
        btn_bts4810.setText("核容主机");
        setButtonType(btn_bts4810);
        btn_bts4810.addActionListener(new ActionListener() {
@@ -694,7 +702,7 @@
            }
        });
        
        btn_iec61850= new JButton(new ImageIcon(main_window_computer.class.getResource("/png_32x32/61850_logo.png")));
        btn_iec61850= new JButton(new ImageIcon(main_window_computer.class.getResource("/png_180x180/61850_png.png")));
        btn_iec61850.setText("61850Эת");
        setButtonType(btn_iec61850);
        btn_iec61850.addActionListener(new ActionListener() {
@@ -721,7 +729,7 @@
        });
        
        
        btn_ukey= new JButton(new ImageIcon(main_window_computer.class.getResource("/png_32x32/ukey_logo.png")));
        btn_ukey= new JButton(new ImageIcon(main_window_computer.class.getResource("/png_180x180/ukey_cfg.png")));
        btn_ukey.setText("UKEY");
        setButtonType(btn_ukey);
        btn_ukey.addActionListener(new ActionListener() {
@@ -738,17 +746,18 @@
                    
                    setJTableSelectIndex(CommDevType_UKEY);
                    
                    main_TabbedTopPane14.setLayout(new GridBagLayout());
                    //main_TabbedTopPane14.setBackground(Color.yellow);
                    
                    GridBagConstraints gbc = new GridBagConstraints();
                    gbc.anchor = GridBagConstraints.EAST; // 右上角对齐
                    gbc.weightx = 1.0; // 使用额外空间
                    gbc.insets = new Insets(5, 5, 5, 5); // 边距
//                    GridBagConstraints gbc = new GridBagConstraints();
//                    gbc.anchor = GridBagConstraints.EAST; // 右上角对齐
//                    gbc.weightx = 1.0; // 使用额外空间
//                    gbc.insets = new Insets(5, 5, 5, 5); // 边距
                    
                    main_TabbedTopPane14.add(panel_10,gbc);
                    main_TabbedTopPane14.add(panel_10);
                    
                    frmSerialport.getContentPane().add(main_TabbedTopPane14, BorderLayout.NORTH);
                    
                    frmSerialport.getContentPane().add(main_TabbedRightPane14, BorderLayout.CENTER);
                    
@@ -756,6 +765,8 @@
                    
                    mTitle = "UKEY调试工具";
                    frmSerialport.setTitle(mTitle+ mVerSioin + "     " + Com.get_DTF(new Date(), Com.DTF_YMDhms));
                    setComponentsColor(main_TabbedTopPane14);
                    
                    frmSerialport.getContentPane().revalidate(); // 重新验证布局
                    frmSerialport.getContentPane().repaint(); // 重绘容器
@@ -794,7 +805,7 @@
        main_TabbedTopPane13 = new JPanel();
        main_TabbedTopPane13.setLayout(new BoxLayout(main_TabbedTopPane13, BoxLayout.X_AXIS));
        main_TabbedTopPane14 = new JPanel();
        main_TabbedTopPane14.setLayout(new BoxLayout(main_TabbedTopPane14, BoxLayout.X_AXIS));
        main_TabbedTopPane14.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5));
        main_TabbedTopPane15 = new JPanel();
        main_TabbedTopPane15.setLayout(new BoxLayout(main_TabbedTopPane15, BoxLayout.X_AXIS));
        
@@ -887,6 +898,7 @@
        
        cb_dev_type = new JComboBox();
        cb_dev_type.setModel(new DefaultComboBoxModel(new String[] {"SAM", "MSP", "MSP_RF", "SWM(\u534E\u82AF\u5A01\u7279)"}));
        cb_dev_type.setEnabled(false);
        panel_8.add(cb_dev_type);
        
//        label = new JLabel("");
@@ -1404,7 +1416,7 @@
            if(DebugMode == DebugMode_TYPE_Screen) {
                main_TabbedPane.add(vol_Module_title, new JPanel());
            }else {
//            main_TabbedPane.add(vol_Module_title, panel_groupVol_Module);
//                main_TabbedPane.add(vol_Module_title, panel_groupVol_Module);
                main_TabbedPane.add(vol_Module_title, main_TabbedRightPane2);
                main_TabbedPane.setIconAt(CommDevType_GROUPVOL, new ImageIcon(main_window_computer.class.getResource("/png_16x16/application_lightning.png")));
            }
@@ -1805,8 +1817,8 @@
                cb_comm_bitrate.setSelectedIndex(2);        //默认波特率9600
                tf_target_addr.setText("1");                //默认设备地址1
                if(DebugMode == DebugMode_TYPE_Package) {
                    frmSerialport.setBounds(100, 100, 1280, 700);
                    frmSerialport.setMinimumSize(new Dimension(1160, 640));
                    frmSerialport.setBounds(100, 100, 1280, 710);
                    frmSerialport.setMinimumSize(new Dimension(1160, 650));
                }
            }
        }else {
@@ -2042,6 +2054,12 @@
    //设置首页按钮样式
    public void setButtonType(JButton button) {
        button.setBorder(null); 
        //设置按钮透明
        button.setContentAreaFilled(false);
        //设置按钮隐藏边框
        button.setBorderPainted(false);
        //设置按钮不获取焦点-修复界面打开时按钮存在阴影
        button.setFocusable(false);
        //设置文本在图片下方
        button.setHorizontalTextPosition(SwingConstants.CENTER);
        button.setVerticalTextPosition(SwingConstants.BOTTOM);
@@ -2057,73 +2075,129 @@
    }
    
    public void setPrePanelButtonOrder() {
        if(DebugMode == DebugMode_TYPE_Screen) {
        if(DebugMode == DebugMode_TYPE_Screen) {
            if(APP_FBS9600_ZDHJ_EN) {
                //组端汇集模块
                pre_panel.add(btn_zdhj);
//                panel_ZDHJ_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_ZDHJ_base);
                System.out.println("汇集模块");
            }
            
            if(APP_IEC61850_EN) {
                //61850Эת
                pre_panel.add(btn_iec61850);
                //panel_iec61850_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_iec61850_base);
            }
            if(APP_BTS4810_EN) {
                //核容主机
                pre_panel.add(btn_bts4810);
//                panel_bts4810_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_bts4810_base);
            }
            if(APP_FBS9600_MON_EN) {
                //单体模块
                pre_panel.add(btn_mon);
//                panel_mon_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_mon_base);
            }
            if(APP_UKEY_EN) {
                //UKEY
                pre_panel.add(btn_ukey);
//                panel_ueky_page_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_ueky_page_base);
                setComponentsColor(main_TabbedTopPane14);
            }
            if(APP_FBS9600_CURR_EN) {
                //电流模块
                pre_panel.add(btn_curr);
                //panel_Curr_Module.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_Curr_Module);
            }
                
            if(APP_FBS9600_GVOL_EN) {
                //组压模块
                pre_panel.add(btn_groupvol);
//                panel_groupVol_Module.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_groupVol_Module);
            }
            
            if(APP_FCF_GVOL_EN) {
                //FCF组压
                pre_panel.add(btn_fcf651vol);
//                panel_fcf651Vol_Module.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_fcf651Vol_Module);
            }
            if(APP_BTSM_EN) {
                //BTS主控
                pre_panel.add(btn_fbs9100);
//                panel_FBS9100_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_FBS9100_base);
            }
            if(APP_NTM_EN) {
                //NTM放电仪
                pre_panel.add(btn_ntm);
//                panel_NTM_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_NTM_base);
            }
            if(APP_NTM_LORA_EN) {
                //Lora测试
                pre_panel.add(btn_lora);
                //panel_LoraTest_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_LoraTest_base);
            }
            if(APP_BYBB_EN) {
                //BYBB测试
                pre_panel.add(btn_bybb);
                //panel_bybb_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_bybb_base);
            }
            if(APP_FBO4830_EN) {
                //FBO4830
                pre_panel.add(btn_fbo4830);
//                panel_fbo4830_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_fbo4830_base);
            }
            
            if(APP_SwitchDevice_EN) {
                //切换装置
                pre_panel.add(btn_switch);
//                panel_switchdevice_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_switchdevice_base);
            }
            if(APP_DummyLoad_EN) {
                //假负载装置
                pre_panel.add(btn_load);
                //panel_dummyload_base.setBackground(new Color(112, 181, 208));
                setComponentsColor(panel_dummyload_base);
            }
        }
            setComponentsColor(top_panel1);
            setComponentsColor(panel_10);
        }
    }
    public static void setComponentsColor(Container container) {
//        for (Component component : container.getComponents()) {
//            if (component instanceof JPanel) {
//                ((JPanel) component).setBackground(new Color(112, 181, 208));
//                setComponentsColor((Container)component);
//            }else if(component instanceof JTabbedPane) {
//                ((JTabbedPane) component).setBackground(new Color(112, 181, 208));
//                setComponentsColor((Container)component);
//            }
//        }
    }
    public static void setBackgroundColor(Container container, Color color) {
        for (int i = 0; i < container.getComponentCount(); i++) {
            Component component = container.getComponent(i);
            if (component instanceof JPanel) {
                ((JPanel) component).setBackground(color);
                setBackgroundColor((Container) component, color); // 递归设置子JPanel的背景颜色
            }
        }
    }
}
Device_Simulator_DTS_Tester/src/png_180x180/61850_png.png
Device_Simulator_DTS_Tester/src/png_180x180/bts_4810.png
Device_Simulator_DTS_Tester/src/png_180x180/group_model.png
Device_Simulator_DTS_Tester/src/png_180x180/mon_model.png
Device_Simulator_DTS_Tester/src/png_180x180/qt_png.png
Device_Simulator_DTS_Tester/src/png_180x180/ukey_cfg.png
Device_Simulator_DTS_Tester/src/user_app_form/Com.java
@@ -235,6 +235,33 @@
        
        return res;
    }
     /**
     *
     * @param
     * @return
     */
    public static boolean getIPFromStr(String ipstr, int ip[]) throws NumberFormatException
    {
        boolean res = false;
        try{
            for(int n=0; n<3; n++)
            {
                int index = ipstr.indexOf('.');
                if(index > 0)
                    ip[n] = Integer.parseInt(ipstr.substring(0, index));
                ipstr = ipstr.substring(index+1);
            }
            ip[3] = Integer.parseInt(ipstr);
        } catch(Exception e) {
            return false;
        }
        res = true;
        return res;
    }
    /**
     * 
     * @param 
Device_Simulator_DTS_Tester/src/user_app_form/IEC_61850_comm.java
@@ -85,6 +85,10 @@
    public static final int SYS_STATE_KDTEST = 5;//K1/D1测试
    public static final int SYS_STATE_YANGHU = 6;//离线养护测试
    
    public static final int DEV_TYPE_NW = 0;    //南网版协转
    public static final int DEV_TYPE_GW = 1;    //国网版协转
    private String m_host_ip = "127.0.0.1";
    private int m_port = 102;
    private ArrayList<String> m_ta;
@@ -174,9 +178,12 @@
    
    private int user_write_cmd = 0;
    private boolean auto_read_en = true;
    private String ip_str;
    private String gw_str;
    private String mk_str;
    private int dev_type = DEV_TYPE_NW;
    private int battgroup_num = 1;
    private int battgroup_num_last = 0;
    private boolean setport_stat = false;
@@ -592,8 +599,9 @@
        String btsid = readStringNodeData(DevBaseName + "/btgGGIO1.Bts_ID.d", "DC");
        String keyid = readStringNodeData(DevBaseName + "/btgGGIO1.ukeyID.d", "DC");
        if(keyid.trim().length() < 5) {
            update_ta_line("Ukey error: no ukey exist.");
            return false;
            update_ta_line("Ukey error: no ukey node exist.");
            //没有签名点位时仍进行设置,国网无ukey点位
            //return false;
        }
        
        Process pro = null;
@@ -623,6 +631,15 @@
        ip_str = ip_str_t;
        gw_str = gw_str_t;
        mk_str = mk_str_t;
        this.user_write_cmd = IEC_61850_comm.WRITE_cmd_SetDevIP;
    }
    public void setIpCmdNew(String ip_str_t, String gw_str_t, String mk_str_t,int dev_type_t) {
        ip_str = ip_str_t;
        gw_str = gw_str_t;
        mk_str = mk_str_t;
        dev_type = dev_type_t;
        
        this.user_write_cmd = IEC_61850_comm.WRITE_cmd_SetDevIP;
    }
@@ -764,6 +781,73 @@
            writeBoolNodeData(DevBaseName + "/ncdGGIO1.SPCSO4.Oper", "CO", true);
            readBoolNodeData(DevBaseName + "/ncdGGIO1.SPCSO4.Oper", "CO");
        }*/
        if((L_ip == Ld_ip)&&(L_gw == Ld_gw)&&(L_mk == Ld_mk)) {
            JOptionPane.showMessageDialog(null, "设置协转IP成功!");
        }
    }
    private void setIp_inner(String ip_str, String gw_str, String mk_str,int dev_type) {
        int ip[] = new int[4];
        int gw[] = new int[4];
        int mk[] = new int[4];
        long L_ip = 0;
        long L_gw = 0;
        long L_mk = 0;
        if((false==Com.getIPFromStr(ip_str, ip))
            ||(false==Com.getIPFromStr(gw_str, gw))
            ||(false==Com.getIPFromStr(mk_str, mk))) {
            JOptionPane.showMessageDialog(null, "IP地址或网关地址或子网掩码格式错误,请重新输入!");
            return;
        }
        for(int n=0; n<4; n++) {
            L_ip = L_ip*1000 + (int)(ip[n]);
        }
        for(int n=0; n<4; n++) {
            L_gw = L_gw*1000 + (int)(gw[n]);
        }
        for(int n=0; n<4; n++) {
            L_mk = L_mk*1000 + (int)(mk[n]);
        }
        long Ld_ip = 0;
        long Ld_gw = 0;
        long Ld_mk = 0;
        if(DEV_TYPE_NW == dev_type)
        {
            WriteSM2_Sign("BTSE/ncdGGIO1.Para8.setMag.i", 1);
            writeInt64NodeData(DevBaseName + "/ncdGGIO1.Para8.setMag.i", "SP", L_ip);
            WriteSM2_Sign("BTSE/ncdGGIO1.Para9.setMag.i", 1);
            writeInt64NodeData(DevBaseName + "/ncdGGIO1.Para9.setMag.i", "SP", L_gw);
            WriteSM2_Sign("BTSE/ncdGGIO1.Para10.setMag.i", 1);
            writeInt64NodeData(DevBaseName + "/ncdGGIO1.Para10.setMag.i", "SP", L_mk);
            Ld_ip = readInt64NodeData(DevBaseName + "/ncdGGIO1.Para8.setMag.i", "SP");
            Ld_gw = readInt64NodeData(DevBaseName + "/ncdGGIO1.Para9.setMag.i", "SP");
            Ld_mk = readInt64NodeData(DevBaseName + "/ncdGGIO1.Para10.setMag.i", "SP");
            WriteSM2_Sign("BTSE/ncdGGIO1.SPCSO5", 1);
            writeBoolNodeData(DevBaseName + "/ncdGGIO1.SPCSO5.Oper", "CO", true);
            readBoolNodeData(DevBaseName + "/ncdGGIO1.SPCSO5.Oper", "CO");
        } else {
            //国网设置IP
            WriteSM2_Sign("BTSE/ncdGGIO1.Para7.setMag.i", 1);
            writeInt64NodeData(DevBaseName + "/ncdGGIO1.Para7.setMag.i", "SP", L_ip);
            WriteSM2_Sign("BTSE/ncdGGIO1.Para8.setMag.i", 1);
            writeInt64NodeData(DevBaseName + "/ncdGGIO1.Para8.setMag.i", "SP", L_gw);
            WriteSM2_Sign("BTSE/ncdGGIO1.Para9.setMag.i", 1);
            writeInt64NodeData(DevBaseName + "/ncdGGIO1.Para9.setMag.i", "SP", L_mk);
            Ld_ip = readInt64NodeData(DevBaseName + "/ncdGGIO1.Para7.setMag.i", "SP");
            Ld_gw = readInt64NodeData(DevBaseName + "/ncdGGIO1.Para8.setMag.i", "SP");
            Ld_mk = readInt64NodeData(DevBaseName + "/ncdGGIO1.Para9.setMag.i", "SP");
            WriteSM2_Sign("BTSE/ncdGGIO1.SPCSO4", 1);
            writeBoolNodeData(DevBaseName + "/ncdGGIO1.SPCSO4.Oper", "CO", true);
            readBoolNodeData(DevBaseName + "/ncdGGIO1.SPCSO4.Oper", "CO");
        }
        
        if((L_ip == Ld_ip)&&(L_gw == Ld_gw)&&(L_mk == Ld_mk)) {
            JOptionPane.showMessageDialog(null, "设置协转IP成功!");
@@ -1010,7 +1094,7 @@
    
    private void writeBTSEDatas() {
        if(IEC_61850_comm.WRITE_cmd_SetDevIP == this.user_write_cmd) {
            this.setIp_inner(ip_str, gw_str, mk_str);
            this.setIp_inner(ip_str, gw_str, mk_str,dev_type);
        } else if(IEC_61850_comm.WRITE_cmd_setPortState == this.user_write_cmd) {
            this.setPortStat_inner(this.setport_stat, this.show_usr_dlg);
        } else if (IEC_61850_comm.WRITE_cmd_setAlarmParam == this.user_write_cmd){
Device_Simulator_DTS_Tester/src/user_app_form/iec61850_page_base.java
@@ -14,10 +14,12 @@
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
@@ -65,6 +67,9 @@
import org.apache.logging.log4j.Logger;
import org.openmuc.openiec61850.clientgui.ClientGui_Panel;
import com.Com;
import com.dev.simpower.SPCommPower;
public class iec61850_page_base extends JPanel{
    private JFrame frmiec;
    private Config m_Config;
@@ -93,6 +98,9 @@
    private JTextField tf_tx_cnt;
    private JTextField tf_ping_tar_ip;
    private JTextField tf_set_ip;
    private JComboBox<String> jc_devtype;            //设备类型
    private JTextField tf_set_ipmk;
    private JTextField tf_set_ipgw;
    private JTextField tf_port_ip;
@@ -298,6 +306,69 @@
        tf_host_ip.setText(m_Config.serverIp);
        tf_host_ip.setColumns(10);
        
        JPopupMenu popupMenu = new JPopupMenu();
        JMenuItem tableItem_lan1 = null;
            String it_str = "LAN1 192.168.7.126";
            tableItem_lan1 = new JMenuItem(it_str);
            tableItem_lan1.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_host_ip.setText("192.168.7.126");
                popupMenu.setVisible(false);
            }
        });
        popupMenu.add(tableItem_lan1);
        JMenuItem tableItem_lan2 = null;
        it_str = "LAN2 192.168.0.15";
        tableItem_lan2 = new JMenuItem(it_str);
        tableItem_lan2.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent arg0) {
                tf_host_ip.setText("192.168.0.15");
                popupMenu.setVisible(false);
            }
        });
        popupMenu.add(tableItem_lan2);
        tf_host_ip.addMouseListener(new MouseListener() {
            @Override
            public void mouseReleased(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mousePressed(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseExited(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseEntered(MouseEvent e) {
                // TODO Auto-generated method stub
            }
            @Override
            public void mouseClicked(MouseEvent e) {
                 // 获得焦点时显示菜单
                popupMenu.show(tf_host_ip, 0, tf_host_ip.getHeight());
                //在下拉菜单弹出后文本框继续获取焦点,优化手动修改IP地址
                tf_host_ip.requestFocusInWindow();
            }
        });
        JPanel panel_3 = new JPanel();
        panel_3.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u7AEF\u53E3\u53F7", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
        panel.add(panel_3);
@@ -328,6 +399,8 @@
        tf_port.setText(m_Config.serverPort);
        tf_port.setColumns(5);
        
        tf_port.setEditable(false);
        JPanel panel_4 = new JPanel();
        panel_4.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u534f\u8f6c\u901A\u4FE1\u8BA1\u6570(Tx/Rx)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
        panel.add(panel_4);
@@ -343,7 +416,7 @@
        
        JPanel panel_110 = new JPanel();
        panel_110.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u4e3b\u673a\u901A\u4FE1\u8BA1\u6570(Tx/Rx)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
        panel.add(panel_110);
        //panel.add(panel_110);
        panel_110.setLayout(new GridLayout(0, 2, 4, 0));
        
        tf_btstx_cnt = new JTextField();
@@ -1183,7 +1256,7 @@
        }
        panel_104.add(tabbedPane_1);
        JPanel panel_groupinf = new JPanel();
        tabbedPane_1.addTab("数据", new ImageIcon(main_form.class.getResource("/icon/info.png")), panel_groupinf, null);
        tabbedPane_1.addTab("读取信息", new ImageIcon(main_form.class.getResource("/icon/info.png")), panel_groupinf, null);
        panel_groupinf.setLayout(new BorderLayout(0, 0));
        
        JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
@@ -1404,14 +1477,18 @@
        panel_55.add(btn_read_xz_param);
        
        panel_sysinf = new JPanel();
        panel_sysinf.setLayout(new GridLayout(0, 2, 0, 0));
        tabbedPane_1.addTab("设置", new ImageIcon(main_form.class.getResource("/icon/set.png")), panel_sysinf, null);
        panel_sysinf.setLayout(new BorderLayout());
        tabbedPane_1.addTab("设置参数", new ImageIcon(main_form.class.getResource("/icon/set.png")), panel_sysinf, null);
        JTabbedPane tabbedPane_set = new JTabbedPane(JTabbedPane.TOP);
        panel_sysinf.add(tabbedPane_set,BorderLayout.CENTER);
        
        JPanel panel_8 = new JPanel();
        panel_sysinf.add(panel_8);
        //panel_sysinf.add(panel_8);
        panel_8.setLayout(new BoxLayout(panel_8, BoxLayout.Y_AXIS));
        
        JPanel panel_24 = new JPanel();
        //传送文件
        panel_24.setBorder(new TitledBorder(null, "\u4F20\u9001\u6587\u4EF6", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_8.add(panel_24);
        
@@ -1646,13 +1723,28 @@
        });
        
        JPanel panel_11 = new JPanel();
        panel_11.setBorder(new TitledBorder(null, "\u8BBE\u7F6E\u534F\u8F6CIP", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_sysinf.add(panel_11);
        //panel_11.setBorder(new TitledBorder(null, "\u8BBE\u7F6E\u534F\u8F6CIP", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        tabbedPane_set.addTab("设置协转IP", null, panel_11, null);
        tabbedPane_set.addTab("设置告警参数", null, panel_22, null);
        //panel_sysinf.add(panel_11);
        panel_11.setLayout(new BorderLayout(0, 0));
        
        JPanel panel_12 = new JPanel();
        panel_11.add(panel_12, BorderLayout.CENTER);
        panel_12.setLayout(new BoxLayout(panel_12, BoxLayout.Y_AXIS));
        JPanel panel_151 = new JPanel();
        panel_12.add(panel_151);
        panel_151.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
        JLabel devTypeName = new JLabel("设备型号");
        panel_151.add(devTypeName);
        jc_devtype = new JComboBox<String>();
        jc_devtype.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_151.add(jc_devtype);
        jc_devtype.setModel(new DefaultComboBoxModel<String>(new String[] {"南网版 协转", "国网版 协转"}));
        
        JPanel panel_13 = new JPanel();
        panel_12.add(panel_13);
@@ -1709,8 +1801,8 @@
                                            + " new mask:" + tf_set_ipmk.getText().trim()
                                            + " new gateway:" + tf_set_ipgw.getText().trim(), 
                                            "set ip confurm", JOptionPane.YES_NO_OPTION)) {
                    m_iec_61850_comm.setIpCmd(tf_set_ip.getText().trim(),
                            tf_set_ipgw.getText().trim(), tf_set_ipmk.getText().trim());
                    m_iec_61850_comm.setIpCmdNew(tf_set_ip.getText().trim(),
                            tf_set_ipgw.getText().trim(), tf_set_ipmk.getText().trim(),jc_devtype.getSelectedIndex());
                }
            }
        });
@@ -1744,7 +1836,7 @@
        panel_16.add(btn_close_sshport);
        
        JPanel panel_7 = new JPanel();
        panel_sysinf.add(panel_7);
        //panel_sysinf.add(panel_7);
        panel_7.setBorder(new TitledBorder(null, "ping\u76EE\u6807IP\u5730\u5740", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_7.setLayout(new BorderLayout(0, 0));
        
@@ -1811,7 +1903,7 @@
        });
        
        JPanel panel_17 = new JPanel();
        panel_sysinf.add(panel_17);
        //panel_sysinf.add(panel_17);
        panel_17.setBorder(new TitledBorder(null, "ping \u76EE\u6807IP\u5730\u5740\u7AEF\u53E3", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_17.setLayout(new BorderLayout(0, 0));
        
@@ -1866,11 +1958,21 @@
        panel_21.add(btn_start_tcping);
        
        JPanel panel_terminal = new JPanel();
        tabbedPane_1.addTab("终端", new ImageIcon(main_form.class.getResource("/icon/app.png")), panel_terminal, null);
        tabbedPane_1.addTab("升级", new ImageIcon(main_form.class.getResource("/icon/app.png")), panel_terminal, null);
        panel_terminal.setLayout(new BorderLayout(0, 0));
        
        JTabbedPane tabbedPane_update = new JTabbedPane(JTabbedPane.TOP);
        panel_terminal.add(tabbedPane_update,BorderLayout.CENTER);
        //通用升级
        JPanel panel_updatemode1 = new JPanel();
        panel_updatemode1.setLayout(new BorderLayout(0, 0));
        tabbedPane_update.addTab("通用升级", null, panel_updatemode1, null);
        tabbedPane_update.addTab("南网设备专用升级", null, panel_8, null);
        JPanel panel_26 = new JPanel();
        panel_terminal.add(panel_26, BorderLayout.NORTH);
        panel_updatemode1.add(panel_26, BorderLayout.NORTH);
        panel_26.setLayout(new BoxLayout(panel_26, BoxLayout.Y_AXIS));
        
        JPanel panel_41 = new JPanel();
@@ -2120,7 +2222,7 @@
        panel_32.add(btn_set_pwd);
        
        JPanel panel_34 = new JPanel();
        panel_terminal.add(panel_34, BorderLayout.CENTER);
        panel_updatemode1.add(panel_34, BorderLayout.CENTER);
        panel_34.setLayout(new GridLayout(0, 1, 0, 4));
        
        JPanel panel_36 = new JPanel();