当前位置:首页 > 电源 > 数字电源
[导读]摘要:为实现PLC低成本,个性化的社会需求,提出一种嵌入式PLC设计方案,重点讨论了系统的总体构成以及软、硬件设计方法。系统采用ARM作为主控芯片,以CAN总线作为主要通信接口,结合嵌入式实时操作系统,保证了系统

摘要:为实现PLC低成本,个性化的社会需求,提出一种嵌入式PLC设计方案,重点讨论了系统的总体构成以及软、硬件设计方法。系统采用ARM作为主控芯片,以CAN总线作为主要通信接口,结合嵌入式实时操作系统,保证了系统的可靠性和实时性。实验结果表明,该系统运行稳定,通信可靠,能够满足基本的工业应用需求。
关键词:可编程逻辑控制器;ARM;嵌入式系统;CAN总线

0 前言
    可编程逻辑控制器(PLC),一种数字运算操作的电子系统,专为在工业环境应用而设计。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟输入/输出控制各种类型的机械或生产过
程,是工业控制的核心部分。随着工业技术的发展以及规模的不断扩大,传统的PLC面临着IO点数增多、通讯功能需要增强等诸多方面的挑战,已无法满足个性化、差异化的需求。
    现有的设计主要有工控机、单片机板等。工控机在互连、表达、算法等方面优势明显,但其实时性、稳定性难以满足连续控制的苛刻要求,通常用于监控。单片机系统在成本控制上更加灵活,可是没有操作系统使其只能应用于低端场合。具有嵌入式操作系统的PLC将能结合两者的优点,成为PLC领域的主要研究方向。本文介绍以嵌入式芯片STM32和CAN总线相结合的方式进行嵌入式PLC设计,并采用μC/OS-II实时操作系统,利用其开放性、模块化和可扩展性的系统结构特性来达到高实时要求的PLC控制,在保证实时性的同时,实现多点位、复杂功能的PLC系统控制目标。

1 系统总体设计
    系统总体设计框图如图1所示。本设计采用ST公司生产STM32F103RCT6作为系统的主处理器。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,它集成了两个CAN控制器,并为每个CAN控制器分配了256字节的SRAM,每个CAN控制器有3个发送邮箱和两个接收FIFO。它主要负责采集、处理开关量和模拟量输入,控制开关量输出,同时通过CAN总线完成与上位机的通信。


    开关量的输入,为了减少外部开关对系统的干扰,首先在输入端用光电耦合器隔离,再由IO口分别读取12路通道的输入,读取的开关量可以存储在ARM的存储器内。ARM对开关量数据进行处理,一方面通过CAN总线将数据传输到上位机;另一方面将开关状态由LED实时显示输入开关量状态。对于13路的开关量输出,ARM通过CAN总线得到上位机传来的开关量输出数据,并且将数据进行处理,一方面通过控制继电器的锁存器将数据锁存,完成对继电器的开关控制;另一方面将开关状态由LED实时显示输出开关量状态。模拟量的采样则通过信号放大调理电路及相应的控制电路,然后对其进行A/D转换,转换后的数字量读入PLC系统的输入映像缓冲区,从而完成对模拟量的采集。

2 系统硬件设计
2.1 开关量输入输出模块
    开关量输入电路的功能是接收工业现场各种开关量信号的输入,并将其转换成符合CPU要求的标准逻辑电平。为提高控制器的抗干扰能力,在开关量输入信号和处理器STM32之间使用光电耦器件TLP521隔离,当开关量输入信号受到干扰时,只要其共模电压低于光耦的最大隔离电压,就不会对处理器正常工作造成任何影响。
    开关量输入电路如图2所示。其中X1为输入端,P1为微控制器端口,LED0为输入点的状态指示灯,TLP521为光电耦合器,它实现现场与PLC的CPU电气隔离,提高抗干扰性。

[!--empirenews.page--]
    开关量输出电路是嵌入式PLC与外部连接的输出通道,PLC通过它向外部现场执行部件输出相应的控制信号。开关量输出通常有晶体管输出和继电器输出两种形式。本设计中,开关量输出电路采用了13路继电器输出,器件选用松乐SRD-24VDC-SL-C,继电器输出电路可用于直流负载,也可用于交流负载,它特别适合于对动作时间和工作频率要求不高的场合。其电路图如图3所示。D1为稳压二极管1N4148,因为直流继电器的线圈在断开时会产生反向电动势,这时需要在继电器两极并接一个1N4148来进行快速放电。


