用户登陆 用户注册
您的位置:首页> 技术文章>内容正文
基于嵌入式PLC芯片组的多路模拟量PLC的开发
[正文]:摘要:本文介绍了一种新的plc开发过程——嵌入式plc的开发。
嵌入式plc以用户的应用为中心,软硬件可由用户根据工艺需要来裁剪,很好地满足了用户的个性化需求。
关键词:嵌入式plc芯片组  系统软件  内核    如今工业控制产品已发展到一个追求个性化、差异化的阶段。
传统的plc产品已经无法满足更加细分化的市场需求,为了满足这种需求,出现了嵌入式plc产品。
一、嵌入式plc 嵌入式plc是将plc系统软件构建于控制器内,根据用户控制需要定制硬件,以plc的应用方式解决对象控制问题的plc。
它由两部分组成:嵌入式plc系统软件和芯片组1、嵌入式plc系统软件嵌入式plc系统软件将plc语言(梯形图语言)、can总线嵌入到单片机中,使单片机的产品开发从使用汇编语言变为使用plc梯形图语言,并具有can总线的互连特性。
该系统软件具有以下特点:1.以梯形图语言为内核,添加了中断管理系统,能实现plc无法实现的硬实时操作;2.强化运算能力,增加了canbus函数库、浮点数库、专家自整定pid、嵌入式web等,丰富了plc的功能;3.提供开放式扩展结构,支持第三方开发扩展单元的接线;4.增加了网络互连功能,在远程端加载专用浏览器后,即可实现远程监控。
系统软件包括三个部分。
①嵌入式plc内核: 它完成实时任务调度、梯形图语言解释、执行、通讯等基本功能,并提供二次开发驱动接口;②二次开发驱动程序 通过系统软件提供的外挂任务,使用内核开发各种面向具体对象个性化、差异化的驱动程序;③终端应用程序 指面向工艺流程控制的梯形图语言程序 2、嵌入式plc芯片组easy core 1.00 是一个加载了嵌入式plc系统软件的核心芯片组,作为一款加载了系统软件的硬件平台,可以用来设计通用和专用plc。
1)芯片组基本性能:① 供电:+5v 200ma,ram掉电保护5年。
② cpu: c8051f040。
③ 嵌入扩展能力●32 i/o:可复用成spi、i2c接口及外中断、外计数、ad等。
●4 ad: 12位精度,100 kps。
●2 da: 12位精度,100 kps。
④ 通信接口●canbus:系统软件管理,使用工具软件canset构建canbus总线网络。
●uart0:系统软件管理,用于梯形图编程、监控,支持人机界面及用户驱动程序下载。
●uart1:系统软件管理,用于下载canbus网络参数、构建rs485网络及支持第三方设备互连。
2)芯片组原理框图:
点击查看大图片
二、应用开发基于加载了系统软件的核心芯片组,我们可以根据工艺需要来开发自己的嵌入式plc产品。
下面就介绍基于嵌入式plc芯片组开发的16路输入的模拟量plc产品(可输入标准信号或热电偶信号)。
1、硬件设计硬件整体结构图如下:
点击查看大图片
ai0是芯片组内的一个ad转换通道,p1.0—p1.4作为模拟开关的通道控制线来进行16个模拟信号通道间的切换。
(1)信号采集电路用ad公司的高精密放大器op07构成模拟信号放大电路,op07具有低输入偏移电压(10uv)、低漂移电压(0.2uv/℃)和宽范围的供电电压(±3v-±18v), 可以很好地满足该产品的要求。
在这里op07由±5v供电,r18、r79作为调零电阻,输出电压由下式给出:vout=vin(1+r98/r56)。

点击查看大图片
(2)信号选择电路选择16通道的模拟开关cd4067构成信号选择电路,a、b、c、d、inh接到芯片组的p1.0-p1.4引脚,做为模拟开关的通道选择控制信号。
out引脚接到芯片组的ain0,即第一个ad转换通道。

点击查看大图片
 2、软件开发嵌入式plc是基于cygnal公司的c8051f040芯片开发的,所以二次程序的开发使用51汇编语言。
