wenzp 发表于 2018-8-26 11:45

ACP的进阶应用(利用脚本扩展功能)

本帖最后由 wenzp 于 2018-8-26 12:16 编辑

   今天来分享下ACP的进阶应用,怎样利用vbs、javascript等脚本程序拓展acp的功能。acp支持调用vbs、js等脚本程序,另外它还提供了一个名为userActions.wsc的模板windows脚本组件。我们只需把写好的脚本片段插入模板相应的位置就能在需要的时候调用脚本,实现需要的操作。下面我用一个实例(电动镜头盖)来说明怎么插入脚本。
    这里以虫子牌电动镜头盖为例。首先需要安装镜头盖的ascom驱动(附件),在mdl中导星相机的滤镜轮设置选择电动镜头盖ascom驱动。


    接下来需要激活userActions.wsc,激活(注册)步骤如下:
64位系统:
1、找到C:\Windows\SysWOW64\cmd.exe
2、鼠标右键,点击用管理员模式运行
3、CD \Program Files (x86)\ACP Obs Control   (进入文件所在目录)
4、regsvr32 UserActions.wsc

32位系统:
1、找到C:\Windows\System\cmd.exe
2、鼠标右键,点击用管理员模式运行
3、CD \Program Files (x86)\ACP Obs Control   (进入文件所在目录)
4、regsvr32 UserActions.wsc

此模板共提供了如下这些插入接口:

[*]Script start
[*]Script end
[*]Slew start
[*]Slew end
[*]Image start
[*]Image end
[*]Image completion
[*]Target start
[*]Target end
[*]Shutdown


我们只要在这些接口对应的位置粘贴脚本,就能实现我们需要的功能。例如在“slew start”位置粘贴一段打开镜头盖的脚本,那么程序就会在赤道仪goto之前打开镜头盖。每个接口看英文应该就能知道它的意思。下面是插入步骤:

这里提供一段打开镜头盖的脚本:

Dim cam                           ' "The" Camera object


Set cam = CreateObject("MaxIm.CCDCamera")


cam.LinkEnabled = True


if Not cam.LinkEnabled Then
    wscript.echo "*************Failed to start camera***********."
    wscript.sleep 5000
    Quit
End If


cam.GuiderFilter= 1
Util.WaitForMilliseconds(12000)


cam.GuiderFilter= 3
Util.WaitForMilliseconds(3000)





用记事本打开userActions.wsc,找到“slew start”这一行,把上面的脚本复制粘贴到如图位置然后保存





打开ACP控制台拍摄一个目标,看镜头盖是否在goto之前打开。

效果看视频:https://www.bilibili.com/video/av24707529/




AquariusMan 发表于 2018-8-26 12:26

天爱天团,有进无还。温总亮相,威武荡漾。----大黑赠{:5_296:}
页: [1]
查看完整版本: ACP的进阶应用(利用脚本扩展功能)