using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SmartSEMControl { //sealed, 避免继承出新类造成重构 public sealed class FactoryHardware { //只读的静态成员 private static readonly FactoryHardware instance = new FactoryHardware(); // Explicit static constructor to tell C# compiler // not to mark type as beforefieldinit //C#的静态构造函数只有在当其类的实例被创建或者有静态成员被引用时执行, //在整个应用程序域中只会被执行一次。 static FactoryHardware() { } private FactoryHardware() { } //使用这个实例 public static FactoryHardware Instance { get { return instance; } } //其他使用的成员变量 private ISEMControl m_iSEM = new SmartSEM(); //成员变量 public ISEMControl ISEM { get { return m_iSEM; } } //属性,只能当前类创建 } //SEM控制 public interface ISEMControl { //缩放 float GetMagnification(); Boolean SetMagnification(float set); //焦距 float GetWorkingDistance(); Boolean SetWorkingDistance(float set); //亮度 float GetBrightness(); Boolean SetBrightness(float set); //对比度 float GetContrast(); Boolean SetContrast(float set); //自动亮度 float GetAutoVideo(); Boolean SetAutoVideoOff(); Boolean SetAutoVideoBrightness(); Boolean SetAutoVideoContrast(); Boolean SetAutoVideoBrightnessAndContrast(); //消像散 float GetAstigmatismX(); float GetAstigmatismY(); Boolean SetAstigmatismX(float set); Boolean SetAstigmatismY(float set); //自动消像散 Boolean CmdAutoStig(); //角度补偿 float GetTiltAngle(); Boolean SetTiltAngle(float set); //抓图 Boolean GrabImage(String filename, short xoff, short yoff, short width, short height, short type); //解冻 Boolean ImageFrozen(); //冻结 Boolean ImageLive(); //获取分辨率 int[] GetImageStore(); //设置分辨率 Boolean SetImageStore(float set); //样品台 float[] GetStagePosition(); float GetStageAtX(); float GetStageAtY(); float GetStageAtZ(); float GetStageAtT(); float GetStageAtR(); float GetStageAtM(); Boolean SetStageGotoX(float set); Boolean SetStageGotoY(float set); Boolean SetStageGotoZ(float set); Boolean SetStageGotoT(float set); Boolean SetStageGotoR(float set); Boolean SetStageGotoM(float set); Boolean MoveStageXY(float x, float y); //Scan Rotate角度接口 float GetScanRotation(); Boolean SetScanRotation(float set); //像素读取PixelSize float GetPixelSize(); //电子束校正设置 float GetTiltCorrection(); Boolean SetTiltCorrectionOff(); Boolean SetTiltCorrectionOn(); //开启电压 Boolean CmdOpenVoltage(); //关闭电压 Boolean CmdCloseVoltage(); //图像类型切换 Boolean DetectorType(float set); //执行宏文件 Boolean CMDMCFFilename(String filename); //样品台状态 float GetStageIs(); //自动函数状态 float GetAutoFunction(); //连接状态 Boolean ConnectStatus(); //清除控件 Boolean Dispose(); //Pt的控制 //PT针插入 void InsertPT(); //PT针退出 void OutputPT(); } interface FIBControl { //FIB的控制 } interface IPtControl { } interface StageControl { //样品台控制 } interface CommonMsg { //通用的信息 } }