开发选择的编译器是keil c51,因为它可以生成我们所需要的.hex文件。
内核留出了七个用户嵌入程序接口,我们只需要充分理解各个接口的功能就可了进行二次开发了,需要熟悉如下内容:a、内核功能b、内核结构c、内核任务管理d、内核存储空间分配。
【1】由于系统软件中已经加入了232通信、485通信和can通信的功能,所以16路模拟量plc的二次驱动软件的开发主要集中在模拟量的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_page mov  ref0cn,  #07h ;内部参考电压/输出到verf         ;启动内部温度传感器 mov  amx0cf,  #00h ;单极性输入 mov  adc0cf,  #0b8h ;d7--d3=sysclk/采样时钟-1         ;采样转换时钟=1us         ;d2--d0=gain         ;000 gain=1 mov  adc0cn,  #90h ;启动ad采样 mov  ad_channel, #00h ;ad通道号,初值为0mov  ad_count,  #00h ;16次采样次数计数。
初值为0 ret sample_ad:         ;ad采样开始mov  sfrpage, #adc0_page ;ad控制寄存器页     mov  a,  ad_channel  ;采样值的累加和是一个字基地址         ;为#xai,偏移地址为ad_channel   rl  a     mov  dptr,  #xai  ;xai存放16次采样值的累加和   add  a,   dpl   ;低字节相加   mov  dpl,  a   movx a,   @dptr   mov  b,   a   mov  a,   adc0l   clr  c   addc a,   b   movx @dptr,  a   inc  dptr     ;高字节相加   movx a,   @dptr   mov  b,   a   mov  a,   adc0h   anl  a,   #0fh   addc a,   b   movx @dptr,  a   ;#xai中存放格式为低字节、高字节   mov  sfrpage, #adc0_page ;ad控制寄存器页   mov  adc0cn, #090h  ;启动下次ad采样       inc  ad_count   mov  a,   ad_count   clr  c   subb a,   #16    jnc  fill_xai_xad   ;当16次采样完成后,把xai中16          ;个采样和(2字节)存放到xadret3、驱动程序的嵌入在keil c51中编译上述程序。
使用下载工具软件“downhex”,把生成的.hex文件通过串口下载到芯片组的固定地址处,使得内核可以调用它,从而完成二次驱动程序的开发。
到此,16路模拟量plc的开发工作基本完成。
三、功能介绍基于嵌入式plc开发的多路模拟量网络节点具有以下功能:1、采集工业现场的多路热电偶信号,2、支持三菱、台达等多家人机界面, 3、支持梯形图编程(86条指令), 4、支持canbus互连(多机并联运行或扩展单元连接)等。
这里简要介绍下该网络节点的梯形图功能应用。
嵌入式plc的系统软件中内置了温度转换函数,其功能是把热电偶毫伏信号对应的ad值转化成温度值。
适用于任意分度热电偶输入信号,应用于不同的控温场合,配合pid调节,使受控温度精度可达±1℃。
下面的梯形图程序就是把一路热电偶信号转换成温度值,该信号ad值放在d5000,转换后的温度值存放在d5160中。

点击查看大图片
四、结束语笔者利用嵌入式plc芯片组开发的的plc产品的实例证明,本着软硬件可裁剪的原则,开发出的产品可以很好的满足用户的个性化需求,节约了硬件成本、缩短了研发周期,并且得到了许多强大的功能,相信它的出现必将使得plc生产厂家生产出越来越多的贴近终端市场的plc。



网站首页 培训课程 维修指南
技术文章 家电专栏 供应信息
求购信息 培训资讯 展会信息
电脑专栏 教程下载 资料下载
常用软件 PLC教程 PLC资料
变频伺服 低压电器 维修资料
人机界面 自控仪表 工控机类
文章标题: 搜文章
中国工控资源网手机版 2012
电话:010-67577139 13811659603
培训咨询QQ:657167934 471895637 销售咨询QQ:623769457
联系邮箱:zggkzyw@163.com
 京ICP备11002135号
报时(2026-04-06 17:44:35) 流量统计