最近有不少做PLC开发的小伙伴,在一些咨询运动控制卡、运动控制器相关的问题,很多人不清楚它们之间有什么区别和联系,今天跟大家就PLC、运动控制卡、运动控制器区别及选型做个分享。
背景随着工业技术的发展,工业机器人应用越来越广泛,PLC也不再是简单的可编程逻辑控制器,各个品牌厂家都推出了自己的运动控制型PLC,来实现一些运动控制功能,与此同时,运动控制卡及运动控制器也在如火如荼地发展。
对一个电气工程师来说,如果我们的项目涉及到一些运动相关的控制,我们必然会提前选择好电机,如果要求精度比较高,一般会选择伺服电机,否则的话,我们可以选择步进电机来进行运动控制,但是,无论是步进电机还是伺服电机,一般都是和其对应的驱动器是配套的。那么后续的问题在于如何通过步进(伺服)驱动器进行步进(伺服)电机的控制呢?
方案一般来说,我们有以下几种方案:
1、 采用PLC进行控制,目前市场上的大部分PLC都是支持运动控制的,大部分PLC可以扩展到32轴,根据驱动器类型可以采用脉冲控制、总线控制或模拟量控制。
2、 采用运动控制卡控制,运动控制卡是专门进行运动控制的一种控制器,可以进行多达256轴的控制,运动控制卡需要PC编程。
3、 采用运动控制器控制,运动控制器与运动控制卡不同之处在于,可以脱离PC电脑的束缚,编写完程序下载到控制器里,即可直接对驱动器进行控制。
选择那么,我们究竟应该如何进行选择呢?首先我们来看一下他们的区别与联系。
首先,要明确一点,无论是PLC,还是运动控制器、运动控制卡,它们的本质都是一种控制器,主要负责自动化系统中运动轴的控制,同时也支持输入输出信号的控制。从区别来看,主要有以下几点:
1、 PLC的专长在于逻辑IO控制,实现一些复杂的逻辑控制都很容易。对于运动控制,一般低端的PLC主要是通过高速输出点来进行脉冲控制,中高端PLC一般会通过总线的方式来进行控制,常用的总线包括Profinet、EtherCAT、CC-Link等。
2、 运动控制卡通过PCI插槽将控制卡插在PC的主机上,也可以通过以太网连接到PC主机上;利用高级编程语言C++、C#、VB、VB.NET、labview等编程语言进行开发;编程中使用运动控制卡厂商提供的控制卡API接口函数,来实现对控制卡资源的使用;运动控制卡也分为脉冲型和总线型,一般总线型要比脉冲型稍贵一些。
3、 PLC具有工作可靠,编程简单等优点,但其运动控制功能相对简单。PLC的应用过程中主要通过PLC+HMI,这就导致可视化界面受到了一定的限制,因此现在基于PLC的上位机应用也越来越广泛;
4、 运动控制卡可以利用PC强大的功能,比如CAD功能、机器视觉功能、软件高级编程等;利用FPGA+DSP / ARM + DSP芯片的功能实现高精度的运动控制(多轴直线、圆弧插补等,运动跟随,PWM控制等)。
5、 运动控制器和运动控制卡的算法几乎一样,它们之间的主要区别在于运动控制卡需要依赖于PC编程,而运动控制器可以直接写程序并下载,这样就可以脱机运行。
6、 随着机器视觉的广泛应用,运动控制与机器视觉得到了良好的结合,相比之下,视觉项目采用运动控制卡能够节约很大的硬件成本。
总而言之,PLC相对来说更偏向于逻辑控制,而弱化于运动控制,而运动控制卡、运动控制器更偏向于运动控制,而弱化于逻辑控制,同时,运动控制卡和运动控制器对开发人员的门槛也要相对高一些,因此大家可以根据自己的实际情况,选择合适的解决方案。
直观认识为了让大家更直观认识PLC、运动控制卡和运动控制器,选了一些图片素材。
1、西门子PLC
2、三菱PLC
3、欧姆龙PLC
4、PCI运动控制卡
5、EtherNET运动控制卡
6、EtherCAT总线运动控制卡
7、EtherCAT运动控制器