1.定时器T
(1)基本定时 T为通电延时,时间单位与PLC型号、定时器号相关,如FX2N系列PLC的T0~T199、停电保持累积型T250~T255的精度为100ms;T200~T245精度为10ms;停电保持累积型T246~T249的精度为1ms。STMR指令可一次性得到通电延时断开、断电延时断开等形式的定时器触点。
图7-47 非保持型定时器编程示例
图7-48 保持型定时器编程示例
1)非保持型。图7-47中设定值为K300,延时时间为10ms×300=3s。当X22→ON且保持时间大于3s时,则T200触点ON,Y0=1;X22=0时Y0断开。如X22为ON的时间小于3s,则Y0不动作。
2)保持型。计时值不能由驱动线圈触点断开清除,由RST清除计时值、断开触点;保持型计时累计,线圈驱动为“1”的输入均计时。图7-48中T250为100ms保持型,3s延时设定值为K30,T250线圈驱动条件X22为ON即计时;如计时中X22为OFF或PLC掉电,停止计时,当前计时值仍保留;X22再ON计时继续;当累计计时到3s,T250触点接通,Y1=1。如需断开Y1,必须使T250的复位输入X21=1,清除计时值。T在复位期间,即使X22=1,也不能启动定时器。
3)延时断开控制编程示例图7-49。
图7-49 延时断开控制编程示例
4)定时通/断控制编程示例。如图7-50所示,改变T1与T2的延时可调节Y1通/断时间。
图7-50 定时通/断控制编程示例
(2)定时功能扩展
1)STMR扩展。STMR可断电延时断开、通电延时接通、通电延时断开、信号整体延时等。如图7-51所示,STMR指令最后1个操作数指定的是其他定时触点输出起始地址,图中M0,执行STMR指令可在该地址起的连续4点,M0~M3得到4种延时触点。
图7-51 延时方式的转换
2)实时调节时间。FX系列PLC的模拟电位器有时间调节功能,“模拟电位器”是调节电位器直接输入,将阻值A-D转成数字量,实时调节时间。FX1S/FX1N系列PLC采用10只模拟电位器,2只为基本单元内置,8只需要选配内置扩展板FX1N—8AV—BD,见图7-52,基本单元内置VR1/VR2的A-D转换器,不需要编程;用FX2N—8AV—BD的8只电位器,由VRRD进行A-D转换。电位器分辨率为1/256,结果为0~255。FX2N选配FX2N—8AV—BD,用8只模拟电位器;FX3U无模拟电位器选件。
图7-52 模拟电位器的安装
3)按键调节。FX系列PLC采用按键实时调节,执行TTMR指令实际改变D。时间设定值即为按键保持“1”的时间。K=0时,时间设定值与按键保持时间之比为1∶1;K=1时,设定值是按键保持时间的10倍;K=2时是100倍。
2.计数器C
计数器C0~C99、C100~C199(停电保持型)为16位增计数;C200~C219、C220~C234(停电保持型)为32位加减计数;C235~C255高速输入计数。32位计数器计数值到达设定值后继续计数。
(1)基本型
1)计数特性。通用计数器C由触点作计数输入。高速计数器C必须采用基本单元的高速输入端,可处理单相或两相计数输入信号,由相应指令直接复位/启动控制;普通计数器C线圈输入端子既是线圈工作条件也是计数输入;高速计数器C计数信号必须从高速输入端输入,线圈输入是工作条件。
2)计数输入。触点脉冲输入、上升沿有效。通用计数器C计数输入用触点计数;高速计数器C必须采用基本单元高速输入点X0~X5,X6~X7作高速计数的启动与复位。
3)计数增/减。单相高速计数器C2□□增/减由M82□□控制,C246~C255当前计数方式由M8246~M8255检查。
4)计数器复位。由RST清除当前值、断开计数器触点,高速计数器C还可直接用外部输入端复位,复位端子与高速C计数器对应。
5)启动/停止控制。普通计数器C通过指令控制计数器的启动与停止,高速计数器C计数信号来自指定的高速输入,由程序对计数器C线圈或外部端S的控制,控制计数器C的启动与停止。
6)非保持型计数器。如图7-53所示,X1计数输入,X0复位,计数值为5。如X0=0,X1每次上升沿C0当前计数加1,到计数值5时,C0触点接通,再输入信号计数值不变,如X0=1,C0当前值清除,触点断开。
图7-53 非保持型计数器编程示例
7)保持型计数器。如图7-54所示。X1计数输入、X0复位、X2控制计数方向,设定值为-5。如图7-55所示X0=0且X2=0时,X1每次上升沿C200当前值加1;X2=1时,X1每次上升沿C200当前值减1;计数值大于-5时C200触点接通;如X0=1,C200当前计数值清零、触点断开。只要不复位输入,停电保持型C计数值和触点状态如PLC断电时仍保持,电源再接通时当前计数值继续加。
图7-54 保持型计数器编程示例
(2)高速型
1)输入端。基本单元输入端X0~X7,X6和X7是启动端,FX3U系列PLC可通过选件实现。高速计数器的输入功能、最高计数频率见表7-31、表7-32。
图7-55 保持型计数器的工作过程
表7-31 单相高速输入计数器
注:U/D—计数输入;R—复位输入;S—启动输入。
表7-32 两相高速输入计数器
(续)
注:U—增计数;D—减计数;A—A相输入;B—B相输入;R—复位;S—启动。
2)编程。高速计数器C线圈控制端是线圈工作条件;外部启动输入控制端S的C244/C245、C249/C250、C254/C255,只有在两者同时为“1”时计数启动;对用外部复位输入端R的C241~C245,如有计数器RST,只要复位输入为“1”时,C复位;触点只能在计数脉冲输入时才动作,如无计数信号输入,即便满足触点动作条件触点也不接通。
图7-56 高速输入计数器的编程
图7-56a中计数输入X0,X22是C235的工作条件,X22=1时启动X0计数,X22=0时停止计数;X20控制M8235实现增/减计数。X21=1时C235复位。图7-56b中C241可外部复位输入,计数输入X0,外部复位X1;X20→控制M8241实现增/减计数,C241在X22=1时启动对高速输入X0计数,X22=0时停止计数;X1=1时外部复位。图7-56c中,C246为增/减输入计数,X0增、X1减计数端;C246在X22=1时启动对输入X0、X1计数,X22=0时停止计数;当X21=1时计数复位。图7-56d中C251为用A/B两相90°相位差脉冲输入;X0为A相脉冲输入,X1为B相脉冲输入;C251在X22=1时启动并对X0、X1计数,X22=0时停止计数;当X21=1时高速计数复位;M8251为C251当前计数状态指示,如A相超前B相(增),M8251为“0”,反之为“1”。
(3)高速计数控制 内置高速计数器C,计数到达后即输出处理,FX系列PLC的高速置位/复位指令HSCS/HSCR、高速区间比较指令HSZ输出不受扫描周期的影响,但硬件计数转换为软件处理,计数频率见表7-33。
表7-33 高速计数指令的计数频率
1)高速置位/复位指令HSCS/HSCR:用于计数器比较与输出直接控制。如图7-57所示,HSCS计数值到1000时Y0=1;HSCR计数值到2000时Y0=0。
图7-57 高速置位/复位指令
2)高速比较指令HSZ:如图7-58所示,操作数设定比较区间,第1、2操作数为比较下、上限,有3个连续输出。Y0为计数值小于下限时输出,Y1、Y2为计数值在区间范围内计数值大于上限时输出。
3)速度测量指令SPD:“脉冲密度”指令,计算单位时间内输入脉冲数,实时测量以位置脉冲输出的装置速度,见图7-59,X10为速度测量信号,SPD操作数X0定义高速脉冲输入端,采样时间K1000(ms),D0存储结果,输出脉冲数。X10=1启动采样,PLC开始高速输入X0;采样时间到1000ms,计数值到D0,同时计数值清零,重新开始累计输入脉冲。
图7-58 高速比较指令
图7-59 速度测量指令的编程
(4)高速计数与定位控制 通过基本单元高速I/O点,利用内置高速计数器C、定位指令编程与控制,也可用专门扩展模块。基本单高速I/O点有6~8点输入及2~4点输出,计数输入频率不大于40kHz,脉冲输出频率不大于100kHz。I/O点可能被输入中断、矩阵扫描等占用,部分定位指令使用次数受限制。
高速计数与定位控制扩展选件是基本单元高速计数/脉冲输出功能的扩展,用于计数频率200kHz、脉冲输出频率1MHz、I/O在2~16点的高速计数与多轴、有轮廓控制(插补)定位控制。FX系列PLC高速计数与定位控制扩展选件见表7-34。
高速计数与定位模块用于FX2N/FX3U系列PLC,独立安装,模块带存储器,计数与定位控制在模块中实现。位置单元自带CPU和存储器控制单元,独立运行,需要配备专门的编程软件。与伺服驱动器等装置配套,可组成闭环位置控制系统。
表7-34 FX系列PLC高速计数与定位控制扩展选件
(续)
图7-60 FX3U—4HSX—ADP的安装方式
1)FX3U—4HSX—ADP。外置高速计数输入功能扩展板,直接安装于基本单元左侧,见图7-60。该扩展板使用后高速计数输入频率200kHz。每一高速计数输入功能扩展板有4通道线驱动输入接口与高速计数电路,第1扩展板输入固定X0/X1/X2/X6,第2块扩展板输入固定X3/X4/X5/X7。使用扩展板后基本单元X0~X7不再作他用。其技术性能见表7-35,模块DC 24V与DC 5V由基本单元提供。输入连接见图7-61,每一输入点X0/X1/X2/X6或X3/X4/X5/X7有X□□+与X□□-2个连接端。使用FX3U—4HSX—ADP后,FX3U的C235~C255输入见表7-36、表7-37。
表7-35 FX3U—4HSX—ADP的技术性能
图7-61 FX3U—4HSX—ADP的输入连接
图7-62 FX3U—2HSY—ADP的输出连接
2)FX3U—2HSY—ADP。外置高速脉冲输出功能扩展板,安装方法同FX3U—4HSX—ADP。该扩展板使用后,高速脉冲输出点扩展到Y0~Y7,脉冲输出频率为200kHz。每一高速脉冲输出功能扩展板有4通道线驱动输出电路,第1扩展板输出固定Y0~Y4,第2块扩展板输出固定Y2~Y7。使用扩展板后基本单元Y0~Y7不再作他用。其技术性能见表7-38,DC 24V与DC 5V需要由基本单元提供。脉冲输出连接见图7-62,每一输出点Y0/Y1/Y3/Y4或Y2/Y3/Y6/Y7有“Y+”与“Y-”2个连接端。FX3U—4HSX—ADP、FX3U—2HSY—ADP的高速计数器号、编程方法、输出相同。
表7-36 单相高速输入计数器
注:U/D—计数输入;R—复位;S—启动。
表7-37 两相高速输入计数器
注:U—增计数;D—减计数;A—A相输入;B—B相输入;R—复位;S—启动。
表7-38 FX3U—2HSY—ADP的技术性能(www.xing528.com)
(5)计数模式
1)单相输入。脉冲+方向输入时,输入B接计数脉冲输入,输入A如计数模式选“硬件计数”(BFM#0=8或9),输入A是计数方向控制,输入“OFF”为加计数、“ON”减计数;如计数模式选“软件方向控制计数”(BFM#0=10或11),输入A无效,计数方向BFM#1=0为加计数、BFM#1=1为减计数。加/减脉冲输入时(BFM#0=5或6),输入A为加计数、输入B减计数。
2)两相输入。用90°相位差A/B两相脉冲输入时,如A相输入超前B相输入90°为加计数,如B相输入超前A相输入90°为减计数,计数脉冲在模块内可倍频处理,BFM#0=0或1,倍频无效,加计数时B相上升沿计数,减计数时B相下降沿计数,见图7-63a;BFM#0=2或3,2倍频处理,B相上升/下降沿同时作为加/减计数输入,见图7-63b;BFM#0=4或5,4倍频处理,A/B两相输入上升/下降沿作为计数输入,见图7-63c
图7-63 90°相位差脉冲输入计数特性
(6)编程 TO向模块BFM写命令、FROM读BFM参数。计数模式的选择见表7-39。
表7-39 计数模式的选择
3.辅助继电器M
(1)功能特殊辅助继电器M PLC状态用特殊辅助继电器M见表7-40;时钟用特殊辅助继电器M见表7-41;标志用特殊辅助继电器M见表7-42。
表7-40 状态用特殊辅助继电器M
表7-41 时钟用特殊辅助继电器M
表7-42 标志用特殊辅助继电器M
(2)常用驱动线圈特殊辅助继电器M PLC工作方式特殊辅助继电器M见表7-43;线圈编程执行中断禁止特殊辅助继电器M,见表7-44。
表7-43 工作方式特殊辅助继电器M
表7-44 中断禁止特殊辅助继电器M
4.数据寄存器D
通用数据寄存器D0~D199,写入数据不变,新写数据后原数据丢失,PLC由RUN→STOP时,全部数据→0,如M8033=1,数据保持;掉电保护D200~D511。两台PLC点对点通信时,D490~D509用作通信;停电保持专用D512~D 7 999,参数设置无法改变性质;参数设置可将D1000后最多7000点设为文件寄存器;D8000~D8255监控PLC元件运行方式,电源ON时写入初始化值,然后系统ROM安排写入初始值。状态监测特殊数据寄存器D见表7-45,时钟状态监测特殊数据寄存器D见表7-46。
表7-45 PLC状态监测特殊数据寄存器D
表7-46 时钟状态监测特殊数据寄存器D
5.位组合数据
用4位BCD码表示1个十进制数。位元件,4位组合表示1个十进制数。用KnX、KnY、KnM、KnS组合。如K1X0表示X3~X0组合;K2X0表示X7~X0组合;K3Y0表示Y13~Y0组合;K4Y0表示Y17~Y0组合。
6.变址寄存器
变址寄存器共16个,V0~V7和Z0~Z7,可组成32位变址寄存器,且最多组合16个,见图7-64,变址寄存器的使用见图7-65。
图7-64 组合成32位变址寄存器
图7-65 变址寄存器的使用
7.程序跳转、子程序调用与循环指令
(1)指针 用作跳转、中断等程序入口,与跳转、子程序、中断程序等使用。P用作跳转或调用子程序,I用作中断。
1)分支指针P。对FX2N分支指针有P0~P127,其中P63指向END。指针号唯一,同1个指针号可作多个跳转目标。
图7-66a中,X1=1时,跳到P0,执行程序。图7-66b中,X1=1时,执行CALL的标号P1位置子程序,以SRET返回原位置。
图7-66 分支指针P的应用
2)条件跳转CJ。满足条件时跳转至指针P,图7-67中,X0=0,不执行跳转CJ,继续执行LD X1;X0=1时,跳到P1处执行LD X2。如跳转条件始终为“1”,则无条件发生转移。
用脉冲指令CJP,上升沿执行1次;跳转目标如在CJ前,采用边沿信号,否则程序死循环;如跳转区域内用保持型T或C,为清除T、C,应将复位RST编制在跳转区域外,见图7-68;当CJ与MC/MCR同时使用时,如跳转来自外部,但跳转目标在当前主控区域内,此时即使MC=0,跳转目标P后程序仍正常执行;如CJ在主控区域内,不论跳转目标在何处,只要MC=0就不能执行跳转指令;如CJ在主控区域内,但跳转目标P在MCR之外,则MCR无效。
图7-67 跳转指令的编程
图7-68 保持型T和C的清除
(2)子程序调用 子程序用于程序中的重复执行,调用CALL、返回SRET,编程方法与CJ相同,跳转目标P;SRET返回子程序调用处。子程序号与跳转目标不能用相同的指针。子程序在主程序后,用FEND分隔;子程序调用时可脉冲执行CALLP。可在1个子程序中再次调用其他子程序,即嵌套,见图7-69,FX系列PLC可嵌套5层。
图7-69 子程序的调用
(3)中断 根据条件立即停止执行正常程序,转入中断程序。中断是预先安排好的任务。执行结束后,从当前程序中断位置继续执行当前程序。SM=0时中断事件有效,SM=1时中断事件无效。中断程序结束IRET,中断程序在FEND后。中断事件只能在PLC规定的中断方式下进行选择。中断方式分为外部中断、定时中断与计数中断。
1)中断指令。如图7-70所示,中断允许指令EI以下区域中断有效;中断禁止指令DI以下区域中断禁止。中断禁止时所有中断事件被PLC记忆,一旦程序执行到中断允许区域,中断立即生效。如需禁止中断,可通过特殊辅助继电器M禁止。
2)中断处理。中断事件由CPU监控。任何时刻只能执行1个中断,按照“时间优先”原则,PLC自动中断排队;如同时发生,先处理编号小的事件,FX2N系列PLC可处理二级中断。FX2N与FX3U系列允许中断程序中1次嵌套。FX系列中断程序中,外部中断I00□(X0)~I50□(X5);定时器中断I6□□~I8□□;计数器中断I010~I060。中断方式见表7-47。中断输入端不能再用于高速处理,每个输入端只能用1次。
3)输入中断。中断编号见表7-48,接收输入端子X000~X005的中断,不受扫描影响,同1个输入端不能同时上升沿与下降沿中断,例如:不能同时用I001与I000;高速计数输入、速度测量输入不能再作中断输入;输入中断由M8050~M8055禁止;高速计数输入定义为中断信号,输入滤波时间自动变为最小值,REF与D8020设定无效;如需要,在输入中断程序处理期间由REF进行I/O高速采样与刷新。如图7-71所示,X0上升沿出现时Y000=1,并直接读取X010的状态,作Y002输出。单通道高速计数输入可用高速计数器C,按图7-72输入中断实现,假设高速脉冲输入X000,数据寄存器加“1”,计数存至D0。
图7-70 中断指令的编程
表7-47 FX系列PLC的中断方式
表7-48 外部输入中断事件中断编号
(续)
图7-71 输入中断功能直接控制输出
图7-72 输入中断功能实现高速计数
图7-73为输入中断测量脉宽梯形图,测量输入信号“1”脉宽。同时接X000与X001,分别用上升沿与下降沿。X010=1时启动测量存储器D0,单位为1ms。如需脉冲精度为0.1ms,则用M8099与D8099。D8099为FX2N/FX3U的0.1ms计时器(计数器),M8099用于D8099启动,见图7-74。
图7-73 输入中断测量脉宽
图7-74 输入中断与特殊定时器测脉宽
4)定时器中断。每个只能用1次。由编号6~8专用定时器控制,IRET返回,自动周期性中断。用于高速程序段处理、模拟量输入定时采样、模拟量输出刷新等。基准为1ms高速定时器或内部0.1ms高速环形计数器D8099。表7-49直接定义中断周期,由M8056~M8058禁止中断。图7-75实现10ms定时中断,0X10为定时器启动,D10为最大计时值设定,定时器结果存至D0。
图7-75 定时中断功能实现精确计时
表7-49 定时器中断事件
注:□□内表示10~99ms。
5)高速计数器中断。与HSCS配合,在高速输入上升沿或下降沿实现中断处理。中断指针中最高位为输入地址,中间位为“0”,最低位为上升/下降沿标记。计数中断与C235~C255及DHSCS同时使用,见图7-76,高速计数器C计数到规定值时即处理中断程序。M8059=1时,禁止中断,见表7-50。
表7-50 计数器中断事件
(4)循环指令 FOR~NEXT之间程序循环执行,执行次数n=1~32767,n可用K、D、Z/V等。FOR~NEXT循环可嵌套5层,见图7-77。循环次数多会延长扫描时间,可能导致PLC定时监视出错;NEXT不能在指令FOR前;FOR与NEXT成对使用,NEXT不能在FEND、END后。
图7-76 计数中断的编程
图7-77 循环指令的编程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。