新闻中心

EEPW首页>嵌入式系统>设计应用> 基于ARM和CAN总线的嵌入式PLC设计

基于ARM和CAN总线的嵌入式PLC设计

作者: 时间:2012-04-10 来源:网络 收藏

本系统软件部分由下位机控制程序和上位机监控程序两部分组成。前者主要负责读取开关量和模拟量的输入数据,控制开关量输出,并且负责通过将数据上传给上位机,以及接收来自上位机的命令;后者则通过人机交互界面来监控嵌入式的状态。系统需要先完成μC/OS-II操作系统的移植,然后利用μC/OS-II操作系统提供的API函数以及微控制器集成开发工具Keil开发嵌入式系统的控制程序。

3.1 下位机软件设计

系统下位机软件采用模块化的设计方法,把整个系统分解为几个功能相对独立的比较小的程序模块,分别对实现各个功能的程序模块进行设计、编程和调试。根据不同模块在系统中的作用,嵌入式操作系统应实现多个不同优先级的控制任务。这些任务按照优先级从高到低分别为:接收计算机控制中心命令;采集和处理数据;发送数据到本地控制中心。系统启动流程图如图5所示。

基于ARM和CAN总线的嵌入式PLC设计

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

基于ARM和CAN总线的嵌入式PLC设计

3.2 上位机软件设计

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

基于ARM和CAN总线的嵌入式PLC设计

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


上一页 1 2 3 下一页

关键词:ARMCAN总线PLC

评论


相关推荐

技术专区

关闭