《情境二机械手的模拟控制》由会员分享,可在线阅读,更多相关《情境二机械手的模拟控制(17页珍藏版)》请在金锄头文库上搜索。
1、情境二:机械手的模拟控制机械手的模拟控制一、任务:1、机械手的工作原理 ;2、程序的编写、调试。二、融入的知识:1、立即类指令;2、高速计数器指令;1授课内容2.3.1立即类指令立即类指令 立即读立即读指令用于输入I接点,立即读指令读取实际输入点的状态时,并不更新该输入点对应的输入映像寄存器的值。如:当实际输入点(位)是1时,其对应的立即触点立即接通;当实际输入点(位)是0时,其对应的立即触点立即断开。 立即输出立即输出指令用于输出Q线圈,执行指令时,立即将新值写入实际输出点和对应的输出映像寄存器。 立即类指令与非立即类指令不同,非立即指令仅将新值读或写入输入/输出映像寄存器。2表表2-3-1
2、 立即类指令的格式及说明立即类指令的格式及说明32.3.22.3.2高速计数器指令高速计数器指令(1)高速计数器定义指令)高速计数器定义指令HDEF。指令指定。指令指定高速计数器(高速计数器(HSCx)的工作模式。工作模)的工作模式。工作模式的选择即选择了高速计数器的输入脉冲、式的选择即选择了高速计数器的输入脉冲、计数方向、复位和起动功能。每个高速计计数方向、复位和起动功能。每个高速计数器只能用一条数器只能用一条“高速计数器定义高速计数器定义”指令。指令。(2)高速计数器指令)高速计数器指令HSC。根据高速计数器。根据高速计数器控制位的状态和按照控制位的状态和按照HDEF指令指定的工作指令指定
3、的工作模式,控制高速计数器。参数模式,控制高速计数器。参数N指定高速计指定高速计数器的号码。数器的号码。 4高速计数器指令的使用高速计数器指令的使用 (1)每个高速计数器都有一个)每个高速计数器都有一个32位当前值和一个位当前值和一个32位预置值,位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必须设置控制字节,令其第五位和第六位当前值和新预置值,必须设置控制字节,令其第五位和第六位为为1,允许更新预置值和当前值,新当前值和新预置值写入特殊,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区
4、。然后执行内部标志位存储区。然后执行HSC指令,将新数值传输到高速指令,将新数值传输到高速计数器。当前值和预置值占用的特殊内部标志位存储区如表计数器。当前值和预置值占用的特殊内部标志位存储区如表6-10所示。除控制字节以及新预设值和当前值保持字节外,还可所示。除控制字节以及新预设值和当前值保持字节外,还可以使用数据类型以使用数据类型HCHC (1)每个高速计数器都有一个)每个高速计数器都有一个32位当前值和一个位当前值和一个32位预置值,当前值和位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必须
5、设置控制字节,令其第五位和第六位为必须设置控制字节,令其第五位和第六位为1,允许更新预置值和当前值,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区。然后执行新当前值和新预置值写入特殊内部标志位存储区。然后执行HSC指令,将指令,将新数值传输到高速计数器。当前值和预置值占用的特殊内部标志位存储区新数值传输到高速计数器。当前值和预置值占用的特殊内部标志位存储区如表如表6-10所示。除控制字节以及新预设值和当前值保持字节外,还可以使所示。除控制字节以及新预设值和当前值保持字节外,还可以使用数据类型用数据类型HC 5高速计数器指令的使用高速计数器指令的使用(2)执行HDEF指令之前
6、,必须将高速计数器控制字节的位设置成需要的状态,否则将采用默认设置。默认设置为:复位和起动输入高电平有效,正交计数速率选择4模式。执行HDEF指令后,就不能再改变计数器的设置,除非CPU进入停止模式。(3)执行HSC指令时,CPU检查控制字节和有关的当前值和预置值。 6高速计数器指令的初始化高速计数器指令的初始化的步骤:高速计数器指令的初始化的步骤:(1)用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程序,完成初始化操作。因为采用了子程序,在随后的扫描中,不必再调用这个子程序,以减少扫描时间,使程序结构更好。(2) 在初始化的子程序中,根据希望的控制设置控制字(SMB37、
7、SMB47、SMB137、SMB147、SMB157),如设置SMB47=16#F8,则为:允许计数,写入新当前值,写入新预置值,更新计数方向为加计数,若为正交计数设为4,复位和起动设置为高电平有效。(3)执行HDEF指令,设置HSC的编号(0-5),设置工作模式(0-11)。如HSC的编号设置为1,工作模式输入设置为11,则为既有复位又有起动的正交计数工作模式。(4) 用新的当前值写入32位当前值寄存器(SMD38,SMD48,SMD58 ,SMD138, SMD148, SMD158)。如写入0,则清除当前值,用指令MOVD 0,SMD48实现。7高速计数器指令的初始化的步骤:高速计数器指
8、令的初始化的步骤:(5)用新的预置值写入32位预置值寄存器(SMD42 ,SMD52, SMD62, SMD142 ,SMD152, SMD162)。如执行指令MOVD 1000,SMD52,则设置预置值为1000。若写入预置值为16#00,则高速计数器处于不工作状态。(6)为了捕捉当前值等于预置值的事件,将条件CV=PV中断事件(事件13)与一个中断程序相联系。(7)为了捕捉计数方向的改变,将方向改变的中断事件(事件14)与一个中断程序相联系。(8)为了捕捉外部复位,将外部复位中断事件(事件15)与一个中断程序相联系。(9)执行全局中断允许指令(ENI)允许HSC中断。(10)执行HSC指令使S7-200对高速计数器进行编程。(11)结束子程序。8工作示意图9操作面板10控制要求 某机械手用来将工件从某机械手用来将工件从A点搬运到点搬运到B点。点。(学生)思考:如何解决准确定位的问题?(学生)思考:如何解决准确定位的问题?11任务分析 选择手动工作方式时手动开关选择手动工作方式时手动开关I2.0为为1状态,将跳过自动程序,执行公用程序和状态,将跳过自动程序,执行公用程序和手动程序。选择自动工作方式时手动程序。选择自动工作方式时I2.0为为O状状态,将跳过手动程序,执行公用程序和自态,将跳过手动程序,执行公用程序和自动程序。动程序。12外部接线图13程序14151617