设备监控系统

设备监控系统
设备监控系统

设备监控系统

一、课题内容和要求

1. 基本要求

(1)需求分析与概要设计。需求分析完成以后,对数据库表、界面及各功能模块做出概要设计。

(2)设备管理。提供需监控设备的增加、修改和删除功能。同时管理人员还可以为所管理的设备设置性能数据的告警门限值。

(3)设备监控。每隔一段时间采集保存在数据库中的性能数据,当性能数据超过告警门限值,则生成告警;当性能数据恢复正常,则取消告警。

(4)告警显示。当告警持续一段时间(该时间可以设置)后,需要向该设备的管理人员发送一个消息。每个设备可以有不同的管理人员。

(5)消息查看。管理人员可查看、删除发给他的消息。

(6)性能数据采集程序。该程序部署在需监控的设备上,用于采集该设备的CPU利用率和内存使用率,并写入到数据库中。

(7)测试。对系统中各个模块进行全面的测试,完成测试报告。

2. 扩展要求。

(1)运行日志采集。监控系统可以采集各个设备上的运行日志。监控系统管理人员通过日志查看设备的运行详情。

(2)能够较完美地显示性能数据的变化规律。

二、需求分析

在该部分中叙述每个模块的功能要求:

首先是用户界面的编写:该部分可分为两部分,即客户端与服务端。这两个部分主要是实现对于界面的编写以及为后续功能的注入编写好回调函数接口,由于是我们是使用GTK/Gnome编程,没有使用glade这样的工具,所以编写图形界面的编写代码量较大,这两部分由两人分别完成。

其次是数据库德操作与门限值的设置,我们使用MySQL数据库,门限值的设置也是使用图形化界面。由于该功能比较单一,可以独立出来,所以由一人足以完成。这部分的功能就是通过图形化界面使用SQL语句完成对数据库中对应表的对应值的修改。

另外就是完成对网络传输功能的模块,该模块主要功能就是网络信息传输与接收,

也是分为客户端与用户端的,所以由两人协作完成。目的就是完成对于数据的传输,使用的是socket套接字编程,采用的是UDP协议。

最后再由一人完成对整体模块的整合。

三、概要设计

首先,系统整体结构:

把数控机床和监控计算机通过网络设备组成一个总线式局域网,并使其运行在C \ S模式下。作为服务器端的数控机床安装有PC式的数控系统,负责工件的加工。作为客户端的监控计算机设置在生产现场或监控室内,用于显示各数控机床状态及对其进行远程控制。

进行监控作业时,监控计算机(客户端) ,向每个数控机床(服务器端)发出请求,数控机床接收请求后并做出响应,返回执行结果,监控计算机接收到信息后,经过处理,在用户界面上显示,完成一个监控流程。

服务端的软件设计和实现:

目标数控机床内安装有实时Linux操作系统及数控软件,数控软件负责控制加工,记录及显示相关的加工参数。要对其实行远程监控,需要再加入一个网络通信软模块,负责数据、指令的接收,处理和发送。该模块可以使用L inux下的Socket实现。网络模块的工作过程为:当数控软件启动时,网络模块进行初始化,首先调用系统内的socket ( )函数建立一个套接字,并获得系统返回的socket描述符,再调用bind ( )把套接字与网络参数(地址族, IP地址)进行绑定,然后使用listen ( )侦听网络。此时当客户端对其发起连接( connect ( ) )时,则调用accep t ( ) ,建立起服务器端和客户端之间的连接。部分C语言实现代码实现如下:

server_sockfd = socket (AF_ INET, SOCK_STREAM, 0) ;

/ /建立Socket,AF_ IN IET表示IP地址族, SOCK_STREAM,

表示使用TCP协议

bind ( server_ sockfd, ( struct sockaddr 3 ) &server_ address,

server_len) ;

/ /绑定Socket和IP地址

listen ( server_sockfd, 5) ;

/ /监听网络

在监控过程中,网络通信模块通过receive ( )接收客户端发送的指令,经处理和判断后,读取或修改数控软件内的相关内容和参数,并把执行结果通过send ( )发送回客户端。

客户端的软件设计和实现:

客户端软件用于向生产管理人员显示各数控机床的信息及对其进行控制, 运行在安装有W indows或Linux操作系统上。该软件将分为3相对独立的部分进行设计:网络通信,中间层,用户界面。网络通信通过Socket实现,完成发起\关闭网络连接,数据发送和接收的功能。当用户需要连接数控机床(服务器端)时,软件调用socket ( )建立一个套接字,并获得一个socket描述符,然后调用connect ( )和远端监听中的服务器进行连接,连接一旦建立,就可以通

过send ( )及receive ( )进行数据的发送和接收。需要关闭监控时,可以调用close ( )关闭连接。L inux和W indows系统都提供有Socket的相关函数,可以直接调用,在L inux下包含在sys/ socket. h,在Windows下包含在winsock2. h中,在不同系统下编译时可以通过Makefile和程序

中的宏定义选择不同的头文件,部分实现代码为:

#ifndef __W IN32__

#include < sys/ socket. h >

#else

#include

#endif

/ /头文件的选择

客户端进行网络连接时,可以通过connect ( )函数实现:

err = connect ( sock, ( struct sockaddr 3 ) &servername, sizeof

( servername) ) ;

当需要同时监控多台数控机床时,可按以上过程建立若干个连接,每新建一个socket,系

统返回的socket描述符(程序中的sock变量)都是不同的,根据该描述符即可区分各个连接,区分每一台被监控的数控机床,使数据的收发不会发生混淆。为保证数据发送和接收的可靠性和连续性,网络通信部分将以独立线程方式运行。

整个网络通信过程如图所示:

中间层处于网络通信和用户界面之间,包括几个功能:数据格式转换,提供功能\回调函数和数据暂存。由于用户界面是根据用户的需求而订制的,具有很大的可变性,为了保证界面的强可塑性和灵活性,软件接收到得数据不会直接被界面接收和显示,而是先把接

收的数据进行转换后存储在一个数据结构中,再由界面读取显示。功能\回调函数为软件提供各种控制功能,供上层界面调用。

程序中定义一个结构体( struct)来描述数控机床的各种状态:

typedef struct StrMachineState

{ char ProgramName[ 400 ];

?

int FeedOverride;

?

}StrMachineState;

而对各个数控机床的状态进行存储,则使用结构数组实现:

StrMachineStateMachineState[NUM_OF_MACH INES]

结构数组内的每组变量存储一个数控机床的状态数据,NUM_OF_MACH INES为可存储数控数据的最大值,可以自行定义。

用户界面是监控软件的最外层,直接与用户进行交互,使用GTK +进行编写。界面分为3 部分: 主窗口,用于显示各个数控机床的概要信息,包括程序状态和数控机床参数等,主窗口划分为若干区域,用于同时显示不同机床的信息。

监控软件3层关系结构如图所示:

四、源程序代码

头文件,主要包括一些结构的定义。

#ifndef __GLOBALAPI_H

#define __GLOBALAPI_H

#include /*基本的系统数据类型*/

#include /*基本的套接字的定义*/

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

/*服务器端使用的端口*/

#define SERVER_PORT_NO 8889

/*客户端与服务器端使用的消息类型定义*/ #define INITIAL_V ALUE 65535

/*客户端使用的消息代码含义*/

#define DISCONNECT 0

#define REPORT 1

#define LOG 2

/*服务器端使用的消息代码含义*/

#define REPORT_SUCCEED 255

#define REPORT_FAILED 256

#define ARM 257

#define UNKNOWN_CODE 258

/*服务器与客户端使用的消息结构定义*/ struct mystat

{

char cpu[4];

int cpu_value;

char cpu0[5];

int cpu0_value;

char cpu1[5];

int cpu1_value;

char intr[5];

int intr_value;

char ctxt[5];

int ctxt_value;

char btime[6];

int btime_value;

char processes[10];

int processes_value;

char procs_running[14];

int procs_running_value;

char procs_blocked[14];

int procs_blocked_value;

pthread_mutex_t ticket_mutex;

};

struct stMessage {

unsigned int msg_type;

unsigned int msg_id;

struct mystat info;

} message;

/*服务器开启状况*/

int ser_id_stat[8]={0,0,0,0,0,0,0,0};

void init_message()

{

message.msg_type=INITIAL_V ALUE;

}

/*服务器端的线程缓冲区的最大数量*/

#define THREAD_BUFF_NUM 128

/*提示信息输出*/

#define INFO_NUM 10

#define INFO_OCCUPIED 1

#define INFO_FREED 0

struct info_t {

int status; /*INFO_OCCUPIED or INFO_FREED*/

char msg[512]; /*contents of message*/

}info[INFO_NUM];

pthread_mutex_t info_mutex;

/*初始化界面输出信息缓冲区*/

void init_info()

{

int i;

for (i=INFO_NUM;i>0;i--)

info[i-1].status=INFO_FREED;

sprintf(info[i-1].msg," ");

}

/*分配一个空闲的界面输出信息缓冲区,如果没有空闲的缓冲区则返回-1*/

int get_free_info()

