通用小型可编程控制器及其控制方法

文档序号:6282062阅读:234来源:国知局
专利名称:通用小型可编程控制器及其控制方法
技术领域
本发明涉及一种工业通用自动控制装置,尤其涉及一种基于CAN现场总 线、嵌入式微处理器ARM+FPGA组成的通用小型可编程控制器(PLC)及其 控制方法。
技术背景目前,小型PLC是开关量输入输出为256点以下的PLC,是一种主要用于 工业设备顺序控制的通用自动控制装置,通常以各公司专门设计的Soc芯片或 应用单片机为控制核心,用户根据被控对象的需要灵活配置和选择各种输入输 出扩展模块,小型PLC具有强大的顺序逻辑控制功能;但由于生产小型PLC 的各公司在小型PLC主机与各种扩展模块之间的连接采用各自的总线标准,使 得其扩展的各种输入输出扩展模块必须安装在各自公司设计的导轨上、或与小 型PLC的CPU模块必须是近距离的,小型PLC主机及其扩展的各种输入输出 扩展模块只能够安装在一个电柜中,如果一台小型PLC控制的被控对象的检测 点和控制点在设备中比较分散,部分检测点和控制点距离电柜较远,将会导致 被控对象的检测点和控制点到小型PLC的连接导线长; 一台小型PLC只能配 置一个人机界面模块;另外,虽然大部分小型PLC可以与各自公司的PLC集 成控制系统通过现场总线连接,作为下位机用于现场控制装置,其输入输出扩 展模块可以配置A/D、 D/A模块实现PID算法控制,但小型PLC难以将更为复 杂的控制算法嵌入到PLC程序中来实现对复杂控制对象的自动控制。 发明内容本发明的目的在于提供一种能够实现对复杂对象的控制、灵活配置输入输 出扩展模块、各功能模块可以安装在不同的电柜中、在被控对象的检测点与控 制点距离较远的情况下方便地实现多点监控、并可配置多个人机界面模块的通 用小型可编程控制器,以克服上述已有技术的不足;本发明还提供了上述通用 小型PLC的控制方法,其中,编制专用子程序向FPGA可重构控制算法协处理 器传输控制参数和控制FPGA可重构控制算法协处理器中的控制算法结果的输 出,使得控制算法的计算时间不占用通用小型PLC执行程序的时间。
为解决上述技术问题,本发明所采用的技术方案是 一种基于CAN现场 总线、嵌入式微处理器ARM+FPGA组成的通用小型可编程控制器,包括可编 程装置、PLC主机、人机界面模块和CAN总线;PLC主机包括嵌入式微处理器ARM、模拟量输入输出模块、数字量输入 输出模块、FLASH存储器、SDRAM存储器、EEPROM存储器和FPGA可重 构控制算法协处理器,嵌入式微处理器ARM作为控制核心,分别与模拟量输 入输出模块、数字量输入输出模块、FLASH存储器、SDRAM存储器、EEPROM 存储器和FPGA可重构控制算法协处理器连接,FPGA可重构控制算法协处理 器与嵌入式微处理器ARM的输入输出I/O端口连接,嵌入式微处理器ARM向 FPGA可重构控制算法协处理器提供控制设置值、数据采集值及控制参数,并 从FPGA可重构控制算法协处理器获得控制输出驱动参数;FPGA可重构控制 算法协处理器中配置有多种控制算法,这些控制算法作为子程序模块嵌入到小 型可编程控制器的程序中作为功能模块调用;FLASH存储器用于固化系统程 序、PLC指令解释程序以及固化的数据表格;SDRAM存储器是闪存储器,用 作输入输出映像寄存器、元件映像寄存器、元件寄存器,并存储中间计算结果、 用户程序;EEPROM存储器存储各种需要失电保持的数据和PLC主机的运行 状态;PLC主机通过其CAN接口与CAN总线连接,CAN接口由顺序连接的 收发器、光隔和CAN控制器组成,嵌入式微处理器ARM通过CAN总线获得 用户编写的指令程序和监控命令、从人机界面模块获得被控对象设备的运行控 制参数和控制命令、并传输PLC主机用户编写的指令程序和控制参数、向人机 界面模块传输被控对象设备运行的数字量和模拟量状态参数和控制驱动参数;包括上位机和手持编程器的可编程装置通过其内置的CAN接口与CAN总 线连接,从而将用户在可编程装置上编写的用户指令程序下载到PLC主机的 ARM微处理器中,并从CAN总线获取PLC主机的运行状态、读取PLC主机 的用户程序、向PLC主机系统发送控制指令以实现对通用小型可编程控制器的 监控;人机界面模块通过其内置的CAN接口与CAN总线连接,从而与嵌入式微 处理器ARM相互传输信息,以获得被控对象设备的运行状态信息、并通过CAN 总线传输被控对象设备的运行控制参数和控制命令、显示系统实时运行参数、 参数状态曲线、以及显示设置系统运行参数、控制参数、控制命令,人机界面 模块配置数量为n, Kn《4;CAN总线是PLC主机、可编程装置、人机界面模块各组成部分之间互相 传输、交换数据的中间媒体,各模块通过其内置的CAN接口与CAN总线连接, 所述的各CAN接口均由顺序连接的收发器、光隔和CAN控制器组成,各收发 器一端与CAN总线连接,各CAN控制器的另一端分别与PLC主机、可编程 装置和人机界面模块相连,从而使得各功能模块能够安装在同一个电柜中或不 同的电柜中或安装在被控设备的不同部位上;PLC主机的数字量输入输出模块由FPGA扩展1/0、光电隔离器、16 64 点数字量输入、16 64点数字量输出组成;嵌入式微处理器ARM与FPGA扩 展I/0连接,FPGA扩展I/0与光电隔离器连接,光电隔离器通过接线端子分别 与16 64点数字量输入和16 64点数字量输出连接;所述FPGA扩展I/O的 FPGA能够灵活配置数字量的输入输出点数,数字量输入点数以16点为单位配 置,可以配置为16或32或48或64;数字量输出点数以16点为单位配置,可 以配置为16或32或48或64,最大配置达到数字量输入输出128点。PLC主机的模拟量输入输出模块由A/D输入接口、 8路模拟量放大输入、 D/A芯片、4路模拟量驱动输出组成;嵌入式微处理器ARM、 A/D输入接口、 8路模拟量放大输入顺序连接,8路模拟量放大输入通过接线端子与被控对象检 测与驱动电路连接,从而构成数据采集通道;嵌入式微处理器ARM、 D/A芯片、 4路模拟量驱动输出顺序连接,4路模拟量驱动输出通过接线端子与被控对象检 测与驱动电路连接,从而构成控制驱动输出通道;FPGA可重构控制算法协处 理器与嵌入式微处理器ARM连接,构成控制器;模拟量输入输出模块和嵌入 式微处理器ARM,以及FPGA可重构控制算法协处理器组成闭环控制电路。本发明还提供了该通用小型PLC的控制方法,即是利用本发明上述由嵌入 式微处理器ARM+FPGA组成的通用小型可编程控制器,应用嵌入式微处理器 ARM、模拟量输入输出模块、数字量输入输出模块、FLASH存储器、SDRAM 存储器、EEPROM存储器和FPGA可重构控制算法协处理器,对存储器进行分 配,应用C语言编制系统程序、用户程序的编译程序、CAN总线数据通讯子 程序,针对FPGA可重构控制算法协处理器,设置FPGA可重构控制算法协处 理器的命令;编制专用子程序实现向FPGA可重构控制算法协处理器传输控制 参数和控制FPGA可重构控制算法协处理器中的控制算法结果的输出;在FPGA 可重构控制算法协处理器中编制智能控制算法或其它的控制算法,使得控制算 法的计算时间不占用通用小型PLC执行程序的时间;其步骤包括
步骤l、控制程序初始化对PLC主控制器、用于配置扩展I/0口的FPGA和 用于实现智能控制算法的FPGA进行初始化;步骤2、控制程序执行数据准备对存储器进行分配;将D数据寄存器、部 分M特殊辅助继电器值从EEPROM拷贝到SDRAM中,然后将用户编写的梯形图 程序从Norflash拷贝到SDRAM中,最后读入外部数字量输入1/0 口元件状态并将 它写入输入映象寄存器中;步骤3、控制程序执行CPU对用户程序进行编译,其中根据判断条件进 行PLC对FPGA的参数传输控制;调用FPGA控制算法及其他控制算法,将输出 映象区的内容送到数字量瑜出I/0口对应的寄存器中,驱动执行机构实现控制;步骤4、控制数据传输将系统运行的状态参数通过CAN总线传输到监控 系统中。由于采用以上结构,本发明之通用小型可编程控制器及其控制方法具有以 下有益效果一、 能够实现复杂被控对象的自动控制本发明是基于CAN现场总线、嵌入式微处理器ARM+FPGA组成的通用 小型可编程控制器,该小型可编程控制器以嵌入式微处理器ARM为控制核心, 以FPGA为可重构控制算法协处理器,FPGA可重构控制算法协处理器与嵌入 式微处理器ARM的输入输出I/O端口连接,嵌入式微处理器ARM向FPGA可 重构控制算法协处理器提供控制设置值、数据采集值及控制参数,并从FPGA 可重构控制算法协处理器获得控制输出驱动参数;在FPGA中配置先进的控制 算法,如先进的PID、模糊控制,神经网络算法等,这些控制算法作为子程序 模块嵌入到PLC的程序中作为功能模块调用;并且,FPGA可重构控制算法协 处理器的控制算法的运算不会占用PLC程序的执行时间,因此能够轻松实现对 复杂控制对象的自动控制。二、 灵活配置输入输出扩展模块,输入输出扩展模块可以安装在不同的电 柜中在本发明中,CAN总线是各组成模块之间互相传输、交换数据的中间媒体, 各模块通过其内置的CAN接口与CAN总线连接,并通过CAN总线实现数据 交换和通讯,同时在控制方法中采用了 CAN通讯中断处理过程,使得扩展的 输入输出功能模块通过CAN总线与系统连接,每个扩展模块能够安装在不同 的电柜中或安装在靠近被控对象控制点和检测点的部位上,大大减少连接导线
的长度和数量,并很好的解决了在被控对象的检测点与控制点距离较远的情况 下的多点监控问题。三、 可以配置多个人机界面模块由于本发明之通用小型可编程控制器中各功能模块均通过CAN总线实现 数据交换和通讯,使得人机界面模块通过CAN总线与系统连接,因此用户可 以根据被控对象现场的需求来选择多个人机界面模块,便于用户监控被控对象 控制系统的运行状态。四、 系统性价比高本发明以嵌入式微处理器ARM为控制核心,FPGA为可重构控制算法协 处理器,在FPGA中配置先进的控制算法,应用FPGA配置数字量输入输出口 , 并且各功能模块通过CAN现场总线与系统连接起来,各模块通过其内置的 CAN接口与CAN总线连接,CAN总线是各模块之间互相传输、交换数据的中 间媒体,使得各功能模块能够安装在同一个电柜中或不同的电柜中或安装在被 控设备的不同部位上,大大提高了各功能模块安装位置的灵活性,使得该小型 可编程控制器的控制功能与性能增强,具备较高的性价比。下面结合附图和实施例对本发明之通用小型可编程控制器及其控制方法 之技术特征作进一步的说明。


