CN103439866B - 基于VxWorks的光刻机双工件台通信方法及装置 - Google Patents
基于VxWorks的光刻机双工件台通信方法及装置 Download PDFInfo
- Publication number
- CN103439866B CN103439866B CN201310381928.4A CN201310381928A CN103439866B CN 103439866 B CN103439866 B CN 103439866B CN 201310381928 A CN201310381928 A CN 201310381928A CN 103439866 B CN103439866 B CN 103439866B
- Authority
- CN
- China
- Prior art keywords
- socket
- function
- call function
- zbuf
- industrial computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Numerical Control (AREA)
- Computer And Data Communications (AREA)
Abstract
基于VxWorks的光刻机双工件台通信方法及装置,涉及一种通信方法及装置。为了解决传统使用TCP或IP协议的VxWorks操作系统通信实时性差的问题。它是基于双工作台光刻机、上位机和VME工控机实现的,采用TCP和UDP通讯协议的双通道,TCP通道用于传输上位机的指令,UDP通道用于传输VME工控机的执行结果信息,使用缓冲队列将所有指令和数据信息缓存,然后再逐个读出,最后执行并发送,并采用零拷贝缓冲区嵌套字接口。它用于光刻机双工件台装在有VxWorks操作系统并接入以太网的环境中通信。
Description
技术领域
本发明涉及一种通信方法及装置,特别涉及一种基于VxWorks的光刻机双工件台通信方法及装置。
背景技术
VxWorks是美国Wind River公司开发的一种实时操作系统,其以良好的可靠性和卓越的实时性被广泛应用于很多实时性要求极高的领域。网络处理中最消耗时间的操作是缓冲区拷贝和计算/验算校验和,传统使用TCP或IP协议的VxWorks操作系统通信,对链路层的支持有限,并且需要经过系统任务的转发,实时性比较差,因此,提高网络的通信速度,减小网络处理中时间的消耗成为一种必要。
发明内容
本发明的目的是为了解决传统使用TCP或IP协议的VxWorks操作系统通信实时性差的问题,本发明提供一种基于VxWorks的光刻机双工件台通信方法及装置。
本发明的基于VxWorks的光刻机双工件台通信方法,
它是基于双工作台光刻机、上位机和VME工控机实现的,
所述VME工控机内插有运动控制卡,所述运动控制卡嵌入有指令解算模型、控制模型、电机模型和工件台数学模型;所述运动控制卡用于采集双工作台光刻机的运行数据,同时发送控制数据给所述双工作台光刻机;
指令解算模型,用于对输入的指令进行解算,并将解算后的指令发送给控制模型;
控制模型,用于对接收的指令进行整定,生成电机控制量和工件台控制量,并分将电机控制量发送给电机模型,将工件台控制量发送给工件台数学模型;
电机模型,用于根据电机控制量驱动实际台体中的电机工作;
工件台数学模型用于根据工作台控制量驱动实际台体中的工作台运动;
上位机和VME工控机内均装有VxWorks操作系统并接入以太网;
所述上位机内嵌入有上位机软件,通过所述上位机软件实现下述步骤:
当接收到操作指令时,将所述操作指令转换为VME工控机接受的格式的命令,并采用TCP通信协议通过socket API接口将所述命令下传到VME工控机的步骤;
当采用UDP通信协议接收到VME工控机发送的执行结果信息并显示的步骤;
所述VME工控机内嵌入有VME工控机软件,通过所述VME工控机软件实现下述步骤:
采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令,将所述命令添加到指令接收缓冲队列的步骤;
从指令接收缓冲队列取出命令,根据所述命令执行相应的软硬件操作,操作结束后将执行结果信息添加到数据发送缓冲队列的步骤;
从数据发送缓冲队列取出执行结果信息,采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机的步骤;
当接收到硬件中断信号时,执行已经被绑定的中断服务程序,中断服务程序通知中断服务任务,所述中断服务任务将中断信息添加到数据发送缓冲队列的步骤;
当接收到硬件轮询信号时,将硬件轮询信号添加到数据发送缓冲队列的步骤。
基于VxWorks的光刻机双工件台通信装置,
它是基于双工作台光刻机、上位机和VME工控机实现的,
所述VME工控机内插有运动控制卡,所述运动控制卡嵌入有指令解算模型、控制模型、电机模型和工件台数学模型;所述运动控制卡用于采集双工作台光刻机的运行数据,同时发送控制数据给所述双工作台光刻机;
指令解算模型,用于对输入的指令进行解算,并将解算后的指令发送给控制模型;
控制模型,用于对接收的指令进行整定,生成电机控制量和工件台控制量,并分将电机控制量发送给电机模型,将工件台控制量发送给工件台数学模型;
电机模型,用于根据电机控制量驱动实际台体中的电机工作;
工件台数学模型用于根据工作台控制量驱动实际台体中的工作台运动;
上位机和VME工控机内均装有VxWorks操作系统并接入以太网;
所述上位机包括如下装置:
当接收到操作指令时,将所述操作指令转换为VME工控机接受的格式的命令,并采用TCP通信协议通过socket API接口将所述命令下传到VME工控机的装置;
当采用UDP通信协议接收到VME工控机发送的执行结果信息并显示的装置;
所述VME工控机包括如下装置:
采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令,将所述命令添加到指令接收缓冲队列的装置;
从指令接收缓冲队列取出命令,根据所述命令执行相应的软硬件操作,操作结束后将执行结果信息添加到数据发送缓冲队列的装置;
从数据发送缓冲队列取出执行结果信息,采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机的装置;
当接收到硬件中断信号时,执行已经被绑定的中断服务程序,中断服务程序通知中断服务任务,所述中断服务任务将中断信息添加到数据发送缓冲队列的装置;
当接收到硬件轮询信号时,将硬件轮询信号添加到数据发送缓冲队列的装置。
本发明的优点在于,基于TCP和UDP通讯协议的双通道的传输,TCP用于传输指令,UDP用于传输数据。为了保证网络上传输指令和数据的完整性,使用缓冲队列将所有信息缓存,然后再逐个读出,最后执行并发送。本发明能保证信息正确接收,防止信息丢失;实现信息的流水线处理,降低信息通信双方时间上的关联性;提高系统CPU的利用率;实现控制信息的批处理发送,减小重复性工作的操作时间;根据任务的紧急程度设定任务的优先级,确定发送顺序,保证系统安全运行;有效提高网络通信数据传输效率,实时提供数据,进而提高VxWorks操作系统的通信实时性。
附图说明
图1是具体实施方式一所述的基于VxWorks的光刻机双工件台通信方法的原理示意图。
图2是VxWorks下Zbuf套接字的结构原理示意图。
图3是基于TCP的ZBUF套接字的通信方法原理示意图。
图4是基于UDP的ZBUF套接字的方法原理示意图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,本实施方式所述的基于VxWorks的光刻机双工件台通信方法,它是基于双工作台光刻机、上位机和VME工控机实现的,
所述VME工控机内插有运动控制卡,所述运动控制卡嵌入有指令解算模型、控制模型、电机模型和工件台数学模型;所述运动控制卡用于采集双工作台光刻机的运行数据,同时发送控制数据给所述双工作台光刻机;
指令解算模型,用于对输入的指令进行解算,并将解算后的指令发送给控制模型;
控制模型,用于对接收的指令进行整定,生成电机控制量和工件台控制量,并分将电机控制量发送给电机模型,将工件台控制量发送给工件台数学模型;
电机模型,用于根据电机控制量驱动实际台体中的电机工作;
工件台数学模型用于根据工作台控制量驱动实际台体中的工作台运动;
其特征在于,上位机和VME工控机内均装有VxWorks操作系统并接入以太网;
所述上位机内嵌入有上位机软件,通过所述上位机软件实现下述步骤:
当接收到操作指令时,将所述操作指令转换为VME工控机接受的格式的命令,并采用TCP通信协议通过socket API接口将所述命令下传到VME工控机的步骤;
当采用UDP通信协议接收到VME工控机发送的执行结果信息并显示的步骤;
所述VME工控机内嵌入有VME工控机软件,通过所述VME工控机软件实现下述步骤:
采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令,将所述命令添加到指令接收缓冲队列的步骤;
从指令接收缓冲队列取出命令,根据所述命令执行相应的软硬件操作,操作结束后将执行结果信息添加到数据发送缓冲队列的步骤;
从数据发送缓冲队列取出执行结果信息,采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机的步骤;
当接收到硬件中断信号时,执行已经被绑定的中断服务程序,中断服务程序通知中断服务任务,所述中断服务任务将中断信息添加到数据发送缓冲队列的步骤;
当接收到硬件轮询信号时,将硬件轮询信号添加到数据发送缓冲队列的步骤。
图1中,上位机作为控制端,VME工控机作为受控端。
由控制端发起的通信过程如下:
(1)控制端:接收用户操作指令,将其转换为受控端可以理解的命令格式,通过socket接口下传到受控端,然后等待返回数据;
(2)受控端:指令接收任务从socket接口接收命令,将其添加到指令接收缓冲队列;指令解释任务从指令接收缓冲队列取出指令,根据具体情况执行特定的软硬件操作,操作结束后将执行结果添加到数据发送缓冲队列;数据发送任务从数据发送缓冲队列取出信息,通过socket接口将其换回给控制端。
(3)控制端:接收执行结果后返回给操作人员。
由受控端发起的通信过程如下:
(1)受控端:硬件中断,操作系统立即执行已经被绑定的中断服务程序,中断服务程序通知中断服务任务,后者将中断信息添加到信息发送缓冲队列;如果采取硬件轮询方式,也可以是轮询任务将信息添加到发送队列;数据发送任务将此信息上传给控制端。
(2)控制端:接收数据然后提供给操作人员,由操作人员选择下一步的操作方案。
指令接收缓冲队列的主要作用是缓存从上位机发下来的命令,保证所有的命令得到尽快的接收,避免由于接收速度慢造成上位机网络发送模块的堵塞,从而给上位机的软件带来不必要的麻烦。
数据发送缓冲队列则是将所有需要发送的命令缓存再发送,这样分离了网络发送和硬件的中断,在上位机软件接收模块阻塞而导致网络阻塞的情况下,不会影响中断处理的速度或者定时轮询的次数。
在VME工控机软件采用了双缓冲队列的情况下,控制端软件可以不再使用缓冲队列,而把所有的网络缓冲放在VME工控机。或者为了软件的通用性和灵活性,在通信双方都建立双缓冲队列。
具体实施方式二:结合图3说明本实施方式,本实施方式是对具体实施方式一所述的基于VxWorks的光刻机双工件台通信方法的进一步限定,
上位机采用TCP通信协议通过socket API接口将所述命令下传到VME工控机通过如下步骤实现:
调用函数socket()建立流式套接字,然后调用函数bind()的步骤;
函数bind()将建立的流式套接字与本地网络地址相关联,然后调用函数Connect()的步骤;
函数Connect()向VME工控机发送请求连接,然后调用函数zbufCreate()的步骤;
函数zbufCreate()创建ZBUF套接字的步骤;
利用创建的ZBUF套接字进行数据操作,然后调用函数zbufSockSend()的步骤;
函数zbufSockSend()通过TCP通信协议向VME工控机发送指令,调用函数zbufSockRecv()的步骤;
函数zbufSockRecv()接收到VME工控机发送的服务应答信号,然后调用函数zbufDelete()的步骤;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的步骤;
函数close()将建立的流式套接字关闭的步骤。
具体实施方式三:结合图3说明本实施方式,本实施方式是对具体实施方式二所述的基于VxWorks的光刻机双工件台通信方法的进一步限定,
VME工控机采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令通过如下步骤实现:
调用函数socket()建立流式套接字,然后调用函数bind()的步骤;
函数bind()将建立的流式套接字与本地网络地址相关联,然后调用函数listen()的步骤;
函数listen()使建立的流式套接字进入侦听状态,通知TCP通信协议,准备接收请求连接的步骤;
当接收到请求连接信号和函数zbufDelete()发送的新连接信号时,调用函数accept()的步骤;
函数accept()接受连接,调用函数zbufCreate()的步骤;
函数zbufCreate()创建ZBUF套接字的步骤;
利用创建的ZBUF套接字进行数据操作,调用函数zbufSockRecv()的步骤;
当函数zbufSockRecv()接收上位机发送的命令,ZBUF套接字对接收到的命令进行数据操作,然后调用函数zbufSockSend()的步骤;
函数zbufSockSend()向上位机发送服务应答信号,然后调用函数zbufDelete()的步骤;
函数zbufDelete()删除创建的ZBUF套接字,发送新连接信号,然后调用函数close().的步骤;
函数close()将建立的流式套接字关闭的步骤。
本实施方式中采用零拷贝技术,在网络数据传输时各层之间不需要拷贝复制,减少了时间和内存缓冲空间的浪费,从而提高系统的实时性。在光刻机系统仿真动画模式中,需要将通过高速光纤口发往电机的大量数据发往上位机,这样就会受到网络通信速度的限制,利用Zbuf有效地提高了通信速率,对具有高精度要求的光刻机控制系统中有重要意义。
图2为VxWorks下Zbuf套接字的结构原理示意图,将ZBUF套接字接口位于应用程序与网络协议层之间,它为上层应用程序提供标准的网络通信应用程序接口,并确定使用相应的套接字后端来访问下层的网络通信协议。
网络协议层通过MUX(Multiplexer)接口与数据链路层进行通信。MUX作为数据链路层和网络层之间的接口,它管理网络协议接口和低层硬件接口之间的交互,将硬件从网络协议的细节中隔离出来,其目的是提供一个接口,隔离网络接口驱动和网络服务。
用Wind River标准的ZBUF套接字后端,实现TCP/UDP/IP等标准的网络服务;或者利用MUX接口方便地添加新的网络服务,并通过添加ZBUF套接字后端来实现应用程序对新的网络服务的访问。
添加ZBUF套接字后端时,除实现支持ZBUF套接字功能外,再向标准的套接字接口注册新添加的套接字后端,以使Wind River标准的套接字接口可以将应用程序的ZBUF请求映射到新的网络服务上。
首先配置VxWorks中的ZBUF功能。在config.h文件中添加宏INCLUDE_ZBUF_SOCK来启动支持ZBUF功能;或者在友好的图形用户界面上配置支持该功能,即在可自启动的工程中修改VxWorks的网络组件,使之包含/ZBUF socket0网络应用程序接口。这样,重新编译生成的VxWorks映像就支持ZBUF功能。
本实施方式中分为上位机和VME工控机两个进程。在VME工控机启动后,申请一个新的套接字,此套接字在VME工控机中保持等待连接的状态;当数据需要与外界交换时,再申请另外一个新的套接字,从而实现上位机的功能。
具体实施方式四:结合图4说明本实施方式,本实施方式是对具体实施方式一所述的基于VxWorks的光刻机双工件台通信方法的进一步限定,
VME工控机采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机通过如下步骤实现:
调用函数socket()建立数据报套接字,然后调用函数bind()的步骤;
函数bind()将建立的数据报套接字与本地网络地址相关联,然后调用函数zbufCreate()的步骤;
函数zbufCreate()创建ZBUF套接字的步骤;
利用创建的ZBUF套接字进行数据操作,然后调用函数zbufSockSendto()的步骤;
函数zbufSockSendto()通过UDP通信协议向上位机发送执行结果信息,调用函数zbufSockRecvfrom()的步骤;
函数zbufSockRecvfrom()接收上位机发送的服务应答信号,然后调用函数zbufDelete()的步骤;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的步骤;
函数close()将建立的流式套接字关闭的步骤。
具体实施方式五:结合图4说明本实施方式,本实施方式是对具体实施方式四所述的基于VxWorks的光刻机双工件台通信方法的进一步限定,
上位机采用UDP通信协议接收到VME工控机发送的执行结果信息通过如下步骤实现:
调用函数socket()建立数据报套接字,然后调用函数bind()的步骤;
函数bind()将建立的数据报套接字与本地网络地址相关联,调用函数zbufCreate()的步骤;
函数zbufCreate()创建ZBUF套接字的步骤;
利用创建的ZBUF套接字进行数据操作,调用函数zbufSockRecvfrom()的步骤;
当函数zbufSockRecvfrom()接收到VME工控机发送的执行结果信息,ZBUF套接字对接收到的数据进行数据操作,然后调用函数zbufSockSendto()的步骤;
函数zbufSockSendto()向VME工控机发送服务应答信号,然后调用函数zbufDelete()的步骤;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的步骤;
函数close()将建立的数据报套接字关闭的步骤。
在本实施方式中,光刻机双工件台通信基于UDP的套接字提供的通信方式与光刻机双工件台通信基于TCP的套接字相比,基于UDP的套接字提供的通信方式相对简单,而且适应性强,一个请求一个应答即可完成上位机和VME工控机的信息交互,利用基于UDP的套接字可以实现组播通信,用来传输24路电机的实时温度信号。
具体实施方式六:本实施方式所述的基于VxWorks的光刻机双工件台通信装置,
它是基于双工作台光刻机、上位机和VME工控机实现的,
所述VME工控机内插有运动控制卡,所述运动控制卡嵌入有指令解算模型、控制模型、电机模型和工件台数学模型;所述运动控制卡用于采集双工作台光刻机的运行数据,同时发送控制数据给所述双工作台光刻机;
指令解算模型,用于对输入的指令进行解算,并将解算后的指令发送给控制模型;
控制模型,用于对接收的指令进行整定,生成电机控制量和工件台控制量,并分将电机控制量发送给电机模型,将工件台控制量发送给工件台数学模型;
电机模型,用于根据电机控制量驱动实际台体中的电机工作;
工件台数学模型用于根据工作台控制量驱动实际台体中的工作台运动;
上位机和VME工控机内均装有VxWorks操作系统并接入以太网;
所述上位机包括如下装置:
当接收到操作指令时,将所述操作指令转换为VME工控机接受的格式的命令,并采用TCP通信协议通过socket API接口将所述命令下传到VME工控机的装置;
当采用UDP通信协议接收到VME工控机发送的执行结果信息并显示的装置;
所述VME工控机包括如下装置:
采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令,将所述命令添加到指令接收缓冲队列的装置;
从指令接收缓冲队列取出命令,根据所述命令执行相应的软硬件操作,操作结束后将执行结果信息添加到数据发送缓冲队列的装置;
从数据发送缓冲队列取出执行结果信息,采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机的装置;
当接收到硬件中断信号时,执行已经被绑定的中断服务程序,中断服务程序通知中断服务任务,所述中断服务任务将中断信息添加到数据发送缓冲队列的装置;
当接收到硬件轮询信号时,将硬件轮询信号添加到数据发送缓冲队列的装置。
具体实施方式七:本实施方式是对具体实施方式六所述的基于VxWorks的光刻机双工件台通信装置的进一步限定,
上位机采用TCP通信协议通过socket API接口将所述命令下传到VME工控机通过如下装置实现:
调用函数socket()建立流式套接字,然后调用函数bind()的装置;
函数bind()将建立的流式套接字与本地网络地址相关联,然后调用函数Connect()的装置;
函数Connect()向VME工控机发送请求连接,然后调用函数zbufCreate()的装置;
函数zbufCreate()创建ZBUF套接字的装置;
利用创建的ZBUF套接字进行数据操作,然后调用函数zbufSockSend()的装置;
函数zbufSockSend()通过TCP通信协议向VME工控机发送指令,调用函数zbufSockRecv()的装置;
函数zbufSockRecv()接收到VME工控机发送的服务应答信号,然后调用函数zbufDelete()的装置;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的装置;
函数close()将建立的流式套接字关闭的装置。
具体实施方式八:本实施方式是对具体实施方式七所述的基于VxWorks的光刻机双工件台通信装置的进一步限定,
VME工控机采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令通过如下装置实现:
调用函数socket()建立流式套接字,然后调用函数bind()的装置;
函数bind()将建立的流式套接字与本地网络地址相关联,然后调用函数listen()的装置;
函数listen()使建立的流式套接字进入侦听状态,通知TCP通信协议,准备接收请求连接的装置;
当接收到请求连接信号和函数zbufDelete()发送的新连接信号时,调用函数accept()的装置;
函数accept()接受连接,调用函数zbufCreate()的装置;
函数zbufCreate()创建ZBUF套接字的装置;
利用创建的ZBUF套接字进行数据操作,调用函数zbufSockRecv()的装置;
当函数zbufSockRecv()接收上位机发送的命令,ZBUF套接字对接收到的命令进行数据操作,然后调用函数zbufSockSend()的装置;
函数zbufSockSend()向上位机发送服务应答信号,然后调用函数zbufDelete()的装置;
函数zbufDelete()删除创建的ZBUF套接字,发送新连接信号,然后调用函数close().的装置;
函数close().将建立的流式套接字关闭的装置。
具体实施方式九:本实施方式是对具体实施方式六所述的基于VxWorks的光刻机双工件台通信装置的进一步限定,
VME工控机采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机通过如下装置实现:
调用函数socket()建立数据报套接字,然后调用函数bind()的装置;
函数bind()将建立的数据报套接字与本地网络地址相关联,然后调用函数zbufCreate()的装置;
函数zbufCreate()创建ZBUF套接字的装置;
利用创建的ZBUF套接字进行数据操作,然后调用函数zbufSockSendto()的装置;
函数zbufSockSendto()通过UDP通信协议向上位机发送执行结果信息,调用函数zbufSockRecvfrom()的装置;
函数zbufSockRecvfrom()接收上位机发送的服务应答信号,然后调用函数zbufDelete()的装置;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的装置;
函数close()将建立的流式套接字关闭的装置。
具体实施方式十:本实施方式是对具体实施方式六所述的基于VxWorks的光刻机双工件台通信装置的进一步限定,
上位机采用UDP通信协议接收到VME工控机发送的执行结果信息通过如下装置实现:
调用函数socket()建立数据报套接字,然后调用函数bind()的装置;
函数bind()将建立的数据报套接字与本地网络地址相关联,调用函数zbufCreate()的装置;
函数zbufCreate()创建ZBUF套接字的装置;
利用创建的ZBUF套接字进行数据操作,调用函数zbufSockRecvfrom()的装置;
当函数zbufSockRecvfrom()接收到VME工控机发送的执行结果信息,ZBUF套接字对接收到的数据进行数据操作,然后调用函数zbufSockSendto()的装置;
函数zbufSockSendto()向VME工控机发送服务应答信号,然后调用函数zbufDelete()的装置;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的装置;
函数close().将建立的数据报套接字关闭的装置。本发明中所述采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令有:对基于VxWorks的光刻机双工件台的工作任务的控制指令、工件台I的速度v1和工件台II的速度v2,工件台I的最大加速度a1和工件台II的最大加速度a2,XYZ坐标系下工件台I和工件台II分别在x、y和z三个方向的自由度的位移,XYZ坐标系下工件台I和工件台II分别在x、y和z三个方向的自由度的旋转量,VxWorks的光刻机双工件台的开始信号、VxWorks的光刻机双工件台的停止信号和VxWorks的光刻机双工件台的急停信号。
本发明中所述执行结果信息包括工件台I的速度v1和工件台II的速度v2,工件台I的最大加速度a1和工件台II的最大加速度a2,XYZ坐标系下工件台I和工件台II分别在x、y和z三个方向的自由度的位移,XYZ坐标系下工件台I和工件台II分别在x、y和z三个方向的自由度的旋转量,VxWorks的光刻机双工件台的21路电机的温度,VxWorks的光刻机双工件台的24路限位开关的报警信号。
试验验证:
应用平台为PowerPC7457主控板卡,主频率范围800MHZ到1266MHZ,2个Ethernet控制器,1个10/100Mb/s的网口。上位机PC采用Pentium双核CPU,主频2.6GHz,2GB物理内存。将曲线数据从下位机持续发送给上位机PC,Zbuf方式速率最高达到70Mbit以上,而传统的Socket网络通信一直无法通过50Mbit。在网络发送数据稳定后Zbuf可以减小层间数据拷贝,提高网络数据传输速度。
Claims (10)
1.基于VxWorks的光刻机双工件台通信方法,它是基于双工件台光刻机、上位机和VME工控机实现的,
所述VME工控机内插有运动控制卡,所述运动控制卡嵌入有指令解算模型、控制模型、电机模型和工件台数学模型;所述运动控制卡用于采集双工件台光刻机的运行数据,同时发送控制数据给所述双工件台光刻机;
指令解算模型,用于对输入的指令进行解算,并将解算后的指令发送给控制模型;
控制模型,用于对接收的指令进行整定,生成电机控制量和工件台控制量,并分将电机控制量发送给电机模型,将工件台控制量发送给工件台数学模型;
电机模型,用于根据电机控制量驱动实际台体中的电机工作;
工件台数学模型用于根据工件台控制量驱动实际台体中的工件台运动;
其特征在于,上位机和VME工控机内均装有VxWorks操作系统并接入以太网;
所述上位机内嵌入有上位机软件,通过所述上位机软件实现下述步骤:
当接收到操作指令时,将所述操作指令转换为VME工控机接受的格式的命令,并采用TCP通信协议通过socket API接口将所述命令下传到VME工控机的步骤;
当采用UDP通信协议接收到VME工控机发送的执行结果信息并显示的步骤;
所述VME工控机内嵌入有VME工控机软件,通过所述VME工控机软件实现下述步骤:
采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令,将所述命令添加到指令接收缓冲队列的步骤;
从指令接收缓冲队列取出命令,根据所述命令执行相应的软硬件操作,操作结束后将执行结果信息添加到数据发送缓冲队列的步骤;
从数据发送缓冲队列取出执行结果信息,采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机的步骤;
当接收到硬件中断信号时,执行已经被绑定的中断服务程序,中断服务程序通知中断服务任务,所述中断服务任务将中断信息添加到数据发送缓冲队列的步骤;
当接收到硬件轮询信号时,将硬件轮询信号添加到数据发送缓冲队列的步骤。
2.根据权利要求1所述的基于VxWorks的光刻机双工件台通信方法,其特征在于,
上位机采用TCP通信协议通过socket API接口将所述命令下传到VME工控机通过如下步骤实现:
调用函数socket()建立流式套接字,然后调用函数bind()的步骤;
函数bind()将建立的流式套接字与本地网络地址相关联,然后调用函数Connect()的步骤;
函数Connect()向VME工控机发送请求连接,然后调用函数zbufCreate()的步骤;
函数zbufCreate()创建ZBUF套接字的步骤;
利用创建的ZBUF套接字进行数据操作,然后调用函数zbufSockSend()的步骤;
函数zbufSockSend()通过TCP通信协议向VME工控机发送指令,调用函数zbufSockRecv()的步骤;
函数zbufSockRecv()接收到VME工控机发送的服务应答信号,然后调用函数zbufDelete()的步骤;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的步骤;
函数close()将建立的流式套接字关闭的步骤。
3.根据权利要求2所述的基于VxWorks的光刻机双工件台通信方法,其特征在于,
VME工控机采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令通过如下步骤实现:
调用函数socket()建立流式套接字,然后调用函数bind()的步骤;
函数bind()将建立的流式套接字与本地网络地址相关联,然后调用函数listen()的步骤;
函数listen()使建立的流式套接字进入侦听状态,通知TCP通信协议,准备接收请求连接的步骤;
当接收到请求连接信号和函数zbufDelete()发送的新连接信号时,调用函数accept()的步骤;
函数accept()接受连接,调用函数zbufCreate()的步骤;
函数zbufCreate()创建ZBUF套接字的步骤;
利用创建的ZBUF套接字进行数据操作,调用函数zbufSockRecv()的步骤;
当函数zbufSockRecv()接收上位机发送的命令,ZBUF套接字对接收到的命令进行数据操作,然后调用函数zbufSockSend()的步骤;
函数zbufSockSend()向上位机发送服务应答信号,然后调用函数zbufDelete()的步骤;
函数zbufDelete()删除创建的ZBUF套接字,发送新连接信号,然后调用函数close().的步骤;
函数close()将建立的流式套接字关闭的步骤。
4.根据权利要求1所述的基于VxWorks的光刻机双工件台通信方法,其特征在于,
VME工控机采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机通过如下步骤实现:
调用函数socket()建立数据报套接字,然后调用函数bind()的步骤;
函数bind()将建立的数据报套接字与本地网络地址相关联,然后调用函数zbufCreate()的步骤;
函数zbufCreate()创建ZBUF套接字的步骤;
利用创建的ZBUF套接字进行数据操作,然后调用函数zbufSockSendto()的步骤;
函数zbufSockSendto()通过UDP通信协议向上位机发送执行结果信息,调用函数zbufSockRecvfrom()的步骤;
函数zbufSockRecvfrom()接收上位机发送的服务应答信号,然后调用函数zbufDelete()的步骤;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的步骤;
函数close()将建立的流式套接字关闭的步骤。
5.根据权利要求4所述的基于VxWorks的光刻机双工件台通信方法,其特征在于,上位机采用UDP通信协议接收到VME工控机发送的执行结果信息通过如下步骤实现:
调用函数socket()建立数据报套接字,然后调用函数bind()的步骤;
函数bind()将建立的数据报套接字与本地网络地址相关联,调用函数zbufCreate()的步骤;
函数zbufCreate()创建ZBUF套接字的步骤;
利用创建的ZBUF套接字进行数据操作,调用函数zbufSockRecvfrom()的步骤;
当函数zbufSockRecvfrom()接收到VME工控机发送的执行结果信息,ZBUF套接字对接收到的数据进行数据操作,然后调用函数zbufSockSendto()的步骤;
函数zbufSockSendto()向VME工控机发送服务应答信号,然后调用函数zbufDelete()的步骤;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的步骤;
函数close()将建立的数据报套接字关闭的步骤。
6.基于VxWorks的光刻机双工件台通信装置,它是基于双工件台光刻机、上位机和VME工控机实现的,
所述VME工控机内插有运动控制卡,所述运动控制卡嵌入有指令解算模型、控制模型、电机模型和工件台数学模型;所述运动控制卡用于采集双工件台光刻机的运行数据,同时发送控制数据给所述双工件台光刻机;
指令解算模型,用于对输入的指令进行解算,并将解算后的指令发送给控制模型;
控制模型,用于对接收的指令进行整定,生成电机控制量和工件台控制量,并分将电机控制量发送给电机模型,将工件台控制量发送给工件台数学模型;
电机模型,用于根据电机控制量驱动实际台体中的电机工作;
工件台数学模型用于根据工件台控制量驱动实际台体中的工件台运动;
其特征在于,上位机和VME工控机内均装有VxWorks操作系统并接入以太网;
所述上位机包括如下装置:
当接收到操作指令时,将所述操作指令转换为VME工控机接受的格式的命令,并采用TCP通信协议通过socket API接口将所述命令下传到VME工控机的装置;
当采用UDP通信协议接收到VME工控机发送的执行结果信息并显示的装置;
所述VME工控机包括如下装置:
采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令,将所述命令添加到指令接收缓冲队列的装置;
从指令接收缓冲队列取出命令,根据所述命令执行相应的软硬件操作,操作结束后将执行结果信息添加到数据发送缓冲队列的装置;
从数据发送缓冲队列取出执行结果信息,采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机的装置;
当接收到硬件中断信号时,执行已经被绑定的中断服务程序,中断服务程序通知中断服务任务,所述中断服务任务将中断信息添加到数据发送缓冲队列的装置;
当接收到硬件轮询信号时,将硬件轮询信号添加到数据发送缓冲队列的装置。
7.根据权利要求6所述的基于VxWorks的光刻机双工件台通信装置,其特征在于,
上位机采用TCP通信协议通过socket API接口将所述命令下传到VME工控机通过如下装置实现:
调用函数socket()建立流式套接字,然后调用函数bind()的装置;
函数bind()将建立的流式套接字与本地网络地址相关联,然后调用函数Connect()的装置;
函数Connect()向VME工控机发送请求连接,然后调用函数zbufCreate()的装置;
函数zbufCreate()创建ZBUF套接字的装置;
利用创建的ZBUF套接字进行数据操作,然后调用函数zbufSockSend()的装置;
函数zbufSockSend()通过TCP通信协议向VME工控机发送指令,调用函数zbufSockRecv()的装置;
函数zbufSockRecv()接收到VME工控机发送的服务应答信号,然后调用函数zbufDelete()的装置;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的装置;
函数close()将建立的流式套接字关闭的装置。
8.根据权利要求7所述的基于VxWorks的光刻机双工件台通信装置,其特征在于,
VME工控机采用TCP通信协议从socket ZBUF API接口接收上位机发送的命令通过如下装置实现:
调用函数socket()建立流式套接字,然后调用函数bind()的装置;
函数bind()将建立的流式套接字与本地网络地址相关联,然后调用函数listen()的装置;
函数listen()使建立的流式套接字进入侦听状态,通知TCP通信协议,准备接收请求连接的装置;
当接收到请求连接信号和函数zbufDelete()发送的新连接信号时,调用函数accept()的装置;
函数accept()接受连接,调用函数zbufCreate()的装置;
函数zbufCreate()创建ZBUF套接字的装置;
利用创建的ZBUF套接字进行数据操作,调用函数zbufSockRecv()的装置;
当函数zbufSockRecv()接收上位机发送的命令,ZBUF套接字对接收到的命令进行数据操作,然后调用函数zbufSockSend()的装置;
函数zbufSockSend()向上位机发送服务应答信号,然后调用函数zbufDelete()的装置;
函数zbufDelete()删除创建的ZBUF套接字,发送新连接信号,然后调用函数close().的装置;
函数close()将建立的流式套接字关闭的装置。
9.根据权利要求6所述的基于VxWorks的光刻机双工件台通信装置,其特征在于,
VME工控机采用UDP通信协议通过socket ZBUF API接口将所述执行结果信息发送给上位机通过如下装置实现:
调用函数socket()建立数据报套接字,然后调用函数bind()的装置;
函数bind()将建立的数据报套接字与本地网络地址相关联,然后调用函数zbufCreate()的装置;
函数zbufCreate()创建ZBUF套接字的装置;
利用创建的ZBUF套接字进行数据操作,然后调用函数zbufSockSendto()的装置;
函数zbufSockSendto()通过UDP通信协议向上位机发送执行结果信息,调用函数zbufSockRecvfrom()的装置;
函数zbufSockRecvfrom()接收上位机发送的服务应答信号,然后调用函数zbufDelete()的装置;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的装置;
函数close()将建立的流式套接字关闭的装置。
10.根据权利要求9所述的基于VxWorks的光刻机双工件台通信装置,其特征在于,上位机采用UDP通信协议接收到VME工控机发送的执行结果信息通过如下装置实现:
调用函数socket()建立数据报套接字,然后调用函数bind()的装置;
函数bind()将建立的数据报套接字与本地网络地址相关联,调用函数zbufCreate()的装置;
函数zbufCreate()创建ZBUF套接字的装置;
利用创建的ZBUF套接字进行数据操作,调用函数zbufSockRecvfrom()的装置;
当函数zbufSockRecvfrom()接收到VME工控机发送的执行结果信息,ZBUF套接字对接收到的数据进行数据操作,然后调用函数zbufSockSendto()的装置;
函数zbufSockSendto()向VME工控机发送服务应答信号,然后调用函数zbufDelete()的装置;
函数zbufDelete()删除创建的ZBUF套接字,然后调用函数close().的装置;
函数close()将建立的数据报套接字关闭的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310381928.4A CN103439866B (zh) | 2013-08-28 | 2013-08-28 | 基于VxWorks的光刻机双工件台通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310381928.4A CN103439866B (zh) | 2013-08-28 | 2013-08-28 | 基于VxWorks的光刻机双工件台通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103439866A CN103439866A (zh) | 2013-12-11 |
CN103439866B true CN103439866B (zh) | 2015-04-15 |
Family
ID=49693563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310381928.4A Active CN103439866B (zh) | 2013-08-28 | 2013-08-28 | 基于VxWorks的光刻机双工件台通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103439866B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973798A (zh) * | 2014-05-14 | 2014-08-06 | 哈尔滨工业大学 | 二次平台运动控制的上下位机通信方法和装置 |
CN104122841A (zh) * | 2014-07-08 | 2014-10-29 | 安阳工学院 | 一种基于nurbs曲面插补的插补系统及方法 |
CN104158876A (zh) * | 2014-08-14 | 2014-11-19 | 哈尔滨工业大学 | 基于Vxworks操作系统的双工件台光刻机控制系统通信装置 |
CN106324999B (zh) * | 2015-07-06 | 2018-06-26 | 上海微电子装备(集团)股份有限公司 | 一种用于光刻设备的控制架构 |
CN106647181B (zh) * | 2016-12-19 | 2018-03-09 | 电子科技大学 | 一种用于dmd无掩膜光刻机的高速图像曝光方法 |
CN106647615B (zh) * | 2016-12-22 | 2019-09-03 | 广州数控设备有限公司 | 基于tcp/ip协议的数控机床伺服调整方法 |
CN106959672B (zh) * | 2017-04-28 | 2020-07-28 | 深圳市汇川控制技术有限公司 | 一种基于api的工业运动控制系统及方法 |
CN109862038A (zh) * | 2019-03-22 | 2019-06-07 | 江苏睿鸿网络技术有限公司 | 一种流媒体协议中数据延时及丢包的处理方法 |
CN117395321B (zh) * | 2023-12-12 | 2024-03-12 | 中国电子科技集团公司第五十四研究所 | 一种基于无连接的面向多用户多任务并发的数据透传方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786825A (zh) * | 2005-12-02 | 2006-06-14 | 上海微电子装备有限公司 | 一种步进扫描投影光刻机多总线时序同步控制方法 |
CN1858652A (zh) * | 2006-06-02 | 2006-11-08 | 上海微电子装备有限公司 | 保持光刻机高速同步控制时序信号完整性的方法 |
CN101149566A (zh) * | 2005-02-05 | 2008-03-26 | 上海微电子装备有限公司 | 步进扫描投影光刻机同步控制系统 |
CN101815005A (zh) * | 2009-02-19 | 2010-08-25 | 凹凸电子(武汉)有限公司 | 网络设备、系统及网络管理方法 |
CN102739486A (zh) * | 2011-03-31 | 2012-10-17 | 上海微电子装备有限公司 | 一种同步数据传输总线系统及方法 |
CN202713370U (zh) * | 2012-06-25 | 2013-01-30 | 浙江运达风电股份有限公司 | 基于wp3x00系统的风电机组双串口通信装置 |
-
2013
- 2013-08-28 CN CN201310381928.4A patent/CN103439866B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149566A (zh) * | 2005-02-05 | 2008-03-26 | 上海微电子装备有限公司 | 步进扫描投影光刻机同步控制系统 |
CN1786825A (zh) * | 2005-12-02 | 2006-06-14 | 上海微电子装备有限公司 | 一种步进扫描投影光刻机多总线时序同步控制方法 |
CN1858652A (zh) * | 2006-06-02 | 2006-11-08 | 上海微电子装备有限公司 | 保持光刻机高速同步控制时序信号完整性的方法 |
CN101815005A (zh) * | 2009-02-19 | 2010-08-25 | 凹凸电子(武汉)有限公司 | 网络设备、系统及网络管理方法 |
CN102739486A (zh) * | 2011-03-31 | 2012-10-17 | 上海微电子装备有限公司 | 一种同步数据传输总线系统及方法 |
CN202713370U (zh) * | 2012-06-25 | 2013-01-30 | 浙江运达风电股份有限公司 | 基于wp3x00系统的风电机组双串口通信装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103439866A (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103439866B (zh) | 基于VxWorks的光刻机双工件台通信方法及装置 | |
EP2047370B1 (en) | Method and apparatus for distributing usb hub functions across a network | |
CN104239256B (zh) | 通过sas的pcie隧穿 | |
US10152441B2 (en) | Host bus access by add-on devices via a network interface controller | |
CN101065741B (zh) | 基于ip分组网络传输pci express分组的方法 | |
CN101572702B (zh) | 高速总线主从网络通信调度方法 | |
US10609125B2 (en) | Method and system for transmitting communication data | |
JP5716133B2 (ja) | 低エラー率、超高速シリアル通信が可能な産業用コントローラ装置およびその駆動方法 | |
WO2022032984A1 (zh) | 一种mqtt协议仿真方法及仿真设备 | |
CN102662910A (zh) | 基于嵌入式系统的网络交互体系及网络交互方法 | |
CN113347017B (zh) | 一种网络通信的方法、装置、网络节点设备及混合网络 | |
CN201639589U (zh) | 基于arm的嵌入式双冗余网卡 | |
CN104717050A (zh) | 多帧速率系统 | |
CN113285839A (zh) | 基于dpdk的可编程数据平面软件交换机的设计方法 | |
CN112929418B (zh) | 一种基于发布订阅的RapidIO高速通信方法及系统 | |
CN102546840B (zh) | 对虚拟串口和物理串口进行绑定的方法、装置及系统 | |
CN103401866A (zh) | 一种PowerLink工业以太网到Profibus-DP现场总线的转换装置 | |
CN103034543A (zh) | 多软件运行环境通信方法、使多软件运行环境通信的方法 | |
Lin et al. | Gigabit Modbus user datagram protocol fieldbus network integrated with industrial vision communication | |
CN112671624A (zh) | 一种构建实时处理EtherCAT帧的方法 | |
WO2009078549A1 (en) | Sca-based system and method of connecting components to each other | |
CN113138732A (zh) | 多显示控制器系统、访问控制系统以及显示控制器 | |
CN205377912U (zh) | 基于Wi-Fi和PROFIBUS-DP总线的嵌入式Web网关 | |
CN115037795B (zh) | 一种嵌入式设备多机通信方法 | |
CN209869504U (zh) | 一种液压机的远程维护系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |