motor_on_message.motor_speed=500;

motor_on_message.ramp_up_rate=100;

memcpy(msg_out.data,&motor_on_message,

sizeof(motor_on_message));

msg_send();

具体在实现过程中,我们采用INTEL的80C196作为现场级的CPU进行控制对象的数据采集和现场控制,而利用LonWorks作为通信协处理器进行现场的数据传输。在80C196和3150采用并行口进行数据交换,交换的速度可达到100KBYTE/S以上,远远超过LonWorks双绞线的78K的通信速率。对各个控制点之间的通信采用了广播方式定时进行广播通信,一个数据采集点把现场实时采集到的数据广播给控制网络上的其他节点,其他节点都同时收到这个采集点发来的数据,需要的数据可以保存下来,而不需要的数据就放弃。这种通信方式与主从式通信方式比较可大大减少网络上的数据通信量,提高网络的数据流量,大大提高通信的传输效率。

在3150控制模块的选用上,原来采用ECHELON公司的控制模块Model 55020-10,但是在应用过程中发现这个模块无外部扩展内存(RAM),作为通信协处理器使用要求有大量的数据缓冲区进行数据交换,而仅仅利用3150内部的2K RAM容量是远远不够的(运行时系统还要占掉800多个字节)。在这种条件下,我们自己设计了一块3150控制模块,与55020-10兼容,在这基础上增加了24K的外部RAM,这样可以增加3150发送和接收缓冲区的数量,使得控制模块的功能大大增强。采用这种方法,圆满地解决了3150通信协处理器的数据通信和交换的功能。

四、几点体会:

在LonWorks的应用过程中,我们也觉得该系统有些不足之处。

1. 3150的CPU处理运算能力差:

由于3150开发时间较早,当时采用8位数据处理是局限于当时情况,而在微处理机发展飞快的今天再采用当时的技术已嫌落后。

2. 3150的CPU处理速度慢:

3150最快采用10MHZ主频,对于在工业高速控制场合这种速度不能满足控制要求。

3. 3150CPU在10MHZ主频下的IO输入输出操作指令速度为60us,这只能用于如智能化大楼等低速控制场合。

4. ECHELON公司提供了PC机上的LonWorks网络接口卡,而给用户的驱动程序并没有给出其具体的功能调用,不利于用户进行二次开发。

5. 开发系统的费用太高,一套基本的开发系统要10万元以上,不符合国情,不利于LonWorks系统的推广。

责任编辑:gt

关于接口,总线,驱动就介绍完了,您有什么想法可以联系小编。