【LabVIEW学习篇 - 13】:队列
队列队列通常情况下是一种先入先出(FIFO:First in First out)的数据布局,常用作数据缓存,通过队列布局可以包管数据有序的通报,克制竞争和辩说。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYTEwYjExNmE2MzFjNDQ2MjhmNWFjNmZiNDJkYzg0YjcucG5n
案例:利用队列,模仿两个通道举行数据收罗,缓存到队列中,终极对队列中的数据取出表现。
[*]在前面板中创建两个波形图表,并分别定名为CH1、CH2,再放置一个克制按钮;在步调框图中选中放置的控件,鼠标右键-表现为图标,接着放置三个while循环,并选中while循环,鼠标右键-表现项-子步调框图标签,并分别定名为 收罗通道 1、收罗通道 2、数据表现。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNjUyYzRjODA1ZTdjNDFmMTg4ZmYzNGNlYTkxNmE0ZjAucG5n
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNzliNTdlZTRhMGMzNDA3MjlkMzNkNDMzNmJkNjllYzUucG5n
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvOWVjZGM2MGFkZDg1NDNmMGEwY2VjZDY3Zjc0ZTkwOGIucG5n
[*]在步调框图中,创建一个簇常量,并在此中放置字符串常量和DBL数值常量,设置其标签分别为name、data。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvZmViMjVmODJiMmQxNDM2MGE1YjAzYmEwZjJjZDM2YzMucG5n
[*]在步调框图中,鼠标右键-同步-队列利用-获取队列引用,然后设置其名称为data,元素数据范例毗连到簇中。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYzlmMTZlZDlkMGRiNGIwMzkxYzgwZjhiYjhmYzY1MGUucG5n
[*]在步调框图中,鼠标右键-簇、类与变体-按名称捆绑,然后复制创建的簇,然后选中创建的簇,鼠标右键-将簇表现为图标,末了将其与按名称捆绑举行毗连,然后设置name的值为CH1,data的值为随机数x10。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYjU1YzYyZjc5ZmI0NDkxMGFhZDNhODI4MWYwNDVmYWMucG5n
[*]在步调框图中,鼠标右键-同步-队列利用-元素入队列,并将捆绑的簇毗连到元素入队列的元素接线端,其队列端毗连到获取队列引用的队列输出端,错误输出毗连到循环条件。末了定时为100ms.
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYzYzMGUzNTM5MDMzNGVmMmIwODA0NWI4YTJkMzA3NDIucG5n
[*]收罗通道 2的设置与收罗通道 1的类似,差别的是name的值为CH2。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvODcyNWIzMjQ5YTE4NDQwMWJkODc0ODg1NjFlMzljYmIucG5n
[*]在数据表现的while循环中放置一个变乱布局,并设置变乱为100ms,在步调框图中,鼠标右键-同步-队列利用-元素出队列,将其“队列”端毗连到队列输出,再鼠标右键-簇、类与变体-按名称排除捆绑,将其“输入簇”毗连到元素出队列的“元素端”,如许,按名称排除捆绑才气吸收到队列中的簇。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYTJhMGYwMTI5NmNmNDA0YWI5MWYzNjg0YjE4N2ZkMTIucG5n
[*]在超时变乱分支中再放置一个条件循环,其选择器线端毗连到name中,设置好条件分支分别为CH1、CH2,并传入data的数据给对应的波形图表。即获取出队列的元素,根据name判定是哪个波形图表的数据,末了传值。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNDM4MTQ4NWE4OWI3NDkzZDkzNjI4OGY0Njc2MjlmMDcucG5n
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvOTBlZWE1MDZiYzJmNGFjNDlhYWRkMDlkNjFhMGU1OWEucG5n
[*]添加变乱分支,为 “克制”:值改变。在该分支中开释队列引用。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvZDA5YTRlZmZhYzM1NDYwNWIxNGI2YTUwOTY5ZjBjYmYucG5n
[*]末了的步调展示。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNmIzZjI1MGNlNmExNDU5ZWI3Yjc5MzAwMjY5NmU0OTIucG5n
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYTkxZjc2MDM3NzE5NGM2OTk1ODlmZmQ2NDY5ZDEwMTYucG5n
[*]运行结果:
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvZTdmOGNmZmY4ODY0NGYwMGE2MGI4OWRhYTliZTA3ZGEucG5n
结果讨论:以上步调中,通过利用队列的缓存,将数据收罗和表现分离开。当我们收罗的数据比力快,比如1s中采几千个点,那么在处理惩罚中大概另有颠末许多盘算,处理惩罚的速率大概1s中只能处理惩罚几百个点,那么处理惩罚的速率跟不上收罗的速率,通过队列的缓存就可以处理惩罚这种来不及处理惩罚的标题。
假如说不消队摆列行缓存,比方直接在一个循环中对数据举行收罗,然后处理惩罚、表现,这时间处理惩罚的速率很慢,这时间收罗就须要等,会导致许多数据丢失。通过队列的缓存能有用的办理这种数据丢失的标题,纵然处理惩罚速率很慢,但是收罗的数据还是会放入队列中,不会丢失。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
页:
[1]