Exemplo n.º 1
0
        private static string mAlarmStartAddr;       //报警首地址

        public static BaseInterface getInstance(MainFormOperation mainFormOperation, InterfaceEnum interfaceType)
        {
            if (mAlarmStartAddr != mainFormOperation.Alarm_start_addr)
            {
                if (null != baseInterface)
                {
                    baseInterface = null;
                }

                //计算报警首地址
                int alarmStartAddr;

                if (mainFormOperation.Alarm_start_addr == Constant.ALARM_START_ADDR_5)
                {
                    alarmStartAddr = 5;
                }
                else if (mainFormOperation.Alarm_start_addr == Constant.ALARM_START_ADDR_37)
                {
                    alarmStartAddr = 37;
                }
                else
                {
                    alarmStartAddr = 5;
                }

                //初始化接口对象
                switch (interfaceType)
                {
                case InterfaceEnum.AB:
                    baseInterface = new ABInterface(alarmStartAddr);
                    break;

                case InterfaceEnum.SIEMENS:
                    alarmStartAddr = 20;
                    baseInterface  = new SiemensInterface(alarmStartAddr);
                    break;

                default:
                    break;
                }

                mAlarmStartAddr = mainFormOperation.Alarm_start_addr;
            }

            return(baseInterface);
        }
Exemplo n.º 2
0
 public AlarmPoint(MainController _mainController, MainFormOperation _mainFormOperation, InterfaceEnum _interface)
     : base(_mainController, _mainFormOperation)
 {
     pmcInterface = InterfaceFactory.getInstance(_mainFormOperation, this.interfaceType);
 }