集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 小舍YZ

数控系统内置式PLC的FPGA实现方法

[复制链接]
 楼主| 小舍YZ 发表于 2017-3-21 14:36:58 | 显示全部楼层
  针对数控系统中各种内置式PLC的实现方式。基于FPGA的解决方案在以下一些方面做了特别的处理:

  (1)复位问题。当FPGA一上电时,其内部的PLC逻辑即令其自身进入了一个自复位状态。此时如果没有外部MCU给予正确的操作指令。FPGA将不会进入其他任何状态。从而确保PLC不会产生任何的误动作。

  (2)响应时间。PLC程序会得到周而复始的执行,当输入状态(in image)改变时,输出状态会在下一个允许输出信号有效时(outputfresh=1)得到更新。PLC的最大响应周期取决于所执行的指令条数。对于绝大多数指令而言。PLC可在每个时钟周期执行一条语句。在最后一条语句执行完成后的下一个时钟上升沿输出得到刷新,同时在此刷新时钟周期内。PLC进行循环复位的初始化工作。最差的情况时。输入信号在上次采集刚刚结束后发生变化。需要在下一次采样并执行完成后才能反映到输出上。即响应时间为Tresponse=(PLC指令条数+1)×2×时钟周期,本文使用的时钟周期为50ns,因此有:Tresponse=(PLC指令条数+1)×2×50ns:受FPGA内部的EAB(Embedded Arrav B10ck。一种专门用来综合成RAM的内部资源)数量的限制。只能综合出约2k bvte RAM(除非设置必要的控制寄存器)。当执行约有2 000条PLC指令时。最大响应时间为0.2ms量级。
 楼主| 小舍YZ 发表于 2017-3-21 14:37:37 | 显示全部楼层
  对于一般以软件方式实现的PLC。多使用一个特定的任务来实现PLC逻辑控制功能。在嵌入式操作系统中。任务的上下文切换时间一般在斗s量级;而且随着系统中其他任务的就绪。PLC任务将面临被暂时挂起。在这种情形下。其响应时间将进一步变长。当然。如果使用高频率运行下的嵌入式处理器(60MHz以上),在指令条数较多时,其响应时间也可接受。但数控系统中的PLC功能一般都只实现对机床的简单逻辑控制。控制环境比较简单。指令条数有限。因此使用FPGA方式实现还是有其特有的优势的。
 楼主| 小舍YZ 发表于 2017-3-21 14:37:53 | 显示全部楼层
  (3)PLC运行阶段的可靠性。PLC是将编译后的可执行指令放到FPGA内部的RAM中运行。只要完成必要的配置。PLC便完全独立运行,不再需要外部MCU的干预。换言之,此时。即使MCU死机或程序跑飞,也不会影响正在执行中的PLC功能。因此。使用FPGA来实现PLC功能。对于提高数控系统的整体可靠性是有优势的。

  (4)PLC指令长度的支持。由于FPGA内部的EAB资源有限,因此能够容纳的PLC指令长度有限。同时。每次PLC运行前都必须由MCU将代码下载到FPGA中。然后才可控制PLC开始运行。即FPGA不能独自实现PLC功能。为了解决这一问题,可考虑为FPGA专门配置非易失性的存储器。比如Flash。这样不但可以扩大PLC指令长度。而且还可实现上电自动运行PLC程序。甚至不需要MCU的辅助和干预,但这将需=要诸如编程器之类的部件的支持。
 楼主| 小舍YZ 发表于 2017-3-21 14:38:42 | 显示全部楼层
5 结论与展望

本文叙述了一种新的方法——用FPGA实现数控系统内置式的PLC。并提供对标准PLC编程语言的支持,这是一个在体系结构上的大胆尝试。用FPGA实现的PLC模块相当于一个专用处理器。只不过根据PLC的特定应用场合,结合编译器的设计。可对其指令系统进行灵活的配置和架构的调整。这种实现方法还需要经过长期的应用。才能对其特性进行更广泛的检验:除了应用于数控系统中之外。这种设计方法稍加移植。便可应用于所有需要PLC功能的嵌入式控制环境中。

  在现代EDA设计方法下。使用FPGA实现PLC功能是在特定场合下行之有效的方法。随着EDA技术和EDA工具的发展。可能会出现许多新的思路和方法。比如。如果出现可以直接将PLC程序翻译成可综合的VHDL代码的工具。那就可以既便于一般用户使用。又能极大地发挥出FPGA的优势。

逆战 发表于 2017-3-21 15:54:51 | 显示全部楼层
              很不错!
大鹏 发表于 2017-3-21 17:59:20 | 显示全部楼层
机床数控系统由控制系统、伺服驱动系统和伺服电机组成!
zxopenljx 发表于 2020-7-9 09:28:14 | 显示全部楼层
数控系统内置式PLC的FPGA实现方法
zxopenljx 发表于 2023-10-27 17:44:32 | 显示全部楼层
数控系统内置式PLC的FPGA实现方法
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-6-1 23:28 , Processed in 0.073381 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表