{

int i,ret;

/*注意对互斥锁的操作,这些操作必须是成对的(加锁和解锁),否则会发生死锁的情况*/ pthread_mutex_lock(&info_mutex);

for(i=0;i

if(info[i].status==INFO_FREED) {

ret=i;

pthread_mutex_unlock(&info_mutex);

break;

}

if(i==INFO_NUM) {

ret=-1;

pthread_mutex_unlock(&info_mutex);

}

return ret;

}

/*释放界面输出信息缓冲区,对info_status的访问同样需要使用互斥保护*/

void free_info(int index)

{

int i;

pthread_mutex_lock(&info_mutex);

if(info[index].status==INFO_OCCUPIED)

info[index].status=INFO_FREED;

pthread_mutex_unlock(&info_mutex);

}

void add_info(char *src)

{ int i;

while((i=get_free_info())==-1)

{

sleep(1);

}

/*添加消息*/

pthread_mutex_lock(&info_mutex);

info[i].status=INFO_OCCUPIED;

strcpy(info[i].msg, src);

pthread_mutex_unlock(&info_mutex);

}

#endif

经删减后的客户端程序:

#include

#include "globalapi.h"

static GtkWidget *app; /*程序主窗口*/

static GtkWidget *frame, *vbox, *box2 ,*table; /*box2用来封装文本构件与垂直滚动条*/

static GtkWidget *clientwindow,*serverwindow,*vscrollbar; //服务器窗口,用来输出相关提示信息。

struct mystat test;

int socket_fd; //连接socket

struct sockaddr_in server; //服务器地址信息,客户端地址信息

int ret,i;

void connectserver(GtkWidget *widget, gpointer data);

void disconnect(GtkWidget *widget, gpointer data);

void clean_server_info(GtkWidget *widget, gpointer data);

void display_info(char *msg);

void display_server_info(char *msg);

void dialog_ok(GnomeDialog *dialog, gint id,gpointer data);

void displaycontents(GtkWidget *widget, gpointer data);

void about(GtkWidget *widget, gpointer data);

void send_client_info();

gint timeout_callback(gpointer data);

gint remove_id=0;

int myread(char *path);

GnomeUIInfo client_operation_menu[]={

GNOMEUIINFO_ITEM_NONE("连接服务器" ,"与远程服务器建立连接",connectserver),

GNOMEUIINFO_ITEM_NONE("断开连接" ,"断开与远程服务器的连接",disconnect),

GNOMEUIINFO_ITEM_NONE("退出" ,"退出程序", gtk_main_quit),

GNOMEUIINFO_END

};

/*生成帮助菜单项*/

GnomeUIInfo help_menu[]={

GNOMEUIINFO_ITEM_NONE("显示内容" ,"显示帮助内容",displaycontents),

GNOMEUIINFO_ITEM_NONE("关于" ,"关于此程序说明",about),

GNOMEUIINFO_END

};

/*生成顶层菜单项*/

GnomeUIInfo menubar[]= {

GNOMEUIINFO_SUBTREE("客户端操作(_S)", client_operation_menu),

GNOMEUIINFO_SUBTREE("帮助(_H)",help_menu),

GNOMEUIINFO_END

};

/*生成工具栏*/

GnomeUIInfo toolbar[]= {

GNOMEUIINFO_ITEM_STOCK("连接服务器","与远程服务器建立连接",connectserver,GNOME_STOCK_PIXMAP_PRINT),

GNOMEUIINFO_ITEM_STOCK("断开连接","断开与远程服务器的连接",disconnect, GNOME_STOCK_PIXMAP_CUT),

GNOMEUIINFO_ITEM_STOCK("清空信息","清空服务器发来的信息",clean_server_info,GNOME_STOCK_PIXMAP_OPEN),

GNOMEUIINFO_ITEM_STOCK("退出", "退出程序", gtk_main_quit, GNOME_STOCK_PIXMAP_EXIT),

GNOMEUIINFO_END

};

int main(int argc, char *argv[])

{

GtkWidget *isenable;

//界面初始化部分

gtk_set_locale();

gnome_init("example", "0.1", argc, argv);

app=gnome_app_new("example", "框架");

gtk_signal_connect(GTK_OBJECT(app),"delete_event",GTK_SIGNAL_FUNC(gtk_main_quit),NU LL);

//添加菜单和工具栏

gnome_app_create_menus(GNOME_APP(app),menubar);

gnome_app_create_toolbar(GNOME_APP(app),toolbar);

gtk_window_set_default_size((GtkWindow *)app, 800, 600);

vbox=gtk_vbox_new(FALSE,0);

gnome_app_set_contents(GNOME_APP(app),vbox);

/*启动程序时使工具条上断开连接以及相应的菜单项灰化*/

isenable=toolbar[1].widget;

gtk_widget_set_sensitive(isenable,FALSE);

isenable=client_operation_menu[1].widget;

gtk_widget_set_sensitive(isenable,FALSE);

/*创建客户端输出信息*/

frame=gtk_frame_new(NULL);

gtk_frame_set_label(GTK_FRAME(frame),"客户端信息");

gtk_frame_set_shadow_type(GTK_FRAME(frame),GTK_SHADOW_ETCHED_OUT);

gtk_box_pack_start(GTK_BOX(vbox),frame,TRUE,TRUE,10);/*最后一个参数控制间隔*/

gtk_widget_show(vbox);

box2 = gtk_vbox_new (FALSE, 10);

gtk_container_set_border_width(GTK_CONTAINER (box2),10);

gtk_container_add(GTK_CONTAINER(frame),box2);

gtk_widget_show (box2);

table = gtk_table_new (2,2,FALSE);

gtk_table_set_row_spacing (GTK_TABLE (table), 0, 2);

gtk_table_set_col_spacing (GTK_TABLE (table), 0, 2);

gtk_box_pack_start (GTK_BOX(box2),table,TRUE,TRUE,0);

gtk_widget_show (table);

clientwindow=gtk_text_new (NULL, NULL);

gtk_text_set_editable(GTK_TEXT(clientwindow),FALSE); //文本信息不可编辑

gtk_text_set_word_wrap(GTK_TEXT(clientwindow),TRUE); //自动换行

gtk_table_attach(GTK_TABLE(table),clientwindow,0,1,0,1,GTK_EXPAND|GTK_SHRINK|GTK_F

ILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,0,0);

gtk_widget_show (clientwindow);

vscrollbar = gtk_vscrollbar_new (GTK_TEXT(clientwindow)->vadj);

gtk_table_attach(GTK_TABLE(table),vscrollbar,1,2,0,1,GTK_FILL,GTK_EXPAND|GTK_SHRIN K|GTK_FILL,0,0);

gtk_widget_show (vscrollbar);

gtk_widget_realize (clientwindow);

/*服务端信息显示区创建*/

frame=gtk_frame_new(NULL);

gtk_frame_set_label(GTK_FRAME(frame),"服务端信息");

gtk_frame_set_shadow_type(GTK_FRAME(frame),GTK_SHADOW_ETCHED_OUT);

gtk_box_pack_start(GTK_BOX(vbox),frame,TRUE,TRUE,10);/*最后一个参数控制间隔*/

gtk_widget_show(vbox);

box2 = gtk_vbox_new (FALSE,10);

gtk_container_set_border_width (GTK_CONTAINER (box2), 10);

gtk_container_add(GTK_CONTAINER(frame),box2);

gtk_widget_show (box2);

table = gtk_table_new (2,2,FALSE);

gtk_table_set_row_spacing (GTK_TABLE (table), 0, 2);

gtk_table_set_col_spacing (GTK_TABLE (table), 0, 2);

gtk_box_pack_start (GTK_BOX (box2), table, TRUE, TRUE, 0);

gtk_widget_show (table);

/*创建服务端传送的信息*/

serverwindow=gtk_text_new (NULL, NULL);

gtk_text_set_editable(GTK_TEXT(serverwindow),FALSE); //文本信息不可编辑

gtk_text_set_word_wrap(GTK_TEXT(serverwindow),TRUE); //自动换行

gtk_table_attach(GTK_TABLE(table),serverwindow,0,1,0,1,GTK_EXPAND|

GTK_SHRINK|GTK_FILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,0,0);

gtk_widget_show (serverwindow);

vscrollbar = gtk_vscrollbar_new(GTK_TEXT(serverwindow)->vadj);

gtk_table_attach(GTK_TABLE(table),vscrollbar,1,2,0,1,GTK_FILL,

GTK_EXPAND|GTK_SHRINK|GTK_FILL,0,0);

gtk_widget_show(vscrollbar);

gtk_widget_realize(serverwindow);

gtk_widget_show_all(app);

gtk_main();

return 0;

}

/*状态内容输出函数*/

void display_info(char *msg)

{

gtk_text_freeze(GTK_TEXT(clientwindow));

gtk_text_insert(GTK_TEXT(clientwindow),NULL,&clientwindow->style->black,NULL,msg,-1);

gtk_text_thaw(GTK_TEXT(clientwindow));

}

/*服务断内容输出函数*/

void display_server_info(char *msg)

{

gtk_text_freeze(GTK_TEXT(serverwindow));

gtk_text_insert(GTK_TEXT(serverwindow),NULL,&serverwindow->style->black,NULL,msg,-1);

gtk_text_thaw(GTK_TEXT(serverwindow));

}

/*清空服务端的消息*/

void clean_server_info(GtkWidget *widget, gpointer data)

{

guint length;

gtk_text_freeze(GTK_TEXT(serverwindow));

length=gtk_text_get_length(GTK_TEXT(serverwindow));

gtk_text_backward_delete(GTK_TEXT (serverwindow),length);

gtk_text_thaw(GTK_TEXT(serverwindow));

}

/*帮助对话框和关于对话框的确定按钮处理函数*/

void dialog_ok(GnomeDialog *dialog, gint id,gpointer data)

{

gnome_dialog_close(dialog);

}

/*帮助---显示内容*/

void displaycontents(GtkWidget *widget, gpointer data)

{

int i;

GtkWidget *dialog;

GtkWidget *label;

char msg[2][256]={"连接服务器:与远程服务器建立连接","断开连接:断开与远程服务器的连接"};

dialog = gnome_dialog_new(_("帮助"),GNOME_STOCK_BUTTON_OK ,NULL ,NULL) ;

for(i=0;i<2;i++) {

label=gtk_label_new(msg[i]);

gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(dialog)->vbox),label,TRUE,TRUE ,0 ) ;

gtk_widget_show (label);

}

