您现在所在的是:

PLC论坛

回帖:19个,阅读:1045 [上一页] [1] [2] [下一页]
2009
万泉河.
文章数:915
年度积分:-106
历史总积分:2009
注册时间:2009/12/4
发站内信
发表于:2023/5/26 8:20:01
#0楼
0514 【万泉河】PLC中的M的本质是糖果

糖果什么意思,就是吃起来比较爽,然而吃多了会上瘾,会蛀牙,会导致肥胖,会引发糖尿病。

我写文章宣传PLC中使用M的坏处,劝诫同行在学习PLC编程中要学会避开使用M以及其它的程序全局变量。 这原本在我看来是非常基础的原理,然而非常匪夷所思的6-7年过去了, 这一理念并没有得到普及。反而在一些场合,仍然有不少反对的声音。

比如有人就理直气壮地反驳曰:既然PLC系统中设计了M变量,你凭啥不让用?只要设计了就可以用。你如果有理,去让西门子等厂家在PLC系统中取消M以及全局标签变量,才证明你说的有道理。

这个逻辑看起来很充分的样子,其实完全不值得一驳。大家都知道吃糖果的危害呢,然而超市里面最显眼的地方卖得更多的仍然是糖果,随处随手可得。 要按这种理论,国家是不是应该强行取缔各种糖果生产商,禁止生产糖果,让小孩子们吃不到糖,就自然不会蛀牙了。 成年人老年人接触不到那么多糖类,也就不会肥胖,不会有糖尿病了。

很显然不是这样嘛!

这个世界上太多存在然而禁忌的规则了。比如商场里的防火通道,平常是要紧闭不许人员出入的。假如来个醉汉, 以存在就要用为由,非要强行通过, 那最终必然被保安给架离。

再比如各停车场里的残疾人优先的车位,即便是空闲在那里, 正常车辆也不可以泊车。而如果有人以闲置导致资源浪费为由,要把自己的车停在上面,那其实就不是在关心资源 浪费,而只是其个人素质低下了。

而我们所倡导的程序中不使用全局变量,掌握此技能后,可以避免因为使用M所带来的诸多弊端,程序模块不能复用,调试工作量大等等。我以前多篇文章中都介绍过。所以我更愿意打比方的例子是爬楼梯。

30层的高楼,有电梯但必然也仍然设计有楼梯,掌握了不使用M的技能,就相当于拿到了电梯的钥匙。 如果有电梯可乘坐,却非要吭哧吭哧爬楼梯的, 众人只能嘲笑其鲁笨了。

也有人指责我管得太宽,每个人都有其自身的特长,适合自己的就是最好的,想用便用,不想用便不用,奉劝我手不要深的太长,限制别人的自由。

我要说的是,这种认知的人读题能力有限。 我在讲建议PLC程序不要用M的道理的时候,是有隐含的前提的。前提是要写高质量的PLC的程序。只有能看得懂我讲的道理的人, 能愿意去学习掌握技能,才能够写出高质量的PLC程序,提高工作效率。

而看不懂的人,与我是没有任何关系的。 我才不会关心其工作效率高低,才不会替其担忧其爬30层楼会不会累死呢!

就好比医生劝诫大家少吃糖, 有人非得抬杠每个人体质不同,适合自己的饮食就是最好的。 我的身体体制和你们不一样,我的体制就是适合吃糖, 多吃糖对我的身体就是有好处,我不会蛀牙,不会糖尿病。 医生才不会卡住你的喉咙不许你吃呢!身体健康是每个人自己的事, 你听不进道理,别人干着急有什么用!别人才不会为你的健康操心着急呢!

更有人质问:“用M伤天害理?M做出来不是给人用的?”,我除了用吃糖和爬30层楼的例子给他们讲解之外, 也暗自觉得好笑。 这样的人心态也太不自信了。 把我当法官了还是把我当老师了?

我既没有权力制定规则,也没有权力判定对错。 我有的只是讲道理,讲给听得懂道理的人听,万千读者中,哪怕只有一个人能看懂其中的道理,能有所感悟,有收获,应用到工作中,能有获得利益, 那对我来说也算是善事一件。 我断没有要求所有人一个步调,按我的道理做事的目的。

除此之外,我还发现有一些人对恪守言行一致的格言认知上有一些偏差。当然他们自己可能还没有发现。我们的文化传统中有一项优良传统是教育人要言行一致,即所言如所行。

然而言行一致并不意味着倒过来。 有的人自己暂时做不到程序中不用M,就要竭力辩解,不肯承认用M的危害,以及学会不用M的技能对工作效率带来的提升。

就好比我们现在倡导文明社会,不要随地大小便。 然而如果你身处戈壁滩深处,方圆500KM都没有公共厕所而你又内急的时候,就只能随地解决了。 然而也断然不会有任何人有什么非议。 你自己当然也不需要觉得羞愧。 然而如果因为自己曾经在特定的情况下没有做到规则,反而试图要否定规则,修改规则以使自己真正符合言行一致的原则的话, 这种操作反而就不太值得赞赏了。

有人举反例说系统有提供了脉冲信号,可以直接使用而减少不少编程工作量。 在SMART 200中是SM0.5, 在S7-1500中如果指定了MB0则M0.5代表了1HZ的脉冲,这用起来确实方便。 然而我们讲用和不用M的时候,是指使用M作为中间状态的缓存工具。 某个位置产生的状态值保存到全局变量中,然后换一个地方又拿出来使用。

