当前位置:首页 > 嵌入式 > 嵌入式硬件

如今工业控制产品已发展到一个追求个性化、差异化的阶段。传统的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 IO:可复用成SPI、I2C接口及外中断、外计数、AD等。
*4 AD: 12位精度,100 KPS。
*2 DA: 12位精度,100 KPS。

④ 通信接口
*CANBUS:系统软件管理,使用工具软件CANSet构建CANBUS总线网络。
*UART0:系统软件管理,用于梯形图编程、监控,支持人机界面及用户驱动程序下载。
*UART1:系统软件管理,用于下载CANBUS网络参数、构建RS485网络及支持第三方设备互连。

2)芯片组原理框图
           

图1 芯片组原理框图

二、应用开发

  基于加载了系统软件的核心芯片组,我们可以根据工艺需要来开发自己的嵌入式PLC产品。下面就介绍基于嵌入式PLC芯片组开发的16路输入的模拟量PLC产品(可输入标准信号或热电偶信号)。

1、硬件设计

  硬件整体结构图如下:

       

            图2 硬件整体结构图

  AI0是芯片组内的一个AD转换通道,P1.0—P1.4作为模拟开关的通道控制线来进行16个模拟信号通道间的切换。

  (1)信号采集电路

  用AD公司的高精密放大器OP07构成模拟信号放大电路,OP07具有低输入偏移电压(10uV)、低漂移电压(0.2uV℃)和宽范围的供电电压(±3V-±18V), 可以很好地满足该产品的要求。在这里OP07由±5V供电,R18、R79作为调零电阻,输出电压由下式给出:Vout=Vin(1+R98R56)。
      


           图3 模拟信号放大电路

  (2)信号选择电路

  选择16通道的模拟开关CD4067构成信号选择电路,A、B、C、D、INH接到芯片组的P1.0-P1.4引脚,做为模拟开关的通道选择控制信号。OUT引脚接到芯片组的AIN0,即第一个AD转换通道。
             


           图4 信号选择电路图

  2、软件开发

  嵌入式PLC是基于Cygnal公司的C8051f040芯片开发的,所以二次程序的开发使用51汇编语言。开发选择的编译器是KEIL C51,因为它可以生成我们所需要的.HEX文件。

  内核留出了七个用户嵌入程序接口,我们只需要充分理解各个接口的功能就可了进行二次开发了,需要熟悉如下内容:a、内核功能b、内核结构c、内核任务管理d、内核存储空间分配。由于系统软件中已经加入了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通道号,初值为0
  MOV 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字节)存放到XAD RET

  3、驱动程序的嵌入

  在KEIL C51中编译上述程序。使用下载工具软件“DOWNHEX”,把生成的.HEX文件通过串口下载到芯片组的固定地址处,使得内核可以调用它,从而完成二次驱动程序的开发。到此,16路模拟量PLC的开发工作基本完成。

  三、功能介绍

  基于嵌入式PLC开发的多路模拟量网络节点具有以下功能:
  1. 采集工业现场的多路热电偶信号;
  2. 支持三菱、台达等多家人机界面;
  3. 支持梯形图编程(86条指令);
  4. 支持CANbus互连(多机并联运行或扩展单元连接)等。

  这里简要介绍下该网络节点的梯形图功能应用。嵌入式PLC的系统软件中内置了温度转换函数,其功能是把热电偶毫伏信号对应的AD值转化成温度值。适用于任意分度热电偶输入信号,应用于不同的控温场合,配合PID调节,使受控温度精度可达±1℃。

  下面的梯形图程序就是把一路热电偶信号转换成温度值,该信号AD值放在D5000,转换后的温度值存放在D5160中。

      

     图5 基于嵌入式PLC开发的多路模拟量网络节点梯形图

  四、结束语

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月11日,中国——意法半导体的ST25R100近距离通信(NFC)读取器芯片独步业界,集先进的技术功能、稳定可靠的通信连接和低廉的成本价格于一身,在大规模制造的消费电子和工控设备内,可以提高非接触式互动功能的...

关键字: 嵌入式 数据读取器 芯片

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。

关键字: 嵌入式 开发板
关闭
关闭