服务热线:
4006-598-119
您的位置: 首页>>甘肃新闻中心

甘肃海湾DH-GST-COM电气火灾监控设备集成应用编程接口

发布日期:2024-03-06 10:08:42   浏览量:4920

甘肃海湾DH-GST-COM电气火灾监控设备集成应用编程接口


   

一、 简介

1.1概述

1.2 所适用的操作系统

1.3运行环境要求

二、 安装过程

2.1系统的安装步骤

2.2安装正确性

2.2.1安装后文件清单

2.2.2  安装后程序菜单

三、 使用说明

3.1  注册控件

3.2  接口方法

3.2.1打开GstCom

3.2.2电气火灾监控设备复位

3.2.3电气火灾监控设备消音

3.2.4启动电气火灾监控设备巡检命令

3.2.5关闭GstCom

3.2.6返回状态参数说明

3.2.7 查询实时电流值

3.2.7 查询实时温度值

3.3接口事件

四、 在编程环境中应用

4.1  VB编程环境中GstCom 的创建

4.2  VC编程环境中GstCom 的创建

4.3  C#编程环境中GstCom 的创建

4.4  Delphi编程环境中GstCom 的创建

 

 


 

一、 简介

1.1概述

甘肃海湾GSTCOM甘肃火灾报警控制器集成应用软件接口(以下简称接口)是用于第三方进行系统集成的专用编程接口,它可与GST-DH9000电气火灾监控设备(以下简称电气火灾监控设备)进行通讯。本接口为方便用户进行二次开发,附带了VB、VC、C#、Delphi编程样例程序,供用户参考

1.2 所适用的操作系统

Windows XPWindows 7Windows 10

1.3运行环境要求

软件:本控件使用前需要对GstCom.Dll进行注册,安装程序已经自动将此控件注册。

硬件:需要一块与电气火灾监控设备相适应的标准RS232通讯接口板,标准RS232通讯接口板与计算机用串口线连接。

二、 安装过程

2.1系统的安装步骤

将安装文件拷贝到任意目录下,运行GstLDCom_Setup.exe 即可。

2.2安装正确性

2.2.1安装后文件清单

安装完成后查看用户选择的安装目录下是否有如图1文件。

 

1

目录下的GstCom.DllGstCom消防通讯接口控件, GstComVbSample.exeVB应用程序,GstLDCom.doc文件为用户手册,Include目录下为GstCom消防通讯接口控件在VC编程应用环境下所需的头文件,Samples目录下为示例程序的源码。

2.2.2  安装后程序菜单

安装完成后,开始菜单栏“程序”子菜单出现GstCom-> GstCom Test Sample启动系统能正常运行

三、 使用说明

3.1  注册控件

用户 次使用接口时,若该控件未注册,将弹出未注册对话框。若用户希望注册该控件,请将注册对话框中的用户信息通过电话、Email、传真等方式传递给我公司,我们将生成注册码传给用户,填入正确的注册码后,控件注册成功。

3.2  接口方法

3.2.1打开GstCom 

 

OpenGstCom m_nCom, m_nControllerID, m_nProtocol, Resevered,lResult;

m_nCom       串口标识变量的index

m_nControllerID 电气火灾监控设备地址;

m_nProtocol     协议变量(即:电气火灾监控设备类型,数值如下)

   200 表示GstDH9000中文通讯板

Resevered       保留参数(0)

LResult         返回状态(参见返回状态参数说明);

3.2.2电气火灾监控设备复位

ResetController m_nControllerID, lResult;

m_nControllerID   电气火灾监控设备地址;

lResult           返回状态(参见返回状态参数说明);

3.2.3电气火灾监控设备消音

MuteController m_nControllerID, lResult;

m_nControllerID   电气火灾监控设备地址;

lResult           返回状态(参见返回状态参数说明);

3.2.4启动电气火灾监控设备巡检命令

StartQuery m_nControllerID, nType,Reserved,lResult;

m_nControllerID  电气火灾监控设备地址;

nType           启动类型;(0 停止查询,2 启动查询)

Reserved         保留参数(0);

LResult          返回状态(参见返回状态参数说明);

3.2.5关闭GstCom

CloseGstCom m_nControllerID,lResult;

m_nControllerID  电气火灾监控设备地址;

LResult          返回状态(参见返回状态参数说明);

3.2.6返回状态参数说明

返回状态参数说明如表1.

1

返回参数

说明

LResult=0 (RET_Successfu)l

命令执行成功

LResult=1 (RET_Busy)

电气火灾监控设备忙

LResult =2 (RET_ParamInvalide)

参数非法

LResult =3 (RET_ShakeHandFail)

通讯握手失败

LResult =4 (RET_GstComError)

命令执行内部错误

LResult =5 (RET_ReplyError)

命令执行应答错误

LResult =6 (RET_ReplyTimeout)

命令发送应答超时

LResult =10 (RET_Rs232Error)

串口打开失败

LResult =255(RET_NotCommand)

不支持此命令

3.2.7 查询实时电流值

UpLDDeviceCurrent nControllerID, nLoop, nAddress, lCurrent, pResult

m_nControllerID   电气火灾监控设备地址;

nLoop            回路号;

nAddress         一次码;

lCurrent          返回电流值;

lResult           返回状态(参见返回状态参数说明);

3.2.7 查询实时温度值

UpLDDeviceTemperature ControllerID, nLoop, nAddress, lCurrent, pResult

m_nControllerID   电气火灾监控设备地址;

nLoop            回路号;

nAddress         一次码;

lCurrent          返回温度值;

lResult           返回状态(参见返回状态参数说明);

 

3.3接口事件

GstCom_AlarmEvent(ByVal nControllerID As Long, ByVal nEventType As Long, ByVal

                   bstrDeviceID As String, ByVal Value As Long)

nControllerID     电气火灾监控设备地址;

nEventType       事件的类型;

bstrDeviceID      相关设备编码(设备二次码);

Value            对应事件类型的相关数据;

 

  参数详细描述如表2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

事件的类型

nEventType

相关设备编码(bstrDeviceID)   

