Esempio n. 1
0
        //-------------------------------------------------------------------------------------------------//
        public DCDrive(XmlNode xmlNodeEquipmentConfig, DriverMachine.KeepAliveCallback keepAliveCallback)
        {
            const string STRLOG_MethodName = "DCDrive";

            Logfile.WriteCalled(null, STRLOG_MethodName);

            try
            {
                //
                // Initialise local variables
                //
                this.keepAliveCallback = keepAliveCallback;
                this.initialised = false;

                //
                // Initialise properties
                //
                this.online = false;
                this.statusMessage = STRLOG_NotInitialised;
                this.lastError = null;
                this.connectionOpen = false;
                this.speedSetpoint = 0;

                //
                // Get the IP address and port number to use
                //
                XmlNode xmlNodeDCdrive = XmlUtilities.GetXmlNode(xmlNodeEquipmentConfig, Consts.STRXML_dcDrive);
                XmlNode xmlNodeNetwork = XmlUtilities.GetXmlNode(xmlNodeDCdrive, Consts.STRXML_network, false);
                this.ipaddr = XmlUtilities.GetXmlValue(xmlNodeNetwork, Consts.STRXML_ipAddr, false);
                IPAddress ipaddr = IPAddress.Parse(this.ipaddr);
                this.ipport = XmlUtilities.GetIntValue(xmlNodeNetwork, Consts.STRXML_ipPort);
                Logfile.Write(STRLOG_IPaddr + this.ipaddr.ToString() +
                    Logfile.STRLOG_Spacer + STRLOG_IPport + this.ipport.ToString());

                //
                // Get the network timeouts
                //
                XmlNode xmlNodeTimeouts = XmlUtilities.GetXmlNode(xmlNodeNetwork, Consts.STRXML_timeouts, false);
                this.receiveTimeout = XmlUtilities.GetIntValue(xmlNodeTimeouts, Consts.STRXML_receive);
                Logfile.Write(STRLOG_ReceiveTimout + this.receiveTimeout.ToString() + STRLOG_MilliSecs);

                //
                // Get Modbus slave identity
                //
                XmlNode xmlNodeModbus = XmlUtilities.GetXmlNode(xmlNodeDCdrive, Consts.STRXML_modbus, false);
                this.slaveId = XmlUtilities.GetIntValue(xmlNodeModbus, Consts.STRXML_slaveId);
                Logfile.Write(STRLOG_ModbusSlaveId + this.slaveId.ToString());

                //
                // Get the flag to determine if equipment initialisation is required
                //
                this.doInitialise = XmlUtilities.GetBoolValue(xmlNodeDCdrive, Consts.STRXML_doInitialise, false);
                Logfile.Write(STRLOG_DoInitialise + this.doInitialise.ToString());

                //
                // Get the time it takes to initialise
                //
                this.initialiseDelay = XmlUtilities.GetIntValue(xmlNodeDCdrive, Consts.STRXML_initialiseDelay);

                //
                // Determine the logging level for this class
                //
                try
                {
                    this.logLevel = (Logfile.LoggingLevels)Utilities.GetIntAppSetting(STRLOG_ClassName);
                }
                catch
                {
                    this.logLevel = Logfile.LoggingLevels.Minimum;
                }
                Logfile.Write(Logfile.STRLOG_LogLevel + this.logLevel.ToString());
            }
            catch (Exception ex)
            {
                //
                // Log the message and throw the exception back to the caller
                //
                Logfile.WriteError(ex.Message);
                throw;
            }

            Logfile.WriteCompleted(null, STRLOG_MethodName);
        }
Esempio n. 2
0
        //-------------------------------------------------------------------------------------------------//

        public DCDrive(XmlNode xmlNodeEquipmentConfig, DriverMachine.KeepAliveCallback keepAliveCallback)
        {
            const string STRLOG_MethodName = "DCDrive";

            Logfile.WriteCalled(null, STRLOG_MethodName);

            try
            {
                //
                // Initialise local variables
                //
                this.keepAliveCallback = keepAliveCallback;
                this.initialised       = false;

                //
                // Initialise properties
                //
                this.online         = false;
                this.statusMessage  = STRLOG_NotInitialised;
                this.lastError      = null;
                this.connectionOpen = false;
                this.speedSetpoint  = 0;

                //
                // Get the IP address and port number to use
                //
                XmlNode xmlNodeDCdrive = XmlUtilities.GetXmlNode(xmlNodeEquipmentConfig, Consts.STRXML_dcDrive);
                XmlNode xmlNodeNetwork = XmlUtilities.GetXmlNode(xmlNodeDCdrive, Consts.STRXML_network, false);
                this.ipaddr = XmlUtilities.GetXmlValue(xmlNodeNetwork, Consts.STRXML_ipAddr, false);
                IPAddress ipaddr = IPAddress.Parse(this.ipaddr);
                this.ipport = XmlUtilities.GetIntValue(xmlNodeNetwork, Consts.STRXML_ipPort);
                Logfile.Write(STRLOG_IPaddr + this.ipaddr.ToString() +
                              Logfile.STRLOG_Spacer + STRLOG_IPport + this.ipport.ToString());

                //
                // Get the network timeouts
                //
                XmlNode xmlNodeTimeouts = XmlUtilities.GetXmlNode(xmlNodeNetwork, Consts.STRXML_timeouts, false);
                this.receiveTimeout = XmlUtilities.GetIntValue(xmlNodeTimeouts, Consts.STRXML_receive);
                Logfile.Write(STRLOG_ReceiveTimout + this.receiveTimeout.ToString() + STRLOG_MilliSecs);

                //
                // Get Modbus slave identity
                //
                XmlNode xmlNodeModbus = XmlUtilities.GetXmlNode(xmlNodeDCdrive, Consts.STRXML_modbus, false);
                this.slaveId = XmlUtilities.GetIntValue(xmlNodeModbus, Consts.STRXML_slaveId);
                Logfile.Write(STRLOG_ModbusSlaveId + this.slaveId.ToString());

                //
                // Get the flag to determine if equipment initialisation is required
                //
                this.doInitialise = XmlUtilities.GetBoolValue(xmlNodeDCdrive, Consts.STRXML_doInitialise, false);
                Logfile.Write(STRLOG_DoInitialise + this.doInitialise.ToString());

                //
                // Get the time it takes to initialise
                //
                this.initialiseDelay = XmlUtilities.GetIntValue(xmlNodeDCdrive, Consts.STRXML_initialiseDelay);

                //
                // Determine the logging level for this class
                //
                try
                {
                    this.logLevel = (Logfile.LoggingLevels)Utilities.GetIntAppSetting(STRLOG_ClassName);
                }
                catch
                {
                    this.logLevel = Logfile.LoggingLevels.Minimum;
                }
                Logfile.Write(Logfile.STRLOG_LogLevel + this.logLevel.ToString());
            }
            catch (Exception ex)
            {
                //
                // Log the message and throw the exception back to the caller
                //
                Logfile.WriteError(ex.Message);
                throw;
            }

            Logfile.WriteCompleted(null, STRLOG_MethodName);
        }