Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>AcSpec NextNew to Visual Studio Code? Get it now.
AcSpec Next

AcSpec Next

Yuxh

|
7 installs
| (0) | Free
Assist testers in rapidly drafting automated test scripts.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🚀 AcSpec Next

高效 · 精准 · 可扩展
专为控制器系统自动化测试设计的 VS Code 扩展,为 acspec 语言提供一站式 .tcs 脚本编辑、调试与验证能力。


✨ Features | 核心特性

功能 描述
⚡ 智能感知 (Intelligent Completion) 基于语法规则的上下文感知提示
🧩 代码片段 (Snippet Templates) 一键补全常用代码片段
🔍 实时校验 (Real-time Validation) 即时检测语法、参数错误
🎨 文档格式化 (Professional Formatting) 一键美化成标准格式
🌐 远程调试 (Remote Debugging) 集成 Webview 调试面板

🛠 Commands | 核心命令集

acspec 语言提供了精简而强大的指令集,并且可扩展,致力于为自动化测试提供全场景能力。

1. 声明文件类型

语法格式 说明
use init 指明文件类型为初始化,脚本直接执行,不做任何其它操作
use unit 指明文件类型为单元测试,脚本执行结束后,设备还原至初始状态

2. 声明执行模式

语法格式 说明
use strict 严格模式,脚本默认执行模式,可省略
use lenient 非严格模式,关闭 write 命令执行结果检查,默认操作成功

3. 写入

向指定寄存器写入值。特殊场景,比如操作模拟量输入AI地址时,可自定义线性输入时间。

语法格式 说明
write <地址>, <值>, [时间(ms)] 直接指定值
write <地址>, <源地址>, [时间(ms)] 值来源于另一个寄存器

4. 检测

检测指定寄存器的值,判定是否满足指定条件。

语法格式 说明
check <地址>, <值> 等于固定值
check <地址>, <源地址> 等于源寄存器的值
check <地址>, <最小值>, <最大值> 处于某一区间
check <地址>, <可能值1> \| ... \| <可能值N> 等于任一可能值, | 表示或

5. 轮询检测

轮询检测指定寄存器的值,判定是否满足指定条件。

语法格式 说明
check_poll <地址>, <值> 等于固定值
check_poll <地址>, <源地址> 等于源寄存器的值
check_poll <地址>, <最小值>, <最大值> 处于某一区间
check_poll <地址>, <可能值1> \| ... \| <可能值N> 等于任一可能值, | 表示或
check_poll <地址>, <可能值1> & ... & <可能值N> 等于所有可能值,& 表示且

6. 开启间隙检测

在每个步骤中间额外检测指定寄存器的值,判定是否满足指定条件。

语法格式 说明
watch <地址>, <值> 等于固定值
watch <地址>, <源地址> 等于源寄存器的值
watch <地址>, <最小值>, <最大值> 处于某一区间
watch <地址>, <可能值1> \| ... \| <可能值N> 等于任一可能值, | 表示或

7. 开启间隙轮询检测

在每个步骤中间额外轮询检测指定寄存器的值,判定是否满足指定条件。

语法格式 说明
watch_poll <地址>, <值> 等于固定值
watch_poll <地址>, <源地址> 等于源寄存器的值
watch_poll <地址>, <最小值>, <最大值> 处于某一区间
watch_poll <地址>, <可能值1> \| ... \| <可能值N> 等于任一可能值,| 表示或
watch_poll <地址>, <可能值1> & ... & <可能值N> 等于所有可能值,& 表示且

8. 关闭间隙检测

关闭指定寄存器值的额外检测,与开启命令成对使用。

语法格式 说明
unwatch <地址> -

9. 延时

等待一段时间,用于跟时间有关系的场景。

语法格式 说明
delay <时间(s)> -

10. 定时任务

给命令块添加一个定时器,块内命令执行一遍,计时结束后再继续执行后续命令。

语法格式 说明
schedule <时间(s)> {} -

11. 重复任务(按时间)

给命令块添加一个定时器,块内命令反复执行直至计时结束。

语法格式 说明
loop <时间(s)> {} -

12. 重复任务(按次数)

给命令块添加一个计数器,块内命令重复执行指定次数,计数结束后再继续执行后续命令。

语法格式 说明
count <次数> {} -

🍭 Grammars | 语法糖与高级特性

加入了一些有用的特性,让脚本更具表现力。

1. 重点高亮 (!)

在关键字后添加 !,调试面板中的对应命令文本将高亮显示,一眼识别关键步骤。

write! AI0, 0  // 这条指令在调试时会非常醒目!

2. 分布式模块标注 (:n)

完美支持分布式控制系统,通过地址后缀轻松区分不同模块。

// 假设一个分布式模块模拟量输入是AI地址(范围为AI0~AI5)、数字量输入是X地址(范围为X0~X9)
write AI0:0, 10 // 操作 0 号模块的 AI0 地址
write X9:1, 1 // 操作 1 号模块的 X9 地址

3. 地址位宽标注 (<地址>(地址位宽))

支持直接指定地址位宽,可以为16或32,默认为16,可省略不写。指定值的时候特别需要注意值的范围。

地址位宽 无符号 (≥0) 有符号 (<0)
16 0 ~ 65,535 -32,768 ~ 32,767
32 0 ~ 4,294,967,295 -2,147,483,648 ~ 2,147,483,647
write R5940, 9999 // 默认16位宽,可省略不写
write R5940(16), -30000 // 向R5940写入值-30000,值的范围符合16位有符号整数
write R5940(32), -99999999 // 向R5940写入值-99999999,值的范围符合32位有符号整数

4. 值的多种写法

支持值使用十进制、二进制、八进制、十六进制以及科学计数法表示,也支持使用下划线分隔,更易读。

// 十进制
delay 3

// 二进制
delay 0b11
delay 0B11

// 八进制
delay 0o3
delay 0O3

// 十六进制
delay 0x3
delay 0X3

// 科学计数法
delay 3e0
delay 3E0

// 使用下划线增强可读性
write R5940(32), 1_000_000

📝 Snippets | 代码片段

  • template init 初始化

  • template unit 单元测试


📥 Installation

  1. 打开 VSCode 扩展商店
  2. 搜索 AcSpec Next
  3. 点击 安装
  4. 创建一个 .tcs 文件

Made with ❤️ for Test Engineers.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft