JD1机械手实验指导书Word下载.docx
- 文档编号:19809043
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:14
- 大小:189.93KB
JD1机械手实验指导书Word下载.docx
《JD1机械手实验指导书Word下载.docx》由会员分享,可在线阅读,更多相关《JD1机械手实验指导书Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
脉冲个数:
1----4294976295个
周期:
50us---95535us或者2ms----65535ms
它有两种发生方式:
单段管线和多段管线
一:
下面为单段管线操作的具体步骤,
从主程序建立初始化子例行程序调用后,用以下步骤建立控制逻辑,用于在初始化子例行程序中配置脉冲输出Q0.0:
1.通过将以下一个数值载入SMB67:
16#85(选择微秒递增)或16#8D(选择毫秒递增)的方法配置控制字节。
2.两个数值均可启用PTO/PWM功能、选择PWM操作、设置更新脉冲宽度和循环时间数值、以及选择时基(微秒或毫秒)。
3在SMW68中载入一个循环时间的字尺寸数值。
4在SMD72中载入脉冲计数的双字尺寸数值。
5(选项)如果您希望在脉冲链输出完成后立即执行相关功能,您可以将脉冲链完成事件(中断类别19)附加于中断子例行程序,为中断编程,使用ATCH指令并执行全局中断启用指令ENI。
6执行PLS指令,使S7-200为PTO/PWM生成器编程。
7退出子例行程序。
二:
下面为多段管线操作的具体步骤,
从主程序建立初始化子例行程序调用后,用以下步骤建立控制逻辑,用于在初始化子例行程序中配置脉冲输出Q0.0:
1、通过将以下一个数值载入SMB67:
16#A0(选择微秒递增)或16#A8(选择毫秒递增)的方法配置控制字节。
两个数值均可启用PTO/PWM功能、选择PTO操作、选择多段操作、以及选择时基(微秒或毫秒)。
2、在SMW168中载入一个字尺寸数值,用作概要表起始V内存偏移量。
(要表的结构请参照系统手册。
)
3、使用V内存在概要表中设置段值。
确保“段数”域(表的第一个字节)正确无误。
4、(选项)如果您希望在PTO概要完成后立即执行相关功能,您可以将脉冲链完成事件(中断类别19)附加在中断子例行程序中,为中断编程。
使用ATCH执行全局中断启用指令ENI。
5、执行PLS指令,使S7-200为PTO/PWM生成器编程。
6.退出子例行程序。
以上两个都以Q0.0的脉冲输出为参考。
如果对。
Q0.1口进行操作请查阅它的寄存器地址,方法完全一样,只是地址不同。
下面结合本机械手的控制对PTO的用法进行说明。
步进电机驱动器的PLS接口提供到了PTO的输出,所以只要我们按照相应的数量,周期输出脉冲,那么电机就能实现相应的运动距离了。
因为步进电机驱动器提供了细分功能,所以在计算脉冲个数的时候就要注意,不同的细分方式下电机的相同转数则需要不同的脉冲个数,可以这样简单的理解细分,N细分就是N个脉冲走1步,这样我们就可以得到这样的公式
n(转数)=脉冲个数/N(细分数)/200(步进电机每转步数)
并可以根据发生脉冲的周期算出步进电机得转速
转速=1/(T*N*200)
在编制脉冲发生程序得时候应该按下面的步骤:
:
1:
在编制程序以前选择驱动器的细分方式,(原则上是越大越好)
2:
根据运动的方式确定需要的转速
3:
根据细分的方式根据需要的转速确定周期,(请参照机械手的最大运行速度,防止速度过快)
4:
根据运动的距离,细分方式,驱动方式确定脉冲个数(尽量避免超越行程)
5:
根据运动方向,确定方向信号DIR的高低(参照接口信息及脉冲方向选择表),在编程的时候注意方向信号的处理问题。
通过本节的介绍,基本上了解了用PTO来驱动步进电机的方法,请按照要求编制下面的实验程序
实验程序一:
驱动机械手向前运动10MM,要求单段(恒速)。
实验程序二:
驱动机械手向前运动10MM,要求多段(梯形图速度)
要求:
1按照上面讲解的步骤进行编制,需要其他信息。
请查阅本手册附带的表格和元器件手册,需要实际测量的要进行实际的测量。
2在调试程序以前请先确认选择的脉冲周期以及细分方式,保证运行速度不要太快,防止发生冲撞)。
3:
为了防止编程时没有越位保护作用,请将参考程序中的越位保护的子程序放到要调试的程序中,并利用SM0.0进行调用,可以保证当碰到行程开关后终止PLS的发生。
以及后面的程序调试的过程中在没有自己的保护程序时都可以用这个程序进行保护。
4:
在编制这两个程序的时候请注意机械手当前的位置,如果机械手的前后位置太靠前,可以在掉电的情况下,用手将它拖回后面。
以便于运行向前的程序。
实验步骤:
1:
如果电脑上没有安装McrioWIN4,请先在电脑上安装该软件,该软件在附带的资料光盘中。
运行SETUP,安装。
2:
连接机械手的电源,以及PLC的编程电缆,请注意将PLC上的运行开关打到OFF端。
3:
打开通讯模块
进行连接测试,双击刷新,等待检测PLC信息。
如果通讯不成功请检查电缆连接以及PLC的状态。
直至建立通讯。
4:
单击
对程序进行编译下载。
5:
下载完成后将PLC置于运行状态,打开上位机界面,点回原点,等待机械手回原点完成。
然后点退出,在退出的时候弹出的是否将PLC置于STOP的对话框上选“确定”。
(对于上位机程序的安装使用请参考使用说明部分)
6:
在资料光盘\实验程序\目录下找倒实验一或实验二的程序,用McrioWin4打开,打开后的画面如下:
图中画面就是编程软件的主界面了。
阅读程序,根据提供的注释理解程序。
根据需要对提供的程序做修改。
或是自己编制自己的应用程序
7:
对程序进行下载。
8:
通过MicroWin界面上的运行按扭
将PLC打到运行状态,或是通过PLC上的状态开关进行操作。
观察机械手的运动情况,如果出现错误请及时停止修改。
如果机械手运动到了极限位置请修改程序里的方向信号后重新下载执行。
(也可以在编程的时候设置一个方向标志位,利用MicroWin的监视功能对其进行强制修改,程序通过判断方向标志位来设置方向信号。
第二节:
子程序的使用技巧
合理的使用子程序,使程序模块化结构化,这是所有程序的指导思想。
西门子PLC的程序支持子程序的使用,并且在编程软件MircoWin上使用非常的简单方便,它还支持最大8层的嵌套!
甚至支持递归调用,但我们认为在子例行程序中使用递归时应当小心。
尽量避免出现这样的调用,因为对PLC来说一般不需要那么复杂的运算。
子程序的建立和调用方法这里不做详细的介绍,这并不代表这个东西不重要!
恰恰相反这个东西是这个程序的基础,要想编制合理的控制程序必须很熟悉它的用法,因为在STEP-Mico/WIN的HELP中对这方面有详细的介绍,所以请同学们必须详细的查看这方面的介绍知识。
这里以例程序为例说明在机械手控制程序中子程序用到的方面。
1:
在PTO的初始化上。
因为主要用的都是PTO所以它的初始化利用的非常多,所以在单段PTO和多段PTO的初始上都可以利用相应的子程序来实现,并且要提供详细的出入口参数(周期,数量,加减速控制,Q0.0、Q0.1的选择等等)
2:
在以后的复杂程序完成时,每个功能都应该有自己独立的子程序来实现,例如回原点的控制、手动操作控制程序、定长控制程序、循环执行程序等等,这些程序都可以模块化,而他们之间又互相支持,例如这样会让整个程序变的很灵活紧凑,便于维护。
对于子程序的编制需要注意下面的问题
注意入口参数的设置,比如单段PTO的初始化子程序编制,入口参数需要提供脉冲口、脉冲数量、脉冲周期,在程序内对各个寄存器进行了初始化。
注意子程序的执行时间。
PTO单段初始子程序只要执行一次就可以完成了所需的功能,有的子程序则需要循环扫描一定时间,比如回原点,在整个动作没有完成以前子程序的输入使能必须总维持,直到控制完成整个过程的完成才切断使能。
这样就要求有些子程序提供自锁(自保持)的中间状态位,和子程序完成后的标志位。
注意子程序中利用的中间存储器地址V变量不要重复,尤其在各个子程序间一定注意存储区的分配问题,防止发生重复,出现意想不到的错误。
在了解了子程序的使用方法以后,可以结合上面的意思编制下面的两个子程序
实验程序三:
编制实现越位保护的子程序
编制一个实现越位保护的子程序,工作特点是:
只要有任何一个限位开关发生了越位,立即终止所有的脉冲输出。
请注意这里编制的越位保护是很简单的,只要有越位就停止动作,我们在学习了后面的部分后,希望能编制出更为合理的越位保护程序,程序根据不同的越位做出不同的反映,并把越位的地方告诉PLC,这个程序可以参照例程序的越位保护部分
实验程序四:
编制PTO的单段初始化子程序,
要求带有脉冲口,脉冲数量,脉冲周期三个参数信息,可以利用这个子程序对单段的PTO实现初始化。
实验程序五:
编制PTO的多段初始化子程序
要求带有固定的加减速段,传递的参数要求有脉冲口,以及中间恒速段的脉冲数量,可以利用这个程序对多段的PTO实现初始化。
实验程序六:
编制遥控器控制程序
要求遥控器上的各个键位对应机械手手的各个方向(见使用说明书或接线图)。
该子程序的执行过程中要求自己维持,所以要求有自锁的中间寄存器M位,以及完成标志。
下面是对子程序进行操作的方法:
在项目中建立子程序,(每个新项目开始的时候带有一个子程序和一个中断,可以在这两个里面编辑,如果需要再增加就可以在编辑菜单中选择插入子程序,也可以在屏幕下方的程序切换标签处点右键,然后选择插入子程序(中断也是类似)
对新建立的子程序进行编辑。
输入输出的参数设置在子程序的局部变量表中:
,
在表中建立需要的变量,然后编制程序。
3:
在主程序中建立调用网络,完成对子程序的调用,子程序可以从指令树中向一般的指令一样调用(左图)。
例如下面右图是调用的单段初始化子程序的网络:
实验步骤:
请参照第一节的方法先将机械手回原点,完成以后将PLC置于STOP。
打开要实验的程序。
保证机械手的位置在零点的位置,如果不在,请下载例程序后运行,利用上位机控制机械手回到原点。
然后再退出并把PLC置于停止。
检查程序后下载。
将PLC置于运行状态。
观察运行结果。
理解程序的工作过程,然后自己编制功能相近的程序。
对于实验程序三,可以用手按下任意一个行程开关,观察手动控制器上的越位指示灯是否点亮。
第三节:
中断的使用
PLC提供了完善的中断体系,从I/0到内部命令的完成都有相应的中断事件。
合理的利用中断会大大简化程序结构,提高程序的运行效率以及响应速度。
对于中断的使用步骤大致如下:
编制中断服务程序,原则上是越短越好;
利用ATCH命令将编好的程序指定到相应中断事件;
开中断,然后就等待中断的发生。
PLC的中断处理是自己完成的,对于整个过程编程这不用参与,它会自己完成诸如现场保护,返回恢复等一系列的工作。
下表为本机械手可以用到的中断的号码及优先级的表格,这并不是所有的中断,如果还要利用其他的中断请参考PLC手册
中断事件号码
事件描述
优先级别
群组
8
端口0:
接收字符
通讯
(最高)
9
端口0:
传输完成
23
接收讯息完成
24
端口1:
1
25
26
19
PTO0完成中断
I/0
(中等)
20
PTO1完成中断
上升边缘,I0.0
2
上升边缘,I0.1
3
4
上升边缘,I0.2
6
上升边缘,I0.3
5
下降边缘,10.0
下降边缘,I0.1
7
下降边缘,I0.2
下降边缘,I0.3
实验程序七:
回原点
要求:
控制各个方向的运动,完成回原点的功能。
原点是人为的规定的行程开关位置,它是一个设定的相对的零点位置,在回点的时候,控制各步进电机运动,直到碰到行程开关。
实验程序八:
点动
要求:
在按下按扭时向PLC发送开始运动的信号,抬起的时候发出停止信号。
对PLC的控制基本上相当于遥控器的点动功能。
实验程序九:
定长
输入1-3个坐标的运动参数,机械手将自动完成运动,在这个模块注意3个方向的运动参数的下传时先后的问题。
注意:
三个自由度的电机的传动机构不是一致的,所以在给步进电机的脉冲速度是不一样的,这就增加了编程的难度,每个电机需要不同的速度。
为了解决这个问题我们可以通过步进电机驱动器的细分功能来调整(请参见使用说明书)。
在参考程序中提供了一个实验程序,通过上位机给定运动量,机械手实现前后的运动,对于上下运动利用四边形机构改变运动方式,所以实际的速度(距离)与电机的转速(丝杠行程)不是线形关系,这里给出的是丝杠的运动行程及速度,以方便编程时使用,并要注意:
实际的运动距离并非是这样的数值,实际行程参见机械手的总体规格尺寸部分。
程序中给出了单位运动量对应的脉冲数:
每走1mm对应的脉冲数:
前后:
820个脉冲数;
上下:
800个脉冲数;
每走1°
对应的脉冲数:
旋转:
60个脉冲数;
第四节:
编制完整的PLC程序
前面我们提到的PLC程序的都是以功能块或子程序的方式来应用的,要完成对机械手的控制就要有一个完整的PLC程序,这个程序将完成所有的控制,简单的说就是配合上位机的工作,根据收到的信息,执行不同的程序。
这样我们就总结出PLC程序的主要执行过程,就是等待上位机的命令,然后执行。
它的主要功能是,通讯及根据通讯的内容调用不同的子程序。
下面先给出例程序的PLC程序结构
编程者根据自己的编程思想确定自己的程序结构,并编制程序,请注意下面的问题:
中断程序越短越好。
一般情况下中断内没有复杂的程序,如果要用中断控制操作,一般在中断内对标志位操作,由主程序根据对标志位的判断作出是否调用该操作。
注意通讯的控制,一般在完成一次接收后都要发送一个应答字符,在发送的时候接收中断是关掉的,所以可以利用发送完成中断来启动一次接收。
既保证每次的发送完成以后都要开始一次新的接收。
在总程序联调的时候可能会出现各种不同的问题,这时尽量的把不相关的程序拿掉,确定小程序都没有问题了再一块一块的往上添加功能。
第五节:
PLC的通讯
一、PLC的通讯功能
PLC的通讯包含了两方面的内容:
(一)、PLC与编程软件之间的通讯,提供了三种方式供选择PPI/MPI/PROFIBUS。
PPI是一个主从设备协议:
主设备向从属设备发出请求,从属设备作应答。
MPI允许主设备与主设备或主设备与从属设备之间的通讯。
PROFIBUS协议用于与分布式I/O设备(远程I/O)进行高速通讯。
在本系统中没有复杂的网络,只有编程软件与PLC之间采用了PPI协议,而且它是成型的,设置也很简单,就不做详细介绍。
(二)、PLC与我们自己编制的上位机程序的通讯,虽然西门子不提供PPI协议的详细内容,但他提供了一个自由口的通讯可供使用。
下面详细介绍自由口通讯的方法。
1、自由口的操作方法
PLC可以选择自由端口模式,通过用户程序控制S7-200的串行通讯端口。
当选择自由端口模式时,程序通过使用接收中断、传输中断、“传输”指令和“接收”指令控制通讯端口操作。
通讯协议位于自由端口模式时完全受梯形图程序的控制。
SMB30(用于端口0)和SMB130(用于端口1,如果S7-200有两个端口)被用于选择波特率和奇偶校验。
当S7-200位于STOP(停止)模式时,自由端口模式被禁用,正常通讯重新建立(例如,编程设备存取)。
只有在S7-200位于RUN(运行)模式时才能使用自由端口通讯。
在SMB30(端口0)或SMB130(端口1)的协议选择域中设置一个01数值,启用自由端口模式。
位于自由端口模式时,无法与编程设备通讯
2、自由口通讯的实现方法
自由口通信就是人为的设定通讯的波特率、位数、效验方式,以及开始、停止字符标志等信息,在自己定义的通讯协议下利用接收命令RCV和发送命令XMT实现通讯功能,
在PLC的自由口操作中只需对相应的寄存器进行设置就可以完成以上内容的配置,所以整个规则变的很自由,你可以根据自己的定义来实现通讯的建立。
二、通讯协议的制定
这里说的通讯协议包括上位机与PLC之间传输的内容,以及每个字节的含义,程序的控制方法等。
要完成协议的制定,我们首先要考虑通讯要完成的内容:
1、PLC用高速脉冲来控制步进电机,并能独立的实现回原点等完整的运动,还可以让定长、点动等子程序在上位机的控制下完成;
2、PLC通过串口与上位机做通讯。
上位机有控制界面:
有回原点、遥控器操作、点动、走定长、执行循环定长、停止等按扭。
当有操作的时候会将控制信息发给PLC,PLC收到后发回一个接受到的信息(字符”A”)在执行完后发回一个完成信息;
3、PLC在越位后回返回一个越位信息,并且停止运动,等待反向解除。
我们对上面三条进行总结,将要传送信息分为两类
1、由上位机到PLC的信息。
这个信息的内容多,是对四个自由度的操作以及几个固定程序的调用;
2、由PLC返回到上位机的信号,这些信号包括:
收到信号后的应答、完成回原点、定长等任务的标志。
这些信号一两个字符就可以完成了,在我们提供的例程序中每个返回的都是不同的单个字符,上位机通过对这些字符的判断来得知PLC的状态。
第六节:
编制上位机程序
在制定好自己的通讯协议以后就可以开始编制自己的上位机程序了,可以先保证实现简单的控制要求,诸如:
点动、回原点等。
在执行简单程序时因为没有完善的PLC程序的支持,所以有的命令即使发送到PLC也不可能执行,这也不要紧,我们首先得保证PLC能完整的收到信息,并做出相应的返回,上位机根据返回信息判断PLC是否正确的收到了信息。
按照协议的开始及结束条件对原来的PLC通讯程序进行简单的修改,使PLC在收到信息后返回确认应答。
利用前面讲过的方法,监视我们收到的信息是不是按我们预期的方式收到了,通过这样的手段调试修改程序,逐步的做出完整的上位机程序。
例程序中上位机程序只有完整的一个,它编程简洁、明了,可以轻松的看到实现各功能的上位机程序块,没有做分程序的必要。
下面是这个例程序的界面:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JD1 机械手 实验 指导书