0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通信模块在自动摊铺机中分布式控制系统中的应用

电子设计 作者:电子设计 2018-11-05 08:32 次阅读

1.引言

沥青混凝土摊铺机是用于铺筑沥青混凝土路面的机械,是路面机械的主要机种之一。摊铺机中自动找平系统的控制精度反映到路面即是该摊铺机的摊铺平整度。在通常的液压伺服控制方案中,自动找平的过程如下:由检测传感器测出基层面实际高度并与标准高度进行比较,当偏差值达到一定的程度时,认为需要加以调整,这时由控制器发出指令,通过液压泵驱动找平液压缸使牵引大臂产生一定量的位移;牵引点位置改变引起熨平板相应垂直运动,从而使铺层产生变化,弥补路面波动,使铺后表面均匀一致,实现所要求的路面平整度。沥青混凝土摊铺机由于其作业环境十分恶劣,环境温度高,温度变化大,灰尘多,故检测路面高度传感器的选取非常重要.目前在摊铺机自动找平系统中常采用的有以下几种传感器:角位移式传感器、超声波传感器、光学传感器

2.摊铺机工作原理

沥青混凝土道路的摊铺过程是:作业时,摊铺机的前推辊顶推着载料自卸汽车后轮前进,并接受沥青混合料。卸于料斗内的沥青混合料,由斗底左右两个独立驱动的刮板输送器送至螺旋摊铺室,送料量由后斗壁左右两闸门分别控制。螺旋摊铺器有左右两螺旋,同时将料向左右两侧均匀摊铺,但亦能左右各自独立驱动。随着摊铺机的向前移动,振实、熨平部分按一定的宽度、厚度和拱度对铺层进行初步振实和整平。熨平板内装有加热装置,以便在寒冷季节或在作业开始前对板底进行加热,防止沥青混合料的粘附。由于熨平板有浮动特性,故能通过厚度调节器来改变熨平板底面相对于地面的仰角,以调节铺层厚度。

3.通信模块的网络拓扑结构

通信模块在自动摊铺机中分布式控制系统中的应用

图1 通信模块的网络拓扑结构

自动摊铺机系统既庞大、又复杂。包括车体的方向、速度控制,输分料控制,大臂、熨平板、找平控制,发动机的起、停控制以及各种状态参数的测量、显示和故障报警。为了提高系统的可靠性,采用了集散型计算机体系结构,实现了集中管理以及功能和危险的分散。所有这些子控制系统都在不同的单片机上完成,而这些子系统之间的参数传输则由主交互机进行协调。显而易见,摊铺机能否在工作环境相当恶劣的条件下正常、可靠、稳定地工作,很大程度上取决于各个单片机于系统能否进行可靠、稳定的通信。根据项目的要求,对人机交互系统和测控机系统的各种输入/输出量的关系进行了深入细致的研究和测量,制定了如图l所示的网络拓扑结构。

在图1中,主交互机与左交互机、右交互机、车体行驶测控机、找平输分料测控机利用CAN总线进行通信;而主交互机与移动电话则利用RS232C进行串行通信。

4.通信模板的硬件设计

本系统中采用亿恒公司的16位CMOS单片机系列的C164作为主控制器。亿恒C164是单片机是一款非常优秀的单片机,特别是它的16位单片机,高性能CPU 结合功能丰富的外设,每秒可执行1250万条指令,在CPU时钟频率20MHz时具有下面的性能特点:

(1)带有4级流水线高性能16位CPU

80ns最小指令循环时间,大多数指令仅需1个循环,即两个CPU循环;16*16位乘法需400ns(20个CPU循环),32位除16位需800ns(40个CPU循环)。处理能力达到10MIPS.

(2)集成在片存储器

64KB在片可编程FLASH;2KB内部RAM,用于变量存储器池、系统堆栈和代码;2KB在片高速RAM,用于变量、用户堆栈和代码;4KB在片数据EEPROM,用于non-volatile变量。

(3)外部总线接口

独立或复用总线配置;段分配和片选信号产生;8位或16位数据总线。

(4)16个优先级中断系统

可达33个中断节点带有独立的中断矢量;在内部程序执行时,240ns/400ns中断等待时间;快速外部中断。

(5)智能在片外设子系统

8通道10位A/D转换器,带有可编程转换时间(最小为7.76us;5个定时/计数器;同步/异步串行通道;带有15个信息体的CAN摸量;可编程时间间隔的看门狗定时器实时时钟;用于系统初始化的程序引导装载器。

(6)59个I/O引脚

输入模式具有三态;具有位寻址功能。

通信模块的硬件电路如图2所示。

通信模块在自动摊铺机中分布式控制系统中的应用

图2 通信模块的硬件电路图

通信模块带有CANBUS、RS232C各一路,可独立进行CAN总线通信和RS232C串行通信。RS232C通信硬件电路由C164片内异步串行口、光耦、MAX232A和传输线构成。CAN通信由C164片内CAN控制器、光耦、CAN收发器PAC82C250和传输线构成。

CAN收发器PAC82C250与C164CI的接口均带有光电隔离,隔离前后采用两套电源

(1)系统电源:+Vs(+5V), Gs ;

(2)机器电源:+Vm(+5V), Gm.

5.RS232C通信软件设计

5.1 C164CI的异步串口

C164CI的异步串行口ASC0提供了与其它系统串行通信端口,它的特点是:自带波特率发生器的异步串口;异步模式,最大625Kbaud传送速率;全双工位;可编程特点(1或2停止位,7、8或9数据位);在数据发送时产生校验或唤醒位;奇或偶校验位;错误检测等。

5.2 串行口通信编程

串行口主要用于移动电话和主交互机之间进行通信。串行通信的实现主要是通过对串口控制寄存器进行配置实现初始化。下面是这一过程的实现步骤:

1. 串口控制寄存器初始化;

2. 定义波特率;

3. 定义中断;

4. 定义引脚的特殊功能;

5. 系统启动。

下面为实现串口的通信程序:

#include

unsigned int a;

interrupt(0x2B) void S0RINT(void) //接收中断服务子程序

{

a=S0RBUF; //将接收数据保存

}

void putchar(unsigned char tdata) //串行发送程序

{

while(!S0TBIR){;} //等待发送缓冲区清空

S0TBIR=0; //复位发送缓冲区中断请求标志

S0TBUF=tdata; //装载发送缓冲寄存器

}

void ASC_vInit(void) //串行通信初始化

{

S0CON=0x8011; //定义控制寄存器:SOR=1;SOREM=1;串行方式1

S0BG=0x0040; //定义波特率9 600Bd

S0RIC=0x0062; //定义接收中断控制寄存器

S0TBIC=0x0080; //定义发送缓冲控制寄存器

P3 |=0x0400; //定义P3.10引脚为输出锁存(TXD0)

DP3 |=0x0400; //定义P3.10方向控制(TXD0为输出)

Dp3 &=0xF7FF; //定义P3.11方向控制(RXD0为输入)

IEN=1; //开中断

}

void main(void)

{

……;

ASC_vInit(); //串口初始化

putchar('……'); //串行发送

……;

}

6.CAN总线通信软件设计

CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应"减少线束的数量"、"通过多个LAN,进行大量数据的高速通信"的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。

现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。

6.1 C164CI的CAN模块概述

C164CI的CAN模块特点如下:

(1)遵循CAN V2.0B规定(符号标准和扩展功能)。

(2)最大CAN通信速率为1MB/S.

(3)完全的CAN装置:

l 15个信息体,带有自己的识别器和状态控制位;

l 每个信息体可以定义为发送或接收。

(4)通过在片内部XBUS(16位独立方式)与主CPU相连(C166-内核)。

(5)接收滤波器用可编程屏蔽寄存器:

l 全域屏蔽输入信息体(全CAN功能);

l 信息体15有附加屏蔽(基本CAN功能);

l 灵活的中断事件控制;

l 带有两个接收缓冲器;

l 用自己的全域屏蔽寄存器进行接接收滤波。

6.2 CAN总线通信软件设计

自动摊铺机系统CAN总线通信软件设计的任务是:在选定通信规程CAN2.0B以后,规定各计算机传送数据的格式和约定;协调各计算机之间的通信;统一考虑通信中的可靠性措施。

6.2.1 数据发送模式

由于要传送数据的重要程度、传送周期不同,在本系统的通信中采用两种不同的数据发送模式:

(1)发送模式0:即发送一次,不检测接收是否正确,发送结束返回。接收方接收到此类数据包后,不必发送应答信息包。该数据包的特点是:按照一定周期定时发送,用于主操作面板上的状态显示,所以偶尔的传送失败不会影响系统的正常运行与操作。

(2) 发送模式1:即一定要将数据包正确发送给接收方。采用重发机制,等待接收方应答,若没有接收到应答则重发。5次发送均失败,则返回FALSE,由发送方做出相应的处理动作,如报警、停机等;成功则返回TRUE.该数据包的特点是:由相应事件触发发送,如果传送失败,将影响系统的正常运行。

6.2.2 数据发送模式

对于自动摊铺机系统来说,其CAN 网络中节点数量较少,而每种数据包只需要一部分节点来接收,因此在通信设计中利用数据帧标识符来实现定址组播。为避免接收不必要的数据包,对接收节点按位编址,每个节点对应验收滤波中的一位。若一个报文标识符高8位中对应位为1,则接收;否则忽略。因此只要在发送节点根据数据包内容设置合适的报文标识符,数据包即可被相关节点正确接收,而被无关节点忽略。

6.2.3 校验

在CAN 结构的MAC层中已经实现了循环冗余码〔CRC〕校验。但自动摊铺机工作环境恶劣,工作条件复杂,为了系统通信的可靠性,在控制程序级的通信中也进行校验。为减轻系统负担及降低程序复杂性,控制程序级的校验采用了比较简单的求和取模校验方式,每个数据帧的最后一个数据字节作为校验和,其值是之前所有数据字节求和后对256取模的值。各节点的接收接口中以相同方法计算校验和,若校验正确则将数据包压入接收队列,否则抛弃该包。

6.2.4 数据包格式及内容

通信模块在自动摊铺机中分布式控制系统中的应用

其中:L取值为2—8:采用CAN2.0B标准,使用29位标识符。

ID28—ID21:确定此帧的接收节点,每位代表1个节点,可以广播。

ID20—IDl7:此帧的顺序号,每发一个帧增1,用于区分不同数据帧与重发数据帧。

IDl6:应答标志位:为1表示此帧需要应答,为0表示此帧不需应答。

IDl5—IDl3:指定此帧的发送节点,0—3分别代表左交互机、右交互机、车体行驶测控机和找平输分料测控机。

ID12—ID0:无意义。

6.3 CAN总线通信编程

CAN总线通信编程是一个比较烦琐的事情,主要是涉及诸多的CAN寄存器,但只要掌握其规律和技术关键,就会变得容易起来。下面是CAN总线通信编程的实现步骤:

(1)CAN模量初始化;

(2)定义每一个信息体;

(3)装载信息体数据(仅针对发送信息体);

(4)接收信息体接收数据;

(5)发送一个信息体;

(6)检查一个信息体;

(7)检查是否关闭CAN总线。

为便于进行模块化编程,将CAN通信功能封装成一个个子程序,并且生成一个专用的程序库,供不同的程序员调用,这样就提高了编程效率,并易于功能扩展。下面给出其中的两个子程序。

下面为发送一个信息体的CAN通信程序:

#include //C164寄存器定义

#include //CAN控制寄存器定义

void send_mo_16x(unsigned char a) //发送信息体“a”(1..14)

{

if((a<15)&&(a))*msgctrl_ptr_16x[a]=0xefff; //置位TXRQ

}

下面为检查是否关闭CAN总线的CAN通信程序:

#include //CAN控制寄存器定义

unsigned char check_busoff_16x(void) //检查总线是否关闭,并在必要时恢复

{

unsigned char busoff_var=0;

if(SR&0x80) //如果BOFF=1

{

busoff_var=1;

CR=CR&0xfe; //恢复关闭的总线(清零INIT)

}

}

7.结论

由于摊铺机的功能繁多,运作复杂,工作环境十分恶劣,因此控制系统的工作可靠性问题就是自动摊铺机设计的关键。在本系统中,利用RS232C 实现了主交互机与移动电话之间的串行通信;采用带CAN总线的单片机完成不同模块各自的功能,又通过CAN总线传送数据或命令,实现了功能分散又集中监视,危险分散。因此,很适合于自动摊铺机中分布式控制系统的实现。现场实验结果表明:该通信模块具有良好的可靠性、稳定性和安全性。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 拓扑
    +关注

    关注

    4

    文章

    320

    浏览量

    29376
  • 计算机
    +关注

    关注

    19

    文章

    6627

    浏览量

    84322
  • 通信模块
    +关注

    关注

    2

    文章

    122

    浏览量

    32904
收藏 人收藏

    评论

    相关推荐

    基于虚拟仪器的城市景观照明分布式控制系统设计与实现

    基于虚拟仪器的城市景观照明分布式控制系统设计与实现针对城市级景观照明系统分布广,数量多的特点,设计一种基于虚拟仪器的可组分布式城市景观照明控制系统。采用C8051F040 处理器构建多
    发表于 12-01 10:19

    分布式控制系统

    、直接数字控制、人机交互以及监控和管理等功能。分布式控制系统计算机监督控制系统、直接数字控制系统和计算机多级
    发表于 03-01 22:19

    嵌入分布模块控制系统设计方案

    现代微电子学为实验物理学、工程学和其他应用分布式系统发展提供了新的可能。用于数据采集(DAQ)且与网络相互连接的新型模块化微处理器系统
    发表于 07-24 07:03

    分布式控制系统的组成是什么?

    由多台计算机分别控制生产过程多个控制回路,同时又可集中获取数据、集中管理和集中控制自动控制系统
    发表于 03-13 09:02

    分布式控制系统有哪些功能和应用

    提供了有效的用户界面。DCS强大的报警系统可以帮助操作员更快速地响应设备状况。  六、可扩展平台  通过通信系统添加更多的客户端和服务器
    发表于 09-01 17:55

    TSP分布式控制有什么优势?

    TSP分布式控制有什么优势?TSP分布式控制提高了测试速度并且降低了测试成本。
    发表于 05-12 06:19

    请问怎样去设计一种车门分布式控制系统

    一种介绍基于CAN/LIN总线的车门分布式控制系统设计
    发表于 05-14 06:44

    Modbus通信协议在分布式控制系统中的应用

    本文就一种DCS 与PLC 作为上下位机的分布式控制系统,介绍基于Modbus 协议的通信网络在其中的应用,以及该网络的硬件构成及程序设计。关键词:Modbus 协议分布式控制系统
    发表于 09-01 09:35 16次下载

    工业机器人分布式控制系统实例

    工业机器人分布式控制系统实例介绍了浇注生产线浮渣铲除工业 机器人 分布式控制系统的设计方案、硬件结构和软件体系工业机器人分布式控制系统是一种比较理想的快速实时控制
    发表于 07-13 12:04 110次下载
    工业机器人<b class='flag-5'>分布式控制系统</b>实例

    基于CAN总线的染色机分布式控制系统_周怡君

    基于CAN总线的染色机分布式控制系统_周怡君
    发表于 03-19 11:33 0次下载

    Freelance 800F分布式控制系统

    Freelance 800F分布式控制系统说明。
    发表于 05-14 09:24 5次下载

    基于CAN总线的水下航行器分布式控制系统

    基于CAN总线的水下航行器分布式控制系统
    发表于 07-01 16:53 9次下载

    可视化分布式控制系统

    分析其应用场景、实际效益及未来发展前景。 系统架构 讯维可视化分布式控制系统采用模块化设计,由多个子系统组成,各子系统之间通过高速
    的头像 发表于 08-25 09:54 1330次阅读
    可视化<b class='flag-5'>分布式控制系统</b>

    分布式控制系统的基础架构和原理。

    ,各子系统之间通过高速通信网络进行数据传输和指令交互。 以下是讯维分布式控制系统的基础架构和原理:   控制模块:负责接收并处理各种传感器数
    的头像 发表于 08-28 11:44 563次阅读
    <b class='flag-5'>分布式控制系统</b>的基础架构和原理。

    分布式控制系统的七个功能和应用

    分布式控制系统的七个功能和应用  分布式控制系统是一种由多个独立的控制单元组成的系统,每个控制单元负责
    的头像 发表于 02-01 10:51 388次阅读