2.2 模拟量输入模块
    模拟量输入电路的主要功能是把现场测量到的模拟量信号转变成PLC可以处理的数字量信号。A/D转换器是模拟量输入电路的主要器件,STM32微控制器内部含有8路10位A/D转换器,配合信号调理电路以及相应的控制电路,可以完成模拟量的采样和转换。转换后的数字量由CPU读入PLC系统的输入映像缓冲区,从而完成对模拟量的采集。
    本设计中,模拟量输入电路有8路4~20mA电流输入。4~20mA直流信号制是国际电工委员会(IEC)制定的过程控制系统用模拟信号标准。在工业现场,如果采集的信号经调理后是电压信号并且进行长线传输,会产生以下问题:第一,由于传输的信号是电压信号,传输线会很容易受到噪声的干扰;第二,传输线的分布电阻会产生电压降。为了解决上述问题和避开相关噪声的影响,工业现场大量采用电流来传输信号。
2.3 CAN总线接口电路
    CAN总线是一种支持分布式实时控制的串行通信网络,采用对通信数据进行编码的方式,使得CAN总线上的节点数量理论上几乎不受限制。然而实际上,CAN总线上的节点数量不宜超过100个。每一个嵌入式PLC通过CAN总线实现与上位机的通信,传输距离可达10km,通信速率高、可靠性高、抗干扰能力强。由于STM32F103X内部已集成CAN总线控制器,因此只需要外接CAN收发器即可,使得电路更加简洁而且成本更低,同时可靠性得以提高。CAN收发器采用TI公司的SN65HVD230供电电压为3.3V的CAN总线收发器,该收发器采用差分收发方式,最高速率可达1Mb/s,具有高抗电磁干扰、CAN总线保护、斜率控制等特点,电气连接简单,使用方便,完全满足工业级产品的技术要求。通信接口电路如图4所示。



3 系统软件设计
    由于嵌入式PLC在工业控制方面的实时性和稳定性要求,选用μC/OS-II操作系统来管理任务调度。μC/OS-II是一个专为嵌入式应用设计,基于优先级调度的抢占式实时操作系统内核,它包含了任务调度、任务管理、时间管理、任务间通信与同步等功能。各任务之间通过信号量、邮箱和消息队列实现相互间的数据交换和同步。
    本系统软件部分由下位机控制程序和上位机监控程序两部分组成。前者主要负责读取开关量和模拟量的输入数据,控制开关量输出,并且负责通过CAN总线将数据上传给上位机,以及接收来自上位机的命令;后者则通过人机交互界面来监控嵌入式PLC的状态。系统需要先完成μC/OS-II操作系统的移植,然后利用μC/OS-II操作系统提供的API函数以及ARM微控制器集成开发工具Keil开发嵌入式PLC系统的控制程序。[!--empirenews.page--]
3.1下位机软件设计
    系统下位机软件采用模块化的设计方法,把整个系统分解为几个功能相对独立的比较小的程序模块,分别对实现各个功能的程序模块进行设计、编程和调试。根据不同模块在系统中的作用,嵌入式操作系统应实现多个不同优先级的控制任务。这些任务按照优先级从高到低分别为:接收计算机控制中心命令;采集和处理数据;发送数据到本地控制中心。系统启动流程图如图5所示。


    CAN总线通信程序主要由三部分组成:初始化、发送数据、接收数据。CAN控制器的初始化流程是:首先将ARM中CAN控制器相关的引脚使能,然后对CAN控制器进行复位操作,设置CAN总线的通信波特率,最后初始化CAN控制器的工作模式。初始化之后便可以进行数据的发送与接收。CAN数据发送是将采集到的数据打包成符合CAN发送帧格式后,调用CAN发送数据函数进行发送。数据接收程序是从接收缓冲器读出数据,同时释放接收缓冲器并对数据做出相应处理,本系统中CAN总线数据接收程序采用中断法进行控制。数据发送和接收流程图如图6、图7所示。


3.2 上位机软件设计
    上位机主要实现CAN总线通信、显示输入输出端口的状态等功能,可以接收下位机传输过来的数据,也可以发送命令控制下位机的输出。采用VC++6.0开发环境的MFC编程实现上位机界面编程及与嵌入式PLC之间的通信。实现界面如图8所示。


    本文给出了基于ARM和CAN总线的嵌入式PLC系统的软硬件设计方法,实现了对12路开入量信号采集;13路开出量输出信号的控制;8路模拟量的采集。具有LED指示开关量状态、远程监控的功能。采用高性能嵌入式微处理器和嵌入式实时操作系统为核心,并使用稳定的工业现场总线,保证了系统的可靠性和实时性,达到了预期的设计要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