数据连续移动填充

想用PLC做个数据填充程序:数据来后,先存着第一个位置。数据再次来后,第一个位置的数据向后移动,位置用来存放最新的数据,一次类推,共5个存储单元,存满后最先的数据丢失,移动出位置来存放新的数据,类似堆栈的原理,一层层往下压。有什么好的算法可以提供吗

最佳答案

用先入先出队列,我做了一个由后向前的移动过程,新数据加到最后,用指针做的。的思路是:定义一个指针,指向db的起始地址,定义个两个地址变量,一个是指针指向的地址,一个是指针指向的后一个地址(如果是32位的数,则指针指向地址赋值给地址变量1,指针地址偏移4.0赋值给后一个地址变量;如果是16位的则偏移量是2.0;如果是8位的偏移量是1.0,如果是1位,偏移量是0.1)。然后后一个地址变量对应的地址的值赋值给前一个地址变量对应的地址。然后指针地址加偏移量。循环4次,新的数值放在最后的地址中。

提问者对于答案的评价:
多谢多谢!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日
下一篇 2020年10月31日

相关推荐

  • STEP7编写程序注意事项

    编写以300为主站的DP网络应该注意什么? 问题补充:具有300与200之间的数据交换。说实在点就是刚开始在STEP7中编写程序有哪些程序块是必须的, 最佳答案 300与200之间…

    自动化系统综合 2020年11月1日
  • 西门子S7-200的模拟软件从哪里可以下载啊

    西门子S7-200的模拟软件从哪里可以下载啊,我原先有一个,可不能用在CN系列的PLC上 最佳答案 准确的说西门子是没有推出有关S7-200的模拟软件的,网上所谓的S7-200的模…

    自动化系统综合 2020年10月31日
  • 西门子840D系统怎么传入程序呢

    西门子840D系统怎么传入程序呢..我传出来的程序文件扩展名是ARC我不知道用什么软件进行编辑..我在电脑上用记事本编的程序怎么把扩展名改成ARC呢??还有840标准循环怎么不让新…

    自动化系统综合 2020年11月1日
  • 关于计时器的使用

    请教老师,我现在准备计算产线带钢行走的时间,需要在准备站就绪后,开始运行,此时开始计时,到带钢下卷后,结束计时,但是不知道怎么编制程序,使用哪种计时器,想请教老师指点!(中间如果有…

    自动化系统综合 2020年10月31日
  • 安全继电器的使用

    有一个小项目,要求加一个安全光栅,触发光栅后要求机器停止工作,请教各位大师,此安全光栅直接接PLc 输入,还是接安全继电器,哪一种方案更好?谢谢了 最佳答案 根据安全标准…

    自动化系统综合 2020年11月1日
  • 从站扩展 大于 31 站

    我想扩展大于31个从站,需要用中继器,我以前没有这样用过,看到一些资料说,要分段,想问问分段是什么意思,中继器要不要组态,还有最多能组127个,是怎么计算的还是就这样规定的,谢谢。…

    2017年11月26日
  • 如何用C动作比较外部变量

    比如我要比较外部变量A和B,如果A大于B,C=1,如果A不大于B,C=0。我该怎么做?谢谢! 最佳答案 c比较麻烦,还要根据数据的类型选择不同的函数,直接用vbs吧:dim&nbs…

    自动化系统综合 2017年11月29日
  • 工控机DP网络组态200和300PLC

    现场有2台研华工控机,配置了2块6GK1 561-2AA00,另外有1台315-2DP,另外还有4台CPU200,200的PLC配置了一块EM2771. 这个D…

    自动化系统综合 2017年12月1日
  • S7-200元件注解怎么弄?

    S7-200梯形图编程中想显示元件注解,怎么弄?怎么在I0.1 Q0.1之类的傍边注解?方便梯形图阅读! 最佳答案 转载:《s7-200  梯形图后面…

    自动化系统综合 2020年10月31日
  • ET200s 和 PLC

    ET200s 和PLC有什么不同(功能和外形)?ET200s自带CPU模块能否代替PLC?ET200加CPU模块的作用是什么? 最佳答案 1、ET200s 和P…

    自动化系统综合 2020年10月31日