一、系统构成概览 电葫芦系统核心由两台具备正反转功能的电动机驱动,用于实现重物的升降与水平移动。该系统通过PLC(可编程逻辑控制器)进行智能化控制。 升降机制:利用接触器KM1和KM2实现点动控制,分别驱动重物上升与下降。安全方面,设置了上下限位开关SQ1和SQ2,确保电葫芦在预设范围内运行。 行走机制:接触器KM3和KM4负责控制重物在水平方向上的左右移动,同样地,左右限位开关SQ3和SQ4用于防止电葫芦超出操作范围。 二、PLC控制逻辑详解 升降控制逻辑 PLC的输入信号X0与X2分别对应控制重物上升与下降的指令。 当接收到相应的输入信号时,PLC的输出点Y0和Y1被激活,分别驱动电葫芦上升或下降。 行走控制逻辑 PLC的输入信号X4与X6分别接收控制重物左移与右移的指令。 对应的,PLC的输出点Y2和Y3根据接收到的指令,控制电葫芦向左或向右移动。 系统实现流程 根据系统电气设计图纸,正确连接所有电路元件与PLC输入输出点。 编写并调试PLC控制程序,确保逻辑正确无误后,将其载入PLC中。 完成以上步骤后,PLC即可根据预设的逻辑对电葫芦进行精准控制,实现升降与行走功能。 通过上述解析,我们可以清晰地看到PLC在电葫芦控制系统中的核心作用,以及其如何通过接收指令、处理逻辑、输出控制信号,实现对电葫芦的智能化控制。
在PLC(可编程逻辑控制器)编程领域,结构化文本和梯形图是两种最为广泛使用的编程语言。对于初学者或缺乏相关背景的技术人员来说,从梯形图入手学习PLC编程无疑是一条捷径。这是因为,无论PLC的品牌如何,其梯形图的结构都与实际电气控制回路有着惊人的相似性。接下来,我们将介绍几种常见的控制电路,帮助大家回顾并深化对这一领域的理解。 1.启动、保持与停止电路 启动、保持与停止是PLC编程中的基础功能。通过四种不同的梯形图实现方式(如图a、b、c、d所示),我们可以清晰地看到如何实现这一功能。在这些梯形图中,x0代表启动信号,X1代表停止信号。图a和图c利用Y10的常开触点实现自锁保持,而图b和图d则通过SET和RST指令实现同样的效果。 2.多地控制电路 多地控制电路允许在不同位置对同一继电器线圈进行控制。在图例中,X0和X1是一个地方的启动和停止按钮,而X2和X3则是另一个地方的启动和停止按钮。这种设计在大型设备或需要远程控制的场景中尤为实用。 3.互锁控制电路 互锁控制电路确保在多个输出线圈中,每次只能有一个接通。在图例中,X0、X1和X2是启动按钮,X3是停止按钮。通过将Y0、Y1和Y2的常闭触点分别串联到其他两个线圈的控制电路中,实现了互锁功能。 4.顺序启动控制电路 顺序启动控制电路允许按照预定的顺序启动多个设备。在图例中,Y0的常开触点串联在Y1的控制回路中,这意味着Y1的接通必须以Y0的接通为前提。这种设计在需要按照特定顺序启动设备的场景中非常有用。 5.电机正反转电路 电机正反转电路是PLC编程中的一个重要应用。虽然具体的梯形图没有在此展示,但这一电路通常涉及对电机正转和反转的控制,以及必要的互锁和保护措施。 6.集中与分散控制电路 在由多台单机组成的自动线上,集中与分散控制是一种常见的需求。在图例中,x2为选择开关,其触点作为集中控制与分散控制的联锁触点。当X2为ON时,系统处于单机分散启动控制模式;当X2为OFF时,则切换为集中总启动控制模式。在两种模式下,单机和总操作台都可以发出停止命令。 通过了解这些常见的控制电路,我们可以更好地掌握PLC编程的基础知识和实际应用技巧。希望这篇文章能为初学者提供有益的指导和帮助。
1、介绍\x26amp;nbsp; \x26amp;nbsp; \x26amp;nbsp;IBUFDS原语、OBUFDS原语以及IOBUFDS都是
一. FOC之使用Cordic算法求解sin/cos 在进行坐标变换的时候,需要计算角度的正余弦值,而在FPGA中是不能直接进行求解的,需要采用其它的方式进行求解。最常使用的方法有如下两种: 基于ROM的查找表方式: 首先在PC上使用python等高级语言将一个周期内的正余弦值全部计算出来,角度的分辨率根据实际需求来确定,分辨率越精细,那么需要存储ROM的深度就越深,反之约小,然后将计算出来的正余弦值进行一个扩大取整保留数据精度,最后按照角度顺序依次存入ROM中。很明显,通过这种方式计算正余弦值所需要的时钟周期特别短,消耗FPGA的存储资源大。 基于Cordic算法计算: Cordic算法并不直接求解正余弦值,而且通过旋转逼近的思想来进行拟合正余弦函数。该算法拟合的精度非常高,因而被广泛应用于计算机图形学、数字信号处理等领域。 Cordic算法运算过程中,只设计到移位和加减运算,这种运算是非常适合于FPGA的,从面积和计算速度两方面进行综合考虑,最终选择占用面积较小、计算速度略低的Cordic算法来求解sin/cos函数值。 首先如下图所示,假设单位圆上有任意两点Q和P,它们之间的角度关系已知,则它们的XY轴坐标可以表示如下: 将Q点的坐标公式进行展开,然后再将P点的坐标公式代入其中可得: 为了统一变量类型,将cos函数作为公共相提取出来,可以得到如下形式: 可以看出,由P点旋转至Q点后,Q点的最终表达式如上所示,这种形式便是Cordic算法旋转的基本公式了。如果将旋转初始点P设置为一个特殊位置:X轴上,那么很明显Q点的坐标值就是对应旋转角度的正余弦值。 有了上述基本推论,就可以开始真正的进行旋转拟合了。P点直接一步旋转到Q点,肯定是不可取的。如果将P点经过多次旋转,每一次旋转的角度均为特殊角度,tan函数对应的角度值如下,这样就将乘法运算巧妙的转换成了左移运算。 每一次旋转迭代的公式如下,每一次旋转的公式里面还包括了cos函数,这也是不方便在FPGA内计算的,观察表达式可以知道,cos函数在这里起到的作用是对坐标值起到等比例缩放的作用,并不会影响旋转的点对应向量的方向。 所以可以将每一次旋转过程中的cos函数提取出来,最后进行运算,这样就不用参与到每次的旋转计算中去,由于旋转的角度是已知的,所以当确定好旋转次数后,可以将这部分运算提取计算出来,作为一个系数K,K的表达式如下图所示。 接下来就是需要研究每次旋转对应的角度值了,角度对应的tan函数值是已知的,可以通过Python直接求解出对应的角度,然后汇总成如下表格: 通过上表可以看出,当旋转到16次的时候,角度的误差只有千分之一了,而cosβ和K的值均趋近于一个定值,故Cordic旋转拟合是收敛的。在旋转的过程中,可能会出现旋转角度大于目标角度的情况,所以在旋转的过程中还需要增加一个变量d来控制旋转的方向,另外用z来表示旋转到的角度值,最终的旋转迭代公式如下: 最终目标角度的正余弦值如下: FPGA内部实现的过程中,需要对旋转角度值以及K值扩大2^16次方,然后取整,为的是在保持计算精度的情况下,免去数据的小数部分,这些都是固定值,不会根据目标角度的变化而变化,可以在程序中直接定义出来,如下图所示。 另外还要一个关键点需要注意的是迭代公式中使用的是tan函数,需要对目标角度限制在-90°到90°范围内,所以在目标角度输入模块之后,需要先对角度进行一个象限变换,为了处理的方便,本设计将目标角度变换到第一象限内,也就是0°到90°,如下图所示,象限变换不会影响正余弦数组的大小,只会影响其数值的符号,所以在迭代完成后,根据需要对坐标点进行取反运行即可。
一、Intel CvP 简介CvP(Configuration via Protocol)是一种通过协议实现配置的方案, Arria® V,Cyclone® V,Stratix® V,Arria® 10,Cyclone® 10 GX,Stratix® 10,Agilex™都支持这个功...
1、综合读写模块(无FIFO)\x26amp;nbsp; \x26amp;nbsp; \x26amp;nbsp;在前六篇SDRAM系列博文中,我们对S
在PLC(可编程逻辑控制器)编程领域,结构化文本和梯形图是两种最为广泛使用的编程语言。对于初学者或缺乏相关背景的技术人员来说,从梯形图入手学习PLC编程无疑是一条捷径。这是因为,无论PLC的品牌如何,其梯形图的结构都与实际电气控制回路有着惊人的相似性。接下来,我们将介绍几种常见的控制电路,帮助大家回顾并深化对这一领域的理解。 1.启动、保持与停止电路 启动、保持与停止是PLC编程中的基础功能。通过四种不同的梯形图实现方式(如图a、b、c、d所示),我们可以清晰地看到如何实现这一功能。在这些梯形图中,x0代表启动信号,X1代表停止信号。图a和图c利用Y10的常开触点实现自锁保持,而图b和图d则通过SET和RST指令实现同样的效果。 2.多地控制电路 多地控制电路允许在不同位置对同一继电器线圈进行控制。在图例中,X0和X1是一个地方的启动和停止按钮,而X2和X3则是另一个地方的启动和停止按钮。这种设计在大型设备或需要远程控制的场景中尤为实用。 3.互锁控制电路 互锁控制电路确保在多个输出线圈中,每次只能有一个接通。在图例中,X0、X1和X2是启动按钮,X3是停止按钮。通过将Y0、Y1和Y2的常闭触点分别串联到其他两个线圈的控制电路中,实现了互锁功能。 4.顺序启动控制电路 顺序启动控制电路允许按照预定的顺序启动多个设备。在图例中,Y0的常开触点串联在Y1的控制回路中,这意味着Y1的接通必须以Y0的接通为前提。这种设计在需要按照特定顺序启动设备的场景中非常有用。 5.电机正反转电路 电机正反转电路是PLC编程中的一个重要应用。虽然具体的梯形图没有在此展示,但这一电路通常涉及对电机正转和反转的控制,以及必要的互锁和保护措施。 6.集中与分散控制电路 在由多台单机组成的自动线上,集中与分散控制是一种常见的需求。在图例中,x2为选择开关,其触点作为集中控制与分散控制的联锁触点。当X2为ON时,系统处于单机分散启动控制模式;当X2为OFF时,则切换为集中总启动控制模式。在两种模式下,单机和总操作台都可以发出停止命令。 通过了解这些常见的控制电路,我们可以更好地掌握PLC编程的基础知识和实际应用技巧。希望这篇文章能为初学者提供有益的指导和帮助。
本文将使用 ADI 最新的 AD9094-1000EBZ 和 Intel 的 FPGA Arria10 gx Development Kit,搭建基于 10G 的 JESD204B 测试环境。重点阐述如何搭建演示系统,相关的测试demo使用教程,以及相关...