CN116938979A - 一种计算机过程控制系统的进程间通信平台 - Google Patents
一种计算机过程控制系统的进程间通信平台 Download PDFInfo
- Publication number
- CN116938979A CN116938979A CN202310907849.6A CN202310907849A CN116938979A CN 116938979 A CN116938979 A CN 116938979A CN 202310907849 A CN202310907849 A CN 202310907849A CN 116938979 A CN116938979 A CN 116938979A
- Authority
- CN
- China
- Prior art keywords
- communication
- message
- platform
- center platform
- thread
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 134
- 238000004891 communication Methods 0.000 title claims abstract description 100
- 238000004886 process control Methods 0.000 title claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 120
- 238000012544 monitoring process Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000011161 development Methods 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/141—Setup of application sessions
-
- 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/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- 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/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- 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/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明是一种计算机过程控制系统的进程间通信平台,属于自动化控制技术领域。本发明包含通信中心平台、客户端模块和通信监控模块;通信中心平台上启动等待连接线程和电文处理线程;进程需要通信时启动客户端模块,向通信中心平台注册并建立连接,启动接收线程和心跳线程;由心跳线程保持进程与通信中心平台的连接处于活动状态,调用发送函数发送电文给通信中心平台,由接收线程对接收的电文进行读取和处理;通信中心平台接收各进程发送的电文并存入队列,电文处理线程将队列中的电文依次转发;通信监控模块用于查看与通信中心平台连接的进程、收发电文和通信日志。本发明降低了通信工作量,加快了过程控制软件的开发,并减轻了数据通信成本。
Description
技术领域
本发明属于自动化控制技术领域,涉及创建一种计算机过程控制系统的进程间通信平台。
背景技术
随着计算机技术的发展,基于计算机和自动化控制技术的过程控制系统被提出和应用,在一定程度上提高了钢铁企业运营的效率。生产对过程控制系统有极高的实时性、稳定性、准确性和响应性要求。
计算机过程控制系统一般包括多个进程,每个进程独立运行,执行自己的功能。以前这些进程一般在同一台服务器上运行,现在要求分布式运行,即可以在不同服务器上运行。进程间通信系统位于计算机系统内部各计算机之间和计算机内部。各个进程之间又需要交换数据。同一服务器上的进程可以用文件、共享区或事件标志的方式交换数据,但程序难以规范统一,需要各自编程。不同服务器之间的进程通信编程更是需要了解网络通信机制,编程难度和工作量更大。比如n个进程分布运行于n台机器,两两通信,需要建立通信连接数为组合。n=5时连接数/>,如图1的(a)所示,现有计算机过程控制系统有5个进程运行,需要通信连接链路为10条。依次类推,n=10时连接数/>个,n=15时连接数个,当15个进程之间两两通信时,最多需要建立105个连接。由此可见,随着n增大,这个通信连接数增大很快,函数关系是非线性的,而且需要编制相应的程序。这就带来了大量的编程工作,极大增加了数据通信成本。
发明内容
为了减轻上述工作量,尤其针对生产过程控制系统的多个进程独立、分布式运行在多个服务器的应用场景,本发明提供了一种计算机过程控制系统的进程间通信平台(Process Communication,简称PComm),对同一计算机内部进程和不同计算机之间的进程通信用统一的程序处理,并编制了进程间通信平台作为各个进程之间的通信交换中心,实现各个进程之间的数据通信,达到降低工作量,加快过程控制软件的开发,并减轻数据通信成本的目的。
本发明是一种计算机过程控制系统的进程间通信平台,包括通信中心平台PCommServer,客户端模块Client,以及通信监控模块PCommMonitor;其中客户端模块仅调用PComm类就可以完成通信功能,它部署在每个进程所在的计算机上。
通信中心平台上启动有等待连接线程acceptLink和电文处理线程TreatMsg。等待连接线程acceptLink用于处理客户端模块的连接请求。通信中心平台接收客户端进程发送来的电文并存入本地队列,电文处理线程TreatMsg将本地队列中的电文依次进行转发,转发给相应的接收者。每个电文包含电文长度、发送者、接收者、电文编号和电文主体,发送者和接收者为进行通信的两个进程。
进程需要通信时,启动客户端模块,客户端模块先调用连接函数PCommConnect向通信中心平台发送连接请求,进程进行注册并与通信中心平台建立连接。与通信中心平台建立连接的每个进程启动二个线程:接收线程和心跳线程,提供发送函数。心跳线程中,进程每隔设定时间发送心跳电文给通信中心平台,以保持进程与通信中心平台的连接处于活动状态。当进程需要发送电文时,客户端模块调用发送函数将电文发送给通信中心平台。接收线程在收到通信中心平台转发来的电文后放入数据队列中,在接收处理程序中,客户端模块调用接收函数GetAllTelegram从数据队列中获取电文列表,读取每条电文内容进行处理。
通信中心平台与每个客户端设备间建立TCP/IP协议的通信连接。
通信监控模块用于查看与通信中心平台连接的进程、发送接收电文以及通信日志。
本发明的通信平台设置了标准化编程程序,定义了通信平台所需要的类—PComm类,在该类下定义连接函数PCommConnect、发送函数Send和接收函数GetAllTelegram。本发明的通信平台还设置配置文件,配置文件中配置通信中心平台所在的服务器名、IP地址和端口。连接函数通过读取配置文件获取通信中心平台的服务器名、IP地址和端口。
客户端模块直接使用PComm类的库文件和头文件编程,头文件中声明通信平台所需要的类和函数,静态库用于编译时连接生成执行文件,动态库用于执行文件运行时调用,还提供有关示例程序。
相比现有技术,本发明的优点和积极效果在于:
(1)本发明平台实现了局域网内进程的通信,不需要每两个需要通信的进程之间编制复杂的通信程序。本发明的通信中心平台与各个进程之间的连接是TCP/IP连接,实现原理简单,编程人员主要关注将通信内容转换成字符串发送出去以及将接收到的电文字符串转为需要的格式的实现即可,简化了通信编程。本发明减少了进程两两通信时需要建立的通信链路数量,随着进程数量的增加链路数量只呈线性增加,降低了通信工作量。
(2)本发明平台中设计了标准化编程程序,用户使用时只需调用相应的类和函数即可,客户端编程人员不需要了解通信编程细节,只调用接口函数,即可与期望的通信伙伴交换数据。使用本发明设置的类和函数可以减少过程控制系统开发通信编程的工作量,缩短工程项目的开发周期,减轻系统维护的负担。客户端通过动态链接库和示例程序可以促进过程控制系统产品的标准规范化,提高过程控制系统的可靠性,从而有利于过程控制应用软件的维护、积累和重用。采用本发明通信平台,对不同自动化控制系统,可经过配置和少量编程即可完成通信编程工作,减少了过程控制系统开发的工作量,缩短了工程项目的开发周期,减轻了系统维护和二次开发的负担。
(3)本发明平台适用于生产过程控制系统的多个进程独立、分布式运行在多个服务器的应用场景,计算机过程控制系统的进程可以运行在不同机器上,实现分布式运行。提供的通信监控模块统一监控内部进程之间的通信,可查看通信客户端的连接,收发电文,及通信日志。经过多个工程的应用表明,本发明平台便于使用人员快速接受,可以大大减少开发人员的工作量,缩短开发周期,节约开发成本,过程控制系统运行时的稳定性也能提供保证,对过程控制系统通信的修改也十分快捷。
附图说明
图1是独立运行在5台计算机的5个进程间的通信链路示意图,其中:(a)为现有过程控制系统的5个进程间的通信链路示意图,(b)为使用本发明PComm平台的5个进程间的通信链路示意图;
图2是本发明的计算机过程控制系统的进程间通信平台的整体实现框架图;
图3是本发明的通信中心平台上启动的进程线程监控的示例图;
图4是本发明的通信监控模块中客户端显示的通信的进程的示例图;
图5是本发明的通信监控模块中电文显示的示例图;
图6是本发明的通信监控模块中服务器日志示例图。
具体实施方式
下面将结合附图对本发明的技术方案作详细说明。
本发明公开了一种计算机过程控制系统的进程间通信平台,适用于生产过程控制系统的多个进程独立、分布式运行在多个服务器的应用场景,用于完善过程控制系统进程之间的通信,使用本发明平台,可以提高生产自动化控制技术的效率。
本发明实施例中,使用VC++语言编制本发明平台,并在WINDOWS操作系统上使用。
如图2所示,本发明的一种计算机过程控制系统的进程间通信平台,主要包括如下部分:通信中心平台PCommServer,独立运行于局域网内的一台计算机/服务器上,也可以运行在局域网内任何一台计算机/服务器上;客户端模块Client,安装在各进程所在的计算机上,进程两两之间需要通信;通信监控模块PCommMonitor,可以部署在局域网中任何一台计算机/服务器上。
通信中心平台也就是PComm的服务器,如图2所示,开启有主进程PCommServer,进程PCommServer开启有等待连接线程acceptLink和电文处理线程TreatMsg。等待连接线程acceptLink等待客户端模块发送的连接请求。进程通过客户端模块将需要发送的电文发给通信中心,每个电文的数据包含电文长度,发送者,接收者,电文长度,电文编号和电文主体。通信中心平台接收到进程发来的电文后放入本地一个数据队列中。电文处理线程TreatMsg将电文将本地队列中的电文依次进行转发,转发给相应的接受者,即目标客户端。
如图3所示,通信中心平台上还开启有辅助进程PCommSC,辅助进程PCommSC开启有hcRecv线程、Cycle线程、PCommRecv线程和LOG_Recv线程。辅助进程PCommSC用于管理通信中心平台,hcRecv线程用于与PCommMonitor通信,Cycle线程处理一些周期性事务,PCommRecv线程用于接受PComm发送的电文,LOG_Recv线程用于记录平台日志。
通信中心平台与每个客户端设备使用TCP/IP协议进行通信连接。进程需要通信时启动客户端模块,客户端模块向通信中心平台发送进程的连接请求,进程进行注册获得自己的进程名,客户端模块调用连接函数PCommConnect建立进程与通信中心平台之间的连接。建立连接的每个进程启动二个线程:接收线程和心跳线程,并可以随时调用发送函数。心跳线程中,进程每隔设定时间发送心跳电文给通信中心平台,以保持进程与通信中心平台的连接处于活动状态。客户端模块调用发送函数Send将进程需要发送的电文发送给通信中心平台。接收线程在收到通信中心平台转发来的电文后放入数据队列中,在接收处理程序中,客户端模块调用接收函数GetAllTelegram从数据队列中取出电文,获取电文的发送者、电文长度和电文主体等,处理电文。
通信中心平台与多个客户端设备都建立连接,建立连接的每个进程都开启二个线程,线程是并发运行的,微观上是分时进行的,但从宏观上看是同时进行的。这些接收线程将收到的电文放在接收队列中,由通信中心平台上的电文处理线程TreatMsg逐个处理,用已经存在的与其它客户端的连接转发,系统中各客户端的电文收发时间是毫秒或10毫秒级的。所以,本发明的进程间通信平台可以同时处理、分发多个进程之间的通信电文。
通信监控模块PCommMonitor用于查看与通信中心平台连接的进程,查看收发电文、通信服务器日志等。
客户端模块供各通信的进程使用。客户端模块的实现程序中包括动态链接库、头文件和客户端编程模块。头文件中声明通信平台所需要的类和函数,函数包括连接函数、发送函数和接收函数。客户端编程模块包括发送函数和接收函数的示例程序。在客户端模块使用时,直接使用动态链接库和头文件,根据示例程序进行编程工作,执行发送电文,或者接收其它进程发送的电文。
通信中心平台PCommServer相当于一个交换中心,相互之间需要通信的进程首先连接通信中心平台PCommServer,注册自己的名字,然后将需要发送的电文发送给PCommServer,由PCommServer将电文转发给接收的进程。
在VC++的进程间通信程序,需要4个文件:头文件PComm.h;静态库文件PComm.lib;动态链接库文件PComm.dll;配置文件PCommServer.ini。除了配置文件,其余三个文件不能改动。在配置文件需要配置PComm服务器名及其IP地址和端口。服务器名不是机器名,是具有逻辑意义的程序中用到的名称。头文件PComm.h包含PComm类的声明,库文件PComm.lib中实现PComm类中所涉及的各函数的定义。在生成自己的进程执行文件时将库文件PComm.lib链接进去。而运行进程执行文件时,需要动态库文件PComm.dll。
下面提供本发明通信平台PComm客户端进程间通信的一种编程实现方式。定义一个PComm类,如下:
PComm pcomm;
在该类下主要定义三个函数,分别是:连接函数PCommConnect、发送函数Send和接收函数GetAllTelegram。
(1)连接函数PCommConnect的原型如下:
void PCommConnect(string serverIP,short serverPort,string serverName,string clientName);
其中,serverName、serverIP和serverPort分别表示从配置文件PCommServer.ini中读取的PComm服务器的名称、IP地址和端口,clientName表示客户端名称。
进程在取得自己的进程名后,通过客户端模块调用连接函数连接PCommServer,如下:
pcomm.PCommConnect(serverIP,serverPort,serverName,procName);
其中,procName是进程在PComm服务器中注册的自己的进程名。在进程与通信中心平台连接后可以与其它进程之间发送接收电文。
连接函数PCommConnect的一个实现如下:
(2)发送函数Send的原型如下:
int PComm::Send(string receiver,char msg[],int msgLength);
其中,receiver是接受者,即接收电文的进程名称,msg是电文缓冲区地址,msgLength是电文长度。函数返回值是发送的长度。最大电文长度是32768。
(3)接收函数原型GetAllTelegram如下:
其中,sender为发送者,即发送电文的进程名称,msgid为电文编号,msgbody为电文体,最大电文长度常数MaxTelegramLength值是32768,是PComm发送和接收电文的最大长度。用户进程发送的电文整体,包含自己的电文头,都在电文体msgbody中。长度msglen是电文体msgbody中有效部分的长度。函数GetAllTelegram的返回值是一个list链表,其中的每个元素是一个PCommData数据结构。
一般接收电文工作由一个线程或一个定时器完成,以便不停接收和处理其它进程发送的电文。接收线程函数的一个实现示例如下:
上面示例中,通过函数GetAllTelegram获得电文数据列表ListRecv,然后依次读取列表中的每个电文进行处理。
(4)在平台实现中,还涉及到如下函数:
1)取得连接状态函数,函数原型如下:
bool PComm::get_socketClientOK();
返回值表示进程与PCommServer的连接是否正常,本发明实施例设置值为0表示连接不正常。
2)断开函数,函数原型如下:
void PComm::PCommExit();
调用这个函数,使PComm客户端关闭套接字SOCKET连接,退出心跳线程和接收线程,因SOCKET关闭,发送电文不会成功,但连接线程还在,每1秒检测一次PComm对象的变量PcommExit是否为true,如是,继续等待;否则客户端设备重新连接PCommServer,启动心跳线程和接收线程,如能连接正常,进程可以发送和接收电文。
3)重连,当PComm客户端断开以后,使用以下命令可以重连:
PComm.PCommExit=false;
PComm对象在得到此值以后,客户端设备的连接线程重新连接PComm服务器,然后启动心跳线程和接收线程。用户可以用PComm对象发送电文。
本发明的通信监控模块PCommMonitor可以部署在局域网中任意一台机器上,只要PCommServer在运行,就有数据显示。但与PCommServer服务器连接断开时,将没有数据显示。本发明实施例的通信监控模块中设置如下三个显示模块:客户端显示模块Client、电文显示模块Telegram和服务器日志显示模块ServerLog。
如图4所示,在客户端显示模块Client中显示与PCommServer建立连接的进程数据,包括注册进程名,IP地址和端口,注册时间,心跳时间。对连接的某一进程,如pSC,PCommServer进程每收到进程pSC发来一次心跳电文,心跳时间就在变化。在通信监控模块画面的最上面显示通信监控模块进程与服务器的连接状态,只有两种状态,连接正常和断开。
如图5所示,在电文显示模块Telegram中显示电文数据,包括发送者、接收者、电文编号、电文长度、发送时间、发送状态以及电文主体等。电文主体只能显示电文头的字符数据。在电文显示模块中,还可以通过选择发送者、接收者或/和发送状态来筛选要显示的电文数据。例如,当选取了某发送者,表格只显示该发送者的电文。发送状态有三种,分别为转发成功、转发失败和仅接收到未转发。
如图6所示,在服务器日志显示模块ServerLog中显示PCommServer服务器日志数据,包括时间、日志类型、调用的函数名、以及日志内容等。
如图1的(b)所示,实现5个独立运行在5台计算机上的进程间的通信,只要在进程与本发明的通信中心平台建立5条通信链路即可。随着进程数量n的增加,采用本发明通信平台,建立与通信中心平台的n个通信链路即可,增大函数是线性的,相比现有技术需要建立的个通信连接,使用本发明通信平台,在实现各个进程之间数据通信的基础上,大大降低了数据通信成本和工作量。
至此说明了本发明提供的一种计算机过程控制系统的进程间通信平台。采用本发明平台,对不同自动化控制系统,可经过配置和少量编程,即可完成通信编程工作,可以减少过程控制系统开发的工作量,缩短工程项目的开发周期,减轻系统维护和二次开发的负担。
Claims (6)
1.一种计算机过程控制系统的进程间通信平台,其特征在于,该平台包括:通信中心平台、客户端模块以及通信监控模块;在每个进程所在的计算机上部署有客户端模块;
通信中心平台上启动有等待连接线程和电文处理线程;等待连接线程用于处理客户端模块的连接请求;通信中心平台接收各进程发送来的电文并存入本地队列,电文处理线程将本地队列中的电文依次进行转发;每个电文包含电文长度、发送者、接收者、电文编号和电文主体,发送者和接收者为进行通信的两个进程;
进程需要通信时启动客户端模块,客户端模块先调用连接函数向通信中心平台发送连接请求,进程进行注册并与通信中心平台建立连接;当进程与通信中心平台建立连接后,进程启动心跳线程和接收线程,提供发送函数;心跳线程中,进程每隔设定时间发送心跳电文给通信中心平台,以保持进程与通信中心平台的连接处于活动状态;客户端模块调用发送函数将需要发送的电文发送给通信中心平台;接收线程在收到通信中心平台转发来的电文后放入数据队列中,通过客户端模块调用接收函数从数据队列中获取电文列表,读取每条电文内容进行处理;
通信监控模块用于查看与通信中心平台连接的进程、发送接收电文以及通信日志。
2.根据权利要求1所述的进程间通信平台,其特征在于,所述的通信平台设置配置文件,配置文件中配置通信中心平台所在的服务器名、IP地址和端口。
3.根据权利要求1所述的进程间通信平台,其特征在于,所述的电文以数据结构PCommData存储,包括:发送者sender、接收者receiver、电文编号msgid、电文长度msglen和电文主体msgbody;所述的接收电文函数获取一个链表,链表中的每个元素是一个PCommData数据结构存储的电文。
4.根据权利要求1或2所述的进程间通信平台,其特征在于,所述的通信平台设置了标准化编程程序,该程序中定义通信平台所需要的类为PComm类,定义PComm类下的连接函数PCommConnect、发送函数Send和接收函数GetAllTelegram;该程序中还定义了PComm类下的取得连接状态函数get_socketClientOK和断开函数PCommExit;
其中,函数get_socketClientOK的返回值表示进程与通信中心平台的连接是否正常;断开函数PCommExit使得客户端模块关闭套接字SOCKET连接,使得进程退出心跳线程和接收线程;当进程与通信中心平台需要重新连接时,设置断开函数中的变量取值为false,客户端模块检测到断开函数PCommExit的变量为false时,重新连接通信中心平台,启动心跳线程和接收线程。
5.根据权利要求1所述的进程间通信平台,其特征在于,所述的通信监控模块,部署在局域网内的任意一台机器上,当与通信中心平台连接时进行数据显示;通信监控模块包括三个显示模块:客户端显示模块、电文显示模块和服务器日志显示模块;在客户端显示模块中显示当前与通信中心平台连接的进程名、进程所在设备的IP地址和端口、进程注册时间和心跳时间;电文显示模块中显示电文数据,并根据选择发送者、接收者或发送状态筛选要显示的电文数据,其中发送状态三种,分别为转发成功、转发失败和仅接收未转发;服务器日志显示模块中显示通信中心平台的日志数据。
6.根据权利要求1所述的进程间通信平台,其特征在于,所述的通信中心平台与每个进程所在的计算机间建立TCP/IP协议的通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310907849.6A CN116938979A (zh) | 2023-07-21 | 2023-07-21 | 一种计算机过程控制系统的进程间通信平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310907849.6A CN116938979A (zh) | 2023-07-21 | 2023-07-21 | 一种计算机过程控制系统的进程间通信平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116938979A true CN116938979A (zh) | 2023-10-24 |
Family
ID=88389204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310907849.6A Pending CN116938979A (zh) | 2023-07-21 | 2023-07-21 | 一种计算机过程控制系统的进程间通信平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116938979A (zh) |
-
2023
- 2023-07-21 CN CN202310907849.6A patent/CN116938979A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100353714C (zh) | 一种实现Web服务自动化测试的方法 | |
CN113630372A (zh) | 一种边缘计算的云边协同系统 | |
CN114124451B (zh) | 一种物联网设备数据处理方法、系统及计算机存储介质 | |
US20100093441A1 (en) | Integration gateway | |
US20030009539A1 (en) | Distributed object middleware connection method | |
CN111193602A (zh) | 自动化运维管理系统及方法 | |
CN112688915A (zh) | 跨协议通信方法、装置及服务器 | |
CN116260893B (zh) | 一种数据处理系统消息订阅发布装置 | |
CN112350914A (zh) | 基于MQTT云平台的Modbus通信方法及系统 | |
US20030120782A1 (en) | Method and computer system for client server inter process communication | |
CN116319732A (zh) | 一种基于RabbitMQ的消息队列集中配置管理系统及方法 | |
WO2024103943A1 (zh) | 一种业务处理方法、装置、存储介质及设备 | |
CN116938979A (zh) | 一种计算机过程控制系统的进程间通信平台 | |
US20070199001A1 (en) | Method And System For Reading Data, Related Network And Computer Program Product Therefor | |
US20100250684A1 (en) | High availability method and apparatus for shared resources | |
CN116340111A (zh) | 一种Linux套接字监听事件监控方法及装置 | |
CN112799795A (zh) | 业务实现方法、进程管理方法、装置、设备及存储介质 | |
CN114697334B (zh) | 一种编排任务的执行方法和装置 | |
CN113259404B (zh) | 基于tcp/ip协议的工业通信中间件及其使用方法 | |
CN111585858B (zh) | 一种多输入多输出矩阵软总线通信方法和系统 | |
US20010024442A1 (en) | Control program structure of ATM switching system and method thereof | |
US20050131954A1 (en) | Data processing system having services for providing functionalities | |
CN114936098B (zh) | 一种数据流转方法、装置、后端设备及存储介质 | |
WO2024166421A1 (ja) | 管理システム、アダプタ装置、管理方法及びプログラム | |
CN115640153B (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 |