数据排序

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

相关推荐

  • plc与触摸屏之间的通信

    我知道在他们之间是需在设置m来通信的,但是我还有一点不明白,就是怎么才可以在触摸屏上设置开关控制程序是否运行呢?我知道可能要用到子程序,可是我需要一个激活实验的按钮,该怎么编程呢?…

    SIMATIC S7-200 2021年7月5日
  • s7-200 plc能否通过盐雾试验

    我们公司的客户要求我们对相关元件做盐雾试验,要求中性盐雾环境下240小时,不知道S7-200是否能通过这项试验?哪位前辈指导一下!谢谢 最佳答案 这个问题不太好确定。盐雾的温度、湿…

    SIMATIC S7-200 2021年7月5日
  • 触摸屏与PLC连接

    要建立西门子的触摸屏与s7-200通讯时,可不可以连接PLC的内部变量,比如M0.0。 最佳答案 可以! 参考触摸屏组态说明: http://www2.ad.s…

    SIMATIC S7-200 2021年7月4日
  • 新手急求关于USS电缆和Profibus-DP电缆问题

    请问uss和profibus-dp网络电缆是什么样子?我曾见过一种两芯电缆,好象是红色的,别人告诉我说那就是网络电缆,还说上面的9针接头可以自己焊,是真的吗? &nbsp…

    SIMATIC S7-200 2021年7月5日
  • 用 EM231 接收模拟量为什么数值会跳到0又跳回来

    接收用双极性+-5V很正常 这回接收用单极性0-5V 就是把SW2 SW3拨上,,然后我用万用表量了下2.7V也没波动 但模拟量接收来的数值…

    SIMATIC S7-200 2020年10月31日
  • 西门子CPU程序怎么上传到电脑

    手里有一个控制柜,西门子cpu222连接维控触摸屏,连接温度传感器,用于显示温度。我想把cpu里面的程序上传到电脑,该怎么连接cpu和电脑,用连接触摸屏与cpu的电缆行吗 最佳答案…

    SIMATIC S7-200 2017年8月16日
  • 使用S7-200的PID通过模拟量控制比例阀,主要控制精度

    我用的是s7-200,要求控制比例阀调节液压缸的速度,系统是上下运动的,用电阻尺(相当于位移传感器)来得到行程量,在上位机设定一个行程,启动一个按钮后,系统向下运动,当系统渐渐到达…

    SIMATIC S7-200 2021年7月4日
  • 学习西门子PLC方向

    公司现阶段正在使用S7-200、S7-200SMART,今年(2021年)秋季公司建立新厂是以S7-1200和1500进行全面替代、设备进场调试,本人刚刚本科毕业(测控技术与仪器)…

    SIMATIC S7-200 2021年7月5日
  • 请教200plc modbus通讯所用的串口线

    使用200PLC作从站与PC端通信,两者通过串口转网口的C2000 N2A1转换器连接。现在请教一下,PLC端与转换器端口的串口线自制时应该接哪几根引脚??是否要对调??…

    SIMATIC S7-200 2017年11月12日
  • 这两个急停能不能合并?

    这两个急停能不能合并? 图片说明:       最佳答案 完全可以。不合并,按下急停,后面的两个也会断开;合并,按下急停,后面的两个同样也会…

    2021年7月5日

发表回复

登录后才能评论