公诚管理咨询有限公司 510610
摘要:建立了基于网络技术和 CAN 总线的机电一体化实验平台。采用 VC++开发工具,以 Socket 通信原理为基础,运用 Client/Server 结构模式,结合多线程技术,实现了局域网内数据的传输。利用 CAN 总线,完成了服务器 PC 机与实验设备驱动电路间的数据通信,建立了网络化实验设备控制系统。经过实际运行,该通信系统能满足实验平 台的通信要求,具有较高的效率和可靠性。
关键词:机电一体化;通信;系统设计
随着科技技术的不断创新,多数使用的实验设备都比较简单,市场上教学仪器、实验设备都是按多功能实验台的模式开发,使用时只能完成规定内的教育实验,设备的负荷承载不够。本文阐述如何开发一款基于网络集机、电、液为一体的机电实验平台。
一、机电一体化系统的技术组成
1、机械技术
机械技术是机电一体化的基础。
2、计算机与信息处理技术
信息处理技术包括信息的交换、存取、运算、判断和决策,实现信息处理的工具是计算机,因此计算机技术与信息处理技术是密切相关的。计算机技术包括计算机的软件技术和硬件技术,网络与通信技术,数据技术等。
3、自动控制技术
自动控制技术范围很广,机电一体化的系统设计在基本控制理论指导下,对具体控制装置或控制系统进行设计;对设计后的系统进行仿真和现场调试;最后使研制的系统可靠地投入运行。
4、传感与检测技术
传感与检测装置是系统的感受器官,它与信息系统的输入端相连并将检测到的信息输送到信息处理部分。传感与检测是实现自动控制、自动调节的关键环节,它的功能越强,系统的自动化程度就越高。传感与检测的关键元件是传感器。
5、伺服传动技术
伺服传动包括电动、气动、液压等各种类型的驱动装置,由微型计算机通过接口与这些传动装置相连接,控制它们的运动,带动工作机械作回转、直线以及其他各种复杂的运动。
6、系统总体技术
系统总体技术是一种从整体目标出发,用系统的观点和全局角度,将总体分解成相互有机联系的若干单元,找出能完成各个功能的技术方案,再把功能和技术方案组成方案组进行分析、评价和优选的综合应用技术。
二、通信系统的体系结构
基于网络的机电一体化实验平台采用Client/Server模式,以消息响应、事件驱动方式运行。服务器端响应客户端的申请,在下位机许可时接受申请,与下位机通信。客户端 利用实验平台提供的服务完成实验任务。实验平台通信系统 分为客户端、服务器端和下位控制器端。
1、客户机实验软件
实验人员完成虚拟仿真、确认 无误后,申请下位机执行机构进行实际实验。要求实验人员与控制系统的交互界面,能迅速反应服务器端反馈的信息。
2、服务器管理软件
负责对下位机的管理,实现客户端对执行机构的访问,记录并回应客户端发送的信息。
3、下位控制器根据服务器的指令控制电机动作,完成实验任务。
客户端与服务器端,利用网络技术通信。运用 Client/ Server 结构模式,学生实验机为系统客户端,数控设备控制 PC 机为系统服务器端,利用 VC ++ 6.0 提供的 C Socket 封装类,实现客户机与服务器间的通信。服务器端和下位控制器端利用 CAN总线技术进行通信。服务器 PC机通过 PC-CAN适配卡连接到 CAN总线上,在接收到客户机的信息后,利用主控机中内嵌的编译软件,将 TCP/IP协议包数据转换成CAN协议形式发送至CAN 控制网络的指定设备节点,实现对现场执行机构的控制管理。
三、局域网通信的实现
1、TCP/IP 协议设定
在本系统网络通信中,使用流式套接字,采用面向连接的通信方式。服务器建立Socket与本地的IP地址和通信端口绑定,进行侦听。
期刊文章分类查询,尽在期刊图书馆服务器侦听到客户端的通信请求后,读出客户端发送的消息,完成相应处理后写入处理结果,并返回客户端。客户端需要通信时,创建本地Socket 完成与服务器的 连接,发送信息,通过绑定的端口获取服务器反馈数据。客户端与服务器端的通信以数据包的形式进行,数据为二进制格式,长度不固定。
2、服务器端和客户端设计
服务器端软件和客户端软件集成在一起,利用VC++ 提 供的 C Socket 类分别派生服务器端和客户端的 Socket对象。采用多线程技术,服务器端一个线程用于侦听网络,另一个线程负责接收和发送服务器端消息。客户端线程负责发送和接收客户端消息。
2.1服务器程序侦听网络
服务器端程序需要从C Socket类继承一个C Sock Listen,设置其端口,端口值一般为 1024~ 5000,侦听连接响应 On Accept和 On Close事件。
2.3客户端申请连接
当服务器程序已经启动运行并开始侦听网络,客户机就可以向服务器申请连接。在连接前,需要为客户端的Socket调用函数bind,绑定端口号和IP 地址,然后调用Connect与服务器建立连接申请。
2.3建立连接
当客户端程序执行 Connect申请连接时,服务器侦听对象 Sock Listen 通过 Accept 获知连接请求,并传递事件句柄确认连接请求。本系统要求服务器程序支持多用户连接,因此需要动态创建 C Socket 对象,与客户程序建立连接。
2.4服务器端和客户端数据交换
当服务器程序与客户程序连接成功后,就可以传送数据,通过定义的 Send File事件发送数据。当一方发送了数据后,连接的另一方会产生Accept事件,通过调用RecvFile事件接收数据。
2.5关闭连接
当应用程序结束数据传送后,必须关闭连接,否则易耗尽系统资源。调用 Close 进行关闭。
四、CAN总线通信的实现
该实验平台采用 CAN 总线实现服务器端和下位控制器 的通信,满足了数控模块同时与主机通信的要求,实现了各模块的协同工作。CAN 总线通信的软件设计主要包括应用层通信协议的 制定和数据发送接收两部分。
1、应用层通信协议的制定
目前比较流行的标准化应用层协议有 Can open 和 Device NET,这些协议价格昂贵。在本系统中使用自定义的应用层协议。根据下位控制器的需求,传输的数据字为实验设备各步 进电机走步控制字,控制字包括电机正反转及走步步数。在 本系统中设置所传输数据的帧格式为:每一字节的最高位代 表电机的正反转位,其余位代表电机走步。
CAN 允许一次发送的数据最多为 8个字节,为了提高传 输效率,需提高每次发送的数据量。将应用层协议规定的帧 格式的数据包分为多个CAN 格式的帧,存入一组中,通过循环程序不间断发送,直至数据包尾部。每个包的数据帧的第一个字节为索引,表示此帧为数据的第几帧,最后一帧的第一个字节各位规定为 0,表示整个数据包传送完毕。当数据包的所有CAN 报文全部传送完毕后,退出发送程序。
2、CAN 总线数据发送和接收设计
为了提高系统响应速度,解决上位机软件在界面操作的同时与控制模块通信产生的界面迟钝和影响通信实时性的问题,在系统上位机设计时采用多线程技术。上位机应用软件利用主线程进行界面操作、模块管理等工作,另一条线程与控制模块通信,根据通信协议逐一巡检控制模块,控制模块根据 自己的状态回应相应的数据报文。
CAN 控制器根据设定的 CAN 协议自动完成信息发送。首先,将计算好的发送信息以应用层协议规定的帧格式存入系统内存中,然后置位命令寄存器中的发送请求位,向 DSP发送握手信号,握手成功后将数据从内存中取出,按指定邮箱号使用接口函数VCI Transmit 发送。
结束语:在机电一体化实验平台设计中,通信系统至关重要。网 络技术的运用,解决了实验设备分散不容易管理的问题。C/S模式的应用,缓解了实验人员多、实验设备少的问题。CAN 总线通信网络的建立、多线程技术的使用,使实验设备 合理调度,提高了系统资源的利用率和系统的实时性。
参考文献:
[1] 李长峰,曲东升.基于TCP/IP 协议的并联机器人远程控制的研究[ J] . 机床与液压,2008,36(2)
[3] 李文言,苏平.基于 CAN 总线通信的车用超声波测距仪设计 [ J] . 车辆与动力技术,2007(4)
[5] 严景常,李晓明. CAN 总线在高速液压多缸同步运动控制中的 应用[ J] . 液压气动与密封,2008,28(2)
论文作者:李志强
论文发表刊物:《基层建设》2016年23期
论文发表时间:2016/12/8
标签:客户端论文; 通信论文; 服务器端论文; 数据论文; 技术论文; 服务器论文; 系统论文; 《基层建设》2016年23期论文;