陳振康 翟學(xué)濤
(大族數(shù)控科技有限公司,廣東 深圳 518057)
陸曉杰
(南京品微智能科技有限公司,江蘇 南京 210012)
為緊密圍繞“中國制造2025”戰(zhàn)略指導(dǎo)思想,印制電路板(PCB)行業(yè)也應(yīng)進(jìn)行自動(dòng)化、智能化制造,開展信息技術(shù)與制造裝備融合的集成創(chuàng)新和工程應(yīng)用,因此,有必要制定統(tǒng)一的、擁有自主知識(shí)產(chǎn)權(quán)的通訊協(xié)議規(guī)范PCBECS(PCB Equipment Communication Standard)。在PCB制造業(yè)中,目前國內(nèi)外暫無通用標(biāo)準(zhǔn),我國臺(tái)灣協(xié)會(huì)TPCA基于SEMI(半導(dǎo)體通訊協(xié)議)已提出相關(guān)PCBECI(PCB Equipment Communication Interface)通訊協(xié)議,國外也有在推動(dòng)OPC UA 作為PCB設(shè)備通信協(xié)議標(biāo)準(zhǔn)的工作[1][2]。PCBECS主要用來統(tǒng)一PCB制造業(yè)各個(gè)生產(chǎn)設(shè)備之間以及生產(chǎn)設(shè)備和控制設(shè)備之間的通訊規(guī)范,旨在提升PCB制造業(yè)的智能化水平,協(xié)助集成包括設(shè)備供應(yīng)商、軟件供應(yīng)商、工廠生產(chǎn)等環(huán)節(jié),從而快速集成車間制造設(shè)備,實(shí)現(xiàn)標(biāo)準(zhǔn)化和智能化的高效發(fā)展。
PCBECS基于PCB產(chǎn)業(yè)自動(dòng)化功能需求的調(diào)研及梳理,專注通訊語義層面,設(shè)計(jì)采用直通式通訊方案(JSON/XML),建立簡(jiǎn)單有效的通訊協(xié)議語義規(guī)范內(nèi)容。當(dāng)前,PCB制造商及設(shè)備商均進(jìn)行一定程度上設(shè)備通訊方案設(shè)計(jì)與實(shí)施,建立一個(gè)全新的通訊協(xié)議不利于統(tǒng)一通訊協(xié)議規(guī)范的推廣與使用,因PCBECS聚焦通訊語義層定義,簡(jiǎn)化協(xié)議約束范圍,使本規(guī)范能夠適用于目前使用較多的各種通訊協(xié)議,擴(kuò)大本規(guī)范兼容范圍,降低協(xié)議使用的成本。
本規(guī)范基本框架依據(jù)團(tuán)體標(biāo)準(zhǔn)撰寫,設(shè)計(jì)了以下五個(gè)部分內(nèi)容:(1)定義范圍;(2)規(guī)范性引用文件;(3)術(shù)語和定義;(4)報(bào)文通用規(guī)范技術(shù)內(nèi)容;(5)典型通訊協(xié)議使用語義規(guī)范實(shí)例。
PCBECS規(guī)定了PCB制造業(yè)的設(shè)備通信接口協(xié)議語義規(guī)范,本規(guī)范目前未限定使用的PCB設(shè)備類型,以PCB制造業(yè)幾個(gè)重要工序設(shè)備特點(diǎn)為基礎(chǔ),建立基本的設(shè)備與設(shè)備管理系統(tǒng)通訊接口,并通過不斷使用加盟形式,擴(kuò)大協(xié)議的適用工序、設(shè)備范圍。
本規(guī)范主要適用于統(tǒng)一PCB制造業(yè)各個(gè)生產(chǎn)設(shè)備和控制設(shè)備系統(tǒng)之間的通訊規(guī)范,建立具有高度靈活性和效率的自動(dòng)化通訊標(biāo)準(zhǔn)協(xié)議語義參考規(guī)范。協(xié)議使用場(chǎng)景(見圖1)。
圖1 通訊協(xié)議使用場(chǎng)景
通訊協(xié)議有多個(gè)功能層次,本規(guī)范的技術(shù)內(nèi)容主要描述通訊協(xié)議語義層,在PCB設(shè)備通訊中設(shè)計(jì)設(shè)備的基本通訊模型及通訊功能,不對(duì)通訊會(huì)話使用的物理硬件、傳輸鏈路進(jìn)行明確限制,同時(shí)針對(duì)會(huì)話的開始結(jié)束直接從設(shè)備模型實(shí)現(xiàn)約束,通過對(duì)語義層限定實(shí)現(xiàn)會(huì)話管理,不再對(duì)簡(jiǎn)單的會(huì)話開始、保持、結(jié)束、長(zhǎng)短連接等進(jìn)行明確規(guī)定,這樣可使常用的如Http、TCP/IP Socket、Web Service、Web API 等接口協(xié)議均可以使用本規(guī)范進(jìn)行通訊實(shí)現(xiàn)。本規(guī)范針對(duì)數(shù)據(jù)的表示進(jìn)行簡(jiǎn)單描述,目前協(xié)議推薦使用明文字符集進(jìn)行表示,使用JSON、XML等進(jìn)行傳輸(下文將以XML格式分裝進(jìn)行示意)(見圖2)。
圖2 通訊協(xié)議功能層次
規(guī)范主張使用JSON、XML等進(jìn)行消息明文進(jìn)行封裝,主要引用了ECMA-262 標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語言、GB/Z 21025-2007 XML使用指南、GB/T 34145-2017 JSON數(shù)據(jù)交換格式基本的規(guī)范文件。
語義規(guī)范定義了幾個(gè)基本術(shù)語,包括:JSON、XML、設(shè)備事件、設(shè)備報(bào)警。
(1)JSON(JavaScript Object Notation,JS對(duì)象簡(jiǎn)譜),是一種輕量級(jí)的數(shù)據(jù)交換格式。簡(jiǎn)潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。
(2)XML,是可擴(kuò)展標(biāo)記語言,標(biāo)準(zhǔn)通用標(biāo)記語言的子集。是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言。
(3)設(shè)備事件,為了準(zhǔn)確了解設(shè)備運(yùn)行進(jìn)度及狀態(tài),按照設(shè)備運(yùn)行過程進(jìn)度(如 設(shè)備開機(jī)、設(shè)備進(jìn)料、設(shè)備出料、設(shè)備物料消耗、設(shè)備狀態(tài)切換等統(tǒng)稱為設(shè)備事件),規(guī)范設(shè)備事件并輸出實(shí)現(xiàn)自動(dòng)化主機(jī)實(shí)時(shí)了解設(shè)備運(yùn)行情況,作為設(shè)備自動(dòng)化控制命令發(fā)送依據(jù)。
(4)設(shè)備報(bào)警,為了準(zhǔn)確分析設(shè)備生產(chǎn)過程產(chǎn)生的報(bào)警詳細(xì)信息,設(shè)備本身定義報(bào)警ID及報(bào)警描述列表,通過實(shí)時(shí)采集設(shè)備報(bào)警ID,獲取設(shè)備報(bào)警詳細(xì)信息,準(zhǔn)確分析設(shè)備故障情況。
本語義規(guī)范通過抽象出設(shè)備自動(dòng)化通訊及控制模型,設(shè)計(jì)了通訊消息參數(shù)項(xiàng)定義、通訊消息定義、通訊功能定義三個(gè)標(biāo)準(zhǔn)協(xié)議模塊,實(shí)現(xiàn)消息格式規(guī)范化并可配置,適合后期需求功能擴(kuò)展。
PCBECS將設(shè)備模型抽象為數(shù)據(jù)信息、事件信息、設(shè)備控制及設(shè)備連接,針對(duì)PCB制造設(shè)備特點(diǎn)及當(dāng)前實(shí)際使用的需求,可進(jìn)一步細(xì)化。將通訊協(xié)議消息功能設(shè)計(jì)為以下幾大部分[3][4]:通訊連接、數(shù)據(jù)采集、設(shè)備運(yùn)行事件、設(shè)備報(bào)警管理、遠(yuǎn)程控制、程序管理、異常消息提醒(見表1)。
消息功能細(xì)分有助于系統(tǒng)性的規(guī)劃設(shè)備通訊內(nèi)容,實(shí)際使用中可依據(jù)各個(gè)設(shè)備特點(diǎn)、使用需求選擇所需的消息功能,通過提交設(shè)備支持的消息功能,可以縮短設(shè)備開發(fā)周期,降低開發(fā)成本,同時(shí)也能極大的簡(jiǎn)化設(shè)備接入設(shè)備管理系統(tǒng)工作內(nèi)容,減少設(shè)備調(diào)試接入時(shí)間。
PCBECS消息參數(shù)項(xiàng)主要定義通訊消息參數(shù)的結(jié)構(gòu)項(xiàng)格式以及結(jié)構(gòu)項(xiàng)命名規(guī)范,從通訊消息的表示層實(shí)現(xiàn)了主機(jī)與設(shè)備間通訊的標(biāo)準(zhǔn)定義,規(guī)范消息結(jié)構(gòu)體的基礎(chǔ)結(jié)構(gòu)。不同的消息功能將使用不同的消息結(jié)構(gòu),添加特定的參數(shù)項(xiàng)目,每一個(gè)消息功能通過消息結(jié)構(gòu)項(xiàng)的填充架構(gòu)組成一個(gè)特定的完整的消息結(jié)構(gòu)體。消息結(jié)構(gòu)項(xiàng)參數(shù)定義(見表2)。
以消息提醒功能為例,展示消息結(jié)構(gòu)項(xiàng)在消息中的含義:
協(xié)議規(guī)定了在發(fā)送消息提醒功能項(xiàng)時(shí),Header為消息分類塊,List為消息包體內(nèi)容,內(nèi)容中消息提醒功能以TEXT封裝內(nèi)容,獲取結(jié)構(gòu)項(xiàng)TEXT的具體值RecipeA,即為一個(gè)消息提醒功能的完整消息結(jié)構(gòu)體。
細(xì)化了消息功能后,PCBECS也對(duì)消息會(huì)話收發(fā)協(xié)議、消息會(huì)話語法、消息會(huì)話時(shí)效進(jìn)行定義。
(1)消息會(huì)話收發(fā)協(xié)議主要包括:定義每個(gè)消息回復(fù)機(jī)制、定義會(huì)話任務(wù)中需要包含的消息內(nèi)容;(2)消息會(huì)話語法格式定義消息基本格式及規(guī)范:定義主機(jī)與設(shè)備之間會(huì)話的消息格式與規(guī)范;(3)消息會(huì)話時(shí)效性為通訊協(xié)議的基本特點(diǎn),時(shí)效主要包括:消息回復(fù)超時(shí)、連接超時(shí)等;
表1 消息功能分類
表2 參數(shù)定義
PCBECS為每一個(gè)消息功能項(xiàng)均進(jìn)行定義,以建立通訊為例,Host通過發(fā)送消息至設(shè)備,建立通訊連接,以XML數(shù)據(jù)封裝為例:
(1)Host請(qǐng)求設(shè)備消息:
(2)設(shè)備回復(fù)Host消息:
其中,定義基本的消息會(huì)話結(jié)構(gòu)內(nèi)容,定義消息的格式明確消息的封裝解析過程,形成完整的會(huì)話流程。不同的設(shè)備在不同的消息功能上可能會(huì)有或大或小的差異,因此,協(xié)議規(guī)范目前僅從必須的內(nèi)容上進(jìn)行限定約束,保證規(guī)范的可讀性。同時(shí),協(xié)議規(guī)范所定義的消息會(huì)話結(jié)構(gòu)也支持自主擴(kuò)展,使用者根據(jù)設(shè)備特點(diǎn)進(jìn)行增減,保證規(guī)范的適用性(見圖3)。
圖3 通訊流程
本規(guī)范針對(duì)特殊功能也進(jìn)行規(guī)定,包括設(shè)備報(bào)警、設(shè)備事件、設(shè)備參數(shù)變量以及設(shè)備常量。設(shè)備變量和設(shè)備常量主要使用于數(shù)據(jù)采集,用于指證設(shè)備當(dāng)前的狀態(tài)屬性及配方材料信息等,指定基本的設(shè)備變量和設(shè)備常量,有助于規(guī)范最基本的設(shè)備信息交互,監(jiān)控設(shè)備狀態(tài)。設(shè)備事件和設(shè)備報(bào)警為設(shè)備實(shí)時(shí)行為數(shù)據(jù),指證設(shè)備行為動(dòng)作狀態(tài),本規(guī)范針對(duì)PCB制造設(shè)備的基本特點(diǎn)抽象出了一些基本的事件項(xiàng)目,并進(jìn)行約束。同樣,使用者可以根據(jù)設(shè)備需求進(jìn)行擴(kuò)展(見表3~表5)。
本規(guī)范最后內(nèi)容選擇常用的通訊協(xié)議,如 TCP/IP Socket、Web API等常用網(wǎng)絡(luò)接口協(xié)議,使用XML格式分裝,展示使用語義規(guī)范的實(shí)例,對(duì)表1中11項(xiàng)消息功能如會(huì)話建立、數(shù)據(jù)采集等等進(jìn)行描述,因內(nèi)容繁多,并與前面內(nèi)容類似,不再復(fù)述。
PCBECS從語義層出發(fā)為行業(yè)內(nèi)設(shè)備廠商建立標(biāo)準(zhǔn)通訊協(xié)議,建立可靠的自動(dòng)化通信參考規(guī)范,加快設(shè)備通訊統(tǒng)一,減少設(shè)備通訊軟件的調(diào)整,為不同的工藝/設(shè)備上實(shí)現(xiàn)標(biāo)準(zhǔn)化的自動(dòng)化解決方案,最大限度的提高標(biāo)準(zhǔn)通訊功能的配置靈活性和可擴(kuò)展性。這些是我們正在編制PCBECS的意圖和設(shè)想。
表3 設(shè)備參數(shù)SVID定義示例
表4 設(shè)備事件定義示例
表5 設(shè)備報(bào)警定義示例