关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于VC的执行机构以太网控制系统的设计

基于VC的执行机构以太网控制系统的设计

作者:时间:2010-04-21来源:网络收藏

2.2 电动转串口模块通讯的实现

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


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

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

3 软件部分的实现

本系统采用++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)。执行机构返回的信息也要校验。校验的方法可采用逐字节异或的方式。



评论


相关推荐

技术专区

关闭