怎么做一个数据采集程序

怎么做一个数据采集程序,第1张

楼主,我的思路是这样的:1、比如你的原始数据存放在DB2DBD0里面,每个周期累加这个原始数据,并保存到DB2DBD4里面;2、同时对累加次数计数,计数结果存放在DB2DBD8里面;3、等1s循环时间中断OB3x事件到来时,在这个OB3x里面,用DB2DBD4除以DB2DBD8,这个平均值放入DB2DBD12里面(这就是你需要的1s后数据采集的平均值);4、然后在OB3x里面清空累计数据、累计次数。呵呵周而复始如此这般执行,应该能满足楼主的要求!按照上面的思路写了点代码给楼主参考(本人没有测试,楼主可以测试一下):

问题一:plc是如何扫描的?怎么样判断一个扫描周期? 请说明的详细一点。 PLC按照用户程序从左到右,从上到下,不断循环扫描的工作方式。这种工作方式是在系统程序的控制下顺序扫描各 输入点的状态,按用户程序进行运算处理,然后顺序向各输出点发出相应的控制信号。整个工作过程可分为输入采样、程序处理、输出刷新三个阶段。
在西门子200编程软件查看扫描周期方法:连接PC与PLC,将PLC的开关调为TERM。在编程软件中点RUN。在Microwin菜单命令“PLC->信息->扫描周期”(在d出窗口的右上角)可以查看。

问题二:什么是PLC扫描周期?试简述的工作过程。 扫描周期:是PLC每执行一遍从输入到输出所需的时间 工作过程是 1输入现场信号:在系统的控制下,顺序扫描各输入点,读入的输入点的状态 2顺序扫描用户程序中的各条指令,根据输入状态和指令内容进行逻辑运算 3并输出控制信号,根据逻辑运算的结果,输出状态寄存器向各输出点发出相应的控制信号实现所要求的逻辑控制功能

问题三:PLC的扫描周期是什么? PLC的扫描周期是指程序开始执行时PLC从第一条指令读到最后一条指令的时间,第二个扫描周期PLC又从第一条指令开始读到最后一条指令………一直循环读取,每次的扫描时间都会有所不同,也可以通过指令将扫描周期指定为固定的时间

问题四:什么是扫描周期?试简述的工作过程。 扫描周期:是PLC每执行一遍从输入到输出所需的时间工作过程是1输入现场信号:在系统的控制下,顺序扫描各输入点,读入的输入点的状态2顺序扫描用户程序中的各条指令,根据输入状态和指令内容进行逻辑运算3并输出控制信号,根据逻辑运算的结果,输出状态寄存器向各输出点发出相应的控制信号实现所要求的逻辑控制功能

问题五:求助一个初级问题,什么叫示波器的“扫描周期” 用扫描周期来表述感觉不如用扫描速度更直接,1mS/div就是扫描一格需要1mS,一屏是10格,那就是扫描一个周期为10mS。

问题六:什么是PLC的扫描周期? 程序从第一条指令开始,逐条顺序执行用户的程序直到程序结束。然后重新返回第一条指令,再开始下一次扫描;如此周而复始。整个工作过分为自诊断、通信服务、输入处理、程序执行这五个阶段。这5个阶段称之为扫描周期

问题七:什么是PLC扫描周期 程序从第一条指令开始,逐条顺序执行用户的程序直到程序结束。然后重新返回第一条指令,再开始下一次扫描;如此周而复始。整个工作过分为自诊断、通信服务、输入处理、程序执行这五个阶段。这5个阶段称之为扫描周期

问题八:PLC的一个扫描周期可分为哪几步? 输入采样,用户程序执行,输出刷新
望采纳。。。。