gtk_signal_connect(GTK_OBJECT(dialog),"clicked" ,GTK_SIGNAL_FUNC(dialog_ok) ,&dialog)

;

gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);

gtk_widget_show (dialog);

gnome_dialog_set_parent(GNOME_DIALOG( dialog),GTK_WINDOW(app));

}

/*帮助---关于*/

void about(GtkWidget *widget, gpointer data)

{

GtkWidget *dialog;

GtkWidget *contentlabel,*versionlabel,*authorlabel,*copyrightlabel;

dialog = gnome_dialog_new(_("关于本程序"),GNOME_STOCK_BUTTON_OK,NULL,NULL);

contentlabel=gtk_label_new(_("设备监控系统客户端"));

versionlabel=gtk_label_new(_("版本:0.1"));

copyrightlabel=gtk_label_new(_("Copyright 2010"));

authorlabel=gtk_label_new(_("mayue"));

gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(dialog)->vbox),contentlabel,TRUE,TRUE,0);

gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(dialog)->vbox),versionlabel,TRUE,TRUE,0);

gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(dialog)->vbox),copyrightlabel,TRUE,TRUE,0) ;

gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(dialog)->vbox),authorlabel,TRUE,TRUE,0);

gtk_widget_show (contentlabel);

gtk_widget_show (versionlabel);

gtk_widget_show (copyrightlabel);

gtk_widget_show (authorlabel);

gtk_signal_connect(GTK_OBJECT(dialog),"clicked" ,GTK_SIGNAL_FUNC(dialog_ok) ,&dialog) ;

gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);

gtk_widget_show (dialog);

gnome_dialog_set_parent(GNOME_DIALOG( dialog),GTK_WINDOW(app));

}

/*连接服务器操作*/

void connectserver(GtkWidget *widget, gpointer data)

{

char msg[512]; //提示信息

GtkWidget *isenable;

FILE *fp;

time_t timep;

time(&timep);

/*创建套接字*/

socket_fd=socket(AF_INET,SOCK_STREAM,0);

if(socket_fd<0) {

sprintf(msg,"创建套接字出错!\n");

display_info(msg);

return;

}

/*设置接收、发送超时值*/

struct timeval time_out;

time_https://www.360docs.net/doc/b04615708.html,_sec=5;

time_https://www.360docs.net/doc/b04615708.html,_usec=0;

setsockopt(socket_fd,SOL_SOCKET,SO_RCVTIMEO,&time_out,sizeof(time_out));

/*填写服务器的地址信息*/

server.sin_family=AF_INET;

server.sin_addr.s_addr=inet_addr("127.0.0.1");//htonl(INADDR_ANY);

server.sin_port=htons(SERVER_PORT_NO);

/*连接服务器*/

ret=connect(socket_fd,(struct sockaddr*)&server, sizeof(server));

if(ret<0) {

sprintf(msg,"连接服务器出错!\n",SERVER_PORT_NO);

display_info(msg);

close(socket_fd);

return;

}

//成功后输出提示信息

sprintf(msg,"连接服务器成功!\n");

display_info(msg);

fp=fopen("log","a");

fprintf(fp,"%s 连接服务器\n",asctime(gmtime(&timep)));

fclose(fp);

/*连接服务器菜单项和工具条灰化*/

isenable=toolbar[0].widget;

gtk_widget_set_sensitive(isenable,FALSE);

isenable=client_operation_menu[0].widget;

gtk_widget_set_sensitive(isenable,FALSE);

isenable=toolbar[1].widget;

gtk_widget_set_sensitive(isenable,TRUE);

isenable=client_operation_menu[1].widget;

gtk_widget_set_sensitive(isenable,TRUE);

myread("/proc/stat");

send_client_info();

remove_id=gtk_timeout_add(30000,timeout_callback,NULL);

}

/*断开连接操作*/

void disconnect(GtkWidget *widget, gpointer data)

{

char msg[512]; //提示信息

GtkWidget *isenable;

FILE *fp;

time_t timep;

time(&timep);

close(socket_fd);

sprintf(msg,"断开连接成功!\n");

display_info(msg);

fp=fopen("log","a");

fprintf(fp,"%s 断开连接服务器\n",asctime(gmtime(&timep)));

fclose(fp);

gtk_timeout_remove(remove_id);

isenable=toolbar[1].widget;

gtk_widget_set_sensitive(isenable,FALSE);

isenable=client_operation_menu[1].widget;

gtk_widget_set_sensitive(isenable,FALSE);

isenable=toolbar[0].widget;

gtk_widget_set_sensitive(isenable,TRUE);

isenable=client_operation_menu[0].widget;

gtk_widget_set_sensitive(isenable,TRUE);

}

gint timeout_callback(gpointer data)

{

guint length;

gtk_text_freeze(GTK_TEXT(clientwindow));

length=gtk_text_get_length(GTK_TEXT(clientwindow));

gtk_text_backward_delete(GTK_TEXT(clientwindow),length);

gtk_text_thaw(GTK_TEXT(clientwindow));

myread("/proc/stat");

send_client_info();

return TRUE;

}

int myread(char *path)

{

FILE *fp;

int i;

char msg[256];

if((fp=fopen(path,"r"))==NULL)

{

display_info("Source file open error!\n");

return 1;

}

fscanf(fp,"%s",test.cpu);

for(i=0;i<9;i++)

{

fscanf(fp,"%d",&test.cpu_value);

}

fscanf(fp,"%s",test.cpu0);

for(i=0;i<9;i++)

{

fscanf(fp,"%d",&test.cpu0_value);

}

fscanf(fp,"%s",test.cpu1);

for(i=0;i<9;i++)

{

fscanf(fp,"%d",&test.cpu1_value);

}

fscanf(fp,"%s",test.intr);

for(i=0;i<225;i++)

{

fscanf(fp,"%d",&test.intr_value);

}

fscanf(fp,"%s %d",test.ctxt,&test.ctxt_value);

fscanf(fp,"%s %d",test.btime,&test.btime_value);

fscanf(fp,"%s %d",test.processes,&test.processes_value);

fscanf(fp,"%s %d",test.procs_running,&test.procs_running_value); fscanf(fp,"%s %d",test.procs_blocked,&test.procs_blocked_value); sprintf(msg,"%s\t",test.cpu);

display_info(msg);

sprintf(msg,"%d",test.cpu_value);

display_info(msg);

sprintf(msg,"\n%s\t",test.cpu0);

display_info(msg);

sprintf(msg,"%d",test.cpu0_value);

display_info(msg);

sprintf(msg,"\n%s\t",test.cpu1);

display_info(msg);

sprintf(msg,"%d",test.cpu1_value);

display_info(msg);

sprintf(msg,"\n%s\t",test.intr);

display_info(msg);

sprintf(msg,"%d\t",test.intr_value);

display_info(msg);

sprintf(msg,"\n%s %d\n",test.ctxt,test.ctxt_value);

display_info(msg);

sprintf(msg,"%s %d\n",test.btime,test.btime_value);

display_info(msg);

sprintf(msg,"%s %d\n",test.processes,test.processes_value);

display_info(msg);

sprintf(msg,"%s %d\n",test.procs_running,test.procs_running_value);

display_info(msg);

sprintf(msg,"%s %d\n",test.procs_blocked,test.procs_blocked_value);

display_info(msg);

fclose(fp);

return 0;

}

void send_client_info()

{

char msg[512];

char send_buf[1024],recv_buf[512];

GtkWidget *mbox;

init_message();

message.msg_type=REPORT;

message.msg_id=0; //设置客户端序号

https://www.360docs.net/doc/b04615708.html,.cpu_value=test.cpu_value;

https://www.360docs.net/doc/b04615708.html,.cpu0_value=test.cpu0_value;

https://www.360docs.net/doc/b04615708.html,.cpu1_value=test.cpu1_value;

https://www.360docs.net/doc/b04615708.html,.intr_value=test.intr_value;

https://www.360docs.net/doc/b04615708.html,.ctxt_value=test.ctxt_value;

https://www.360docs.net/doc/b04615708.html,.btime_value=test.btime_value;

https://www.360docs.net/doc/b04615708.html,.processes_value=test.processes_value;

https://www.360docs.net/doc/b04615708.html,.procs_running_value=test.procs_running_value;

https://www.360docs.net/doc/b04615708.html,.procs_blocked_value=test.procs_blocked_value;

memcpy(send_buf,&message,sizeof(message));

int ret=send(socket_fd, send_buf,sizeof(message),0);

/*发送出错*/

if(ret==-1) {

mbox = gnome_message_box_new ("发送失败!请重新发送!",GNOME_MESSAGE_BOX_INFO,GNOME_STOCK_BUTTON_OK,NULL);

gtk_widget_show (mbox);

gtk_window_set_modal (GTK_WINDOW (mbox),TRUE);

gnome_dialog_set_parent(GNOME_DIALOG(mbox),GTK_WINDOW(app));

return ;

}

ret=recv(socket_fd,recv_buf,sizeof(message),0);

if(ret==-1) {

mbox = gnome_message_box_new ("接收失败!请重新发送!",GNOME_MESSAGE_BOX_INFO,GNOME_STOCK_BUTTON_OK,NULL);

gtk_widget_show (mbox);

gtk_window_set_modal (GTK_WINDOW (mbox), TRUE);

gnome_dialog_set_parent(GNOME_DIALOG(mbox),GTK_WINDOW(app));

return ;

}

memcpy(&message,recv_buf,sizeof(message));

if(message.msg_type==REPORT_SUCCEED)

{

sprintf(msg,"报告成功!\n");

}

else if(message.msg_type==REPORT_FAILED)

{

sprintf(msg,"报告失败!\n");

display_server_info(msg);

}

else if(message.msg_type==ARM)

{

sprintf(msg,"警报:超过门限值!\n");

display_server_info(msg);

}

}

由于篇幅有限,故不在此一一列举了。

五、软件运行环境配置和安装说明

操作系统是Ubuntu 8.10,gnome界面即需要gnome库,编译环境是gcc 4.3.2,工程环境make 3.81,数据库使用的是MySQL。如果使用其它版本的话,需要重新编译,那就需要安装一些开发库,Ubuntu下可使用新力得软件包管理器下载。而且由于程序中使用了中文,所以操作系统需要安装好中文语言包,否则会显示出乱码。详细内容可参考手册。

自己针对本程序中的修改门限值的程序写的Makefile如下:

target:fram.c

gcc fram.c -o target `gnome-config --cflags --libs gnomeui` -lmysqlclient

clean:

rm -f target

由上可以看出,我对于源程序保存名为fram.c生成目标文件为target。

建议使用本人的开发环境,以免出现兼容性问题。例如若使用更高版本的Ubuntu,则很有可能没有gnome-config脚本,则就不能使用例如上面的Makefile了。

说明:本程序是在ubuntu8.10下进行的开发与测试,不是在虚拟机上,若使用本程序在虚拟机上安装,则会导致出错,原因是由于本程序是读取系统数据,在虚拟机上的数据和实体机上的数据不同,会导致读取的值不正确,从而导致数据程序出错。另外,如需运行在其它ubuntu版本上时,需要对系统进行中文配置,否则会导致无法正常显示的问题。

六、测试数据及其结果分析

本程序可以监控8个客户端,在测试过程中只是使用一个监控端,以下是程序测试过程中的截图:

七、调试过程中的问题

程序的编写过程中,出现过很多问题,大多是通过调试解决的(除了编码的问题),由于使用的是图形界面编程,所以调试过程中有许多问题还是由于对gtk/gnome库德不了解以及不熟悉造成的。我主要遇到的问题是在gtktext的显示上,一开始我通过使用在文本界面下的文件读取方式来写入数据,结果会出现显示不完全的问题。通过调试后发现这是由于gtktext有缓冲的功能,所以使用动态数组后就可改变这一现象。

八、课程设计总结

收获:此次程序设计所做的程序,虽然不是我的第一个Linux程序,确是我的第一个使用gtk/gnome库开发的程序,以前大多用文本界面形式编程,虽然也用过飞漫公司的miniGUI编写过图形界面,但这次是完全自己手写的,成就感较大。同样,在编写过程中也遇到了许多问题,首先是编码,当然,这个至今还是个问题,其次是控件的选取与运用。还有最麻烦的就是编写图形界面没有很好的IDE,不但编写速度慢,而且效率不高。不过所有遇到的问题中,最让我头疼的就是版本问题,我现在使用的是Ubuntu8.10版,是能够解决编写图形界面开发包的安装问题的,但我之前使用的10.01版本,就始终无法通过新力得获得安装包。所以,这些都将是我继续探究的方向,同时,移植问题也是一个很烦的问题,由于很多版本不含许多.so文件,所以往往操作系统的环境配置和包的安装就成了一个比较麻烦的问题。这次课程设计对于我的程序调试能力的提高帮助很大,让我学会了合理的使用gdb与“拳头”——打印的调试技巧的方法。

监控设备管理制度汇编

监控设备管理制度 公司名称: 公司地址: 联系电话: 邮编: 传真:

监控设备保养制度 一、维护基本条件 1.1备件齐 通常来说,每一个系统的维护都必须建立相应的备件库,主要储备一些比较重要而损坏后不易马上修复的设备,如摄像机、镜头、监视器等。这些设备一旦出现故障就可能使系统不能正常运行,必须及时更换,因此必须具备一定数量的备件,而且备件库的库存量必须根据设备能否维修和设备的运行周期的特点不断进行更新。 1.2 配件齐 配件主要是设备里各种分立元件和模块的额外配置,可以多备一些,主要用于设备的维修。常用的配件主要有电路所需要的各种集成电路芯片和各种电路分立元件。其他较大的设备就必须配置一定的功能模块以备急用。这样,经过维修就能用小的投入产生良好的效益,节约大量更新设备的经费。 1.3 工具和检测仪器齐 要做到勤修设备,就必须配置常用的维修工具及检修仪器,如各种钳子、螺丝刀、测电笔、电烙铁、胶布、万用表、示波器等等,需要时还应随时添置,必要时还应自己制作如模拟负载等作为测试工具。 二、设备维护中的一些注意事项 在对监控系统设备进行维护过程中,应对一些情况加以防范,尽可能使设备的运行正常,主要需做好防潮、防尘、防腐、防雷、防干扰的工作。 2.1 防潮、防尘、防腐

对于监控系统的各种采集设备来说,由于设备直接置于有灰尘的环境中,对设备的运行会产生直接的影响,需要重点做好防潮、防尘、防腐的维护工作。如摄像机长期悬挂于棚端,防护罩及防尘玻璃上会很快被蒙上一层灰尘、碳灰等的混合物,又脏又黑,还具有腐蚀性,严重影响收视效果,也给设备带来损坏,因此必须做好摄像机的防尘、防腐维护工作。在某些湿气较重的地方,则必须在维护过程中就安装位置、设备的防护进行调整以提高设备本身的防潮能力,同时对高湿度地带要经常采取除湿措施来解决防潮问题。 2.2 防雷、防干扰 只要从事过机电系统的维护工作的人都知道,雷雨天气一来,设备遭雷击是常事,给监控设备正常的运行造成很大的安全隐患,因此,监控设备在维护过程中必须对防雷问题高度重视。防雷的措施主要是要做好设备接地的防雷地网,应按等电位体方案做好独立的地阻小于1欧的综合接地网,杜绝弱电系统的防雷接地与电力防雷接地网混在一起的做法,以防止电力接地网杂波对设备产生干扰。防干扰则主要做到布线时应坚持强弱电分开原则,把电力线缆跟通讯线缆和视频线缆分开,严格按通信和电力行业的布线规范施工。 三、维护保养技术要求及内容 3.1闭路电视监控系统 确保前端设备、系统控制功能、监视功能、显示功能、记录回放功能、报警联动功能、图像复核功能等工作正常,确保视频安防监控系统预留接口工作正常,确保系统时标与北京标准时间误差不超过60秒。 闭路电视监控系统维护的设备主要包括:摄像机、云台、监视器、视频矩阵,硬盘录像机、解码器、系统线路等闭路电视监控系统既有项目全部设备的维护保养。 3.2红外线报警系统 确保红外报警功能、防破坏及故障报警功能、记录和显示功能、报警响应时间、报警复核功能等工作正常,确保报警声级符合要求,确保报警系统预留接口

供热智能网络监控系统

供热智能网络监控系统 一、系统概述 CHR-Themal5000是针对区域集中供热所开发的网络智能控制系统。系统以先进的自动化、计算机通讯和网络支持为基础,采用新一代产品、方案及服务,可以显著地提高系统的供热效率、保证系统运行的的稳定性和安全性,系统通过现场总线和网络集成而构成自动控制系统网络,按照公开、规范的道讯协议在智能设备之间、智能设备与远程计算机之间实现数据传输和信息交换,从而实现控制与管理一体化的综含自动控制系统。系统最大的特点是以热源(锅炉)、管网和用户作为整体,采用开故式结构,实现了供热系统的量化控制。达到‘按需取热,按需供热”的目的。 二、系统分类 按照热源及供热模式可分为以下系统控制类型 ·燃气锅炉直/间供控制系统CHR-Thermal5000-C0/C10 ·燃气锅炉直/间供控制系统CHR-Thermal5000-G0/G10 ·燃油锅炉直/间供控制系统CHR-Thermal5000-O0/O10 ·电锅炉直/间供控制系统CHR-Thermal5000-E0/E10 三、系统结构 CHR-Thermal5000分为上位监控系统、通讯系统和现场控制系统。各部分协调工作,监控中心和现场控制系统通过通讯系统形成热网监控系统,监控中心接受并显示各种现场数据信息,也可干涉现场控制系统。现场控制系统既可独立工作,也可接受监控中心指号进行

