程序员手册.docx

上传人:b****7 文档编号:23580209 上传时间:2023-05-18 格式:DOCX 页数:21 大小:23.12KB
下载 相关 举报
程序员手册.docx_第1页
第1页 / 共21页
程序员手册.docx_第2页
第2页 / 共21页
程序员手册.docx_第3页
第3页 / 共21页
程序员手册.docx_第4页
第4页 / 共21页
程序员手册.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

程序员手册.docx

《程序员手册.docx》由会员分享,可在线阅读,更多相关《程序员手册.docx(21页珍藏版)》请在冰豆网上搜索。

程序员手册.docx

程序员手册

CL2005Ocx编程手册(V1.1)

第一章简介

1.1调用顺序

本控件中函数的调用顺序如下:

步骤一:

通讯初始化,调用ComInitial、NetInitial或ModemInitial;

步骤二:

控制卡特性设置,调用SetCardProperty;

步骤三:

数据收发,调用数据收发函数;

步骤四:

关闭通讯,调用Close。

如果对联网控制的多个屏进行操作,则在步骤二和步骤三间进行循环。

1.2控制卡的工作模式

CL2004系列控制卡均提供两种工作模式:

图片模式和文字模式。

1.2.1图片模式

在图片模式下,图片数据发送完后,必须调用发送节目表的函数(SendProgList),显示屏才会播放节目。

图片模式中,所有节目均具备移动展开特效。

允许设计定时播放和安排计算安全天数计时等。

1.2.2文字模式

文字模式主要用于对实时显示要求比较高的场合。

此时,显示屏的作用类似于一个写字板,不具备任何定时和移动展开特效,只可以通过函数在显示屏的某个位置输出文字或画水平、垂直线,且文字的输出宽度不能大于显示屏的宽度。

控制卡上有两个显示缓冲区(Bank),可以在这两个显示缓冲区之间切换,即在显示0区的同时可以将输出定到1区,待要显示的内容输出完毕后再将1区切换到显示屏上真正显示出来,此时又可以在0区进行输出。

1.3语言说明

本控件使用VC++语言开发,因此所有涉及的字符串都是指8位以0结尾的字符串。

第二章数据结构

本控件涉及三类数据结构,它们是图片、节目表以及亮度表。

2.1图片的数据结构

C语法:

BYTEPictureBuff[512][256]

Delphi语法:

PictureBuff=Array[0..511]OfArray[0..255]OfBYTE

Basic语法:

DimPictureBuff[0..255,0..511]AsByte

说明:

CL2005系列通讯屏控制卡最大控制宽度达2048列,1个位表示屏上1个点,则宽度使用256个8位的字节;最大控制高度为512行。

与显示屏对应的显示数据存储在数据缓冲区的左上角。

若是双色屏,则先按照显示屏的实际高度先存储红色数据,然后紧接着存储绿色数据。

例如,若显示屏的高度为128行,则PictureBuf[0]-PictureBuf[127]存储128行红色数据,PictureBuf[128]-PictureBuf[255]存储绿色数据。

2.2节目表

C语法:

structProgStruct

{

BYTEPictIndex;

BYTEEnter;

BYTELeave;

BYTESpeed;

BYTEStayTime;

BYTEbFollowPlay;

BYTEbShowTimer;

BYTEbTimerPlay;

BYTETimerMode;

BYTEWeekFlag;

BYTEStartHour;

BYTEStartMinute;

BYTEEndHour;

BYTEEndMinute;

BYTENotUsed0;

BYTENotUsed1;

}

Delphi语法:

ProgStruct=Record

PictIndex:

BYTE;

Enter:

BYTE;

Leave:

BYTE;

Speed:

BYTE;

StayTime:

BYTE;

bFollowFlag:

BYTE;

bShowTimer:

BYTE;

bTimerPlay:

BYTE;

TimerMode:

BYTE;

WeekFlag:

BYTE;

