新闻中心

EEPW首页>嵌入式系统>设计应用> 基于ARM和CAN总线的嵌入式PLC设计

基于ARM和CAN总线的嵌入式PLC设计

作者: 时间:2012-04-10 来源:网络 收藏

2 系统硬件设计

2.1 开关量输入输出模块

开关量输入电路的功能是接收工业现场各种开关量信号的输入,并将其转换成符合CPU要求的标准逻辑电平。为提高控制器的抗干扰能力,在开关量输入信号和处理器STM32之间使用光电耦器件TLP521隔离,当开关量输入信号受到干扰时,只要其共模电压低于光耦的最大隔离电压,就不会对处理器正常工作造成任何影响。

开关量输入电路如图2所示。其中X1为输入端,P1为微控制器端口,LED0为输入点的状态指示灯,TLP521为光电耦合器,它实现现场与的CPU电气隔离,提高抗干扰性。

基于ARM和CAN总线的嵌入式PLC设计

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

基于ARM和CAN总线的嵌入式PLC设计

2.2 模拟量输入模块

模拟量输入电路的主要功能是把现场测量到的模拟量信号转变成PLC可以处理的数字量信号。A/D转换器是模拟量输入电路的主要器件,STM32微控制器内部含有8路10位A/D转换器,配合信号调理电路以及相应的控制电路,可以完成模拟量的采样和转换。转换后的数字量由CPU读入PLC系统的输入映像缓冲区,从而完成对模拟量的采集。

本设计中,模拟量输入电路有8路4~20mA电流输入。4~20mA直流信号制是国际电工委员会(IEC)制定的过程控制系统用模拟信号标准。在工业现场,如果采集的信号经调理后是电压信号并且进行长线传输,会产生以下问题:第一,由于传输的信号是电压信号,传输线会很容易受到噪声的干扰;第二,传输线的分布电阻会产生电压降。为了解决上述问题和避开相关噪声的影响,工业现场大量采用电流来传输信号。

2.3接口电路

是一种支持分布式实时控制的串行通信网络,采用对通信数据进行编码的方式,使得上的节点数量理论上几乎不受限制。然而实际上,CAN总线上的节点数量不宜超过100个。每一个嵌入式PLC通过CAN总线实现与上位机的通信,传输距离可达10km,通信速率高、可靠性高、抗干扰能力强。由于STM32F103X内部已集成CAN总线控制器,因此只需要外接CAN收发器即可,使得电路更加简洁而且成本更低,同时可靠性得以提高。CAN收发器采用TI公司的SN65HVD230供电电压为3.3V的CAN总线收发器,该收发器采用差分收发方式,最高速率可达1Mb/s,具有高抗电磁干扰、CAN总线保护、斜率控制等特点,电气连接简单,使用方便,完全满足工业级产品的技术要求。通信接口电路如图4所示。

基于ARM和CAN总线的嵌入式PLC设计

3 系统软件设计

由于嵌入式PLC在工业控制方面的实时性和稳定性要求,选用μC/OS-II操作系统来管理任务调度。μC/OS-II是一个专为嵌入式应用设计,基于优先级调度的抢占式实时操作系统内核,它包含了任务调度、任务管理、时间管理、任务间通信与同步等功能。各任务之间通过信号量、邮箱和消息队列实现相互间的数据交换和同步。



关键词:ARMCAN总线PLC

评论


相关推荐

技术专区

关闭