回复:【不欲勿施】【S7-200 Smart开源标准化编程】之三------IO对象与动作及最新例程

已锁定

芳季

西门子1847工业学习平台

  • 帖子

    15507
  • 精华

    101
  • 被关注

    961

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2021-11-22 22:04:18

7楼

最后为什么要6个F?不是4个吗?

ST60 V区30k,32767,是不是16#FFFF就够了?

你这样占住AC3,难怪要所有子程序都要留个空间。保护和恢复AC3 。

MOVD AC3 LDx

.......

MOVD LDx AC3

除非子程序不使用AC3。是不是?(AC不算全局变量吗?)

这个情景就好像我的程序,递归把8级子程序LD56都占住了。我是一次性占住所有层的56。其实,其实都是一样占用一样的资源。

@winter938.你说说。

还有一个事情想讨论一下。

你的程序用间接寻址,把V区的东西块移动到L区然后才运行。然后运行完毕把L搬回去V。是不是?

我的程序直接用间接寻址运行在V区。(你看过我程序没有?)

到底怎样会运行更快?有一个问题,我这样做法没法寻址到位。要位操作,一样要像你这样复制过来L区,然后后面复制回去。但是你的程序有另一个问题,L区没有V区大,bmov不完怎么办?难道分时读取到L然后分时运行?我的做法如果程序里面涉及到很多指针的话,……我的例子是为了表达意思,只写了一个加法指令代表任何用户程序。这里就一个变量所以一个指针。常规子程序2里面是两个变量,所以两个指针。当指针大于x个的时候L区放不下了……此时麻烦出现了。需要用很多运行时间去重新计算指针,把已有的指针覆盖掉。新指针填上去。被覆盖的指针后面还要用的话又再次计算指针。所以需要很多时间计算指针。

你觉得怎样?

另外,我知道运行L寻址要比运行V寻址更慢。acVMSQI运行速度一样。并不存在M更快。(是就最好了)要运行更快,最好是间接寻址块移动到一前段V区,然后就在这V区运行。运行完搬回去数据V区。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8941条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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