一种基于FPGA的工业控制系统及方法与流程

文档序号:35236654发布日期:2023-08-25 03:27阅读:46来源:国知局
一种基于FPGA的工业控制系统及方法与流程

本发明涉及fpga(field programmable gate array,现场可编程逻辑门阵列),具体涉及一种基于fpga的工业控制系统及方法。


背景技术:

1、近年来随着物联网技术的发展和工业智能化的提出,产品的复杂度越来越高;同时,为了对产品进行有效的监测和控制,工业领域对控制系统的灵活性、稳定性、高速性、扩展性、兼容性也提出了更高的要求。因此,开发一款接口丰富、扩展性强、兼容性好、速度快的工业控制系统具有极其重要的意义。

2、中国电子科技集团公司第二十九研究所在其申请的专利《一种基于fpga的多功能控制盒及检测系统》(cn202210598506.1)中公开了一种基于fpga的多功能控制盒。该多功能控制盒包括:fpga,完成各种总线接口的通信协议解析及命令控制与转发;根据输入指令产生控制信号,以及对输入检测信号进行检测分析;对外提供总线接口,包括tcp/ip网口、rs232串口、rs422总线、i2c总线接口、can总线接口、spi总线接口、lvds总线接口以及mlvds总线接口;各个总线接口通过对应驱动电路与fpga连接。输入信号电平匹配电路以及输出信号驱动电路,分别与fpga连接;其中,输入信号电平匹配电路用于输入检测信号,输出信号驱动电路,用于输出控制信号。进一步的,所述多功能控制盒设有触摸屏,用于触摸控制与显示功能。进一步的,所述多功能控制盒设置有拨码开关,提供拨码开关控制功能。进一步的,所述多功能控制盒接收多种控制方式实现混合控制,根据需求可设置多种控制方式的优先级,根据优先级依次接收控制命令。进一步的,控制信号包括高低电平信号、脉冲信号以及时序相关信号。该发明还提出了一种基于上述的基于fpga的多功能控制盒的检测系统,包括:主机,内置上位机软件,对外提供串口与网口,多功能控制盒,通过rs232串口与上位机的串口连接;通过tcp/ip网口与上位机的网口连接;通过can总线接口与待测产品的can总线接口连接,通过lvds总线接口与待测产品的lvds总线接口连接;通过输入信号检测接口与待测产品的输出状态信号接口连接;通过输出信号控制接口与待测产品的输出状态信号接口连接;待测产品,对外提供can总线接口、lvds总线接口、输出状态信号接口以及电平控制信号接口。进一步的,多功能控制盒中的fpga通过rs232串口或tcp/ip网口与主机进行通讯,接收控制计算机下发的控制命令,fpga根据接收到的控制命令,通过can总线接口和lvds总线接口分别向待测产品的can总线接口和lvds总线接口转发控制命令。进一步的,多功能控制盒的fpga通过逻辑编程通过输出控制信号接口向待测产品的电平控制信号接口发送输出控制信号,fpga通过输入检测信号接口检测待测产品输出状态信号接口的电平信号和脉冲信号,将信号检测分析结果通过rs232串口或tcp/ip网口上报主机。进一步的,所述检测系统的工作过程为:步骤1、多功能控制盒接收控制命令,并通过总线接口转发至待测产品;步骤2、多功能控制盒根据接收的控制命令,产生控制信号输出至待测产品;步骤3、待测产品输出状态信号至多功能控制盒,多功能控制盒通过fpga进行检测分析;步骤4、多功能控制盒将检测分析结果通过总线接口上报主机。

3、但是,现有的fpga的缺点包括:1、接口可挂载外设数量少,扩展性不强,灵活性不够:接口数量较少,每种接口只有一路可用,不适用于需要挂载较多设备的应用场景;在进行输入信号检测和控制信号输出时,也因管脚较少,在需要对多个输出、输入信号进行操作的时候无法进行有效的扩展,灵活性不够。2、接口不能够复用:在工业控制领域,通过modbus rtu协议通信的从设备较为常见,且较多为rs485/rs232接口,现有技术的rs232接口只能连接普通的具有rs232接口的外设,而不能兼容通讯协议为modbus rtu、接口为rs232口的从设备,接口不能复用,兼容性较差。