工作,同时具有信息采集、发送、接受命号、实施自动控制的功能。 四、控制原理 1、管网(用户)控制 根据室外温度变化,通过调节电动阀,使供出热量曲线与设计热量曲线相吻含。对不同的供热系统,可进行修正补偿,如建筑性质,换热器换热效率等,进而达到保证用户温度舒适,同时最大化节能的目的。 2、热源(锅炉)控制 按照选定的控制参数(总出水/回水温度、锅炉出水/回水温度),保证锅炉在最佳工况运行的基础上,通过动志燃烧控制系统,调节燃料耗量,使控制参数与设定的参数相吻合。智能模拟系统根据自适应控制模型(Self - trace control mode)和实际

智能楼宇监控系统的设计

智能楼宇监控系统的设计 摘要 建筑智能化结构是由三大系统组成:楼宇自动化系统(BAS)、办公自动化系统(OAS)和通信自动化系统(CAS)。而在这3A系统中,BAS是最重要的一个子系统,其自动化程度的高低直接关系到整个智能建筑物运行的好坏、环境的舒适度以及营造大厦的经济回报。 楼宇自动化系统(BAS)是智能楼宇监控系统的一个重要组成部分。其主要功能是对建筑物内的空调制冷系统、给排水系统、变配电系统、照明系统、供热系统以及电梯等机电设备实现全面计算机监控管理。通过对各个子系统进行检测、控制、信息记录,实现分散节能控制和集中科学管理,为建筑物内的用户提供良好的工作环境,为建筑物的管理者提供方便的管理手段,为建筑物的经营者减少建筑物内的能耗并降低管理成本,为物业管理现代化提供物质基础。 关键词:智能楼宇监控系统;楼宇自动化系统;保安监控系统

The intelligent building monitoring system design Abstract Intelligent building structure is composed of three systems, building automation system(BAS), office automation system and communication automation system. In this system, the BAS is the most important sub-system of the 3A, its automation degree directly relates to the intelligent building operation quality and environmental comfort and build building economic returns. Building automation system is an important component of the intelligent building monitoring system. Its main function is to building of air conditioning and refrigeration system, water supply system and distribution system, lighting system, heating system, and realization of the computer monitoring and electromechanical equipment comprehensive management. Through testing of each subsystem, and control, information recorded, energy-saving and scattered within the building for scientific management, the user to provide good environment for the convenience of the managers of building management, reduce the operator for building energy consumption and reduce the building cost of management for property management modernization, provide material base. Key words:Intelligent Building Monitoring System;Building Automation System (BAS);Security Monitoring System

综合监控系统

1综合监控系统 综合监控系统(简称ISCS)集成以下管理平台与系统:综合安防管理平台(含闭路电视监控系统、门禁系统及一卡通系统、入侵报警系统、紧急告警与求助系统、巡更系统、停车场管理系统、车位引导系统、交通控制系统)、IBMS管理平台(含环境与设备监控系统、智能照明系统、能源管理系统)、火灾自动报警系统、电气火灾监控系统、智能疏散系统、公共广播系统、信息发布系统、时钟系统。实现信息集成、管控集中的功能,实现值班人员对各系统的统筹管理。 1、2、1基本性能 人性化操作界面,支持多种格式图片、动画与声音文件。 丰富的图元、控件属性应用,轻松实现多种动作。 功能丰富的报警机制、支持事件处理记录、实时与历史数据存储。 强大的脚本应用,可实现复杂的逻辑操作与运算处理。 数据库点表支持CSV文件导入,支持Excel编辑,十分便捷实现工程变量导入。 支持C/S与B/S构架,自动打包Web数据,本地IIS发布,轻松实现远程浏览。 平台全加密机制,平台组态、运行与数据库采用硬件狗加密,保证系统安全、稳定,拒绝非法用户操作。 方便的配方管理模块,简单高效实现导入导出配方数据。 完善的驱动集成,支持ModBus RTU/TCP、DLT645、标准OPC与BACnet驱动。 性能稳定的安全容器,支持第三方ActiveX控件使用。 丰富的报表设计,自带报表设计器实现多类报表文件的设计。 十分实用的模版功能,实现画面的重复使用。 综合监控平台及设备就是可靠的,并能适应连续7×24小时不间断地运行。 综合监控平台就是灵活的,系统扩展时做到不影响已有设备的运行、软硬件增加较少。

综合监控平台的设备就是便于安装、操作与维护的。 故障情况下,网络切换处理时不超过200ms,热备服务器的切换时间不超过1秒。在故障恢复后,故障点的正常监视与控制功能正常,且数据不会出现丢失。 综合监控平台的任何故障、电源故障或者故障切换都不引起被控系统的设备的误动作。 1、2、3系统构成 本系统由用服务器、存储设备、管理工作站、IBP盘、打印机等设备构成。 应用服务器(及存储设备),兼顾集中告警,实时数据采集,历史数据存储、备份与灾害恢复等管理功能。 管理工作站可以对综合监控系统集成的主要监控设备进行管理,控制与监视各被监控对象、被集成互联系统,操作命令可以通过网络发送到各被监控对象及各互联系统,从而帮助运营管理与维修人员更方便、更高效率地完成工作。 综合监控中心配置4台管理工作站,其中:1台为管理工作站,2台为设备监视工作站,1台为维护工作站。分控中心2配置两台管理工作站,均作为设备监视工作站使用。 综合监控中心(及分控中心)预留一定数量的的1000Mbps交换机路由端口,用于与地铁1、7号线、国铁站房等的信息与监控系统的接口。 1、3主要功能要求 1、3、1通用功能要求 1、3、1、1 I/O 处理 ISCS系统I/O处理能力包括:模拟量处理;开关量输入点处理;非测量数据点。 ?开关量输入 开关量类别:单位开关与双位开关。每个单位开关点具有0与1两种输入状态;每个双位开关点具有00、01、10与11四种输入状态。

监控系统设备管理制度示范文本

监控系统设备管理制度示 范文本 In The Actual Work Production Management, In Order To Ensure The Smooth Progress Of The Process, And Consider The Relationship Between Each Link, The Specific Requirements Of Each Link To Achieve Risk Control And Planning 某某管理中心 XX年XX月

监控系统设备管理制度示范文本 使用指引:此管理制度资料应用在实际工作生产管理中为了保障过程顺利推进,同时考虑各个环节之间的关系,每个环节实现的具体要求而进行的风险控制与规划,并将危害降低到最小,文档经过下载可进行自定义修改,请根据实际需求进行调整与使用。 一、采掘工程设计必须对安全监控仪器的种类、数量 和位置,信号电缆和电源电缆的敷设,断电区域等做出明 确规定。 二、安装断电控制系统时,使用单位或机电科必须根 据断电范围要求,提供断电条件,并接通井下电源级控制 线。 三、井下分站,应设置在便于人员观察、调试、检验 及支护良好、无滴水、无杂物的通风巷道或支护完好的地 点。 四、为保证安全监控系统的断电和故障闭锁功能,断 电控制器与被空开关之间必须正确接线。

五、需要安全监控系统停止运行时,须经矿主要负责人或主要技术负责人同意,并制定安全措施后方可进行。 请在此位置输入品牌名/标语/slogan Please Enter The Brand Name / Slogan / Slogan In This Position, Such As Foonsion

网络智能化监控系统设计方案--大学毕业设计论文

智能化设计方

案 壹、网络监控系统需求方案 一、项目背景 随着社会发展以及管理水平的逐步提高,人们对管理自动化以及自身安全的关注程度也在逐步加强。本着“以人为本、科学发展”的原则,中心在提高工作人员的素质以及服务意识的同时,通过拥有一套技术先进、高度智能化的视频监控管理系统,实现物防、人防、技术防范三者之间的协调统一,实现中心现代社会管理。 二、系统实现的功能要求: 设计原则: 1、监控效果好、无死角 2、录像保存时间达到-----天 3、统一前台监控软件,具备网络监控功能 4、集中管理/统一控制平台:可集中管理摄像机视频数据,可在监控中心完成如:远程设置、远程控制、远程信息及状态查询等多种管理设置工作。

5、远程监看:通过网络授权,实现远程监看 整个工程的安全性和可靠性;应用产品的可靠性和兼容性;系统具有未来的可扩展性;集中控制、布局合理;施工方便、价格合理、外形美观;架构合理、低成本、低维护量,具体要求如下: ?实时对各楼层进行高清晰视频监控 ?实时对各个楼梯出入口进行高清晰视频监控 ?可录制各点的视频录像以备安防查用 ?调节镜头焦距可以清晰的观测到大厅窗口和工作间的工作具体细 节 ?系统监控中心通过电脑实现高度智能化控制管理,包括前端网络智 能球的云台镜头控制、多画面同屏分割显示、画面分组自动轮巡切 换、图片抓拍、电子地图等功能,提供实时、定时、报警触发、随 时启停等多种录像模式以及对录像资料的智能化快速回放查询; ?系统监控中心要求实时显示所有图像,并且可以任意调用、放大指 定的图像、自动将报警对应的图像切换;视频图像达到四级以上质 量等级; ?系统网内的主控管理电脑和经授权的电脑可以任意调用视频图像 的录像资料; ?远程集中监控:各前段设备的远程视频情况全部集中到监控中心, 动态检测录像会自动集中到中心监控。也可以实现传统视频监控系 统的功能(防盗监控、管理监控);远程WEB配置管理、使用方

远程手机APP综合监控系统解决设计方案