问题九:三菱一个扫描周期怎么解释 (1)PLC运行周期:1 读取外部输入点,把外部输入的状态送到输入寄存器(X区) 2 按顺序运行用户程序 3 将运行程序的输出寄存器(Y区)送到外部实际的输出点。
(2)一个程序周期就是程序是从头到尾按顺序执行一次,那么假如第10步M0被置On,第20步M0被置Off, 那么在这个扫描周期中,前10步M0是Off的,第10~20步中M0是on的,20步以后是Off的,程序结束的时候M0是Off的,会将这个状态保存到下个程序周期中开始执行。
分析你的程序段: X1上升沿的时候,假如Y0是off的,那么M0被置On,接下来Y0输出on,保存到下个循环。X1再来一次上升沿,这时Y0是on的,M0被置off,接下来Y0输出off,保存到下个循环。依次循环下去。
所以这段代码功能是: X1上升沿的时候,反转Y0 的状态。

当PLC处于正常运行时,它将不断重复扫描过程。分析上述扫描过程,如果对远程I/O、特殊模块和其他通讯服务暂不考虑,这样扫描过程就只剩下“输入采样”、“程序执行”和“输出刷新”三个阶段了。这三个阶段是PLC工作过程的中心内容,理解透PLC工作过程的这三个阶段是学习好PLC的基础。下面就对这三个阶段进行详细的分析。
 (1) 输入采样阶段
 PLC在输入采样阶段,首先扫描所有输人端点,并将各输入状态存入相对应的输入映像寄存器中。此时,输入映像寄存器被刷新。接着,进入程序执行阶段和输出刷新阶段,在此阶段输入映像寄存器与外界隔离,无论输入情况如何变化,其内容保持不变,直到下一个扫描周期的输人采样阶段,才重新写入输入端的新内容。所以一般来说,输人信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。
 由此可见,输入映像寄存器的数据完全取决于输入端子上各输入点在上一刷新期间的接通和断开状态。
 (2) 程序执行阶段
 根据PLC梯形图程序扫描原则,一般来说,PLC按从左到右、从上到下的步骤顺序执行程序。当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”采集到的对应输入端子状态,从元件映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后,进行相应的运算,运算结果再存入元件映像寄存器中。对元件映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。
 (3) 输出刷新阶段
 在所有指令执行完毕后,元件映像寄存器中所有输出继电器的状态(接通/断开)在输出刷新阶段转存到输出锁存器中,通过输出端子和外部电源,驱动外部负载。
 由此可见,输出映像寄存器的数据取决于输出指令的执行结果,输出锁存器中的数据由上一次输出刷新期间输出映像寄存器中的数据决定,而输出端子的接通和断开状态,完全由输出锁存器决定。
理论似乎很简单,但是实践起来是很难的,我之前是在东训学习的,那里提供实 *** 设备,老师也很负责,学起来不费力。

频率表示1s输出脉冲个数。。。
如果是周期性的话,可以根据脉宽长度,及低电平维持时间算出你所说的周期了。。。
如果每秒有100个脉冲,那么它的频率是100吗?(如果这样理解,那频率不就相当于速率了吗)
这个可以这么说,频率的概率其实就是每秒的的个数,只是没有速率这个叫法一说。。。。
另外,为什么经过频谱分析,它实际占有很多离散频率,怎么解释?
从模拟的角度来看,一个高电平,并不是稳定的,有可能是呈现一定频率的,但从数字信号来说,他总是一个高电平,从计算机的角度来看,可以不用考虑的
zjlabc127127 2010-01-27 22:07:55
你好,如果照你这么说,是频率越高,数据传输率越高?
频率越高,数据传输率的确越多,但一般数据传输并不是靠脉冲来计数的,像PC上的串口,是通过规定的波特率来计算传输速度的,如57600,即每秒传送57600个bit, 然后由采样样对数据端按57600的速度进行采样,从而取到数据。。。
而像I2C之类的接口,其数据传输并不是由双方规定的,而是数据传输时,一个口做为数据口,一个口做为时钟口,即输出一个方波,然后由采样端采样到高电平(或低电平,或高低换变等固定的状态)后去采样数据,从而得到数据


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10512664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存