西门子200的MBUS-MSG指令的问题

48193是该变频器说明书里的频率地址,194是电流,195是电压之类的这样,如果和变频器通讯,如果在ADDr填48193,count那里填5,DATAptr填VB0
读取变频器数据是不是就会读取48193,48194,48195,48196,48197五个参数然后由VB0,VB2,VB4,VB6,VB8分别存储,是这样吗

最佳答案

&VB0 对应的地址是一个字,也就是对应VW0,你一次读五笔,这五笔就是这样对应。&VB0=VW0,   &VB1=VW2,  &VB2=VW4,  &VB3=VW6,  &VB4=VW8
你可以参考下面的说明:
参数Count指定在此次请求中要读取或写入的数据元素数。对于位数据类型,Count将是位数;而对
于字数据类型,它指的则是字数。
 地址0xxxx Count是要读取或写入的位数
 地址1xxxx Count是要读取的位数
 地址3xxxx Count是要读取的输入寄存器字的个数
 地址4xxxx Count是要读取或写入的保持寄存器字的个数
MBUS_MSG指令将读取或写入最大120个字或1920个位(240字节的数据)。Count值的实际限制取
决于Modbus从站设备中的限制。
参数DataPtr是一个间接地址指针,它指向S7-200 CPU中与读取或写入请求相关的数据所在的V存
储器。对于读取请求,DataPtr应该指向用于存储从Modbus从站读取的数据的第一个CPU存储器位
置。而对于写请求,DataPtr应该指向要发送到Modbus从站的数据的第一个CPU存储器位置。
DataPtr值作为一个间接地址指针,传送到MBUS_MSG中。例如,如果要写入到Modbus从站设备
的数据在S7-200 CPU中的起始地址为VW200,那么DataPtr的值就应该是&VB200(VB200的地
址)。指针的类型必须始终为VB,即使它指向的是字数据。
表12–9 MBUS_MSG指令的参数。
参数数据类型操作数
First BOOL I、Q、M、S、SM、T、C、V、L(上升沿检测单元所要求的功率
流)
Slave BYTE VB、IB、QB、MB、SB、SMB、LB、AC、常数、*VD、*AC、*LD
RW BYTE VB、IB、QB、MB、SB、SMB、LB、AC、常数、*VD、*AC、*LD
ADDR DWORD VD、ID、QD、MD、SD、SMD、LD、AC、常数、*VD、*AC、
*LD
Count INT VW、IW、QW、MW、SW、SMW、LW、AC、常数、*VD、*AC、
*LD
DataPtr DWORD &VB
Done BOOL I、Q、M、S、SM、T、C、V、L
Error BYTE VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD
保持寄存器(地址4xxxx)和输入寄存器(地址3xxxx)是字值(2字节或16位)。S7-200 CPU字格
式与Modbus寄存器的完全相同。较低编号的V存储器地址是寄存器的最高有效字节。较高编号的V存
储器地址则是寄存器的最低有效字节。下表说明了S7-200字节和字编址是如何与Modbus寄存器格式
相对应的。
表12–10 Modbus保持寄存器
S7-200 CPU存储器
字节地址
S7-200 CPU存储器
字地址
Modbus
保持寄存器地址
V存储器地址十六进制数据V存储器地址十六进制数据V存储器地址十六进制数据
VB200 12 VW200 12 34 4001 12 34
VB201 34
VB202 56 VW202 56 78 4002 56 78
VB203 78
VB204 9A VW204 9A BC 4003 9A BC
VB205 BC
位数据(地址0xxxx和1xxxx)区作为打包的字节读/写,也就是说,8个数据位打包成一个字节的数
据。第一个数据字节的最低有效位是寻址的位号(参数Addr)。如果只写入单个位,则该位必须在
DataPtr所指向的字节的最低有效位中。

提问者对于答案的评价:
是这个意思就行,大概了解了

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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年5月31日
下一篇 2017年5月31日

相关推荐

  • td200能显示报警时间吗

    td200/400能显示存储报警时间吗 最佳答案 在PLC中利用时间读取指令把时间值储存在一个地址里,然后利用报警显示出来,例如: LD  &nbsp…

    SIMATIC S7-200 2021年7月4日
  • 自由口通信中数据位与数据停止位如何理解?

    在自由口通信设置中,数据位7位 这可以在SM30中设置,可是有的仪表要求数据位要求7位,可是仪表还要求停止位为2位,这在自由口设置中如何设置? 另外:停止位在自…

    SIMATIC S7-200 2021年7月4日
  • EM253 寻找原点指令

    怎么使用RSEEP指令实现点动功能,就是说我在寻找原点的过程中可以随时启动停止寻找原点,我的测试结果是只要原点功能触发,找到原点才能停止。 最佳答案 请参考:《使用EM253时,如…

    SIMATIC S7-200 2020年10月31日
  • 程序下载与通讯方式

    请教,S7-200与WINCC通过243模块进行TCP/IP通讯,S7-200程序下载必须通过TCP/IP方式吗?可不可以通过PPI方式先下载程序?谢谢各位指教! 最佳答案 可以的…

    SIMATIC S7-200 2021年7月4日
  • 两台S7-224的通讯

    我在两台S7-200之间自由口的通讯,他的程序是这样的,甲机通过MB10控制乙机,乙机也是这样的甲机通讯程序如下:LD SM0.0MOVB 2,VB100MOV…

    SIMATIC S7-200 2020年11月1日
  • 数据归档向导程序编写

    想要记录传感器中测量的数据,记录周期为10分钟,CPU上电后开始记录。现在使用CPU 222,外加一个256K存储卡,要记录的数据在CPU中的存储区V100数据类型为DB…

    SIMATIC S7-200 2020年10月31日
  • s7-200PLC单元配置

    大家好。我想现在采用CPU 224xp ,有温度PT100信号13个,模拟量4-20mA信号输入13个,PLC要与触摸屏通讯smart 700&nbs…

    SIMATIC S7-200 2017年6月19日
  • 两台S7200PLC和上位机进行PPI通信问题

    两台S7200PLC和上位机进行PPI通信,CPU都是226的CPU剩余的口用于和其他设备进行RS485通信,问题是,在和上位机PPI进行通信的时候,在同样的口上两台PLC之间还可…

    SIMATIC S7-200 2017年11月23日
  • woodhead dp网卡与EM277如何配置

    我用GE PAC7i PLC,dp网卡用WOODHEAD公司的SST-PFB3-VME-2,其中一个从站用EM277和s7-200通讯,在主站上已经配置好了站号…

    SIMATIC S7-200 2021年7月5日
  • 请问S7-200中存储区是否有预先设定的数值?

    我看到一个定时程序,直接引用VW88作为定时预设值,不知道这是怎么回事?谢谢回答 问题补充:“vw88 还是自己程序或者数据定义给定值的”没有发现,在程序中就一个VW88…

    SIMATIC S7-200 2021年7月5日