[go: up one dir, main page]

CN116633968A - 一种基于fpga的工业控制系统及方法 - Google Patents

一种基于fpga的工业控制系统及方法 Download PDF

Info

Publication number
CN116633968A
CN116633968A CN202310490452.1A CN202310490452A CN116633968A CN 116633968 A CN116633968 A CN 116633968A CN 202310490452 A CN202310490452 A CN 202310490452A CN 116633968 A CN116633968 A CN 116633968A
Authority
CN
China
Prior art keywords
module
modbus
tcp
modbus tcp
interface
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.)
Pending
Application number
CN202310490452.1A
Other languages
English (en)
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.)
Zhengzhou Hengda Intelligent Control Technology Co ltd
Original Assignee
Zhengzhou Hengda Intelligent Control Technology Co ltd
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 Zhengzhou Hengda Intelligent Control Technology Co ltd filed Critical Zhengzhou Hengda Intelligent Control Technology Co ltd
Priority to CN202310490452.1A priority Critical patent/CN116633968A/zh
Publication of CN116633968A publication Critical patent/CN116633968A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • 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

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种基于FPGA的工业控制系统及方法,系统包括FPGA和接口模块,FPGA包括TCP/IP模块、modbus tcp协议栈模块、数据上下行控制模块、modbus网关模块、RS485模块、USART模块、CAN模块、I2C模块、SPI模块和GPIO模块,RS485接口既可以挂载普通外设,又可以挂载具有modbus rtu通信协议的从设备,使得该工业控制系统的RS485接口能够复用,兼容性较强。为了适应器件越来越多、复杂度越来越大的工业产品的控制应用,在FPGA芯片资源允许的情况下尽可能多的扩展总线接口及GPIO口,以适应需要挂载较多设备的应用场景,增加控制系统的可扩展性和灵活性。

Description