机房远程APP综合监控系统主要是对机房设备(如供配电系统、UPS电源、防雷器、空调、消防系统、保安门禁系统等)的运行状态、温湿度、烟雾、振动、红外、水浸、供电的电压、电流、频率、配电系统的开关状态、测漏系统、环境状态等进行实时监控并记录历史数据 机房监控(机房动环系统)APP软件是怎样的,机房监控,机房动环系统 一、系统概述 机房远程APP综合监控系统主要是对机房设备(如供配电系统、UPS电源、防雷器、空调、消防系统、保安门禁系统等)的运行状态、温湿度、烟雾、振动、红外、水浸、供电的电压、电流、频率、配电系统的开关状态、测漏系统、环境状态等进行实时监控并记录历史数据,同时将机房设备的工作状态的进行实时的视频监控,实现对机房远程监控与管理功能,通过手机APP可对上述全部监控对象进行可靠、准确的监控与控制。使机房无线远程监控达到无人或少人值守,为机房高效的管理和安全运营提供有力的保证。 机房远程APP综合监控系统支持市面全系列安卓手机,手机终端可以通过4G/3G/GPRS/WIFI远程进行监控与控制,是目前无人值守管理人员最不可以缺少的系统组成部分之一,从而有效提高工作效率,保证机房系统运作的安全性与稳定性。 二、系统设计原则 系统设计坚持“技术先进、使用方便、经济合理、超前考虑”的原则,系统具有先进性、实用性、规范性、可靠性、开放性,同时为了保证整个系统稳定可靠,具备良好的整体升级、扩展能力和方便维护,符合机房间远程APP综合管理控制的需要,系统设备选型在符合系统功能要求的前提下,综合的考虑了性能指标、规格统一性及性能价格比。 可靠性 保证系统的高可靠性。即不会出现因为某一个设备发生故障而造成整个监控系统无法使用的现象。 系统的接入不会影响现有通信设备和网络的正常工作。 系统将正确反映监控内容的实际情况。 系统的运行和平均故障修复时间完全符合设计要求。 实时性 保证系统能实时的反映通信设备运行情况,一到那出现异常情况是能够及时报警。 安全性

(设备管理)监控系统设备选型

监控系统设备选型 1. 什么是CCD摄像机? CCD是Charge Coupled Device(电荷耦合器件)的缩写,它是一种半导体成像器件,因而具有灵敏度高、抗强光、畸变小、体积小、寿命长、抗震动等优点。 2. CCD摄像机的工作方式 被摄物体的图像经过镜头聚焦至CCD芯片上,CCD根据光的强弱积累相应比例的电荷,各个像素积累的电荷在视频时序的控制下,逐点外移,经滤波、放大处理后,形成视频信号输出。视频信号连接到监视器或电视机的视频输入端便可以看到与原始图像相同的视频图像。 3. 分辨率的选择 评估摄像机分辨率的指标是水平分辨率,其单位为线对,即成像后可以分辨的黑白线对的数目。常用的黑白摄像机的分辨率一般为380-600,彩色为380-480,其数值越大成像越清晰。一般的监视场合,用400线左右的黑白摄像机就可以满足要求。而对于医疗、图像处理等特殊场合,用600线的摄像机能得到更清晰的图像。 4. 成像灵敏度 通常用最低环境照度要求来表明摄像机灵敏度,黑白摄像机的灵敏度大约是0.02-0.5Lux(勒克斯),彩色摄像机多在1Lux以上。0.1Lux的摄像机用于普通的监视场合;在夜间使用或环境光线较弱时,推荐使用0.02Lux

的摄像机。与近红外灯配合使用时,也必须使用低照度的摄像机。另外摄像的灵敏度还与镜头有关,0.97Lux/F0.75相当于2.5Lux/F1.2相当于 3.4Lux/F1. 4。参考环境照度:夏日阳光下 100000Lux 、阴天室外10000Lux、电视台演播室 1000Lux 、距60W台灯60cm桌面 300Lux 、室内曰光灯 100Lux 、黄昏室内 10Lux、20cm处烛光 10-15Lux 、夜间路灯0.1Lux 5. 电子快门 电子快门的时间在1/50-1/100000秒之间,摄像机的电子快门一般设置为自动电子快门方式,可根据环境的亮暗自动调节快门时间,得到清晰的图像。有些摄像机允许用户自行手动调节快门时间,以适应某些特殊应用场合。 6. 外同步与外触发 外同步是指不同的视频设备之间用同一同步信号来保证视频信号的同步,它可保证不同的设备输出的视频信号具有相同的帧、行的起止时间。为了实现外同步,需要给摄像机输入一个复合同步信号(C-sync)或复合视频信号。外同步并不能保证用户从指定时刻得到完整的连续的一帧图像,要实现这种功能,必须使用一些特殊的具有外触发功能的摄像机。 7. 光谱响应特性 CCD器件由硅材料制成,对近红外比较敏感,光谱响应可延伸至1.0um 左右。其响应峰值为绿光(550nm),分布曲线如右图所示。夜间隐蔽监视时,可以用近红外灯照明,人眼看不清环境情况,在监视器上却可以清晰成像。

家庭智能监控系统

智能安防系统方案 2010年03月

前言 随着社会的发展,人民生活水平的提高,安全防范观念已经从以前的企事业单位,扩展到了家庭用户和小型商铺。越来越多的家庭和商铺安装了门磁、红外、烟感等防火防盗设备。但是,原有的安防系统,大量都是针对企事业单位,存在误报警率高、安装施工麻烦、价格过高等问题,并不适合于家庭和商铺安装使用。21世纪是信息的时代,网络、微电子、光电、通信等高新技术飞速发展,安防系统也随着这个浪潮由原来的模拟产品逐步过渡到数字化、网络化监控产品,智能安防系统,针对原有安防产品的不足,分析了家庭和商铺用户的需求,并且引入了数字化的网络摄像机技术和网络化运营的概念,并加入了多种无线报警模块和新的网络供电技术,使之成为一款全新的针对家庭和商铺的安防解决方案。 智能安防系统主要有四部分构成:视频监控主机、外围无线报警模块(遥控器、门磁、红外、烟雾、瓦斯等)、用户接收终端(手机、客户端播放器、电子邮箱)和系统管理平台。它可以把用户家中或商铺的任何异动(非法闯入、失火、瓦斯泄漏等),以文字、图片或是视频片段的形式告知用户,并且在报警发生时录制一段视频或一张图片保存在主机SD卡上或发送到平台服务器上保存。用户也可以随时随地通过手机或因特网,实时查看家中或企业的情况。 智能安防系统给用户提供了一种可视、简便、快捷的小区域安防信息获取方式,为传统报警装置经常带来的误报问题提供了一种有效解决办法,是把网络摄像机和报警装置的完美结合,通过系统平台发送实时的报警信息,通过摄像机查看监控区域情况判断合理的处置方

式。对网络的利用和可以接入3G网络,给电信、移动等运营商提供了一项社会效益和经济效益都十分良好的增值业务。同时,该系统还可以与公安系统或保安公司合作,使用户在必要时,将家居的安防托管给公安系统或保安公司,最大程度上确保家居安全。

楼宇智能化5A系统详细解释补充

楼宇智能化5A系统详细解释补充 楼宇智能化系统(BAS)的主要组成 楼宇自动化系统负责完成大厦中的空调制冷系统、变配电系统、照明系统、供热系统及电梯等的计算机监控管理。楼宇自动化系统由计算机对各子系统进行监测、控制、记录,实现分散节能控制和集中科学管理,为大厦中的用户提供良好的工作环境,为大厦的管理者提供方便的管理手段,为大厦的经营者减少能耗并降低管理成本,为物业管理现代化提供物质基础。它的主要控制部件如下: 空调监控系统:其监控要求为:温度控制、湿度控制、新风、回风、排风的控制、制冷器的防冻监控、过滤器的状态监测、风机的状态及故障报警冷冻站监控系统:包括对冷却水泵、冷却塔风机的自动控制,以及冷水机组台数的节能控制和冷冻水系统的压差控制,还包括中央管理站对冷冻站的控制,因此需解决如下问题:冷却塔风机运行状态监测,控制和故障报警、冷却水泵运行状态监测,控制和故障报警、冷水机组冷却水进水温度监测及控制、冷却水泵运行状态监测,控制及故障报警、冷水机组冷却水出水温度,流量监测及控制、分水器,集水器压差监测和控制、冷水机组运行状态监测,控制和故障报警给排水监控系统:对大厦生活用水、消防用水、污水、冷冻水箱等给排水装置进行监测和启停控制。其中包括压力测量点、液位测量点以及开关量控制点,并要求显示各监测点的参数、设备运行状态和非正常状态的故障报警,并控制相关设备的启与停。 变配电监控系统:包括低压配电系统、计算机不间断UPS电源系统、冷冻站配电、变压器、高压系统和高压二次线中的各个点进行监测控制。它主要包括电流量、电压量、有功电度、无功电度、功率因数、温度等的测量和开关量的控制,并要求实时监测和计量供电系统的运行参数,显示主接线图、交直流系统和UPS系统运行图及运行参数,对系统各开关变位和故障变位进行正确区分,对参数超限报警,并对事故、故障进行顺序记录,可查询事故原因,并显示、制表和打印,可绘制负荷曲线,并显示、打印运行报表热力站监控系统:由中央监控系统监测热交换器的热水出水温度、热水流量和控制热水泵的启停 照明监控系统:由中央监控系统按每天预定的时间顺序进行开关控制,监视其开关状态,工作状态可用文字、图形显示,并经打印机打印。 安全防范监控系统:安全防范系统是智能大厦必不可少的部分,它为大厦提供了安全监视、侵入报警、出入门控制管理。安全监视系统采用微机控制矩阵系统,集中完成视频切换控制、水平/俯仰/变焦控制及自备检测功能。系统可设分控键盘便于管理。安全监视系统技术主要表现为:侵入报警系统通过各类传感器,如主动红外探测器、被动红外探测器、红外微波双

在线监控设备运行管理(正式)

编订:__________________ 单位:__________________ 时间:__________________ 在线监控设备运行管理 (正式) Standardize The Management Mechanism To Make The Personnel In The Organization Operate According To The Established Standards And Reach The Expected Level. Word格式 / 完整 / 可编辑

文件编号:KG-AO-9103-40 在线监控设备运行管理(正式) 使用备注:本文档可用在日常工作场景,通过对管理机制、管理原则、管理方法以及管理机构进行设置固定的规范,从而使得组织内人员按照既定标准、规范的要求进行操作,使日常工作或活动达到预期的水平。下载后就可自由编辑。 1.目的 为了进一步规范在线监控系统管理,设备稳定运行,监测数据有效传输,特制定本办法。 2.适用范围 适用于公司在线自动监控系统安装、管理单位。 3. 职责 3.1安全环保部负责规范监测站房建设,建立设备信息档案,对在线自动监控系统进行监督管理。 3.2安全环保部联系资质单位负责在线自动监控系统的维护、稳定运行。 3.3在线自动监控系统所在安装车间负责定时巡检并记录监测数据,发现设备故障及时报告调度室。 4. 设备基础档案 4.1设备采购合同;

4.2上级环保行政主管部门关于污染源自动监控系统建设方案批复的文件(排污单位按照有关要求拟定的安装计划,以及报上级环保行政主管部门备案及批复等文字资料); 4.3排污单位按照合同条款对设备厂家安装施工进行预验的文字证明材料; 4.4环境监测部门出具的验收监测报告,即污染源自动监控设备安装、调试后,经环境监测技术主管部门监测比对出具的验收监测报告; 4.5设备厂家出具的设备安装调试与试运行报告; 4.6上级环保行政主管部门出具的联网报告; 4.7设备出厂合格证; 4.8环境监测仪器质量监督检验中心适用性检测报告; 4.9自动监控设备设计、安装技术文件 4.10自动监控系统委托第三方维护管理的,应有第三方的“环境污染治理设施运营资质”证书。 4.11档案由安全环保部负责保存、管理。

智能配电网综合监控系统解决方案

配电作为电力系统发、输、变、配环节中最贴近用户的环节,和社会生产生活息息相关,有着极其重要的作用。提高配电网的供电可靠性和供电质量,是实现人民安居乐业、经济发展、生活富裕的重要保证。 背景与挑战 近几年针对配电设施的盗窃行为时有发生,同时老旧设备用电过负荷易过热引发火灾,防盗、防火就成为了配电生产管理的重心。而综合辅助系统的投运,能够全方位感知配网运行环境,为可靠供电保驾护航。 现阶段综合辅助系统面临的主要问题: 综合监控少——辅助子系统有限,只有少量部署视频、烟感、门禁等,无法实现对运行环境的全方位综合监控; 业务融合少——“遥视”大多只实现视频复核、历史追溯的功能,视频监控系统依然独立于生产系统,并未真正融入到配电网管理流程中; 人为干预多——视频监控点的异常情况需要人为主动发现,多系统间的联动机制已逐步建立,但大多局限于开关量联动而非协议联动; 运维难度大——系统联网后,面对数量庞大的视频监控设备,运维工作量巨大且检测难度大,往往造成故障处理不及时,使得视频监控系统的使用效果大打折扣。 解决方案 智能配电网综合辅助系统解决方案主要应用于电网公司各地市公司智能配电网综合辅助系统的建设及改造。 智能配电网综合辅助系统是集硬件、软件、网络于一体的大型联网监控系统,以能源行业平台软件为核心,实现多级联网及跨区域监控,在调控中心即可对终端系统集中监控、统一管理,为智能配网保驾护航。 系统拓扑图如下: 智能配电网综合辅助系统全面采用高清、智能、物联网、4G应用技术,在“标准化、一体化、智能化”设计原则的指引下,采用标准化行业产品,实现了以下功能: 多元图像应用:现场实时录像及回放,定时抓图和报警抓图,图片上传中心,在兼顾带宽和资费的情况下,中心也可调阅现场视频,全面提升监控质量和安防水平; 辅助系统融合:实现视频监控、动环监控报警(环境监测、安防报警、智能控制)、门禁管理等系统的集成,各系统根据预案进行联动;

楼宇智能监控系统

内容摘要 这些年来,随着社会的发展,人们生活水平的提高,普通的楼宇已经不能满足人们对舒适、财产、人身安全的需求。为适应形势的发展需求,楼宇采用现代化安防技术和舒适控制系统是目前发展的必然趋势。智能楼宇监控系统的出现将从根本上改善这个问题。 指纹门禁系统是智能楼宇出入管理的一个重要措施,它可以通过所采集的住户指纹信息来对出入门禁的人进行核对,以确保住户的人身财产安全。视频监控系统现多采用数字信号处理技术,根据监控点的不同选择不同的监控设备,并通过数字硬盘录像机(DVR)对监控区域进行录制。可视对讲系统是对门禁系统的更进一步完善,住户可以通过该系统对探访者进行视频认证,从而为住户人身财产安全提供更好的保证。WebCTRL系统的运用,使得楼宇的舒适性能够满足生产和生活要求。智能楼宇监控技术的运用,对于改善人们的居住环境,促进和谐社会的可持续发展也具有重要意义。 关键词: 智能监控识别技术

楼宇智能监控系统 一、绪论 (一)选题的目的与意义 楼宇的智能监控,是指以建筑为平台,以集中监视、集中控制、集中管理为目的,将各种监控设备与系统通过组合或集成,构成一个综合性安防技术防范控制系统。视频监控系统是安防系统的主要部分,也是智能化系统的重要组成部分。与传统楼宇监控系统相比,现代监控系统多应用传感器识别技术及先进的网络通信技术。这种系统将更合理、更高效、更快捷的为人们提供舒适的工作和生活环境,为人们人身财产安全提供更好的保障。推广智能楼宇技术,对于改善人们居住环境和工作环境,促进可持续发展具有重要意义。 (二)智能楼宇监控技术的发展趋势 现在智能楼宇系统集成的发展主要分为两种趋势:将安防系统、楼宇自控、消防系统的数据整合,交由统一平台进行管理;还有一种将楼宇自控、安防、消防、信息设备系统、信息化应用系统集成起来,形成IBMS系统,一个平台控制5个系统。后者集成的系统较多,一般适用于银行、企业等特殊要求的建筑物中。由于系统集成具有节能、高效的特点,逐渐成为大型公共建筑中不可或缺的一部分。 二、监控系统的原理及构成 (一)监控系统概述 目前,监控系统在智能楼宇中起着至关重要的作用。监控系统涉及电学、通信学、信息学、光学、物理学等多个学科和领域,是比较复杂的一个综合性技术。本章仅就有关应用问题进行简要介绍。 一般监控系统组成原理如图1所示。 图1 系统组成原理图 (二)监控系统结构 智能楼宇监控系统是针对独立楼宇的安全防范技术,主要通过门禁监控和视频监控来确保住户的人身财产安全,同时通过住户自我监督防范来确保整个楼宇的安全。其基本结构如图2所示。

机房综合监控系统方案()

机房动环综合监控系统 解决方案 北京纳米德奔科技发展有限公司 2016-6-14

一、系统概述 1.1概述 机房是整个信息网络工程的中枢,是数据传输中心、数据处理中心和数据交换中心,因此机房的环现场境设备必须为计算机系统提供正常的运行环境,一旦机房环境设备出现故障,就会影响到计算机系统的运行,对数据传输、存储以及整个系统运行的可靠性构成威胁,若事故严重又没有得到及时的处理,就可能损坏硬件设备,造成严重后果。尤其对需要实时交换数据的单位的机房,机房管理显得更为重要,一旦系统发生故障,造成的经济损失更是不可估量。 建立远程环境监控系统可以大大降低人员维护成本和人员投入,为企业带来巨额汇报。 1.2项目需求 机房需要建立环境、动力、消防联网监控系统,统一接入中心控制中心。前端系统可以接入网络温湿度监测系统,实现对机房温湿度信息的采集。中心控制室具备前端所有监控网点集中管控功能,并通过中心大屏轮巡显示各网点监控信息,做出报警预警统计、联动等功能。 1、动环监控系统需提供机房温湿度监控、配电柜电量监控、配电柜开关监控、UPS监控、漏水监控、消防监控、空调监控、蓄电池、烟感监控、发电机监控等功能; 2、全部监控在信息中心集中监控,要求具备手机短信、电话、声光等报警功能; 二、建设目标 机房建立包括环境温湿度的监测系统,主要监控对象包括:机房全覆盖温湿度监测,实现全面集中监控和管理,保障机房环境及设备安全高效运行,以实现最高的机房可用率,并不断提高运营管理水平。 机房监控管理平台要能实现四个目标: 为机房内各系统及设备运行提供高度稳定可靠的监控信息资源; 节省机房运行管理费用,达到短期投资长期受益的目的; 确保提高机房管理工作效率并提供安全舒适的工作环境; 系统软/硬件均采用模块化结构设计,适应发展需要,做到具有可扩展性、可变性,适应环境的变化和工作性质的多样化。