对应事件类型的相关数据(Value           

说明

AE_CommNormal (0)

---------

----------

消防系统正常,无报警、故障等信息

AE_CommRetryFault (2)

----------

---------

应答错误

AE_CommTimeout (1)

------------

-----------

超时错误

AE_ControllerReset3

------------

------------

电气火灾监控设备消音复位

AE_ControllerStatus4


Value=状态代码:(H->L)

bit7-自动 (1允许, 0不允许)

bit6-手动 (1允许, 0不允许)

bit5-喷洒 (1允许, 0不允许)  

  状态代码低四位值为:

   1H 主电故障

   2H 主电恢复

    3H 备电故障

    4H 备电恢复

   5H 开机

例如:

67 表示 手动允许,备电故障

电气火灾监控设备消音状态置位

AE_ControllerMute

5

------------

------------

电气火灾监控设备消音

AE_DeviceRestore

8

设备编码

------------

设备恢复

AE_DeviceAlarm (16)

设备编码

 

------------

设备报警

AE_DeviceStart

    (32)

设备编码

------------

设备启动

AE_DeviceStop

    (64)

设备编码

------------

设备停止

AE_DeviceAction

    (128)

设备编码

------------

设备动作

AE_DeviceFault

256

设备编码

 

Value=1:一般故障 Value=2:设备损坏故障 Value=4: 停电故障Value=8: 传感器故障

设备故障

AE_DeviceIsolate

512

设备编码

----------

设备隔离

AE_DeviceRelease

1024

设备编码

----------

设备释放

  

四、 在编程环境中应用

4.1  VB编程环境中GstCom 的创建

VB编程环境中引用GstCom控件;

在应用程序头部定义GstCom,如:Public WithEvents MyGstCom As GstComCtl

在程序初始化阶段,创建GstCom对象,如:Set MyGstCom = New GstComCtl

4.2  VC编程环境中GstCom 的创建

在应用程序的头文件中加入如下文件

    #include "GstCom.h"

#include "GstComDefines.h"

#include "GstComEventSink.h"

 

在应用程序的代码文件中加入如下文件

#include "GstCom_i.c"

 

在应用程序中定义GstCom的引用及相关变量,

    IGstComCtl  *m_IGstComCtl;

    CGstComEventSink* m_pGstComEventSink;

    IUnknown* m_pControlUnk;

 

在应用程序中创建接口实例

 

HRESULT   hr;

hr = CoInitialize(0);

hr = CoCreateInstance( CLSID_GstComCtl , NULL, CLSCTX_INPROC_SERVER,

IID_IGstComCtl, (void**) &m_IGstComCtl);

 

if (!SUCCEEDED(hr))

{

AfxMessageBox("CoCreateInstance Failed.");

return FALSE;  

}

 

m_IGstComCtl->QueryInterface(IID_IGstComCtl, (void**)&m_pControlUnk);

 

m_pGstComEventSink = new CGstComEventSink();

 

if (m_pGstComEventSink)

    hr = m_pGstComEventSink->DispEventAdvise(m_pControlUnk);

else

    AfxMessageBox("Event Creater Failed.");

 

执行成功后应用程序就会得到GstCom的引用m_IGstComCtl。同时用户将报警事件处理代码添加到GstComEventSink.h文件的“用户代码”处

 

应用程序退出,断开连接释放资源:

 

m_pIRayRtdb->Release(); //一定要释放,否则退出时,会有内存泄露

m_pIUnknown->Release(); //一定要释放,否则退出时,会有内存泄露

if(m_pRtdbEventSink)

delete m_pRtdbEventSink;

CoUninitialize();

 

 

    if (m_pGstComEventSink)

{

        m_pGstComEventSink->DispEventUnadvise(m_pControlUnk);//断开事件

        m_pControlUnk->Release(); //释放查询指针

    delete m_pGstComEventSink;//删除事件接收对象

}

if (m_IGstComCtl)

    m_IGstComCtl->Release();

 

4.3  C#编程环境中GstCom 的创建

C#的“解决方案资源管理器中”引用GstCom.dll控件,在“引用”中可得到GSTCOMLIB库。

在应用程序头部定义GstCom,即:using GSTCOMLIB

在程序初始化阶段,创建GstComCtl对象,即:

GstComCtl myGstComCtl=new GstComCtl();

    myGstComCtl.OpenGstCom(m_nCom, m_nControllerID, m_nProtocol, 100, out  hResult);

用于打开COM接口,在调用方法的时候传进参数的类型必须和要求的一致。

在应用程序中创建事件响应

处理COM 接口的事件时需要引入下列代码:

gstComCtl.AlarmEvent +=new

_IGstComCtlEvents_AlarmEventEventHandler(gstComCtl_AlarmEvent);

创建时间处理方法gstComCtl_AlarmEvent,如:

private void gstComCtl_AlarmEvent(byte nCom, int nControllerID, int nEventType, string bstrDeviceID, int Value)

        {

             //用户代码

      }

4.4  Delphi编程环境中GstCom 的创建

Delphi的引用GstCom.dll控件,得到GStCOMLib_TLB库。即:注册GstCom.dll>打开Delphi7>component>Impot ActiveX Contrl>选择GstCom1.0 Type Library>createUnit。得到GStCOMLib_TLB

在应用程序头部使用GStCOMLib_TLB、,即:uses GStCOMLib_TLBComObj

在程序初始化阶段,创建GstComCtl对象,即:

var

GstComCtl : IGstComCtl;

GstComCtl:=CreateComObject(CLASS_GstComCtl) as IGstComCtl;

         



在线咨询 联系方式 二维码

服务热线

4006-598-119

扫一扫,关注我们