TDGage.cs 2.72 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
using FLY.IntegratedControl.Server.OBJProxy;
using FLY.OBJComponents.Server.OBJProxy;
using FObjBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace FLY.IntegratedControl.Server
{
    public class TDGage : Misc.ISaveToXml
    {
        #region 初始化------------------------------------------------------------------
        public string mParamDirectory;//参数目录 m_path;//数据文件的 根目录默认是 Gage1
        public string mName;//名字 如:gage0
        #endregion

        #region 服务器数据--------------------------------------------------------------
        /// <summary>
        /// OBJ服务端口
        /// </summary>
        public int OBJ_Port { get; set; }
        
        public ICSystem mData;
        ICSystem_OBJProxy mServerOBJProxy;
        WarningSystem_OBJProxy mWarnSystemOBJProxy;

        #endregion

        public TDGage(string nam)
        {
            mName = nam;
            mParamDirectory = mName;// @"D:\" + m_name;

            if (!System.IO.Directory.Exists(mParamDirectory))
            {
                System.IO.Directory.CreateDirectory(mParamDirectory);
            }
            System.Environment.CurrentDirectory = mParamDirectory;

            Init1();

        }
        #region Init登陆服务器初始化----------------------------------------------------
        /// <summary>
        /// 第1步, 加载本地数据
        /// </summary>
        public void Init1()
        {
            OBJ_Port = 20003;
            Load();

            
            #region 提取保存的数据

            mData = new ICSystem();
            mServerOBJProxy = new ICSystem_OBJProxy(0, mData);
            mWarnSystemOBJProxy = new WarningSystem_OBJProxy(0, OBJ_INTERFACE.OBJ_INTERFACE.WARNING_OBJ_ID, mData.mWarning);
            #endregion

            Init2();

        }
        
        /// <summary>
        /// 第2步, 连接到服务器,初始化参数 。由界面的 【登陆】 按钮触发
        /// </summary>
        private void Init2()
        {
            #region 网络初始化
            FObjSys.Current.Start_Conn_Server(
                new IPEndPoint(IPAddress.Any, OBJ_Port), 
                mServerOBJProxy.ID);

            #endregion
        }

        #endregion

        public void Save()
        {
            Misc.SaveToXmlHepler.Save("system.xml", this);
        }
        public void Load()
        {
            Misc.SaveToXmlHepler.Load("system.xml", this);
        }
        #region ISaveToXml 成员

        public string[] GetSavePropertyNames()
        {
            return new string[]{
                "OBJ_Port"
            };
        }

        #endregion
    }
}