您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > OMRON CP1H MODBUS-RTU通讯
C1PH简易Modbus-RTU主站和电力仪表通讯用OMRON的PLCCP1H的内装RS85通讯板进行MODBUS-RTU通讯。曾参考在OMRON官方网站上下载的MODBUS-RTU通讯程序,但有些不太明白,经实际测试,报告如下:一、系统组成二、系统设定1.CP1H设定:在编程软件中设置。Port2为“串口网关”功能,通信波特率9600,8,1,N2.CP1W-CIF11DIP开关设定,1=ON(终端电阻)2,3=ON(RS485方式)4=OFF5=ON(接收有RS控制),6=ON(发送有RS控制)该内置模板设置为二线制的RS485通讯方式:RDA--------仪表的RS485-RDB+------仪表的RS485+PinNo.RDB+RDA-SDA-SDB+FGONYes1OFFNoTerminalresistorON2wires(RS485)2OFF4wires(RS422)ON2wires(RS485)3OFF4wires(RS422)havetosetsamesettingofNo2andNo34--ONRD:RScontroll5OFFRD:NoRScontroll(Alwayspossibletoresive)“Noechobacksettinng”alsoNo5=On.ONSD:RScontrol6OFFSD:NoRscontroll(Alwayspossibletosend)For4wire(RS422)1:Nconection,NsideunitsetNO.6=ON.For2wire(RS485),setNo.6=ON.3.仪表设定仪表站地址:=1波特率:3=9600其读取寄存器的指令格式:例:AddrFunDatastartreghiDatastartregloData#ofregshiData#ofregsloCRC16HiCRC16Lo06H03H00H00H00H21H84H65H仪表站地址:06H;读取指令:03H读取00H单元~21H单元的数据三、Modbus-RTU简易主站功能在CP1HCPU单元上安装RS-422A/485选件板(或RS-232C选件板),通过软件开关操作,作为Modbus-RTU主站,来发送Modbus-RTU命令。这样,通过PLC系统设定将串行接口的串行通信模式设定为「串行网关」,可以简单地用串行通信来控制变频器等Modbus对应的从设备。在Modbus-RTU简易主站用DM固定分配区域中设定了Modbus从站设备的从站地址、功能、数据,则软件开关ON时即发出Modbus-RTU指令。接收的应答被自动保存到DM固定分配区域。通道位设定内容串行端口1串行端口2D32200D3230007~00从站地址(00Hex~F7Hex)15~08系统保留(请设为00Hex)D32201D3230107~00FUNCTION代码15~08指令系统保留(请设为00Hex)D32202D3230215~00通信数据字节数(0000Hex~005EHex)D32203~D32249D32303~D3234915~00通信数据(最大94字节)D32250D3235007~00从站地址(01Hex~F7Hex)15~08系统保留(请设为00Hex)D32251D3235107~00FUNCTION代码15~08保留D32252D3235207~00响应出错代码15~08系统保留(请设为00Hex)D32253D3235315~00应答字节数(0000Hex~03EAHex)D32254~D32299D32354~D3239915~00应答(最大92字节)软件开关:通道位对象串行接口设定内容A640CH02端口2Modbus-RTU简易主站功能执行出错结束标志1:执行异常0:执行正常结束或执行中01Modbus-RTU简易主站功能执行正常结束标志1:执行正常结束0:执行异常结束或执行中00Modbus-RTU简易主站功能执行开关0→1:执行开始1:执行中0:非执行中或执行结束A641CH02端口1Modbus-RTU简易主站功能执行出错结束标志1:执行异常结束0:执行正常结束或执行中01Modbus-RTU简易主站功能执行正常结束标志0→1:执行开始1:执行正常结束0:执行异常结束或执行中0000Modbus-RTU简易主站功能执行开关0→1:执行开始1:执行中0:非执行中或执行结束串口1:发送数据从D32200通道开始,接收数据从D32250开始当A641.00(串口1发送使能位)设置为ON后,把D32200开始的数据发送出去,D32250开始接收到反馈的数据串口2类同。四、从仪表中读取数据程序附件中;测试通过五、设置固定区D32302是数据字节数,程序中读取的命令按格式起始和结束地址分高低字节,而D32303~04为16位,这样起始和结束地址只占4个字节。所以D32302=4H;CRC校验由发出指令时自动加入。写命令类同,但可能占用的字节数超过4字节。设置如果不正确,则通讯会出错。再就是通讯会中断的问题,可将发送OK作延时,再启动新的发送周期,就可解决通讯中断;000000(000000)[程序名称:新程序1][段名:MODBUS_RTU]与DAE电力仪表MODBUS-RTU通讯用串口2:CP1W-CIF-11简易MODBUS主站功能;串口:串口网关,9600,8,1,N;仪表:9600,站号:#1A200.11P_First_Cycle第一次循环标志BSET(071)#0D0D6[OP1][OP2][OP3]cD00006c20c22RSETA640.00COMM启动A0640.00b10a24RSETA640.01ok_flagA0640.01a18a26RSETA640.03RSETW24.03读取OKW024.03a31a38000001(000006)A200.11P_First_Cycle第一次循环标志MOV(021)#1D1[OP1][OP2]站号cD00001c11c21MOV(021)#0100D4[OP1][OP2]000002(000009)W366.13A640.00COMM启动MOV(021)D1D32300[OP1]站号cD00001c07c21[OP2]MOV(021)1.#03读取指令#0003D32301[OP1][OP2]MOV(021)3.读取仪表首地址(2字节)#4D32302[OP1][OP2]MOV(021)2.发送字节数#0D32303[OP1][OP2]MOV(021)#FD32304[OP1][OP2]000003(000016)W20.00SETA640.00COMM启动A0640.00b10a24000004(000018)A640.01ok_flagXFRB(062)#0800D32350D5[OP1][OP2][OP3]cD00005c21XFRB(062)#0800D32351D6[OP1][OP2][OP3]cD00006c01c22=(300)D5D1[OP1][OP2]站号=(300)D6#3[OP1][OP2]SETW24.03读取OKW024.03a31a38000005(000024)A640.00COMM启动RSETW20.00W020.00a16000006(000026)A640.01ok_flagTIMH(015)0000#50[OP1]T0000(bit)a29[OP2]000007(000028)A200.11P_First_Cycle第一次循环标志SETW20.00W020.00a16T0000000008(000031)W24.03读取OKMOV(021)D32354D10[OP1][OP2]MOV(021)D32355D11[OP1][OP2]MOV(021)D32358D12[OP1][OP2]MOV(021)D32360D13[OP1][OP2]MOV(021)D32367D14[OP1][OP2]MOV(021)D32368D15[OP1][OP2]000009(000038)W24.03读取OKTMHH(540)0001#15[OP1]T0001(bit)a40[OP2]T0001RSETW24.03读取OKW024.03a31a38
本文标题:OMRON CP1H MODBUS-RTU通讯
链接地址:https://www.777doc.com/doc-3268505 .html