[一起发现编程之美]-编程高手调试高手机器人高手请进擂台!~ 点击:1885 | 回复:16



monzer

    
  • [版主]
  • 精华:11帖
  • 求助:2帖
  • 帖子:49帖 | 115回
  • 年度积分:5999
  • 历史总积分:11097
  • 注册:2020年3月27日
发表于:2023-05-28 15:27:51
楼主
求助帖200分-已结帖

标记为求助帖,其实是挑战帖,挑战论坛所有网友对程序的理解是否真的如同鼓吹的精通框架啊超懂底层啊云云。

最近调机发现一个有意思的地方,觉得有必要曝光一下,顺便挑战一下同行。

这个有意思的地方是:同样的逻辑代码片段,在ABB工业机器人上不会进入子程序,而在KUKA工业机器人上却执行子程序。如图片所示。


所以在下的挑战是:这个doubleBubble函数有没有必要执行呢?为什么?




楼主最近还看过



phoenixyqc

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 125回
  • 年度积分:1
  • 历史总积分:626
  • 注册:2009年2月23日
发表于:2023-05-29 16:01:40
1楼

不懂就问,为什么ABB的doubleBubble函数前面的num是黑色的,是把num doubleBubble识别成函数名吗?

爱情一片海

  • 精华:0帖
  • 求助:8帖
  • 帖子:8帖 | 24回
  • 年度积分:100
  • 历史总积分:215
  • 注册:2017年9月28日
发表于:2023-05-29 16:57:23
2楼

ABB和库卡都会进入子程序运行的,因为需要返回值

121111115

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 447回
  • 年度积分:563
  • 历史总积分:25796
  • 注册:2016年1月20日
发表于:2023-05-29 22:59:59
3楼
不执行没有返回值,你if就判断不出你想要的正确逻辑

找个蓝胖子

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 34回
  • 年度积分:0
  • 历史总积分:503
  • 注册:2018年4月12日
发表于:2023-06-01 08:49:27
4楼

单单从AND来说,各个厂家的编译机制是不太一样的,有的区分了逻辑、短路,有的没有区分。用哪家的就遵循哪家的规矩,为了防止这种情况,做程序的逻辑时一般都避免这种不确定性。图片是ABB对AND的简单说明,采用的是短路与捕获.PNG

monzer

  • [版主]
  • 精华:11帖
  • 求助:2帖
  • 帖子:49帖 | 119回
  • 年度积分:163
  • 历史总积分:12020
  • 注册:2020年3月27日
发表于:2023-06-04 12:53:33
5楼

"找个蓝胖子" 的回复,发表在4楼
        对内容: 【单单从AND来说,各个厂家的编译机制是不太一样的,有的区分了逻辑、短路,有的没有区分。用哪家的就遵循哪家的规矩,为了防止这种情况,做程序的逻辑时一般都避免这种不确定性。图片是ABB对AND的简单说明,...】进行回复:

        -----------------------------------------------------------------


您说的比较贴近了。不过在下比较好奇啥是 短路与  ?

monzer

  • [版主]
  • 精华:11帖
  • 求助:2帖
  • 帖子:49帖 | 119回
  • 年度积分:163
  • 历史总积分:12020
  • 注册:2020年3月27日
发表于:2023-06-04 13:01:39
6楼

"phoenixyqc" 的回复,发表在1楼
        对内容: 【不懂就问,为什么ABB的doubleBubble函数前面的num是黑色的,是把num doubleBubble识别成函数名吗?...】进行回复:

        -----------------------------------------------------------------


这个我不懂。

一颗小小草

  • 精华:8帖
  • 求助:22帖
  • 帖子:157帖 | 4878回
  • 年度积分:730
  • 历史总积分:44928
  • 注册:2005年6月28日
发表于:2023-06-07 11:36:57
7楼

我曾经(2005年左右)在单位调试,遇到过MCU烧录入程序后挑硬件的情况,就是芯片插入控制板后程序运行有问题,但是更换几块板子后,总有一块板子适配这只芯片,程序会很完美的运行。

总工(国有大企业退休老头,单片机杠杆的,但他当时只负责硬件PCB)看了后也是摇头,据说他后来给单片机程序开发人员讲“咱们写的程序竟然挑硬件”。

找个蓝胖子

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 34回
  • 年度积分:0
  • 历史总积分:503
  • 注册:2018年4月12日
发表于:2023-06-07 16:27:22
8楼

"monzer" 的回复,发表在5楼
        对内容: 【"找个蓝胖子" 的回复,发表在4楼        对内容: 【单单从AND来说,各个厂家的编译机制是不太一样的,有的区分了逻辑、短路,有的没有区分。用哪家的就遵循哪家的规矩,为了防止这种情况,做程序的...】进行回复:

        -----------------------------------------------------------------


if的真假结果 = 条件1 AND 条件2 AND 条件3 AND 条件4......

