您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 三菱PLC与变频器通讯演示
三菱FX2nPLC与TD系列变频器通信本程序使用的是三菱FX2n-32MR系列的PLC。该款PLC共有18路数字输入,16路继电器输出,平均分成4组,每组均不共地。其本身带一个通信口,可做编程口或其他专用通信协议通信时使用。内置RAM存储器,电池后备,实时时钟,有27种基本指令,内外都有运行停止功能。根据用户需要,还可以添加各种功能扩展板。支持6种通信连接:简易PLC机间链接,并列链接,计算机链接,U-LINK,I/O链接,无协议通信。与变频器通信,采用的是最后一种。为与变频器通信,我们选了一个可选件:FX2n-485-BD。该接口支持RS485和RS422协议。RS485通信时需将RDA和SDA短接,RDB和SDB短接。支持三种编程语言,例子程序使用梯形图。PLC总体介绍通信相关字和位特殊数据寄存器描述D8120通信格式设置D8122需要发送的剩余数据的个数D8123接收数据的个数D8124帧头D8125帧尾D8129数据接收超时值特殊位寄存器描述M8121数据发送等待标志,用于其他通信方式。M8122数据发送请求标志M8123接收完成标志M8124载波听标志,用于RS232和拨号器连接。M8129超时标志M81618位/16位转化标志位序列:bit0Bit(2:1)Bit3Bit(7654)Bit8Bit9Bit(101112)Bit13Bit14bit15描述0:7位1:8位00:无校验01:齐11:偶0:停止位1位1:停止位2位0011:3000100:6000101:12000110:24000111:48001000:96001001:192000:无帧头1:有帧头0:无帧尾1:有帧尾011:无协议模式0:和校验不加于帧上1:相反0:无协议1:专有协议0:协议格式11:协议格式4在程序中,我们设置如下:8位数据位,无校验,1位停止位,9600波特率,有帧头和帧尾,无协议模式,不自动加和校验,所以D8120=H0F81(H表示16进制)通信相关字和位-D8120D8124和D8125分别是数据帧的帧头和帧尾,所以在程序中D8124=H007ED8125=H000DD8122和D8123分别是剩余发送字符的个数和已经接收到的字符个数,在本程序中不需使用。在进行通讯时,我们设置的通信超时时间是10ms。因为在D8129中默认单位是10ms。所以D8129=K1(K表示常数)通信相关字和位M8161:8位/16位选择当M8161为OFF时,数据帧处理的是16位有效数据。也就是一个字包含两个有效的信息字符。发送和接收都是先低字节后高字节顺序。当M8161位ON时,数据帧处理的是8位有效数据。一个字中只包含一个有效的信息字符,放在低字节中,高字节信息忽略。M8122:数据发送请求标志当PLC处于接收完成状态或接收等待态时,用脉冲触发M8122,将使得从D21开始的连续12个数据被发送。当发送完成后,M8122自动被复位。然后PLC进入接收等待状态。通信相关字和位M8123:接收完成标志当M8123置位时,表明接收已完成,此时需要将接收到的数据从接收缓冲区转移到用户指定的数据区,然后复位M8123。M8129:超时标志从下图中我们看到,接收数据中途中断时,如果在D8129规定的时间内仍然没有收到新的数据,则超时标志置位。如果该标志置位,则一次接收完成。需要手工复位M8129。通信相关字和位RS指令:RS指令是使用RS232C口进行发送和接收串行数据的指令。数据格式在D8120中设定。并且在D8120中修改后必须使RS指令复位后更改才生效。在程序中尽管可以多次使用RS指令,但同一时间必须保证只有一个RS指令被驱动。当PLC只接收数据时,可将发送数据数置0,而只发送数据时,可将接收数据数置0。在一次完整的通讯过程中,RS指令必须保持一直有效,直至接收数据完成。而数据发送请求位OFF时间一般要求大于程序执行一周的时间。和RS指令相关的标志位:M8122,M8123通信指令1、判断是否有有效的运行停机命令信号,如果没有则发送轮询1#机的运行频率的命令随后立刻开始应答信号接收(发送在定时1S到时启动),如接受完成则对轮询次数累计,并且校验应答信号,如果轮询成功则从Y1输出指示信号并计算出运行频率;如失败则统计轮询失败次数。2、如果有有效的运行或停机命令则发送广播运行或者广播停机命令,命令的发送是在判定该命令有效后启动一次。3、关于轮询和运行、停机命令的发送处理:X0闭合-表示广播起动X1闭合-表示广播停机。如果X0闭合则置M0,X1闭合则置M1,这样即使X0和X1随后松开,运行和停机命令也不会消失。程序构架4、如果M0或者M1都没有置位,则发送轮询1#机的运行频率命令,否则发送相应的广播启动和停机命令,发送广播启动或者停机命令时的时序关系如下:X0闭合-----置位M0-----上次通讯完毕则置M2----设置发送和接收缓冲区-----单次启动发送X1闭合----置位M1------上次通讯完毕则置M2----设置发送和接收缓冲区-----单次启动发送上次通讯完毕----无启动停机命令则等待,定时到后自动启动轮询1#机运行频率直至接收完成。程序构架如果使用FX2n-485bd或者FX0n-485adp,请设定D8120的(bit11,bit10)=(1,1)。否则接收到的数据和发送的数据一样。如果使用FX2n-232bd或者类似的RS232通讯模块,则请按照RS232模式设置D8120的(bit11,bit10)。使用FX2n-485bd模块时,通讯接收完成的判断标准如下:接收的字节达到指定的接收长度或者接收到指定的结束字符。由于FX2n-485bd模块在做RS485通讯时,RDA连接SDA,RDB连接SDB,发送的信号同样会回到接收线上,因此接收完成标志可能会多次产生,务必小心处理。如以TD2000与FX2n通讯为例:如果指定发送的首字符和尾字符,FX2n发送完毕,则会因为接收到发送的尾字符,产生接收完成标志,此时接收到的字符为发送的字符,因此请放弃这次的接收数据,清掉接收完成标志,等待下个接收完成标志,这次才能接收到变频器的应答信号。FX2n编程注意事项发送、接收标志的处理:发送启动只需要一次,即置位一次M8122,通讯指令RS需要长期驱动,直至发送和接收都完成。发送完成后M8122会自动清零,接收完成或超时溢出则M8123会置位。处理完接收数据后,软件需对M8123清零。超时标志的处理:在接收数据的过程中,如在D8129指定的时间内数据接收,则超时标志M8129变为ON,超时标志出现即表明接收结束,M8123将置位。延迟时间处理:由于FX2n通讯的收发状态切换较慢,估计取决于PLC的扫描周期,这个时间估计为2ms左右,因此在与TD2000/TD1000/TD2100/TD3000通讯时,可能接收不到变频器的应答数据,这时只有两种办法:1:变频器软件做非标,增加通讯延时2:请使用siemensPLC或者其它快速PLC。FX2n编程注意事项广播命令处理:对于广播启动和广播停机,由于变频器没有应答数据,因此在接收处理时务必小心,有以下建议:1.不要指定接收的字节数为零,因为一旦指定接收的字节数为0,则需要进行相关的处理FX2n才能再次进入接收状态(请参考三菱PLC手册)2.为了让广播命令也能产生两次接收完成标志,请指定接收的字节小于发送的字节数,一般取小于发送字节数的一半即可,同时设置超时判断,建议尽量短,例如10ms。3.对于TD2000/TD1000/TD2100/EV2000建议指定接收的首尾字节,这样在发送和接收字节数不同时,可以通过尾字节(0DH)产生两次接收完成标志。对于TD3000由于没有固定的尾字节,只能通过超时或者接收长度到产生接收完成标志。当然如果指定通讯的首尾字节,则接收字节的长度取发送字节和接收字节中的较大者比较合适,因为接收完成标志完全由通讯结束字符产生。FX2n编程注意事项变频器设置:F002=2,上位机控制F115=1,显示功能块F116~F137F116=5,9600BPSF117=0,0,8,1,0F118=1,地址接线:首先将FX2n-485-BD上的RDA-SDA端子短接,RDB-SDB端子短接;然后RDA接变频器485+,RDB接变频器485-。PLC运行:PLC程序上电完毕后,默认为停止状态,可将编程端口处运行开关拨到RUN位置使之运行。PLC与TD2000变频器通信程序初始化,只执行一次。PLC运行后,M8002仅在瞬间为ON,其余时间均保持OFF。设置数据长度8位、无校验、波特率9600、有起始和终止字符、选择RS485模式,指定首字节为”0X7E”,尾字节为”0x0D”,通讯超时为10ms,设置通讯为8位数据模式,清零M0~M4,清零D10。如果M2为OFF,则无有效的广播命令,发送轮询1#机的运行频率。如果T7定时没到,则设置T7定时1S,同时累计循环次数。T7的时间单位默认100ms。PLC与TD2000变频器通信程序如果T7定时1S到,则计算1S内循环的次数(主要是为了测试扫描周期的长度)。同时如果M2为OFF(意味着没有有效的广播命令),则开始轮询1#变频器的运行频率。准备完毕发送的字符后,清除上次的接收次数计数器D200,同时启动发送(M8122置为ON)。频率查询命令每1S执行一次。PLC与TD2000变频器通信程序如果M0和M2都为ON,则表示广播启动命令有效,发送广播启动命令,特意指定接收字节为7,便于产生两次接收完成标志。PLC与TD2000变频器通信程序如果M1和M2都为ON,则表示广播停机命令有效,发送广播停机命令,特意指定接收字节为7,便于产生两次接收完成标志。PLC与TD2000变频器通信程序如果M2为ON,表示广播命令被接收有效,单次启动发送(置位M8122),同时清零接收次数计数器。如果超时溢出,则清除超时溢出标志。如果X000端子闭合,则置位M0,如果X001端子闭合则置位M1。PLC与TD2000变频器通信程序对接收完成标志计数,如为第一次,则直接清除该标志,第二次再接收该标志时,则正式接收应答信号,如果是应答变频器的运行频率,则判断应答、校验是否成功,应答成功则输出Y000指示,校验成功,则把运行频率显示在D100单元,同时轮询次数记录在D121单元。轮询失败次数记录在D120中。接收完成时,如果同时M2为ON,则清除M0、M1、M2,如果M2为OFF,且M0或者M1为ON,则置位M2。初始化程序PLC与TD3000变频器通信程序如果无有效广播命令,则查询命令有效。如果T7定时器定时时间1S到,则发送频率查询命令PLC与TD3000变频器通信程序广播开机PLC与TD3000变频器通信程序广播停机PLC与TD3000变频器通信程序接收数据的处理PLC与TD3000变频器通信程序
本文标题:三菱PLC与变频器通讯演示
链接地址:https://www.777doc.com/doc-4098370 .html