博图SCL 语言如何将数组中指定某个数据插队前置,被插队依次后移

例如一组数[ 4 , 8 , 1 , 3 ,5 ,9 ,6 ]  ,现在给出一个数5,发现里面已经有了,那么就把5前置到左边第一位。即给个N,如果N在数组中存在,就前置到最前第一位。SCL如何写?

最佳答案

这里假设你这个数组里没有重复的数字,可以按下面的程序编写实现

FOR #i := 0 TO 6 DO
    IF #Array[#i] = #N THEN
        IF #i = 0 THEN      //当第一位就是你N时,直接退出循环;
            EXIT;
        ELSE
            FOR #j := #i TO 1 DO  //如果不是第一个是N,则需要等于N的那个数组元素提到第一位,并且把其它向后移;
                #Array[#j] := #Array[#j - 1];
            END_FOR;
            #Array[0] := #N;
        END_IF;
    END_IF;
END_FOR;

提问者对于答案的评价:
我把这个嵌套进去后,无法进行数据入栈,指针数直接为21。正常时栈内是全部位零,应该是上升沿触每发一下新写进去一个不为零的数,如果栈内已经有这个数了,那就把它前置到第一位,没有的话就写排到现有的以后一个不为零的数后面。大哥  有空的话你加我QQ 2300023577   帮我看看吧

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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午5:16
下一篇 2021年7月5日 下午5:16

相关推荐

  • 200plc的tcp/ip通信问题

    在200plc使用TCP/IP通讯时,总是会出现搜索不到plc,显示不存在,我已经进行了以太网配置,还是出现不存在 问题补充:网段是配置的一个网段,以太网也进行了配置,这个工控机没…

    2021年7月5日
  • S7-200 CPU226CN

    软件为V4.0 STEP 7 MicroWIN中文系统,CPU226CN,上载正常,但下载了简单的程序,提示"出现编译错误",查信…

    SIMATIC S7-200 2021年7月5日
  • 请教大家一个编程问题?

    想做个通过两个光电开关的动作顺序来判断人通过的方向,除了用定时器做外有没有相关的指令,打算用200PLC做,非常感谢! 最佳答案 参考抢答的例子程序,可以满足你的需求。 提问者对于…

    SIMATIC S7-200 2021年7月5日
  • 挤出机自动喂料PID

    塑料挤出机(变频调速)+挤出机喂料(变频调速):S7200 PLC 通过调节主机螺杆转速来摩擦加热,给定设定值,使实际温度稳定在给定值附近,利用PID的输出来调…

    SIMATIC S7-200 2021年7月4日
  • 求助:高速计数器,编码器不计数?

    申明一下光电编码器(VCC,0v,A,B,Z,屏蔽端子),接法:将A,B脉冲相分别接入I0.0,I0.1,0v接入CPU226的M端,DC24V接在VCC上,不记数,难道接错线了吗…

    SIMATIC S7-200 2020年11月5日
  • 多台S7-200CPU能否通过EM277与一台触摸屏通讯

    请教个对行家可能会很愚蠢的问题,多台S7-200CPU能否通过EM277与一台触摸屏通讯?因为现在有个项目有三台CPU226,客户需要能在办公室监控各CPU中数据,寻求解决方法。 …

    SIMATIC S7-200 2021年7月5日
  • wipeout.exe的使用

    wipeout.exe的使用 钻石用户推荐最佳答案 通过程序“wipeout.exe”来恢复CPU 的缺省设置。这个程序可在STEP 7-Micro/WIN&n…

    SIMATIC S7-200 2021年7月5日
  • 打热线解决不了的诡异问题

    问题ID号50079 想在AC/DC/RELAY  的PLC的继电器输出点驱动一个小继电器的线圈,继电器线圈电压为20VDC,但该继电器焊在电路板上,…

    SIMATIC S7-200 2021年7月4日
  • S7-200模拟量转换块 库在那里

    S7-200模拟量转换块 库在那里  找不着? 谢谢 最佳答案 模拟量比例换算: 因为A/D(模/数)、D/A(数/模)转换之间的…

    SIMATIC S7-200 2021年7月5日
  • 程序下载与通讯方式

    请教,S7-200与WINCC通过243模块进行TCP/IP通讯,S7-200程序下载必须通过TCP/IP方式吗?可不可以通过PPI方式先下载程序?谢谢各位指教! 最佳答案 可以的…

    SIMATIC S7-200 2021年7月4日

发表回复

登录后才能评论