说明书上写的清楚,从左侧依次执行,当条件1是false时,if的结果可以确定是false ,条件234就不再执行了。nn<>earlier=false,后边的就不执行了,如果nn<>earlier=true,就会继续执行条件2。类似这样的叫短路与


if的真假结果 = 条件1 AND 条件2 AND 条件3 AND 条件4......

不论条件1234的结果是true还是false都将条件计算完成,最后返回结果,类似这样的叫逻辑与


用哪家的就遵循哪家的规矩。没用过kuka只是从编程的角度分析


还有如果知道<此处内容被屏蔽>还是写出来讨论的好,至少不会误导别人。毕竟大家都很忙



monzer

  • [版主]
  • 精华:11帖
  • 求助:2帖
  • 帖子:49帖 | 119回
  • 年度积分:163
  • 历史总积分:12020
  • 注册:2020年3月27日
发表于:2023-06-07 17:30:44
9楼

既然是与运算,那么就有一假即假这个定理。当复合表达式中有一个表达式为假那么整个复合表达式的结果肯定是假。没必要去挨个运算了。之所以把这曝光出来是因为在给数组元素排序时,KUKA  ,  FANUC就报错,数组越界。而在ABB上就不报错。ABB是支持数组越界检查的。

发这帖学会了两个新概念,逻辑与,短路与。 挺好的。

糯米球

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:151
  • 注册:2017年9月23日
发表于:2023-06-08 16:44:29
10楼

回复内容:

对:找个蓝胖子 "monzer" 的回复,发表在5楼        对内容: 【"找个蓝胖子" 的回复,发表在4楼        对内容: 【单单从AND来说,各个厂家的编译机制是不太一样的,有的区分了逻辑、短路,有的没有区分。用哪家的就遵循哪家的规矩,为了防止这种情况,做程序的...】进行回复:        -----------------------------------------------------------------if的真假结果 = 条件1 AND 条件2 AND 条件3 AND 条件4......说明书上写的清楚,从左侧依次执行,当条件1是false时,if的结果可以确定是false ,条件234就不再执行了。nn<>earlier=false,后边的就不执行了,如果nn<>earlier=true,就会继续执行条件2。类似这样的叫短路与if的真假结果 = 条件1 AND 条件2 AND 条件3 AND 条件4......不论条件1234的结果是true还是false都将条件计算完成,最后返回结果,类似这样的叫逻辑与用哪家的就遵循哪家的规矩。没用过kuka只是从编程的角度分析还有如果知道还是写出来讨论的好,至少不会误导别人。毕竟大家都很忙     内容的回复:

讲的很细很清楚,受益了。谢谢!

Smile-lyc

  • [管理员]
  • 精华:138帖
  • 求助:51帖
  • 帖子:3589帖 | 22564回
  • 年度积分:238
  • 历史总积分:152229
  • 注册:2006年8月04日
发表于:2023-06-10 16:07:06
11楼

引用 "121111115" 的回复,发表在3楼
        内容: 不执行没有返回值,你if就判断不出你想要的正确逻辑

monzer

  • [版主]
  • 精华:11帖
  • 求助:2帖
  • 帖子:49帖 | 119回
  • 年度积分:163
  • 历史总积分:12020
  • 注册:2020年3月27日
发表于:2023-06-15 19:21:40
12楼

普遍都认为需要去运算,可我始终不这么认为,作为与运算,它必然有一假即假这个从一而终的真理。我相信任何一个成熟的编译器都能胜任这一工作。至于语言要求全部运算那只能说这个语言太保守了。

puxianqiang

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 128回
  • 年度积分:4
  • 历史总积分:344
  • 注册:2022年8月11日
发表于:2023-06-29 18:11:03
13楼

1、2013最新整理eplan部件库


介绍:每个品牌系列都是可以单独导入的,需要用时才导入以免太大被卡死现象


https://item.taobao.com/item.htm?ft=t&id=714364562044


2、西门子博途 博图plc案例程序s7 200smart 300 1200 1500编程实例工程 最全


https://item.taobao.com/item.htm?spm=a213gs.success.result.1.18407a86KyfmZJ&id=717575723845


龙仔466026

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 8回
  • 年度积分:100
  • 历史总积分:244
  • 注册:2022年10月21日
发表于:2023-07-14 11:25:09
14楼

学习了

Smile-lyc

  • [管理员]
  • 精华:138帖
  • 求助:51帖
  • 帖子:3589帖 | 22564回
  • 年度积分:238
  • 历史总积分:152229
  • 注册:2006年8月04日
发表于:2023-07-14 16:02:35
15楼

感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。

对于求助者要求:

1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;

2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。

3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。

4、2023加油!!


edsf

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 338回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2015年11月14日
发表于:2023-08-04 14:28:59
16楼

何一个成熟的编译器都能胜任这一工作。至于语言要求全部运算那只能说这个语言太保守了


热门招聘
相关主题

官方公众号

智造工程师