用户登陆 用户注册
您的位置:首页> 技术文章>内容正文
《案例》基于嵌入式PLC芯片组的多路模拟量PLC的开发 (下)
[正文]: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_pagemov      ref0cn,      #07h   ;内部参考电压/输出到verf                        ;启动内部温度传感器mov      amx0cf,      #00h   ;单极性输入mov      adc0cf,      #0b8h   ;d7--d3=sysclk/采样时钟-1                        ;采样转换时钟=1us                        ;d2--d0=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    ;采样值的累加和是一个字基地址                           ;为#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-04 00:27:27) 流量统计