CN111726395B - 一种数控***自动通讯机制 - Google Patents
一种数控***自动通讯机制 Download PDFInfo
- Publication number
- CN111726395B CN111726395B CN202010472809.XA CN202010472809A CN111726395B CN 111726395 B CN111726395 B CN 111726395B CN 202010472809 A CN202010472809 A CN 202010472809A CN 111726395 B CN111726395 B CN 111726395B
- Authority
- CN
- China
- Prior art keywords
- session
- communication
- control
- control system
- library
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种数控***自动通讯机制,所述自动通讯机制包括上位机和与所述上位机进行通讯的数控***,所述上位机设有控件库,所述控件库中设有若干种类可注册控件和用于维护可注册控件与数控***之间进行通讯的通讯库,所述可注册控件通过向通讯库注册完成可注册控件的初始化及会话的创建和注册,会话注册时会产生一个会话ID并存储于会话本身之中;注册后的可注册控件通过通信库与数控***以会话交互机制实现控件与数控***的全自动化的通讯和控件的自我更新。本发明能消除人为干预的通讯过程,建立一套全自动化的通讯机制,不仅降低构建上位机软件的复杂性,同时提高***的可靠性。
Description
技术领域
本发明涉及数控***通讯技术领域,具体为一种数控***自动通讯机制。
背景技术
现有技术需要开发者手动地添加大量的程序代码对通信过程进行干预,例如,封装会话、发送会话,接收响应,解析会话和更新控件等。假如数据项成百上千,由于每项数据的含义都可能不同,那么将需要编写同样份数的控制代码,这将是一个极其繁琐的过程,并且很容易产生数据错误和行为异常。
发明内容
本发明的目的在于提供一种数控***自动通讯机制,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种数控***自动通讯机制,所述自动通讯机制包括上位机和与所述上位机进行通讯的数控***,所述上位机设有控件库,所述控件库中设有若干可注册控件和用于维护可注册控件与数控***之间进行通讯的通讯库,所述可注册控件通过向通讯库注册完成可注册控件的初始化及创建和注册会话,会话注册时会产生一个会话ID并存储于会话本身之中;注册后的可注册控件通过通信库与数控***以会话交互机制实现控件与数控***的全自动化的通讯和控件的自我更新。
优选地,所述通讯库设有“控件和会话注册表”,所述“控件和会话注册表”记录控件与会话的映射关系以及会话ID与会话的映射关系。
优选地,所述会话交互机制的实现过程为:
S11:控件在用户操作时产生一个交互请求(获取数据或提交数据);
S12:控件查找自身所拥有的会话,找到与本次交互对应的会话并发送给通讯库;
S13:通讯库接收到控件的会话,把会话的数据封装成TCP数据包,转发给数控***;
S14:等待数控***的响应;
S15:通讯库把接收到的响应转交给通讯库的分发机制进行处理;
S16:通讯库的分发机制根据会话ID,查找“控件和会话注册表”,找到一个或一组等效控件,依次向它们返回响应;
S17:控件解析响应的数据,更新自身的显示,本次过程结束。
所述等效控件为在返回一个响应会话时,包含与该响应会话相同ID的会话的一组控件。“等效”属于即时状态,例如,控件A包含ID为a和b的会话,控件B包含ID为a和c的会话,当响应会话ID为a时,控件A和控件B为等效控件;在响应会话ID为b或者c时,它们不属于等效控件。
优选地,通讯库还包含超时管理机制。所述超时管理机制为:当通讯库把TCP数据包发送至数控***端时,超过设定的超时时间内未收到数控***端的响应,即为超时。此时,通讯库超时管理机制会根据会话的重发标志,选择是否进行重发;如果不进行重发,则转交给控件的超时机制进行处理。
与现有技术相比,本发明的有益效果是:
1)自动化的通讯:通讯的整个过程都是控件,会话和通讯库协作进行管理和维护的,无需使用者编写任何通讯方面的控制代码,因此可称为自动化的通讯。
2)更优的通讯质量:有会话都由通讯库进行管理,可以对它们的通讯实施集中优化,比如合并重复会话,高效的分发机制和超时管理机制。
3)简单并且易用:控件库是可以作为可视化界面设计工具的插件进行使用,即可以通过简单的拖拉进行界面的创建和布局,然后指定这些控件的一些属性,非编程专业人员也可以实现上位机软件的搭建和控件的布局工作。
4)提高***的可靠性:本发明能消除人为干预的通讯过程,建立一套全自动化的通讯机制,不仅降低构建上位机软件的复杂性,同时提高***的可靠性。
附图说明
图1为通讯***框架图;
图2为可注册控件注册与反注册流程图;
图3为自动通讯流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的技术方案,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1至图3,本发明提供一种技术方案:一种数控***自动通讯机制,所述自动通讯机制包括上位机和与所述上位机进行通讯的数控***,所述上位机设有控件库,所述控件库中设有若干可注册控件和用于维护可注册控件与数控***之间进行通讯的通讯库,所述可注册控件通过向通讯库注册完成可注册控件的初始化及创建和注册会话;注册后的可注册控件通过通信库与数控***以会话交互机制实现控件与数控***的全自动化的通讯和控件的自我更新。
图1中的上位机与数控***数据对照表为对上位机端所使用到(或将来可能会使用到)的数控***端数据进行分类、编码(即地址码)和明确数据类型,并汇总成表。使用者在创建控件时,查找该表可获取所需数控***端数据的地址码,然后把得到的地址码填入控件的地址码属性中,此时,该控件将会启用自动通讯机制。
所述控件库为预定义了若干种类型的可注册的控件,例如编辑框,状态按钮,下拉框,标签以及多种复合控件。每一种类控件都实现了交互机制,响应机制和超时机制,根据控件的特异性实现自身的更新机制。每个控件对象拥有一个或多个会话,会话的具体数量是由控件类型进行确定的。
所述通讯库为维护可注册控件与数控***之间的通讯,管理上位机所有可注册控件的会话,接收数控***端的响应并把响应会话分发至可注册控件。
可注册的控件与数控***进行通讯前,需要先向通讯库进行注册,在可注册的控件销毁时向通讯库进行反注册。其注册和反注册过程如下:
S1:控件初始化并创建会话:控件初始化它的显示样式,并根据地址码、数据类型等属性创建若干个(具体数量由控件类型确定)会话;
S2:注册会话:控件向通讯库注册它拥有的会话,并记录在“控件和会话注册表”中;同时,产生一个会话ID并存储在会话本身之中;
S3:用户交互:主要指数据上的交互,即用户获取数据或提交数据,每一次的用户交互都伴随着一次自动通讯过程;
S4:控件销毁:当关闭显示界面或者退出上位机软件等操作时,控件进行销毁;销毁的过程伴随着反注册会话,控件通知通讯库反注册该控件拥有的会话,通讯库根据这些会话的ID查找“控件和会话注册表”,移除相应的记录。
其中会话是可注册控件和通讯库之间通讯的基本单元,它包含如下信息:
会话类型:获取数据,提交数据,获取位数据,提交位数据。
地址码:指示会话获取/提交何种数据,可通过查找“上位机与数控***数据对照表”得到。
内部偏移:在地址码指示的数据的基础上的内部偏移地址,地址码+内部偏移最终确定会话要操作的具体数据。
数据类型:整形,浮点型等,可通过查找“上位机与数控***数据对照表”得到。
数据长度:获取/提交的数据的字节长度。
操作位:获取位数据/提交位数据时用于指出哪个数据位将被获取/提交。
缓存:获取(位)数据时用于保存获取到的数据,提交(位)数据时用于保存提交的数据。
重发标志:指示通讯超时时是否进行重发的标志。
所属控件:指明该会话属于哪个控件。
会话ID:注册时由***自动计算得出,它是根据会话类型、地址码、内部偏移、数据长度和操作位这些信息计算得出一个64位整数值。如果两个会话的ID相同,则代表它们是相同,否则为不同的。计算公式如下,其中“<<”为左移位操作符:
ID=(会话话类<<60)+(操作位<<48)+(数据长据<<32)+(内部偏移<<16)+(地址码)
其中“控件和会话注册表”包含两个子表,分别记录控件与会话的映射关系以及会话ID与会话的映射关系,即:
控件与会话映射表:一个控件对应一组会话,
会话ID与会话映射表:一个会话ID对应一组会话。
可注册控件向通讯库成功注册后,可注册控件就能以会话的交互机制实现与数控***持续地自动通讯,其每次自动通讯过程如下:
S21控件在用户操作时产生一个交互请求(获取数据或提交数据);
S22控件查找自身所拥有的会话,找到与本次交互对应的会话并发送给通讯库;
S23通讯库接收到控件的会话,把会话的数据封装成TCP数据包,转发给数控***;
S24等待数控***的响应;
S25通讯库把接收到的响应转交给通讯库的分发机制进行处理;
S26通讯库的分发机制根据会话ID,查找“控件和会话注册表”,找到一个或一组等效控件,依次向它们返回响应。其中,查找“控件和会话注册表”过程为:首先根据会话ID,在“会话ID与会话映射表”中找到一组等效会话,再根据等效会话各自的“所属控件”就能得到一组等效控件;
S27控件解析响应的数据,更新自身的显示,本次通讯过程结束。
另外的,通讯库还包含超时管理机制。当通讯库把TCP数据包发送至数控***端时,超过设定的超时时间内未收到数控***端的响应,即为超时。此时,通讯库超时管理机制会根据会话的重发标志,选择是否进行重发;如果不进行重发,则转交给控件的超时机制进行处理。控件的超时机制根据不同控件类型,预设了不同的处理方式,例如编辑框,因为新的数据未能提交成功,会使用旧的数据去重更新控件的当前显示。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.一种数控***自动通讯机制,所述自动通讯机制包括上位机和与所述上位机进行通讯的数控***,其特征在于:所述上位机设有控件库,所述控件库中设有若干种类可注册控件和用于维护可注册控件与数控***之间进行通讯的通讯库,所述可注册控件通过向通讯库注册完成可注册控件的初始化及会话的创建和注册,会话注册时会产生一个会话ID并存储于会话本身之中;注册后的可注册控件通过通信库与数控***以会话交互机制实现控件与数控***的全自动化的通讯和控件的自我更新;所述通讯库设有“控件和会话注册表”,所述“控件和会话注册表”记录控件与会话的映射关系以及会话ID与会话的映射关系;其中,所述会话交互机制的实现过程为:
S11:控件在用户操作时产生一个交互请求;
S12:控件查找自身所拥有的会话,找到与本次交互对应的会话并发送给通讯库;
S13:通讯库接收到控件的会话,把会话的数据封装成TCP数据包,转发给数控***;
S14:等待数控***的响应;
S15:通讯库把接收到的响应转交给通讯库的分发机制进行处理;
S16:通讯库的分发机制根据会话ID,查找“控件和会话注册表”,找到一个或一组等效控件,依次向它们返回响应;
S17:控件解析响应的数据,更新自身的显示,本次过程结束。
2.根据权利要求1所述的自动通讯机制,其特征在于:通讯库还包含超时管理机制;所述超时管理机制为:当通讯库把TCP数据包发送至数控***端时,超过设定的超时时间内未收到数控***的响应,即为超时;此时,通讯库超时管理机制会根据会话的重发标志,选择是否进行重发;如果不进行重发,则转交给控件的超时机制进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010472809.XA CN111726395B (zh) | 2020-05-29 | 2020-05-29 | 一种数控***自动通讯机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010472809.XA CN111726395B (zh) | 2020-05-29 | 2020-05-29 | 一种数控***自动通讯机制 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111726395A CN111726395A (zh) | 2020-09-29 |
CN111726395B true CN111726395B (zh) | 2023-01-31 |
Family
ID=72565235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010472809.XA Active CN111726395B (zh) | 2020-05-29 | 2020-05-29 | 一种数控***自动通讯机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111726395B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490624B1 (en) * | 1998-07-10 | 2002-12-03 | Entrust, Inc. | Session management in a stateless network system |
CN102214090A (zh) * | 2010-04-09 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 一种创建会话窗口的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7600024B2 (en) * | 2006-03-31 | 2009-10-06 | Microsoft Corporation | Restricting device access per session |
US9742843B2 (en) * | 2013-03-14 | 2017-08-22 | Thoughtwire Holdings Corp. | Method and system for enabling data sharing between software systems |
-
2020
- 2020-05-29 CN CN202010472809.XA patent/CN111726395B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490624B1 (en) * | 1998-07-10 | 2002-12-03 | Entrust, Inc. | Session management in a stateless network system |
CN102214090A (zh) * | 2010-04-09 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 一种创建会话窗口的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111726395A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108431804B (zh) | 将多个容器数据库分组为单个容器数据库集群的能力 | |
KR100795929B1 (ko) | 데이터베이스로의 쿼리 전송 방법 및 쿼리 전송 시스템 | |
US7779404B2 (en) | Managing network device configuration using versioning and partitioning | |
JP4774372B2 (ja) | 異種コンピュータシステムにわたる複雑計算 | |
US6453321B1 (en) | Structured cache for persistent objects | |
US20100185645A1 (en) | Structured query language syntax rewriting | |
CN109144994A (zh) | 索引更新方法、***及相关装置 | |
KR100671506B1 (ko) | 모바일 미들웨어 및 이를 이용한 비즈니스 로직 처리 방법 | |
US11151098B2 (en) | Enabling multi-tenant access to respective isolated data sets organized using different application schemas | |
US11210277B2 (en) | Distributing and processing streams over one or more networks for on-the-fly schema evolution | |
US20140229504A1 (en) | System and method for managing database in data distribution service | |
US7020659B2 (en) | System and method for managing bi-directional relationships between objects | |
US11120036B2 (en) | System and method for efficient repurposing of connections in a multi-tenant database environment | |
CN104731943A (zh) | 一种服务器和数据处理方法 | |
CN117112618B (zh) | Eda软件数据查询方法、电子设备和介质 | |
US20200342025A1 (en) | Interactive and non-interactive execution and rendering of templates to automate control and exploration across systems | |
US7958154B2 (en) | Apparatus, system, and method for command manager support for pluggable data formats | |
US20070214113A1 (en) | Method to support multiple data sources connecting to a persistent object | |
CN111726395B (zh) | 一种数控***自动通讯机制 | |
US20050010595A1 (en) | System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database | |
CN110737506A (zh) | 一种虚拟机镜像版本管理的方法 | |
CN111797119A (zh) | 一种缓存装置、***及缓存方法 | |
CN100423492C (zh) | 一种管理信息库的处理方法 | |
EP1548588A2 (en) | Method of translating computer program code, communications system and network management entity therefor | |
CN102033871B (zh) | 多个信息***共享公共资源数据的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |