基于ISP微控制器的PLC实现方法
可编程序控制器(Programmable Logic Controller,简称PLC)把自动化技术、计算机技术和通信技术融为一体,按照成熟而有效的继电控制概念和设计思想,用先进的微控制器技术来实现I/O的实时检测和控制。由于PLC具有编程简单、可靠性高、通用性强和使用方便等特点,因此得到广泛应用。PLC技术已经成为工科院校电工学的必修内容。但PLC的种类很多,发展很快,而指令系统和使用方法又不尽相同,使PLC的教学内容总是滞后于PLC的技术发展。为了改变这种状况,我们以自带在系统中编程(ISP)功能的、高性价比的微控制器SM2965为核心,研制了基于ISP功能的可编程序控制器,用于PLC控制实验。下面介绍PLC的设计思路、硬件构成和软件设计方法。
一、采用ISP微控制器SM2965设计PLC的思路
为了满足对嵌入式系统采用高级语言开发的需求,新一代微控制器配置了ISP功能,它是指在用户设计的微控制器系统中为配置新的系统功能对器件进行重新编程的技术。在PLC中采用具有ISP功能的微控制器,不仅可以在线更新用户程序,而且还可以在线升级系统程序。使PLC教学能紧跟PLC最新技术发展。
(一)SM2965的特点
SM2965的内核是标准的80C52,但在此基础上扩展了以下功能:
在系统中编程,编程电压为+5V;
64k字节快闪存储器(FLASH E2PROM),ISP功能使FLASH E2PROM可在线编程;
1k字节的RAM空间—256字节的片内RAM和768字节的片内扩展内存(EXRAM);
可编程的看门狗定时器。
可见,一片SM2965包含了标准的80C32、FLASH、E2PROM(28SF512)、SRAM(静态数据存储器)和WDT(看门狗定时器)SM2965是性价比极相当高的“单片”计算机。而其ISP特性使得FLASH E2PROM既可作为程序空间,也可像E2PROM一样保存数据。以其为核心设计的PLC具有成本低、体积小、扩展方便及使用灵活等优点。
(二)由微控制器组成PLC的思路
以微控制器为核心设计PLC,其硬件组成与微控制器测控系统基本相同。但在微控制器测控系统中,“测”和“控”的过程在时间上是串行关系。而PLC是按循环扫描方式进行工作的,每个扫描周期包括输入采样、程序执行和输出刷新三个阶段,采用集中输入、集中输出并行关系的工作方式。若像微控制器测控系统一样,对PLC梯形图程序行依次实时采集输入端子状态,进行处理后实时输出,达不到PLC的控制效果。为此,在RAM区设置输入缓冲作为输入映像寄存器,采用一次性读入全部输入端子状态,并将其存入输入缓冲区,然后,按照梯形图程序行的逻辑关系,从输入缓冲区读取相应输入端子状态,运算处理后将待输出的结果存入输出缓冲区—元件映像寄存器。最后,当梯形图程序行全部执行完毕,一次性将输出缓冲区的值输出到相应的输出端子,经过上述三个阶段,完成一个程序扫描周期。如此往复,自动进行下一轮的扫描。这样将串行程序工作和并行工业控制系统两种关系协调起来。虽然存在输入/输出滞后现象,但微控制器执行一条指令的时间是微秒级,执行一个扫描周期的时间为几毫秒,最大为几十毫秒。相对于电器的动作时间而言,扫描周期是短暂的,可以认为在一个扫描周期内输入端子的状态是不变的,对其状态变化的采集和处理也是实时的,从而满足了实时控制的要求。
二、硬件配置及系统资源分析
系统硬件配置以微控制器SM2965为核心,如图1所示。
该微控制器有64k字节的FLASH存储器和1k字节的RAM,不必扩展外部存储器,其接口P0~P3全部可作为I/O使用。输入端子经光电隔离后连到P0口的8个脚。用于开关量的输入。开关接通时,相应引脚为“1”,开关断开时,相应引脚为“0”。在输入采样阶段,MCU(微控制器)读P0口的状态,存入输入缓冲区相当于输入映像寄存器。P2口作为PLC的输出锁存器。在输出刷新阶段,将输出缓冲区的内容转存到P2口锁存器,P2口8个引脚经光电隔离后直接驱动输出设备的执行机构。P3口将键盘、显示器和微型打印机等外设与PLC连接,使PLC可脱离主机单独使用。P1作为I/O扩展接口,当输入、输出设备所需I/O点数超过P0和P2所提供的I/O点数时,可由P1口通过I/O扩展单元加以扩展。用P1.6和P1.7口软件模拟I2C总线接口,带有I2C总线的I/O接口器件、A/D和D/A转换器件作为I2C的从器件与此相连后即可增加I/O点数和扩展其他功能。系统配置电平转换集成电路ICL232,将TTL电平转换为RS232C电平,可直接与主机相连进行串行通信。SM2965内部自带可编程看门狗电路,其外部仅用简单的阻容复位即可。
SM2965片内ROM空间分配如图2所示,PLC系统程序、中断控制
- 3DES算法的FPGA高速实现(06-21)
- 基于DSP的Max-Log-MAP算法实现与优化(05-27)
- DSP中DMA操作的无阻塞请求实现(06-18)
- 二维DCT编码的DSP实现与优化(09-08)
- 基于DSP处理器上并行实现ATR算法(01-29)
- 基于DSP的H.324终端设计(05-27)