技术实现思路

1、有鉴于此,为了解决现有的技术问题,本发明提供一种基于fpga的工业控制系统及方法。

2、一种基于fpga的工业控制系统,包括fpga和接口模块,所述fpga包括tcp/ip模块、modbus tcp协议栈模块、数据上下行控制模块、modbus网关模块、rs485模块、usart模块、can模块、i2c模块、spi模块和gpio模块;所述接口模块包括网口匹配电路、usart匹配电路、rs485匹配电路、can匹配电路、i2c匹配电路、spi匹配电路和gpio匹配电路;

3、fpga通过网口匹配电路与主机连接;fpga通过usart匹配电路外挂具有usart接口的外设;fpga通过rs485匹配电路外挂具有rs485接口的外设;fpga通过can匹配电路外挂具有can接口的外设;fpga通过i2c匹配电路外挂具有i2c接口的外设;fpga通过spi匹配电路外挂具有spi接口的外设;fpga通过gpio匹配电路对外设进行控制或者状态检测;

4、在工业控制系统不外挂modbus rtu从设备时,主机向tcp/ip模块下发modbus tcp请求包,所述tcp/ip模块将modbus tcp请求包传输至modbus tcp协议栈模块;所述modbustcp协议栈模块对modbustcp请求包进行解析处理,若modbus tcp请求包不存在异常,则会将解析后的modbus tcp请求包信息传输给数据上下游控制模块,数据上下游控制模块将解析后的modbus tcp请求包信息传输给相应的接口模块;

5、所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成。

6、进一步地,若modbus tcp请求包存在异常,则所述modbus tcp协议栈模块生成带有异常码的modbus tcp异常响应包,并经过tcp/ip模块发送给主机,以告知主机modbustcp请求包发生了异常。

7、进一步地,所述modbus tcp协议栈模块根据所述modbus tcp协议栈模块内的设备点表进行功能码、地址和字节数进行异常判断,以确定modbus tcp请求包是否存在异常。

8、进一步地,所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成,包括:

9、若modbus tcp请求包是数据写请求,则所述接口模块会将数据缓存在所述接口模块内部的存储空间,然后通过对应的接口驱动逻辑发送给外设或者驱动管脚电平,在进行完数据写请求操作之后向modbus tcp协议栈模块反馈数据写请求完成信号,modbus tcp协议栈模块在接收到所述数据写请求完成信号之后向主机发送所述modbus tcp响应包,用于告知主机数据写请求已完成;

10、若modbus tcp请求包是数据读请求,则所述接口模块将外设发过来的数据传输给数据上下行控制模块,数据上下行控制模块将外设数据传递给modbustcp协议栈模块,待外设数据传输完毕之后,所述接口模块向modbus tcp协议栈模块反馈数据读请求完成信号,modbus tcp协议栈模块在接收到所述数据读请求完成信号之后向主机发送所述modbustcp响应包,用于告知主机数据读请求已完成。

11、进一步地,在rs485接口需要外挂modbus rtu从设备时,主机向tcp/ip模块发送第一modbus tcp请求包,所述第一modbus tcp请求包的作用是对rs485模块进行配置,将其配置为外挂modbus rtu从设备模式;配置完成之后,主机向tcp/ip模块发送第二modbus tcp请求包,tcp/ip模块在接收到第二modbus tcp请求包之后透传给modbus网关模块,modbus网关模块将第二modbus tcp请求包转换为modbus rtu请求包,然后通过rs485模块发送给外设;外设对modbus rtu请求包作出响应之后,将modbus rtu响应包通过rs485接口发送给modbus网关模块,modbus网关模块将modbus rtu响应包转换为modbus tcp响应包之后通过tcp/ip模块发送给主机。

12、一种基于fpga的工业控制方法,所述工业控制方法基于一种工业控制系统,所述工业控制系统包括fpga和接口模块,所述fpga包括tcp/ip模块、modbus tcp协议栈模块、数据上下行控制模块、modbus网关模块、rs485模块、usart模块、can模块、i2c模块、spi模块和gpio模块;所述接口模块包括网口匹配电路、usart匹配电路、rs485匹配电路、can匹配电路、i2c匹配电路、spi匹配电路和gpio匹配电路;