StartHour:

BYTE;

StartMinute:

BYTE;

EndHour:

BYTE;

EndMinute:

BYTE;

NotUsed0:

BYTE;

NotUsed1:

BYTE;

End;

Basic语法:

TypeProgStruct

PictIndexAsByte

EnterAsByte

LeaveAsByte

SpeedAsByte

StayTimeAsByte

bFollowFlagAsByte

bShowTimerAsByte

bTimerPlayAsByte

TimerModeAsByte

WeekFlagAsByte

StartHourAsByte

StartMinuteAsByte

EndHourAsByte

EndMinuteAsByte

NotUsed0AsByte

NotUsed1AsByte

EndType

说明:

PictIndex:

本节目项播出的图片索引;

Enter:

进入方式代码,参见第六章;

Leave:

退出方式代码,参见第六章;

Speed:

移动或展开、擦除的速度,0-15,15最快,0最慢;

StayTime:

停留时间,0-126。

D7为单位,D7=0:

单位为秒,D7=1:

单位为分。

数据127表示静止;

bFollowFlag:

紧随前页连续播放标志,0:

不连续,1:

连续;

bShowTimer:

显示时钟标志。

0:

不显示,1:

显示;

bTimerPlay:

定时播出标志。

0:

常规播放,1:

定时播放;

TimerMode:

时钟显示方式,

0:

不显示,1:

单行居左,2:

单行居中,3:

单行居右

4:

双行居左,5:

双行居中,6:

双行居右

WeekFlag:

周定时标志,D1-D7代表周一到周日,对应位=0则当日不播出,否则播出。

该属性级别高于下面的定时时间段;

StartHour:

定时播出的开始时间之小时;

StartMinute:

定时播出的开始时间之分;

EndHour:

定时播出的结束时间之小时;

EndMinute:

定时播出的结束时间之分;

NotUsed0:

保留;

NotUsed1:

保留

2.3亮度表

C语法:

structBrightnessItem

{

BYTEStartHour;

BYTEStartMinute;

BYTEEndHour;

BYTEEndMinute;

BYTEBrightValue;

}

Delphi语法:

BrightnessItem=Record

StartHour:

BYTE;

StartMinute:

BYTE;

EndHour:

BYTE;

EndMinute:

BYTE;

BrightValue:

BYTE;

End;

Basic语法:

TypePrightnessItem

StartHourAsByte

StartMinuteAsByte

EndHourAsByte

EndMinuteAsByte

BrightValueAsByte

EndType

说明:

每个亮度表项表明一个时间段内要设置的显示屏的亮度。

StartHour:

开始时间之小时;

StartMinute:

开始时间之分;

EndHour:

结束时间之小时;

EndMinute:

结束时间之分;

BrightValue:

上述时间段内的亮度

 

第三章系统功能函数

3.1初始化

3.1.1串口通讯初始化

C语法:

BOOLComInitial(shortComPort,longBaudRate,shortWaitTime);

Delphi语法:

functionComInitial(ComPort:

Smallint;BaudRate:

Integer;WaitTime:

Smallint):

WordBool;

Basic语法:

FunctionComInitial(ComPortAsInteger,BaudRateAsLong,WaitTimeAsInteger)AsBoolean

功能:

初始化要的串行通讯口。

在使用RS232或RS422通讯模式时必须调用本函数对串口进行初始化。

入口:

ComPort:

16位有符号整型,串口号,有效范围1-8;

BaudRate:

32位有符号整型,速率,有效值9600、19200、38400或57600,与控制卡上硬件设置有关;

WaitTime:

16位有符号整型,通讯等待延时,发出数据包后在等待本规定设置的延时后若没有收到应答,则视为通讯失败。

该延时从数据包开始发送即进行计时,一般至少设定为800以上。

出口:

布尔型,串口被占、串口号超出范围或波特率超出范围均返回假。

成功返回真。

3.1.2网络通讯初始化

C语法:

BOOLNetInitial(longRemoteIP,shortClientServerMode,shortWaitTime)

Delphi语法:

NetInitial(RemoteIP:

Integer;ClientServerMode:

Smallint;WaitTime:

Smallint):

WordBool

Basic语法:

FunctionNetInitial(RemoteIPAsLong,ClientServerModeAsInteger,WaitTimeAsInteger)AsBoolean

功能:

初始化以太网通讯。

入口:

RemoteIP:

32位有符号整型,控制卡的IP地址;

ClientServerMode:

16位有符号整型,控制卡的客户机/服务器模式,0:

客户机,1:

服务器;

WaitTime:

定义同3.1.1,在网络模式下一般给4000以上。

出口:

布尔型,与控制卡连接成功返回真,否则返回假。

3.1.3调制解调器初始化

C语法:

BOOLModemInitial(shortModemPort,shortWaitTime)

Delphi语法:

functionModemInitial(ModemPort:

Smallint;WaitTime:

Smallint):

WordBool

Basic语法:

FunctionModemInitial(ModemPortAsInteger,WaitTimeAsInteger)AsBoolean

功能:

初始化使用调制解调器通讯。

入口:

ModemPort:

16位有符号整型,Modem连接的串口号;

WaitTime:

定义同3.1.1,在使用调制解调器通讯时一般给2000以上。

出口:

布尔型,Modem确实存在并有响应则返回真,否则返回假。

3.1.4设置控制卡属性

C语法:

BOOLSetLEDProperty(shortCardType,shortCardNum,shortWidth,shortHeight,shortColor,shortLockHZLibFlag)

Delphi语法:

functionSetLEDProperty(CardType:

Smallint;CardNum:

Smallint;Width:

Smallint;Height:

Smallint;Color:

Smallint;LockHZLibFlag:

Smallint):

WordBool

Basic语法:

FunctionSetLEDProperty(CardTypeAsInteger,CardNumAsInteger,WidthAsInteger,HeightAsInteger,ColorAsInteger,LockHZLibFlagAsInteger)AsBoolean

功能:

设置控制卡属性。

这些属性将用于在本设定以后接收数据的控制卡编号、计算控制卡上存储每个图片画面需要的空间、控制卡上一共可存储的图片数量、计算单个图片的发送次数等。

入口:

CardType:

16位有符号整型,控制卡类型编号,从1开始。

1对应Ⅰ型卡、2对应Ⅱ型卡、3对应Ⅲ型卡、4对应Ⅳ型卡……,与实际的控制卡类型相关;

CardNum:

16位有符号整型,控制卡编号,从0开始,最大不超过30。

与控制卡上的硬件设置有关;

Width:

16位有符号整型,显示屏的实际水平列点数;

Height:

16位有符号整型,显示屏的实际垂直行点数;

Color:

16位有符号整型,显示屏采用的模块。

0:

单色,1:

双色

LockHZLibFlag:

16位有符号整型,保护控制卡上已上载的汉字库标记。

0:

不保护,1:

保护。

选择保护汉字库空间后,上传的图片数量将减少一部分,且汉字库空间无法写入其他内容。

出口:

布尔型,入口各参数有效时返回真,否则返回假。

3.2关闭

3.2.1关闭通讯

C语法:

voidCloseCL2005(void)

Delphi语法:

procedureCloseCL2005

Basic语法:

SubCloseCL2005()

功能:

关闭通讯资源。

若此前使用ComInitial初始化,则释放串口;若是使用NetInitial初始化,则断开连接;若是使用ModemInitial初始化,则释放连接Modem的串口。

入口:

出口:

3.3其他操作

3.3.1发送调制解调器命令

C语法:

BOOLSendModemCmd(longlpCmdStr,longlpRetStr);

Delphi语法:

functionSendModemCmd(lpCmdStr:

Integer;lpRetStr:

Integer):

