《RSLogix 5000项目中计时器计数器的程序开发.ppt》由会员分享,可在线阅读,更多相关《RSLogix 5000项目中计时器计数器的程序开发.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、RSLogix 5000项目中计时器计数器的程序开发2 目标目标使用计时器来编程使用计数器来编程4Preset TagAccumulated TagEnable TagTimer Timing TagDone Tag 同计时器相关的数据存储在TIMER结构体的成员中。每个成员都有它们自己的名称并且存储预置值、累计值和状态位数据。下图为RSLogix5000软件中监视标签窗口中的TIMER结构体图:计时器计时器数据类型数据类型5预置值(预置值(.PRE):需要计时的时间基个数。预置值的范围为0至+2,147,483,647。Timer Instruction Status BitDescript
2、ion.EN(使能)用来指明计时器指令是否被使能:当.EN为1(置位),该指令被使能。当.EN为0(清零),该指令被禁止。.TT(计时器计时)用来指明计时器指令是否在计时:当.TT为1(置位),该指令在计时。当.TT为0(清零),该指令没有计时。.DN(完成)指明累计值是否等于指令中的预置值:当累计值等于预置值时,.DN位改变状态。累计值(累计值(.ACC):):计时器已累计的总时间(以毫秒为单位)。计时器状态位(计时器状态位(.EN,.DN和和.TT):):其功能为通告控制器计时器指令的一些状态:计时器计时器数据类型数据类型6计时器指令有下列组件:Timer Timer(计时器)(计时器):
3、计时器指令存储数据的结构体。Timer BaseTimer Base(时间基)(时间基):计时器用来注册事件的单位时间。重要事项重要事项 In Logix5000系统中,时间基数一直为1毫秒(.001秒)。例如,定时2秒时,应在预置值处输入2000。计时器指令组件计时器指令组件7计时器指令根据时间来控制操作:需要需要例如例如使用如下指令使用如下指令 计时器被使能后的指定时间间隔 当梯级条件由假为真时开始计时;当梯级条件为假时复位累计时间。TON延时导通计时器 计时计时器被禁止后的指定时间间隔当梯级条件由真为假时开始计时;当梯级条件为真时复位累计时间。TOF延时断开计时器 累计时间当梯级为真时开
4、始计时;当梯级为假时保持该累计值。RTO保持型延时导通计时器 复位计时器 复位TON或者RTO(不用来复位TOF)RES 计时器指令计时器指令8TON指令控制的计时器:当梯级条件由假为真时开始计时;当梯级条件为假时,复位计时器。注意在上图中,当limit_swithc_1使能(置位)时,2000毫秒内,light_2使能(接通)。当累计时间到2s,light_2被禁止,light_3使能当TON指令停止时,light_3仍然使能。如果当timer_1在计时的时候limit_swithc_1被禁止(清零),light_2也被禁止(断开)TON(延时导通计时器)指令(延时导通计时器)指令9TON指
5、令按下列方式进行工作:如果累计值为如果累计值为 状态位处于下列状态状态位处于下列状态 计时器计时器.EN.TT.DN=0000Reset(False)PRE110Timing(True)=PRE101Timed Out(True)TON(延时导通计时器)指令(延时导通计时器)指令10TOF指令控制的计时器:当梯级条件由真为假时开始计时;当梯级条件为真时,复位计时器:注意在上图中,当limit_swithc_2使能(置位)后再禁止(清零),2000毫秒内,light_2和light_3使能(接通)(timer_2开始计时并且完成位(.DN)被置位)。当timer_2.ACC到达2000时,lig
6、ht_2和light_3均被禁止(断开)。TOF(延时断开计时器)指令(延时断开计时器)指令11TOF指令按下列方式进行工作:如果累计值为如果累计值为 状态位处于下列状态状态位处于下列状态 计时器计时器.EN.TT.DN=0101Reset(True)PRE011Timing(False)=PRE000Timed Out(False)TOF(延时断开计时器)指令(延时断开计时器)指令12TO指令的计时器,当梯级条件由假为真时,开始累计时间;当梯级条件变为假时,复位计时器 它在不会复位(丢失)已累计数值的情况下就能开始和停止计时器:RTO(保持型延时导通计时器)指令(保持型延时导通计时器)指令1
7、3注意在上图中,当limit_swithc_1使能(置位),2500毫秒内,light_1使能(接通)(timer_3开始计时)。当timer_3.ACC到达2500时,light_1被禁止(断开)此时light_2使能(接能)。light_2仍然使能(接通)直到timer_3置位。当limit_swithc_2使能(置位)后,RES指令复位timer_3(清除状态位并且累计数值)。在timer_3在计时期间如果limit_swithc_2被禁止(清零),light_1仍然使能(接通)。RTO(保持型延时导通计时器)指令(保持型延时导通计时器)指令14RTO(保持型延时导通计时器)指令需要使用
8、RES(复位)指令复位RTO指令的累计值和状态位。如果累计值为如果累计值为 状态位处于下列状态状态位处于下列状态 计时器会执行计时器会执行.EN.TT.DN=0000Reset(假)PRE110Timing(真)=PRE101Timed Out(真)=PRE001Timed Out(假)RTO(保持型延时导通计时器)指令(保持型延时导通计时器)指令15在RSLogix5000软件的监视标签窗口的COUNTER结构体如下图所示:预置值标签预置值标签 累计值标签累计值标签 向上计数标签向上计数标签 向下计数标签向下计数标签 完成标签完成标签 上溢标签上溢标签 下溢标签下溢标签 同计数器相关的数据存
9、储在COUNTER结构体的成员中。每个成员都有它们自己的名称并且存储预置值、累计值和状态位数据。COUNTER 数据类型数据类型16累计值(累计值(.ACC):已经计的数值。如果累计值等于50,这意味着事件已经发生了50次。计数器状态位(计数器状态位(.CU、.CD、.OV和和.UN):这些状态位的功能是通知控制器计数器指令的状态。预置值(预置值(.PRE):要计数的数值。向上计数的最大数值为+2,147,483,647。向下计数的最大数值为-2,147,483,648。COUNTER 数据类型数据类型17计数器指令状计数器指令状态位态位 描述描述.CU(向上计数使能)用来指明计数器指令是否使
10、能向上计数向上计数:当.CU为1(置位),该向上计数指令被使能。当.CU为0(清零),该指令被禁止。.CD(向下计数使能)用来指明计数器指令是否使能向下计数向下计数:当.CD为1(置位),该向下计数指令被使能。当.CD为0(清零),该指令被禁止。.DN(完成)指明累计值是否大于或等于指令中的预置值:当累计值大于或等于预置值时,.DN位为1(置位)。当累计值小于预置值时,.DN位为0(清零)。.OV(上溢)用来指明是否超过其上限:+2,147,483,647当.OV为1(置位)时,表明计数器已超过上限值。当.OV为0(清零)时,表明计数器尚未超过上限值.UN(下溢)用来指明是否低于其下限:-2,
11、147,483,648 当.UN为1(置位)时,表明计数器已低于下限值。当.UN为0(清零)时,表明计数器尚未低于上限值。COUNTER 数据类型数据类型18要清除计数器的累计值,使用RES(复位)指令复位该计数器。对于计数器指令 即使.DN位置位的情况下,累计仍然递增/递减(也就是说,计数器的数值会大于预置值)。COUNTER 数据类型数据类型19COUNTER数据类型为一个数据块,可以用来进行向上计数、向下计数、从总数中加法或者减法的操作。计数器的信息存储在COUNTER结构体中。计数器指令组件计数器指令组件20计数器指令根据事件的数目控制操作:要要 例如例如 使用如下指令使用如下指令 向
12、上计数 事件发生时增加计数 CTU加计数 向下计数 事件发生时减少计数 CTD减计数 向上计数和向下计数 根据需要增加计数和减少计数 CTU 和 CTD对相同标签进行操作 复位计数器 复位CTU或者CTD RES关于计数器指令和该类指令功能的更多信息,请参阅Logix5000TM控制器编程文档参考指南(Logix5000TM Controllers Programming Documentation Reference Guide)。计数器指令计数器指令21CTU指令在每次梯级条件变为真时,增加计数值并且此时指令也使能:CTU(加计数)指令(加计数)指令22注意,在上图中,Limit_Swit
13、ch_1开关从断开状态切换至接通状态反复切换10次后,此时 .DN状态位使能(置位)并且Red_Light_1被使能(接通)。如果Limit_Switch_1开关继续从断开状态切换至接通状态,Switch_1_Count接着计数并且.DN状态位仍然使能(置位)。当Limit_Switch_2使能时,RES指令复位Switch_1_Count(清除状态位和累计)并且Red_Light_1被禁止(断开)。CTU(加计数)指令(加计数)指令23CTD指令在每次梯级条件变为真时,减少计数值:CTD(减计数)指令(减计数)指令24图为传送带将部件传送至缓冲区域的程序。CTD(Count Down)Ins
14、truction25 每次当进入一个部件时,limit_switch_1使能并且part_count增加1。每次当一个部件离开时,limit_switch_2使能并且part_count减少1。如果在缓冲区域有100个部件(part_count.DN置位),此时,conveyor_A 被使能(接通)并且停止向缓冲区传送部件,直至缓冲区域有空间为止。CTD(Count Down)Instruction26RES指令为输出指令,用来复位计时器指令和计数器指令。当执行RES指令时,引用标签数据类型的计时器指令和计数器指令的累计值和状态位都清零(复位)。下图为RES指令引用计数器指令标签的一个示例:重要事项重要事项 千万不要使用RES指令复位TOF指令,这是因为RES不但能清除状态位,而且也清除累计值。RES(复位)指令(复位)指令2728