回复:关于时钟存储器的应用程序

yzm_cumt

西门子1847工业学习平台

  • 帖子

    2578
  • 精华

    14
  • 被关注

    105

论坛等级:至圣

注册时间:2010-10-19

白金 白金 如何晋级?

发布于 2015-01-23 09:43:50

15楼

展开查看
以下是引用n次看你的背影在2015-01-15 23:24:15的发言 >1楼:楼主:看了你的代码,代码执行的过程我描述一下,你有时间可以测试、验证一下。

L MB 28 //装载时钟存储器本周期8个位当前的状态到ACCU1
L MB 29 //装载时钟存储器上周期8个位的状态到ACCU1,MB28的内容装载到ACCU2
INVI //时钟存储器上周期8个位的状态(ACCU1的内容)取反
AW //当前时钟存储器8个位的状态(ACCU1)&上周期时钟存储器8个位(ACCU2)取反的状态,
//&的结果存储在ACCU1内
T MB 27 //将ACCU1的内容存储到MB27(只存储了低8位)
L MB 28 //装载时钟存储器本周期8个位当前的状态
T MB 29 //将本周期时钟存储器8个位当前的状态存储到MB29

此段代码主要表达的意思就是:当时钟存储器8个位,任何一个位状态由0变化到1,8个位的上升沿将对应地存储到MB27,M27.5就是1Hz时钟脉冲的上升沿。此段代码简短朴素,效率却非常之高。

题外话:此段代码稍加修改,可以同时判断16个位的上升沿,如果做成一个FC,用起来还是很方便的。
AW //当前时钟存储器8个位的状态(ACCU1)&上周期时钟存储器8个位(ACCU2)取反的状态,
请问这个是不是解释有点问题?是不是应该是“当前时钟存储器8个位的状态(ACCU2)&上周期时钟存储器8个位(ACCU1)取反的状态”,谢谢
sometimes you have to be your own hero!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54664条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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