微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AR嘞CAN总线的嵌入式PLC设计

基于AR嘞CAN总线的嵌入式PLC设计

时间:02-16 来源:互联网 点击:

3 系统软件设计
由于嵌入式PLC在工业控制方面的实时性和稳定性要求,选用μC/OS-II操作系统来管理任务调度。μC/OS-II是一个专为嵌入式应用设计,基于优先级调度的抢占式实时操作系统内核,它包含了任务调度、任务管理、时间管理、任务间通信与同步等功能。各任务之间通过信号量、邮箱和消息队列实现相互间的数据交换和同步。
本系统软件部分由下位机控制程序和上位机监控程序两部分组成。前者主要负责读取开关量和模拟量的输入数据,控制开关量输出,并且负责通过CAN总线将数据上传给上位机,以及接收来自上位机的命令;后者则通过人机交互界面来监控嵌入式PLC的状态。系统需要先完成μC/OS-II操作系统的移植,然后利用μC/OS-II操作系统提供的API函数以及ARM微控制器集成开发工具Keil开发嵌入式PLC系统的控制程序。
3.1下位机软件设计
系统下位机软件采用模块化的设计方法,把整个系统分解为几个功能相对独立的比较小的程序模块,分别对实现各个功能的程序模块进行设计、编程和调试。根据不同模块在系统中的作用,嵌入式操作系统应实现多个不同优先级的控制任务。这些任务按照优先级从高到低分别为:接收计算机控制中心命令;采集和处理数据;发送数据到本地控制中心。系统启动流程图如图5所示。

CAN总线通信程序主要由三部分组成:初始化、发送数据、接收数据。CAN控制器的初始化流程是:首先将ARM中CAN控制器相关的引脚使能,然后对CAN控制器进行复位操作,设置CAN总线的通信波特率,最后初始化CAN控制器的工作模式。初始化之后便可以进行数据的发送与接收。CAN数据发送是将采集到的数据打包成符合CAN发送帧格式后,调用CAN发送数据函数进行发送。数据接收程序是从接收缓冲器读出数据,同时释放接收缓冲器并对数据做出相应处理,本系统中CAN总线数据接收程序采用中断法进行控制。数据发送和接收流程图如图6、图7所示。

3.2 上位机软件设计
上位机主要实现CAN总线通信、显示输入输出端口的状态等功能,可以接收下位机传输过来的数据,也可以发送命令控制下位机的输出。采用VC++6.0开发环境的MFC编程实现上位机界面编程及与嵌入式PLC之间的通信。实现界面如图8所示。

本文给出了基于ARM和CAN总线的嵌入式PLC系统的软硬件设计方法,实现了对12路开入量信号采集;13路开出量输出信号的控制;8路模拟量的采集。具有LED指示开关量状态、远程监控的功能。采用高性能嵌入式微处理器和嵌入式实时操作系统为核心,并使用稳定的工业现场总线,保证了系统的可靠性和实时性,达到了预期的设计要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top