您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > RSLogix_5000项目中计时器计数器的程序开发.
RSLogix5000项目中计时器/计数器的程序开发目标•使用计时器来编程•使用计数器来编程PresetTagAccumulatedTagEnableTagTimerTimingTagDoneTag同计时器相关的数据存储在TIMER结构体的成员中。每个成员都有它们自己的名称并且存储预置值、累计值和状态位数据。下图为RSLogix5000软件中监视标签窗口中的TIMER结构体图:计时器数据类型•预置值(.PRE):需要计时的时间基个数。预置值的范围为0至+2,147,483,647。TimerInstructionStatusBitDescription.EN(使能)用来指明计时器指令是否被使能:•当.EN为1(置位),该指令被使能。•当.EN为0(清零),该指令被禁止。.TT(计时器计时)用来指明计时器指令是否在计时:•当.TT为1(置位),该指令在计时。•当.TT为0(清零),该指令没有计时。.DN(完成)指明累计值是否等于指令中的预置值:当累计值等于预置值时,.DN位改变状态。•累计值(.ACC):计时器已累计的总时间(以毫秒为单位)。•计时器状态位(.EN,.DN和.TT):其功能为通告控制器计时器指令的一些状态:计时器数据类型计时器指令有下列组件:•Timer(计时器):计时器指令存储数据的结构体。•TimerBase(时间基):计时器用来注册事件的单位时间。重要事项InLogix5000™系统中,时间基数一直为1毫秒(.001秒)。例如,定时2秒时,应在预置值处输入2000。计时器指令组件计时器指令根据时间来控制操作:需要…例如……使用如下指令计时器被使能后的指定时间间隔当梯级条件由假为真时开始计时;当梯级条件为假时复位累计时间。TON延时导通计时器计时计时器被禁止后的指定时间间隔当梯级条件由真为假时开始计时;当梯级条件为真时复位累计时间。TOF延时断开计时器累计时间当梯级为真时开始计时;当梯级为假时保持该累计值。RTO保持型延时导通计时器复位计时器复位TON或者RTO(不用来复位TOF)RES计时器指令TON指令控制的计时器:当梯级条件由假为真时开始计时;当梯级条件为假时,复位计时器。•注意在上图中,当limit_swithc_1使能(置位)时,2000毫秒内,light_2使能(接通)。•当累计时间到2s,light_2被禁止,light_3使能•当TON指令停止时,light_3仍然使能。•如果当timer_1在计时的时候limit_swithc_1被禁止(清零),light_2也被禁止(断开)TON(延时导通计时器)指令TON指令按下列方式进行工作:如果累计值为……状态位处于下列状态……计时器…….EN.TT.DN=0000Reset(False)PRE110Timing(True)=PRE101TimedOut(True)TON(延时导通计时器)指令TOF指令控制的计时器:当梯级条件由真为假时开始计时;当梯级条件为真时,复位计时器:•注意在上图中,当limit_swithc_2使能(置位)后再禁止(清零),2000毫秒内,light_2和light_3使能(接通)(timer_2开始计时并且完成位(.DN)被置位)。•当timer_2.ACC到达2000时,light_2和light_3均被禁止(断开)。TOF(延时断开计时器)指令TOF指令按下列方式进行工作:如果累计值为……状态位处于下列状态……计时器…….EN.TT.DN=0101Reset(True)PRE011Timing(False)=PRE000TimedOut(False)TOF(延时断开计时器)指令TO指令的计时器,当梯级条件由假为真时,开始累计时间;当梯级条件变为假时,复位计时器•它在不会复位(丢失)已累计数值的情况下就能开始和停止计时器:RTO(保持型延时导通计时器)指令•注意在上图中,当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(保持型延时导通计时器)指令RTO(保持型延时导通计时器)指令需要使用RES(复位)指令复位RTO指令的累计值和状态位。如果累计值为……状态位处于下列状态……计时器会执行…….EN.TT.DN=0000Reset(假)PRE110Timing(真)=PRE101TimedOut(真)=PRE001TimedOut(假)RTO(保持型延时导通计时器)指令在RSLogix5000软件的监视标签窗口的COUNTER结构体如下图所示:预置值标签累计值标签向上计数标签向下计数标签完成标签上溢标签下溢标签同计数器相关的数据存储在COUNTER结构体的成员中。•每个成员都有它们自己的名称并且存储预置值、累计值和状态位数据。COUNTER数据类型•累计值(.ACC):已经计的数值。如果累计值等于50,这意味着事件已经发生了50次。•计数器状态位(.CU、.CD、.OV和.UN):这些状态位的功能是通知控制器计数器指令的状态。预置值(.PRE):要计数的数值。向上计数的最大数值为+2,147,483,647。向下计数的最大数值为-2,147,483,648。COUNTER数据类型计数器指令状态位描述.CU(向上计数使能)用来指明计数器指令是否使能向上计数:•当.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,147,483,648•当.UN为1(置位)时,表明计数器已低于下限值。•当.UN为0(清零)时,表明计数器尚未低于上限值。COUNTER数据类型要清除计数器的累计值,使用RES(复位)指令复位该计数器。对于计数器指令即使.DN位置位的情况下,累计仍然递增/递减(也就是说,计数器的数值会大于预置值)。COUNTER数据类型•COUNTER数据类型为一个数据块,可以用来进行向上计数、向下计数、从总数中加法或者减法的操作。•计数器的信息存储在COUNTER结构体中。计数器指令组件计数器指令根据事件的数目控制操作:要……例如……使用如下指令向上计数事件发生时增加计数CTU加计数向下计数事件发生时减少计数CTD减计数向上计数和向下计数根据需要增加计数和减少计数CTU和CTD对相同标签进行操作复位计数器复位CTU或者CTDRES关于计数器指令和该类指令功能的更多信息,请参阅《Logix5000TM控制器编程文档参考指南(Logix5000TMControllersProgrammingDocumentationReferenceGuide)》。计数器指令CTU指令在每次梯级条件变为真时,增加计数值并且此时指令也使能:CTU(加计数)指令•注意,在上图中,Limit_Switch_1开关从断开状态切换至接通状态反复切换10次后,此时.DN状态位使能(置位)并且Red_Light_1被使能(接通)。•如果Limit_Switch_1开关继续从断开状态切换至接通状态,Switch_1_Count接着计数并且.DN状态位仍然使能(置位)。•当Limit_Switch_2使能时,RES指令复位Switch_1_Count(清除状态位和累计)并且Red_Light_1被禁止(断开)。CTU(加计数)指令CTD指令在每次梯级条件变为真时,减少计数值:CTD(减计数)指令•图为传送带将部件传送至缓冲区域的程序。CTD(CountDown)Instruction•每次当进入一个部件时,limit_switch_1使能并且part_count增加1。•每次当一个部件离开时,limit_switch_2使能并且part_count减少1。•如果在缓冲区域有100个部件(part_count.DN置位),此时,conveyor_A被使能(接通)并且停止向缓冲区传送部件,直至缓冲区域有空间为止。CTD(CountDown)InstructionRES指令为输出指令,用来复位计时器指令和计数器指令。•当执行RES指令时,引用标签数据类型的计时器指令和计数器指令的累计值和状态位都清零(复位)。下图为RES指令引用计数器指令标签的一个示例:重要事项千万不要使用RES指令复位TOF指令,这是因为RES不但能清除状态位,而且也清除累计值。RES(复位)指令
本文标题:RSLogix_5000项目中计时器计数器的程序开发.
链接地址:https://www.777doc.com/doc-2856099 .html