像SM0.5和M0.5这种,我们更应该称之为常量,而不是变量。 从而也更不是全局变量了。 就好比SMART 200的程序中每一行开头都要有SM0.0,以及其它品牌会有SM800作为常ON的信号,这些都不必过虑,都不在讨论的范围内。

对于S7-1500中需要在硬件设置中设置MB区,如果不小心未设置,导致功能块功能不能实现,这是个硬伤。有人会觉得不伤大雅,自己早就习惯了每个CPU都会去设置,这完全可以。但如果你的工作只是顶层设计,具体项目是别人在做,多一个漏洞就多一个失败可能性,从我自己来说已经很多年不用这个M了,做项目的工程师是否设置了硬件我从来都不需要关心。 在自己的FB的小宇宙里把功能实现完整,尽量减少对外界的依赖,这才是真正的宇宙观。 我上一篇关于宇宙观的文章,其实就想表达这一点。

当然,这对整个的不使用全局变量M的技术能力来说,关系很小。 这一点确实每个人可以有自己的喜好。 你可以保留这一点喜好,在整体系统学会不用M。 我也坚信,如果你做到了不用M,就会逐渐上瘾,就会体验到每一个模块独立完整性的妙处,会逐渐改变自己的认知和习惯。

也有人对我的理论得不到广泛认可而替我担忧,问我怎么想。 我说,这完全不需要担忧,反而对更多的烟台方法的学员意味着机会。

就好比哈利波特里面魔法学校的老师和学员们所掌握的魔法,面对众多丝毫不懂魔法的麻瓜, 他们需要担忧吗?

如果仅仅掌握不用M和T,掌握五连鞭,都可以当作魔法,都可以称雄工控武林,这个武林世界的门槛是不是太低了点?所以你们知道为啥有些人对我不爽了吧!


糖果吃得爽,吃多了长蛀牙;M用得爽,用多了一辈子出差。


附件 微信图片_20230516083038.jpg
[此贴子已经被jint于2023/5/29 17:07:30编辑过]
PLC标准化编程
2009
万泉河.
文章数:915
年度积分:-106
历史总积分:2009
注册时间:2009/12/4
发站内信
发表于:2023/5/26 8:36:27
#1楼
附件 2205.jpg

历史会记住每一个人的贡献。。
PLC标准化编程
22922
gk_0 版主
文章数:7735
年度积分:703
历史总积分:22922
注册时间:2013/9/9
发站内信
2018论坛贡献奖
2017论坛贡献奖
2017国庆活动(二)
2016论坛贡献奖
2016国庆活动(三)
英威腾变频器(一)
S7-200 SMART(一)
寻找英威腾(三)
英威腾PLC体验(一)
2015春节活动
2013辞旧迎新
2013辞旧迎新
2013国庆活动
发表于:2023/5/26 8:48:13
#2楼
可不是在害人吗?
从来没有实质性的东西分享,就知道长篇大论,动不动就收钱,隔壁论坛被怼的混不下去了,又到各自媒体平台混饭吃。
我这一回复,等下又要贴图收款截图了吧?
不被人嘲笑的梦想,就不值得去追求!
11781
逍遥的久鸣
文章数:4433
年度积分:1015
历史总积分:11781
注册时间:2017/3/6
发站内信
2018论坛热心网友
发表于:2023/5/26 9:33:17
#3楼
所谓的砖家,就是简单事情复杂化!
25267
ytleaderplc
文章数:10636
年度积分:1693
历史总积分:25267
注册时间:2008/6/7
发站内信
发表于:2023/5/26 9:41:35
#4楼
能解决些实际问题就好。
PLC 文本显示器 触摸屏 变频 伺服 编程电缆 plc触摸屏编程 维修等
email:  ytleader@126.com
2407
余生少年
文章数:803
年度积分:36
历史总积分:2407
注册时间:2019/8/19
发站内信
发表于:2023/5/26 10:01:53
#5楼
回复 #2楼 gk_0
是西门子的论坛,我想看看有链接吗,看看他是如何荼毒他人的
38045
知道一点
文章数:22547
年度积分:2464
历史总积分:38045
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2023/5/26 10:09:46
#6楼
萝卜白菜各有所爱
不吃糖就不蛀牙,就不糖尿病?
不用M就不出差?
什么狗屁逻辑
快乐 幸福 自由 比什么都重要
26494
goldage
文章数:15081
年度积分:1996
历史总积分:26494
注册时间:2006/1/10
发站内信
2018论坛热心网友
发表于:2023/5/26 21:50:21
#7楼
不好意思,我就是比较喜欢用M
11781
逍遥的久鸣
文章数:4433
年度积分:1015
历史总积分:11781
注册时间:2017/3/6
发站内信
2018论坛热心网友
发表于:2023/5/26 23:23:21
#8楼
照他们这个说法,用启保停的写法,那不得失业呀!
20901
bnnyygy
文章数:5988
年度积分:1567
历史总积分:20901
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2023/5/27 7:58:54
#9楼
PLC的M点,和FB内部的BOOL变量有啥区别?还不是一样的用。

无非分为 可保持和不可保持;还有就是M点可以看成是全局BOOL变量。


一个PLC程序:通俗易懂,程序精简,后期好看懂,维护,我觉得就行了,至于怎么用PLC内部资源,爱怎么用就怎么用。




还有,和上位机通讯,很大程度上都需要绝对地址 M,D等等,不是所有上位机都可以标签通讯。(成本和现有技术制约)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

万老师这样每次发帖都被坛友怼,难道有被怼舒服症?

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005