监测监控系统设备、设施管理制度示范文本

监测监控系统设备、设施管理制度示范文本 In The Actual Work Production Management, In Order To Ensure The Smooth Progress Of The Process, And Consider The Relationship Between Each Link, The Specific Requirements Of Each Link To Achieve Risk Control And Planning 某某管理中心 XX年XX月

监测监控系统设备、设施管理制度示范 文本 使用指引:此管理制度资料应用在实际工作生产管理中为了保障过程顺利推进,同时考虑各个环节之间的关系,每个环节实现的具体要求而进行的风险控制与规划,并将危害降低到最小,文档经过下载可进行自定义修改,请根据实际需求进行调整与使用。 一、按要求配足监测监控系统各类传感器。监控系统 必须具备甲烷断电议和甲烷风电闭锁装置的全部功能,必 须具备防雷电保护和断电状态以及馈电状态监测、报警、 显示、储存和打印报表功能,具备不少于4个小时的不间 断电源,中心站主机不少于两台,一台工作,一台在线备 用。 二、监控系统设备必须具有“三证一标志”(生产许 可证、产品出厂检验合格证、防爆合格证、MA标志),计 量产品还必须有计量合格证,按要求购置安装、使用。 三、井下监控分站应安设在便于人员观察、调试、检 验及支护良好、无淋水、无杂物的进风巷道或硐室中,距

顶板不得大于300mm,距巷道边侧不小于200mm,风速、负压、温度传感器应悬挂在能正确反应该点测值的地方。 四、传感器的安设数量、种类,甲烷传感器的报警浓度、断电浓度、断电范围必须符合《规程》要求、采掘作业规程和安全技术措施,必须对瓦斯监控设备的种类、数量、位置、信号电缆和电源电缆的敷设,控制区域等做出明确规定,并绘制布置图。 五、各种传感器的备用量不得小于在用量的20%,分站备用不少于在用量的20%。 六、瓦斯监控设备每月至少调校一次,甲烷传感器每七天必须使用标准气样调试一次,其它传感器按使用说明书要求定期调校。 七、认真填写监控系统运行日志,及时填写校验检修记录,发现瓦斯超限按程序及时报告并处理,如瓦斯浓度

智能化网络视频安防监控系统方案

目录 前言 (3) 第一部分系统设计 (4) 第一章网络视频安防监控系统 (5) 一、系统概述 (5) 1.1、设计原则 (5) 1.2、设计目标 (6) 1.3、设计依据 (6) 1.4、设计说明 (7) 二、系统优势 (8) 2.1网络化结构“一线多能” (8) 2.2网络化结构--方便日后扩展 (9) 2.3嵌入式操作系统--免维护 (9) 2.4分布式结构--系统更加安全 (9) 2.6分布式存储、观看--更加系统更加灵活 (9) 2.7 分级管理,既灵活又安全 (9) 三、系统构成 (10) 3.1系统原理图 (10) 3.2前端部份 (11) 3.3传输部份 (11) 3.4视频控制、显示和记录系统 (12)

3.5 GoldenEyes系列嵌入式网络视频服务器介绍 (13) 3.6 GoldenEyes分布式监控工作站计算机系统需求 (14) 3.7 GoldenEyes网络视频监控系统主界面 (15) 四前端监控点配制 (17) 五主要设备技术参数 (17) 第二章LED电子显示屏系统 (17) 第二部分系统设备报价清单 (17) 第三部分现场施工与售后服务承诺 (17)

前言 随着改革开放的深入和市场经济的迅速发展、提高,安全防范意识也倍加提高。基于目前我国的现状,以安全技术防范为主,将人防、物防、技防结合为一体,辅以视频、通讯、网络系统将以生产车间智能化系统为主流。 本方案为柳州两面针股份有限公司生产车间的安全防范而设计的,车间的安全技术防范,是指利用现代科学技术,通过采用各种安全技术的器材设备,达到车间防入侵、防盗、防破坏等目的,保证车间工作人员人身及生命财产安全的综合性多功能防范系统。 生产车间安全防范的技术系统,必须因地制宜,遵守安全、实用、经济、美观的原则,符合消防法规、技术规范以及标准的要求和市容市貌的规定,将技防纳入车间建设的规则。技防系统在方案设计时,要始终贯彻“安全、可靠、有效、经济”的设计指导思想,所采用的产品,必须是符合有关标准并经过国家规定的检测单位测试、认可的产品。 在设备选型上,要以安全性、先进性、适用性为基础,同时考虑兼容性和开放性,方便用户使用。即技防产品应选择安全、先进、成熟技术,避免短期内因技术陈旧造成系统性能不高或过早淘汰;立足于用户对技防系统的具体要求,不盲目求好求全,最大限度发挥投资效益。考虑到技术不断进步及用户需求的不同,应优先选择具有良好开放性、按已有标准设计、标准生产的设备,避免因兼容性问题造成系统难以升级或拓展。

楼宇智能化-视频安防监控系统-试题..

视频安防监控系统 一、单项选择题 1.以下设备不属于前端设备的是( C )。 A.摄像机 B.解码器 C.控制器 D.云台 2.以下设备中,使多个图像信号分割显示于同一监视器上的是( B )。 A.控制器B.切换器C.画面处理器D.录像机 3.闭路监控系统的英文缩写是( C )。 A.CATV B.CSTV https://www.360docs.net/doc/b04615708.html,TV D.GPS 4.下列属于闭路监控系统中的控制设备的是( B )。 A.摄像机 B.视频分配器 C.监视器 D.云台 5.闭路监控系统中,我国的扫描方式为( A )。 A.PAL https://www.360docs.net/doc/b04615708.html,D C.NTSC D.SECAM 6.下列摄像机原则上可以零照度拍摄是( D )。 A.普通型 B.月光型 C.星光型 D.红外照明型 7.下列哪类镜头可以非常接近被拍摄物体进行聚焦镜头,影像和真实大小相同( D )。 A.针孔镜头 B.棱镜镜头 C.鱼目镜头 D.微距镜头 8.在电视监控系统中,用少量的监视器看多个摄像机,能实现按一定的时序把摄像机的信号分配给特定的监视器的设备是( A )。 A.视频信号切换器 B.视频信号分配器 C.视频放大器 D.画面分割器 9.在闭路监控系统中,如果采用同轴电缆传输,连接头称为( B )。 A.水晶头 B.BNC头 C.ST D.LIU 10.在闭路监控系统中,如果采用SYV75-5-1的同轴电缆, 75表示( C )意思。 A.75安培 B.75伏 C.75欧姆 D.75米 11.摄像机宜安装于监视目标附近且不易受到外界损伤的地方。室外安装高度以( D )为准。 A.1-2米 B.2.5-5米 C.2-6米 D.3.5-10米 12.在闭路监控系统中,摄像机的地址要与( B )地址一致。 A.云台 B.解码器 C.矩阵 D.画面分割器 13.按有关规定,电视监控系统安装、施工完毕,试运行( A )后,便可以组织验收。 A.一个月 B.两个月 C.三个月 D.半个月 14.在闭路监控系统中,当各种设备单体调试完毕,就可以进行系统调试,当各项技术指标都达到设计要求时,系统经过( B )连续运行无事故后,就可申请让系统全面进入试运行。 A.12H B.24H C.36H D.一个月 15.电梯轿厢内的摄像机应安装于轿厢的顶部角上,摄像机的光轴与电梯轿厢的两个面壁 成角,并且与轿厢顶棚成俯角为适宜。( C )

监控设备管理制度(新编版)

( 安全管理 ) 单位:_________________________ 姓名:_________________________ 日期:_________________________ 精品文档 / Word文档 / 文字可改 监控设备管理制度(新编版) Safety management is an important part of production management. Safety and production are in the implementation process

监控设备管理制度(新编版) 1、监控主机管理员负责监测设备的日常管理、登记工作,保证设备的正常运行。 2、认真填写监测系统台帐、设备维修、维护故障登记表、检修校验等记录。 3、计算机的任何文件,严禁任何人进行删除、改名、移动等非法操作。 4、当瓦斯监测系统发生响声时,表明井下发生异常,如瓦斯超限、停电等情况,必须仔细观察,并作好记录,向有关部门进行汇报。 5、按要求认真打印监测报表并送相关人员签字审批。 6、在进行瓦斯监测时,严禁在计算机上做与工作无关的事。 7、监测电工负责监测系统及断电仪的安装、调试、校验、回撤工作。对新安装监测系统,断电仪等有备用电缆。

8、监测系统:断电仪每隔7天对仪器零点、精度、报警点、断电点进行调校,并填写调校记录。 9、当监测系统、断电仪等设备、设施发生故障或损坏要及进进行维修或更换,确保系统运行正常。 10、负责瓦斯传感器、便携式瓦斯报警仪、调试、检验工作,确保仪器维修质量精度。 11、定期更换感器里的防尘装置,清扫气室内的污物。 云博创意设计 MzYunBo Creative Design Co., Ltd.

相关文档
最新文档