CN116319953A - 一种半导体设备数据采集方法 - Google Patents
一种半导体设备数据采集方法 Download PDFInfo
- Publication number
- CN116319953A CN116319953A CN202310590217.1A CN202310590217A CN116319953A CN 116319953 A CN116319953 A CN 116319953A CN 202310590217 A CN202310590217 A CN 202310590217A CN 116319953 A CN116319953 A CN 116319953A
- Authority
- CN
- China
- Prior art keywords
- data
- equipment
- secs
- message
- hsms
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000007405 data analysis Methods 0.000 claims abstract description 6
- 238000004891 communication Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 13
- 238000004458 analytical method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000013480 data collection Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Cardiology (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种半导体设备数据采集方法,该方法包括:在EdgeX中提供对SECS/GEM设备的驱动服务,通过在设备的配置文件中设置自动执行事件,来实现对半导体设备的定时主动采集。实施本发明,可以实现通过EdgeX对半导体设备数据的采集,在EdgeX的边缘计算模块中对采集到的数据进行分析,外部云平台也可以通过EdgeX的接口获取到半导体设备的实时数据,对数据进行大数据分析,根据分析结果来指导半导体生产过程。
Description
技术领域
本发明涉及半导体设备通信技术领域,尤其涉及一种半导体设备的数据采集方法。
背景技术
随着工业物联网的发展,数据采集在工业生产管理中的作用变得越来越重要。在实际工业生产中,设备数据采集是实现数据驱动生产的重要途径之一,可以实时获取设备的状态和性能数据,为工厂实现智能化、自动化提供支持。
为了实现设备数据采集的标准化和互操作性,国际半导体设备和材料组织开发了SECS/GEM标准。该标准定义了设备与主机之间的消息格式、通信协议、状态机和场景,使工厂软件能够控制和监控制造设备。传统的SECS/GEM协议通常只用在局域网中,通过运行在主机上的EAP(Equipment Automation Program,设备自动化程序)系统与设备进行通信,实现设备的数据采集。采集到的数据难以及时被外部系统所利用。
EdgeX平台作为一个高度灵活和可扩展的开源边缘平台,可以促进物联网边缘设备和应用程序之间的互操作性。然而,目前EdgeX平台的驱动中尚未提供SECS/GEM标准的相关实现,因此无法利用EdgeX对半导体设备进行数据采集,进而对数据进行即时分析。
发明内容
有鉴于此,有必要提供一种半导体设备数据采集方法,以解决现有技术中EdgeX无法对SECS/GEM标准的半导体设备进行数据采集的问题。
为实现上述目的,本发明提供了一种半导体设备数据采集方法,包括以下步骤:
S1,在边缘侧的计算机终端上部署EdgeX,并提供对SECS/GEM协议设备的驱动服务;
S2,定义半导体设备的配置文件,根据数据采集需求在配置文件中配置周期采集指令;
S3,将半导体设备和计算机终端连接到同一个局域网,启动半导体设备,启动EdgeX,EdgeX根据配置,定时主动向半导体设备发送采集指令,并自动接收和解析设备返回的采集结果,将采集的数据存储在边缘侧数据库,EdgeX的边缘计算模块对采集到的数据进行分析、计算;
S4,云侧的云端节点通过EdgeX边缘节点提供的接口获取边缘侧数据库中的采集数据,进行云计算和大数据分析。
步骤S1所述EdgeX对SECS/GEM协议设备的驱动服务具体步骤包括:
(1)定义SECS/GEM协议设备的配置文件格式,配置文件包括设备服务配置文件和设备数据配置文件,所述设备服务配置文件定义设备的连接信息及周期性采集命令参数,设备数据配置文件定义设备的源数据和操作方法;
(2)根据配置文件,建立与设备之间的网络连接;
(3)创建重连协程,进行自动重连处理;
(4)使用定时器以一定的频率向设备发送采集指令;接收设备返回的采集数据并发送到EdgeX;
(5)回复设备上报的事件,并将有效数据发送到EdgeX;
(6)回复设备的心跳包。
优选的,在所述步骤(1)中,设备服务配置文件位于cmd/res/devices/目录下,设备数据配置文件位于cmd/res/profiles/目录下;一个设备服务配置文件中可以定义多个设备,通过字段name来区分不同的设备,每个设备通过profileName字段来匹配对应的设备数据信息;一个设备数据配置文件中定义一组数据,如果需要定义多组设备数据,需要定义多个设备数据配置文件,通过字段name来区分不同的设备数据配置。Edgex可以按照不同的设备的不同的属性去发送数据采集指令,需要在设备服务配置文件的autoEvents中配置采集间隔、采集指令及参数。
优选的,在所述步骤(2)中,建立与设备之间网络连接的具体步骤包括:
(21)根据配置文件,创建与设备之间的TCP连接,若TCP连接建立成功,设备HSMS状态由NOT CONNECTED变为CONNECTED - NOT SELECTED。
(22)发送HSMS协议的控制消息Select.req到设备,若得到设备正常回复,表示设备已由CONNECTED - NOT SELECTED 变为SELECTED。至此,主机和设备才能正常进行 SECS-II 消息通信。
(23)向设备发送SECS-II消息S1F13用于建立COMMUNICATING通信状态,设备回复S1F14并且COMMACK为0,表示COMMUNICATING通信状态建立成功。
(24)向设备发送SECS-II消息S1F17用于建立ON-LINE控制状态,设备回复S1F18并且ONLACK为0,表示ON-LINE控制状态建立成功。至此,主机和设备才能正常进行其它的SECS-II消息通信。
优选的,在所述步骤(23)、(24)与设备进行SECS-II消息进行交互的过程中,需要进行封装和解析操作,具体方法为:
向设备发送SECS-II消息时,将消息数据内容按照SECS-II数据报文格式转换成二进制数据,接着将SECS-II消息进行HSMS封包,即按照HSMS报文消息格式将SECS-II消息的Stream、Function、W-bit封装到HSMS包头的对应位置,将SECS-II消息的数据内容封装到HSMS消息的数据部分,然后将形成的HSMS报文转成网络字节流进行发送;
接收到设备返回的HSMS格式的消息之后,需要按照HSMS报文格式进行解析,提取出其中的sType、Stream、Function字段,用来进行设备返回消息类型的判断,然后对HSMS消息体中的SECS-II进行解析,提取出其中的数据部分。
优选的,在所述步骤(21)~(24)中,需要按照HSMS定义的超时来对连接以及数据接收进行超时控制处理。
优选的,在所述步骤(3)中,重连处理的具体方法为:对于每个设备,连接成功后,创建一个控制协程,在控制协程中创建重连协程,在重连协程中启动定时器,通过驱动的连接属性值定期检查主机与设备之间网络连接的状态,如果连接正常,则不做任何处理;如果连接异常或者断开,则使用配置文件尝试重新建立连接;如果重新建立成功,则将连接状态设为正常;如果重新建立连接失败,则连接状态不做任何设置,进入下一个重试周期。
优选的,在所述步骤(4)中,所述定时器的时长是在步骤(1)中的设备服务配置文件的autoEvents中进行配置的。设备驱动服务程序启动后,读取关联到此设备驱动服务的设备列表,然后给每个设备的autoEvents的配置项开启一个主动采集协程定期发送采集指令。在发送采集指令前,需要对采集指令进行封装,接收到设备的采集数据之后,需要对采集数据进行解析,组装成 EdgeX 的统一格式,发送到 EdgeX。
优选的,在所述步骤(5)中,设备向主机上报事件是通过SECS-II消息S6F11进行的,主机收到S6F11之后,需要向设备回复S6F12消息,用于确认收到事件报告,同时,需要解析出SECS-II消息S6F11中的数据内容,组装成 EdgeX 的统一格式,发送到 EdgeX。
优选的,在所述步骤(6)中,设备向主机发送心跳包是通过HSMS控制消息linktest.req进行的,主机收到linktest.req之后,需要向设备回复linktest.rsp消息,用于确认HSMS通信的正确性。
实施本发明的半导体设备数据采集方法,可以带来以下的有益效果:通过EdgeX对半导体设备进行实时数据采集,在EdgeX的边缘计算模块中对采集到的数据进行分析,可以对半导体设备进行实时的控制,另外,通过EdgeX提供的接口,外部云平台可以获取到半导体设备的实时数据,通过大数据分析,利用分析的结果来指导生产过程,提高生产效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一种半导体设备数据采集方法一个实施例所涉及的EdgeX平台架构图。
图2为本发明一种半导体设备数据采集方法一个实施例所涉及的SECS/GEM标准的结构图。
图3为本发明一种半导体设备数据采集方法一个实施例提供的半导体设备数据采集架构图。
图4为本发明一种半导体设备数据采集方法一个实施例所涉及的HSMS的状态转换图。
图5为本发明一种半导体设备数据采集方法一个实施例提供的设备初始化示意图。
图6为本发明一种半导体设备数据采集方法一个实施例提供的设备驱动整体流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明实施例作进一步详细描述。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示为EdgeX平台架构图,EdgeX包含几个主要部分:
设备驱动层(DEVICE SERVICES)。设备驱动层主要提供设备接入的功能,由多个设备驱动组成。每个设备驱动是用户根据设备驱动软件开发工具包(SDK)编写生成的一个微服务。EdgeX使用设备文件去定义一个南侧设备的相关信息,包括源数据格式,存储在EdgeX中 的数据格式以及对该设备的操作命令等信息。设备驱动将来自设备的数据进行格式转换,并发送至核心服务层。目前,EdgeX 提供了消息队列遥测传输协议(MQTT)、ModBus串行通信协议和低功耗蓝牙协议(BLE)等多种接入方式。
核心服务层(CORE SERVICES)。核心服务层由核心数据、命令、元数据、注册表和配置 4 个微服务组件组成。核心数据微服务存储和管理来自南侧设备的数据、元数据微服务存储和管理设备的元数据。命令微服务将定义在设备文件的操作命令转换成通用的API,提供给用户以监测控制该设备。注册表和配置微服务存储设备驱动的相关信息。
支持服务层(SUPPORTING SERVICES)。支持服务层提供边缘分析和智能服务,以规则引擎微服务为例,允许用户设定一些规则,当检测到数据满足规则要求时,将触发一个特定的操作。例如规则引擎可监测控制温度传感器,当检测到温度低于25度时,触发对空调的关闭操作。
应用程序服务层(APPLICATION SERVICES)。应用服务层用于将数据传输至云计算中心,由客户端注册和分发等微服务组件组成。前者记录已注册的后端系统的相关信息,后者将对应数据从核心服务层导出至指定客户端。
SECS/GEM是由SEMI(Semiconductor Equipment and Materials Institute,半导体设备与材料协会)制定的半导体行业通信标准协议。如图2所示,SECS/GEM标准由四个协议组成:SECS-I、SECS-II、GEM、HSMS。其中,SECS-I、SECS-II处于标准的最底层,提供了半导体生产设备通信的链路层规范,SECS-I基于RS-232,HSMS基于TCP/IP;SECS-II定义了半导体生产设备与主机之间消息的通信格式、规范与内容;GEM则定义了半导体生产制造过程中的通用情景下的交互行为。
目前绝大多数的半导体设备均遵照SECS/GEM协议。传统的SECS/GEM协议通常只用在局域网中,通过运行在主机上的EAP(Equipment Automation Program,设备自动化程序)系统与设备进行通信,实现设备的数据采集。如图3为本发明的半导体设备数据采集架构图,将SECS/GEM设备注册到EdgeX平台之后,可以在EdgeX框架中进行边缘计算,也可以通过EdgeX框架将SECS/GEM设备的数据上传到云平台上,进行大数据分析。
HSMS协议定义了5种不同类型的超时:
1. T3(Reply timeout)。当发送方发送一条Primary Message并且W-bit为1需要接收方返回结果的HSMS数据消息的时候,需要启动一个计时器,计时器的时长为T3。如果发送方在 T3 的时间内还没有收到返回的结果,T3超时将被触发,这时发送方将关闭这次消息传输,并且不会再等待接收方返回消息。T3超时的范围为1-120秒。
2. T5(Separation timeout)。T5 超时表示当主机与生产设备之间TCP/IP连接中断后,想要再次建立 TCP/IP 连接需要等待的时间为T5。T5超时的范围为1-240秒。
3. T6(Control timeout)。T6表示HSMS控制消息发送与接收之间所允许的最大时间长度,当HSMS控制消息Select.req/Linktest.req/Deselect.req 由发送端发出后,如果经过 T6 的时间还没有收到 Select.rsp/Linktest.rsp/Deselect.rsp,则触发T6超时处理,认为HSMS 通信失败。T6超时的范围为1-240秒。
4. T7(NOT SELECTED timeout)。当HSMS通信初始化TPC/TP 连接建立以后,连接的一方会发送 Select.req 控制消息给另一方。此时,接收控制消息方开始设置 T7,如果在 T7 的时间内接收方还没有收到 Select.req 消息,则认为HSMS通信失败。T7超时的范围为1-240秒。
5. T8(Network intercharacter timeout)。HSMS通信是建立在 TCP/IP 协议基础上的,在 TCP/IP 通信中,所有的数据信息有可能不是在同一次 TCP/IP 传输过程中完成的,而是分成了不同的部分由主机传送到生产设备或是由生产设备传送到主机,有可能这些分段发送的数据需要经过较长的时间才能完全传送完整。而T8 则是对这个时间进行计时,如果消息传送时间大于 T8 并且 HSMS 消息不完整,则认为 HSMS 通信失败。T8超时的范围为1-120秒。
本发明的一个实施例提供了一种半导体设备数据采集方法,包括以下步骤:
S1,在边缘侧的计算机终端上部署EdgeX,并提供对SECS/GEM协议设备的驱动服务;
S2,定义半导体设备的配置文件,根据数据采集需求在配置文件中配置周期采集指令;
S3,将半导体设备和计算机终端连接到同一个局域网,启动半导体设备,启动EdgeX,EdgeX根据配置,定时主动向半导体设备发送采集指令,并自动接收和解析设备返回的采集结果,将采集的数据存储在边缘侧数据库,EdgeX的边缘计算模块对采集到的数据进行分析、计算;
S4,云侧的云端节点通过EdgeX边缘节点提供的接口获取边缘侧数据库中的采集数据,进行云计算和大数据分析;
本发明实施例提供的EdgeX的SECS/GEM协议设备驱动服务,弥补了目前EdgeX对SECS/GEM协议支持的缺失,如图6所示为设备驱动整体流程图,该驱动服务包括以下步骤:
(1)定义SECS/GEM协议设备的配置文件格式,包括设备服务配置文件和设备数据配置文件,所述设备服务配置文件定义设备的连接信息及周期性采集命令参数,设备数据配置文件定义设备的源数据和操作方法。
设备驱动服务基于EdgeX提供的驱动软件开发包(SDK)来开发,每种驱动服务对应两个YAML配置文件:设备服务配置文件和设备数据配置文件。
设备服务配置文件位于cmd/res/devices/目录下,设备数据配置文件位于cmd/res/profiles/目录下;一个设备服务配置文件中可以定义多个设备,通过字段name来区分不同的设备,每个设备通过profileName字段来匹配对应的设备数据信息;一个设备数据配置文件中定义一组数据,如果需要定义多组设备数据,需要定义多个设备数据配置文件,通过字段name来区分不同的设备数据配置。Edgex可以按照不同的设备的不同的属性去发送数据采集指令,需要在设备服务配置文件的autoEvents中配置采集间隔、采集指令及参数。
设备服务配置文件的配置项包括:设备名称(name字段)、数据配置名称(profileName字段)、设备地址、端口、连接超时、读超时、写超时、自动执行事件(字段autoEvents)等。可以将HSMS的几个超时定义在这里。
autoEvents中可以定义多个自动执行事件,每个事件包含Interval、OnChange、SourceName 3个参数,Interval用来定义自动执行的时间间隔,OnChange为true表示数据变化的时候才上报,SourceName用于配置需要自动执行的命令名称,命令在设备数据配置文件中定义。通过autoEvents的设定可以实现对采集命令的周期性执行。
设备数据配置文件位于cmd/res/profiles/目录下,配置项包括:数据配置名称(name字段)、设备源数据(字段deviceResources)、设备操作(deviceCommands)。设备源数据包括数据名称、描述、读取数据的参数以及数据类型、范围、默认值、读写属性等属性。设备操作包括操作名称、操作类型、操作对应的源数据等信息。
在SECS/GEM标准中,从设备读取参数值是通过主机向设备发送SECS-II消息S1F3来实现的,S1F3消息为List,如果List为空则表示取得所有的参数值;如果List中包含了指定的参数 ID,则表示需要获取指定的参数值。将SECS-II消息S1F3的SML表示作为源数据的读取参数,在设备数据配置文件中进行定义,并定义对应的设备操作,再结合设备服务配置文件中的autoEvents的定义,即可实现对参数的自动采集。
(2)根据配置文件,建立与设备之间的网络连接。
本实施例实现的是基于HSMS的数据传输。HSMS的状态转换图如图4所示。
实现ProtocolDriver接口的Initialize()方法,在其中建立与设备的网络连接。如图5所示为设备初始化示意图,创建连接管理器,逐一创建每个设备的连接实例,读取EdgeX 定义的配置,建立与设备之间的网络连接。如果配置读取失败,则在日志中打印错误,并退出网络连接的初始化,此时不需要设置连接状态。如果配置读取成功,则设置连接状态为已初始化。将设备名称作为健,将网络连接作为值保存到协程安全的哈希表中。如果主程序停止或退出了,系统会遍历此哈希表,将客户端一个个的关闭。建立网络连接的具体过程如下:
(21)根据配置文件,创建与设备之间的TCP连接,若TCP连接建立成功,设备HSMS状态由NOT CONNECTED变为CONNECTED - NOT SELECTED。
首先,根据配置文件,创建与设备之间的TCP连接。本实施例使用golang编程语言实现,网络通信使用了其内置的标准库的net包,具体做法是调用conn,err :=net.Dial(“tcp”,“192.168.2.100:5000”),尝试建立与设备的连接。如果建立连接成功,err会是nil,设置连接状态属性为网络已连接。如果建立连接不成功,err会是非nil值,设置连接状态属性为连接已断开。TCP连接过程遵循TCP/IP的握手协议,TCP连接建立好之后,设备HSMS状态由NOT CONNECTED变为CONNECTED - NOT SELECTED,此时,连接的双方可以进行数据通信了,但是要进行SECS-II数据交换需要让设备的HSMS状态变成SELECTED。如果TCP连接建立失败,设置T5计时器,计时器超时之后重新进行TCP/IP连接。
如果TCP连接建立成功,调用net的Read()接口用于接收设备数据,具体做法是在在无限循环中调用n,err := net.Read(conn,buf),n是实际读取的buf的长度,err如果是非nil值则退出循环并设置连接状态属性为连接已断开。如果设备暂时没有发送数据,则net.Read()会阻塞,收到设备发来的数据才会继续执行。后续设备发往主机的消息都在net.Read()中接收。
(22)发送HSMS协议的控制消息Select.req到设备,若得到设备正常回复,表示设备已由CONNECTED - NOT SELECTED 变为SELECTED。至此,主机和设备才能正常进行 SECS-II 消息通信。
设备HSMS状态变成CONNECTED - NOT SELECTED之后,在T7时间之内发送HSMS协议的控制消息Select.req到设备,并启动T6计时器开始计时,如果设备回复Select.rsp并且HSMS消息头中的Select Status为0,表示选择过程建立成功,设备的HSMS状态已由CONNECTED - NOT SELECTED变为SELECTED,此时,HSMS会话建立完成,可以开始进行 SECS-II 数据交换。如果设备回复Select.rsp并且HSMS消息头中的Select Status为非0值,表示选择过程建立失败,设备的HSMS状态仍然是CONNECTED - NOT SELECTED,此时,取消T6定时器,断开TCP/IP连接,启动T5计时器,T5计时器超时之后重新进行TCP/IP连接。如果在T6时间之内,仍然没有收到设备回复的Select.rsp,断开TCP/IP连接,启动T5计时器,T5计时器超时之后重新进行TCP/IP连接。
在向设备发送HSMS协议的控制消息Select.req的时候,需要按照HSMS报文格式,对消息头进行封装,然后将封装后的HSMS报文转换成二进制网络字节流进行发送,具体的,调用net.Write(conn,buf)接口进行网络字节流的发送。
(23)向设备发送SECS-II消息S1F13用于建立COMMUNICATING通信状态,设备回复S1F14并且COMMACK为0,表示COMMUNICATING通信状态建立成功。
当设备的HSMS状态变为SELECTED之后,为了能够进行正常的SECS-II消息通信,还需要将设备的通信状态变为COMMUNICATING,控制状态变为ON-LINE。
当设备的HSMS状态变为SELECTED之后,向设备发送SECS-II消息S1F13,启动T3计时器,如果设备回复S1F14并且COMMACK为0,表示设备的COMMUNICATING通信状态建立成功。如果设备回复S1F14并且COMMACK不为0或者T3计时器超时仍未收到设备回复的S1F14,表示设备的COMMUNICATING通信状态建立失败,取消T3计时器,启动计时器进行适当延时之后再重新向设备发送SECS-II消息S1F13。
(24)向设备发送SECS-II消息S1F17用于建立ON-LINE控制状态,设备回复S1F18并且ONLACK为0,表示ON-LINE控制状态建立成功。至此,主机和设备才能正常进行其它的SECS-II消息通信。
设备的COMMUNICATING通信状态建立成功之后,向设备发送SECS-II消息S1F17,启动T3计时器,如果设备回复S1F18并且ONLACK为0,表示设备的ON-LINE控制状态建立成功。如果设备回复S1F18并且ONLACK不为0或者T3计时器超时仍未收到设备回复的S1F18,表示设备的ONLACK控制状态建立失败,取消T3计时器,启动计时器进行适当的延时之后再重新向设备发送SECS-II消息S1F17。
至此,主机和设备才能正常进行其它的SECS-II消息通信。
在上述步骤(23)、(24)与设备进行SECS-II消息进行交互的过程中,需要进行封装和解析操作,具体方法为:
向设备发送SECS-II消息时,将消息数据内容按照SECS-II数据报文格式转换成二进制数据,接着将SECS-II消息进行HSMS封包,即按照HSMS报文消息格式将SECS-II消息的Stream、Function、W-bit封装到HSMS包头的对应位置,将SECS-II消息的数据内容封装到HSMS消息的数据部分,然后将形成的HSMS报文转成网络字节流进行发送;
接收到设备返回的HSMS格式的消息之后,需要按照HSMS报文格式进行解析,提取出其中的sType、Stream、Function字段,用来进行设备返回消息类型的判断,然后对HSMS消息体中的SECS-II进行解析,提取出其中的数据部分。
在上述步骤(21)~(24)中,需要按照HSMS定义的超时来对连接以及数据接收进行超时控制处理。
(3)创建重连协程,进行自动重连处理:如图5所示为设备初始化示意图,对于每个设备,连接成功后,创建一个控制协程,在控制协程中创建重连协程,在重连协程中启动定时器,通过驱动的连接属性值定期检查主机与设备之间网络连接的状态,如果连接正常,则不做任何处理;如果连接异常或者断开,则使用配置文件尝试重新建立连接;如果重新建立成功,则将连接状态设为正常;如果重新建立连接失败,则连接状态不做任何设置,进入下一个重试周期。
(4)使用定时器以一定的频率向设备发送采集指令;接收设备返回的采集数据并发送到EdgeX;
如图5所示为设备初始化示意图,设备驱动服务程序启动后,读取关联到此设备驱动服务的设备列表,然后给每个设备的autoEvents的配置项开启一个主动采集协程定期发送采集指令。
在发送采集指令前,需要对采集指令进行封装,具体方法为:根据autoEvents中定义的操作指令,获取对应的源数据及源数据参数,源数据参数为SML字符串,比如“S1F3 W<L>”,解析SML字符串,提取出Stream值、Function值、W-bit值,以及消息内容,将消息内容转换成二进制字节流,然后对消息进行HSMS封包之后进行发送。
接收到设备的采集数据之后,需要对采集数据进行解析,再将数据组装成 EdgeX的统一格式,发送到 EdgeX。
(5)回复设备上报的事件,并将有效数据发送到EdgeX;
设备可以自动上报事件,事件通常和报告绑定,可以在系统初始化时自定义报告,然后将报告和事件绑定。设备向主机上报事件是通过SECS-II消息S6F11进行的,驱动程序收到S6F11之后,需要向设备回复S6F12消息,用于确认收到事件报告,同时,需要解析出SECS-II消息S6F11中的数据内容,组装成 EdgeX 的统一格式,发送到 EdgeX。
(6)回复设备的心跳包。
设备向主机发送心跳包是通过HSMS控制消息linktest.req进行的,设备驱动收到linktest.req之后,需要向设备回复linktest.rsp消息,用于确认HSMS通信的正确性。
本发明实施例由于在EdgeX中提供了SECS/GEM的设备驱动,实现了通过EdgeX对半导体设备的数据采集,数据可以存储在EdgeX数据库中,云侧的云端节点也能够通过EdgeX的接口获取到采集的数据,进而可以在边缘侧和云侧对生产数据进行分析,用分析结果指导生产,提高生产效益。
以上仅为本发明的具体实施方式,不能以此来限定本发明的范围,本技术领域内的一般技术人员根据本创作所作的均等变化,以及本领域内技术人员熟知的改变,都应仍属本发明涵盖的范围。
Claims (10)
1.一种半导体设备数据采集方法,其特征在于,包括以下步骤:
S1,在边缘侧的计算机终端上部署EdgeX,并提供对SECS/GEM协议设备的驱动服务;
S2,定义半导体设备的配置文件,根据数据采集需求在配置文件中配置周期采集指令;
S3,将半导体设备和计算机终端连接到同一个局域网,启动半导体设备,启动EdgeX,EdgeX根据配置,定时主动向半导体设备发送采集指令,并自动接收和解析设备返回的采集结果,将采集的数据存储在边缘侧数据库,EdgeX的边缘计算模块对采集到的数据进行分析、计算;
S4,云侧的云端节点通过EdgeX边缘节点提供的接口获取边缘侧数据库中的采集数据,进行云计算和大数据分析。
2.根据权利要求1所述的半导体设备数据采集方法,其特征在于,步骤S1所述EdgeX对SECS/GEM协议设备的驱动服务具体步骤包括:
(1)定义SECS/GEM协议设备的配置文件格式,配置文件包括设备服务配置文件和设备数据配置文件,所述设备服务配置文件定义设备的连接信息及周期性采集命令参数,设备数据配置文件定义设备的源数据和操作方法;
(2)根据配置文件,建立与设备之间的网络连接;
(3)创建重连协程,进行自动重连处理;
(4)使用定时器以一定的频率向设备发送采集指令;接收设备返回的采集数据并发送到EdgeX;
(5)回复设备上报的事件,并将有效数据发送到EdgeX;
(6)回复设备的心跳包。
3.根据权利要求2所述的半导体设备数据采集方法,其特征在于,在所述步骤(1)中,设备服务配置文件位于cmd/res/devices/目录下,设备数据配置文件位于cmd/res/profiles/目录下;一个设备服务配置文件中可以定义多个设备,通过字段name来区分不同的设备,每个设备通过profileName字段来匹配对应的设备数据信息;一个设备数据配置文件中定义一组数据,如果需要定义多组设备数据,需要定义多个设备数据配置文件,通过字段name来区分不同的设备数据配置;Edgex可以按照不同的设备的不同的属性发送数据采集指令,需要在设备服务配置文件的autoEvents中配置采集间隔、采集指令及参数。
4.根据权利要求2所述的半导体设备数据采集方法,其特征在于,在所述步骤(2)中,建立与设备之间网络连接的具体步骤包括:
(21)根据配置文件,创建与设备之间的TCP连接,若TCP连接建立成功,设备HSMS状态由NOT CONNECTED变为CONNECTED - NOT SELECTED;
(22)发送HSMS协议的控制消息Select.req到设备,若得到设备正常回复,表示设备已由CONNECTED - NOT SELECTED 变为SELECTED;至此,主机和设备才能正常进行 SECS-II消息通信;
(23)向设备发送SECS-II消息S1F13用于建立COMMUNICATING通信状态,设备回复S1F14并且COMMACK为0,表示COMMUNICATING通信状态建立成功;
(24)向设备发送SECS-II消息S1F17用于建立ON-LINE控制状态,设备回复S1F18并且ONLACK为0,表示ON-LINE控制状态建立成功;至此,主机和设备才能正常进行其它的SECS-II消息通信。
5.根据权利要求4所述的半导体设备数据采集方法,其特征在于,在所述步骤(23)、(24)与设备进行SECS-II消息交互的过程中,需要进行封装和解析操作,具体方法为:
向设备发送SECS-II消息时,将消息数据内容按照SECS-II数据报文格式转换成二进制数据,接着将SECS-II消息进行HSMS封包,即按照HSMS报文消息格式将SECS-II消息的Stream、Function、W-bit封装到HSMS包头的对应位置,将SECS-II消息的数据内容封装到HSMS消息的数据部分,然后将形成的HSMS报文转成网络字节流进行发送;
接收到设备返回的HSMS格式的消息之后,需要按照HSMS报文格式进行解析,提取出其中的sType、Stream、Function字段,用来进行设备返回消息类型的判断,然后对HSMS消息体中的SECS-II进行解析,提取出其中的数据部分。
6.根据权利要求4所述的半导体设备数据采集方法,其特征在于,在所述步骤(21)~(24)中,需要按照HSMS定义的超时来对连接以及数据接收进行超时控制处理。
7.根据权利要求2所述的半导体设备数据采集方法,其特征在于,在所述步骤(3)中,重连处理的具体方法为:对于每个设备,连接成功后,创建一个控制协程,在控制协程中创建重连协程,在重连协程中启动定时器,通过驱动的连接属性值定期检查主机与设备之间网络连接的状态,如果连接正常,则不做任何处理;如果连接异常或者断开,则使用配置文件尝试重新建立连接;如果重新建立成功,则将连接状态设为正常;如果重新建立连接失败,则连接状态不做任何设置,进入下一个重试周期。
8.根据权利要求2所述的半导体设备数据采集方法,其特征在于,在所述步骤(4)中,所述定时器的时长是在步骤(1)中的设备服务配置文件的autoEvents中进行配置的;设备驱动服务程序启动后,读取关联到此设备驱动服务的设备列表,然后给每个设备的autoEvents的配置项开启一个主动采集协程定期发送采集指令;在发送采集指令前,需要对采集指令进行封装,接收到设备的采集数据之后,需要对采集数据进行解析,组装成EdgeX 的统一格式,发送到 EdgeX。
9.根据权利要求2所述的半导体设备数据采集方法,其特征在于,在所述步骤(5)中,设备向主机上报事件是通过SECS-II消息S6F11进行的,主机收到S6F11之后,需要向设备回复S6F12消息,用于确认收到事件报告,同时,需要解析出SECS-II消息S6F11中的数据内容,组装成 EdgeX 的统一格式,发送到 EdgeX。
10.根据权利要求2所述的半导体设备数据采集方法,其特征在于,在所述步骤(6)中,设备向主机发送心跳包是通过HSMS控制消息linktest.req进行的,主机收到linktest.req之后,需要向设备回复linktest.rsp消息,用于确认HSMS通信的正确性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310590217.1A CN116319953B (zh) | 2023-05-24 | 2023-05-24 | 一种半导体设备数据采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310590217.1A CN116319953B (zh) | 2023-05-24 | 2023-05-24 | 一种半导体设备数据采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116319953A true CN116319953A (zh) | 2023-06-23 |
CN116319953B CN116319953B (zh) | 2023-08-08 |
Family
ID=86787347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310590217.1A Active CN116319953B (zh) | 2023-05-24 | 2023-05-24 | 一种半导体设备数据采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319953B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149862A (zh) * | 2023-03-07 | 2023-05-23 | 中科计算技术西部研究院 | 一种工业边缘计算平台及方法 |
CN117420779A (zh) * | 2023-11-14 | 2024-01-19 | 友上智能科技(苏州)有限公司 | 一种基于半导体物流设备数据采集控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491059A (zh) * | 2012-06-12 | 2014-01-01 | 中国科学院沈阳自动化研究所 | 面向半导体制造设备的数据采集实现方法 |
CN110290194A (zh) * | 2019-06-20 | 2019-09-27 | 苏州工业园区恒越自动化科技有限公司 | 一种基于semi标准的secs通信方法 |
CN112463393A (zh) * | 2020-12-14 | 2021-03-09 | 国网辽宁省电力有限公司抚顺供电公司 | 基于Mongo集群技术的配电物联网边缘计算架构设计方法 |
CN113612820A (zh) * | 2021-07-13 | 2021-11-05 | 之江实验室 | 基于SuperEdge和EdgeXFoundry的云边端设备平台控制架构和方法 |
CN113868484A (zh) * | 2021-08-30 | 2021-12-31 | 北京北方华创微电子装备有限公司 | 一种半导体工艺设备数据采集方法、装置和系统 |
CN115022384A (zh) * | 2022-05-05 | 2022-09-06 | 北京北方华创微电子装备有限公司 | 一种hsms通信连接方法和装置 |
-
2023
- 2023-05-24 CN CN202310590217.1A patent/CN116319953B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491059A (zh) * | 2012-06-12 | 2014-01-01 | 中国科学院沈阳自动化研究所 | 面向半导体制造设备的数据采集实现方法 |
CN110290194A (zh) * | 2019-06-20 | 2019-09-27 | 苏州工业园区恒越自动化科技有限公司 | 一种基于semi标准的secs通信方法 |
CN112463393A (zh) * | 2020-12-14 | 2021-03-09 | 国网辽宁省电力有限公司抚顺供电公司 | 基于Mongo集群技术的配电物联网边缘计算架构设计方法 |
CN113612820A (zh) * | 2021-07-13 | 2021-11-05 | 之江实验室 | 基于SuperEdge和EdgeXFoundry的云边端设备平台控制架构和方法 |
CN113868484A (zh) * | 2021-08-30 | 2021-12-31 | 北京北方华创微电子装备有限公司 | 一种半导体工艺设备数据采集方法、装置和系统 |
CN115022384A (zh) * | 2022-05-05 | 2022-09-06 | 北京北方华创微电子装备有限公司 | 一种hsms通信连接方法和装置 |
Non-Patent Citations (1)
Title |
---|
祝梦芸: "半导体设备通信协议SECS_GEM仿真研究", 《中国优秀硕士学位论文全文数据库》, pages 2 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116149862A (zh) * | 2023-03-07 | 2023-05-23 | 中科计算技术西部研究院 | 一种工业边缘计算平台及方法 |
CN117420779A (zh) * | 2023-11-14 | 2024-01-19 | 友上智能科技(苏州)有限公司 | 一种基于半导体物流设备数据采集控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116319953B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116319953B (zh) | 一种半导体设备数据采集方法 | |
CN112769938B (zh) | 一种基于QUIC的Kubernetes云边通信系统与方法 | |
CN114553873B (zh) | 基于soa的车云协同控制系统、方法及可读存储介质 | |
CN111835786B (zh) | 一种对多规约设备数据采集、设备控制的系统 | |
US6430164B1 (en) | Communications involving disparate protocol network/bus and device subsystems | |
CN113630372A (zh) | 一种边缘计算的云边协同系统 | |
CN112788128B (zh) | 业务信息的推送方法、装置、存储介质及电子装置 | |
US20050286435A1 (en) | Remote management system | |
CN114567620A (zh) | 一种基于mqtt协议的数字模型与物理设备匹配的系统及方法 | |
CN112769598A (zh) | 一种传输报文模块、网络通信系统及其通信实现方法 | |
WO2024146464A1 (zh) | 一种工业无线网络融合时间敏感网络的统一配置方法 | |
CN114827293B (zh) | 边缘智能网关管理方法及边缘智能网关 | |
CN115865680A (zh) | 分布式的设备接入、控制和数据传输的方法及系统、装置 | |
CN117615043B (zh) | 一种边缘网关上服务间通信方法及系统 | |
CN112714170B (zh) | 一种可配置通信协议的通用地面软件框架系统及应用 | |
CN111884938A (zh) | 路由器信息采集方法及装置 | |
CN115150207B (zh) | 工业网络设备识别方法、装置、终端设备及存储介质 | |
CN115022375B (zh) | 一种挖掘机Tbox设备下行指令编译方法 | |
CN114006651B (zh) | 一种适用于多协议的卫星互联网传输方法 | |
CN110134086B (zh) | 一种数字化车间实现中间件功能的数据采集及控制装置 | |
CN111431859A (zh) | 一种socket接口转soap接口系统的处理方法 | |
CN100375464C (zh) | 网络互连时各终端的数据通信方法 | |
CN112019491A (zh) | 一种报文处理方法及系统 | |
CN117615033A (zh) | 一种基于Netty的物联网终端设备接入方法及系统 | |
CN113852651B (zh) | 一种基于边缘网关的fanuc代理服务实现系统及其方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |