回复:利用TIA Portal V12 编程的一些看法

Sidel_EMH

  • 帖子

    14
  • 精华

    0
  • 被关注

    2

论坛等级:游民

注册时间:2011-03-11

普通 普通 如何晋级?

发布于 2014-03-07 14:24:41

13楼

quote:以下是引用 westcowboy在2014-03-06 21:30:32的发言:
quote:以下是引用Sidel_EMH在2014-03-06 16:47:56的发言:
quote:以下是引用 westcowboy在2014-03-04 21:11:39的发言:
看看这个,能解决楼主的问题了吧。




你好,谢谢回复。其实我的主要问题还是想讨论一下,在各种块都是优化的情况下(如你所说,在这种情况下代码的运行效率高),如何间接调用DB块呢?如你的图片所示,我想知道在那个的功能块中如何来间接调用DB呢,因为是优化的块所以不能使用Peek/pork。而如果使用符号间接寻址,如图所示,DB_any只不过传递了一个Uint,肯定不能完成寻址的功能。
有些朋友说使用矩阵或者AT,这些好像都不能实现利用符号间接寻址DB块的目标。
如果DB不能间接寻址,那么他在使用时的优势还怎么体现呢。

想了想,或许可以这样。如果原需求是在多个DB之间进行间接寻址,比如配方(打个比方不同DB内存着不同的配方),目前由于Peek指令目前尚不支持优化DB,那么我们可以建一个大DB(1500优化的DB可以建很大),将原配方数据结构做成UDT,然后都在这一个DB内创建多个UDT的配方,然后就可以很方便的用索引等指令进行间接寻址了。

是的,如果西门子想要很好的使用DB与符号寻址,那么可能它还需要更强的指令来处理。例如,出现一个类似于open的指令,执行打开DB,打开后就可以直接引用DB内的符号了。西门子底层的东西我不清楚,也许这样做不适合西门子的整个底层代码的执行原理。但是就现在的情况,要想间接符号寻址还是要改变一下编程思路的。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有11076条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。