首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电子技术 > 传感与控制
基于VC的执行机构以太网控制系统的设计
来源:本站整理  作者:佚名  2010-04-22 16:12:56



2.2 电动执行机构和以太网转串口模块通讯的实现

串行通讯采用TTL电平,占用两个I/O口,即输入口(RxD)和输出口(TxD),执行机构主控板需要提供+5V电源给以太网转串口模块,硬件连接如图2所示。


图2 底层通讯的实现原理图

本系统中执行机构所采用的主控芯片为Intel 80C196MC。图中P2.0作为80C196MC的串行输出,P2.1作为80C196MC的串行输入。网卡地线应和主控制板的数字地即单片机的地连接。80C196MC与以太网转串口模块之间采用异步通信,一帧长度为10位,包含8位数据,1位奇偶校验位和1位结束位。

3         软件部分的实现

本系统采用基于VC++6.0的WinSock编程。套接字(Socket)已经成为当今最流行的网络通信应用程序接口。套接字最初由加利福利亚大Berkeley分校为Unix操作系统开发的网络通信接口, 后来它又被移植到DOS与Windows 系统,特别是近几年互联网在全世界范围内的广泛普及, 进一步奠定了它在网络通信程序开发领域的主宰地位。

系统采用Client/Server模式。通过以太网转串口模块的配置软件,将该模块设置成服务器模式,而主控计算机上的控制软件部分为客户端,每次启动由主控计算机主动连接执行机构。客户端和服务器采用面向连接的通信协议:控制计算机和模块之间会建立一个虚拟连接,这个连接一旦建立,客户端和服务器之间就可以把数据当作一个双向字节流进行交换;如果连接建立不成功,则不会发送数据。另外,面向连接传输的每一个报文都需要接收端确认,未确认报文被认为是出错的报文。

3.1       通信过程

Socket有同步阻塞方式和异步非阻塞方式两种使用,本系统应用程序中创建了继承于CAsyncSocket类的TestSocket类,它是一个异步非阻塞Socket封装类。

由于已经将以太网转串口模块设置为服务器模式,所以,主控计算机段的程序是作为客户端出现的,该程序的编写大致按照以下步骤进行:

1)       首先调用WSAStartup函数来初始化套接字库。

2)       调用socket函数来创建一个套接字。

3)       调用connect函数连接服务器,发出连接请求

4)       服务器响应连接请求后,与服务器开始进行交互操作(接收、发送数据等),直到请求结束。

5)       调用closesocket关闭套接字,释放套接字资源。

6)       调用WSACleanup函数释放相应资源。

客户端程序与服务器的通信过程如图3所示:


图3:面向连接服务的socket调用模型

在以太网转串口模块中,服务器程序调用listen函数将此socket置于监听状态,让这个socket对进来的连接进行监听并确认连接请求。当服务器端监听到来自客户端的连接请求后,一个正在监听的socket将给将给每个请求发送一个确认信息,然后调用accept函数,接着,面向连接的客户通过调用connect函数启动网络对话。在客户端和服务器端建立连接以后,双方就可以通过send和recv或其它面向连接的Socket API函数进行网络通信了。

3.2       通信协议

计算机和以太网转串口模块之间用SOCKET进行通信,模块和执行机构之间则采用TTL电平通信,采用统一的通信协议。计算机为主动通讯设备,即所有的对话均由控制计算机发起,执行机构只是被动的应答命令。

协议中信息帧主要分为两种:数据帧与命令帧。它实现一般信息通信功能。数据帧包含一般的I/O信息,而命令帧则包含控制、查询及设置等命令。为保证信息传送的准确性,每条命令必须进行校验(校验和1),如果命令后有命令参数的话,要再次校验(校验和2)。执行机构返回的信息也要校验。校验的方法可采用逐字节异或的方式。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:67,890.63000 毫秒