WordBool;

Basic语法:

FunctionSendModemCmd(lpCmdStrAsLong,lpRetStrAsLong)AsBoolean

功能:

对Modem发送命令,如拨号、挂断等。

入口:

lpCmdStr:

命令串存储空间的32位地址;

lpRetStr:

返回串存储的32位地址。

出口:

布尔型,Modem有应答则返回真,否则返回假。

返回真时,在lpRetStr中有Modem返回的字符串,但控件自动滤掉了”OK”或回显的lpCmdStr。

3.3.2校准控制卡上的时钟

C语法:

BOOLCorrectTimer()

Delphi语法:

functionCorrectTimer:

WordBool;

Basic语法:

FunctionCorrectTimer()AsBoolean

功能:

同控制计算机的时间校准控制卡上的时间

入口:

出口:

布尔型,校准成功则返回真,否则返回假

3.3.3控制电源开关

C语法:

BOOLSetPowerRelay(shortOnOff)

Delphi语法:

functionSetPowerRelay(OnOff:

Smallint):

WordBool

Basic语法:

FunctionSetPowerRelay(OnOffAsInteger)AsBoolean

功能:

控制大屏的电源。

控制卡上有一个外部固态继电器的控制信号,可用来控制外部设备,如大屏显示部分的电源或其他设备。

本函数直接控制其开关动作。

入口:

OnOff:

16位有符号整型,0:

关,1:

出口:

布尔型,执行成功后返回真,否则返回假

3.3.4设置自动开关时间

C语法:

BOOLSetAutoPower(shortOn_Hour,shortOn_Minute,shortOff_Hour,shortOff_Minute)

Delphi语法:

functionSetAutoPower(On_Hour:

Smallint;On_Minute:

Smallint;Off_Hour:

Smallint;Off_Minute:

Smallint):

WordBool

Basic语法:

FunctionSetBrightness(BrightnessAsInteger)AsBoolean

功能:

设置自动开关屏时间。

需要外接电源开关。

本函数的级别低于SetPowerRelay。

入口:

On_Hour:

16位有符号整型,开屏时间之小时;

On_Minute:

16位有符号整型,开屏时间之分;

On_Hour:

16位有符号整型,关屏时间之小时;

On_Minute:

16位有符号整型,关屏时间之分;

出口:

布尔型,执行成功后返回真,否则返回假

3.3.5设置亮度

C语法:

BOOLSetBrightness(shortBrightness)

Delphi语法:

functionSetBrightness(Brightness:

Smallint):

WordBool

Basic语法:

FunctionSetBrightness(BrightnessAsInteger)AsBoolean

功能:

设定显示屏的亮度。

对于应用在户外的显示屏,其亮度必须可以调整。

本函数可在0-7级间调整,如果设定为大于等于8的数值,则表示由控制卡自动调整显示屏的亮度,此时需要控制卡有亮度检测电路。

入口:

Brightness:

16位有符号整型,亮度值,0-7。

0最暗(12.5%),7最亮(100%)。

出口:

布尔型,执行成功后返回真,否则返回假

3.3.6发送自动亮度表

C语法:

BOOLSendBrightnessTable(shortlpBrightnessTable)

Delphi语法:

functionSendBrightnessTable(lpBrightnessTable:

Smallint):

WordBool

Basic语法:

FunctionSendBrightnessTable(lpBrightnessTableAsInteger)AsBoolean

功能:

上载4个时段的自动亮度调整表。

在这四个时段内,显示屏将设置为本函数发送的亮度值;不在这些时段内时,将自动设置为最大亮度。

本函数的级别低于SetBrightness;

入口:

lpBrightnessTable:

32位有符号整型,亮度表的存储地址。

一共4个亮度表。

亮度表的结构参见第二章2.3;

出口:

布尔型,执行成功后返回真,否则返回假

3.3.7发送静态数码管显示码

C语法:

