TRIOBASIC编程指南:运动控制与I/O指令

需积分: 43 3 下载量 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的强大功能,使得开发者能够精确地控制翠欧控制器,实现复杂自动化任务。