控制工程网首页 | 产品 | 在线研讨会 |  视频 | 空间 | 论坛 | 博客 
我的空间
用户名:
密 码:
我要加入该社区!   注册新会员
总共 , 当前 /
楼主:发表于:2016/6/15 12:59:18,查看2440次

想用一个MB_MASTER读2个从站,通过修改DATA_PTR管脚使2个从站的回复数据分别缓存到各自到通信缓存区。通过切换缓冲区来读写数据,其中涉及到variant数据类型如何做指针寻址?

2楼:回复于:2016/6/15 13:58:26

好问题。variant to dbany, 然后可以打开了。

但是我的分享贴里的例子你可以参考,换一种思路来编s7-1200,s7-1500 的间接寻址,不用指针,而是使用符号寻址。

 

3楼:回复于:2016/6/15 20:29:54

楼主走偏了, 你不能为了用指针而用指针。 象你这个要求根本就不需要用指针来完成啊。 比如我提供一个方法:


你有30个从站,假设站号为1~30。  那么在你的DB块里建立31个数组, 其中1~30号的数组对应1~30号的从站返回报文。   而数组0则对应的你调用MB_Master指令的DATA_PTR的实参。

然后后续程序利用 DONE标志和站号就可以将数组0分别赋值给数组1~30... ...

 

 

4楼:回复于:2016/6/15 21:42:47

我遇到同样的问题,用SCL也没找到更好的办法,因而我就做了一个数据整理FB,专门来把当前要发送的数据放到指针所指的位置。

做起来简单,工作量很小,效果不错

 

5楼:回复于:2016/6/15 22:18:31

哈哈,我也是这样。如果事情太多(都在催),就干脆不做了。玩。

(其实是在理清头绪,从哪里入手。)

有的事情,简单,但催的不紧;

有的事情,复杂、麻烦,但催得紧。

有的事情,效益高;

有的事情,收效低。

 

6楼:回复于:2016/6/16 16:19:55

其实博途里的赋值语句是功能很强的。 不光是我们常见的数据类型(位,整数,浮点数等)可以赋值, 结构变量也可以赋值,数组也可以赋值,甚至于整个数据块都可以直接赋值呢! 多用一用,你就会发现,其实完全可以脱离以前老版STEP7的指针寻址的概念了, 老版的STEP7讲究的是以绝对地址为基础,而博途则是以符号名称为基准,同时在一定的特殊场合又保留了部分的绝对地址的指令操作,所以可以说即提高了程序的安全可读性,又保留了一定的灵活性... ...

 

7楼:回复于:2016/6/18 11:38:07

我发现我最近是事太多了反而不想做了,天天逛论坛了,呵呵。 刚试了一下,用二维数组从程序结构上就会更简单......

同上面的贴子,假定从站号为1~30, 那么首先iSlave对应的是当前需要读取的从站号, 一维数组pData对应的是DATA_PTR, 然后二维数组aData对应每一个从站读回的数据

 

总共 , 当前 /
  • 发表回复
请先登录,在回复。
  • 社区公告
  • 西门子自动化社区是西门子工业业务领域在本站开设的官方互动社区,旨在提供西门子工业业务领域的最新产品、技术和解决方案,同时为用户和西门子之间提供一个互动交流的平台。工业业务领域由工业自动化集团、驱动技术集团、客户服务集团以及冶金技术部构成,在中国拥有62个办事处以及14家运营公司。如欲了解更多信息,请访问:http://www.industry.siemens.com.cn。
  • 社区专家
  • 社区赞助商
  • 通过本社区和厂商联系
1.我有以下需求:
我想得到贵公司产品详细资料
我想得到贵公司产品的价格信息
我让贵公司产品销售人员联系我
我让贵公司技术支持人员联系我
2.详细的需求:

(不支持Html)
姓名:
单位:
电话:
邮件:
  • 网友反馈
  • 在2025/05/09留言
  • 留言类型:我让贵公司产品销售人员联系我,
  • 详细留言:能提供低压控制柜吗
  • 丁楠 在2025/03/12留言
  • 留言类型:我让贵公司产品销售人员联系我,
  • 详细留言:需要询价西门子PLC产品
  • 在2025/01/04留言
  • 留言类型:我想得到贵公司产品的价格信息,
  • 详细留言:IM153-4,PN,6AG1153-4AA01-7XB0询价或者替代型号也可
更多请进入空间管理中心查看
© 2003-2025
本页面信息涉及广告内容