回复:编程过程中小小的“粗心”造成的一串问题

冬日

  • 帖子

    3358
  • 精华

    56
  • 被关注

    45

论坛等级:奇侠

注册时间:2005-09-01

白金 白金 如何晋级?

发布于 2018-05-10 12:30:38

34楼

展开查看
以下是引用Letham在2018-05-09 20:16:31的发言 >33楼

如果你的项目中某个控制中使用了100个变量,用M区 你会不会觉得很乱,如果 你有100个类似控制,你要多少M区?够大吗?

做程序时,应该提前规划整个程序结构。

使用DB+UDT好处是可以使程序结构很清晰,还有一点 就是DB区可以定义复杂数据类型,这点是M区不具备的,你说的 在使用时可以随意修改变量名称,那么请问为什么需要这么随意?


第二。你所说的FC输出参数 用DB为什么不行?可以说出参考下?不解!

当然,很多时候。使用什么和编程习惯有关,使用M的确可以像贴狗皮膏药一样,走到哪,贴到那,随到随用。

以下是引用冬日在2018-05-09 11:54:16的发言 >31楼:比如我在M去建立100...

引用31楼详细内容:

比如我在M去建立100个变量,当变量的注释需要修改时,我直接编程的时候双击空白处,或者直接编辑变量都可以直接修改。DB不行,一定要打开DB,然后在里面修改。

当FC的输出参数用到s或者R或者没有进行初始化赋值的时候,用M区的变量是没有问题的,而db则不行。

以下是引用Letham在2018-05-09 08:53:52的发言 >30楼:M区修改注释很方便...

引用30楼详细内容:

M区修改注释很方便,DB呢?烦死你!

方便在哪?烦在哪?1500 可以使用下载DB无需初始化功能!

M区作为输入参数可以放心使用,db则不行。

DB不能放心使用?



以下是引用冬日在2018-05-08 10:23:01的发言 >26楼:M区修改注释很方...

引用26楼详细内容:

M区修改注释很方便,DB呢?烦死你!

M区作为输入参数可以放心使用,db则不行。

总之,不能因噎废食!

以下是引用Letham在2018-04-26 08:13:40的发言 >4楼:我就是喜欢DB+...

引用4楼详细内容:

我就是喜欢DB+UDT组合!M区几乎不用。

1,M区对于绝大多数人来说足够大,使用M区恰恰为了是结构更简单而不是很乱,M区定义好符号表后,直接使用符号很方便,用DB是极度不方便的。比如有100个Motor,对应一百个fault,每个项目类似单不完全一样,所以有些注释需要跟着改变。那么实际应用的时候,需要找到motorXX,我就在goto location那里输入motorXX,就能直接找到了,你用DB试试怎么输入,无论如何要逼用M区复杂得多。当需要修改注释,我在原地就可以修改,不需要离开编程的位置,DB可以吗?不可以!而且使用DB会导致符号很长,因为DB的名字是必须的,加上每一级struck都要增加个“.”,结果就是注释太长,程序很难看。

2,DB+UDT绝对没有想象的那么好用。修改完udt回到DB的时候需要重新update,工作量不见得小,有的FB引用了UDT经常会出错,工作量更大

3,DB可以实现的复杂数据类型,基本上用M区都可以替代,只是少了个名字而已,但是用起来更方便,因为他是绝对地址寻址,比如Any数据类型,M区可以很方便地定义每一个位置,不知道那里比DB不方便?

4,FC的out参数,如果程序内部不方便初始化,或者使用s/r,或者程序有跳转,用DB作为实参是会出问题的,而用m区不存在这个这个问题。

5,编程习惯就对了,你有你的习惯,别人有别人的习惯,每个人都有自己的规划方式,并不代表哪个更好。为何用M区就叫狗皮膏药?如果M区这么不好,西门子干嘛不取消掉?

6,问你个问题,假如程序有100个报警,用M区存储可以采用名字为A001--A100,采用DB的话最简洁的就是"F".A001--"F".A100。当这些报警显示在HMI上的时候,现在的维护人员如果最快速在程序上找到这个报警的位置?假如用户使用的不是wincc,并不能直接从HMI跳转!

If anything can go wrong, it will.
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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