//###########################################################################// // RAYTHEON PROPRIETARY: THIS DOCUMENT CONTAINS DATA OR INFORMATION // PROPRIETARY TO RAYTHEON COMPANY AND IS RESTRICTED TO USE ONLY BY PERSONS // AUTHORIZED BY RAYTHEON COMPANY IN WRITING TO USE IT. DISCLOSURE TO // UNAUTHORIZED PERSONS WOULD LIKELY CAUSE SUBSTANTIAL COMPETITIVE HARM TO // RAYTHEON COMPANY'S BUSINESS POSITION. NEITHER SAID DOCUMENT NOR ITS // CONTENTS SHALL BE FURNISHED OR DISCLOSED TO OR COPIED OR USED BY PERSONS // OUTSIDE RAYTHEON COMPANY WITHOUT THE EXPRESS WRITTEN APPROVAL OF RAYTHEON // COMPANY. // // THIS PROPRIETARY NOTICE IS NOT APPLICABLE IF DELIVERED TO THE U.S. GOVERNMENT // // UNPUBLISHED WORK - COPYRIGHT RAYTHEON COMPANY. // // WARNING: THIS DOCUMENT CONTAINS TECHNICAL DATA AND / OR TECHNOLOGY WHOSE // EXPORT OR DISCLOSURE TO NON-U.S. PERSONS, WHEREVER LOCATED, IS RESTRICTED // BY THE INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) (22 C.F.R. SECTION // 120-130) OR THE EXPORT ADMINISTRATION REGULATIONS (EAR) (15 C.F.R. SECTION // 730-774). THIS DOCUMENT CANNOT BE EXPORTED (E.G., PROVIDED TO A SUPPLIER // OUTSIDE OF THE UNITED STATES) OR DISCLOSED TO A NON-U.S. PERSON, WHEREVER // LOCATED, UNTIL A FINAL JURISDICTION AND CLASSIFICATION DETERMINATION HAS // BEEN COMPLETED AND APPROVED BY RAYTHEON, AND ANY REQUIRED U.S. GOVERNMENT // APPROVALS HAVE BEEN OBTAINED. VIOLATIONS ARE SUBJECT TO SEVERE CRIMINAL // PENALTIES. // // DOD 5220.22-M, INDUSTRIAL SECURITY MANUAL, CHAPTER 5, SECTION 1 THROUGH 9 : // FOR CLASSIFIED DOCUMENTS FOLLOW THE PROCEDURES IN OR DOD 5200.1-R, // INFORMATION SECURITY PROGRAM, CHAPTER 6. FOR UNCLASSIFIED, LIMITED DOCUMENTS // DESTROY BY ANY METHOD THAT WILL PREVENT DISCLOSURE OF CONTENTS OR // RECONSTRUCTION OF THE DOCUMENT. //############################################################################// using Raytheon.Communication; using Raytheon.Units; namespace Raytheon.Instruments { /// /// An interface for all Eload classes to implement. /// [UmsContract] public interface IEload : IInstrument { /// /// Turn off the Eload module. /// [UmsCommand( "IEload.Disable" )] void Disable( ); /// /// Turn on the Eload module. /// [UmsCommand( "IEload.Enable" )] void Enable( ); /// /// Queries IO with command /// /// /// [UmsCommand( "IEload.IOQuery" )] string IOQuery( string command ); /// /// Writes IO /// /// [UmsCommand( "IEload.IOWrite" )] void IOWrite( string command ); /// /// Query if the Eload module input is on. /// /// Status of Eload. True = On, False = Off. [UmsCommand( "IEload.IsInputOn" )] bool IsInputOn( ); /// /// Reads the current of the Eload module. /// /// The current (Amps) [UmsCommand( "IEload.ReadCurrent" )] Current ReadCurrent( ); /// /// Reads the mode of the Eload module. /// /// The mode. [UmsCommand( "IEload.ReadMode" )] EloadModuleMode ReadMode( ); /// /// Reads the overcurrent setting from an Eload module. /// /// The current (Amps). [UmsCommand( "IEload.ReadOverCurrentProtection" )] Current ReadOverCurrentProtection( ); /// /// Reads the overvoltage setting from an Eload module. /// /// The voltage (Volts). [UmsCommand( "IEload.ReadOverVoltageProtection" )] Voltage ReadOverVoltageProtection( ); /// /// Query the Eload module for the resistance. /// /// The resistance (Ohms). [UmsCommand( "IEload.ReadResistance" )] Resistance ReadResistance( ); /// /// Queries the Eload module for the setpoint value. Depends on operation mode. /// /// The setpoint value. [UmsCommand( "IEload.ReadSetpoint" )] double ReadSetpoint( ); /// /// Query the Eload module for the voltage. /// /// The voltage (Volts). [UmsCommand( "IEload.ReadVoltage" )] Voltage ReadVoltage( ); /// /// Reads the protection status from an Eload module. /// /// The protection status register [UmsCommand( "IEload.ReadProtectionStatus" )] ushort ReadProtectionStatus( ); /// /// Resets the Eload setpoint and mode to config file values /// [UmsCommand( "IEload.SetInitialSetting" )] void SetInitialSetting( ); /// /// Change the mode for the Eload module. /// /// The desired Eload module mode. [UmsCommand( "IEload.SetMode" )] void SetMode( EloadModuleMode mode ); /// /// Change the setpoint and operation mode of the Eload module. /// /// The new setpoint. /// The new mode. [UmsCommand( "IELoad.SetSetpoint" )] void SetSetpoint( double newSetpoint, EloadModuleMode mode ); } }