BOOLSendDigitCode(longlpDigitCode)

Delphi语法:

functionSendDigitCode(lpDigitCode:

Integer):

WordBool

Basic语法:

FunctionSendDigitCode(lpDigitCodeAsLong)AsBoolean

功能:

上载16个字节的数码管显示码及相关信息。

//DigitCode[0]-DigitCode[9]为数字

入口:

lpDigitCode:

32位有符号整型,数码管显示码表存储地址。

一共16个字节,其中

第0-第9个字节:

0-9的显示码;

第10个字节:

数码管全灭的显示码;

第11个字节:

正号的显示码(可以与数码管全灭的显示码一致,即为正数时不显示符号)

第12个字节:

负号的显示码

第13个字节:

小数点的显示码

第14个字节:

高四位表示小数点显示码与数字显示码的运算关系。

0:

与,1:

低四位表示小数点与数字显示码的归依关系。

0:

归依前一数字,1:

归依后一数字

出口:

布尔型,执行成功后返回真,否则返回假

第四章图片及节目表的发送

4.1图片的发送

4.1.1获取控制卡可存储图片总数

C语法:

shortGetTotalPictureCount()

Delphi语法:

functionGetTotalPictureCount:

Smallint

Basic语法:

FunctionGetTotalPictureCount()AsInteger

功能:

获取控制卡上可存储图片的总数量。

该函数返回根据SetLEDProperty设置的参数计算出来可存储图片数。

入口:

出口:

16位有符号整型,可存储图片数。

4.1.2发送图片

C语法:

BOOLSendPicture(shortPictureIndex,longlpPictureBuff)

Delphi语法:

functionSendPicture(PictureIndex:

Smallint;lpPictureBuff:

Integer):

WordBool

Basic语法:

FunctionSendPicture(PictureIndexAsInteger,lpPictureBuffAsLong)AsBoolean

功能:

发送一幅图片。

入口:

PictureIndex:

16位有符号整数,图片序号,在0到GetTotalPictureCount-1之间;

lpPictureBuff:

32位有符号整数,图片的存储地址。

图片存储格式参见第二章2.1节

出口:

布尔型,图片发送成功时返回真,否则返回假。

4.2发送节目表

4.2.1发送节目表

C语法:

BOOLSendProgList(shortTotalProgCount,longlpProgList)

Delphi语法:

functionSendProgList(TotalProgCount:

Smallint;lpProgList:

Integer):

WordBool

Basic语法:

FunctionSendProgList(TotalProgCountAsInteger,lpProgListAsLong)AsBoolean

功能:

发送图片播放的顺序、特效、显示时间等的节目表。

入口:

TotalProgNum:

16位有符号整数,节目表的项数;

lpProgList:

32位有符号整数,节目表的存储地址。

节目表的结构参见第二章2.2

出口:

布尔型,发送成功则返回真,否则返回假。

4.2.2插播

C语法:

BOOLInsertlyPlay(longlpProg,longlpPict)

Delphi语法:

functionInsertlyPlay(lpProg:

Integer;lpPict:

Integer):

WordBool

Basic语法:

FunctionInsertlyPlay(lpProgAsLong,lpPictAsLong)AsBoolean

功能:

在显示屏正在播放节目时,插播一个页面。

该页面播放完毕后返回原节目表继续播放。

入口:

lpProg:

同4.2.1的lpProgList,但只有一个节目表项;

lpPict:

同4.1.2的lpPictureBufrogList。

出口:

布尔型,发送成功则返回真,否则返回假。

第五章文字模式的操作

在文字模式下,显示屏有两个可切换的显示区,它们分别被称为Bank0和Bank1。

可以通过函数在某个显示区中显示文字串,或画线,或贴图,或清除;可以在两个显示区之间进行切换,以实现显示某个显示区的同时,在另一个显示区进行后台绘图。

文字模式下最主要的函数是ShowString,它还可以显示大点阵数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1