回复:欢迎拍砖。再论沿指令,实例还原真相

Zane

西门子1847工业学习平台

  • 帖子

    21459
  • 精华

    404
  • 被关注

    1508

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2018-01-30 22:57:06

37楼

展开查看
以下是引用yanxiao在2018-01-30 21:36:02的发言 >36楼

(真OUT了,我在手机上看,图不见了,不知如何设置才能见图)

贴一遍文字版的STL程序:

LD     SM0.1                       // 第一扫描周期

MOVD   0, VD0                      // 清0

MOVD   0, VD4                      // 清0

MOVB   50, SMB34                   // 定时中断,50ms

ATCH   INT_0:INT0, 10              // 启用中断

ENI                                // 开中

// 每周期扫一次

LD     M0.0                        // 10Hz信号

EU                                 // 上升沿

INCD   VD0                         // 在上升沿增1

// 做一个For 循环

LD     SM0.0

FOR    AC3, 1, 4

LD     M0.0

EU                                 // 循环体内,对M0.0取沿

INCD   VD4

// 插入5ms延时,让M0.0有机会在循环体内变化

LD     SM0.0

BITIM  AC1                         // 记录时间点

LBL    10

LD     SM0.0

CITIM  AC1, AC0                    // AC0就是延时的时间

LDD>=  5, AC0                      // 不到5ms?

JMP    10

// For循环结束

NEXT

///*******中断部分

TITLE=50ms定时中断

Network 1 

// 对M0.0取反,模拟10Hz信号

LDN    M0.0

=      M0.0


For/next循环体不是每个OB1都执行了吗?还是全扫描的呀,得在循环体前加条件执行呀,否则你的沿后面根本就没有逻辑呀!


另,为啥一定要用循环执行的机制,单次执行不行吗?

Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9388条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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