一种基于FPGA的工业控制系统及方法
技术领域
本发明涉及FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)技术领域,具体涉及一种基于FPGA的工业控制系统及方法。
背景技术
近年来随着物联网技术的发展和工业智能化的提出,产品的复杂度越来越高;同时,为了对产品进行有效的监测和控制,工业领域对控制系统的灵活性、稳定性、高速性、扩展性、兼容性也提出了更高的要求。因此,开发一款接口丰富、扩展性强、兼容性好、速度快的工业控制系统具有极其重要的意义。
中国电子科技集团公司第二十九研究所在其申请的专利《一种基于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、多功能控制盒将检测分析结果通过总线接口上报主机。
但是,现有的FPGA的缺点包括:1、接口可挂载外设数量少,扩展性不强,灵活性不够:接口数量较少,每种接口只有一路可用,不适用于需要挂载较多设备的应用场景;在进行输入信号检测和控制信号输出时,也因管脚较少,在需要对多个输出、输入信号进行操作的时候无法进行有效的扩展,灵活性不够。2、接口不能够复用:在工业控制领域,通过modbus rtu协议通信的从设备较为常见,且较多为RS485/RS232接口,现有技术的RS232接口只能连接普通的具有RS232接口的外设,而不能兼容通讯协议为modbus rtu、接口为RS232口的从设备,接口不能复用,兼容性较差。
发明内容
有鉴于此,为了解决现有的技术问题,本发明提供一种基于FPGA的工业控制系统及方法。
一种基于FPGA的工业控制系统,包括FPGA和接口模块,所述FPGA包括TCP/IP模块、modbus tcp协议栈模块、数据上下行控制模块、modbus网关模块、RS485模块、USART模块、CAN模块、I2C模块、SPI模块和GPIO模块;所述接口模块包括网口匹配电路、USART匹配电路、RS485匹配电路、CAN匹配电路、I2C匹配电路、SPI匹配电路和GPIO匹配电路;
FPGA通过网口匹配电路与主机连接;FPGA通过USART匹配电路外挂具有USART接口的外设;FPGA通过RS485匹配电路外挂具有RS485接口的外设;FPGA通过CAN匹配电路外挂具有CAN接口的外设;FPGA通过I2C匹配电路外挂具有I2C接口的外设;FPGA通过SPI匹配电路外挂具有SPI接口的外设;FPGA通过GPIO匹配电路对外设进行控制或者状态检测;
在工业控制系统不外挂modbus rtu从设备时,主机向TCP/IP模块下发modbus tcp请求包,所述TCP/IP模块将modbus tcp请求包传输至modbus tcp协议栈模块;所述modbustcp协议栈模块对modbustcp请求包进行解析处理,若modbus tcp请求包不存在异常,则会将解析后的modbus tcp请求包信息传输给数据上下游控制模块,数据上下游控制模块将解析后的modbus tcp请求包信息传输给相应的接口模块;
所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成。
进一步地,若modbus tcp请求包存在异常,则所述modbus tcp协议栈模块生成带有异常码的modbus tcp异常响应包,并经过TCP/IP模块发送给主机,以告知主机modbustcp请求包发生了异常。
进一步地,所述modbus tcp协议栈模块根据所述modbus tcp协议栈模块内的设备点表进行功能码、地址和字节数进行异常判断,以确定modbus tcp请求包是否存在异常。
进一步地,所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成,包括:
若modbus tcp请求包是数据写请求,则所述接口模块会将数据缓存在所述接口模块内部的存储空间,然后通过对应的接口驱动逻辑发送给外设或者驱动管脚电平,在进行完数据写请求操作之后向modbus tcp协议栈模块反馈数据写请求完成信号,modbus tcp协议栈模块在接收到所述数据写请求完成信号之后向主机发送所述modbus tcp响应包,用于告知主机数据写请求已完成;
若modbus tcp请求包是数据读请求,则所述接口模块将外设发过来的数据传输给数据上下行控制模块,数据上下行控制模块将外设数据传递给modbustcp协议栈模块,待外设数据传输完毕之后,所述接口模块向modbus tcp协议栈模块反馈数据读请求完成信号,modbus tcp协议栈模块在接收到所述数据读请求完成信号之后向主机发送所述modbustcp响应包,用于告知主机数据读请求已完成。
进一步地,在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模块发送给主机。
一种基于FPGA的工业控制方法,所述工业控制方法基于一种工业控制系统,所述工业控制系统包括FPGA和接口模块,所述FPGA包括TCP/IP模块、modbus tcp协议栈模块、数据上下行控制模块、modbus网关模块、RS485模块、USART模块、CAN模块、I2C模块、SPI模块和GPIO模块;所述接口模块包括网口匹配电路、USART匹配电路、RS485匹配电路、CAN匹配电路、I2C匹配电路、SPI匹配电路和GPIO匹配电路;
FPGA通过网口匹配电路与主机连接;FPGA通过USART匹配电路外挂具有USART接口的外设;FPGA通过RS485匹配电路外挂具有RS485接口的外设;FPGA通过CAN匹配电路外挂具有CAN接口的外设;FPGA通过I2C匹配电路外挂具有I2C接口的外设;FPGA通过SPI匹配电路外挂具有SPI接口的外设;FPGA通过GPIO匹配电路对外设进行控制或者状态检测;
所述工业控制方法包括:
在工业控制系统不外挂modbus rtu从设备时,主机向TCP/IP模块下发modbus tcp请求包,所述TCP/IP模块将modbus tcp请求包传输至modbus tcp协议栈模块;所述modbustcp协议栈模块对modbustcp请求包进行解析处理,若modbus tcp请求包不存在异常,则会将解析后的modbus tcp请求包信息传输给数据上下游控制模块,数据上下游控制模块将解析后的modbus tcp请求包信息传输给相应的接口模块;
所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成。
进一步地,若modbus tcp请求包存在异常,则所述modbus tcp协议栈模块生成带有异常码的modbus tcp异常响应包,并经过TCP/IP模块发送给主机,以告知主机modbustcp请求包发生了异常。
进一步地,所述modbus tcp协议栈模块根据所述modbus tcp协议栈模块内的设备点表进行功能码、地址和字节数进行异常判断,以确定modbus tcp请求包是否存在异常。
进一步地,所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成,包括:
若modbus tcp请求包是数据写请求,则所述接口模块会将数据缓存在所述接口模块内部的存储空间,然后通过对应的接口驱动逻辑发送给外设或者驱动管脚电平,在进行完数据写请求操作之后向modbus tcp协议栈模块反馈数据写请求完成信号,modbus tcp协议栈模块在接收到所述数据写请求完成信号之后向主机发送所述modbus tcp响应包,用于告知主机数据写请求已完成;
若modbus tcp请求包是数据读请求,则所述接口模块将外设发过来的数据传输给数据上下行控制模块,数据上下行控制模块将外设数据传递给modbus tcp协议栈模块,待外设数据传输完毕之后,所述接口模块向modbus tcp协议栈模块反馈数据读请求完成信号,modbus tcp协议栈模块在接收到所述数据读请求完成信号之后向主机发送所述modbustcp响应包,用于告知主机数据读请求已完成。
进一步地,在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模块发送给主机。
本发明的有益效果为:本发明中,RS485接口既可以挂载普通外设,又可以挂载具有modbus rtu通信协议的从设备,使得该工业控制系统的RS485接口能够复用,兼容性较强。为了兼顾普通串口的通信设备和具有modbus rtu通信协议的串口通信设备,在FPGA内部逻辑实现的过程中,增加了可通过动态参数配置,设置RS485接口是外接普通的串口通信设备还是通过modbus rtu协议通信的从设备,使得该工业控制系统的RS485接口能够复用,兼容性较强。
而且,为了适应器件越来越多、复杂度越来越大的工业产品的控制应用,在FPGA芯片资源允许的情况下尽可能多的扩展总线接口及GPIO口,以适应需要挂载较多设备的应用场景,增加控制系统的可扩展性和灵活性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:
图1是本申请实施例提供的FPGA芯片内部逻辑模块图;
图2是正常模式下工业控制系统的工作流程图;
图3是RS485接口外挂modbus rtu从设备时的工作流程图;
图4是设备点表第一部分示意图;
图5是设备点表第二部分示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请所述的技术方案,下面通过具体实施方式来进行说明。
本发明提供一种基于FPGA的工业控制系统,包括FPGA和接口模块。FPGA芯片是工业控制系统的核心部件,如图1所示,在FPGA芯片内部运行的模块包括:TCP/IP模块、modbustcp协议栈模块、数据上下行控制模块、modbus网关模块、RS485模块、USART模块、CAN模块、I2C模块、SPI模块、GPIO模块。
接口模块为FPGA的外围接口电路,包括网口匹配电路、USART匹配电路、RS485匹配电路、CAN匹配电路、I2C匹配电路、SPI匹配电路和GPIO匹配电路。FPGA通过网口匹配电路与主机连接;FPGA通过USART匹配电路外挂具有USART接口的外设;FPGA通过RS485匹配电路外挂具有RS485接口的外设;FPGA通过CAN匹配电路外挂具有CAN接口的外设;FPGA通过I2C匹配电路外挂具有I2C接口的外设;FPGA通过SPI匹配电路外挂具有SPI接口的外设;FPGA通过GPIO匹配电路对外设进行控制或者状态检测。
TCP/IP模块是FPGA端的TCP/IP协议栈,可与主机端的TCP/IP协议栈按照TCP/IP协议进行连接和数据交互。
modbus tcp协议栈模块是将TCP/IP模块接收到的主机发送的modbustcp请求包进行数据缓存和解析,如果请求包异常,则会返回异常响应,如果请求包正常,则会将解析后的请求包信息向下游传递,等待请求包执行完成之后,向主机返回modbus tcp响应包。
数据上下行控制模块是将解析后的请求包信息透传给各个接口模块。在某个接口模块对该请求包响应的过程中,会向该数据上下行控制模块反馈开始响应、响应数据、响应完成等信号。该数据上下行控制模块通过多路复用选择器将某个接口模块的响应信息发送给modbus tcp协议栈模块。
USART模块是根据USART接口时序编写的接口驱动,可动态配置波特率、数据位宽、奇偶校验和停止位,能够同时进行数据收、发,属于全双工接口。
RS485模块是根据RS485接口时序编写的接口驱动,可动态配置波特率、数据位宽、奇偶校验和停止位,不能够同时进行数据收、发,属于半双工接口。
CAN模块是根据CAN协议编写的接口驱动,可动态配置波特率、工作模式、中断使能、滤波器及掩码等信息,不能够同时进行数据收、发,属于半双工接口。
I2C模块是根据I2C时序编写的接口驱动,不能够同时进行数据收、发,属于半双工接口。
GPIO模块不需要根据时序编写接口驱动,只需将解析后的modbus tcp请求包信息转化为高低电平以控制输出口挂载的外设或者缓存输入口挂载的外设的状态信息以供主机进行状态的读取。
modbus网关模块是将从TCP/IP模块接收到的modbus tcp请求包转化为modbusrtu请求包,并将转化后的modbus rtu请求包通过RS485模块下发给挂载在RS485接口的外设,外设对modbus rtu请求包作出响应之后便将modbusrtu响应包通过RS485接口发送给modbus网关模块,modbus网关模块再将modbus rtu响应包转化为modbus tcp响应包上传给主机。
网口匹配电路采用YT8512H芯片以及百兆电口RJ45。
USART匹配电路采用NSi8221N1-DSPR的电平转换芯片,由FPGA端的3.3V转为外设端的5.0V。
RS485匹配电路采用RSM3485ECHT芯片。
CAN匹配电路采用CTM8251KAT芯片。
I2C匹配电路直接由FPGA的2个管脚引出,供外设连接。
SPI匹配电路直接由FPGA的8个管脚引出,供外设连接。
GPIO匹配电路直接由FPGA的100个管脚引出,供外设连接。
如图2所示,在工业控制系统不外挂modbus rtu从设备的情况下,主机向TCP/IP模块下发modbus tcp请求包,具体是主机通过百兆网口向FPGA的端口502下发modbus tcp请求包,TCP/IP模块将modbus tcp请求包传输至modbus tcp协议栈模块。modbustcp协议栈模块对modbus tcp请求包进行解析处理,并进行缓存,本实施例中,modbus tcp协议栈模块在解析时,根据modbus tcp协议栈模块内的设备点表进行功能码、地址和字节数进行异常判断,以确定modbus tcp请求包是否存在异常。若modbus tcp请求包存在异常,则modbustcp协议栈模块生成带有异常码的modbus tcp异常响应包,并经过TCP/IP模块发送给主机,以告知主机modbus tcp请求包发生了异常,还可以告知主机发生了何种异常;若modbus tcp请求包不存在异常,则会将解析后的modbus tcp请求包信息传输给数据上下游控制模块,数据上下游控制模块将解析后的modbus tcp请求包信息透传给相应的接口模块。
接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成。作为一个具体实施方式,数据请求类型分为数据写请求和数据读请求。若modbustcp请求包是数据写请求,则接口模块会将数据缓存在接口模块内部的存储空间,然后通过对应的接口驱动逻辑发送给外设或者驱动管脚电平,在进行完数据写请求操作之后向modbus tcp协议栈模块反馈数据写请求完成信号,modbus tcp协议栈模块在接收到数据写请求完成信号之后向主机发送modbus tcp响应包,用于告知主机数据写请求已完成;若modbustcp请求包是数据读请求,则接口模块将外设发过来的数据传输给数据上下行控制模块,数据上下行控制模块通过多路复用选择器将外设数据传递给modbus tcp协议栈模块,待外设数据传输完毕之后,接口模块向modbus tcp协议栈模块反馈数据读请求完成信号,modbus tcp协议栈模块在接收到数据读请求完成信号之后向主机发送modbustcp响应包,用于告知主机数据读请求已完成。
如图3所示,在RS485接口需要外挂modbus rtu从设备时,主机向TCP/IP模块发送第一modbus tcp请求包,具体地,主机向FPGA的端口502发送第一modbus tcp请求包,第一modbus tcp请求包的作用是对RS485模块进行配置,将其配置为外挂modbus rtu从设备模式。配置完成之后,主机向TCP/IP模块发送第二modbus tcp请求包,具体地,主机向FPGA的端口503发送第二modbus tcp请求包,TCP/IP模块在接收到第二modbus tcp请求包之后透传给modbus网关模块,modbus网关模块将第二modbus tcp请求包转换为modbus rtu请求包,然后通过RS485模块发送给外设。外设对modbusrtu请求包作出响应之后,将modbus rtu响应包通过RS485接口发送给modbus网关模块,modbus网关模块将modbus rtu响应包转换为modbus tcp响应包之后通过TCP/IP模块通过TCP/IP模块的端口503发送给主机。
对应于上述技术方案,如下给出一种具体实施方式:
如图1所示,USART_0模块通过USART匹配电路挂载一路报警灯;USART_1模块通过USART匹配电路挂载一路电磁先导磁驱动器;USART_2预留,不挂载任何设备;RS485_0模块通过RS485匹配电路挂载一路氧气浓度传感器;RS485_1模块通过RS485匹配电路挂载一路采用modbus rtu通信协议的温度传感器;RS485_2预留,不挂载任何设备;CAN_0模块通过CAN匹配电路挂载一路语音终端外设;CAN_1模块通过CAN匹配电路挂载一路扩展器倾角检测设备;CAN_2、CAN_3预留,不挂载任何设备;I2C模块通过I2C匹配电路挂载一路电流监测模块;SPI模块通过SPI匹配电路挂载一路8通道的AD采样模块;GPIO模块通过GPIO匹配电路外接一个时钟状态LED灯、8个按键和8个按键状态LED灯,其余管脚预留。
主机通过以太网口与FPGA芯片内部的TCP/IP模块连接并发送modbus tcp请求包。TCP/IP模块打开两个端口:502和503,其中端口502的一组数据接口与数据上下行控制模块连接,端口503的一组数据接口与modbus网关模块连接。
在正常模式,即RS485模块不外挂通过modbus rtu协议通信的从设备的模式下,使用端口502进行数据的传输,本工业控制系统支持的modbus tcp请求包括:读线圈(功能码:01H)、读离散量输入(功能码:02H)、读保持寄存器(功能码:03H)、读输入寄存器(功能码:04H)、写单个线圈(功能码:05H)、写单个保持寄存器(功能码:06H)、写多个线圈(功能码:0FH)、写多个保持寄存器(功能码:10H)。TCP/IP模块将接收到的modbus tcp请求包透传给modbus tcp协议栈模块。
modbus tcp协议栈模块将接收到的modbus tcp请求包进行缓存,同时对请求包中的功能码、存储地址、数量、字节长度等信息进行判断。判断的方法为:首先,将请求包中的功能码与本工业控制系统支持的功能码进行对比,若不在本工业控制系统支持的功能码类型中,则会生成异常码01H,组织带有异常码01H的modbus tcp异常响应包并将该异常响应包发送给主机;第二步,在第一步功能码无异常且确定了功能码类型之后,判断请求包中的存储地址是否在设备点表中,若不在设备点表中,则生成异常码02H,组织带有异常码02H的modbus tcp异常响应包并将该异常响应包发送给主机;第三步,在第二步存储地址无异常情况下,①若功能码类型为写多个线圈(0FH),则判断输出数量和字节长度是否一致,若不一致,则生成异常码03H;②若功能码类型为写多个保持寄存器(10H),则判断寄存器数量和字节长度是否一致,若不一致,则生成异常码03H,组织带有异常码02H的modbus tcp异常响应包并将该异常响应包发送给主机;第四步,在前三步都无异常的情况下,则会将解析后的modbustcp请求包信息发送给数据上下行控制模块。
解析后的请求包信息包括8组信号,包括:读线圈信号组、读离散量信号组、读保持寄存器信号组、读输入寄存器信号组、写单个线圈信号组、写单个保持寄存器信号组、写多个线圈信号组和写多个保持寄存器信号组。每个信号组包含了该操作的必要信息,例如读线圈信号组包含的信息为:读线圈使能信号、起始地址和数量。
如图4和图5所示,FPGA内部的设备点表按模块及存储类型划分。左侧0xXXXX表示存储空间的起始地址,中间方框内表示存储空间的作用及存储类型,右侧表示的是模块。对于寄存器来说,每个地址代表16bit的存储空间;对于离散量输入和线圈来说,每个地址代表1bit的存储空间。预留的部分留作以后开发使用。
数据上下行控制模块将解析后的8组请求包信号按需要与各个接口模块连接,例如在USART_0模块中,存储空间类型只有保持寄存器和输入寄存器,所以将写单个保持寄存器信号组、写多个保持寄存器信号组、读保持寄存器信号组和读输入寄存器信号组与USART_0模块连接即可。
RS485_0模块通过RS485匹配电路外挂了一路氧气浓度传感器。氧气浓度传感器可实时检测空气中氧气浓度的数值并通过RS485接口不间断发送给RS485_0模块。RS485模块将接收到的空气中氧气浓度值缓存在地址0x107b寄存器内等待主机的读取。主机每间隔100ms向FPGA发送modbus tcp读输入寄存器的请求包,该请求包中的寄存器地址为0x107b,寄存器数量为1。RS485模块在接收到解析后的读输入寄存器信号组信号后,将0x107b寄存器内的值发送给数据上下行控制模块。数据上下行控制模块会将该寄存器值发送给modbustcp协议栈模块,由modbus tcp协议栈模块组织modbus tcp响应包,将包含氧气浓度值的响应包发送给主机。当主机获取到氧气浓度值,并判决该氧气浓度低于安全标准,就向FPGA发送modbus tcp写多个保持寄存器的请求包,该请求包的起始地址为0x0002,寄存器数量为0x0004,字节长度为0x08,寄存器值为0x0302、0x4000、0xffff、0xff00,USART_0在接收到该请求包数据之后,将其缓存在起始地址为0x0002的连续存储空间内,待接收完毕之后,触发USART_0模块内部的数据发送功能,将起始地址为0x0002的连续4个寄存器的值通过接口发送给报警灯外设,报警灯外设在接收到该连续8个字节的数据之后会进行连续闪烁,告知周围的工作人员空气中氧气浓度过低。
需要说明的是,在通过RS485或者USART接口传输数据之前,需要将接口的波特率、数据位宽、奇偶校验和停止位等配置信息设置为与挂载的外设一致,否则会导致通信失败。与此类似的还有CAN接口,在通过CAN接口进行数据传输之前,也需要根据传输需求对CAN接口的波特率、工作模式、中断使能、滤波器及掩码等信息进行配置。
在通过RS485_1模块与温度传感器进行通信时,需要将RS485_1模块配置为外挂modbus rtu协议设备的模式,配置方法为:主机向FPGA端口502发送modbus tcp写单个保持寄存器请求包,该请求包的起始地址为0x1101,寄存器值0x1000。在将RS485_1模块配置为外挂modbus rtu协议从设备的模式后,主机向FPGA端口503发送modbus tcp请求包,TCP/IP模块将接收到的modbus tcp请求包通过端口503数据接口传输给modbus网关模块,modbus网关模块将modbus tcp请求包转换为modbus rtu请求包,然后通过RS485接口发送给温度传感器,温度传感器对该请求包进行响应之后,将modbus rtu响应包发送给RS485_1模块,RS485_1模块再将数据透传给modbus网关模块,modbus网关模块将modbus rtu响应包转换为modbustcp响应包再通过端口503接口发送给主机。
需要说明的是,如果RS485_1模块外挂的设备由modbus rtu协议的从设备替换为了普通的RS485接口设备,则需要再动态的将RS485_1模块配置为正常模式,然后通过端口502对其进行操作即可。
需要说明的是,在RS485_1接口外挂modbus rtu从设备时,主机通过FPGA的端口502对其他接口进行操作,通过FPGA的端口503对RS485_1接口进行操作。
因此,本发明提供的一种基于FPGA的工业控制系统应用于工业控制领域,基于FPGA芯片和接口匹配电路设计,该工业控制系统有一路百兆以太网口、三路USART接口、三路RS485总线、四路CAN总线、一路I2C接口、一路SPI接口和100个GPIO口,需要与具有上位机的主机连接发挥作用,主机与工业控制系统之间接口为百兆以太网,接口协议为TCP/IP协议,通信协议为modbus tcp协议,modbus tcp通信协议支持八类操作:读线圈、读离散量输入、读保持寄存器、读输入寄存器、写单个线圈、写单个保持寄存器、写多个线圈和写多个保持寄存器,在FPGA侧,TCP/IP模块打开两个端口502和503用于数据传输,502端口的数据接口与数据上下行控制模块连接,503端口的数据接口与modbus网关模块连接,USART和RS485接口可配置波特率、数据位宽、奇偶校验和停止位宽等信息,CAN接口可配置波特率、工作模式、中断使能、滤波器及掩码等信息,RS485模块可配置为两种模式:一种是外挂普通的接口为RS485的设备;一种是外挂接口为RS485、通信协议为modbus rtu的从设备。
本实施例还提供一种基于FPGA的工业控制方法,该工业控制方法基于的工业控制系统包括FPGA和接口模块。FPGA包括TCP/IP模块、modbus tcp协议栈模块、数据上下行控制模块、modbus网关模块、RS485模块、USART模块、CAN模块、I2C模块、SPI模块、GPIO模块和接口模块;接口模块包括网口匹配电路、USART匹配电路、RS485匹配电路、CAN匹配电路、I2C匹配电路、SPI匹配电路和GPIO匹配电路。
FPGA通过网口匹配电路与主机连接;FPGA通过USART匹配电路外挂具有USART接口的外设;FPGA通过RS485匹配电路外挂具有RS485接口的外设;FPGA通过CAN匹配电路外挂具有CAN接口的外设;FPGA通过I2C匹配电路外挂具有I2C接口的外设;FPGA通过SPI匹配电路外挂具有SPI接口的外设;FPGA通过GPIO匹配电路对外设进行控制或者状态检测。
由于该工业控制方法与工业控制系统的运行过程相对应,上述在对工业控制系统进行说明时,已给出了运行过程的具体实现过程,不再赘述。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种基于FPGA的工业控制系统,其特征在于,包括FPGA和接口模块,所述FPGA包括TCP/IP模块、modbus tcp协议栈模块、数据上下行控制模块、modbus网关模块、RS485模块、USART模块、CAN模块、I2C模块、SPI模块和GPIO模块;所述接口模块包括网口匹配电路、USART匹配电路、RS485匹配电路、CAN匹配电路、I2C匹配电路、SPI匹配电路和GPIO匹配电路;
FPGA通过网口匹配电路与主机连接;FPGA通过USART匹配电路外挂具有USART接口的外设;FPGA通过RS485匹配电路外挂具有RS485接口的外设;FPGA通过CAN匹配电路外挂具有CAN接口的外设;FPGA通过I2C匹配电路外挂具有I2C接口的外设;FPGA通过SPI匹配电路外挂具有SPI接口的外设;FPGA通过GPIO匹配电路对外设进行控制或者状态检测;
在工业控制系统不外挂modbus rtu从设备时,主机向TCP/IP模块下发modbus tcp请求包,所述TCP/IP模块将modbus tcp请求包传输至modbus tcp协议栈模块;所述modbus tcp协议栈模块对modbus tcp请求包进行解析处理,若modbus tcp请求包不存在异常,则会将解析后的modbus tcp请求包信息传输给数据上下游控制模块,数据上下游控制模块将解析后的modbus tcp请求包信息传输给相应的接口模块;
所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成。
2.根据权利要求1所述的基于FPGA的工业控制系统,其特征在于,
若modbus tcp请求包存在异常,则所述modbus tcp协议栈模块生成带有异常码的modbus tcp异常响应包,并经过TCP/IP模块发送给主机,以告知主机modbus tcp请求包发生了异常。
3.根据权利要求1或2所述的基于FPGA的工业控制系统,其特征在于,
所述modbus tcp协议栈模块根据所述modbus tcp协议栈模块内的设备点表进行功能码、地址和字节数进行异常判断,以确定modbus tcp请求包是否存在异常。
4.根据权利要求1所述的基于FPGA的工业控制系统,其特征在于,
所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成,包括:
若modbus tcp请求包是数据写请求,则所述接口模块会将数据缓存在所述接口模块内部的存储空间,然后通过对应的接口驱动逻辑发送给外设或者驱动管脚电平,在进行完数据写请求操作之后向modbus tcp协议栈模块反馈数据写请求完成信号,modbus tcp协议栈模块在接收到所述数据写请求完成信号之后向主机发送所述modbus tcp响应包,用于告知主机数据写请求已完成;
若modbus tcp请求包是数据读请求,则所述接口模块将外设发过来的数据传输给数据上下行控制模块,数据上下行控制模块将外设数据传递给modbus tcp协议栈模块,待外设数据传输完毕之后,所述接口模块向modbus tcp协议栈模块反馈数据读请求完成信号,modbus tcp协议栈模块在接收到所述数据读请求完成信号之后向主机发送所述modbustcp响应包,用于告知主机数据读请求已完成。
5.根据权利要求1所述的基于FPGA的工业控制系统,其特征在于,
在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模块发送给主机。
6.一种基于FPGA的工业控制方法,其特征在于,所述工业控制方法基于一种工业控制系统,所述工业控制系统包括FPGA和接口模块,所述FPGA包括TCP/IP模块、modbus tcp协议栈模块、数据上下行控制模块、modbus网关模块、RS485模块、USART模块、CAN模块、I2C模块、SPI模块和GPIO模块;所述接口模块包括网口匹配电路、USART匹配电路、RS485匹配电路、CAN匹配电路、I2C匹配电路、SPI匹配电路和GPIO匹配电路;
FPGA通过网口匹配电路与主机连接;FPGA通过USART匹配电路外挂具有USART接口的外设;FPGA通过RS485匹配电路外挂具有RS485接口的外设;FPGA通过CAN匹配电路外挂具有CAN接口的外设;FPGA通过I2C匹配电路外挂具有I2C接口的外设;FPGA通过SPI匹配电路外挂具有SPI接口的外设;FPGA通过GPIO匹配电路对外设进行控制或者状态检测;
所述工业控制方法包括:
在工业控制系统不外挂modbus rtu从设备时,主机向TCP/IP模块下发modbus tcp请求包,所述TCP/IP模块将modbus tcp请求包传输至modbus tcp协议栈模块;所述modbus tcp协议栈模块对modbus tcp请求包进行解析处理,若modbus tcp请求包不存在异常,则会将解析后的modbus tcp请求包信息传输给数据上下游控制模块,数据上下游控制模块将解析后的modbus tcp请求包信息传输给相应的接口模块;
所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成。
7.根据权利要求6所述的基于FPGA的工业控制方法,其特征在于,
若modbus tcp请求包存在异常,则所述modbus tcp协议栈模块生成带有异常码的modbus tcp异常响应包,并经过TCP/IP模块发送给主机,以告知主机modbus tcp请求包发生了异常。
8.根据权利要求6或7所述的基于FPGA的工业控制方法,其特征在于,
所述modbus tcp协议栈模块根据所述modbus tcp协议栈模块内的设备点表进行功能码、地址和字节数进行异常判断,以确定modbus tcp请求包是否存在异常。
9.根据权利要求6所述的基于FPGA的工业控制方法,其特征在于,
所述接口模块根据modbus tcp请求包的数据请求类型,进行对应操作处理,并在操作处理完成后向主机发送modbus tcp响应包,用于告知主机对应请求操作已完成,包括:
若modbus tcp请求包是数据写请求,则所述接口模块会将数据缓存在所述接口模块内部的存储空间,然后通过对应的接口驱动逻辑发送给外设或者驱动管脚电平,在进行完数据写请求操作之后向modbus tcp协议栈模块反馈数据写请求完成信号,modbus tcp协议栈模块在接收到所述数据写请求完成信号之后向主机发送所述modbus tcp响应包,用于告知主机数据写请求已完成;
若modbus tcp请求包是数据读请求,则所述接口模块将外设发过来的数据传输给数据上下行控制模块,数据上下行控制模块将外设数据传递给modbus tcp协议栈模块,待外设数据传输完毕之后,所述接口模块向modbus tcp协议栈模块反馈数据读请求完成信号,modbus tcp协议栈模块在接收到所述数据读请求完成信号之后向主机发送所述modbustcp响应包,用于告知主机数据读请求已完成。
10.根据权利要求6所述的基于FPGA的工业控制方法,其特征在于,
在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模块发送给主机。
CN202310490452.1A 2023-05-04 2023-05-04 一种基于fpga的工业控制系统及方法 Pending CN116633968A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310490452.1A CN116633968A (zh) 2023-05-04 2023-05-04 一种基于fpga的工业控制系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310490452.1A CN116633968A (zh) 2023-05-04 2023-05-04 一种基于fpga的工业控制系统及方法

