回复:这些指令的执行与状态位无关

Letham

西门子1847工业学习平台

  • 帖子

    2023
  • 精华

    43
  • 被关注

    360

论坛等级:至圣

注册时间:2006-04-15

钻石 钻石 如何晋级?

发布于 2017-12-22 21:10:37

3楼

楼主帖子 最后的程序和状态位有什么关系了,PLC扫描是由上而下,中间没有跳转,当然是顺序执行了

A M100.0

CLR 只是清除RLO

L MW0 

T MW0

后面的执行当然完全没有影响。

某些指令执行后,当然影响一些状态位,你可以直接使用当中的某些位和特殊指令来进行编程。

就拿BR位来举例

比如 有如下代码

A M0.0

A M0.1

A M0.2

=M1.0


A M0.0

A M0.1

A M0.3

=M1.1

其中

A M0.0

A M0.1

可以使用br位来暂存

代码可改为如下

A M0.0

A M0.1

SAVE

A BR

A M0.2

=M1.0

A BR

A M0.3

=M1.1

因为A 指令没有影响BR位。

其实 大多情况下 可以不必考虑状态字

熟悉状态字 可以给编程带来方便,比如比较指令 会影响CC0,CC1条件位,而条件位 可以直接直接 使用 A >0等这种指令。


比如

L MD10

L MD14

-R

A ==0  结果等于0

=M0.0

A >0结果大于0

=M0.1


JC 是根据RLO状态来判断是否跳转

JZ JPJN等都是根据状态字的某些位进行跳转的。


人生就像一场旅行!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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