You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FEI设备暗场倾斜的DM-Script命令访问方法咨询

FEI电镜暗场倾斜的DM-Script控制方案

针对FEI设备暗场倾斜的DM-Script控制需求,结合你遇到的现有命令问题,以下是直接对应硬件偏转器的解决方案:

核心问题分析

FEI设备的暗场倾斜由beam LX/beam LY/beam UX/beam UY四个偏转器直接控制,但常规束倾斜命令无法关联这些硬件参数:

  • EMGetBeamTilt(x,y):仅读取成像模式下的束倾斜,不关联暗场倾斜的偏转器参数
  • EMGetProjectorShift:GMS 1.x版本不支持该命令
  • EMSetBeamTilt(x,y):通过抽象层控制,在FEI设备上存在明显延迟和迟滞,且无法同步硬件旋钮状态

直接控制FEI偏转器的脚本方案

1. 读取暗场倾斜的偏转器数值

使用EMGetDeflectorValue命令直接读取对应硬件偏转器的当前值,该命令在GMS 1.x及以上版本均支持:

// 读取FEI暗场倾斜的四个偏转器参数
number lx, ly, ux, uy
EMGetDeflectorValue( "beam LX", lx )
EMGetDeflectorValue( "beam LY", ly )
EMGetDeflectorValue( "beam UX", ux )
EMGetDeflectorValue( "beam UY", uy )

// 输出结果到控制台
Result( "暗场偏转器当前值:\n" )
Result( "beam LX: " + lx + "\nbeam LY: " + ly + "\nbeam UX: " + ux + "\nbeam UY: " + uy + "\n" )

2. 设置暗场倾斜参数

使用EMSetDeflectorValue直接写入目标值,相比EMSetBeamTilt响应更快,无迟滞:

// 设置暗场倾斜的目标参数(根据需求调整数值)
number target_lx = 0.2, target_ly = 0.0
number target_ux = -0.2, target_uy = 0.0

EMSetDeflectorValue( "beam LX", target_lx )
EMSetDeflectorValue( "beam LY", target_ly )
EMSetDeflectorValue( "beam UX", target_ux )
EMSetDeflectorValue( "beam UY", target_uy )

3. 同步硬件旋钮与脚本状态

通过定时读取偏转器值,实现硬件旋钮操作与脚本状态的实时同步,示例如下:

// 定时同步函数:每100ms读取一次偏转器状态
void SyncDarkFieldTilt()
{
    number lx, ly, ux, uy
    EMGetDeflectorValue( "beam LX", lx )
    EMGetDeflectorValue( "beam LY", ly )
    EMGetDeflectorValue( "beam UX", ux )
    EMGetDeflectorValue( "beam UY", uy )
    
    // 可根据需求更新UI组件或记录状态,此处以控制台实时输出为例
    Result( "实时同步: LX=" + lx + " | LY=" + ly + " | UX=" + ux + " | UY=" + uy + "\r" )
}

// 启动定时同步(100ms间隔)
number syncTimer = AddMainThreadTimer( "SyncDarkFieldTilt", 100 )

// 若需停止同步,执行以下命令:
// RemoveMainThreadTimer( syncTimer )

注意事项

  • 偏转器数值的单位取决于设备配置,通常为毫弧度(mrad)或相对百分比
  • 部分FEI设备可能对偏转器参数有范围限制,超出范围会被自动截断

内容的提问来源于stack exchange,提问作者user6406828

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 12:15:32