回复:尝试用S7 200 SMART电机功能子程序设计

shine

  • 帖子

    8803
  • 精华

    39
  • 被关注

    157

论坛等级:至圣

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2017-04-20 23:39:33

12楼

展开查看
以下是引用宁超在2017-04-20 23:11:28的发言 >10楼

说的非常对呢,

我是昨天才发现这个S7200 SMART的L区有60个字节的要求。

不用形参只是为了隐藏更多的接口而使程序看上去更加简洁一些。

并没有什么很神秘的好处优势。


当我的数据超出60个字节的时候 我确实需要考虑直接用地址偏移的方式来完成块内的算法。但是可读性会大大的降低。

以下是引用芳季在2017-04-20 15:12:36的发言 >9楼:指针方式的话随意性...

引用9楼详细内容:

指针方式的话随意性极强。因为一切都是自由定义的。连数量都是随意的。再没有什么限制。

楼主这个程序开头的地方使用了mov传入参数,这个是象征in参数的做法,所有后面的运行都基于这次mov的结果。程序结尾,再使用一次mov传出参数,这个是象征out参数的做法,把所有运行当中的数据都传到指定地点。而当一个地址既出现在in也出现在out的话,那么这个参数就是in/out参数了。用形参的话只不过这个动作是由系统帮完成了,使用间接寻址的话,就需要人工编程完成。

楼主这个程序只有三个D的参数。当参数数量一直增加的时候,看楼主的L就安排不下了。此时,就要使用库内存充当L的角色,临时装载中间变量。而L就仅仅够供指针记录用。60字节的指针也相当充足了。

当程序内存需求更大,那么60字节的L也没有什么意义了。全部都使用库内存运行子程序。

也不会啊,200/200smart的库有库内存,一块连续的V区,定义好符号之后,就想你现在使用L区一样用作中间存储,子程序开始通过指针blk_move进去,然后在结束的时候blk_move回来。子程序中还是符号编程。在调用库的时候可以分配库内存到想要的地址中去

然后,还可以通过excel写一个脚本,定义了好首地址和变量前缀,像FB生成背景数据块一样自动生成PLC符号,拷贝回编程软件,那就完美了

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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