以C8051F040单片机为核心的PLC硬件电路设计,包括掉电保护的外部RAM、硬件看门狗和对外部扩展的接口电路。本文提出了以C8051F040单片机为核心,充分利用其丰富的片上资源,扩展系统的输入输出功能,以此来设计小型PLC输入输出接口硬件电路。
C8051F040是Cygnal公司推出的C8051F系列之一,与传统的80C51相比有重要技术发展:废除了机器周期的概念,指令以时钟周期为运行单位,提高了指令的运行速度;I/O端口配置灵活,内部输入/输出电路单元可通过相应的配置寄存器控制的交叉开关配置到所选择的端口;完善的时钟系统,片内设置有一个可编程的时钟振荡器,可提供2、4、8、16 MHz时钟的编程设定;基于JTAG(JointTest Action Group)接口的在系统调试;多源复位;低功耗模式。C8051F040系列单片机具有标准8051的端口(P0,P1,P2,P3),在F040/2中有4个额外的8位I/O口(P4,P5,P6,P7),因此总共有64个多功能的I/O端口。I/O端口的工作情况与标准8051相似,并作了一些改进。每个端口I/O引脚都可以被设置为漏极开路方式或推挽方式。
1 C8051F040芯片组在PLC内核电路设计中的原理和功能
1.1 基于C8051F040芯片的PLC内部电路采用四层印制板设计,主要由CPU、外部RAM看门狗以及供掉电保护的电池组成。CPU选用高性能的C8051F040。外部RAM 选用低保持功耗的128K 的SRAM:
STC62WV1024。看门狗选用MAX809RD,在电源电压低于2.7 V时向SRAM发出锁存信号,禁止写操作。电池选用CR系列扣式锂锰电池(3 V):CR1230,电池容量为50 mAh。基于C8051F040芯片的PLC内部电路设计框图如图1。
图1 PLC内部电路设计框图
1.2 该系统各管脚的基本功能如下:
电源供电:+5 V,200 mA,RAM掉电保护5年。
CPU:C8051F040。
I/O:分别为P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,P4.0~4.3的I/O为8个,可复用成SPI、I2C接口及外中断、外计数、AD等。
4个AD:12位精度,100 kPS。2个DA:12位精度,100 kPS。
CANBUS:软件内核管理,使用工具软件CANSet构建CANBUS总线网络。
UART0:软件内核管理,用于梯形图编程、监控,支持人机界面及用户驱动程序下载。
UART1:软件内核管理,用于下载CANBUS网络参数、构建RS485网络及支持第三方设备互连表。
1.3 C8051F040芯片组外部引脚定义
嵌入式PLC芯片组由两排查针组成,是跟外围电路的接口。引脚定义如表1和表2所示。
序号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
名称 |
+5 V |
+5 V |
GND |
GND |
PRO |
RUN/SET |
P4.3 |
P4.2 |
P4.1 |
P4.0 |
序号 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
名称 |
DAC0 |
DAC1 |
CANRX |
CANTX |
AD0 |
AD1 |
AD2 |
AD3 |
P1.7 |
P1.6 |
序号 |
21 |
22 |
23 |
24 |
25 |
26 |
||||
名称 |
P1.5 |
P1.4 |
P1.3 |
P1.2 |
P1.1 |
P1.0 |
序号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
名称 |
AGND |
AGND |
P0.0 |
P0.1 |
P0.2 |
P0.3 |
P0.4 |
P0.5 |
P0.6 |
P0.7 |
序号 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
名称 |
P3.0 |
P3.1 |
P3.2 |
P3.3 |
P3.4 |
P3.5 |
P3.6 |
P3.7 |
P2.0 |
P2.1 |
序号 |
21 |
22 |
23 |
24 |
25 |
26 |
||||
名称 |
P2.2 |
P2.3 |
P2.4 |
P2.5 |
P2.6 |
P2.7 |
PLC的输入输出系统是过程状态与参数输入到PLC以及PLC实现控制时控制信号输出的通道。它提供了各种操作电平和驱动的输入输出接口模板,以实现被控过程与PLC I/O接口之间的电平转换、电气隔离、串/并转换、A/D与D/A转换等功能。根据他们所实现的功能不同,可将I/O通道分为以下几种:模拟量输入通道(AI)、模拟量输出通道(AO)、开关量输入通道(DI)、开关量输出通道(DO)、脉冲量输入通道(PI)。
14点PLC具有8路开关量输入,6路继电器输出。
2.1 输入口设计
开关量输入通道用来输入各种限位开关、继电器或电磁阀门的起闭状态、各种开关及手动操作按钮的开关状态等。输入信号一般为0~24 V或0~12 V直流电压信号,但是有时也可输入交流电压信号或触点。现场的离散信息通过该输入模块送给CPU处理。数字量输入的最主要问题是隔离问题。尤其是一些开关量输入信号,如隔离不好,较强的电磁干扰就会引入到系统中,影响系统的正常工作。因此在PLC中,数字量的输入都采用光隔离器件,将现场与PLC实现电气上隔离,从而保持系统工作的可靠性。
现场输入的数字量大多是开关量。开关量一般是直流信号,个别情况下也有交流信号,我们采用的是直流开关量,图2所示为开关量输入模块图。采用内部12 V直流电源,I/O是输入端子,P3.6为CPU端口。图中只画出对应于一个输入点的输入电路,各个输入点所对应的输入电路均相同。图中U10是光耦合器TLP180,发光二极管与光敏二极管封装在一个管壳中。当二极管中有电流时发光,此时光敏晶体管才导通。R1为限流电阻,C1为滤波电容,可滤除输入信号中的高频干扰,R2 和R3为分压电阻,因为CPU采用3.3 V供电。
图2 开关量输入模块图
当I/O和公共端12 V的地短接时,光耦合器导通,表示输入开关处于接通状态。P3.6为高电平,该电平经滤波器送到内部电路中。当CPU访问该路信号时,将该输入点对应的输入映像寄存器状态置1;当I/O断开时光耦合器不导通,LED不亮,表示输入开关s处于断开状态。此时P3.6为低电平,该电平经滤波器送到内部电路中。当CPU访问该路信号时,将该输入点对应的输入映像寄存器状态置0。
2.2 输出口设计
开关量输出通道用于控制电磁阀门、继电器、指示灯、声光报警器等,一般只具有开、关两种状态的设备。根据所用器件的不同,一般有继电器输出、晶体管输出和晶闸管输出等多种形式,一般输出0~24 V或0~5 V直流电压信号,有时根据需要也可输出交流电压信号。工业现场很多设备的起停以及生产过程中工作方式的转换,均是由一个位置信号,或者说是“0”或“1”信号控制的。用PLC输出这样的信号时对现场设备进行控制是很容易实现的。为满足现场的要求,PLC提供了多种输出接口,可极大地满足工业现场的各种要求。我们采用的是继电器输出方式,采用继电器隔离。继电器输出模块输出实际上是将PLC内部不同的输出信号转换成输出继电器触点的不同动作。触点闭合对应内部输出信号“1”;触点打开对应内部输出信号“0”。输出继电器既可以带阻性负载,也可带电感性负载。负载电压可以是交流也可以是直流的,其电压也有各种不同范围的。负载电流可以从1 A到几A。继电器输出模块适用于驱动电磁线圈、各种阀门等,是一种用途广泛的输出模块。
图3 PLC输出模块图
PLC输出模块图如图3所示。图中二极管和NPN型达林顿管是封装在ULN2003里面的,ULN2003提供了7路达林顿管,用于驱动大电流器件,如LED管、继电器等,最大电流500 mA,最大集电极电压为30 V。它输入接受1TL电平,输出为开漏输出型,在基极还有2.7千欧的限流电阻,同时基极和发射极还有7.2千欧和3千欧的分压电阻。ULN2003中的二极管在这里起续流作用,当线圈由导通突然断开时,给电感线圈续流,防止电压突变。74HC04由3.3 V供电,起驱动ULN2003的作用。电阻R 和电容c 吸收外部的高频尖峰,防止对内部电路产生干扰。COM是输出公共端,OUT是输出端。
当内部映像输出继电器为1时,端口 P1.0输出0,反向器74HC04输出1,达林顿管导通,继电器吸合,其常开触点闭合,表示输出点接通。反之当内部映像输出继电器为0时,输出点断开。
2.4 输入输出显示设计
输入输出指示灯由CPU判断输入输出口的状态后,直接输出相应的状态,经过74HCT244驱动LED发光二极管,LED需要4 mA就可以显示,用74HCT244就可以满足驱动要求。
通过应用C8051F040单片机来设计PLC的输入输出接口电路,能完整实现PLC接口的各项功能,实践证明,其工作性能可靠、使用寿命较长,符合PLC的工作参数要求。