数据排序

我的数据存在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

相关推荐

  • 工程控制

    我用个双阀的电磁阀控制汽缸左右分箱子.我有个记数用的电眼,每记完5个箱子我的汽缸就动作一次.用I0.0驱动计数器.我用(C==5)就驱动Q0.0置位指令--(C==6)就复位&nb…

    SIMATIC S7-200 2021年7月5日
  • PID问题?

    怎么实现当条件到达时调用PID?我想在M10.0接头的时候调用PID实现自动调节温度,怎么实现?Auto_Manual 是做什么用?ManualOutput 是…

    2017年8月26日
  • step7-micro/win的交叉引用中能用查找功能吗

    各位老师大家好!我想在交叉引用表中快速找到某一个符号,能使用查找功能吗?或者有其他方法吗?请指教。 最佳答案 可以。编译后,ctrl+f 键。 提问者对于答案的评价:正确…

    SIMATIC S7-200 2021年7月5日
  • S7-200模块,EM235的信号问题

    我用EM235采集一个AI点,再输出一个AO点。DIP的拨码开关那里,由于我要采集和输出的信号都是0-5V的,因此,我将拨码开关拨到ON,OFF,OFF,OFF,OFF,ON,但是…

    2021年7月5日
  • s7200 plc关于局部变量表中定义数据的类型参数

    看图123,此时的L0.2电动机参数为什么不能定义为OUT 只能定义成IN_OUT,我试过这样定义没有用高手来回答 图片说明:    最佳答案 OK。…

    2021年7月5日
  • S7-200 MODBUS从站通讯地址?

    问一个问题:是不是S7-200 modbus通讯:00001 至 0*x 对应 开关量输出 QX.X ,100…

    SIMATIC S7-200 2020年11月1日
  • 关于西门子的解密问题

    求解决SIMATIC S7-200程序解密方法。我知道的是用第三软件查看密码,和把西门子S7-200的PLC中电路板上的加密芯片换成未加密的芯片(此办法非常麻烦,容易把P…

    SIMATIC S7-200 2020年11月5日
  • 安装STEP-7,安装不上

    我在自家的电脑上安装STEP-7,可是电脑提示:“没有注册类别”,请各位老师指点,谢谢! 最佳答案 我发送一份《STEP 7 V5.4安装说明》给你吧,你的邮箱…

    SIMATIC S7-200 2020年11月1日
  • 指示灯不亮却有输出?(排除硬件损坏)

    CPU 224 继电器输出。Q1.0和Q1.1分别接三线制补水阀的开和关。3L为220V火线。补水阀公共端接零。程序截取如下:M7.4为液位控制。LD&nbsp…

    SIMATIC S7-200 2020年11月1日
  • PLC 时间设置问题

    触摸屏与s7-200,触摸屏可设置、读取PLC时间,读取年月日时分秒,设置年月日时分秒。在PLC编程时没有编写星期的设置,星期也没有固定赋值,调试的时候时间还能进行设置,放到现场后…

    2017年10月29日

发表回复

登录后才能评论