资源描述
如果您需要使用本文档,请点击下载按钮下载!目录1简介-用ROBO PRO软件控制慧鱼模型31.1ROBO PRO软件的安装31.2安装ROBO接口板的USB驱动程序41.3第一步72编程前的硬件快速测试102.1接口板与电脑的连接102.2接口板的设置102.3错误连接:未与接口板连接?122.4各部分都工作正常吗接口板的测试-123第一级:第一个控制程序143.1创建一个新程序143.2控制程序的模块153.3插入、移动和修改程序模块153.4连接各程序模块183.5对首个控制程序的测试193.6其他的程序模块203.6.1时间延迟203.6.2等待输入213.6.3脉冲计数213.6.4循环计数223.7在线和下载操作的差别223.8技巧和诀窍244第二级:运行子程序264.1第一个子程序274.2子程序库314.2.1子程序库的使用-314.2.2你自己的子程序库的使用314.3编辑子程序代号325第三级:变量、控制板和指令345.1变量和指令345.2变量和多个流程355.3控制板365.4计时器395.5子程序指令输入405.6列表 (阵列)435.7运算器446扩展接口板和多个接口板的控制486.1扩展接口板486.2多个接口板486.3子程序中的接口板分配506.4技巧和窍门506.5改变接口板的序列号或固件版本517程序模块的概述537.1基础模块(第一级)537.1.1启动537.1.2结束537.1.3数字分支537.1.4模拟分支547.1.5时间延迟547.1.6电动机输出557.1.7灯输出(第二级)567.1.8输入等待577.1.9脉冲计数器587.1.10循环计数器-587.2子程序1/O(第2-3级)597.2.1子程序进入(第二级)597.2.2子程序退出(第二级)597.2.3子程序指令的输入(第三级)597.2.4子程序指令的输出(第三级)607.3变量、序列(第三级)607.3.1变量(全局)607.3.2局部变量617.3.3常数-627.3.4定时器变量-627.3.5序列637.4指令(第三级)657.4.1=(赋值)657.4.2+(加)667.4.3 (减)667.4.4向右667.4.5向左667.4.6停止66如果您需要使用本文档,请点击下载按钮下载!7.4.7打开667.4.8关闭677.4.9文本677.4.10附加值677.4.11删除值677.4.12 交换值677.5比较,等待, . (Level 3)677.5.1判断(带数据输入)687.5.2固定值的比较687.5.3比较687.5.4延时697.5.5等待.697.5.6脉冲计数707.6接口板的输入、输出-707.6.1数字量输入707.6.2模拟量输入717.6.3红外输入727.6.4马达输出737.6.5灯输出737.6.6控制板输入747.6.7控制板输出757.7运算器757.7.1算术运算器767.7.2逻辑运算器768控制板模块和控制板:概述788.1显示788.1.1仪表788.1.2文本显示798.1.3指示灯808.2控制模块818.2.1按钮818.2.2滑块829绘图功能83如果您需要使用本文档,请点击下载按钮下载!1 简介-用ROBO PRO软件控制慧鱼模型你一定曾经问过自己,机器人是如何执行被分配的任务,看上去就象有一只无形的手在操纵它。但不仅仅是真正的机器人,在许多其它涉及到自动化控制技术的领域中同样如此,包括慧鱼机器人。在紧接着的章节中,我们将一起来为自动车库门设计一个小的控制程序。这样一来,我们可以知道怎么在ROBO Pro软件的帮助下,来解决这类控制问题并进行调试。ROBO Pro软件非常易于操作。控制程序以及我们即将学到的流程图和数字流程图可以生成图形化的用户界面,这一切几乎用鼠标就可以操作完成。为了通过电脑来控制你的慧鱼模型,必须要有ROBO Pro控制软件和一块接口板来将电脑和模型相连。接口板可以传输软件指令,比如控制马达和处理传感器信号。ROBO 接口板(货号93293)和早期的智能接口板(货号30402)都可以用。你可以选任意一种和ROBO Pro软件配套。但是ROBO Pro只支持智能接口板的在线控制模式。ROBO Pro不再支持老式的并行接口板(货号30520)。有关这本手册的内容分布:它分为两个部分。第一部分,从第一章到第四章,讲述了用ROBO Pro编程的基本步骤。这一部分提供了大量的信息和通用的编程背景知识,以及如何使用ROBO Pro软件。第二部分包含第五章至第七章。介绍了以后编程所需的一些功能。第八章之后是参考部分,所以在你阅读完第一部分且熟悉了ROBO Pro的操作之后,需要非常明确的信息,这里你可以找到各个单独编程模块的详细解释。你一定已经非常渴望知道如何来用ROBO Pro来对你的慧鱼机器人进行编程吧。OK,我们开始吧!1.1 ROBO Pro的安装安装ROBO Pro的系统要求:l 一台IBM兼容机,奔腾处理器600MHz以上,32M RAM和20M硬盘。l 分辨率1024*768以上的显示器l 微软视窗操作系统Windows 95, 98, ME, NT4.0, 2000 or XPl 一个空闲的USB接口和一个空闲的RS232接口(COM1-COM4),用以和ROBO接口板(货号93293)相连。或者一个空闲的RS232接口(COM1-COM4)用来和早先的智能接口板相连。首先,启动计算机登陆操作系统。ROBO接口板只有在软件正确安装后才能电脑相连。将安装光盘插入光驱,安装程序就自动启动了。.l 在安装程序第一个的欢迎窗口中,你只需按一下NEXT按钮。l 第二个窗口是重要提示,包括重要的程序安装和程序本身更新提示。这里也只要按NEXT按钮。如果您需要使用本文档,请点击下载按钮下载!l 第二个窗口是许可协议,显示ROBO Pro的许可契约。你必须按YES接受协议并按NEXT进入下一个窗口。l 下一个窗口是用户详细资料,请输入你的名字等信息。l 下一个窗口是安装类型,允许你在快速安装和自定义安装中选择。在自定义安装中,你可以选择单个组件来安装。如果你是在旧版本的ROBO Pro基础上安装新版本的ROBO Pro,而且你已经修改了旧版本的范例程序,你可以选择不安装范例程序。如果你不这么做,你已经修改过的旧版本范例程序会在没有提示的情况下被自动覆盖。如果你选择自定义安装并按NEXT,会出现一个新的选择组件窗口。l 在安装目标目录窗口,允许你选择将ROBO Pro安装到的目标文件夹或者目录。默认路径是C:ProgramsROBO Pr。当然,你可以选择其他的路径。l 当你在最后一个窗口,按下Finish按钮,安装就完成了。安装一旦结束(一般需要等几秒钟),程序会提示安装成功。如果安装有问题,会有错误信息出现,帮助你解决安装问题。1.2 安装ROBO接口的USB驱动程序如果新的ROBO接口连接到USB端口,你需要执行这个步骤。ROBO接口也可以连接到COM串口(COM1-COM4)。如果是以前的智能接口板,就不需要这个步骤了,因为智能接口板只能连接到串口。旧版本的WINDOWS,Windows 95和Windows NT4.0都不支持USB端口。在Windows 95或者NT 4.0平台上,ROBO接口只能通过串口连接。在这种情况下,不需要安装USB驱动程序。USB驱动程序需要有系统管理员的权限才可以安装。你必须请你的系统管理员来安装驱动程序或者不安装这个驱动程序,否则安装程序会提示你没有安装USB驱动程序的权限。在这种情况下,你只能通过比较慢的串口连接ROBO接口。在Windows 2000和Windows XP:平台上安装驱动程序的注意事项:如果您需要使用本文档,请点击下载按钮下载!在安装USB驱动程序之前,请先用一根USB连接线连好ROBO接口板和你的计算机,并接上电源。系统会自动发现新硬件,并出现如下窗口:由于操作系统的不同,出现的窗口有可能与以上的图示略有不同。你必须选择Install from a list or specific location ,再按Next。如果您需要使用本文档,请点击下载按钮下载!在下一个窗口,你不要选择Search removable media选项,选择Include this location in the search选项。单击Browse,选择ROBO Pro安装目录(通常是C:ROBOPro)下的USB Driver Installation子目录。在Windows XP平台上,在按“Next”后,你可能会看到一下信息。这个USB驱动程序正经微软测试。一旦测试完成,微软会更新驱动程序,这个信息就不会出现了。需要安装这个驱动程序,请按“Continue Anyway”。如果您需要使用本文档,请点击下载按钮下载!最后会出现如下信息:单击Finish,USB的驱动程序就安装完毕了。1.3 第一步好奇吗? 那么启动ROBO Pro软件吧.。只要点击任务栏中的开始按钮,然后选择“程序”或者“所有程序”和ROBO Pro。在开始菜单中,可以找到如下几个选项: 如果您需要使用本文档,请点击下载按钮下载!选择“Uninstall ” 选项可以方便地卸载ROBO Pro软件。选择“ Help ”选项可以打开ROBO Pro 的帮助文件,而选择“ ROBO Pro” 可以打开 ROBO 程序。现在选择“ ROBO Pro”启动程序。窗口中有一个菜单栏和工具栏,上面有各种操作按钮,左面的窗口里还有各种不同的编程模块。如果在左边出现了两个层叠的窗口,那么ROBO Pro没有 设定在“第一级”。 为了让ROBO Pro功能适应你知识的增长,可以将ROBO Pro设定在第一级的初学者和第五级的专家级之间。打开“ Level”菜单看是否有标识为 Level 1: Beginners。如果不是,请切换到第一级。如果您需要使用本文档,请点击下载按钮下载!现在你可以创建一个新程序,也可以打开一个已经存在的程序文件。我们在第三章才会去写我们的第一个控制程序,之前还不打算创建新程序。为了更好熟悉全新的用户界面,我们来打开一个现成的范例程序。这样,你可以点击 File 菜单中的Open 选项,或者用工具栏中的 Open按钮。 范例程序可以在文件夹C:ProgramsROBO ProSample programs中找到。Open打开文件Test00 Motor start Stopp.rpp:这里可以看到一个简单的ROBO Pro 程序的外观。编程时,将模块窗口中的编程模块在编程窗口中组建成控制程序流程图。然后,在用接口板进行测试之前,可以对已完成的流程图进行检查。但不要太快了:我们应该在以下的几章中一步步地学习编程!你已经对用户程序有第一印象了吧,你可以用如果您需要使用本文档,请点击下载按钮下载!File 菜单中的Close 指令关闭程序文件。对于是否要保存文件,可以回答 No。如果您需要使用本文档,请点击下载按钮下载!2 编程前的快速硬件测试很明显,必须先将接口板和电脑相连, 以便稍后可以测试我们将要新建的程序。但是, 根据所连接的接口板(ROBO 接口板,货号 93293或者先前的智能接口板,货号 30402),必须进行适当的软件设置和连接的测试。 在接下来章节里就将进行这项工作。2.1 将接口板和电脑相连这应该不是个大问题。将随接口板所带的连接电缆一端接到接口板,另一端接到电脑: 对于ROBO 接口板 (货号 93293) 既可以用USB 接口,也可以用四个串口 COM1 to COM4 中的一个。 对于智能接口板 (货号30402) 必须用四个串口 COM1 to COM4 中的一个这些端口通常可以在计算机机箱的后部可以找到。各个连接端口的准确位置应该在你的电脑用户手册中有准确的描述;请查阅之。USB 端口也经常可以在你的电脑前部找到。不要忘了给接口板供电(开关电源或者电池)。各个接口板的连接在相应的用户手册中有详细描述。2.2 接口板的正确设置为了使接口板和电脑间的连接工作正常,ROBO Pro 必须对当前使用的接口板进行设置。具体来说,用开始菜单中的 Programs 或者All programs 下的ROBO Pro 来启动 ROBO Pro 程序,然后点击工具栏中的 COM/USB 。出现如下的窗口:这里你可以选择端口和接口板的类型。如前所提到的,智能接口板只支持串口COM1COM4.。如果您需要使用本文档,请点击下载按钮下载!Test一旦选定了适当的设置,点击“OK ”,关闭窗口。然后,可以点击工具栏中的“ Test ”,打开接口板测试窗口。其中显示了接口板有效的输入和输出。窗口下方的绿条显示了电脑和接口板的连接状态。 Interface connection OK指示已与接口板准确连接。 No connection to Interface表明电脑和接口板还无法建立正确连接。状态条显示为红色。为了更换接口板或者改变连接设置,你必须先关闭测试窗口 (点击右上方的 X) ,然后通过工具栏中的COM/USB ,选择如前所述的其它端口或者其它接口板类型。如果你已经在电脑和接口板之间建立了连接,而且出现了绿色的状态条,那么你可以放心地跳过下一节的内容。如果没能建立连接,也许下一节的一些提示可以帮你解决问题。如果您需要使用本文档,请点击下载按钮下载!2.3 错误连接: 未与接口板建立连接?无论你用的是ROBO接口板还是智能接口板,尽管你已经正确地设置了端口(见上一节),但还是得到了“ No connection to Interface ”的信息,你应该在以下几点中寻找原因。另外,你还可以从电脑专家那里寻求建议: 电源:接口板用了适当的电源吗?如果你随意取用了电池或者是可充电的电池作电源,问题可能在于电源的电力不足了。如果电池的电压跌到6V以下,ROBO接口板的处理器就停止工作了。这种情况下,红色LED持续点亮或者没有LED亮起。如果电压正常的话,会有些绿色的LED闪亮。对于以前的智能接口板,则不容易从LED上来判断是否供电电压不足。如果电压过低,你必须更换合适的电池,或者给电池充电。如果可能的话,最好使用直流稳压电源来测试接口板。 端口工作正常吗?你可以用其它串口设备,比如外置调制解调器等,接到端口上来验证。 是否和其它设备驱动器(外置调制解调器)在同一个端口上冲突?需要把此驱动器置为无效。(见微软或设备手册)。 只发生在Windows NT/2000/XP 和 智能接口板配合的系统中:如果一块早先的智能接口板已经和电脑相连,电脑在上电启动的时候, Windows NT 会将接口板切换到下载模式。为了重新和电脑建立连接,你仅仅需要暂时中断接口板的电源。这个问题对于新的 ROBO 接口板不存在。 如果你还是无法和接口板建立连接,那有可能是接口板或者连接电缆出错了。 这种情况下,你可以咨询慧鱼服务部门。.2.4 各部分都工作正常吗 接口板测试Test一旦连接正确建立了,我们就可以通过接口板测试窗口来测试接口板和与它相连的模型。如前所提及的,测试窗口显示了接口板的各种输入和输出: 数字量输入 I1I8I1I8 是接口板的数字量输入。这里可以接各种传感器。数字量输入只有两种状态0和1,或者Y和N。开关(迷你按键开关),光电传感器或者干簧管(磁性传感)可以作为数字量输入来连接。你可以将一个迷你传感器(货号37783)接到接口板上,比如I1,来检查这些端口的功能(用开关上的触点1 和 3 )。一按下开关,I1的的显示接出现一个检查标志。如果你连了开关的另一种方式(触点1 和 2),当你按下开关的时候检查标志就消失了。 马达输出 M1M4M1 M4是接口板的输出。这里可以连接所谓的执行器,可以是马达、电磁铁或者灯。这四路马达输出可以改变方向和8级调速。速度可以用滑块控制,旁边也有数字作为速度显示。如果你要测试输出,可以将一个马达接到输出端,比如M1。如果您需要使用本文档,请点击下载按钮下载! 灯输出 O1O8每个马达输出也可以用作一对单个的输出。这些输出不仅可以用作灯的控制,也可以用作单向马达的控制(比如传送带马达)。如果你要测试其中一个输出,可以将一个灯接到输出,比如O1。可以将灯的另一个接到接口板的接地插孔 ()。 模拟量输入 AXAY模拟量输入 AX 和 AY测量所连接传感器的阻抗。这里可以连接用来测温的 NTC 电阻,电位计,光敏电阻或者光敏晶体管。 模拟量输入 A1A2这两个可以测量010V电压输入。 距离传感器 D1D2只有特殊的距离传感器可以接到距离传感器输入端D1和D2。数字信号和模拟信号对D1和D2都有效。 扩展板 EM1EM3这里可以连接扩展接口板 (ROBO 接口板最多可以接三块货号为93294的I/O扩展板,但智能接口板最多只能接 一块货号为16554的扩展板)。可以用点击窗口上部标签的方法在不同的扩展接口板之间切换。 如果您需要使用本文档,请点击下载按钮下载!3 级别一:第一个控制程序测试完了硬件,即接口板和连接其上的开关与电动机(第一章中提到),我们将着手开始编程。但“编程”到底是什么意思呢?那么请想象以下的情况:一个机器人被接到了我们的接口板上。但这个机器人因为非常笨,无法自己独立地工作。幸好,我们比它要聪明一点。因此我们可以告诉它究竟该做些什么以及怎么做。还记得在上一章中我们用鼠标左键放置在马达输出M1上,发生了什么吗?是的,我们启动了马达。如果这个马达用来驱动机器人的夹爪,那我们只需要告诉机器人:“抓住那个物体!”但现在我们不想每一步都自己动手做,我们希望让机器人自动地完成这一切。为了达到这个目的,我们必须首先储存每一个将被执行的步骤,只有这样,机器人才能逐个地完成这些步骤。即我们必须创建一个可以控制机器人的程序,专业术语称之为“控制程序”。3.1 创制一个新程序NewROBO PRO软件为我们设计控制程序并借助连接的接口板进行测试,提供了一个很好的平台。别担心,我们不会立即开始给机器人编程。我们首先要进行一些简单的控制任务。因此我们必须创建一个新的程序。在工具栏中,你可以看到“New”。如果你把鼠标左键点击它,即可建立一个新程序。现在,你将看到一个大书写区域,你将在这里面编写第一个程序。如果你在左边的边缘区域内看到两个层叠的窗口,请切换到第一级:“级别”菜单中的“初学者”。如果您需要使用本文档,请点击下载按钮下载!3.2 控制程序的模块现在我们可以开始创建我们第一个控制程序了。我们将基于一个具体的例子:功能描述:请想象一扇可以自动打开的车库大门,可能你家里就有一扇!你开着车到了车库门口,然后按了一下传达器的按钮,门便由一个电机牵引着打开了。这台电机一定要保持运转,直到门完全打开。用文字实在是很难形象地描述一个控制程序,因此我们用“流程图”来帮助描述一系列将被执行的动作以及完成这些动作所需的条件。在我们的控制系统中,动作“启动电机”的条件是按下按钮。这些流程图读起来很容易:一步步按着箭头的顺序就可以了!同时也展示了控制系统的工作过程每一个步骤都只能沿着箭头所指的路径完成,而不是任何其他路径。这样可以省下很多麻烦,不是吗?我们可以利用ROBO PRO软件精确地画出这张流程图,并依此为连接着的硬件(接口板,马达,开关等)创建控制程序。其它的任务都由软件完成。因此让我们集中精力来完成流程图创建吧。你将各种程序模块连到一起形成了流程图。又一个新的概念?别担心!在ROBO PRO软件中,把放在一起形成流程图的各个摩块称之为程序模块。 “启动电机”这一 动作仅仅意味着:接口板应该事实上启动连接在其上的电机!你可以在左手边的模块窗口中找到有效的各种程序模块。3.3 插入、移动和修改程序模块现在的任务是根据模块窗口中的程序模块创建一个车库大门控制系统的流程图。所有可被利用的程序模块都可从模块窗口中取得,并插入到程序窗口中。插入程序模块把鼠标移动到想使用的程序模块的符号上,并单击左键。然后把鼠标移动到程序窗口内(即那块白色的大区域),再单击一次。你也可以通过按住鼠标键把程序模块拖入程序窗口。程序总是起始于一个“开始” 模块。它是一个有着正在行走的小绿人的圆形按钮。最方便的一种办法就是:在模块窗口中直接用鼠标左健单击“开始”模块,把鼠标移到程序窗口中,再单击一次左键。如果您需要使用本文档,请点击下载按钮下载!程序流程图中的下一个模块是查询输入,并按照其不同状态进入不同的分支。在模块窗口中,用鼠标点击在正确的模块上,并将其移动到刚才插入的“开始”模块下。如果 “分支”模块的上部输入端就在“开始”模块下部输出端的下方一两个格子,那么程序窗口中会出现一条连接线。如果再次单击左键,则“分支”模块会被插入,并自动与“开始”模块连接。移动程序模块和组可以通过按住鼠标左键,将一个已插入的程序模块移动到理想的位置。如果你想将一些模块合并成一组同时移动,你可以首先按住鼠标,沿着这些模块的外围画出一个框。具体做法是:在空白区域单击左键,并按住左键不放,用鼠标画出一个包含了所需模块的矩形区域。在此矩形区域中的模块将会显示为有红色的边框。你只要用鼠标左键移动这些红色模块之中的一个,所有的红色模块都被同时移动。你还可以用左键单击单个的模块,同时按住shift键,来使中它们。如果你将左键在空白区域单击,所有的红色标记的模块全部都会再次回到原来的正常状态。复制程序模块和组有两种方法复制程序模块和组。一种方法和移动模块差不多,只是在移动前必须先按住键盘上的CTRL 键并且不放,直到移到了指定位置。这样,模块并未被移动,而是被复制了。但是,你只能用这种方法将模块复制到同一个程序中。如果你希望将模块从一个程序复制到另一个程序中,你可以使用窗口中的剪贴板。首先用前一部分中描述的移动模块的方法,选中一些模块。然后同时按下键盘上的 CTRL和C键,或者在编辑菜单中选择“复制” ,于是所有的已选模块都会被复制到窗口中的剪贴板上。接着你可以切换到另一个程序中,并通过同时按下键盘上的 CTRL和V键,或者在编辑菜单中选择“粘贴”,再次在新程序中插入模块。一旦模块被复制,你可以无数次地粘贴它们。如果你想将模块从一个程序移动到另一个,你可以在第一步时,同时按下键盘上的 CTRL和X键,或者在编辑菜单中选择“剪切”,而非CTRL和C键,或“复制”。删除模块和撤销功能Delete删除模块很容易。你可以通过按下键盘上的“delete”键(Del),删除所有标记为红色的模块。同样也可以用“删除”功能删除单个模块。具体做法是,首先在工具栏中点击如左图所示的按钮,然后在要删除的模块上点击一下。现在就试试吧。然后,你可以重新插入被删除的模块,也可以利用“编辑”菜单中的“撤销”功能恢复已被删除的模块。使用这个菜单项,你可以撤销任何对程序所作的改动。如果您需要使用本文档,请点击下载按钮下载!编辑程序模块的性能如果你用鼠标右键点击程序窗口的程序模块,会出现一个 对话窗口,你可以在里面改变模块的各种属性。“分支”模块的属性窗口如右图所示。 l 在I1至I8按钮的选项中,你可以选择所要查询的接口板的输入端。l 接口板 / 扩展板选项一直到第六章(第48页的扩展模距和多个接口板的控制)才会讲到。l 在Image一栏中,你可以为与输入端相连的传感器选择一个图示。数字量输入端最常用的是按键式传感器,但也经常使用光电传感器或干簧管开关。l 在Interchange 1/0 connection一栏中, 你可以交换分支出口1与分支出口0的位置。通常出口1在下方,出口0在右边。但有时让出口1在右边更实用。选中Interchange 1/0 connection,则一旦选择OK并关闭窗口,连接1与0就会立即更换位置。小贴士:如果使用迷你开关的一对常开触点,1端与3端,则一旦按下开关,程序将连入分支1,而非分支0。如果使用迷你开关的一对常闭触点,1端与2端,则一旦按下开关,程序将连入分支0,而非分支1。我们的车库门控制系统中下一个模块是“电机”模块。用和插入前两个模块一样的方法将“电机”模块插入“分支”模块下。最好插在一个可以使其自动与以上模块连接的位置。通过“电机”模块,我们可以控制电机,电灯或者电磁铁。同样,你也可以通过右击模块来打开电机模块的属性窗口。l 你可以通过选择M1 至 M4,来选择所要控制的接口板输出。l 在类型一栏中,你可以选择代表连接到输出端的慧鱼元件的图示。l 接口板 / 扩展板选项一直到第六章(第48页的扩展模距和多个接口板的控制)才会讲到。l 在动作状态一栏中,你可以选择输出动作类型。可以让电机向左转(逆时针),向右转(顺时针)或者停止电机。同样也可以控制一盏灯。如果您需要使用本文档,请点击下载按钮下载!l 在Speed/Intensity 一栏中,你可以设定电机运转的速度或者灯的亮度。可能的数值为1至8。在我们的流程图中,我们应把参数置为电机 M1在速度8左转。3.4 连接各程序模块现在,你已经知道了如何把模块插入控制程序,我们就可以继续来完成控制程序的编制。回想一下车库门控制系统的功能描述:还有遗漏的吗?是的,我们可以通过按按钮来启动电机,但一旦门打开,电机应该能自动关闭!在实践中,这是由限位开关来实现的。这个传感器安装在门上,直到门完全打开的一刻,传感器动作。与启动电机时一样,这个信号可以用来关闭电机。我们可以再次使用“分支”模块来查询限位开关的状态。因此,在程序中插入另一个判断模块,用来查询限位开关I2的状态。别忘了右击模块,对输入I2进行设置。一旦车库门完全打开,并且压住了限位开关,电机就应该停下来。通过使用“电机”模块就可以做到这一点,和我们启动电机用的是同一个模块。如果你右击模块, 可以通过改变模块的功能来使电机停止。程序在“停止”模块处结束。你的程序应该与右图基本相同。如果你放置的模块相互间相隔仅一两格子,则大多数的进口与出口都将由程序流程来连接。但两个“分支”模块的No (N) 出口还未被连接。只要输入 I1 的按钮未被按下,程序应退回并重新查询开关状态。 可以通过相继在下图所示处点击鼠标,来连接这条线。小贴士:如果线没有被正确连接到一个接点或另一条线,将会在箭头处出现绿色矩形。在此情况下,你应该通过移动或删除及重画线条来重新建立连接。否则,程序运行到了这一点就不会再运行下去。删除程序流程线删除程序流程线和删除程序模块的方法一样。左击这条线,使得它显示为红色。然后按下键盘上的删除 (Del) 键来删除这条线。如果同时按住shift 键,然后连续点击那些线,你也可以选中多根线。除此以外,你还可以通过框起这些线,来选中它们,然后再按下Del键一下子删除所有红色的线。如果您需要使用本文档,请点击下载按钮下载!3.5对首个控制程序的测试为了测试我们的首个控制程序, 你应该建立一个小型模型。为了达到这一点, 在接口板上将开关连接到I1 与I2,同时接一个电机到M1就可以了。注意:如何将接口板连接到计算机以及如何建立接口板设置已在前几章中讲到,你可以参见前面几章。 在测试程序前,你应该在你的电脑硬盘上保存程序文档点击File(文件)菜单中的指令Save as (保存为)以下窗口会出现:在 “Save in”(保存位置)中,选择你想要保存的目录。在“Filename”(文件名)中,输入一个还未被使用的名字, 例如:. 车库门,然后用左击 “Save”(保存)来确认。Start为了测试这个程序, 应按下工具栏中的开始键。(见左图)首先,ROBO Pro 会测试是否所有程序模块都被正常连接。如果由某个模块没有适当连接或出现一些顺序错误,会标示为红色,描述错误的信息会出现。例如:如果你忘了连接一个程序分支的No (N) 出口,以下信息会出现:如果您需要使用本文档,请点击下载按钮下载!如果你已经接受了一条错误信息, 你必须首先排除其中指出的错误。否则,程序无法启动。注意:你可以在第 22页的第3.7节找到这种操作模式和“下载操作”模式的详尽解释。第一个“分支”模块将被标示为红色。这表示程序正在模块处等待某一事件的发生,即按钮 I1的按下,因为这样可以使大门打开来。只要在输入I1处的开关未被按下,程序转到No (N) 出口并重新回到分支的开始处。现在按下与接口板的输入I1连接的开关。 这样就满足了继续下去的条件,于是电动机就启动了来。下一步, 程序等待着在输入I2上的限位开关被按下。一旦你按下接在I2端的限位开关,程序的分支将会转到第二个电机模块,使电动机再一次停止。最终,程序将到达程序终点处。此时会出现一条信息,告知程序已结束。一切都通畅无阻吗?恭喜了!这意味着你已经创建并测试了你的首个控制程序。如果程序没有正常运作,别泄气,再重新仔细检查一遍:一定在哪里还隐藏着一个错误。没有一个编程员是不犯错误的,同时,犯错是学习的最好方法,所以加油吧!3.6其他程序模块如果你已经将首个控制程序在真正的车库门模型上作了试验,那现在门应该可以打开了。那我们能否再将其关上呢?当然可以。我们可以再次通过按按钮来启动电机!但我们想用其它的方法,并且学习一种新的程序模块。为了达到这一点, 你首先应用一个新名字保存程序(我们以后还会用到当前的流程图)使用File(文件)菜单中的Save as(保存为),并输入一个未被用过的文件名。3.6.1时间延迟在我们可以扩展流程图之前,必须删除在“关闭电动机”和“程序停止”之间的连接,并且将停止模块向下移。现在,你可以在这两个模块之间插入新的程序模块。假设车库大门将在10秒后自动关闭。为了达到这一点, 你可以使用时间延迟程序模块(见右图)。你可以通过右击模块,在一定的时间范围内,设定自己需要的等待时间。这里,输入10秒为理想的时间延迟。为了关上车库大门,电机向另一个方向,即顺时针运转。并且电机在另一个限位开关I3压住时关闭。如果您需要使用本文档,请点击下载按钮下载!Start最终的流程图看起来应该大致如右图所示。为了演示,新的程序模块被搬到了右边。一旦流程图中没有错误,你就可以按下Start(开始)按钮,来测试扩展了的车库门控制系统。按下I1处的按钮,电机启动。并在I2处的限位开关压下时关闭。这就是如何打开车库门。现在经时间延迟模块延时了10秒,是我们设定的。然后,电机开始反向运转,直到在I3处的限位被压下,电动机停止运转。你可以试着改变一下延迟时间。3.6.2等待输入除了时间延迟模块,还有另外的两个模块,用来等待一些使程序继续运行的东西。如左图所示的等待输入模块,等待接口板的某个输入由一种特定的方式改变为一种特定的状态。这个模块共有五种不同的形式。符号等待输入=1(闭合)输入=0(打开)跳变0-1 (打开到闭合)跳变1-0 (闭合到打开)任一跳变 (1-0 or 0-1)用“分支”模块实现相同功能“等待输入”模块也可以由“分支”模块的组合来代替,但是等待导入模块更简单,更容易理解。 如果您需要使用本文档,请点击下载按钮下载!3.6.3脉冲计数很多fischertechnik 机器人模型都使用脉冲轮。这些齿轮每旋转一圈会触动四次开关。 有了这些脉冲轮,你可以以一个精确的转数来驱动电机,而不是根据给定的时间。为了达到这一点,你需要计算接口板的某个输入处的脉冲数。脉冲计数模块 (见左图)就是用来等待用户定义的脉冲数。对于这种模块,同样地,你可以设定所计脉冲为0-1,1-0或者两者皆可的。脉冲轮通常等待双向的变化,这样用一个四齿脉冲轮达到了每转8个脉冲的精度。3.6.4循环计数有了循环计数模块,你可以十分简单地将程序中的特定部分多次运行。例如右图所示的程序,把接到 M1处的灯开关10次。循环计数模块有一个内部计数器。如果循环计数通过=1 入口进入,则计数器被置为1。 如果循环计数通过+1 入口进入,则计数器加上1。根据计数器显示数值是否大于你先前设定的数值,循环计数分支将转到Yes (Y)或No (N)出口。因此,只有当循环次数与你先前设定的数值相等时,循环计数分支才会转到Yes出口。 从另一方面来说,如果需要进一步的循环,循环计数分支将会转到No 出口。作为一种判断模块, 你也可以通过属性窗口将Yes 与No出口互换。3.7在线和下载操作的差别Start至此,我们已经用被称之为在线操作的方式测试了控制程序。 这样,你可以在屏幕上跟踪程序的进程,因为当前活动的模块在屏幕被标示成红色。你可以用在线方式来帮助理解程序或者找出程序中的错误。Pause在线方式下,你还可以通过按Pause (暂停) 按钮来停止程序并继续执行程序。这非常实用,因为它可以使你在不停止程序的情况下,得到一些有关你的模型的数据和资料。如果你正试图理解程序运作的原理,暂停按钮十分有用。如果您需要使用本文档,请点击下载按钮下载!Step有了Step 按钮, 你可以一个模块一个模块地分步执行程序。每次只要你按下Step按钮, 程序会自动转入下一个程序模块。如果你执行时间延迟或等待模块, 它还可以使程序向下一个模块转换的时间延长。Download如果你有一个ROBO 接口板 (而非智能接口板),你还可以使用下载操作代替在线操作。在线操作中,程序是由你的电脑执行的。在此模式下,电脑将控制指令,例如 “启动电机”传送到接口板。 为此, 只要程序运行,接口板必须与电脑相连。而在下载操作中,程序是由接口板自己执行的。电脑将程序储存在接口板中。一旦完成,电脑与接口板之间的连接就可以断开了。现在接口板可以独立于电脑执行控制程序。 下载操作十分重要,例如在为移动机器人编程时,电脑与机器人之间的连接就十分累赘。尽管如此,控制程序应该首先在线模式下测试,因为那样更容易发现错误。一旦完全测试完毕,程序就可以下载到ROBO 接口板。有了ROBO 接口板,繁复的缆线就可以被 ROBO 无线射频通讯模块(货号为93295)替代了。如此一来,模型就可以甚至在在线操作下也可以活动自如了。但在线操作与下载操作相比有很多优点。与接口板相比,电脑有更多的工作内存,因此可以计算得更加快速。这对于大程序,是个很大的优点。另外,在线操作中,多个接口板,甚至ROBO 接口板和 智能接口板结合可以被并行控制。两种操作模式概览:模式优点缺点在线 程序的执行可在屏幕上显示出来 甚至大程序的执行都很快 多个接口板可以并行控制 支持早先的智能接口板 可以使用面板 程序可以暂停和继续 电脑与接口板必须保持连接下载 电脑和接口板可以在下载后分开 不支持早先的智能接口板 程序的执行无法在屏幕上显示出来 程序只能控制最多3个扩展板如果您需要使用本文档,请点击下载按钮下载!使用下载模式Download如果你有了新款的ROBO 接口板,你可以将车库门控制程序通过Download (下载) 按钮传输到接口板上。首先,会出现左边的对话窗口。ROBO 接口板有好几个程序储存区域,包括一个随机存取存储器 (Random Access Memory)和两个 闪存(Flash memory)。一旦断开接口板与电源的连接或将电池组断电RAM中的程序就会丢失。然而对于保存在闪存中的程序,即使断电,也仍然会在接口板中保存好多年。当然,你也可以随时修改闪存中的程序。然而程序下载到RAM速度快得多,因此主要在程序测试阶段用。你可以分别保存两个不同的程序,例如一个移动机器人的两个不同的动作,到两个闪存。并通过接口板上的Prog 键来选择、启动和停止这两个程序。如果选中下载后的开始程序选项,则一旦下载完毕,程序就会立即启动。若程序正在执行,则在Prog 键旁边的绿色的Prog 1 (存储在Flash 1中的程序)或Prog 2 (存储在Flash 2中的程序) LED 将会闪烁。如果程序已被下载到RAM中,则两个LED都会闪烁。若要停止执行程序,你可按下Prog 键。然后LED会持续点亮。若希望在程序1和程序2之间选择,你可按住Prog 键,直至理想的程序(1 或2)的LED发光。若要启动程序,你再次按下Prog键即可。对于移动机器人,“由接口板上的按钮启动程序(Start program using button on interface)”选项更有用。因为,如果你还没有无线通讯模块,在程序启动机器人活动之前,还必须先将连接电缆拔除。如此一来,你必须首先用接口板上的Prog 键选择想要的程序,然后再次按下此键来启动程序。如果选中最后一个选项,“通电时自动启动( Start automatically on power-up )”,则一旦接口板通电,在Flash 1中的程序将会自动启动。这样一来,比如你就可以用一个带计时开关的电源适配器给接口板供电,并在每天同一个时间启动程序。这样的话,你便不需要使接口板始终处于长久通电状态,也不需要每次需要启动程序时都按Prog键了。注意:当一个程序被保存在闪存Flash memory 或调用闪存Flash memory中程序执行时,因为同时也使用了随机存取存储器RAM,所以随机存取存储器RAM中的程序会丢失。你还可以在ROBO 接口板的操作手册中找到更详尽的介绍。如果您需要使用本文档,请点击下载按钮下载!3.8技巧和诀窍改变连接线如果你移动了某一模块, ROBO Pro 会试图以一种合理的方式调整连接线。如果你对某线不满意,你可以方便地通过鼠标左键点击这条线,并按住鼠标键不放来移动这条线。根据鼠标点在这条线上的位置,线的某一角或某一边缘处便会被移动。以下是不同鼠标的用法:如果鼠标处于一根垂直线上,则可以通过按住左键来拖动整条垂直线。如果鼠标处于一根水平线上,则可以通过按住左键来拖动整条水平线线。如果鼠标处于一根斜线上,则当在线上左击时,会在线上插入一个新的点,然后你可以通过按住左键来拖动这条线来确定这个新点的位置。如果鼠标处于线的端点附近或连接线的夹角处,你可以通过按住左键来移动这一点。只能将此连接线的端点移到另一个合适的程序模块的接线端。这样,两个端点就连上了。否则,端点不能移动点。另一种连接的方法还可以通过移动程序模块来建立连接线。如果移动一个程序模块,使得它的入口位于另一个模块出口下方一到两个格子,就可以建立两个模块间的连线。同样,也适合于将出口移动到入口之上。然后,你就可以将程序模块移动到最终位置,。如果您需要使用本文档,请点击下载按钮下载!如果您需要使用本文档,请点击下载按钮下载!4 第二级: 用子程序控制一旦成功地编写和测试了你的第一个控制程序,你已经为使用ROBO Pro第二级做好了准备。现在,在“级别”菜单中选择“第二级”:子程序。你会注意到有很多不同。模块窗口消失了,左栏一分为二。不要担心,模块窗口还在,只不过现在是空的。第二级有更多的程序模块,如果都在一个窗口里显示,可能会顾此失彼的。所以,第二级的所有模块都编成模块组。就像你的硬盘上由文件组成文件夹一样,模块和模块组的关系也是一样。如果你选择左上栏的一个组,属于这个组的所有模块会在下面的窗口出现。你可以在“编程模块/基本模块”组里找到第一级的模块。你可以使用滚动条显示全部的模块。现在让我们开始真正的主题:子程序!当然我们设计的流程图不会大到一次用到全部模块的规模。但是在大的项目中需要很多灵活的流程图的情况下,这也是有可能的。一旦你的工作表里都是组件的话,到处是连接线,你不得不经常使用滚动条来翻屏。那么这样的情况存在吗?混乱! 怎么办? 有什么办法使这些混乱重归有序?方法就是用子程序。4.1 你的第一个子程序:NewSP New子程序和你已经熟悉的程序非常相似。为了理解这点,你先建立一个空的新程序,并在它里面新建一个子程序。方法是,单击程序“新建”和工具栏上面的“SP新建”按钮。会出现一个窗口,在窗口内你可以输入子程序的名称和描述。如果您需要使用本文档,请点击下载按钮下载!子程序的名称最好不要太长(8到10个字母),不然子程序符号会很大。当然你可以以后来修改的。一旦你单击OK,关闭了新建子程序窗口,在子程序状态栏上面会显示新的子程序。任何时候,你都可以点击子程序栏上的程序名在主程序和子程序之间切换。由于两个程序都还是空的,你现在还看不出两者的区别。现在我们要将上一章(第20页的3.6“其它程序模块”一节)的车库门控制系统分割成子程序。程序由四个功能模块组成: 等待,直到按下按钮 开门 等待十秒钟 关门现在我们要把开门和关门分成两个子程序。任何子程序都可以在主程序中用一个专门的符号调用。“等待传感I1动作”和“延迟10秒钟”,这两段仍保持在主程序中,因为它们都只是由一个单个的模块构成的。你已经建立了带名为Subprogram 1的子程序的新程序,然而开门和关门作为这两个子程序的名字应该更好一些。如果你还没有选择子程序1,你可以通过选择子程序栏上的子程序1来重新命名已经建立的子程序。通过点击Properties ,可以从功能栏切换到子程序的属性窗口。在这里你可以将子程序名SP 1改成 Open。其他大多数区域只能在更高级甚至是专家级中才能改变。对于 Symbol creation这一栏下文将会作出解释。虽然 “My first subprogram”是一个正确的描述,但是如果你点击功能栏上的“描述”,你还是可以改变先前所输入的描述。现在,点击功能栏上的功能,这样你就可以对子程序的功能进行编程。你就会又看到了程序窗口,其中有你上一章创建第一个ROBO Pro 程序时所插入的程序模块。并确认你已经选择了子程序栏中的子程序Open 。如果您需要使用本文档,请点击下载按钮下载!准备好写你的第一个子程序了吗?我们开始吧!主程序总是由一个“开始”模块开头。子程序由一个相似的模块“子程序入口”开头。模块有这样一个名字是因为控制流程是从主程序经由这个模块进入子程序的。这里你不能用“开始”模块,因为显然没有开始新的流程。开始模块开始一个新的独立的流程子程序入口程序控制由主程序交到子程序你可以在Subprogram I/O下的模块组窗口找到子程序入口。现在将Open子程序的子程序入口模块放在程序窗口的顶部。 也可以给子程序入口模块取一个区别于Entry的名字,但这个只是以后你在同一个子程序中用多个入口时才有必要。 现在,子程序作为主程序的一部分运行,并负责开门。将启动马达M1并向左转(逆时针),一直等到压下输入端I2的限位开关后,再将马达关闭。你可以用“子程序出口”来关闭程序。“子程序出口”和“流程停止”模块之间的区别和“子程序入口”和“流程结束“之间的区别是一致的。 停止模块停止一个独立流程的执行子程序出口程序控制从子程序交回到主程序完整的子程序应该如下所示:如果您需要使用本文档,请点击下载按钮下载!确信你是在Open栏下输入的子程序,而不是在主程序(Main program)栏下。现在从Open 栏切回到主程序(Main program)栏。就看到了主程序窗口,和先前一样还是空的。通常,可以先插入一个“开始”模块(不是子程序入口)到主程序。并查询用来打开车库门的开关I1,和先前主程序中所作的一样。现在你可以将你的新子程序插入主程序(也可以是其它子程序),方法和普通程序模块一样。你可以在Loaded programs栏下的模块组窗口中找到它,还有你的程序名。如果你还没有保存过你的文件,则其文件名为unnamed1。如果你还打开了其它程序文件,你也可以在选择其它程序文件的子程序。用这种方法,可以很方便地使用其它文件的子程序。在模块组Loaded programs / unnamed1一栏中,可以找到两个绿色的子程序符号。首先,名字Main program代表的是主程序的符号。它很少用作子程序,但还是有可能的,例如你正在控制整个的工厂,且你先前已经为各个单个的机器的控制系统开发了主程序。第二个符号的名字代表了你的新的子程序。Open 这个名字是在属性窗口中输入的。现在,将将子程序符号和普通程序模块一样插入主程序。如果您需要使用本文档,请点击下载按钮下载!SP New如果你喜欢,可以立即用一个停止模块来将主程序终止,试一下吧。现在可以通过按一下按钮I1来将门打开,但是我们还没有对关门部分进行编程。为此,我们来写另一个子程序。按一下工具栏上的SP New按钮,并在New subprogram窗口中输入子程序名Shut。描述输入不是必须的,只是之后别忘了这个子程序的用处。现在,可以在程序窗口中输入车库门关门子程序Shut。又一次从“子程序入口”开始。首先马达应该向右转(顺时针)。限位开关I3一旦闭合,马达M1应该停止。子程序还是用“子程序出口”结束。现在通过子程序栏切换回主程序。如果你先前已经用停止模块结束了主程序,必须再将停止模块删除。车库门打开之后,应该再关闭置前保持10秒钟。在一个10秒钟的延时模块之后,你可以从Loaded programs / unnamed1程序组中选择Shut子程序插入主程序。主程序和两个子程序具体如下所示:Main programO
展开阅读全文