TRIOBASIC编程指南:运动控制与I/O指令
需积分: 43 23 浏览量
更新于2024-07-20
1
收藏 1.63MB DOC 举报
"TRIOBASIC 是一种编程语言,用于控制翠欧(TRIO)品牌的运动控制器。本章主要介绍了TRIOBASIC的命令目录,包括运动及轴控制、输入/输出指令、程序循环和结构等多个方面的内容。"
在TRIOBASIC中,运动及轴命令是控制机械运动的核心部分,例如:
1. **ACC**:设置或查询加速度,用于平滑和精确的加速运动。
2. **ADD_DAC**:添加数字模拟转换器值,用于调整设备的电气特性。
3. **ADDAX**:添加新的轴定义,用于扩展系统控制的轴数量。
4. **AXIS**:操作和配置轴参数,如位置、速度和方向。
5. **BASE**:设定基准位置,为其他运动提供参考。
6. **CAM**:创建和应用凸轮曲线,实现复杂的非线性运动轨迹。
7. **CAMBOX**:管理凸轮箱,允许存储多个凸轮曲线。
8. **CANCEL**:取消当前的运动指令,确保安全停止。
9. **CONNECT**:连接或断开轴,用于多轴同步操作。
10. **DATUM**:设置工件坐标系,方便工件定位。
11. **DEC**:设置或查询减速度,与ACC配合使用。
12. **DEFPOS**:定义特定的位置标签,方便程序中的位置引用。
13. **DISABLE_GROUP**:禁用轴组,防止特定轴参与运动。
14. **ENCODER_RATIO**:设置编码器比例,用于校正实际运动与反馈信号间的差异。
15. **FORWARD**:设定轴的正向移动方向。
16. **MATCH**:使两个或多个轴同步到达相同位置。
17. **MHELICAL**:执行螺旋运动,适用于螺纹加工等应用。
18. **MHELICALSP**:设定螺旋运动的参数,如螺距和旋转次数。
19. **MOVE**:进行基本的直线运动。
20. **MOVEABS**:移动到绝对位置。
21. **MOVEABSSP**:设定绝对位置的移动速度和加速度。
22. **MOVECIRC**:执行圆弧运动。
23. **MOVECIRCSP**:设定圆弧运动的速度和半径。
24. **MOVELINK**:根据连杆关系移动轴。
25. **MOVEMODIFY**:修改已存在的运动指令。
26. **RAPIDSTOP**:快速停止所有运动,用于紧急情况。
27. **REGIST**:管理寄存器,用于存储和传递数据。
28. **REVERSE**:设定轴的反向移动方向。
输入/输出指令则涉及控制器与外部设备的交互:
1. **AIN**:读取模拟输入值,例如传感器信号。
2. **AINO..7/AINBIO..7**:读取模拟I/O端口的数据。
3. **CURSOR**:控制显示设备的光标位置。
4. **CHR**:将数值转换为字符。
5. **DEFKEY**:定义按键功能,响应用户输入。
6. **FLAG**和**FLAGS**:管理标志变量,用于状态指示。
7. **GET**和**GET#**:读取变量或文件中的数据。
8. **HEX**:将数值转换为十六进制表示。
9. **IN()**和**IN**:读取数字输入的状态。
10. **INPUT**:接收用户输入。
11. **INPUTS0/INPUTS1**:读取数字输入端口的状态。
12. **INVERT_IN**:反转数字输入信号。
13. **KEY**:检测并响应键盘事件。
14. **LINPUT**:从文件中读取一行文本。
15. **OP**:操作特定的控制器功能。
16. **PRINT**和**PRINT#**:打印或输出文本信息。
17. **PSWITCH**:管理电源开关状态。
18. **READ_OP**:读取控制器的操作状态。
19. **READPACKET**:解析接收到的数据包。
20. **RECORD**:记录指定的数据。
21. **SEND**:发送数据到外部设备。
22. **SETCOM**:配置通信参数。
23. **WAITIDLE**、**WAITLOADED**和**WAITUNTIL**:等待特定条件满足后再继续执行。
24. **WHILE**和**WEND**:实现循环结构,当条件满足时重复执行代码块。
程序循环和结构是编写TRIOBASIC程序的基础语法元素:
1. **BASICERROR**:处理错误并决定程序流程。
2. **ELSE**、**ELSEIF**和**ENDIF**:构建条件语句,执行不同的代码路径。
3. **FOR...TO...STEP...NEXT**:执行循环,从一个值到另一个值递增或递减。
4. **GOSUB**:调用子程序,然后返回主程序。
5. **GOTO**:无条件跳转到程序的另一部分。
6. **IF...THEN...ELSE...ENDIF**:基于条件选择执行代码。
7. **NEXT**:结束FOR循环。
8. **ON...GOSUB**和**ON...GOTO**:基于表达式的结果跳转到不同子程序或位置。
9. **REPEAT...UNTIL**:重复执行代码直到条件不满足。
10. **RETURN**:从子程序返回到调用点。
11. **STEP**:在FOR循环中指定步长。
12. **STOP**:停止程序执行。
13. **THEN**:与IF语句一起使用,标记条件满足时执行的代码。
14. **TO**:在FOR循环中定义终止值。
15. **UNTIL**:在REPEAT...UNTIL循环中定义结束条件。
此外,还有一些高级功能和系统控制命令:
1. **ADDRESS**:获取或设置地址信息。
2. **APPENDPROG**:追加程序到现有程序。
3. **AUTORUN**:设置程序自动运行。
4. **AXISVALUES**:查询轴的当前值,如位置、速度等。
5. **BATTERY_LOW**:检测电池电量低的状况。
6. **BREAK_ADD**、**BREAK_DELETE**、**BREAK_LIST**、**BREAK_RESET**:管理断点,调试程序。
7. **CAN**及相关命令:处理控制器的CAN总线通信。
8. **CHECKSUM**:计算数据的校验和,确保数据传输的准确性。
9. **CLEAR**和**CLEAR_PARAMS**:清除内存或参数。
10. **COMMSERRO**:处理通信错误。
这些命令和结构共同构成了TRIOBASIC的强大功能,使得开发者能够精确地控制翠欧控制器,实现复杂自动化任务。
2018-09-11 上传
2012-02-28 上传
2022-02-23 上传
点击了解资源详情
2024-02-05 上传
2017-11-29 上传
ixx5
- 粉丝: 913
- 资源: 6
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库