# 慧鱼板编程——ROBO PRO软件(小白笔记)
目录
- 写在前面的话
- 常用编程模块图形
- 等待输入
- 脉冲计数
- 循环计数
- 级别 2&3:子程序控制subprograms & 变量
- 子程序
- 带编码电机的电机控制
A. 延时函数模块 - 变量和指令
A. 并行进程
B.面板
未完待续————
写在前面的话
我是一名大一生,正在通过软件手册学习ROBO PRO,考虑到手册的知识内容量大,故写下此小白笔记,以供参考,如果对你也有帮助,自然是更好,谢谢!
ROBO PRO也是比较古老的软件了,许多操作小白使用起来颇有不便,但也是熟能生巧罢!软件的操作是比较形象的(流程图),学习起来应该是比较容易上手的。
常用编程模块图形

右键相应的模块可以打开他的属性框↓,从而调整他的输入输出端口、输入输出模式、以及各种属性信息
比如说下方的电键
Digital input:
I1-8是对应板子上的八个端口,MxE是对应编码器的输入(见下文编码电机部分)
Interface/ Extension:
选择拓展板以及外接板
Sensor type:
传感器类型
Swap···:
可以选择1/0分支的顺序不变,也可以调换顺序
电键在按下时,电路接通,此时为1

可以选择速度1-8
控制顺时针运动(cw clockwise)还是逆时针运动(ccw counterclockwise)还是停止

等待输入
等待控制板的某个输入由一种特定的方式改变为一种特定的状态。
“等待输入”模块也可以由“分支”模块的组合来代替,但是等待导入模块更简单,更容易理解。

脉冲计数

很多慧鱼机器人模型都使用脉冲齿轮。这些齿轮每旋转一圈会触动四次开关。有了这些脉冲齿轮,你可以以一个精确的转数来驱动电机,而不是根据给定的时间。为了达到这一点,你需要计算齿轮的某个输入处的脉冲数。脉冲计数模块(见左图)就是用来等待用户定义的脉冲数。对于这种模块,同样地,你可以设定所计脉冲为 0-1,1-0 或者两者皆可的。脉冲齿轮通常等待双向的变化,这样用一个四齿脉冲轮达到了每转 8 个脉冲的精度。
循环计数

(将程序中的特定部分多次运行
循环计数模块有一个内部计数器。如果循环计数通过=1 入口进入,则计数器被置为 1。 如果循环计数通过+1 入口进入,则计数器加上 1。根据计数器显示数值是否大于你先前设定的数值,循环计数分支将转到 Yes(Y)或 No(N)出口。因此,只有当循环次数与你先前设定的数值相等时,循环计数分支才会转到 Yes 出口。从另一方面来说,如果需要进一步的循环,循环计数分支将会转到 No 出口。作为一种判断模块, 你也可以通过属性窗口将Yes 与 No 出口互换。
类似c中的for循环
级别 2&3:子程序控制subprograms & 变量

这是新增的左侧边栏。
子程序
你可以新建一个子程序,会出现一个窗口,在窗口内你可以输入子程序的名称和描述
在子程序状态栏上面会显示新的子程序。
任何时候,你都可以点击子程序栏上的程序名在主程序和子程序之间切换。

出口同理。
事实上,这样的功能类似于c的函数,你将特定的功能封装到一个功能函数中,这样就可以在主函数中重复调用了。
在主函数中,你可以在Loaded programs 栏下的模块组窗口中找到它,还有你的程序名。如果你还没有保存过你的文件,则其文件名为 unnamed1。
带编码电机的电机控制
下图中,程序等待M2E (M2 Encoder M2编码器)变1(即M2完成了75次脉冲的计数),然后M2E停止。
M1E可以理解为上面的编码电机调用模块的一个返回值,当编码电机完成了上面的编码电机函数里咱设置的distance数值后给M1E返回一个1(M1E初值为0)。这个模块就相当于while(M1E)一直在等待M1E变成1。在线运行,也是没问题的哈。转1圈左右。

在这个过程中,程序可以进行别的操作,相当于M2编码器的输出变成了一个独立的事情
编码电机连接到 TX 控制板时,电机需要同时连接到 1 个输出接口(M1-M4)和 1 个计数器输入接口(C1-C4)。编码电机默认相同编号的计数器输入和电机的输出

题目是高级电机控制昂,右边动作状态里的synchronous distance是表示同步距离的意思,可以同时控制两个电机运行同样的圈数,以实现两个同步。
ps:
但是可能不能达到完全的同步,脉冲会存在先后的误差。
延时函数模块
这是基于过程化的编程,肯定要有等待程序。平行四边形M1E就是等待程序。点击一个普通延时模块,再右击查看属性,把数字量输入改到M1E就可以变成延时函数模块了。

变量和指令

你可以通过发送指令到变量,来改变变量中存储的值。一个变量可以接受三种不同的指令:=,+和–。=指令是用新值覆盖存储的值。+和–指令是对存储的值做加减值运算。
橙色的线与流程线相区别,代表了指令的输入输出。

在“分支,等待,…(Branch,Wait,…)”组中,你会发现 Yes / No 分支判断模块。
并行进程
程序中可以有多个开始模块,所有带有开始模块的程序都是并行运行的。

这样可以实现两个进程的同时性以及独立性,而变量可以在多个进程之间传递信息。
面板
ROBO Pro 里有面板。面板是一个你自己的可以放置显示和控制按钮的页面。

未完待续。
4950

被折叠的 条评论
为什么被折叠?



