数据排序

我的数据存在VW4500开始的每隔一个位的存储器内,即VW4500,VW4502,VW4504,...VW4546,总共有24个,希望实现从小到大排序,即最大的数放在VW4546内。尝试用FOR循环来实现,望指点迷津

问题补充:
希望通过使用for循环来实现冒泡法了解指针的运用,如果有的话请给我发一份,如果没有的话给我一份关于指针的介绍,及注意事项,谢谢。我的邮箱jgsong21st@163.com

最佳答案

去看下最简单的冒泡法,自己做才是真道理

  //Main主程序 对5个数进行排序从VW4500至Vw4508进行排序,任意多个数可以在SM0.1中初始化;
  Network1
  LD     SM0.1
  MOVW   1, VW2000
  MOVW   1, VW1000
  MOVD   &VB4498, VD3000
  MOVW   700, VW4500
  MOVW   210, VW4502
  MOVW   110, VW4504
  MOVW   510, VW4506
  MOVW   5110, VW4508
  MOVW   1, VW600

  Network2
  LD     M1.0
  CALL   S0:SBR0

  
  //SO:SBR0子程序,采用内外两个For循环及VD1118与VD1008双指针进行排序操作
  Network1
  LD     M1.0
  FOR    VW2000, VW600, 4

  Network2
  LD     M1.0
  FOR    VW1000, VW2000, 3

  Network3
  LD     M1.0
  LPS
  MOVW   VW1000, VW1002
  AENO
  *I     +2, VW1002
  AENO
  ITD    VW1002, VD1004
  LPP
  MOVD   VD1004, VD1114
  +D     +2, VD1114

  Network4
  LD     M1.0
  MOVD   VD3000, VD1008
  +D     VD1004, VD1008
  MOVD   VD3000, VD1118
  +D     VD1114, VD1118

  Network5
  LD     M1.0
  MOVW   *VD1008, VW3500
  MOVW   *VD1118, VW3502

  Network6
  LD     M1.0
  AW>    VW3500, VW3502
  MOVW   *VD1008, VW3004
  MOVW   *VD1118, *VD1008
  MOVW   VW3004, *VD1118

  Network7
  NEXT

  Network8
  NEXT

  【PLC:S7 200 226 调试通过可以直接测试】

提问者对于答案的评价:
非常感谢,我已经调试通过了,同时对指针也有了了解,以后多多练习,不断提高自己

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc348921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午11:53
下一篇 2021年7月4日 下午11:53

相关推荐

  • 累计流量计算的程序编写

    我用的是S7-200,EM231标准的,问题是流量计输入信号4-20mA,请怎么通过瞬间流量来计算累计流量?程序怎么写,如有案例请发到我的邮箱:dfg7758@163.com,谢谢…

    SIMATIC S7-200 2021年7月5日
  • s7-200PLC之间的modbus通信

    我想用两台s7-200 CPU226 DC/DC/DC实现modbus通信,想用主站控制从站的q0.0亮怎么实现,最好给个程序, 问题补充:现在我用保持寄存器进…

    SIMATIC S7-200 2020年10月31日
  • s7200模拟量求平均值

    有一模拟量(4-20mA),我想对它进行平均值,在程序中如何做,我在网上搜了一些程序样式,但是做实验,都不正确,谢谢!邮箱:lyx@dongzechina.com 最佳答案 发给你…

    SIMATIC S7-200 2020年11月1日
  • 如何用触发器指令实现双稳态按钮啊?

    如题。弄了很长时间也没弄出来。呵呵 最佳答案 每按I0.0一次,M0.1就会动作一次(ON.OFF) LD SM0.0 LPS A&nbsp…

    SIMATIC S7-200 2021年7月5日
  • 模拟量输入、输出的控制,如何来编程

    我在西门子200PLC的控制系统中,要用模拟量输入、输出模块,在这个控制中,如何来编程呢?也就是说,编程方法!有书吗? 问题补充:我的邮箱地址:zcspgs@163.com,请把块…

    2018年12月9日
  • 有关高数计数问题

    最近做一个新项目用CPU226采集脉冲,脉冲100-3000PCS/min,请问是不是要用高数计数器,其程序如初:LD     S…

    SIMATIC S7-200 2020年10月31日
  • PID参数整定麻烦

    PID参数整定烦死了 问题补充:系统手册上的PID指令对应PID的位置算法? 比如温度控制要自己写程序对应增量算法? 对不? 最佳答案 怎么说?是不会还是懒呀?…

    SIMATIC S7-200 2021年7月5日
  • ROUND转换继续

    而我监控出来是这样的VD1112(175.0)经过ROUND转换后是VD1208(11468975)在用这个数DI_I转换成VW1208才是175 最佳答案 在你的程序里怎么同时出…

    SIMATIC S7-200 2021年7月4日
  • USB转RS232接口为什么用不起来

    过去机床与台式电脑数据连接用的都是标准9针串口线,现在更换了笔记本 戴尔A480型号,但是没有合适的接口。市场上买了个USB转232的线,传输程序中没有可选的COM1&n…

    SIMATIC S7-200 2021年7月5日
  • s7-200集成接口通信

    S7-200集成接口配RS232/PPI电缆,可以实现几种通信协议啊? 最佳答案 1.PPI协议 2.USS协议 3.modbus协议 4.OPC与P…

    SIMATIC S7-200 2021年7月4日

发表回复

登录后才能评论