plc200 MBUS的起始V区起始地址40001 问题

plc200MBUS的起始V区起始地址40001 那么默认vb100是不是就是40001 那么vb200 vw200分别又是多少啊?库的存储区又该如何分配使用建议地址还是自己手动分配?分配的地址第一个是不是就是40001?有没有这方面的资料给我点,谢谢

问题补充:
图中数据指针使用的是字节vb100,而传送数据时为什么要用字vw100,数据传输到vw100不是vb101先得到数据吗?我库的存储区分配使用建议地址起始地址是vb102不影响吗?

图片说明:

plc200 MBUS的起始V区起始地址40001 问题    plc200 MBUS的起始V区起始地址40001 问题   

最佳答案

1、plc200MBUS的起始V区起始地址40001 那么默认vb100是不是就是40001 那么vb200 vw200分别又是多少啊?
从你附图中,plc200 是 MODBUS RTU 主站,它没有保持寄存器,你的变频器是从站,它是有保持寄存器的。
2、库的存储区又该如何分配使用建议地址还是自己手动分配?分配的地址第一个是不是就是40001?
可以自动分配,也可以手动分配,但是建议自动分配;手动分配时一定注意库存储区是以字节为单位计算的一片连续V区,这个区是MODBUS指令使用的专用区,不能与你写的程序中使用的存储区有任何重叠,能做到这一点,你可以手动分配库存储区。
3、补充问题要从下面说起。
Modbus RTU 主站读写子程序MBUS_MSG
Addr 脚:
读写从站的数据地址,40001 至 4xxxx – 对应的就是变频器的保持寄存器(指令要求必须为十进制)。
你变频器控制字就是MODBUS RTU 的保持寄存器,变频器手册上说明的偏移地址是 2000H(十六进制),转换成十进制是 8192,这个值最前面加上前缀数字 4,则为 48192,采用上偏移1个地址后,寄存器的地址为 48193,你是十六进制表示的地值,所以要将48193转换为十六进制,那么就是 16#BC41,这就是你左边附图中这个值的由来。转换可以用PC 操作系统自带的计算器来验证。可参考网友sunkey1的附图。
Count 脚:
数据个数,是以字为单位的;你是只写一个控制字,来启停变频,你的值是1,这是对的。
DataPtr脚:
数据指针,如果是写指令,要写出的数据放到这个数据区中。
注意这是个存储区指针,多大是由Count 脚来决定的,&VB100就是你要写的控制字的起始地。
因为是个字而不是字节,综合你的应用,是将1 个控制字写到变频器的保持寄存器 48193(十进制),这个控制字就是一个16位的二进制码,必须用字传送指令 MOV_W写在VW100中。
正如你所附右图中,当I0。1或者M20。0接通的上升沿,程序传送16#12H值到VW100中,则当扫描调用左图所附MBUS_MSG指令时,就将 VW100中的控制字值(16位的字)发送到了变频器的 2000H(上偏移后为十进制的48193),变频器得到这个值就正转启动了。停止和反转与此类同。
参考资料,上面的网友提供的已经很好了。

提问者对于答案的评价:
谢谢各位的解答!现在对这个通讯协议有了更深的了解。

最佳答案作者回复:
共同提高,共同学习,其乐无穷。

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

(5)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午2:41
下一篇 2021年7月5日 下午2:41

相关推荐

  • 使用PID 使电机实现恒转矩调速的问题

    设备是一个三相异步电动机带一个直流发电机转,S7-200接MM440控制电动机,并用模拟量输出控制发电机励磁电流。我想通过USS协议读MM440变频器里的转矩参数,然后作为PID的…

    SIMATIC S7-200 2017年11月25日
  • STEP 7 Micro/WIN V 4.0 如何升级到SP9

    我安装了官网下载的STEP 7 Micro/WIN V 4.0 SP9 完整版安装包(因为我觉得这个不像SP9的嘛)。所…

    SIMATIC S7-200 2020年10月31日
  • 如何将一个16进制的1个字节是数转换成ASC码?

    在与仪表通信过程中,自由口与仪表进行数据包发送和返回的过程中,要将16进制的1个字节表示成对应当ASC码,我找手册怎么找也没这个功能啊,需要自己编模块吗? 最佳答案 仔细看手册,手…

    SIMATIC S7-200 2021年7月4日
  • S7-200 输出4-20mA编程

    S7-200模拟量输出为0-10V或0-20mA; 如果需要输出4-20mA信号如何编程?  问题补充:以下为输入4-20mA,PID后输出4-20mA的中断程…

    SIMATIC S7-200 2021年7月4日
  • s7-200如何控制分散的系统

    用 s7-200控制有31输入输出的系统,另外还有距离600米的地方两个点,怎么再控制这两个点?有什么好的办法 问题补充:用600米电缆好像不行吧?控制不了那么远的距离&…

    SIMATIC S7-200 2021年7月5日
  • s7 200 端口总烧

    s7200(DC/DC/DC)的端口与文本屏连接通信没有问题,当与其他电脑连接通过PPI电缆,在几秒内电缆就发热,通信也不通,最后端口烧了,看PLC电路板两个电阻都烧了电脑串口也烧…

    SIMATIC S7-200 2019年6月11日
  • 求S7-200梯形图实例

    求S7-200梯形图实例,最好带有注解。新手求教!邮箱:zsc1199@163.com万分感谢! 最佳答案 已发,下次即使要项目参考最好提点问题,不然可能面临删除,已发注意查收是反…

    SIMATIC S7-200 2017年7月25日
  • S7200高速脉冲计数器

    HSC0高速计数器我用来控制步进电机计数Q0.0的脉冲输出数,Q0.2是方向,  现在是正转反转高速计数器都是加    …

    SIMATIC S7-200 2021年7月5日
  • 安装了step 7 micro/win sp9,无PC/PPI选项

    我在Windows 7 X64下安装了step 7 micro/win sp9,设置PG/PC接口时,却找不到PC/PPI选项。谁…

    SIMATIC S7-200 2020年10月31日
  • 模拟量地址分配

    请问:S7-200的模拟量地址分配是怎样分配的,我一个224的CPU后面带了4个EM231模块,地址是从AIW0开始分配吗.另外,CPU后面第一个扩展可以是EM231模拟量模块吗?…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论