基于Socket通信的AGV上位机控制系统

2021-11-07 09:49:12张功学徐耀辉
现代机械 2021年5期

薛 哲,张功学,何 凯,徐耀辉,崔 聪

(1.陕西科技大学机电工程学院,陕西 西安 710021;2.中国科学院深圳先进技术研究院,广东 深圳 518055)

现在AGV导引技术正在迅速发展,很多行业已经开始采用AGV导引技术[1]。但是部分AGV小车的控制方式为触摸屏控制,需要人工近距离操作,步骤繁琐。并且在复杂实验环境下或者AGV小车行驶过程中操作时,存在一定的安全隐患。因此,为了提高AGV小车操控的安全性与方便性,本文使用C#编程语言,结合Socket通信与串口转WIFI技术,设计出一款适用于AGV小车的上位机控制系统,此系统可使人在较远距离使用电脑控制AGV小车,即使在复杂实验环境下也可以很方便的操控AGV小车并且保证了人员的安全。

AGV通讯系统用于实现AGV与地面控制站及地面监控设备之间的信息交换[2]。在本文中AGV的通讯系统采用一问一答式,上位机发送询问数据,AGV控制板在接收到数据之后,根据接收到的数据进行回应或者不回应,通过询问数据对AGV小车进行控制。

1 Socket通信原理

Socket作为进程通信机制,是2个程序之间进行双向数据传输的网络通讯端点,用一个地址和一个端口号标识[3]。Socket通常也称作“套接字”,用于描述IP地址和端口。

1.1 服务器端和客户端

在通信过程中,客户端主动打开连接,服务器端是被动的[4]。当客户端和服务端彼此交换数据前,必须先在双方之间建立一个TCP连接之后才能传输数据[5]。

服务器端的Socket至少需要两个,一个负责接收客户端的连接请求,但是不负责与客户端的通信;当服务端接收到客户端的连接后便会在服务端产生一个负责通信的Socket,这个Socket是在收到客户端的连接时创建。……

登录APP查看全文