当前位置:首页 > 芯闻号 > 技术解析
[导读]工业监控系统发挥着重要作用,对于工业监控系统,我们应当有所了解。前文中,小编对远程工业监控系统设计做过部分介绍。本文中,将对前文提及的远程工业监控系统设计的余下部分予以介绍。如果你对工业监控存在兴趣,不妨继续往下阅读哦。

工业监控系统发挥着重要作用,对于工业监控系统,我们应当有所了解。前文中,小编对远程工业监控系统设计做过部分介绍。本文中,将对前文提及的远程工业监控系统设计的余下部分予以介绍。如果你对工业监控存在兴趣,不妨继续往下阅读哦。

基于Flash远程监控系统的设计

1.系统硬件连接设计

现场设备通过串口与数据采集模块通讯,数据采集模块通过工业以太网与Web服务器连接,Web服务器通过以太网与数据库服务器连接。数据采集模块采用PAC(可编程自动化控制器),支持Modbus/TEP通信协议。Web服务器和数据库服务器采用HP服务器,安装操作系统为Windo ws Server 2008 Enterprise.网络拓扑结构采用星型拓扑结构,是为了能够与现场采集设备建立更有效的连接。Web服务器存储数据直接面向数据库服务器,便于减轻整个网络负担,防止由于数据量过大而引起网络阻塞。同时数据库服务器实现双机热备,来提高系统的可靠性。将数据库分为两部分:中心数据库和企业级数据库,中心数据库主要存放当前数据,企业级数据库则存放历史数据以及设备和用户的管理数据,实现动态数据与静态数据的隔离。网络拓扑图如下图所示。

图示:系统总体架构图

2.系统软件设计

软件设计的核心内容为PAC编程和客户端Flash编程。PAC编程语言为C语言,编辑环境为BC编译器,Flash编程语言为AcTIon Script,编辑环境为Flash builder4.5.

本系统通过创建一个以TCP数据流方式建立的Socket从而实现PAC服务端与基于Web的Flash客户端的数据传输。建立通信的过程为:首先PAC服务端通过Socket监听自身的Modbus/TCP专用端口502,客户端程序则通过此端口及PAC服务端的IP地址作为连接Socket参数,创建一个Socket与PAC服务端建立连接。网络无故障,则连接建立。客户端通过Flash中Socket的SendMessage()和ReadBytes()方法来发送和接收信息。

利用Flash创建的基于Modbus/TCP套接字模型为如下图所示。

图示:Modbus/TCP套接字模型

3.PAC服务端程序实现

PAC服务端的实现主要分为通过Socket与上位机的通信和通过串口服务与外围设备的通信两大部分。

通过Socket与上位机的通信主要分为监听和连接。在监听状态下负责监听客户端的请求连接,并负责接受此连接。本系统PAC端设计监听类为ServerListen,监听类首先通过int bind(int sockfd,struct sockaddr*my_addr,int addrten)绑定了本地的502端口,然后通过函数int listen (int sockfd,intbacklog)将客户端的连接请求放入队列中等待,直到函数intaccept(int sockfd,void*addr,int*addrlen)处理它,然后返回一个全新的套接字文件来描述此单个连接。这样,对于同一个连接就有两个文件描述符,原先的一个文件描述符正在监听你指定的端口,新的文件描述符可以用来调用send()和recv()。在连接状态下负责与客户端进行数据的接收和发送,通过数据传输类Server Custom来实现。在此类中利用int send(SOCKETs,const char FAR*buf,int len,int flags)函数将PAC服务端的数据发送到客户端,如果网络发生故障或待发送数据的长度len小于当前程序要发送数据的缓冲区的长度,则返回SOCKET_ERROR,利用int recv(SOCKETs,char FAR* buf,int len,int flags)从客户端接收数据。函数先等待s的发送缓冲中的数据被协议传送完毕,如果协议在传送s的发送缓冲中的数据时出现网络错误,则函数返回SOCKET_ERROR错误,如果s的发送缓冲中没有数据或者数据被协议成功发送完毕后,函数先检查套接字s的接收缓冲区,如果s的接收缓冲区中没有数据或者协议正在接收数据,那么函数就一直等待,直到协议把数据接收完毕。

对于外围设备进行通信主要是通过串口服务,首先调用自己定义的COM口初始化函数InstallCom将端口初始化,然后通过build_REQ_Read函数实现根据ModBusRtu通讯协议将COM口读取的外围设备的数据放入自定义的数组中,并通过CRC16_modbus进行CRC校验。接收的数据正确,则通过analyse_Read_Result分析从串口读取的数据,并将读取的数据位存放到Share_Mem[MaxShareMemNum]数组中。然后将Share_Mem数组作为REMOTCP_ModServer_Create参数与上位机进行通讯。对外围设备发送指令,则是通过函数SendCommand选择控制对象的COM后,将指令发送到外围设备,外围设备接收到指令后动作。

以上便是此次小编带来的“工业监控”相关内容,希望大家对本文知识具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对工业以太网的认识,本文将对工业以太网的原理、工业以太网的关键技术以及工业以太网要解决的问题予以介绍。

关键字: 以太网 工业以太网 指数

为增进大家对工业以太网的认识,本文将对工业以太网网络优势、工业以太网和IOLINK的区别予以介绍。

关键字: 以太网 工业以太网 指数

为增进大家对二极管的认识,本文将对续流二极管、续流二极管的工作原理以及二极管在工业产品中的应用予以介绍。

关键字: 二极管 指数 续流二极管

通过本文,您将了解到二极管反接是否有电压以及二极管在电子电路中的应用。

关键字: 二极管 指数 稳压电路

为增进大家对二极管的了解,本文将对ESD二极管和TVS二极管之间的区别予以介绍。

关键字: ESD TVS 二极管 指数

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

为增进大家对LED显示屏的认识,本文将对节能LED显示屏的设计予以介绍。

关键字: LED 指数 显示屏

为增进大家对LED显示屏的认识,本文将对LED显示屏的部件组成、LED显示屏的选型技巧予以介绍。

关键字: LED 指数 显示屏
关闭
关闭