您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > OMRON PLC与变频器通讯
关于CP1H串口Modbus-RTU通信小结一.系统组成:二.系统设定:1.CP1H设定:主要设定Port2为Serial-Gateway功能,通信波特率9600,8,1,N2.CP1W-CIF11开关设定,1=ON(终端电阻);2,3=ON(RS485方式);5=ON(不要echoback数据);6=ON(RS485方式)PinNo.1ONYesTerminalresistorOFFNo2ON2wires(RS485)havetosetsamesettingofNo2andNo3OFF4wires(RS422)3ON2wires(RS485)OFF4wires(RS422)4--5ONRD:RScontroll“Noechobacksettinng”alsoNo5=On.OFFRD:NoRScontroll(Alwayspossibletoresive)6ONSD:RScontrolFor4wire(RS422)1:Nconection,NsideunitsetNO.6=ON.For2wire(RS485),setNo.6=ON.OFFSD:NoRscontroll(Alwayspossibletosend)3.变频器1设定:n003=2(运行指令从RS485来),n004=6(频率从RS485来);n151=0(超时检测2S);n152=0(频率单位0.1HZ),n153=1(站点号),n154=2(9600bps),n155=0(8,E,),n156=10(发送等待时间10ma);n157=0(RTS控制使能);4.变频器2设定:n003=2,n004=6;n151=0;n152=0,n153=2(站点号),n154=2,n155=0,n156=10;n157=0;5.变频器3设定:n003=2,n004=6;n151=0;n152=0,n153=1(站点号),n154=2,n155=0,n156=10;n157=0;三.Modbus-RTU串口通信特点:1.Modbus-RTU可以通过发送为,将存储在特定DM区的数据按Modbus-RTU方式发送出去,自动添加CRC校验.Node1Node2Node3RDB+RDA-SDA-SDB+FG2.发送完成后自动接收RTU从站的响应数据,存储在特定区域,(但是如果没有响应,一直会等待接受数据,不能跳出.)3.具体地址分配和发送状态位如下:ChbitsettingSserialport1Serialport2D32200D3230007to00CommandSlaveaddres(00HextoF7Hex)15to0800(Hex)D32201D3230107to00FUNCTIONcord15to0800(Hex)D32202D3230215to00ByteNumberofData(0000Hexto005EHex)D32203toD32249D32303toD3234915to00Data(Max.94byte)D32250D3235007to00responceSlaveaddres(01HextoF7Hex)15to0800(Hex)D32251D3235107to00FUNCTIONcord15to08-D32252D3235207to00Errocode15to0800(Hex)D32253D3235315to00BytenumberofResponse(0000Hexto03EAHex)D32254toD32299D32354toD3239915to00Response(Max.92byte)Modbus-RTU串口标志位:ChBitSerialport設定内容A641CH02Serialport1Modbus-RTU簡易主站機能実行错误終了标志1:実行異常終了0:実行正常終了或者実行中01Modbus-RTU簡易主站機能実行正常終了标志1:実行正常終了0:実行異常終了或者実行中00Modbus-RTU簡易主站機能実行开关0→1:実行開始1:実行中0:非実行中或者実行終了A640CH02Serialport2Modbus-RTU簡易主站機能実行错误終了标志1:実行異常終了0:実行正常終了または実行中01Modbus-RTU簡易主站機能実行正常終了标志0→1:実行開始1:実行正常終了0:実行異常終了或者実行中00Modbus-RTU簡易主站機能実行开关0→1:実行開始1:実行中0:非実行中或者実行終了四.程序控制:1.如何控制1台变频器不间断读取变频器数据如果使用0.2S的脉冲来控制A64000,发送DM32300的数据,那么由于时序问题,可能有时变频器超时错误.因此要使用A64000和A64001来进行控制,具体程序如下:注释:1)第一个扫描周期,置位W20.002)W20.00触发A640.00的上升沿,发送数据3)发送开始后,A640.00将W20.00复位4)发送完成后,A640.01将W20.00置位,再次进行发送2.如何控制轮巡读写多台变频器数据(每个轮巡都读写)如果使用SFT对读写的变频器进行轮巡读写,向每台变频器发送1条读命令,1条写命令,那么3台变频器需要发送6次,SFT需要移位6次完成,数据如下:DM0000-DM0009:0001,0003,0004,0020,0003,读取变频器1号0020寄存器开始3各字DM0010-DM0019:0001,0010,0009,0001,0002,0400,0102,5000,向1号变频器写入频率并启动DM0020-DM0029:0002,0003,0004,0020,0003,读取变频器2号0020寄存器开始3各字DM0030-DM0039:0002,0010,0009,0001,0002,0400,0102,5000,向2号变频器写入频率并启动DM0040-DM0049:0003,0003,0004,0020,0003,读取变频器3号0020寄存器开始3各字DM0050-DM0059:0003,0010,0009,0001,0002,0400,0102,5000,向3号变频器写入频率并启动每次发送前将数据前将数据使用XFER传送到DM32300.接受数据使用发送下一台变频器命令位,将数据存储到从DM32350传送到DM1000开始数据区,3.如何轮巡读取多台变频器数据,在需要时写变频器数据(需要时在写)实际控制中可能读取命令较多,而写变频器参数次数较少,那么将读写命令使用一个位区分,将该位的非串接在读取传送前,该位的非串在写命令的产送前,从而可以决定本次发送读命令还是写命令.具体如下:五.存在问题:1.在发送命令到接受数据完成大概需要180-200ms左右,而变频器的超时检测2S,因此最多理论可以发送10条命令.使用四的方法2,最多接5台,使用方法3最多接10台2.在轮寻发送命令过程中,如果一台变频器没有响应,那么Modbus-RTU将等待响应,无法退出,从而无法发送其它命令.串口没有超时设定功能.注:附录程序:程序1流程该流程对每台变频器执行1读1写命令,每个周期都进行读写.第一个扫描周期,置位W20.00将#1写入SFT轮寻地址W40W40将第1台变频器的数据XFER移入入DM32300发送区W20.00触发A640.00从2口发送数据,下一个扫描周期复位W20.00,正常完成A640.01为1,SFT数据右移1位,再次将接发送数据传送到DM32300,准备下次发送W40右移后将接受区DM32350XFER到DM1000开始数据使用A640.01触发W20.00开始下次发送程序2流程流程2和1的主要区别是将读取和写数据分开,使用W21通道的位将读取和写命令分开,在发送写数据命令时,发送完成后,将W21的相应通道复位.从而下次SFT循环只执行读命令.注:如果想执行更多的变频器读写操作,那么在这段程序前加入读写命令,在这段程序后加入结果移出命令,同时更改SFT命令中的W40,XX输入信号附录:做写节点1,0001通道,写两个通道的地址命令01100001000102000101F4D32300的低八位是从站的节点地址D32301的低八位是MODBUS命令FUNCTION代码例如0010写命令D32302的通讯数据字节数指从D32303开始的通讯数据的字节数,需要用户根据D32203开始写入的通讯数据自己算出一共多少个字节然后写入该通道中。D32203:0001写操作的起始通道为变频器内的0001通道D32204:0002写连续2个通道D32205的高8位04表示写4个字节D32205的低8位00和D32206的高8位01组成0001,表示对变频器0001通道内赋值为0001D32206的低8位01和D32207的高8位F4组成01F4,表示对变频器0001通道内赋值为01F4做读数据的时候,命令是020321240001D32300的低八位是从站的节点地址D32301的低八位是串modbus的命令FUNCTION代码例如03读命令D32302的通讯数据字节数指从D32303开始的通讯数据的字节数,需要用户根据D32203开始写入的通讯数据自己算出一共多少个字节然后写入该通道中。D32203:2124读数据操作的起始通道为变频器内的2124通道D32204:0001读的通道个数
本文标题:OMRON PLC与变频器通讯
链接地址:https://www.777doc.com/doc-3269016 .html