开发MCGS设备驱动
时间:2026-01-18
时间:2026-01-18
开发MCGS设备驱动
第三章 开发MCGS设备驱动
3.2 设备驱动构件接口规范
MCGS设备构件的实现方法和原理与标准VB的ActiveDLL完全一致,但MCGS规定了一套接口规范,只有遵守这些接口规范的ActiveDLL才能用作MCGS的设备驱动构件。MCGS设备驱动构件必须具有如下5个属性和8个方法:
属性:DevType 标识设备的类型
属性:DevStyle 标识设备的类别
属性:DevChannel 标识设备的通道个数
属性:DevBaseIO 标识设备所用IO的基地址
属性:DevIONumber 标识设备所用IO地址的个数
方法:GetDevName 读取设备构件类型名称
方法:GetDevHelp 调用设备构件的在线帮助内容
方法:SetDevPage 调用设备的内部属性页
初试化设备的初试值
读取设备构件各通道的数据类型和注释
运行时对设备进行初试化工作
执行指定的设备命令 方法:InitNewDev 方法:GetChlType 方法:InitDevRun 方法:RunDevCommand
方法:CollectDevDat 定时操作设备,采集或输出数据
开发MCGS设备驱动的过程,实际上就是根据设备的特性和含义来完成8个方法功能的编程过程。下面详细讲述各个接口的含义和用法:
属性接口:DevType
接口作用:本接口用于Mcgs确定设备构件的类型。对独立的设备构件固定为0;对通
讯子设备,固定为1。本属性为只读属性。
语法形式:Public Property Get DevType() As Long
属性接口:DevStyle
接口作用:本接口用于Mcgs确定设备构件的类别。对独立的设备构件固定为0;对通
讯子设备,固定为1。本属性为只读属性。
语法形式:Public Property Get DevStyle() As Long
开发MCGS设备驱动
属性接口:DevChannel
接口作用:本接口用于Mcgs确定设备构件通道个数。一般把本属性设置为只读属性。 语法形式:Public Property Get DevChannel() As Long
属性接口:DevIONumber
接口作用:本接口用于Mcgs确定设备构件所用IO地址的个数。本属性为只读属性 语法形式:Public Property Get DevIONumber() As Long
属性接口:DevBaseIO
接口作用:本接口用于Mcgs确定设备构件所用IO基地址。本属性为读写属性,在设
备属性页中以16进制数表示
语法形式:Public DevBaseIO As Long或Public Property Get DevBaseIO() As Long 注意:对不占用IO地址的设备,把本属性设置为只读属性,且属性值为0。 方法接口:GetDevName
接口作用:本接口在组态环境装载时被MCGS组态环境调用,返回设备构件对应的设
备类型名称,比如“Omron 200 PLC”等。MCGS组态软件将把这个名称
显示在设备工具框中。对于不同的设备,应该返回不同的设备类型名称。 语法形式:GetDevName() as string
返 回 值:设备类型名称。
参数说明:无。
方法接口:InitNewDev
接口作用:当用户在组态环境的设备组态新增加一个设备时调用本接口,用于初始化
新设备的缺省参数值。
语法形式:InitNewDev(SavObj As Object) as Long
返 回 值:=0:设备初始化成功,<>0:设备初始化失败。
参数说明:SavObj ,存盘服务对象,接口程序中通过该对象来保存和读取数据。 方法接口:SetDevPage
接口作用:本接口在组态环境中当用户要修改设备的内部属性时被调用,他将打开设
置设备构件内部属性的对话框,并设置设备构件的属性。
语法形式:SetDevPage(SavObj as Object) as Long
返 回 值:=0:属性设置有效,要保存,=1:属性设置无效,不保存。
参数说明:SavObj ,存盘服务对象,接口程序中通过该对象来保存和读取数据。 方法接口:GetChlType
接口作用:本接口在组态环境中调用,读取设备通道的数据类型及通道内容说明当用
户要修改设备的内部属性时被调用,他将打开设置设备构件内部属性的对
话框,并设置设备构件的属性。
语法形式:GetChlType(Dat As Variant, msg As Variant) As Long
开发MCGS设备驱动
返 回 值:=0:设备通道有效,=1:设备通道无效。
参数说明:Dat ,长整型数组,标识设备各通道的数据类型和输入输出类型。=1开关
型;=2数值型;=3字符型;大于0表示把设备通道的数据采集到MCGS
中,小于0表示把MCGS中的数据输出到设备构件中;
msg,字符型数组,标识各设备通道内容注释。
方法接口:InitDevRun
接口作用:本接口在MCGS运行环境启动设备构件开始采集之前被调用一次,用于对
设备硬件进行初始化工作。
语法形式:InitDevRun(SavObj As Object, DatObj As Object) as long
返 回 值:=0:设备工作正常, =1:设备工作不正常,MCGS运行环境将弹出对话框,
提示用户设备出错。
参数说明:SavObj ,存盘服务对象,接口程序中通过该对象来保存和读取数据。
DataObj,实时数据库对象,接口程序中通过该对象来操作实时数据库对象
的属性和方法。
方法接口:CollectDevDat
接口作用:本接口由MCGS运行环境在每一次设备采集中调用,运行时,按设定的时
间周期定时调用本方法采集数据,并送入实时数据库,或把实时数据库中
的数据送进来,供设备驱动构件处理。
语法形式:CollectDevDat(DatF As Variant, Dat As Variant, msg As Variant) as long 返 回 值:= -1:设备故障;