三菱 FX2n PLC与TD系列变频器通信
PLC总体介绍 本程序使用的是三菱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短接。 支持三种编程语言,例子程序使用梯形图。
通信相关字和位 特殊数据寄存器 描述 D8120 通信格式设置 D8122 需要发送的剩余数据的个数 D8123 接收数据的个数 D8124 帧头 D8125 帧尾 D8129 数据接收超时值 特殊位寄存器 描述 M8121 数据发送等待标志,用于其他通信方式。 M8122 数据发送请求标志 M8123 接收完成标志 M8124 载波听标志,用于RS232和拨号器连接。 M8129 超时标志 M8161 8位/16位转化标志
通信相关字和位-D8120 位序列: bit0 Bit(2:1) Bit3 Bit(7654) Bit8 Bit9 Bit(101112) Bit13 Bit14 bit15 描述 0:7位 1:8位 00:无校验 01:齐 11:偶 0:停止位1位 1:停止位2位 0011:300 0100:600 0101:1200 0110:2400 0111:4800 1000:9600 1001:19200 0:无帧头 1:有帧头 0:无帧尾 1:有帧尾 011:无协议模式 0:和校验不加于帧上 1:相反 0:无协议 1:专有协议 0:协议格式1 1:协议格式4 在程序中,我们设置如下:8位数据位,无校验,1位停止位,9600波特率,有帧头和帧尾,无协议模式,不自动加和校验,所以D8120=H0F81(H表示16进制)
通信相关字和位 D8124和D8125分别是数据帧的帧头和帧尾,所以在程序中 D8124=H007E D8125=H000D 在进行通讯时,我们设置的通信超时时间是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编程注意事项 如果使用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:请使用siemens PLC或者其它快速PLC。
FX2n编程注意事项 广播命令处理:对于广播启动和广播停机,由于变频器没有应答数据,因此在接收处理时务必小心,有以下建议: 1.不要指定接收的字节数为零,因为一旦指定接收的字节数为0,则需要进行 相关的处理FX2n才能再次进入接收状态(请参考三菱PLC手册) 2.为了让广播命令也能产生两次接收完成标志,请指定接收的字节小于发送的 字节数,一般取小于发送字节数的一半即可,同时设置超时判断,建议尽量 短,例如10ms。 3. 对于TD2000/TD1000/TD2100/EV2000建议指定接收的首尾字节,这样在发送 和接收字节数不同时,可以通过尾字节(0DH)产生两次接收完成标志。对于 TD3000由于没有固定的尾字节,只能通过超时或者接收长度到产生接收完成 标志。当然如果指定通讯的首尾字节,则接收字节的长度取发送字节和接收 字节中的较大者比较合适,因为接收完成标志完全由通讯结束字符产生。
PLC与TD2000变频器通信程序 变频器设置: F002=2,上位机控制 F115=1,显示功能块F116~F137 F116=5,9600BPS F117=0,0,8,1,0 F118=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。
对接收完成标志计数,如为第一次,则直接清除该标志,第二次再接收该标志时,则正式接收应答信号,如果是应答变频器的运行频率,则判断应答、校验是否成功,应答成功则输出Y000指示,校验成功,则把运行频率显示在D100单元,同时轮询次数记录在D121单元。轮询失败次数记录在D120中。接收完成时,如果同时M2为ON,则清除M0、M1、M2,如果M2为OFF,且M0或者M1为ON,则置位M2。
PLC与TD3000变频器通信程序 初始化程序
PLC与TD3000变频器通信程序 如果无有效广播命令,则查询命令有效。 如果T7定时器定时时间1S到,则发送频率查询命令
PLC与TD3000变频器通信程序 广播开机
PLC与TD3000变频器通信程序 广播停机
PLC与TD3000变频器通信程序 接收数据的处理