张 莉,潘爱琼
(郑州科技学院机械工程学院,河南 郑州 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.