張 莉,潘愛瓊
(鄭州科技學院機械工程學院,河南 鄭州 450064)
按鈕開關是構成電氣控制系統的基本元件。傳統的按鈕開關是機械式的,結構上有一個或若干個機械觸點,通過通斷電流來輸出開關信息,接口為接線端子。在科技迅速發展的今天,電氣控制系統逐漸以PLC、計算機控制系統為主。按鈕開關、行程開關作為控制系統的末端器件,依然沒有太多變化。當系統需要使用較多數量的開關元件時,將占用大量的PLC或計算機接口卡資源;當開關元件相距較遠、較為分散時,將使用大量冗余分布的導線,浪費資源。若利用現代電子技術,通過包含微控制器的電子線路實現按鈕開關的基本功能,并以輸出數據信息的方式代替傳統按鈕開關輸出電流通斷信息的方式,同時采用總線技術使眾多按鈕開關利用同一數據通路工作,將有效地解決PLC、計算機端口占用過多和導線使用量過大的問題[1-2]。
總線技術是現代分布式控制系統常用的控制方式,用于分散安裝的現場傳感器、執行器和后臺控制器之間的信息通信[3]。當按鈕開關或行程開關作為控制系統的現場元件時,需使用現場總線。通過以微控制單元(microcontroller unit,MCU)為核心的電子線路,不但能實現觸點采集和總線通信功能,還能顯示可編程信息和按鈕開關的功能信息,起到部分人機界面的作用。
智能按鈕開關的閉合、斷開狀態通過發送字符串數據的形式輸出,并通過總線形式互聯,使眾多按鈕開關占用單一主控制器接口。在避免總線沖突的前提下,總線上的智能按鈕開關應具有較高的實時性。為滿足該要求,智能按鈕開關設計了兩個總線接口,在此定義為A口和B口。總線接口采用RS-422形式,每個總線接口含有輸入/輸出兩組差分信號,可以輸入/輸出字符串。智能按鈕開關A口可以通過兩組平行的雙絞線與其他智能按鈕開關的B口相連,從而實現眾多智能按鈕開關的同時使用[4-5]。由于智能按鈕開關由有源電路構成,其總線中還應包含電源線,以實現對掛載在總線上的按鈕開關供電。另外,為顯示該按鈕開關的功能信息,智能按鈕開關還具有小型LCD顯示屏,可以通過設置,顯示該按鈕開關的功能文字。智能按鈕開關接口通過與帶有RS-422的主控制器相連,實現主控制器對智能按鈕開關輸出開關狀態的接收和顯示,并可結合主控制器軟件實現部分控制功能。
當按下按鈕時,智能開關可以向控制器輸出開關處于閉合狀態的信息,并在LCD屏上顯示;當按鈕彈起時,智能開關可以向控制器輸出開關處于斷開狀態的信息,并在LCD屏上顯示;在控制器輸入信息時,總線接口接收該信息并在LCD屏顯示。LCD屏不僅可以顯示開關的狀態信息,還可顯示控制器輸入的相應信息。在開關數量眾多時,每個開關的狀態均會清楚地顯示,更加便于操作和控制。
智能按鈕開關通過總線接口A、B來輸入/輸出信息,其基本功能如圖1所示。

圖1 基本功能示意圖Fig.1 Schematic diagram of basic functions
如:當按鈕帽按下時,總線接口A、B可同時向主控制器輸出“KEY_ADDR_ON”,并在LCD屏上顯示;當按鈕開關彈起時,總線接口A、B可以同時向主控制器輸出“KEY_ ADDR _OFF”,并在LCD屏上顯示;若通過控制器輸入信息,總線接口A或B接收主控制器輸入的信息,如“KEY_ADDR_DIS_啟動”,按鈕開關LCD屏上會顯示漢字“啟動”。該功能可用于指示或更改該按鈕的功能。
總線接口A、B可實現多個按鈕開關的平行連接,從而構成開關組。開關組的一端與主控制器的串行接口連接,實現對整個開關組的讀寫控制。只有解決了現有開關的接口電路轉換問題,開關組才能與計算機相連,實現自動控制,使安裝和控制更加方便。開關組的另一端連接24 V直流電源,通過總線中的電源線為開關組的每一個智能按鈕開關供電。
在聯機方式下,智能按鈕開關通過單片機或計算機上的控制軟件進行控制。該智能按鈕開關可以實現下列功能。
①自動生成地址。當總線連接完畢后,按從左至右、相鄰按鈕開關 B口接A口的方式,生成從1開始的地址。例如,由4個按鈕開關連成總線時,按鈕開關從左至右的地址分別為1~4。當3號按鈕開關按下時,總線兩端輸出“KEY_3_ON”;當向總線左端或右端輸入“KEY_2_DIS_啟動”時,2號按鈕開關顯示相應漢字“啟動”。
②防總線沖突。聯機防沖突功能如圖2所示。

圖2 聯機防沖突功能示意圖Fig.2 Schematic diagram of online anti-collision functions
當兩個或兩個以上按鈕開關同時動作時,通過相鄰按鈕開關的字符串緩存功能,總線左端或右端會依次輸出按鈕開關的動作信息,以免造成信息丟失。例如,當按鈕開關2和開關3同時按下時,按鈕開關2向左右同時輸出“KEY_2_ON”,向左輸出的字符串從總線左端直接輸出,向右輸出的字符串先緩存在按鈕開關3內;按鈕開關3向左右同時輸出“KEY_3_ON”,向右輸出的字符串從總線右端直接輸出,向左輸出的字符串先緩存在按鈕開關2內。待按鈕開關2和3各自的信息分別向左右輸出完畢后,再分別向左右輸出各自緩存的字符串,故總線的兩端都能得到所有的按鈕開關的操作信息。
③具有斷線報警功能。當總線上一個或多個按鈕開關意外斷線或移除時,經過短暫的延遲后,剩余部分的總線兩端會依次輸出所移除的按鈕開關的報警信息。例如,當按鈕開關4斷開時,總線兩端同時輸出“KEY_4_BREAK”。
智能按鈕開關的電路結構如圖3所示。該智能按鈕開關主要由兩片MAX488構成的雙RS-422接口、兩個三態門74HC1G125構成的中繼電路、MCU芯片STM32F103CBT6、字庫芯片GT20L16S1Y、24 V轉5 V隔離電源模塊、LCD驅動電路、背光驅動電路、輕觸開關等構成[6]。

圖3 電路結構圖Fig.3 Diagram of circuit structure
為實現上述通信、自動生成地址、防總線沖突等功能,總線上的智能按鈕開關并不是簡單并聯的RS-422從機,而是帶有中繼透傳功能[7]的兩個獨立的RS-422電路。雙RS-422的差分端構成A口、B口內的引腳;雙RS-422的TTL端通過兩個三態門相連構成中繼透傳功能,同時又分別與MCU兩個串口的收發端相連。三態門平時處于閉合狀態,其他按鈕開關或主機發送的數據,無論來自A口方向還是B口方向,都可以穿過該按鈕開關向下一級設備傳輸。MCU的兩個串口接收端處于接收狀態,可以接收并解析來自A口、B口的數據。若該數據與自身有關,則進行解析執行;若該按鈕開關有動作,則需要向外輸出字符。首先,斷開三態門;然后,MCU兩個串口的發送端需要輸出的字符,通過A口、B口送入總線。在此期間,若有其他設備或主機也在發送數據,則MCU的兩個串口接收端會接收該數據并緩存在MCU內部,待自身數據發送完成后,再向另一方向發送在此期間緩存的數據,從而實現防總線沖突等功能[8-9]。此外,還有微型12864LCD、字庫芯片GT20L16S1Y和微動開關與MCU相連。微動開關用于拾取開關動作信號,微型LCD用于顯示設定的字符或漢字,顯示前可從字庫芯片GT20L16S1Y中取模。為了防止多個智能按鈕開關連接時的共模電壓干擾,每個智能按鈕開關中都含有隔離型電源模塊,將總線中提供的24 V直流電源轉換為內部電子線路的電源。智能按鈕開關機械結構如圖4所示。

圖4 機械結構圖Fig.4 Diagram of mechanical structure
智能按鈕開關采用面板穿孔螺母固定方式安裝。智能按鈕開關的殼體上半部分為矩形,安裝時露在面板外部;下半部分為帶螺紋的圓柱形,穿過面板通過塑料螺母固定在面板上。矩形上半部分內含印刷電路板(printed circuit board,PCB),并內嵌透明的矩形按鈕帽。按鈕帽包含微型LCD屏。LCD屏通過排線與PCB板連接。PCB下部的總線接口A、B的連接器為兩個RJ45連接器,從殼體下半部分圓柱體端部外露。總線接口A、B用內含三組雙絞線的RJ45水晶頭與其他智能按鈕開關或主控設備連接。
總線式智能按鈕開關的設計秉承高度的分布式控制理念,將原本簡單的機械式按鈕開關與控制器的部分功能相結合,使之成為一個分布式控制終端;通過總
線與其他具有相同接口和協議的控制器、執行器等相連,將一個以控制器為中心的放射型控制系統改造為總線型控制系統。與放射型控制系統相比,總線型控制系統更加節省導線、安裝更方便。通過合適的軟件,可使系統擴展更靈活、通用性更好。
參考文獻:
[1] 黃永紅.電氣控制與PLC應用技術[M].北京:機械工業出版社,2011.
[2] 劉澤祥,李媛.現場總線技術[M].2版.北京:機械工業出版社,2011.
[3] 李煊,丁為.常用設備串口通信協議及其應用[J].自動化儀表,2011,32(10):82-86.
[4] 陳雨田.基于μC/OS-Ⅱ的半雙工現場總線多主機機制的研究與實現[D].昆明:云南大學,2015.
[5] 劉承智,丁國良,原亮,等.改進型CAN總線協議的實時性研究[J].計算機技術與發展,2012,22(7):81-84.
[6] 劉火良,楊森.STM32庫開發實戰指南:基于STM32F103[M].2版.北京:機械工業出版社,2017.
[7] 張莉,鄔寶寅.一種改進型RS-485總線設計[J].自動化與儀表,2016,37(10):32-35.
[8] 胡文翔,蔡政,郭偉瑋,等.面向RS-485控制網絡的Modbus協議擴展及應用[J].自動化儀表,2013,34(4):59-71.
[9] 潘銅,葉小榮,張娜,等.STM32的CAN總線中繼器設計及應用[J].單片機與嵌入式系統應用,2011(1):46-48.