S7-200与多功能电力表的ModBUS通信

各位前辈:最近老板安排了个活,里面含200PLC与一个多功能电力表的通信,我看了不少资料,觉得200PLC与200PLC的modbus通信比较好理解并且测试成功了,但换成200PLC与仪表通信就迷糊了,仪表那边的地址还附属了命令,真的弄不清楚。我把多功能电力表的规约截图给大家看看,如果我要读取A、B、C三相的测量电压,是不是直接从40000开始还是怎么的,规约里又提到“使用0x03命令,寄存器从40000开始”这句话有什么用呢?请大家指点指点!谢谢!

问题补充:
首先感谢雅克的指点,我如果是要读取A、B、C三相的电压值,是不是直接使用地址40000,40002,40004.既然S7-200提供了库指令,可以读写操作,还要0X03呢?谢谢,真的不懂。

图片说明:

S7-200与多功能电力表的ModBUS通信   

最佳答案

1、如果我要读取A、B、C三相的测量电压,是不是直接从40000开始还是怎么的?
根据你提供的协议,你直接按照协议上的地址读就可以了。因为仪表的寄存器地址是从40000开始的,而不是从40001开始的。
2、规约里又提到“使用0x03命令,寄存器从40000开始”这句话有什么用呢?
0x03是modbus协议的功能码,对该功能码的说明如下:
Function Code-3:读取AO资料,于modbus规定Register Address由40001开始。但是通信协议内取后面四位数,且由零起算,例如:于文件上Register Address为 44321,其通信协议内转换的Address为4320。
“使用0x03命令,寄存器从40000开始”,当你使用了0x03功能码时,读的是寄存器4XXXX,也就是说,功能码0x03是与寄存器4XXXX对应的。其他的比如功能码0x01与寄存器0XXXX对应,功能码0x02与寄存器1XXXX对应,功能码0x04与寄存器3XXXX对应。
寄存器从40000开始,这句话是针对"modbus规定Register Address由40001开始"说的。如果寄存器地址从40000开始,则上面所说的文件上的寄存器地址为44321,则通信协议内转换的地址就为44321,而不是44320了。
3、建议你花时间好好研究一下modbus协议,磨刀不误砍柴工,然后自己动手用PLC和仪表进行测试。
《modbus高级通讯教程》
http://wenku.baidu.com/link?url=AT48MuUKkCJ3VVKae0twMDOJ1_vqxX3RXWKFL2pDBFmf-wx8i0ImdC2S8EiZYPmCKsD0TdaNoj8PEv-QeYxarHyCzKm9ytDyI9AdvYHi8La
《modbus通讯协议中文版》
http://wenku.baidu.com/link?url=zAKtzY_Joi6yXB0sxVHYdSxENpNBGYrhz2Yle_83kpipCOjZ1SouwEGA12uNz5_Mmu4t0Sb4Qe_MgXKcjMi_IVnNKbYpiOVWI5W_ddNSnie

提问者对于答案的评价:
感谢你的指点!谢谢!

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc214095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月19日 上午11:33
下一篇 2017年11月19日 上午11:34

相关推荐

  • cp243-1EX01-0XE0 着急

    cp243-1EX01-0XE0  用向导配置  结果下载的时候提示:“存在与附加模块不符的向导配置,重新放置智能模块或者退出并使用向导重新…

    SIMATIC S7-200 2020年11月5日
  • s7-200通讯线问题

    请问各位师傅,我买了个二手s7-200没有说明书我想知道它是继电器输出还是晶体管输出怎么知道?我还买了两个接头一给接s7一个接电脑请问自己焊接的话是焊哪几个脚位?另外还有一个问题,…

    SIMATIC S7-200 2020年11月1日
  • 200PLC 模拟量控制与运算

    我有一个235模拟量模块。   我要采集的电流信号是4-20MA  是不是AIW0的范围是6400-32000呀 &nb…

    SIMATIC S7-200 2017年6月19日
  • 脉冲输入并输出

    我想做一个脉冲输入并输出的程序,编码器输入多少脉冲,PLC立即输出多少脉冲,编码器速度有快有慢,PLC要跟随编码器输入并输出脉冲,要保证PLC输出脉冲个数 周期和脉宽基本…

    SIMATIC S7-200 2020年11月1日
  • 200的模量输出同一通道可以电压和电流同时使用吗?

    我们知道200的模拟量输出的通道  1个通道有3个端子 分别是 M  V    …

    SIMATIC S7-200 2017年11月1日
  • 温度模块使用手册

    请问哪位大师有温度模块231-7PF22-0XA0使用手册使用方法 最佳答案 没有专门的手册,详见下述手册中第424页:<S7-200 可编程控制器系统手册>…

    SIMATIC S7-200 2017年11月16日
  • 西门子200 控制温

    温度控制。用指令运算。怎么控制温度值。当我启动加热器。温度应该上升。如果温度。在一定时间里没变化(上升)就报警。。。这个怎么做啊 求前辈指导。。希望说的详细 最佳答案 参…

    SIMATIC S7-200 2017年6月24日
  • S7-200的通信端口的距离

    S7-200的通信端口的距离是多少,带不带隔离的?如果要延长通信距离该怎么办? 最佳答案 一个网段50m,这是在符合规范的网络条件下,能够保证的通信距离。凡超出50m的距离,应当加…

    SIMATIC S7-200 2020年11月1日
  • 西门子200温度PID问题请教大家。

    我现在用固态继电器带动加热管加温,用Q0.0的通断控制固态继电器,PID程序是用向导做的,自己生成一个PID,调试后温度OK。但是如果我不用PID向导做程序,自己编写一套PID程序…

    SIMATIC S7-200 2020年11月1日
  • 还是S7-200的S变量问题

    程序段如下:network1:LD          M2.0EUS …

    SIMATIC S7-200 2017年6月8日