Publications (1)

Publication Number Publication Date
CN116633968A true CN116633968A (zh) 2023-08-22

Family

ID=87635642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310490452.1A Pending CN116633968A (zh) 2023-05-04 2023-05-04 一种基于fpga的工业控制系统及方法

Country Status (1)

Country Link
CN (1) CN116633968A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118445088A (zh) * 2024-07-05 2024-08-06 浪潮电子信息产业股份有限公司 一种网络报文的处理方法、系统、装置、设备以及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118445088A (zh) * 2024-07-05 2024-08-06 浪潮电子信息产业股份有限公司 一种网络报文的处理方法、系统、装置、设备以及介质

Similar Documents

Publication Publication Date Title
CN110471872B (zh) 一种基于zynq芯片实现m-lvds总线数据交互系统和方法
CN102647320B (zh) 适用于高速1553总线协议控制的集成电路
CN103714029B (zh) 新型二线同步通信协议及应用
CN101866328B (zh) 一种自动访问的串行总线读写控制方法
CN102023954A (zh) 具有多路i2c总线的装置、处理器、系统主板及工控计算机
EP1216564A1 (en) Reduced hardware network adapter and communication method
CN108111382B (zh) 基于i3c总线的通信装置及其通信方法
WO2018208535A1 (en) Slave master-write/read datagram payload extension
US20150326504A1 (en) Apparatus and method for encoding mdio into sgmii transmissions
CN105243044B (zh) 基于串口的管理系统及管理方法
CN108255776B (zh) 一种兼容apb总线的i3c主设备、主从系统及通信方法
US7337245B2 (en) Protocol adapter for passing diagnostic messages between vehicle networks and a host computer
CN102253913A (zh) 一种对多板卡端口进行状态获取和输出控制的装置
CN112564882B (zh) 一种基于ahb总线的单线数字通讯接口
CN110245101B (zh) 一种多通信接口数据交换板卡及其实现系统
CN112506727A (zh) 一种芯片调试、测试以及固件更新的方法及其系统
US20180329838A1 (en) Bus communication enhancement based on identification capture during bus arbitration
CN116633968A (zh) 一种基于fpga的工业控制系统及方法
US5889817A (en) Communication system with data comparison circuit
CN110321304A (zh) 车载环境下fpga和stm32之间的总线通信系统
CN114201436B (zh) 一种基于axi总线的Lvds数据通信实现方法及通信装置
CN114124609B (zh) 一种基于1553b总线的通信装置及通信方法
CN114721317B (zh) 一种基于spi控制器网络通讯控制系统及方法
CN210518377U (zh) 一种EtherCAT、ProfiNET总线兼容系统
CN114488871A (zh) 控制方法、变频器及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination