CN104142666A - 一种基于状态机的多工序设备生产控制装置及方法 - Google Patents

一种基于状态机的多工序设备生产控制装置及方法 Download PDF

Info

Publication number
CN104142666A
CN104142666A CN201410355623.0A CN201410355623A CN104142666A CN 104142666 A CN104142666 A CN 104142666A CN 201410355623 A CN201410355623 A CN 201410355623A CN 104142666 A CN104142666 A CN 104142666A
Authority
CN
China
Prior art keywords
module
arm
state
fpga
arm module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410355623.0A
Other languages
English (en)
Other versions
CN104142666B (zh
Inventor
郭文权
罗家祥
胡跃明
陈安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201410355623.0A priority Critical patent/CN104142666B/zh
Publication of CN104142666A publication Critical patent/CN104142666A/zh
Application granted granted Critical
Publication of CN104142666B publication Critical patent/CN104142666B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Programmable Controllers (AREA)
  • Numerical Control (AREA)

Abstract

本发明公开了一种基于状态机的多工序设备生产控制装置及方法,包括上位机、与上位机连接的FPGA模块以及用于控制各道工序工作的ARM模块,其中每个ARM模块控制其中一道工序的工作;所述用于控制各道工序工作的ARM模块作为子状态机,分别与作为主状态机的FPGA模块连接,与FPGA模块组成星型拓扑结构;所述FPGA模块连接用于转移工件的电机以及用于检测工件位置的传感器。FPGA模块通过各交互接口模块与ARM模块连接,本发明根据ARM模块的状态以及工件在多工序设备生产中的位置控制相应ARM模块启动,当客户需求更改时,能更方便地修改及组建新工序的子状态机,具有可扩展性强、成本低以及稳定性高等的优点。

Description

一种基于状态机的多工序设备生产控制装置及方法
技术领域
本发明涉及一种多工序设备生产控制装置及方法,特别涉及一种基于状态机的多工序设备生产控制装置及方法。
背景技术
为了提高工件设备的生产加工效率以及节约生产加工成本,很多工件设备在加工生产过程中采用多工序设备进行相应处理,在每道工序处理过程中需要针对每道工序的时间及工作状态等进行合理的控制,现有的多工序设备的生产流程控制通常采用以下几种方法:
1、采用高速工控机做上位机控制器的编写,并通过PCI总线***数据采集卡实现对外部信号的输入及输出。利用工控机的高速运算能力,对所有工序进行集中管理及控制。虽然能高速地控制整个***,但是存在成本高的缺点。
2、针对成本控制问题,采用PLC取代第1种方法中的高速工控机和数据采集卡的方案,利用PLC更稳定、输出能力更强的输出元件及输入单元,直接连接外部机械装置进行控制。虽然能解决成本问题,但由于PLC性能相对较差,方案仍存在无法运行高级算法、可扩展性差等缺点。
3、采用多片嵌入式控制板卡,分别控制各道工序,控制板块间相互通信来协调整个流程的过程控制。该方案很好地解决了成本问题,且随着嵌入式技术发展,很多嵌入式芯片的运算能力及资源得到了提升。但这种分散式的控制思想,存在整体协调困难的缺点。当需要增加工序时候,需要修改各个板卡间的信息,可扩展性较差。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种成本低、可扩展性强以及稳定性高的基于状态机的多工序设备生产控制装置。
本发明的另一目的在于提供一种上述装置实现的多工序设备生产控制方法。
本发明的第一目的通过下述技术方案实现:一种基于状态机的多工序设备生产控制装置,包括上位机、与上位机连接的FPGA(Field Programmable GateArray,现场可编程门阵列)模块以及用于控制各道工序工作的ARM模块,其中每个ARM模块控制其中一道工序的工作;所述用于控制各道工序工作的ARM模块作为子状态机,分别与作为主状态机的FPGA模块连接,与FPGA模块组成星型拓扑结构;所述FPGA模块连接用于转移工件的电机以及用于检测工件位置的传感器。
优选的,所述FPGA模块还连接有故障显示模块和故障恢复模块,通过故障显示模块显示子状态机ARM模块的故障,通过故障恢复模块对故障的子状态机进行复位。
优选的,所述FPGA模块连接有多个交互接口阵列模块,通过各交互接口阵列模块与各ARM模块连接,其中各交互接口阵列模块包括控制接口,状态接口以及数据传输接口;所述控制接口和状态接口采用高速光耦做并行传输,所述数据传输接口采用RS232协议。
优选的,FPGA模块和ARM模块上均连接有电机控制模块和I/O端口模块;所述FPGA模块通过其上连接的电机控制模块与用于转移工件的电机连接,FPGA模块通过其上连接的I/O端口模块与用于检测工件位置的传感器连接;
所述与FPGA模块和ARM模块连接的I/O端口模块通过MOSFET驱动电路作为信号输出,通过高速光耦接收外界信号输入;所述与FPGA模块和ARM模块连接的电机控制模块包括PWM脉冲调速输出单元和编码器反馈输入单元两部分。
优选的,所述FPGA模块内部中包括串口收发模块以及仲裁逻辑模块,其中仲裁逻辑模块包括帧识别状态机、查表比较器、FIFO缓存区和UART切换开关阵列;其中上位机串口与FPGA模块的串口收发模块连接,FPGA模块的串口收发模块连接帧识别状态机,帧识别状态机通过查表比较器与UART切换开关阵列连接,帧识别状态机还通过FIFO缓存区以及串口收发模块与UART切换开关阵列连接;FPGA模块通过UART切换开关阵列与各ARM模块连接;
所述FPGA模块中配置有与其连接的各ARM模块的State_Byte寄存器,用于追踪记录各ARM模块的当前状态。
本发明的第二目的通过以下技术方案实现:一种基于状态机的多工序设备生产控制装置的控制方法,包括以下步骤:
S1、上位机通过串口向FPGA模块发送数据包,FPGA接收并识别数据包;
S2、FPGA模块从上位机串口接收到数据包后,对所接收到数据包进行分析和处理,根据从上位机接收到的数据包对相应的ARM模块进行对应的参数设置,并且控制所有的ARM模块进行复位;
S3、FPGA模块监听各ARM模块的状态以及工件在多工序设备生产中的位置,在工序中工件到位后以及ARM模块复位完成后,启动工件所在工序的ARM模块,通过工件所在工序的ARM模块控制对应工序的工作;
S4、当某道工序工作完成后,该道工序的ARM模块向FPGA模块发送工作完成信号,通知FPGA模块该道工序完成工作;
S5、待FPGA模块收到当前所启动的各ARM模块发送的工作完成信号,控制多工序设备生产中用于转移工件的电机工作,将上一道工序中的工件分别转移到下一道工序中,并且向第一道工序补充工件;待工件转移完成后,ARM模块自动复位,等待下一次的启动,然后回到步骤S3,完成各工件的多工序生产加工。
优选的,所述步骤S1中上位机向FPGA模块发送的数据包的帧格式为:包括两字节的数据帧头、单字节的功能号、单字节的长度、单字节的工序号、长度字节的数据、单字节的校验码以及两字节的数据帧尾。
更进一步的,所述步骤S2中FPGA模块对从上位机接收到数据包后分析和处理过程如下:
S2-1、上位机的串口数据包通过MAX3232电平转换后进入FPGA模块内部的串口收发模块,通过串口收发模块对接收到的数据包进行数据重组,并且传送给FPGA模块内部的帧识别状态机;
S2-2、帧识别状态机判断当前接收到的数据包是否有效;若是,则将当前接收到的数据包存放在FIFO缓存区;
S2-3、根据预定的功能表,通过FPGA模块内部的查表比较器对FIFO缓存区的数据包的功能号进行查找表比较,根据比较结果判断数据包要实现的参数设置功能;
S2-4、FPGA模块根据从上位机接收到数据包帧格式中的工序号找到所要进行参数设置的ARM模块,然后对该ARM模块进行相应的参数设置。
优选的,还包括以下报错步骤:
S6-1、当ARM模块对应工序发生故障时,产生一个Error信号,以向FPGA模块进行报错;当FPGA模块通过其与ARM的接口采集到Error信号时,得知报错的ARM模块子状态机,进入报警状态;
S6-2、FPGA模块采集到Error信号后,从其与报错ARM模块的接口中读取ARM子状态机的报错状态号,将报错的ARM模块子状态机号和报错状态号通过故障显示模块上显示;并且暂停报错的ARM模块的运行;
S6-3、用户通过故障显示模块上显示的状态机号和报错状态号定位出现故障的工序及相应动作,并对出现故障的工序进行故障排查,待故障消除后,通过FPGA模块连接的故障恢复模块向FPGA模块发送信号;
S6-4、FPGA模块接收到故障恢复模块发送的信号后,发送复位信号至报错的ARM模块,对出现报错的ARM模块进行复位;
S6-5、报错的ARM模块复位后,发送复位完成信号给FPGA模块,FPGA模块退出报警状态。
更进一步的,FPGA模块监听的各ARM模块的状态包括运行态、完成态、待机态和中断态;FPGA模块和各ARM模块端口之间通信的信号包括Vaild信号、Over信号、ARM模块运行状态信号、Error信号、RXD信号以及TXD信号;
当所述步骤S3中FPGA模块启动ARM模块时,FPGA模块向被启动的ARM模块传送Vaild信号,当ARM模块监听到Valid信号后,进入运行态,控制相应工序的工作;
当所述步骤S4中某道工序工作完成后,该道工序的ARM模块向FPGA模块发送一个Over信号,ARM模块进入完成态,ARM模块控制相应工序停止工作;
当所述步骤S3中FPGA模块监听到各ARM模块复位完成但相应工序中不存在工件时,ARM模块进入到待机态;
当所述步骤S6中ARM报错时,FPGA采集到Error信号;FPGA模块控制报错ARM模块暂停运行,ARM模块进入中断状态;
FPGA模块中ARM模块的State_Byte寄存器待机态标志位在***上电回原点后、或在工件转移完成后且没有检测到ARM模块对应工序中存在工件时置高,在该ARM模块接收到FPGA模块的Vaild信号后清零;当ARM模块的State_Byte寄存器待机态标志位置高时,该ARM模块为待机态;
FPGA模块中ARM模块的State_Byte寄存器运行态标志位在该ARM模块接收到的FPGA模块的Vaild信号后被置高,在该ARM模块接收到Over信号后清零;当ARM模块的State_Byte寄存器运行态标志位置高时,该ARM模块为运行态;
FPGA模块中ARM模块的State_Byte寄存器完成态标志位在该ARM模块接收到的Over信号后被置高,在该ARM模块对应工序的工件被转移后清零;当ARM模块的State_Byte寄存器完成态标志位置高时,该ARM模块为完成态;
FPGA模块中ARM模块的State_Byte寄存器中断态标志位在该ARM模块发送Error信号到FPGA模块时或者接收到RXD串口数据的挂起指令时置高,当ARM模块的State_Byte寄存器中断态标志位置高时,该ARM模块为中断态。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明中FPGA模块作为主状态机,独立控制各工序工作的ARM模块作为子状态机,FPGA模块根据工序设备生产的需要控制相应的ARM模块启动运行,从而协调管理各ARM模块子状态机,通过单片FPGA模块搭载多片ARM模块的嵌入式方案实现对多工序设备生产的控制,具有成本低的优点,将生产过程控制中所需的实际操作抽象封装为状态接口,降低了工序间的耦合度,增强了***可扩展性、可维护性和独立性,当客户需求更改时,能更方便地修改及组建新工序的子状态机,具有可扩展性强的优点。本发明FPGA模块在检测到工序中工件到位后以及ARM模块复位完成后才开启相应ARM模块,并且在启动的所有ARM模块完成控制工作后,才对工件进行转移,能够保证工件有序及准确的被加工,避免出现工件堆积等情况。
(2)本发明采用单片FPGA模块作为主状态机,多片ARM模块作为子状态机的双层状态机控制结构,并通过星形拓扑结构联结,使得设备生产运行时,当其中一道工序的出错时,能在不影响其他工序运行的情况下,通过FPGA主状态机,暂停及复位出错工序,增强生产过程控制的稳定性及可靠性。
(3)本发明ARM的报错,可以获知出现故障的工序及工序的相应动作,具有报错精确的优点。
附图说明
图1是本发明控制装置的结构组成框图。
图2是本发明控制装置中FPGA模块的***连接框图。
图3是本发明控制装置中各ARM模块的***连接框图。
图4是本发明中FPGA模块内串口收发及仲裁逻辑模块示意图。
图5是本发明中ARM模块子状态机处于运行态时,FPGA模块与ARM模块的通信时序示意图。
图6是本发明ARM模块子状态机出故障时,FPGA模块与ARM模块的通信时序示意图。
图7是本发明中FPGA模块主状态机跳转示意图。
图8是注胶工序示例模块的子状态机跳转示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本实施例公开了一种基于状态机的多工序设备生产控制装置,包括上位机PC、与上位机连接的FPGA模块以及用于控制各道工序工作的ARM模块;用于控制各道工序工作的ARM模块作为子状态机,分别与作为主状态机的FPGA模块连接,与FPGA模块组成星型拓扑结构,其中ARM模块中包含用于控制对应工序进行工作的逻辑操作,各ARM模块分别独立控制其中一道工序的工作;FPGA模块与用于转移工件的电机以及用于检测工件位置的传感器连接。其中本实施例中的FPGA模块为SPARTAN-3E系列的XC3S500,ARM模块为ST公司的STM32F103ZET8。
如图2所示,本实施例的FPGA模块连接有串口收发模块、电机控制模块、故障显示模块、故障恢复模块、I/O端口模块、交互接口阵列模块、基本的电源电路、复位电路、晶振电路和配置电路。如图3所示,本实施例的ARM模块连接有电机控制模块、I/O端口模块、交互接口模块、基本的电源电路、复位电路和晶振电路。FPGA模块和ARM模块所连接的电机控制模块包括PWM脉冲调速输出单元和编码器反馈输入单元两部分。其中电机控制模块与电机之间通过高速光耦解耦,通过高速光耦对FPGA模块和电机进行信号的隔离,避免电机侧信号对FPGA模块的影响。FPGA模块和ARM模块所连接的I/O端口模块通过MOSFET驱动电路作为信号输出,通过高速光耦接收外界信号输入,高速光耦对FPGA模块和外界输入的信号进行隔离,避免外界输入信号对FPGA模块的影响。本实施例中所采用的MOSFET管型号为IRF540,高速光耦型号为6N137。
FPGA模块的电机控制模块通过高速光耦连接用于转移工件的电机,控制电机的工作;FPGA模块通过I/O端口模块连接用于检测工件位置的传感器,通过I/O端口模块中的高速光耦接收传感器发送的信号,以得知工件的位置。另外本实施例FPGA模块和ARM模块通过其上的I/O端口模块还连接有电磁阀等器件,用于控制相应气动器件的工作,I/O端口模块通过MOSFET驱动电路输出信号到电磁阀等器件中。ARM模块通过电机控制模块与工序中的电机连接,控制工序中的相应动作。
本实施例FPGA模块的连接故障显示模块用于显示报错的ARM模块子状态机及故障的工序状态号,在工序的故障消除后,通过故障恢复模块对故障的子状态机进行复位。使得FPGA模块退出报警状态。本实施例中的故障显示模块为两个四位八段LED数码管,故障恢复模块为键盘输入装置。当然本实施例的故障显示模块和故障恢复模块也可以直接通过上位机来实现。
本实施例FPGA模块通过串口收发模块与上位机连接,通过串口收发模块接收上位机串口发送的数据包。其中上位机发送给FPGA模块的数据包帧格式如表1所示,包括两字节的数据帧头、单字节的功能号、单字节的长度、单字节的工序号、长度字节的数据、单字节的校验码以及两字节的数据帧尾;
表1
数据帧头 功能号 长度 工序号 数据 校验码 数据帧尾
本实施例FPGA模块和各ARM模块之间通过交互接口模块连接;其中各交互接口模块的信号分布如表2所示;
表2
通过上表可知,本实施例各交互接口阵列模块的Bit0、Bit1和Bit7是控制接口,分别传送Vaild信号、Over信号以及Error信号;Bit2至Bit6为状态接口,向FPGA模块传送ARM模块的运行状态信号,FPGA模块通过交互接口模块中ARM模块的运行状态信号,获知ARM当前运行的状态;Bit8和Bit9为数据传输接口,FPGA模块通过数据传输接口可以实现对ARM模块相关参数的设置。Bit0至Bit7对应接口采用高速光电隔离端口做并行传输,所述Bit8和Bit9数据传输接口采用RS232协议接收数据,串口主控芯片型号为MAX3232。
如图4所示,本实施例中FPGA模块内部中包括串口收发模块以及仲裁逻辑模块,仲裁逻辑模块包括帧识别状态机、查表比较器、FIFO缓存区和UART切换开关阵列;上位机串口与FPGA模块的串口收发模块连接,FPGA模块的串口收发模块连接帧识别状态机,帧识别状态机通过查表比较器与UART切换开关阵列连接,帧识别状态机还通过FIFO缓存区以及串口收发模块与UART切换开关阵列连接;FPGA模块通过UART切换开关阵列与各交互接口模块连接;UART切换开关阵列根据数据包中的工序号,找到相应要启动的ARM模块,以控制相应开关闭合,将数据包传送到相应的交互接口模块。其中FPGA模块内部串口收发模块为RS232协议模块。
本实施例的FPGA模块中还配置有与其连接的各ARM模块的State_Byte寄存器,用于追踪记录各ARM模块的当前状态。其中如表3所示,本实施例中根据各ARM模块的工作情况分为待机态、运行态、完成态和中断态,State_Byte寄存器中包括ARM模块各状态的标志位,FPGA模块通过State_Byte寄存器的第1至4位标志位来判断ARM模块的状态,第1位标志位bit0为运行态标志位,第2位标志位bit1为完成态标志位,第3位标志位bit2为待机态标志位,第4位标志位bit3为中断态标志位。其中寄存器的第5至第8位标志位保留待用。当标志位为1时,表示该ARM模块为该标志位对应的状态。
表3
当ARM模块为待机态时,表示该ARM模块不做任何动作,在等待启动;当ARM模块为运行态时,表示ARM模块在控制相应工序工作;当ARM模块为完成态时,表示ARM模块完成工序工作控制;ARM模块为中断态时,表示ARM模块被中断当前的控制工作。
本实施例中还公开了一种基于状态机的多工序设备生产控制方法,包括以下步骤:
S1、上位机通过串口向FPGA模块发送数据包,FPGA接收并识别数据包;上位机向FPGA模块发送的数据包的帧格式如表1所示:包括两字节的数据帧头、单字节的功能号、单字节的长度、单字节的工序号、长度字节的数据、单字节的校验码以及两字节的数据帧尾。
S2、FPGA模块从上位机串口接收到数据包后,对所接收到数据包进行分析和处理,根据从上位机接收到的数据包对相应的ARM模块进行对应的参数设置,并且控制所有的ARM模块进行复位,使得每个ARM模块在工序开始工作前均处于待机状态,其中本步骤中FPGA模块对从上位机接收到数据包后分析和处理过程如下:
S2-1、上位机的串口数据包通过MAX3232电平转换后进入FPGA模块内部的RS232协议模块,通过RS232协议模块对接收到的数据包进行数据重组,并且传送给FPGA模块内部的帧识别状态机;
S2-2、帧识别状态机判断当前接收到的数据包是否有效;若是,则将当前接收到的数据包存放在FIFO缓存区,否则就放弃;
例如本实施例上位机发送给FPGA模块的数据包为0x40 0x40 0x01 0x020x03 0x04 0x05 0x0F 0x23 0x23,则本实施例中帧识别状态机判断接收到的数据是否有效的具体过程如下:
S2-2-1、首先若FPGA模块串口收发端若接收到0x40,即0x40 0x40这个帧头的时候,则进入步骤S2-2-2的数据接收阶段,否则视为无效数据,放弃接收,继续等待帧头的到来。
S2-2-2、待接收到数据包帧头后,依次接收1个字节的功能号(即0x01)、一个字节的长度(即0x02),一个字节的工序号(即0x03)、长度字节的数据(通过长度字节得知数据长度为2,于是接收两个字节的数据(即0x04,0x05))以及一个字节的校验码(即0x0F),然后比较FPGA模块内部计算的校验码和接收到的校验码是否相符;若符合,则继续接收后面的数据帧尾,否则视为无效数据,之前所接收的数据全部放弃,继续等待帧头。其中FPGA模块内部通过以下方式计算校验码:功能号、长度号、工序号和数据总和SUM的低位字节,即校验码=0x01+0x02+0x03+0x04+0x05=0x0F。
S2-2-3、在接收到帧头0x40 0x40后,间隔了1+1+1+Len+1个字节后,就会要求接收到数据包的帧尾(即0x23 0x23),如果接收到的帧尾不是0x23 0x23,则直接抛弃该帧中之前接收的数据,视为无效数据。
其中上述步骤在接收帧头、校验和接收帧尾三个阶段均对数据包进行判断,以保证接收到有效的数据。
S2-3、根据预定的功能表,通过FPGA模块内部的查表比较器对FIFO缓存区的数据包的功能号进行查找表比较,根据比较结果判断数据包要实现的对应参数设置功能;即通过数据包的功能号获取数据包对应的参数设置功能。
S2-4、FPGA模块根据从上位机接收到数据包帧格式中的工序号找到所要进行参数设置的ARM模块,然后对该ARM模块进行相应的参数设置。本实施例通过数据包中的工序号表明了对哪个工序的ARM模块进行参数设置。
例如某数据包的功能号对应的功能为电机加速度参数的设置,工序号对应为第一道工序的第三个动作,则通过上述步骤,对第一道工序第三个动作的电机进行加速度参数设置。
S3、FPGA模块监听各ARM模块的状态以及工件在多工序设备生产中的位置,其中本实施例中通过FPGA模块连接的传感器检测工件在多工序设备生产中的位置,当FPGA模块监听到各ARM模块复位完成且工件在多工序设备生产中的位置均到位后,则启动工件所在工序的ARM模块,同时如图5所示,FPGA模块向被启动的ARM模块传送高电平Vaild信号,当ARM模块监听到高电平Valid信号后,进入运行态,通过工件所在工序ARM模块内部的逻辑操作控制相应工序的工作,对应的StateByte寄存器中运行态标志位置高。在本步骤中当FPGA模块监听到各ARM模块复位完成但相应工序中不存在工件时,ARM模块进入到待机态,对应StateByte寄存器中待机态标志位置高;
S4、当某道工序工作完成后,如图5所示,该道工序的ARM模块向FPGA模块发送一个1秒的高电平脉冲Over信号,采用Over信号作为ARM模块的工作完成信号,通知FPGA模块该道工序完成工作,ARM模块进入完成态,ARM模块控制相应工序停止工作,对应的StateByte寄存器中完成态标志位置高。
S5、待FPGA模块收到当前所启动的各ARM模块发送的工作完成信号,即当所有当前启动的ARM模块均进入完成态,未被启动的ARM模块均处于待机态时,FPGA模块控制多工序设备生产中用于转移工件的部件工作,将上一道工序中的工件分别转移到下一道工序中,最后一道工序的工件转移到工件收纳仓中,并且向第一道工序补充工件,待工件转移完成后,ARM模块自动复位等待下一次的启动;然后回到步骤S3,完成各工件的多工序生产加工。
当本实施例基于状态机的多工序设备生产控制装置在控制过程中,工序出现故障时,则本实施例通过以下方法进行控制:
S6-1、当ARM模块对应工序发生故障时,会产生一个1秒的高电平脉冲Error信号,即交互接口模块中Error信号上升沿跳变,以向FPGA模块进行报错,当FPGA模块采集到Error信号的上升跳变时,得知报错的ARM模块,进入报警状态;
S6-2、FPGA模块采集到Error信号时,根据Error信号的信息找到报错的ARM模块,从其与报错ARM模块的交互接口模块State的bit2~bit6中读取ARM子状态机的报错状态号,将报错的ARM模块子状态机号和报错状态号通过故障显示模块上显示,如表4所示,故障显示模块的前两位数码管显示子状态机号,后六位数码管显示报错状态号;同时如图6所示,将交互接口模块中的Valid信号拉低,暂停报错ARM模块的运行,此时,当报错的ARM模块想跳过当前报错状态,执行下一个操作时,由于监听到Valid信号被拉低,而得到阻止。
表4
SEG0至SEG7分别表示故障显示模块中的两个四位八段LED数码管中的显示。
S6-3、用户通过故障显示模块上显示的状态机号得知出现故障的工序,通过报错状态号得出工序中出故障的具体动作,并对出现故障的工序进行故障排查,待故障消除后,通用户过FPGA模块连接的故障恢复模块向FPGA模块发送信号。
S6-4、FPGA模块接收到故障恢复模块发送的信号后,发送复位信号至报错的ARM模块,对报错的ARM模块进行复位。
S6-5、报错的ARM模块复位后,发送一个1秒的高电平脉冲Over信号给FPGA模块,FPGA模块接收到Over信号后,退出报警状态。
从上述可知,本实施例方法某道工序的ARM模块报错时,FPGA只暂停该道工序的工作,其他工序仍然能够继续正常工作,当该道工序的故障在其他工序当前次工作完成之前修复好的话,将完全不影响工序设备的生产。
在本实施例中,不仅仅可以通过FPGA模块对ARM模块进行复位处理,也可以通过上位机PC端控制相应ARM模块的复位,当FPGA模块接收到上位机的数据包为复位指令时,FPGA模块向所有ARM模块发送复位指令,将各ARM模块执行复位,并通过交互接口模块的Over信号确认各个ARM模块复位成功。在本实施例中,可以通过上位机PC端控制生产的暂停和恢复:当上位机PC端发送暂停指令时,FPGA模块接收及解析指令后,拉低交互接口阵列中的所有Valid信号,由于ARM模块在跳转并执行下一个状态时必须要检查Valid为高电平才可以下一步操作。当检测到Valid为低电平时,则所有子状态机处于延时循环当中,直到PC发送恢复指令,FPGA模块拉高交互接口阵列中的Valid信号时候,各个子状态机才能继续执行。
本实施例中FPGA模块中ARM模块的State_Byte寄存器待机态标志位在***上电回原点后、或在工件转移完成后且没有检测到ARM模块对应工序中存在工件时置高,在该ARM模块接收到FPGA模块的高电平Vaild信号后清零;当ARM模块的State_Byte寄存器待机态标志位置高时,该ARM模块为待机态。
本实施例中FPGA模块中ARM模块的State_Byte寄存器运行态标志位在该ARM模块接收到的FPGA模块的高电平Vaild信号后被置高,在该ARM模块接收到1秒的高电平脉冲Over信号后清零;当ARM模块的State_Byte寄存器运行态标志位置高时,该ARM模块为运行态;
本年实施了FPGA模块中ARM模块的State_Byte寄存器完成态标志位在该ARM模块接收到的一个1秒高电平脉冲Over信号后被置高,在该ARM模块对应工序的工件被转移后清零;当ARM模块的State_Byte寄存器完成态标志位置高时,该ARM模块为完成态;
FPGA模块中ARM模块的State_Byte寄存器中断态标志位在该ARM模块发送高电平Error信号到FPGA模块时或者接收到RXD串口数据的挂起指令时置高,当ARM模块的State_Byte寄存器中断态标志位置高时,该ARM模块为中断态。
通过上述方法可知,在本实施例工件转移时,各ARM模块即各状态机满足以下条件,如表5所示:
表5
由表5可以看出,当本实施例控制装置在正常工作情况下,在生产工作前期,即不是所有子状态机都被启动过,随着工件的转移,各子状态机启动的数量每次以等差数列的关系增加;在某次多道工序完成工作后,前m个子状态机处于完成态,后N-m个子状态机处于待机态时,此时即可满足工件转移条件,FPGA模块在该条件下对工件进行转移。在生产过程的稳定期,即所有的子状态机都被启动过,当某次多道工序完成工作后,N个子状态机都处于完成态时,此时即可满足工件转移条件,FPAG模块在该条件下对工件进行转移。在生产过程的后期,即工件不再进行补充的时期,在某次多道工序完成工作后,前m个子状态机处于待机态,后N-m个子状态机处于完成态时,此时即可满足工件转移条件,FPGA模块在该条件下对工件进行转移。
如图7所示为本实施例中FPGA模块的状态,当FPGA模块传送完所有的数据后,开始进入主状态机操作当中。当上位机发送启动指令后,FPGA模块进入运行态,在运行态当中FPGA模块通过监听交互接口阵列和IO端口模块,调度与启停各个子状态机。当各个子状态机处于完成态后,FPGA模块进入传输态,对工件进行转移,即将工件通过电机控制模块转移到下一道工序。转移结束后,重新恢复运行态。这时如果接受到PC端发送的暂停指令时,FPGA模块从运行态调到挂起态,即中断态,直至接收到恢复指令。同样,在运行态进行过程中,当某一子状态机出现报错信号后,FPGA模块进入报警态,显示故障,当排障后,进入排障态对故障状态机复位,复位完成后,重新投入运行态。
如图8所示为将本实施例装置与方法应用到一台大功率LED封装设备的注胶工序中的状态图,当FPGA模块发送启动指令后,相应ARM模块子状态机被启动,首先FPGA模块通过电机控制模块将LED基板抬升到该注胶工序合适的位置,并且监听I/O端口模块中的传感器信号,若此时发现LED基板无法到达指定位置,则FPGA模块进入报警态,并且将工件放回原点;若否,则跳转到下一个状态,启动注胶工序的ARM模块子状态机,通过该工序的ARM模块子状态机控制注胶机构对准LED封装口,对准后,利用ARM模块I/O端口的MOSFT管输出控制电平,开启电磁阀,打开注胶机构,通过该工序子状态机启动电机定点螺旋挤压注胶,注胶完成后,子状态机控制注胶枪回原点,LED基板回到传送带原点上,等待FPGA模块的工件转移。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于状态机的多工序设备生产控制装置,其特征在于,包括上位机、与上位机连接的FPGA模块以及用于控制各道工序工作的ARM模块,其中每个ARM模块控制其中一道工序的工作;所述用于控制各道工序工作的ARM模块作为子状态机,分别与作为主状态机的FPGA模块连接,与FPGA模块组成星型拓扑结构;所述FPGA模块连接用于转移工件的电机以及用于检测工件位置的传感器。
2.根据权利要求1所述的基于状态机的多工序设备生产控制装置,其特征在于,所述FPGA模块还连接有故障显示模块和故障恢复模块,通过故障显示模块显示子状态机ARM模块的故障,通过故障恢复模块对故障的子状态机进行复位。
3.根据权利要求1所述的基于状态机的多工序设备生产控制装置,其特征在于,所述FPGA模块连接有多个交互接口阵列模块,通过各交互接口阵列模块与各ARM模块连接,其中各交互接口阵列模块包括控制接口,状态接口以及数据传输接口;所述控制接口和状态接口采用高速光耦做并行传输,所述数据传输接口采用RS232协议。
4.根据权利要求1所述的基于状态机的多工序设备生产控制装置,其特征在于,FPGA模块和ARM模块上均连接有电机控制模块和I/O端口模块;所述FPGA模块通过其上连接的电机控制模块与用于转移工件的电机连接,FPGA模块通过其上连接的I/O端口模块与用于检测工件位置的传感器连接;
所述与FPGA模块和ARM模块连接的I/O端口模块通过MOSFET驱动电路作为信号输出,通过高速光耦接收外界信号输入;所述与FPGA模块和ARM模块连接的电机控制模块包括PWM脉冲调速输出单元和编码器反馈输入单元两部分。
5.根据权利要求1所述的基于状态机的多工序设备生产控制装置,其特征在于,所述FPGA模块内部中包括串口收发模块以及仲裁逻辑模块,其中仲裁逻辑模块包括帧识别状态机、查表比较器、FIFO缓存区和UART切换开关阵列;其中上位机串口与FPGA模块的串口收发模块连接,FPGA模块的串口收发模块连接帧识别状态机,帧识别状态机通过查表比较器与UART切换开关阵列连接,帧识别状态机还通过FIFO缓存区以及串口收发模块与UART切换开关阵列连接;FPGA模块通过UART切换开关阵列与各ARM模块连接;
所述FPGA模块中配置有与其连接的各ARM模块的State_Byte寄存器,用于追踪记录各ARM模块的当前状态。
6.一种基于权利要求1所述的基于状态机的多工序设备生产控制装置的控制方法,其特征在于,包括以下步骤:
S1、上位机通过串口向FPGA模块发送数据包,FPGA接收并识别数据包;
S2、FPGA模块从上位机串口接收到数据包后,对所接收到数据包进行分析和处理,根据从上位机接收到的数据包对相应的ARM模块进行对应的参数设置,并且控制所有的ARM模块进行复位;
S3、FPGA模块监听各ARM模块的状态以及工件在多工序设备生产中的位置,在工序中工件到位后以及ARM模块复位完成后,启动工件所在工序的ARM模块,通过工件所在工序的ARM模块控制对应工序的工作;
S4、当某道工序工作完成后,该道工序的ARM模块向FPGA模块发送工作完成信号,通知FPGA模块该道工序完成工作;
S5、待FPGA模块收到当前所启动的各ARM模块发送的工作完成信号,控制多工序设备生产中用于转移工件的电机工作,将上一道工序中的工件分别转移到下一道工序中,并且向第一道工序补充工件;待工件转移完成后,ARM模块自动复位,等待下一次的启动,然后回到步骤S3,完成各工件的多工序生产加工。
7.根据权利要求6所述的基于状态机的多工序设备生产控制方法,其特征在于,所述步骤S1中上位机向FPGA模块发送的数据包的帧格式为:包括两字节的数据帧头、单字节的功能号、单字节的长度、单字节的工序号、长度字节的数据、单字节的校验码以及两字节的数据帧尾。
8.根据权利要求7所述的基于状态机的多工序设备生产控制方法,其特征在于,所述步骤S2中FPGA模块对从上位机接收到数据包后分析和处理过程如下:
S2-1、上位机的串口数据包进入FPGA模块内部的串口收发模块,通过串口收发模块对接收到的数据包进行数据重组,并且传送给FPGA模块内部的帧识别状态机;
S2-2、帧识别状态机判断当前接收到的数据包是否有效;若是,则将当前接收到的数据包存放在FIFO缓存区;
S2-3、根据预定的功能表,通过FPGA模块内部的查表比较器对FIFO缓存区的数据包的功能号进行查找表比较,根据比较结果判断数据包要实现的参数设置功能;
S2-4、FPGA模块根据从上位机接收到数据包帧格式中的工序号找到所要进行参数设置的ARM模块,然后对该ARM模块进行相应的参数设置。
9.根据权利要求6所述的基于状态机的多工序设备生产控制方法,其特征在于,还包括以下步骤:
S6-1、当ARM模块对应工序发生故障时,产生一个Error信号,以向FPGA模块进行报错;当FPGA模块通过其与ARM的接口采集到Error信号时,得知报错的ARM模块子状态机,进入报警状态;
S6-2、FPGA模块采集到Error信号后,从其与报错ARM模块的接口中读取ARM子状态机的报错状态号,将报错的ARM模块子状态机号和报错状态号通过故障显示模块上显示;并且暂停报错的ARM模块的运行;
S6-3、用户通过故障显示模块上显示的状态机号和报错状态号定位出现故障的工序及相应动作,并对出现故障的工序进行故障排查,待故障消除后,通过FPGA模块连接的故障恢复模块向FPGA模块发送信号;
S6-4、FPGA模块接收到故障恢复模块发送的信号后,发送复位信号至报错的ARM模块,对出现报错的ARM模块进行复位;
S6-5、报错的ARM模块复位后,发送复位完成信号给FPGA模块,FPGA模块退出报警状态。
10.根据权利要求9所述的基于状态机的多工序设备生产控制方法,其特征在于,FPGA模块监听的各ARM模块的状态包括运行态、完成态、待机态和中断态;FPGA模块和各ARM模块端口之间通信的信号包括Vaild信号、Over信号、ARM模块运行状态信号、Error信号、RXD信号以及TXD信号;
当所述步骤S3中FPGA模块启动ARM模块时,FPGA模块向被启动的ARM模块传送Vaild信号,当ARM模块监听到Valid信号后,进入运行态,控制相应工序的工作;
当所述步骤S4中某道工序工作完成后,该道工序的ARM模块向FPGA模块发送一个Over信号,ARM模块进入完成态,ARM模块控制相应工序停止工作;
当所述步骤S3中FPGA模块监听到各ARM模块复位完成但相应工序中不存在工件时,ARM模块进入到待机态;
当所述步骤S6中ARM报错时,FPGA采集到Error信号;FPGA模块控制报错ARM模块暂停运行,ARM模块进入中断状态;
FPGA模块中ARM模块的State_Byte寄存器待机态标志位在***上电回原点后、或在工件转移完成后且没有检测到ARM模块对应工序中存在工件时置高,在该ARM模块接收到FPGA模块的Vaild信号后清零;当ARM模块的State_Byte寄存器待机态标志位置高时,该ARM模块为待机态;
FPGA模块中ARM模块的State_Byte寄存器运行态标志位在该ARM模块接收到的FPGA模块的Vaild信号后被置高,在该ARM模块接收到Over信号后清零;当ARM模块的State_Byte寄存器运行态标志位置高时,该ARM模块为运行态;
FPGA模块中ARM模块的State_Byte寄存器完成态标志位在该ARM模块接收到的Over信号后被置高,在该ARM模块对应工序的工件被转移后清零;当ARM模块的State_Byte寄存器完成态标志位置高时,该ARM模块为完成态;
FPGA模块中ARM模块的State_Byte寄存器中断态标志位在该ARM模块发送Error信号到FPGA模块时或者接收到RXD串口数据的挂起指令时置高,当ARM模块的State_Byte寄存器中断态标志位置高时,该ARM模块为中断态。
CN201410355623.0A 2014-07-24 2014-07-24 一种基于状态机的多工序设备生产控制装置及方法 Expired - Fee Related CN104142666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410355623.0A CN104142666B (zh) 2014-07-24 2014-07-24 一种基于状态机的多工序设备生产控制装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410355623.0A CN104142666B (zh) 2014-07-24 2014-07-24 一种基于状态机的多工序设备生产控制装置及方法

Publications (2)

Publication Number Publication Date
CN104142666A true CN104142666A (zh) 2014-11-12
CN104142666B CN104142666B (zh) 2017-02-15

Family

ID=51851873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410355623.0A Expired - Fee Related CN104142666B (zh) 2014-07-24 2014-07-24 一种基于状态机的多工序设备生产控制装置及方法

Country Status (1)

Country Link
CN (1) CN104142666B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341806A (zh) * 2016-08-23 2017-01-18 冯村 基于级联状态机的通讯终端自适应通信方法、装置及***
CN107544410A (zh) * 2017-09-01 2018-01-05 捷开通讯(深圳)有限公司 自动化控制方法、***以及存储装置
CN109375965A (zh) * 2018-11-06 2019-02-22 东软集团股份有限公司 状态机处理方法及装置、可读存储介质
CN111319035A (zh) * 2018-12-14 2020-06-23 中国科学院沈阳自动化研究所 一种实现模块化通信的机器人控制***构建方法
CN112638144A (zh) * 2020-12-21 2021-04-09 合肥安迅精密技术有限公司 一种采用层次状态机的贴片机控制方法
CN113960961A (zh) * 2020-07-20 2022-01-21 联策科技股份有限公司 自动化生产线的实时监控管理方法与***
CN114337400A (zh) * 2021-11-25 2022-04-12 大力电工襄阳股份有限公司 一种新型高压同步变频器控制***的控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010041509A1 (en) * 2000-01-13 2001-11-15 Tdk Corporation Processing apparatus and method
JP2006289531A (ja) * 2005-04-07 2006-10-26 Seiko Epson Corp ロボット位置教示のための移動制御装置、ロボットの位置教示装置、ロボット位置教示のための移動制御方法、ロボットの位置教示方法及びロボット位置教示のための移動制御プログラム
CN102722126A (zh) * 2012-07-13 2012-10-10 卓璐 基于ARM-Wince的四辊卷板机控制***
CN103576592A (zh) * 2013-11-15 2014-02-12 福建宏宇电子科技有限公司 一种拉线贾卡的控制***及控制方法
CN103592890A (zh) * 2013-11-15 2014-02-19 福建宏宇电子科技有限公司 一种经编机的花梳横移控制***及控制方法
CN103676868A (zh) * 2013-12-09 2014-03-26 华南理工大学 一种fpc制造关键工序自动监控与智能分析***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010041509A1 (en) * 2000-01-13 2001-11-15 Tdk Corporation Processing apparatus and method
JP2006289531A (ja) * 2005-04-07 2006-10-26 Seiko Epson Corp ロボット位置教示のための移動制御装置、ロボットの位置教示装置、ロボット位置教示のための移動制御方法、ロボットの位置教示方法及びロボット位置教示のための移動制御プログラム
CN102722126A (zh) * 2012-07-13 2012-10-10 卓璐 基于ARM-Wince的四辊卷板机控制***
CN103576592A (zh) * 2013-11-15 2014-02-12 福建宏宇电子科技有限公司 一种拉线贾卡的控制***及控制方法
CN103592890A (zh) * 2013-11-15 2014-02-19 福建宏宇电子科技有限公司 一种经编机的花梳横移控制***及控制方法
CN103676868A (zh) * 2013-12-09 2014-03-26 华南理工大学 一种fpc制造关键工序自动监控与智能分析***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341806A (zh) * 2016-08-23 2017-01-18 冯村 基于级联状态机的通讯终端自适应通信方法、装置及***
CN107544410A (zh) * 2017-09-01 2018-01-05 捷开通讯(深圳)有限公司 自动化控制方法、***以及存储装置
CN109375965A (zh) * 2018-11-06 2019-02-22 东软集团股份有限公司 状态机处理方法及装置、可读存储介质
CN109375965B (zh) * 2018-11-06 2022-04-26 东软集团股份有限公司 状态机处理方法及装置、可读存储介质
CN111319035A (zh) * 2018-12-14 2020-06-23 中国科学院沈阳自动化研究所 一种实现模块化通信的机器人控制***构建方法
CN111319035B (zh) * 2018-12-14 2022-11-08 中国科学院沈阳自动化研究所 一种实现模块化通信的机器人控制***构建方法
CN113960961A (zh) * 2020-07-20 2022-01-21 联策科技股份有限公司 自动化生产线的实时监控管理方法与***
CN112638144A (zh) * 2020-12-21 2021-04-09 合肥安迅精密技术有限公司 一种采用层次状态机的贴片机控制方法
CN114337400A (zh) * 2021-11-25 2022-04-12 大力电工襄阳股份有限公司 一种新型高压同步变频器控制***的控制方法

Also Published As

Publication number Publication date
CN104142666B (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN104142666A (zh) 一种基于状态机的多工序设备生产控制装置及方法
WO2021147351A1 (zh) 基于EtherCAT P总线技术的多轴伺服电机控制***及方法
CN203064612U (zh) 一种立体物流***智能控制***
CN102749890B (zh) 一种dcs控制模块的冗余方法
CN107493041B (zh) 多路电机控制***与控制方法及自助金融设备
CN102402201A (zh) 多轴运动控制***
CN103199036B (zh) 集成调度***的efem及其调度方法
CN104102169A (zh) 纺织、机控设备及控制***、控制及驱动装置、通讯方法
CN202421854U (zh) 用于dcs***的三重冗余开关量输出模块
CN1807949A (zh) 一种电动阀门装置
CN111948993B (zh) 样本处理流水线控制***
CN203338127U (zh) 用于agv的双冗余控制***
CN104597827A (zh) 支持环路冗余控制的智能电动控制执行***及其控制方法
CN103317513A (zh) 一种基于多cpu的网络化机器人控制***
CN202548753U (zh) 一种计算机及其屏幕保护***
CN105022341B (zh) 一种光纤柔性板自动布纤设备的控制装置与方法
US7254460B1 (en) Numerical control system, and method of establishing communication timing in numerical control system
CN207319048U (zh) 流水线故障定位及远程报警装置
CN206594476U (zh) 基于rs485总线的多节点两轴控制器
CN205986677U (zh) 基于cpld的多路直流电机驱动控制***
CN104216329A (zh) 安全控制***
CN103663029A (zh) 电梯远程监控与调试***
CN103051736B (zh) 一种控制信息的处理方法和i2c总线设备
CN103309346A (zh) 星载四通道FlexRay总线节点故障检测与恢复***及方法
CN201269995Y (zh) 一种通讯管理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170215