您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 信捷系列PLC应用案例
1XC系列PLC应用案例一.通过流程指令实现小车控制....................................................................................................2二.两路脉冲输出............................................................................................................................6三.高速计数中断..........................................................................................................................10四.MODBUS指令应用.................................................................................................................14五.自由格式通讯..........................................................................................................................202一.通过流程指令实现小车控制概述:XC系列提供STL、STLE、SET、ST四条指令。PLC指令均STL与STLE必需配对使用。STL表示一个流程的开始,STLE表示一个流程的结束。执行SETSxxx将所在的流程关闭,并将流程Sxxx打开。执行STSxxx将流程Sxxx打开,但不将关闭自身流程。本例是一个运货小车的自动控制的流程。本程序实现了按事件步顺序执行的例子。每步包含一系列动作,一步紧跟一步,并且只有条件满足时,才能执行。例图:后退前进SQ0SQ1程序流程框图:小车后退S0小车前进S2空流程S10卸料/延时S3延时S1启动按钮X0T0时间到前进限位开关X3T1时间到停止按钮X1停止按钮X1停止按钮X1主流程后退限位开关X43程序说明:按下启动按钮X0后,小车后退,碰到后退限位X4开关后,小车停止延时5秒。延时时间到小车前进。碰到前进限位开关X3,小车停止前进,开启卸料。延时8秒后,小车又继续后退,这样不停地循环工作,直到按下停止按钮,小车停止。程序:456二.两路脉冲输出概述:XC3系列和XC5系列PLC一般具有2个脉冲输出。为了使用脉冲输出,必须要使用带有晶体管输出的PLC。通过使用不同的指令编程方式,可以进行无加速/减速的单向脉冲输出,也可以进行带加速/减速的单向脉冲输出,还可以进行多段、正反向输出等等,输出频率最高可达400KHz。本例中,使用单段单向脉冲输出,Y0控制X轴步进电机,Y1控制Y轴步进电机。通过流程控制两个轴轮流驱动。例图:Y0COM0Y1COM1Y2COM2Y轴X轴程序流程框图:上电初始脉冲M8002S0驱动X轴S1驱动Y轴7程序及注释:8910传感器计数输入AB三.高速计数中断概述:XC系列PLC都具有高速计数功能,通过选择不同的计数器可以进行单相(递增模式、脉冲+方向输入模式),AB相模式计数,最高频率可达到200KHz。PLCV2.51版本以上包含高速计数中断功能,每路高速计数器拥有24段32位的预置值,计数器的每段计数差值等于预置值时产生中断。本例中,C630=-1000时,Y0输出,其他复位;C630=-1500时,Y1输出,其他复位;C630=1500时,Y2输出,其他复位;C630=3500时,Y3输出,其他复位。例图:COMCOMX1X0X3X2X4X5X6程序流程框图:复位输出和高速技术调用中断I2501调用中断I2502调用中断I2503调用中断I2504直接输出Y0;Y1,Y2,Y3复位直接输出Y1;Y0,Y2,Y3复位直接输出Y2;Y0,Y1,Y3复位直接输出Y3;Y0,Y1,Y2复位主程序结束主程序开始C630=-1000C630=-1500C630=1500C630=3500旋转编码器11程序:121314四.MODBUS指令应用概述:XC3系列、XC5系列可编程控制器都支持MODBUS协议。本例是1个主站对3个从站循环进行MODBUS通讯读和写的程序。下图左边PLC设为主站,使用2号通讯口,其他PLC设为从站,从站站号分别设置为2,3,4(PLC在监控模式下把各分站FD8220改为2,3,4)。例图:FGCOMCOMX0X1X2X3X4X5X6X7X15X16X14X13X12X11X10X17X20X21PWRYXPORT1PORT2Y15Y14Y13Y12COM3Y5Y7Y6Y11COM4Y10Y4Y3COM2Y2COM1Y1COM0Y0AB24V0V104532RUNERRXC3-32R-E67762354011045326776XC3-32R-EERRRUN2354010V24VBAY0COM0Y1COM1Y2COM2Y3Y4Y10COM4Y11Y6Y7Y5COM3Y12Y13Y14Y15PORT2PORT1XYPWRX21X20X17X10X11X12X13X14X16X15X7X6X5X4X3X2X1X0COMCOMFG1045326776XC3-32R-EERRRUN2354010V24VBAY0COM0Y1COM1Y2COM2Y3Y4Y10COM4Y11Y6Y7Y5COM3Y12Y13Y14Y15PORT2PORT1XYPWRX21X20X17X10X11X12X13X14X16X15X7X6X5X4X3X2X1X0COMCOMFG1045326776XC3-32R-EERRRUN2354010V24VBAY0COM0Y1COM1Y2COM2Y3Y4Y10COM4Y11Y6Y7Y5COM3Y12Y13Y14Y15PORT2PORT1XYPWRX21X20X17X10X11X12X13X14X16X15X7X6X5X4X3X2X1X0COMCOMFGABBABAABLNLNNLNL程序流程框图:初始脉冲M8002通讯写S0通讯读S1通讯状况判断S2通讯地址偏移S3地址偏移MODBUS循环读写程序说明:PLC从STOP→RUN时,M8002线圈接通一次扫描。S0流程打开,把主机的D10——D14写入从机的D10[D1]——D14[D1]。S1流程把从机的D15——D19读到主机的D15[D1]——D19[D1],置通讯结束标志位,完成对一个从站的读写。S2流程对各从站通讯状况进行判断;此时流程S3会对站号进行判断如果站号小于等于4,站号加1,偏移量加10;反之站号重新从2号站开始。15梯形图程序:1617181920五.自由格式通讯本例是XP-18一体机与柏林顿电子CV系列智能可控硅调压器仪表自由格式通讯。一、接口规格CV系列仪表使用异步串行通讯接口,接口电平符合RS232C或RS485标准中的规定。数据格式为1个起始位,8位数据,无校验位,1个停止位。通讯传输数据的波特率通常用9600bit/S,CV仪表采用多机通讯协议,采用RS485通讯接口,则可将1~80台的仪表同时连接在一个通讯接口上。二、通讯指令格式CV系列仪表采用16进制数据格式来表示各种指令代码及数据。读/写指令分别如下:读:地址代号+52H(82)+要读参数的代号+0+0+CRC校验码写:地址代号+43H(67)+要写参数的代号+写入数低字节+写入数高字节+CRC校验码地址代号:为了在一个通讯接口上连接多台CV仪表,需要给每台CV仪表编一个互不相同的通讯地址。有效的地址为0~80,所以一条通讯线路上最多可连接81台CV仪表,仪表的通讯地址由参数Addr决定。仪表内部采用两个重复的128~208(16进制为80H~D0H)之间数值来表示地址代号,由于大于128的数较少用到(如ASC方式的协议通常只用0-127之间的数),因此可降低因数据与地址重复造成冲突的可能性。CV仪表通讯协议规定,地址代号为两个相同的字节,数值为(仪表地址+52H)。例如:仪表参数Addr=10(16进制数为0AH,0A+52H=5CH),则该仪表的地址代号为:5CH5CH参数代号:仪表的参数用1个8位二进制数(一个字节,无符号)的参数代号来表示。它在指令中表示要读/写的参数名。读指令的CRC校验码为:要读参数的代号*256+82+ADDRADDR为仪表地址参数值,范围是0~80(注意不要加上80H)。CRC为以上数做二进制16位整数加法后得到的余数,余数为2个字节,其低字节在前,高字节在后。写指令的CRC校验码则为:要写的参数代号*256+67+要写的参数值+ADDR。要写得参数值用16位二进制整数表示无论是读还是写,仪表都返回以下数据测量值PV+给定值SV+仪表输出状态+所读/写参数值+CRC校验码其中PV、SV、仪表输出状态及所读参数值均各占1个字节,校验码占2个字节,共6个字节。CRC校验码为PV+SV+仪表输出状态+参数值+ADDR,按整数加法相加后得到的余数。计算校验码时,每个8位字节进行加法运算,计算结果超出16位数的溢出部分忽略,剩余的16位数作为校验码(传输时低位字节在前,高位字节在后)。CV仪表可读/写的参数代号表:参数序号参数含义及取值范围10进制16进制000H厂家保留101H厂家保留202HRS-485通信地址(0至80)21303H数码管亮度(1至3,1最暗,3最亮)404H仪表输出状态(0:暂停输出,1:正常输出)505HSV,稳压给定值(0至220)606HPV,实际稳压输出值三、例图:BABABA24VPV:SV:220V220VPV:SV:567843210123459876四、程序说明:在PLC上电后,每隔100ms对仪表读一次参数,仪表返回参数存放在D100[D6]里,数据接受完毕,再对仪表写入设定参数。再对仪表站号判断,对两个仪表循环读写。数据区定义:发送数据缓冲区:D10~D13接受数据缓冲区:D100[D6]~D102[D6]发送数据缓冲区:D50~D53仪表站号:D40号站仪表PV值:D100SV值:D40001号站仪表PV值:D110SV值:D4001两个仪表站号:0,1通讯参数设置:波特率:9600,1个起始位,8位数据,无校验位,1个停止位。设置FD8220=FF;FD8221=0205;FD8226=1。(注:上、下位机必须使用V2.4及以上版本。)22程序:MOVD0D1MOVD1D12M8000SHLD1K8ADDD0D1MOVD20D10MOVH0006D11MOVH06D13MOVD2D3SHLD3K8SM12M8002WANDD100HFFM8000D100WANDD110HFFD110ADDH52D4M8000D0ADDH43D4D2D20ADDD2D3MOVD21D50MOVD65D51SHLD61D52D21SHLD62D53//上电初始扫描,置位M12//0号站PV值D100取低8位的值//1号站PV值D110取低8位的值//读地址参数加H52//写地址参数加H43//D0传送到的D1//D1算术左移8位//D0与D1累加存入D20//把要读参数代号写入D11//把H6写入D13//D1数据写入的D12//D20传送到D10//D2传送到D3//D21传到D50//D3算术左移8位//D2与D3累加存入D21//D65传到D51//D61传到D52//D62传到D5323MOVD4000[D4]D64SHLD61K8M8000SHLD64K8ADDD64H05ADDD4000[D4]D2WANDD60H0500WANDD60HFF00LSRD62K8M8013D65//每秒读一次参数//写参数//站号D4自加一//PV值偏移量D6自加10//当D4大于2
本文标题:信捷系列PLC应用案例
链接地址:https://www.777doc.com/doc-4179833 .html