全景百科 生活 我们从一个STL程序开始,介绍几个“硬核”概念并分享一些想法。

我们从一个STL程序开始,介绍几个“硬核”概念并分享一些想法。

程序如下:注意:原问题的红框部分是:置位指令\”S #OUT7\”。由于只给了我部分程序,没有复位\”#OUT7\”的指令,信号无法翻转,因此为了方便仿真测试和理解,这

程序如下:

注:原题红框部分为:设置命令‘S#OUT7’。由于我只得到了部分程序,并且没有重置“#OUT7”的指令,因此信号无法翻转。因此,为了便于仿真测试和理解,这里对程序稍作改动。

一、相关参数说明

程序用FC编写,接口定义如下:

二、捋一捋主逻辑

其实这个程序的难度就如图中‘红框’所示。如果将其“注释”掉(即在指令前面输入“//”,使该指令不被执行),程序就会编写出简单的逻辑控制指令,如下图所示。

逻辑比较简单,无需赘述。重点分析注释掉的判断和跳转指令。

三、判断与跳转指令

在解释程序之前,我们先解释一下几个STL语句。

我们从一个STL程序开始,介绍几个“硬核”概念并分享一些想法。

状态字寄存器

状态字寄存器是一个16位寄存器,用于存储CPU执行指令时的状态。状态字中的某些位用于确定是否以及以何种方式执行某些指令。执行指令时,状态字中的某些位可能会发生变化。可以使用位逻辑指令和字逻辑指令来访问和检测它们。

本程序主要用到了其中两个:溢出位OV和二进制结果位BR。

(1) 二进制结果位BR

二进制结果位BR用于指示运算结果是否正确。用户编写的FB、FC程序中,最好对BR位进行管理。功能块正确执行后,BR为1,否则为0。

(2) 溢出位OV

如果算术运算或浮点比较指令执行过程中出现错误(如溢出、非法运算、非标准格式等),则溢出位设置为1。如果后续类似指令的执行结果正常,则该位将被清零。

在此示例程序中,“OV”位用于确定整数运算结果是否溢出。结合\’SAVE\’指令,正确的逻辑被保存在BR中。

2. 保存命令

我们从一个STL程序开始,介绍几个“硬核”概念并分享一些想法。

SAVE指令用于将RLO存储在BR中。

3.JNB命令

当\’#temp13\’为1时,JNB指令不满足跳转条件,程序从\’L#IN3\’继续执行,进行整数加法,即:

“#temp23”的值与“#IN2”进行比较,也可以用作“#OUT7”状态的逻辑基础。

由于“@维护乔”只给出了一段程序,没有上下文可供参考,所以暂时无法完整解读这一段程序。但一般逻辑是:

‘#IN3’为某个工艺参数的实际值,‘#IN2’端给出其上限值,‘#OUT7’用于控制某台设备的启停,当实际值小于时超过上限值,\’#只有当OUT7\’为1时,才能启动相应的设备。

四、写在最后

由于程序不完整,最终没有给出解释。但驼子想通过这个例子表达的是:

用户评论


迁心

这段STL程序写的真好!感觉一下子就明白了STL的强大之处!

    有10位网友表示赞同!


水波映月

刚入门C++,对STL这些“硬核”概念还是一头雾水…

    有14位网友表示赞同!


颜洛殇

看了标题,觉得很有意思啊,想学习一下这些冷门的STL知识!

    有10位网友表示赞同!


念旧是个瘾。

STL真的是编程的利器!

    有5位网友表示赞同!


久爱不厌

作者讲的理解也很透彻清晰,感觉掌握了不少“硬核”概念。

    有7位网友表示赞同!


坏小子不坏

分享这个STL程序太棒了!

    有17位网友表示赞同!


艺菲

要学习C++的话, STL是必不可少的啊!

    有18位网友表示赞同!


采姑娘的小蘑菇

这段程序能教会我几个实用的STL技巧吗?

    有16位网友表示赞同!


不忘初心

我对“硬核”概念比较感兴趣,希望作者深入浅出地讲解。

    有7位网友表示赞同!


男神大妈

感觉这种“硬核”概念对于做高级算法开发很有帮助!

    有15位网友表示赞同!


早不爱了

STL真是强大到爆啊,这么多功能都囊括在里面!

    有17位网友表示赞同!


志平

从程序例子中学习stl原理,这是一种很好的教学方式!

    有14位网友表示赞同!


几妆痕

作者的感想也挺有启发性的,让我对C++编程有了新的认识。

    有8位网友表示赞同!


怅惘

想了解一下这个STL程序具体的应用场景?

    有16位网友表示赞同!


良人凉人

希望文章能介绍一些更“硬核”的STL应用案例!

    有15位网友表示赞同!


人心叵测i

看完你的文章,我更有动力去深入学习STL了!

    有14位网友表示赞同!


桃洛憬

太期待作者分享更多关于STL的宝贵知识了!

    有16位网友表示赞同!


淡抹丶悲伤

我想问问作者,这种“硬核”概念在实际开发中如何应用?

    有6位网友表示赞同!

本文来自网络,不代表全景百科立场,转载请注明出处:https://www.ytphoto.com/98223.html

作者: xiaobian

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注