慧鱼机器人编程18子程序

举报
irrational 发表于 2022/01/17 22:40:10 2022/01/17
【摘要】 目的 复杂的程序会显得笨拙。想象一下,如果Windows操作系统是一个单一的程序,那么它的体积将会大到电脑难以启动它。事实上Windows操作系统是分解为一系列较小的部分,然后连接在一起的, Windows操作系统调用这些动态链接库,这些文件用.dll扩展名来标识。 在RoBo Pro中,我们可以编写一段能实现某种功能的代...

目的

复杂的程序会显得笨拙。想象一下,如果Windows操作系统是一个单一的程序,那么它的体积将会大到电脑难以启动它。事实上Windows操作系统是分解为一系列较小的部分,然后连接在一起的, Windows操作系统调用这些动态链接库,这些文件用.dll扩展名来标识。

在RoBo Pro中,我们可以编写一段能实现某种功能的代码为子程序,并使用一个唯一的名称。主程序可以在任意位置调用这些子程序。用户可以在主程序中看到清晰的逻辑关系,也可以打开相应的子程序以编辑它们。本节将向你介绍如何创建子程序。

设备:

TXT控制器、9V直流电源、导线

过程:

参照下图组装你的实验模型:

将它们连接到TXT控制器,微动开关以“常开触点”的接法分别连接输入端口I1和I2,电机连接到输出端口M1。

打开TXT控制器,通过USB将其连接到电脑。打开ROBO PRO软件,开始一个新的程序。将“level(级别)”设置为“Level 3:Variables(级别3:变量)”。通过工具栏中的“COM/USB”设置相应的连接方式。

接下来,在程序窗口中选择“Panel”标签页。

从“操作模块(Operating elements)”->“显示(Displays)”子分类中,将一个“文本显示框(Text display)”模块拖拽到编程窗口中。

右键单击“文本显示框(Text display)”模块,参照下图设置其属性。

从“控制模块(Control elements)”子分类中,拖拽两个“按钮(Button)”控件到编程窗口中。

给两个按钮分别命名为“Level1”和“Level2”,接着从“绘图(Drawing)”->“形状(Shapes)”子分类中,将一个矩形控件拖拽到编程窗口中。

如下图所示,拖拽这个控件绘制出一个较大的矩形。

若上图所示,你绘制的面积较大的矩形框会将前面的按钮和文本框控件覆盖住。现在,鼠标选中矩形框,它会显示为高亮。然后点击菜单栏中“Draw(绘图)”下的“Put object in background(将对象放入背景)”。如下所示。

之后,文本框控件和按钮控件就可以看到了。

你可以编辑你的文本框控件和按钮控件以满足你的面板设计要求,还可以任意更改它们的颜色。

创建子程序:

切换到主程序的“Function(功能)标签页”。

点击工具栏中的“Create a new subprogram(创建新的子程序)”图标。

为你的子程序指定一个唯一的名称(name),这个例子中使用名字“Location”。你还可以在“Description”文字框中对子程序进行描述。

一旦你点击“OK”,你会看到在“Main program(组程序)”选项卡旁边出现一个新的程序选项卡。 这就是你刚建立的子程序,点击该选项卡进入子程序的编程窗口中。

编辑子程序的第一步是建立“Entry(入口)”模块。这个模块与主程序中的“Start(开始)”模块类似。 你可以在“编程模块(Program elements)”->“子程序输入/输出口(Subprogram I/O)”子分类中,找到相关的模块。

将一个“入口(Entry)”模块和一个“出口(Exit)”模块拖拽到编程窗口中。

“Location”子程序的目的是显示汽车的位置。我们希望通过文本显示框显示出汽车的位置(取决于哪个微动开关被按下)。 为了显示信息,我们需要从“编程模块(Program elements)”->“输入、输出(Inputs、Outputs)”子分类中,拖拽一个“面板显示(Panel display)”模块到编程窗口中。

右键单击“面板显示(Panel Display)”模块,并将其分配给命名为“indicator”的文本显示框。

另外,为了判断哪个开关被按下,我们需要放置两个“数字分支(Digital branch)”模块。当不同的开关(起限位开关的作用)被触发时,需要文本显示框中显示不同的数值来表示,这就需要两个“赋值(Assignment)”模块。参照下图编辑你的子程序。

我们再次创建一个新的用于控制汽车运动的子程序,将这个子程序命名为“Move”。我们需要建立两个“通用输入(Universal input)”模块,并将它们分别分配给两个按钮控件。这个“Move”子程序的意思是按下某个按钮,控制电机(代表汽车)的运转,直到触发了该运行方向上的限位开关为止。

如下图所示编辑子程序Move。

“Move”子程序编辑完成后返回到主程序选项卡。放置一个“开始(Start)”模块。然后调用相应的子程序。

点击“载入的程序(Loaded programs)”分类,这里会显示出所有本地已经打开的Robo pro程序,如果这个程序你还没有命名,它会显示为未命名(unnamed)。在这里选择你的程序名称,你将在下面的模块窗口中看到主程序和所有建立的子程序模块,此时拖拽这些子程序模块就如同拖拽编程模块一样简单。

参照下图,编辑你的主程序。

切换到主程序下的“Panel(面板)”,在线运行该程序。

你可以按下level1或level2按钮,观察电机的动作。如果电机的运转方向不是你想要的,请调换电机上的接线。


 

文章来源: blog.csdn.net,作者:irrationality,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_54227557/article/details/121717475

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。