《嵌入式plc芯片组的多路模拟量应用开发》由会员分享,可在线阅读,更多相关《嵌入式plc芯片组的多路模拟量应用开发(5页珍藏版)》请在金锄头文库上搜索。
1、嵌入式 PLC 芯片组的多路模拟量应用开发本文介绍了一种新的 PLC 开发过程嵌入式 PLC 的开发。嵌入式 PLC 以用户的应用为中心,软硬件可由用户根据工艺需要来裁剪,很好地满足了用户的个性化需求。 关键词:嵌入式 PLC 芯片组 系统软件 内核 如今工业控制产品已发展到一个追求个性化、差异化的阶段。传统的 PLC 产品已经无法满足更加细分化的市场需求,为了满足这种需求,出现了嵌入式 PLC 产品。一、嵌入式 PLC 嵌入式 PLC 是将 PLC 系统软件构建于控制器内,根据用户控制需要定制硬件,以 PLC 的应用方式解决对象控制问题的 PLC。它由两部分组成:嵌入式 PLC 系统软件和芯
2、片组1、嵌入式 PLC 系统软件嵌入式 PLC 系统软件将 PLC 语言(梯形图语言)、CAN 总线嵌入到单片机中,使单片机的产品开发从使用汇编语言变为使用 PLC 梯形图语言,并具有 CAN 总线的互连特性。该系统软件具有以下特点:1.以梯形图语言为内核,添加了中断管理系统,能实现 PLC 无法实现的硬实时操作;2.强化运算能力,增加了 CANBUS函数库、浮点数库、专家自整定 PID、嵌入式 WEB 等,丰富了 PLC 的功能;3.提供开放式扩展结构,支持第三方开发扩展单元的接线;4.增加了网络互连功能,在远程端加载专用浏览器后,即可实现远程监控。系统软件包括三个部分。嵌入式 PLC 内核
3、: 它完成实时任务调度、梯形图语言解释、执行、通讯等基本功能,并提供二次开发驱动接口;二次开发驱动程序 通过系统软件提供的外挂任务,使用内核开发各种面向具体对象个性化、差异化的驱动程序;终端应用程序 指面向工艺流程控制的梯形图语言程序 2、嵌入式 PLC 芯片组EASY CORE 1.00 是一个加载了嵌入式 PLC 系统软件的核心芯片组,作为一款加载了系统软件的硬件平台,可以用来设计通用和专用 PLC。1)芯片组基本性能: 供电:+5V 200mA,RAM 掉电保护 5 年。 CPU: C8051F040。 嵌入扩展能力32 I/O:可复用成 SPI、I2C 接口及外中断、外计数、AD 等。
4、4 AD: 12 位精度,100 KPS。2 DA: 12 位精度,100 KPS。 通信接口CANBUS:系统软件管理,使用工具软件 CANSet 构建 CANBUS 总线网络。UART0:系统软件管理,用于梯形图编程、监控,支持人机界面及用户驱动程序下载。UART1:系统软件管理,用于下载 CANBUS 网络参数、构建 RS485 网络及支持第三方设备互连。2)芯片组原理框图:二、应用开发基于加载了系统软件的核心芯片组,我们可以根据工艺需要来开发自己的嵌入式 PLC 产品。下面就介绍基于嵌入式 PLC 芯片组开发的 16 路输入的模拟量 PLC 产品(可输入标准信号或热电偶信号)。1、硬件
5、设计硬件整体结构图如下:AI0 是芯片组内的一个 AD 转换通道,P1.0P1.4 作为模拟开关的通道控制线来进行 16 个模拟信号通道间的切换。(1)信号采集电路用 AD 公司的高精密放大器 OP07 构成模拟信号放大电路,OP07 具有低输入偏移电压(10uV)、低漂移电压(0.2uV/)和宽范围的供电电压(3V18V), 可以很好地满足该产品的要求。在这里 OP07 由5V 供电,R18、R79 作为调零电阻,输出电压由下式给出:VoutVin(1R98/R56)。(2)信号选择电路选择 16 通道的模拟开关 CD4067 构成信号选择电路,A、B、C、D、INH 接到芯片组的 P1.0
6、P1.4 引脚,做为模拟开关的通道选择控制信号。OUT 引脚接到芯片组的 AIN0,即第一个 AD 转换通道。2、软件开发嵌入式 PLC 是基于 Cygnal 公司的 C8051f040 芯片开发的,所以二次程序的开发使用 51 汇编语言。开发选择的编译器是 KEIL C51,因为它可以生成我们所需要的.HEX 文件。内核留出了七个用户嵌入程序接口,我们只需要充分理解各个接口的功能就可了进行二次开发了,需要熟悉如下内容:a、内核功能 b、内核结构 c、内核任务管理 d、内核存储空间分配。【1】由于系统软件中已经加入了 232 通信、485 通信和CAN 通信的功能,所以 16 路模拟量 PLC
7、 的二次驱动软件的开发主要集中在模拟量的 AD 转换和 PLC 资源区中 AD 值的实时刷新上。(1)程序规划T4 中断:完成 AD 转换和 16 个通道的切换程序USER_SCAN:PLC 资源区中 AD 值的刷新。AD 转换过程如下:每一通道连续采样 16 次,采样完后得到累加和,然后启动下一通道的 AD 转换。PLC 资源区中 AD 值的刷新过程如下:在梯形图扫描周期结束时进行,把各路 AD 值的累加和求平均值后放入 PLC 的资源区的对应位置处。(2)程序代码INIT_AD: ;AD 初始化MOV SFRPAGE, #ADC0_PAGEMOV REF0CN, #07H ;内部参考电压/
8、输出到 VERF;启动内部温度传感器MOV AMX0CF, #00H ;单极性输入MOV ADC0CF, #0B8H ;D7D3=SYSCLK/采样时钟-1;采样转换时钟=1US;D2D0=GAIN;000 GAIN=1MOV ADC0CN, #90H ;启动 AD 采样MOV AD_CHANNEL, #00H ;AD 通道号,初值为 0MOV AD_COUNT, #00H ;16 次采样次数计数。初值为 0 RETSAMPLE_AD: ;AD 采样开始MOV SFRPAGE, #ADC0_PAGE ;AD 控制寄存器页 MOV A, AD_CHANNEL ;采样值的累加和是一个字基地址 ;为
9、#XA I ,偏移地址为 AD_CHANNELRL AMOV DPTR, #XAI ;XAI 存放 16 次采样值的累加和ADD A, DPL ;低字节相加MOV DPL, AMOVX A, DPTRMOV B, AMOV A, ADC0LCLR CADDC A, BMOVX DPTR, AINC DPTR ;高字节相加MOVX A, DPTRMOV B, AMOV A, ADC0HANL A, #0FHADDC A, BMOVX DPTR, A ;#XAI 中存放格式为低字节、高字节MOV SFRPAGE, #ADC0_PAGE ;AD 控制寄存器页MOV ADC0CN, #090H ;启动
10、下次 AD 采样 INC AD_COUNTMOV A, AD_COUNTCLR CSUBB A, #16 JNC FILL_XAI_XAD ;当 16 次采样完成后,把 XAI 中 16 ;个采样和(2 字节)存放到 XADRET3、驱动程序的嵌入在 KEIL C51 中编译上述程序。使用下载工具软件“DOWNHEX”,把生成的.HEX 文件通过串口下载到芯片组的固定地址处,使得内核可以调用它,从而完成二次驱动程序的开发。到此,16 路模拟量 PLC 的开发工作基本完成。三、功能介绍基于嵌入式 PLC 开发的多路模拟量网络节点具有以下功能:1、采集工业现场的多路热电偶信号,2、支持三菱、台达等
11、多家人机界面, 3、支持梯形图编程(86 条指令), 4、支持 CANbus 互连(多机并联运行或扩展单元连接)等。这里简要介绍下该网络节点的梯形图功能应用。嵌入式 PLC 的系统软件中内置了温度转换函数,其功能是把热电偶毫伏信号对应的 AD 值转化成温度值。适用于任意分度热电偶输入信号,应用于不同的控温场合,配合 PID 调节,使受控温度精度可达1。下面的梯形图程序就是把一路热电偶信号转换成温度值,该信号 AD 值放在 D5000,转换后的温度值存放在 D5160 中。四、结束语笔者利用嵌入式 PLC 芯片组开发的的 PLC 产品的实例证明,本着软硬件可裁剪的原则,开发出的产品可以很好的满足用户的个性化需求,节约了硬件成本、缩短了研发周期,并且得到了许多强大的功能,相信它的出现必将使得 PLC 生产厂家生产出越来越多的贴近终端市场的 PLC。