13、fpga通过网口匹配电路与主机连接;fpga通过usart匹配电路外挂具有usart接口的外设;fpga通过rs485匹配电路外挂具有rs485接口的外设;fpga通过can匹配电路外挂具有can接口的外设;fpga通过i2c匹配电路外挂具有i2c接口的外设;fpga通过spi匹配电路外挂具有spi接口的外设;fpga通过gpio匹配电路对外设进行控制或者状态检测;

14、所述工业控制方法包括:

15、在工业控制系统不外挂modbus rtu从设备时,主机向tcp/ip模块下发modbus tcp请求包,所述tcp/ip模块将modbus tcp请求包传输至modbus tcp协议栈模块;所述modbustcp协议栈模块对modbustcp请求包进行解析处理,若modbus tcp请求包不存在异常,则会将解析后的modbus tcp请求包信息传输给数据上下游控制模块,数据上下游控制模块将解析后的modbus tcp请求包信息传输给相应的接口模块;

16、所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成。

17、进一步地,若modbus tcp请求包存在异常,则所述modbus tcp协议栈模块生成带有异常码的modbus tcp异常响应包,并经过tcp/ip模块发送给主机,以告知主机modbustcp请求包发生了异常。

18、进一步地,所述modbus tcp协议栈模块根据所述modbus tcp协议栈模块内的设备点表进行功能码、地址和字节数进行异常判断,以确定modbus tcp请求包是否存在异常。

19、进一步地,所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成,包括:

20、若modbus tcp请求包是数据写请求,则所述接口模块会将数据缓存在所述接口模块内部的存储空间,然后通过对应的接口驱动逻辑发送给外设或者驱动管脚电平,在进行完数据写请求操作之后向modbus tcp协议栈模块反馈数据写请求完成信号,modbus tcp协议栈模块在接收到所述数据写请求完成信号之后向主机发送所述modbus tcp响应包,用于告知主机数据写请求已完成;

21、若modbus tcp请求包是数据读请求,则所述接口模块将外设发过来的数据传输给数据上下行控制模块,数据上下行控制模块将外设数据传递给modbus tcp协议栈模块,待外设数据传输完毕之后,所述接口模块向modbus tcp协议栈模块反馈数据读请求完成信号,modbus tcp协议栈模块在接收到所述数据读请求完成信号之后向主机发送所述modbustcp响应包,用于告知主机数据读请求已完成。

22、进一步地,在rs485接口需要外挂modbus rtu从设备时,主机向tcp/ip模块发送第一modbus tcp请求包,所述第一modbus tcp请求包的作用是对rs485模块进行配置,将其配置为外挂modbus rtu从设备模式;配置完成之后,主机向tcp/ip模块发送第二modbus tcp请求包,tcp/ip模块在接收到第二modbus tcp请求包之后透传给modbus网关模块,modbus网关模块将第二modbus tcp请求包转换为modbus rtu请求包,然后通过rs485模块发送给外设;外设对modbus rtu请求包作出响应之后,将modbus rtu响应包通过rs485接口发送给modbus网关模块,modbus网关模块将modbus rtu响应包转换为modbus tcp响应包之后通过tcp/ip模块发送给主机。

23、本发明的有益效果为:本发明中,rs485接口既可以挂载普通外设,又可以挂载具有modbus rtu通信协议的从设备,使得该工业控制系统的rs485接口能够复用,兼容性较强。为了兼顾普通串口的通信设备和具有modbus rtu通信协议的串口通信设备,在fpga内部逻辑实现的过程中,增加了可通过动态参数配置,设置rs485接口是外接普通的串口通信设备还是通过modbus rtu协议通信的从设备,使得该工业控制系统的rs485接口能够复用,兼容性较强。

24、而且,为了适应器件越来越多、复杂度越来越大的工业产品的控制应用,在fpga芯片资源允许的情况下尽可能多的扩展总线接口及gpio口,以适应需要挂载较多设备的应用场景,增加控制系统的可扩展性和灵活性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1