数据连续移动填充

想用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日 下午2:08
下一篇 2020年10月31日 下午2:08

相关推荐

  • s7-200立即输入的问题

    s7-200立即输入指令从输入模块取的信号有没有经过输入滤波器滤波? 问题补充:那一般使用立即输入指令时,手册上并没有提到设置滤波器时间。这样也经过滤波器吗? 最佳答案 是没有经过…

    自动化系统综合 2017年11月27日
  • 万能的小西,问个电磁调速电机的问题。

    在小西这里问似乎搞错的地方。现有一套电磁调速系统,原动机三相异步电动机额定转速1470r/min;电磁调速电动机型号为YCT280-4A,铭牌上转速范围为1250~125r/min…

    自动化系统综合 2017年6月5日
  • 在线连接(0140:017088)

    在线:无法加载所选的通讯驱动程序;未找到文件 问题补充:TIA Portal V13在线不了,不想 重装,能有办法修复吗?缺少组件? 图片说明: &n…

    2017年6月3日
  • plc计时问题再问

    plc是顺序扫描,循环执行  做一个程序段用于计时,那么整个程序扫描一遍需要一段时间,那么我的时间程序不就产生了误差?   &nb…

    自动化系统综合 2020年10月31日
  • 电机驱动器问题

    电机驱动器上有几个功能开关:开始/停止,正转/反转,急停。     请问,开始/停止与急停的作用是否重复?当电机在运行时,需要停下…

    自动化系统综合 2020年11月1日
  • 5711同志们

    我的5711一直很正常,今天在连接317T-CPU的时候,首先是连不上,然后我进行通信测试,奇怪的事发生了,提示我5711的软件有问题,然后那个LNK/SF灯就是快速闪烁,我看文档…

    自动化系统综合 2019年6月10日
  • S7-300数字量输入点闪断

    现场一个开关(如I0.0),在程序中应该怎么做才能避免这个开关可能出现的闪断现象 最佳答案 二种方式来解决这个问题,一个就是尽量使用开关的常开触点输入PLC,来避免这个问题发生.另…

    自动化系统综合 2017年11月4日
  • 授权管理器出问题

    授权管理器出现了提示没有启动服务,在操作系统中启动了服务以后,又出现如下提示:“Cannot start access-protection comp…

    自动化系统综合 2020年11月1日
  • alarm_8p如何关联相关变量

    alarm_8p中SD1–SD10怎么用? 我想知道SD1–SD10怎么关联到报警信息中的,只有8路报警怎么会有10个关联值呢? 最佳答案 报警关联值适用于所有报警消…

    自动化系统综合 2020年10月31日
  • 几个站的程序如何上载

    系统有5个站,走DP通讯!我如何把程序上载到我的电脑上? 最佳答案 把适配器一端插到计算机上另一端插到CPU的MPI/DP口上,打开STEP7,在PG/PC中选择MPI(如果采用其…

    自动化系统综合 2020年11月1日