基于嵌入式PLC芯片组开发PLC方法.doc_第1页
基于嵌入式PLC芯片组开发PLC方法.doc_第2页
基于嵌入式PLC芯片组开发PLC方法.doc_第3页
基于嵌入式PLC芯片组开发PLC方法.doc_第4页
基于嵌入式PLC芯片组开发PLC方法.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于嵌入式PLC芯片组开发PLC的方法摘要:介绍利用嵌入式PLC芯片组开发PLC产品的方法。整个开发过程全部是自主开发,易学易用,符合国人编程及使用习惯。关键词:嵌入式PLC芯片组 PLC 开发 嵌入式PLC芯片组是一个加载了嵌入式PLC软件平台的核心芯片组,具备PLC功能和CAN,RS232/485通信功能,能够完成常规过程控制的控制模块。在其基础上,能轻松、快速地设计出PLC产品。下面就以我用嵌入式PLC芯片组开发的24点开关量PLC为例,介绍PLC的开发方法。1嵌入式PLC芯片组介绍 1嵌入式PLC芯片组原理框图1.2嵌入式PLC芯片组技术性能指标供电:+5V 200mA,RAM有掉电保护功能。CPU: C8051F040。引脚功能:32 个I/O、4 个AD、2 个DA通信接口CANBUS:整个CAN总线网络互联全由CANSet 软件来实现。设置起来十分简便。UART0:可用于梯形图程序及上位机的监控,还可以与人机界面通讯。UART1:可用于下载CANSET软件生成的CAN网络配置文件,可以通过RS485网络连接第三方设备,如PC、三菱PLC等等。2 、 24点开关量PLC的开发 采用嵌入式PLC芯片组构建单片机嵌入系统,设计方首先要有满足设计自身要求的PLC硬件,另外还要用C或汇编语言编少量的接口驱动程序。 2.1硬件设计 功能特点: 16点输入,8点输出的开关型通用PLC。 支持CAN总线网络,可作CAN网络的主站或从站。 支持梯形图编程,可连接计算机或人机界面。 支持RS485网络,可作RS485网络的主站或从站。 原理图原理大体可分为四大部分:即输入、输出、指示灯、通信四大部分 开关量的输入部分原理图 其中X01是开关量的一个输入点,经过光电隔离后,出来的信号为AX0,有多少个输入,就有多少个这种电路。单片机常常用到I/O的扩展功能,在此我们也要用到这一功能,以增加I/O口。由于简单输入接口扩展只解决数据输入的缓冲问题,所以在这里的扩展依旧使用典型74244作为扩展芯片。 开关量输出部分原理图 指示灯部分有了输入、输出,怎样知道输入已接通?或者输出已经输出?人们最常用的办法是用指示灯来指示,一看一目了然。在此我们不妨也来借鉴一下。 通信部分嵌入式芯片组中有两个串口和一个CAN通信口。串口是RS-232接口。部分电路原理图如下:在构建原理图时,一定注意各个芯片相连时的电平匹配问题。2软件开发 利用嵌入式PLC芯片组做PLC产品,除了硬件之外,还要加载软件。软件编程环境是KEIL C51中的Uvision2 。Uvision2是KEIL C51 for windows 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。 整个嵌入式PLC产品的软件包括三个部分。 内核程序(嵌入式PLC内核) 内核的功能体现在梯形图语言、通信及用户驱动程序接口三个方面。 驱动程序的嵌入 用户驱动程序包括头文件部、中断入口调用矢量地址部分和用户程序部分。其中头文件部分和中断入口调用矢量地址部分程序基本是大同小异,主要是用户程序的嵌入部分。内核给出了七个用户嵌入程序的接口,我们只需要充分理解各个接口的功能就可进行嵌入程序的开发了,下面以24点开关量驱动程序的嵌入为例,对用户程序部分作简单的说明。*USER_CONFIG*这部分主要是对用户I/O进行配置。例:USER_CONFIG: MOVSFRPAGE,#0FH MOVP3MDOUT,#0FFH MOVP2MDOUT,#0FFH ANL P4MDOUT,#0F0H ORLP4MDOUT,#0FH ORL P0MDOUT,#0F0H ORLP0MDOUT,#0F4H RET*USER_START*这部分是用户上电初始化程序代码。例:USER_START:MOVDPTR,#RAM_PX+1MOVA,#00HMOVXDPTR,AMOVINPUT_CNT,#08;输入口采样次数指针MOV LAMP_CNT,#00H ;指示灯组数指针 RET*INIT_RUN* 这部分是用户运行初始化程序代码。如果没有可直接返回。例:INIT_RUN: RET*INIT_SET*这部分是用户设置初始化程序代码。例:INIT_RUN: MOVDPTR,#XLAMP MOV A,#00H MOVX DPTR,A MOVDPTR,#RAM_PY+1 MOVA,#00H MOVXDPTR,A LCALLSCANRET*USER_STEP*这部分是用户每步执行程序。如果没有可直接返回。例:USER_STEP: RET*USER_TMS*这部分是用户2.5MS定时运行程序代码。24点开关量PLC输入的采样及指示灯的刷新这是在这里完成的。指示灯的刷新:MOV DPTR,#XLAMP ;XLAMP是指示灯的值MOVX A,DPTRCPL AMOV P2,A ;P0、P2口是控制指示灯的。INC DPTRMOVX A,DPTR MOV P0,A输入口的采样如下: MOV A,INPUT_CNTANL A,#0FHJNZ USER_INTMS1 ;八次采样结束RET USER_INTMS1:DECAMOVB,#02HMULABMOVDPTR,#XINPUTADDA,DPLMOVDPL,AMOVA,DPHADDCA,BMOVDPH,AMOVSFRPAGE,#0FHORL P4,#0CHANLP4,#0FBH;P4.2片选 LCALLDELAYMOVA,P1MOVXDPTR,A ; ORLP4,#04HANLP4,#0F7H;P4.3片选MOVA,P1INCDPTRMOVXDPTR,A ;保存16个输入口采样值ORL P4,#08HDECINPUT_CNTRETDELAY:NOPNOPNOPRET*USER_SCAN*这部分是用户演算周期扫描程序代码。如每个输入口的8次采样值的处理、输出的刷新、输入输出指示灯的赋值都可在此完成。 例:输出口的刷新:MOV DPTR,#RAM_PY+1 MOVXA,DPTR CPL AMOV P3,ARET RAM_PY+1的值与输出继电器物理地址一一对应并且输出。其中P3口是控制继电器的。以上便是驱动程序的嵌入。综上所述,整个嵌入过程主要是完成三件事情:a、输入采样并对采样进行处理,处理后的结果存放到RAM_PX+1、 RAM_PX。每个开关量的输入与输入指示灯的物理地址的一一对应并保持刷新。b、输出的刷新。输出刷新的值是从RAM_PY+1 、RAM_PY中取的。同时开关量的输出与输出指示灯的物理地址同样需要一一对应。c、对输入输出指示灯的刷新。梯形图程序。(略)由于内核的系统软件中已经加入了232通信、485通信和CAN通信的功能,所以通信功能也就水到渠成了。3结束语利用嵌入式芯片组做嵌入式PLC产品,设计方只需用C或汇编编少量的接口驱动程序不到源软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论