图1:本发明之通用小型可编程控制器的系统结构框图; 图2:本发明之通用小型可编程控制器的硬件连接图; 图3:本发明之通用小型可编程控制器的控制方法的系统总体流程图; 图4:本发明之通用小型可编程控制器的控制方法的存储器分配框图;-图5:本发明之通用小型可编程控制器的控制方法的A/D定时中断数据采 集流程图;图6:本发明之通用小型可编程控制器的控制方法的CAN通讯中断处理流 程图;图7:本发明之通用小型可编程控制器的控制方法的PLC用户程序编译流 程图;图8:本发明之通用小型可编程控制器的控制方法的PLC对FPGA参数传 输控制流程图;图9:本发明之通用小型可编程控制器的控制方法的FPGA控制算法流程
图;图10:本发明之通用小型可编程控制器的控制方法的PLC对FPGA参数 传输控制的梯形图; 图中I一上位机,II一PLC主机,III—手持编程器,IV—人机界面模块, V—扩展模块,VI—CAN总线,IIA—模拟量输入输出模块, IIB—数字量输入输出模块,VIA—CAN接口 , 1—嵌入式微处理器ARM, 2—FLASH存储器,3—SDRAM存储器, 4一A/D输入接口, 5—8路模拟量放大输入,6—D/A芯片, 7—4路模拟量驱动输出,8、 12—接线端子,9一被控对象检测与驱动电路, 10—FPGA扩展I/0, 11—光电隔离器,13—16 64点数字量输入, 14一16 64点数字量输出,15—CAN控制器,16—光隔,17—CAN收发器, 18—FPGA可重构控制算法协处理器,19—EEPROM;PLC—Programmable Logical Controller,可编程逻辑控制器,简称可编程控制器; CAN—Controller Area Network,控制器局域网, 一种现场总线; FPGA—Field Programmable Gate Array,现场可编程门阵列; ARM—Advanced RISC Machines, —种微处理器;SPI—Service Provider Interface,服务提供商接口 ,满足某种服务标准的供应商提供的符合该标准的应用程序接口。
具体实施方式
实施例一一种通用小型可编程控制器,包括上位机I、 PLC主机II、手持编程器III、 人机界面模块IV和CAN总线V。PLC主机II包括嵌入式微处理器ARM1、模拟量输入输出模块IIA、数字 量输入输出模块IIB、 FLASH存储器2、 SDRAM存储器3、 EEPROM存储器 19和FPGA可重构控制算法协处理器18,嵌入式微处理器ARMl作为控制核 心,分别与模拟量输入输出模块IIA、数字量输入输出模块IIB、 FLASH存储 器2、 SDRAM存储器3、 EEPROM存储器19和FPGA可重构控制算法协处 理器18连接,FPGA可重构控制算法协处理器18与嵌入式微处理器ARMl的 输入输出I/O端口连接,嵌入式微处理器ARMl向FPGA可重构控制算法协处 理器18提供控制设置值、数据采集值及控制参数,并从FPGA可重构控制算 法协处理器18获得控制输出驱动参数;FPGA可重构控制算法协处理器18中 配置有多种控制算法,如先进的PID、模糊控制,神经网络算法等,这些控制 算法作为子程序模块嵌入到PLC的程序中作为功能模块调用,FPGA可重构控 制算法协处理器18的控制算法的运算不占用PLC程序的执行时间;PLC主机 II通过其CAN接口 VIA与CAN总线VI连接,CAN接口 VIA由顺序连接的 收发器17、光隔16和CAN控制器15组成,嵌入式微处理器ARM1通过CAN 总线VI获得用户编写的指令程序和监控命令、从人机界面模块IV获得被控对 象设备的运行控制参数和控制命令、并传输PLC主机II用户编写的指令程序和 控制参数、向人机界面模块IV传输被控对象设备运行的数字量和模拟量状态 参数和控制驱动参数;嵌入式微处理器ARM1的总线与FLASH存储器2连接, FLASH存储器2用于固化系统程序、PLC指令解释程序以及固化的数据表格; 嵌入式微处理器ARM1的总线与SDRAM存储器3连接,SDRAM存储器3是 闪存储器,用作输入输出映像寄存器、元件映像寄存器、元件寄存器,并存储 中间计算结果、用户程序;EEPROM存储器存储各种需要失电保持的数据和 PLC主机II的运行状态;PLC主机II的模拟量输入输出模块IIA由A/D输入接口 4、 8路模拟量放 大输入5、 D/A芯片6、 4路模拟量驱动输出7组成;嵌入式微处理器ARM1、 A/D输入接口 4、 8路模拟量放大输入5顺序连接,8路模拟量放大输入5通过 接线端子8与被控对象检测与驱动电路9连接,从而构成数据采集通道;嵌入 式微处理器ARM1、 D/A芯片6、 4路模拟量驱动输出7顺序连接,4路模拟量 驱动输出7通过接线端子8与被控对象检测与驱动电路9连接,从而构成控制 驱动输出通道;FPGA可重构控制算法协处理器18与嵌入式微处理器ARM1 连接,构成控制器;模拟量输入输出模块IIA和嵌入式微处理器ARM1,以及 FPGA可重构控制算法协处理器18组成闭环控制电路。PLC主机n的数字量输入输出模块IIB由FPGA扩展1/010、光电隔离器 11、 16 64点数字量输入13、 16 64点数字量输出14组成;嵌入式微处理器 ARM1与FPGA扩展I/O10连接,FPGA扩展I/O10与光电隔离器11连接,光 电隔离器11通过接线端子12分别与16 64点数字量输入13和16 64点数字 量输出14连接;所述FPGA扩展I/O10的FPGA能够灵活配置数字量的输入输 出点数,数字量输入点数以16点为单位配置,可以配置为16或32或48或64; 数字量输出点数以16点为单位配置,可以配置为16或32或48或64,最大配
置达到数字量输入输出128点。上位机I、手持编程器UI都是一种可编程装置。上位机I通过其内置的CAN接口与CAN总线VI连接,从而将用户在上 位机I上编写的用户指令程序下载到PLC主机II的嵌入式微处理器ARM1中、 并从CAN总线VI获取PLC主机n的运行状态、读取PLC主机n的用户程序,以及向PLC主机n系统发送控制指令,以实现对小型可编程控制器的监控;上位机I不与CAN总线VI连接,不影响小型可编程控制器的运行。手持编程器III通过其内置的CAN接口与CAN总线VI连接,手持编程器 III是提供给用户编制指令程序,修改指令程序,监控小型可编程控制器运行状 态的功能模块,手持编程器m向CAN总线VI传输用户编写的指令程序和监 控命令,并从CAN总线VI获得小型可编程控制器的运行状态信息,如果手持 编程器III不与CAN总线VI连接,不影响小型可编程控制器的运行。人机界面模块IV是监控整个被控对象设备运行状况的功能模块;人机界 面模块IV通过其内置的CAN接口与CAN总线VI连接,从而与嵌入式微处理 器ARM1相互传输信息,以获得被控对象设备的运行状态信息、并通过CAN 总线VI传输被控对象设备的运行控制参数和控制命令、显示系统实时运行参 数、参数状态曲线、以及显示设置系统运行参数、控制参数、控制命令,用户 可以根据需要配置多个人机界面模块,人机界面模块IV可以配置n个,l《n 《4,即人机界面模块IV1、人机界面模块IV2、人机界面模块IV3、人机界面 模块IV4,每个人机界面模块的功能相同,能够安装在同一个电柜中或不同的 电柜中或安装在被控设备的不同部位上。CAN总线VI是PLC主机II、上位机I、手持编程器III、人机界面模块IV 互相传输、交换数据的中间媒体,CAN总线VI与上位机I、手持编程器III、 人机界面模块IV通过各个模块内置的CAN接口连接,使得小型可编程控制器 的各功能模块能够安装在同一个电柜中或不同的电柜中或安装在被控设备的不 同部位上。所述的各CAN接口均由顺序连接的收发器17、光隔16和CAN控制器15 组成,各收发器17—端与CAN总线VI连接,各CAN控制器15的另一端分 别与PLC主机II、上位机I、手持编程器III和人机界面模块IV相连。以上是本发明的实施方式之一。作为本发明实施例的一种变换,该小型可编程控制器的可编程装置也可以 是只有上位机I或只有手持编程器III,当只有上位机I时,对于用户在现场修 改程序不太方便,而只有手持编程器III,虽然方便用户在现场修改程序,但由 于受手持编程器III本身功能制约,其编程的速度及功能受限。作为本发明实施例的又一种变换,该小型可编程控制器还可通过增加扩展模块V来增加模拟量输出模块路数,所述扩展模块V通过其内置的CAN接口 与CAN总线VI连接,使得该模块能够安装在同一个电柜中或不同的电柜中或 安装在被控设备的不同部位上,以减少连接导线的长度和数量,扩展模块V可 配置数量为m, l《m《10,即扩展模块V1、…、扩展模块Vi、…、扩展模块 V10;扩展模块V是扩展小型可编程控制器的数字量输入输出点数以及模拟量 输入输出路数的功能模块,其可以是数字量输入模块或数字量输出扩展功能模 块,也可以是模拟量输入模块或模拟量输出模块,若是数字量输入扩展功能模 块,数字量输入点数以16点为单位配置,可以配置为16或32或48或64或 80或96或112或128;若是数字量输出扩展功能模块,数字量输出点数以16 点为单位配置,可以配置为16或32或48或64或80或96或112或128;小 型可编程控制器数字量输入输出的点数k-数字量输入输出模块IIB的输入输出 点数+扩展模块V数字量的输入输出点数,所述小型可编程控制器模拟量输 入路数h耐莫拟量输入输出模块IIA的输入路数+扩展模块V的模拟量输入模 块路数,小型可编程控制器模拟量输出路数§=模拟量输入输出模块IIA的输 出路数+扩展模块V的模拟量输出模块路数,上述参数中,k《256点、h《24、 g《12。PLC主机II的嵌入式微处理器ARM1的SPI与CAN接口 VIA连接,CAN 接口 VIA与CAN总线VI连接,嵌入式微处理器ARM1通过CAN总线VI从 上位机I或手持编程器III获得用户编写的指令程序和监控命令、从人机界面模 块IV获得被控对象设备的运行控制参数和控制命令、从扩展模块V获得数字 量输入状态和模拟量采集的数据;嵌入式微处理器ARM1通过CAN总线VI 向上位机I或手持编程器III传输PLC主机II的用户编写的指令程序和控制参 数;向人机界面模块IV传输被控对象设备运行的数字量和模拟量状态参数和 控制驱动参数;向扩展模块V传输数字量输出状态和模拟量控制驱动参数。实施例二一种通用小型PLC的控制方法,是利用本发明上述由嵌入式微处理器ARM 十FPGA组成的通用小型可编程控制器,应用嵌入式微处理器ARM、模拟量输
入输出模块、数字量输入输出模块、FLASH存储器、SDRAM存储器、EEPROM 存储器和FPGA可重构控制算法协处理器,对存储器进行分配;应用C语言编制 系统程序、用户程序的编译程序、CAN总线数据通讯子程序,针对FPGA可重 构控制算法协处理器,设置FPGA可重构控制算法协处理器的命令;编制专用 子程序实现向FPGA可重构控制算法协处理器传输控制参数和控制FPGA可重 构控制算法协处理器中的控制算法结果的输出;在FPGA可重构控制算法协处 理器中编制智能控制算法或其它的控制算法,使得控制算法的计算时间不占用 通用小型PLC执行程序的时间。该控制方法包括以下步骤步骤l、控制程序初始化对PLC主控制器、用于配置扩展I/0口的FPGA和 用于实现智能控制算法的FPGA进行初始化;步骤2、控制程序执行数据准备对存储器进行分配;将D数据寄存器、部 分M特殊辅助继电器值从EEPROM拷贝到SDRAM中,然后将用户编写的梯形图 程序从Norflash拷贝到SDRAM中,最后读入外部数字量输入1/0口元件状态并将 它写入输入映象寄存器中;步骤3、控制程序执行CPU对用户程序进行编译,其中根据判断条件进行 PLC对FPGA的参数传输控制。调用FPGA控制算法及其他控制算法,将输出映 象区的内容送到数字量输出1/0口对应的寄存器中,驱动执行机构实现控制;步骤4、控制数据传输将系统运行的状态参数通过CAN总线传输到监控 系统中。具体步骤为(参见图3):Sl: PLC主控制器启动,完成初始化;S2:将保存在主控制器、用来配置FPGA启动工作的配置文件传输到用来 配置扩展I/0口的FPGA和用来实现智能控制算法的FPGA中,完成两个FPGA的 初始化工作;S3:将D数据寄存器、部分M特殊辅助继电器值从EEPROM拷贝到SDRAM中;S4:将用户编写的梯形图程序从Norflash拷贝到SDRAM中; S5:读入外部数字量输入I/0口元件状态,并将它写入输入映象寄存器中; S6- CPU对用户程序进行编译,其中根据判断条件进行PLC对FPGA的参数 传输控制;S7:调用FPGA控制算法及其他控制算法,将输出映象区的内容送到数字
量输出I/0口对应的寄存器中,驱动执行机构实现控制;S8:将系统运行的状态参数通过CAN总线传输到监控系统中;S9:判断系统是否停止运行,如果否,则跳转回步骤S5; S10:结束。其中,在步骤2—控制程序执行数据准备、步骤3 —控制程序执行和步骤4 一控制数据传输,即在控制方法具体步骤S2至S9中的A/D定时中断数据采集 过程的具体步骤如下(参见图5):Sah定时时间到进入中断子程序;Sa2:关中断;Sa3: A/D采集外部数据,进行模数转换,并把转换得到的数字量传送到 FPGA中进行处理;Sa4:开中断并返回。在步骤2—控制程序执行数据准备、步骤3—控制程序执行和步骤4一控制 数据传输,即在控制方法具体步骤S2至S9中的CAN通讯中断处理过程的具 体步骤如下(参见图6):SM:关中断;Sb2:接收手持编程器通过CAN总线发过来的数据; Sb3:接收完毕后,开中断并返回。在步骤3—控制程序执行,即控制方法具体步骤S6中的CPU对用户程序进行编译的步骤如下(参见图7):Scl: CPU从SDRAM用户程序第一条指令地址处读指令;Sc2:判断指令编码是否等于LD编码,如果是,则调用LD的子程序并进入步骤Sc5;Sc3:判断指令编码是否等于AND编码,如果是,则调用AND的子程序并进入步骤Sc5;Sc4:判断指令编码是否等于ORB编码,如果是,则调用ORB的子程序并进入步骤Sc5;Sc5:判断指令编码是否等于其他的基本指令编码或功能指令编码,如果是, 则调用相应的指令子程序并进入步骤Sc6,如果否,则继续进行判断直至所有 基本指令编码和功能指令编码判断完毕;Sc6:取下一条指令的编码;Sc7:判断指令编码是否等于END编码,如果否,则跳转回步骤Sc2; Sc8:判断指令编码是否等于FPGA控制编码,如果是,调用PLC对FPGA 参数传输控制子程序,如果否,调用END子程序; Sc9:返回步骤Scl。上述的END子程序包括输出元件处理、定时器、计数器或功能指令处理 的子程序,上述四个子程序为所属领域技术人员所公知的程序,此处不再赘述。 在步骤3—控制程序执行,即控制方法具体步骤S6中的PLC对FPGA的参数传输控制的步骤如下(参见图8):Sdh判断指令编码是否为FPGA控制编码,如果否,跳转到步骤Sd6; Sd2:调用传输子程序,将控制给定设置值传输到控制参数存储器; Sd3:调用传输FPGA子程序,将控制给定设置值传输到FPGA; Sd4:调用传输子程序,将控制参数设置值传输到控制参数存储器; Sd5:调用传输FPGA子程序,将控制参数设置值传输到FPGA;Sd6:执行其它指令解释程序;(执行其它的程序指令,例如多个完整的逻辑运算和输出指令,即向FPGA传输输入数据后,FPGA还有计算时间,插 入其它指令保证FPGA计算完成之后才取结果。)Sd7:判断指令编码是否为FPGA控制编码,如果否,跳转到步骤Sd9;Sd8:调用控制结果控制子程序,启动控制结果存储器的数据传输;Sd9:返回。在步骤3—控制程序执行,即控制方法具体步骤S7中的FPGA控制算法步 骤如下(参见图9):Sel:接收PLC主控制器传输过来的控制参数和A/D采样后传输过来的数据;Se2:根据控制参数和A/D采样的数据进行逻辑操作和控制算法计算; Se3:将控制结果输出到控制结果存储器;Se4:在控制结果参数的传输命令作用下,将控制算法结果通过D/A驱动外 部执行机构实施控制。
权利要求
1.一种通用小型可编程控制器,其特征在于所述小型可编程控制器包括可编程装置、PLC主机(II)、人机界面模块(IV)和CAN总线(VI);所述的PLC主机(II)包括嵌入式微处理器ARM(1)、模拟量输入输出模块(IIA)、数字量输入输出模块(IIB)、FLASH存储器(2)、SDRAM存储器(3)、EEPROM存储器(19)和FPGA可重构控制算法协处理器(18),嵌入式微处理器ARM(1)作为控制核心,分别与模拟量输入输出模块(IIA)、数字量输入输出模块(IIB)、FLASH存储器(2)、SDRAM存储器(3)、EEPROM存储器(19)和FPGA可重构控制算法协处理器(18)连接,FPGA可重构控制算法协处理器(18)与嵌入式微处理器ARM(1)的输入输出I/O端口连接,嵌入式微处理器ARM(1)向FPGA可重构控制算法协处理器(18)提供控制设置值、数据采集值及控制参数,并从FPGA可重构控制算法协处理器(18)获得控制输出驱动参数;FPGA可重构控制算法协处理器(18)中配置有多种控制算法,这些控制算法作为子程序模块嵌入到小型可编程控制器的程序中作为功能模块调用;FLASH存储器(2)用于固化系统程序、PLC指令解释程序以及固化的数据表格;SDRAM存储器(3)是闪存储器,用作输入输出映像寄存器、元件映像寄存器、元件寄存器、并存储中间计算结果和用户程序;EEPROM存储器存储各种需要失电保持的数据和PLC主机(II)的运行状态;PLC主机(II)通过其CAN接口(VIA)与CAN总线(VI)连接,CAN接口(VIA)由顺序连接的收发器(17)、光隔(16)和CAN控制器(15)组成,嵌入式微处理器ARM(1)通过CAN总线(VI)获得用户编写的指令程序和监控命令、从人机界面模块(IV)获得被控对象设备的运行控制参数和控制命令、并传输PLC主机(II)用户编写的指令程序和控制参数、向人机界面模块(IV)传输被控对象设备运行的数字量和模拟量状态参数和控制驱动参数;所述的可编程装置通过其内置的CAN接口与CAN总线(VI)连接,从而将用户在可编程装置上编写的用户指令程序下载到PLC主机(II)的ARM微处理器(1)中,并从CAN总线(VI)获取PLC主机(II)的运行状态、读取PLC主机(II)的用户程序、向PLC主机(II)系统发送控制指令以实现对通用可编程控制器的监控;所述的人机界面模块(IV)通过其内置的CAN接口与CAN总线(VI)连接,从而与嵌入式微处理器ARM(1)相互传输信息,以获得被控对象设备的运行状态信息、并通过CAN总线(VI)传输被控对象设备的运行控制参数和控制命令、显示系统实时运行参数、参数状态曲线、以及显示设置系统运行参数、控制参数、控制命令,人机界面模块(IV)配置数量为n,1≤n≤4;所述的CAN总线(VI)是可编程装置、PLC主机(II)、人机界面模块(IV)各组成部分之间互相传输、交换数据的中间媒体,各模块通过其内置的CAN接口与CAN总线(VI)连接,使得PLC主机(II)和人机界面模块(IV)能够安装在同一个电柜中或不同的电柜中或安装在被控设备的不同部位上。
2. 根据权利要求1所述的通用小型可编程控制器,其特征在于所述的可 编程装置是上位机(1),所述上位机(I)通过其内置的CAN接口与CAN总线(VI)连接。
3. 根据权利要求1所述的通用小型可编程控制器,其特征在于所述的可 编程装置是手持编程器(III),所述手持编程器(III)通过其内置的CAN接口 与CAN总线(VI)连接。
4. 根据权利要求1所述的通用小型可编程控制器,其特征在于所述的可编程装置(i)是上位机(i)和手持编程器(m),上位机(i)和手持编程器(in)均通过其内置的CAN接口与CAN总线(VI)连接。
5. 根据权利要求1或2或3或4所述的通用小型可编程控制器,其特征在 于所述PLC主机(II)的数字量输入输出模块(IIB)由FPGA扩展I/0 (10)、 光电隔离器(11)、 16 64点数字量输入(13)、 16 64点数字量输出(14)组 成;嵌入式微处理器ARM (1)与FPGA扩展I/0 (10)连接,FPGA扩展I/O(10)与光电隔离器(11)连接,光电隔离器(11)通过接线端子(12)分别 与16 64点数字量输入(13)和16 64点数字量输出(14)连接;所述FPGA 扩展I/O (10)的FPGA能够灵活配置数字量的输入输出点数,数字量输入点 数以16点为单位配置,可以配置为16或32或48或64;数字量输出点数以16 点为单位配置,可以配置为16或32或48或64,最大配置达到数字量输入输 出128点。
6. 根据权利要求1、 2、 3或4所述的通用小型可编程控制器,其特征在于 所述PLC主机(II)的模拟量输入输出模块(IIA)由A/D输入接口 (4)、 8路 模拟量放大输入(5)、 D/A芯片(6)、 4路模拟量驱动输出(7)组成;嵌入式 微处理器ARM (1)、 A/D输入接口 (4)、 8路模拟量放大输入(5)顺序连接,8路模拟量放大输入(5)通过接线端子(8)与被控对象检测与驱动电路(9) 连接,从而构成数据采集通道;嵌入式微处理器ARM (1)、 D/A芯片(6)、 4 路模拟量驱动输出(7)顺序连接,4路模拟量驱动输出(7)通过接线端子(8) 与被控对象检测与驱动电路(9)连接,从而构成控制驱动输出通道;FPGA可 重构控制算法协处理器(18)与嵌入式微处理器ARM (1)连接,构成控制器; 模拟量输入输出模块(IIA)和嵌入式微处理器ARM (1),以及FPGA可重构 控制算法协处理器(18)组成闭环控制电路。
7.根据权利要求l、 2、 3或4所述的通用小型可编程控制器,其特征在于 所述小型可编程控制器还包括扩展模块(V),所述扩展模块(V)通过其内置 的CAN接口与CAN总线(VI)连接,使得该模块能够安装在同一个电柜中或 不同的电柜中或安装在被控设备的不同部位上,扩展模块(V)可配置数量为 m, 1《m《10;所述扩展模块(V)是扩展小型可编程控制器的数字量输入输 出点数以及模拟量输入输出路数的功能模块,其可以是数字量输入模块或数字 量输出扩展功能模块,也可以是模拟量输入模块或模拟量输出模块,数字量输 入输出扩展功能模块,数字量输入点数以16点为单位配置,可以配置为16或 32或48或64或80或96或112或128;数字量输出点数以16点为单位配置, 可以配置为16或32或48或64或80或96或112或128;所述小型可编程控 制器数字量输入输出的点数1^数字量输入输出模块(IIB)的输入输出点数+ 扩展模块(V)数字量的输入输出点数,所述小型可编程控制器模拟量输入路 数11=模拟量输入输出模块(IIA)的输入路数+扩展模块(V)的模拟量输入 模块路数,所述小型可编程控制器模拟量输出路数§=模拟量输入输出模块 (IIA)的输出路数+扩展模块(V)的模拟量输出模块路数,上述参数中,k 《256点、h《24、 g《12。
8.根据权利要求5所述的通用小型可编程控制器,其特征在于所述小型 可编程控制器还包括扩展模块(V),所述扩展模块(V)通过其内置的CAN 接口与CAN总线(VI)连接,使得该模块能够安装在同一个电柜中或不同的 电柜中或安装在被控设备的不同部位上,扩展模块(V)可配置数量为m, l《 m《10;所述扩展模块(V)是扩展小型可编程控制器的数字量输入输出点数以 及模拟量输入输出路数的功能模块,其可以是数字量输入模块或数字量输出扩 展功能模块,也可以是模拟量输入模块或模拟量输出模块,数字量输入输出扩 展功能模块,数字量输入点数以16点为单位配置,可以配置为16或32或48或64或80或96或112或128;数字量输出点数以16点为单位配置,可以配 置为16或32或48或64或80或96或112或128;所述小型可编程控制器数 字量输入输出的点数k-数字量输入输出模块(IIB)的输入输出点数+扩展模 块(V)数字量的输入输出点数,所述小型可编程控制器模拟量输入路数h—莫 拟量输入输出模块(IIA)的输入路数+扩展模块(V)的模拟量输入模块路 数,所述小型可编程控制器模拟量输出路数g二模拟量输入输出模块(IIA)的 输出路数+扩展模块(V)的模拟量输出模块路数,上述参数中,k《256点、h
9. 根据权利要求6所述的通用小型可编程控制器,其特征在于:所述小型 可编程控制器还包括扩展模块(V),所述扩展模块(V)通过其内置的CAN 接口与CAN总线(VI)连接,使得该模块能够安装在同一个电柜中或不同的 电柜中或安装在被控设备的不同部位上,扩展模块(V)可配置数量为m, l《 m《10;所述扩展模块(V)是扩展小型可编程控制器的数字量输入输出点数以 及模拟量输入输出路数的功能模块,其可以是数字量输入模块或数字量输出扩 展功能模块,也可以是模拟量输入模块或模拟量输出模块,数字量输入输出扩 展功能模块,数字量输入点数以16点为单位配置,可以配置为16或32或48 或64或80或96或112或128;数字量输出点数以16点为单位配置,可以配 置为16或32或48或64或80或96或112或128;所述小型可编程控制器数 字量输入输出的点数1^数字量输入输出模块(IIB)的输入输出点数+扩展模 块(V)数字量的输入输出点数,所述小型可编程控制器模拟量输入路数h—莫 拟量输入输出模块(IIA)的输入路数+扩展模块(V)的模拟量输入模块路 数,所述小型可编程控制器模拟量输出路数g二模拟量输入输出模块(IIA)的 输出路数+扩展模块(V)的模拟量输出模块路数,上述参数中,k《256点、h
10. —种通用小型可编程控制器的控制方法,其特征在于该控制方法是 利用本发明上述由嵌入式微处理器ARM+FPGA组成的通用小型可编程控制 器,应用嵌入式微处理器ARM、模拟量输入输出模块、数字量输入输出模块、 FLASH存储器、SDRAM存储器、EEPROM存储器和FPGA可重构控制算法 协处理器,对存储器进行分配;应用C语言编制系统程序、用户程序的编译程 序、CAN总线数据通讯子程序,针对FPGA可重构控制算法协处理器,设置 FPGA可重构控制算法协处理器的命令;编制专用子程序实现向FPGA可重构 控制算法协处理器传输控制参数和控制FPGA可重构控制算法协处理器中的控 制算法结果的输出;在FPGA可重构控制算法协处理器中编制智能控制算法或 其它的控制算法,使得控制算法的计算时间不占用通用小型PLC执行程序的时 间;其步骤包括步骤l、控制程序初始化对PLC主控制器、用于配置扩展I/O口的FPGA和 用于实现智能控制算法的FPGA进行初始化;步骤2、控制程序执行数据准备对存储器进行分配;将D数据寄存器、部 分M特殊辅助继电器值从EEPROM拷贝到SDRAM中,然后将用户编写的梯形图 程序从Norflash拷贝到SDRAM中,最后读入外部数字量输入1/0 口元件状态并将它写入输入映象寄存器中;步骤3、控制程序执行CPU对用户程序进行编译,其中根据判断条件进行 PLC对FPGA的参数传输控帝U;调用FPGA控制算法及其他控制算法,将输出映 象区的内容送到数字量输岀I/0口对应的寄存器中,驱动执行机构实现控制;步骤4、控制数据传输将系统运行的状态参数通过CAN总线传输到监控 系统中。
11.根据权利要求10所述的通用小型可编程控制器的控制方法,其特征在 于所述控制方法的具体步骤为Sl: PLC主控制器启动,完成初始化;S2:将保存在主控制器、用来配置FPGA启动工作的配置文件传输到用来 配置扩展I/0口的FPGA和用来实现智能控制算法的FPGA中,完成两个FPGA的 初始化工作;S3:将D数据寄存器、部分M特殊辅助继电器值从EEPROM拷贝到SDRAM中;S4:将用户编写的梯形图程序从Norflash拷贝到SDRAM中; S5:读入外部数字量输入I/0口元件状态,并将它写入输入映象寄存器中; S6: CPU对用户程序进行编译,其中根据判断条件进行PLC对FPGA的参数 传输控制;S7:调用FPGA控制算法及其他控制算法,将输出映象区的内容送到数字 量输出I/0口对应的寄存器中,驱动执行机构实现控制;S8:将系统运行的状态参数通过CAN总线传输到监控系统中; S9:判断系统是否停止运行,如果否,则跳转回步骤S5;S10:结束。
12. 根据权利要求11所述的通用小型可编程控制器的控制方法,其特征在 于:在所述控制方法的具体步骤S2至S9中包括有A/D定时中断数据采集过程, 其步骤如下Sah定时时间到进入中断子程序;Sa2:关中断;Sa3: A/D采集外部数据,进行模数转换,并把转换得到的数字量传送到 FPGA中进行处理;Sa4:开中断并返回。
13. 根据权利要求11所述的通用小型可编程控制器的控制方法,其特征在 于在所述控制方法的具体步骤S2至S9中包括有CAN通讯中断处理过程, 其步骤如下SM:关中断;Sb2:接收手持编程器通过CAN总线发过来的数据; Sb3:接收完毕后,开中断并返回。
14. 根据权利要求11所述的通用小型可编程控制器的控制方法,其特征在 于所述控制方法的具体步骤S6中,CPU对用户程序进行编译的步骤如下Scl: CPU从SDRAM用户程序第一条指令地址处读指令;Sc2:判断指令编码是否等于LD编码,如果是,则调用LD的子程序并进入步骤Sc5;Sc3:判断指令编码是否等于AND编码,如果是,则调用AND的子程序 并进入步骤Sc5;Sc4:判断指令编码是否等于ORB编码,如果是,则调用ORB的子程序 并进入步骤Sc6;Sc5:判断指令编码是否等于其他的基本指令编码或功能指令编码,如果是,则调用相应的子程序并进入步骤Sc6,如果否,则继续进行判断直至所有的基 本指令编码和功能指令编码判断完毕; Sc6:取下一条指令的编码;Sc7:判断指令编码是否等于END编码,如果否,则跳转回步骤Sc2; Sc8:判断指令编码是否等于FPGA控制编码,如果是,调用PLC对FPGA 参数传输控制子程序,如果否,调用END子程序,END子程序包括输出元件处理、定时器、计数器或功能指令处理的子程序; Sc9:返回步骤Scl。
15. 根据权利要求11或14所述的通用小型可编程控制器的控制方法,其 特征在于所述控制方法的具体步骤S6中,PLC对FPGA的参数传输控制的步骤如下Sdh判断指令编码是否为FPGA控制编码,如果否,跳转到步骤Sd6; Sd2:调用传输子程序,将控制给定设置值传输到控制参数存储器;Sd3:调用FPGA传输子程序,将控制给定设置值传输到FPGA; Sd4:调用传输子程序,将控制参数设置值传输到控制参数存储器; Sd5:调用传输FPGA子程序,将控制参数设置值传输到FPGA; Sd6:执行其它指令解释程序;Sd7:判断指令编码是否为FPGA控制编码,如果否,跳转到步骤Sd9; Sd8:调用控制结果控制子程序,启动控制结果存储器的数据传输; Sd9:返回。
16. 根据权利要求ll所述的通用小型可编程控制器的控制方法,其特征在 于所述控制方法的具体步骤S7中,FPGA控制算法步骤如下Sel:接收PLC主控制器传输过来的控制参数和A/D采样后传输过来的数据;Se2:根据控制参数和A/D采样的数据进行逻辑操作和控制算法计算;Se3:将控制结果输出到控制结果存储器;Se4:在控制结果参数的传输命令作用下,将控制算法结果通过D/A驱动外部执行机构实施控制。
全文摘要
一种通用小型可编程控制器及其控制方法,该可编程控制器包括可编程装置、PLC主机、1~4个人机界面模块、扩展模块和CAN总线,PLC主机由嵌入式微处理器ARM、模拟量输入输出模块、数字量输入输出模块、FLASH存储器、SDRAM存储器、EEPROM存储器、FPGA可重构控制算法协处理器组成,配置的I/O点数最大到256,A/D最大路数24路,D/A最大路数12路;其控制方法是通过控制程序初始化、控制程序执行数据准备、控制程序执行和控制程序数据传输步骤,并在FPGA中编制智能控制算法,实现复杂被控对象的自动控制、灵活配置输入输出扩展模块、使控制算法的计算时间不占用通用小型PLC执行程序的时间。
文档编号G05B19/05GK101162389SQ20071005294
公开日2008年4月16日 申请日期2007年8月7日 优先权日2007年8月7日
发明者李克俭, 田小刚, 蔡启仲, 袁海英, 覃永新, 郭毅锋, 陈文辉, 黄捷峰, 娜 黎 申请人:广西工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1