回复:请教一下,这段程序该怎么编?

RENHQ

西门子1847工业学习平台

  • 帖子

    13662
  • 精华

    61
  • 被关注

    2166

论坛等级:至圣

注册时间:2008-12-28

钻石 钻石 如何晋级?

发布于 2017-04-05 07:48:52

6楼

展开查看
以下是引用夏雪华在2017-04-04 23:15:40的发言 >5楼

谢谢,不过MD4是循环判断,也就是0 - 3S,0.1 -3.1S ,0.2 - 3.2S这样判断。

我的想法是用0.1s脉冲,把0-3S间每隔0.1秒move到DB1数据块里,然后再把DB1 MOVE 给db2,用冒泡法给DB2排序。这样比较麻烦,而且也是隔0.1秒采集一个数据,这样感觉比较繁琐。不知大大有没有别的好办法啊?

      A(    

      A     "0.1s脉冲"

      JNB   _015

      CALL  "BLKMOV"

       SRCBLK :=P#DB1.DBX0.0 BYTE 120

       RET_VAL:=MW34

       DSTBLK :=P#DB1.DBX4.0 BYTE 120

_015: A     BR

      )     

      JNB   _016

      L     MD     4

      T     DB1.DBD    0

_016: NOP   0


以下是引用RENHQ在2017-04-04 14:40:20的发言 >4楼:找答案里面给您编了...

引用4楼详细内容:

找答案里面给您编了个程序了啊,没看吗?


M100.2就是实现的这个功能

如果你做个3秒的定时中断,那程序做起来就更简单了

我的想法是做30个存储区域,每个地址放100ms的

程序开始先是每100ms进行填充,经过30次,就是3秒之后,进行类似堆栈的操作,堆栈操作的同时把这30个数相加,直接判断结果就行了,不用冒泡排序

需要用到指针,编起来也比较麻烦

Q群:https://jq.qq.com/?k=9BDuEgf6
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54622条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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