×
嵌入式开发 > 详情

基于AR嘞CAN总线的嵌入式PLC设计

发布时间:2020-07-08 发布时间:
|

摘要:为实现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电气隔离,提高抗干扰性。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
CC-Link现场总线及应用实例