三菱WSFL字左移指令,西门子怎么实现? 点击:593 | 回复:4



小王娃娃

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 60回
  • 年度积分:981
  • 历史总积分:1456
  • 注册:2013年11月19日
发表于:2021-07-12 00:58:53
楼主

三菱WSFL字左移指令,西门子怎么实现?就是我每次读到数据放到VB0,每触发一次上升沿,将数据移到VB1 VB2.....按顺序存储起来



楼主最近还看过



请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:622帖 | 8548回
  • 年度积分:26
  • 历史总积分:335297
  • 注册:2011年4月25日
发表于:2021-07-12 08:38:01
1楼

企业微信截图_16260501608073.png这个实例讲的很清楚,你可以设置移动位数,右边是移动后状态,移动触发注意必须采用上升沿或者下降沿方式

小王娃娃

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 60回
  • 年度积分:981
  • 历史总积分:1456
  • 注册:2013年11月19日
发表于:2021-07-12 10:28:04
2楼

回复内容:

对:请叫我王老湿 这个实例讲的很清楚,你可以设置移动位数,右边是移动后状态,移动触发注意必须采用上升沿或者下降沿方式     内容的回复:

你这个只是一个字的位移动,我要求的是一个上升沿触发,VB5的数据给VB6,VB4的数据给VB5,VB3的数据给VB4以比类推,在一个扫描周期内完成。这样我读到一个变化的数值我给他排列起来。

ZJW53080

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 76回
  • 年度积分:77
  • 历史总积分:112
  • 注册:2019年8月22日
发表于:2021-11-08 20:24:05
3楼

你好,我也在做同样的程序请问楼主写出来没有?


丶丶丶鱼

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 36回
  • 年度积分:154
  • 历史总积分:1194
  • 注册:2021年6月15日
发表于:2021-11-08 21:55:24
4楼

直接FOR循环

IF Trig THEN  //上升沿触发

    Buffer := FillEmptyData;

    FOR i := 1 TO Count DO

        IF i = Count THEN

            Data[Count - i+1] := Buffer;

        ELSE

            Data[Count - i+1] := Data[Count - i ];

        END_IF;

    END_FOR;

END_IF;

Date变量作为数组,字移位需要多少个字,数组大小就多大

至于数据类型  结构体或者字类型都可以



热门招聘
相关主题

官方公众号

智造工程师