西门子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日 下午9:17
下一篇 2017年5月31日 下午9:18

相关推荐

  • 地址冲突

    在西门子编程软件step7-mincom/win上有没有自如何动查找地址冲突的问题,望知道的给予指教谢谢! 最佳答案 用交叉引用好了,然后查看是否有地址。我通常 是这么作…

    SIMATIC S7-200 2021年7月5日
  • 西门子200plc,是怎么用word int表示小数的?

    s7-200   dp通讯32个word不够用了,每个real想全改成word或者int,要不我就得1.5等于150分米  到了上…

    SIMATIC S7-200 2017年7月30日
  • S7-200如何与计算机通信

    我需要用计算机与S7-200 CPU222进行通信,手上有编程软件1套,编程电缆PC/PPI1条,请问还需要什么就可以用计算机对PLC进行程序传输,谢谢! 问题补充:我的…

    SIMATIC S7-200 2020年11月1日
  • s7-200与wincc通过互联网通讯

    s7-200与wincc通过互联网通讯,都需要什么硬件和软件。硬件怎么连接,软件该怎么设置。 最佳答案 转:200与wincc采用OPC通讯 1,用STEP7 …

    SIMATIC S7-200 2017年8月26日
  • S7-200报警系统

    想实现一个报警系统。控制中心采用S7-200CPU,接一个其它厂家触摸屏做报警显示,各个现场采用采集模块采集报警信号通过通讯送至S7-200CPU,需要采集信号总共大约开关量120…

    SIMATIC S7-200 2021年7月5日
  • 关于西门子200-PID的问题2

    我看手册上写着:PV-I此处输入过程值的(反馈)的模拟量输入地址。因为我要通过变频器控制两个模拟量的压差,通过计算把压差装换一下传送到VW258,那么我在PV-I中使用VW258是…

    2020年10月31日
  • S7 200如何增加一个口

    现在手里有一个口的PLC 200,做一个项目需要使用自由口与设备通信,而且这个口还要连接一个TD400,感觉有冲突了,哪位高手指点下,怎么同时用 问题补充:谢谢大家都回复…

    SIMATIC S7-200 2021年7月4日
  • cpu226与台达变频器VDF-B通讯

    刚刚做了一个通讯,用modbus协议,但是不成功,请问哪位大侠有这方面的程序,给小弟发一个,谢谢。邮箱:daxiang20072008@163.com QQ:569154…

    SIMATIC S7-200 2021年7月5日
  • s7 200 存储器问题

    最近刚用S7 200,CPU型号为 224,有些数据需要掉电保持,看了说明书,还是有点不明白。然后看到了MICRO/WIN里面的“系统块”内可以定义“断电数据保…

    SIMATIC S7-200 2021年7月5日
  • S7 200smart编程软件编程时的绝对地址、符号地址显示不全怎么办?

    STEP 7编程软件的绝对地址、符号地址显示不全怎么办?现在学习200smart遇到的问题,请各位大师指点,多谢了! 钻石用户推荐最佳答案 按图示方法操作。 图片说明: …

    2021年7月5日