快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

澳门新葡亰925588aapp:如何对LED显示屏进行二次接口开发



小序

LED 显示屏工程利用中,有单块显示屏项目,但更多的是多块显示屏项目。对付单块显示屏,直接应用厂商设置设置设备摆设摆设的节制软件就满意要求了;但对付多块显示屏,尤其是系统集成项目,厂商设置设置设备摆设摆设的节制软件就很难满意要求。这是由于,首先,厂商设置设置设备摆设摆设的节制软件一样平常只实现通用的功能,对个性化的功能很难满意要求,例如集成项目必要与后台数据库进行连接,实实际时信息宣布,一样平常节制软件很难供给此项功能;其次,对付集成项目而言,显示屏信息宣布仅是此中一个组成部分,必要统一的节制和界面风格;再次,在一个大年夜的集成项目中,可能有多家厂商中标,或工程实现多年后替换或添加其它厂商的产品,而不合厂商的实现技巧可能有所差异。

是以,为了满意LED显示屏在工程中的利用,厂商一样平常都要供给二次开拓接口,供系统集成商进行二次开拓,完成系统集成。颠末市场调研,现在LED显示屏二次开拓接口良莠不齐,没有统一的标准,有的太简单,很难满意工程利用,而有的又太繁杂,造成系统集成周期长、价值大年夜。是以,颠末钻研,本文提出一种新的LED二次开拓接口的设计措施,让用户简单、快速地实现系统集成,同时削减二次开拓光阴和价值。

1 主要功能需求阐发和模型构建

在工程利用中,LED显示屏主要用来宣布信息,尤其是根据后台数据库的变更,实时更新信息。

范例的利用是火车站,实时更新车次、软/ 硬座票、卧铺票、发车光阴等票务信息,以及到站车次、晚点车次等到站信息,除此之外,还有临时看护、车次变化、广告、候车室位置等等。

在火车站综合信澳门新葡亰925588aapp息治理系统中,相对付全部系统而言,LED澳门新葡亰925588aapp显示屏信息宣布只是此中一部分,但LED 显示屏种类、通信类型、散播位置却可能很繁杂,如图1 所示。按照显示屏的大年夜小、挂放的位置、显示的内容和感化,可以将显示屏分为总向导信息屏、候车信息屏、分区屏、检票屏、通道显示屏、站台屏和出站口信息屏等。在通信方面,根据硬件前提、位置等,一样平常应用串口、收集等。串口又分为RS485 和RS232,此中一个RS485 连接多个显示屏,一个RS232 连接一个显示屏;收集又分有线收集、无线收集和GPRS 等。

图1 LED显示屏范例系统集成图

颠末综合阐发,系统涉及显示屏的功能有:

(1)宣布信息、更新信息、广告和导向信息;(2)节制显示屏,如重启、准时开关屏,设置参数等;(3)监控显示屏,显示连接状态、更新光阴等。

其事情历程是:

(1)连接显示屏;(2)宣布信息、下载节目到显示屏显示;(3)节制和监控显示屏;(4)停止操作后断开连接。

着实,系统调用显示屏功能并不繁杂,主要难点在于:

(1)若何实现多种硬件连接要领统一,包括串口、收集;(2)若何组织多种信息显示工具,包括翰墨、图片、动画、时钟等;(3)若何根据LED 显示屏的节制要求,供给基础的节制敕令,适应多种系统集成要领,包括C/S、B/S 以及散播式、分层节制等。

为了办理这些难点,并达到通用、简单、轻易集成的目的,颠末钻研,本文构建的LED 二次开拓接口的模型如图2 所示,主要功能和流程如下:

(1)调用通信节制接口,根据不合的通信要领分手创建其通信通道,完成LED 显示屏连接;(2)调用节目制作接口,创建节目、添加节目工具,天生节目数据,然后应用敕令接口发送节目到显示屏,完成信息宣布;(3)调用敕令接口,进行显示屏重启、开/ 关屏、设置亮度、更新光阴、读取显示屏光阴等操作,完成显示屏的节制、监控事情;(4)退出系统时,关闭通信通道,开释资本,停止二次开拓接口的调用操作。

2 关键功能的设计和实现

2.1 通信协议设计

LED 显示屏二次开拓接口设计的重要事情是定义节制端与LED 显示屏之间的通信协议。为了实现简便并对用户透明,这里所有通信要领皆采纳同一协议,每一个敕令都成对呈现,对应敕令和返回敕令,如表1 和表2 所示。

表1 敕令款式

表2 返回敕令款式

各参数阐明:

(1)敕令类型:标注敕令类型ID,如通信握手敕令、文件传输以及其它节制指令等;

(2)敕令号:假如某一类型敕令有多个,不合的敕令号表示该类不合的敕令;

(3)目标ID:指显示屏ID,默认值为0x01;

(4)源ID:指节制端ID,默觉得0x00;

(5)长度:指详细敕令实际数据长度;

(6)数据:详细敕令的数据或返回结果;

(7)校验和:除校验和外所有该协议数据的校验和数据,一样平常应用算术和即可。

敕令传输逻辑如下:

(1)发送方在发送详细的敕令之前,先发送一个通信握手敕令:

节制源端- - - - - - - - - - 发送通信握手敕令- - - - - - - - - - 》 显示屏节制源端《- - - - - - - - - - 返回通信握手敕令- - - - - - - - - - 显示屏

节制源端收到结果精确,则表示显示屏已经做好接管数据筹备,可以开始发送详细敕令。假如收不到显示屏的任何返回,必要反省物理链路是否正常,串口的波特率设置是否正常等。

(2) 发送方把详细敕令数据按前面的款式进行打包发送到显示屏,显示屏在收到数据包后会对数据进行校验反省。假如校验掉败,则哀求重发。

(3)发送方的敕令成功发送到显示屏后,显示屏按协议包款式把节制卡履行的结果反馈到发送方。假如校验掉败,哀求显示屏重发履行结果数据;否则发送停止结果给显示屏,停止敕令历程。

(4) 假如(2)中指令是文件传输指令,则重复(2)、(3),直到文件传输停止。

在通信历程中,发送方要强制停止发送历程,可以发送通信握手敕令或强制中止通信进行强制终止。

2.2 通信通道接口

在对LED 显示屏进行通信之前,必须先建立通信通道,而退出系统时,则开释通信通道资本。通信通道接口包括:

(1)打开通信通道

函数款式:DWORD COMM_Open (constPDeviceParam pDevParam, DWORD dwNotify,DWORD dwWindws , DWORD 澳门新葡亰925588aappdwMsg);

参数阐明:

① pDevParam:表示指定设备的参数,例如串口的波特率、串口号,以及收集本地IP 地址、端口号等参数;② dwNotify:表示当LED 显示屏有返回值时是否看护,0 代表不通知,1 表示看护;③ dwWindws :表示消息看护的窗体句柄;④ dwMsg:用户定义的消息号。

返回值:

① 0:表示创建掉败;② 其它值:表示设备通道值。

功能描述:

该函数用来建立一个通信通道,函数运行一次即建立一个通道,建立成功就返回一个DWORD值,代表一个设备的句柄,用于区分不合的通道。该值供其它接口函数应用,以便对不合的显示屏进行节制。

物理上支持串口通道、收集通道,对付串口,设置串口号、波特率、接管/ 发送缓冲区,然后打开串口;对付收集,设置本地IP、端口号、接管/ 发送缓冲区,然后打开网口。这里必要分外强调的是,收集采纳UDP 要领,这主如果为了:

① 在协议实现上与串口统一;② 只需一次创建;③ 前进收集通信握手连接。

因篇幅缘故原由,以下函数将只列出函数款式和功能阐明。

(2)关闭通信通道

函数款式:DWORD COMM_Close (DWORDdwDev/* 通信设备通道*/);

该函数关闭已打开的通信通道(dwDev),开释通信通道资本,一样平常在退出系统前应用。

(3)强制中止通信

函数款式:DWORD COMM_Break (DWORDdwDev);

该函数中止当前通信通道(dwDev)的通信。

(4)通信握手

函数款式:DWORD COMM_Link (DWORD dwDev/* 通信设备通道*/,

BYte byDstNo/* 目标显示屏ID*/,

char *chHost/* 收集地址,串口时无效*/,

WORD wPort/* 收集端口号,串口时无效*/

);

该函数查询显示屏是否能够通信,可在通信之前或监控LED 显示屏时应用。

2.3 节目接口

LED 显示屏显示的信息着实是一个个的节目文件,一样平常先在上位机节制系统中天生,然后发送到显示屏上显示。在设计节目接口时,可能因节目布局不合,细节上有些区别,本文根据如图3 所示的树形节目布局设计一种节目接口。

(1)节目初始化。

函数款式:

DWORD Program_Init (DWORD dwProgramType/* 节目类型*/,

DWORD dwScreenType/* 显示屏类型*/,

DWORD dwWidth/* 节目宽度*/,

DWORD dwHeight/* 节目高度*/

);

该函数用于在谋略机内存开辟一块内存空间,或开释上一次节目占用的资本,为节目天生做筹备。

(2)添加区域

函数款式:

DWORD Program_AddArea (DWORD dwAreaType/* 区域类型*/,

LPRECT rect/* 显示区域*/,

DWORD &dwAreaNO/* 区域号*/

);

在显示屏页面上,根据节目的要求,必要划分不合的区域,设置其动身点和宽高。可应用澳门新葡亰925588aapp该函数在当前显示页面上创建一个个的区域,以放置详细的显示工具,例如内码翰墨、时钟等。

(3)添加各类工具。

在页面的区域上,可添加单行翰墨、多行翰墨、内码翰墨、图片、视频动画、WORD 文档、Flash 动画、表格、数字时钟、模拟时钟、倒计时等各类显示工具,在实现时,每一种工具对应一个函数。这里列出常用的添加图片的函数:

函数款式:

DWORD Program_AddPicture(DWORD dwAreaNO/* 区域号*/,

HDC dc/* 图形dc*/,

DWORD dwWidth/* 图片宽*/,

DWORD dwHeight/* 图片高*/,

LPRECT rect/* 显示区域*/,

DWORD dwAcTIon/* 殊效号*/,

DWORD dwExitAcTIon/* 退出殊效号*/,

DWORD dwSpeed/* 显示速率*/,

DWORD dwTImecount/* 显示光阴*/,

DWORD dwTransparent/* 透明与否*/);

该函数在指定区域上添加一个图片,显示内容来自于dc.

(4)节目数据天生。

函数款式:DWORD Program_MakeData()。

该函数天生节目数据, 以便应用LEDControl_SendToScreen 函数发送到不合的显示屏。

2.4 敕令接口

敕令接口主要为节制、监控和发送节目数据而设计,例如,火车站或街头的广告屏,在夜间人少时,广告效果不显着,同时也为了省电,可在指定夜间光阴点关闭显示屏,然后到凌晨指准光阴点自动打开显示屏。颠末总结,敕令接口的敕令包括:

(1)重启敕令。

函数款式:DWORD LEDControl_Reboot(DWORD dwDev, BYTE byDstNo, char *chHost,WORD wPort);

该函数用来重启指定的LED 显示屏。

(2)电源节制。

函数款式:DWORD LEDControl_SetPower(DWORD dwDev, BYTE byDstNo, char chHost,WORD wPort, DWORD dwPower/* 开或关标识*/);

该函数打开或关闭显示屏。

(3)显示屏亮度调节。

函数款式:DWORD LEDControl_SetBrightness(DWORD dwDev, BYTE byDstNo, char *chHost,WORD wPort, BYTE byBrightness/* 亮度*/);

该函数用于调节显示屏亮度。

(4)校时。

函数款式:DWORD LEDControl_AdjustTIme(DWORD dwDev, BYTE byDstNo, char *chHost,WORD wPort);

该函数用于谋略机时钟校对显示屏时钟。

(5)节目发送接口。

函数款式:DWORD LEDControl_SendToScreen(DWORD dwDev, BYTE byDstNo, char *c澳门新葡亰925588aapphHost,WORD wPort);

该函数将Program_MakeData 天生的节目数据发送到显示屏,着末返回状态值,表示成功、掉败及其它状态,用户根据状态再进行响应的处置惩罚。

(6)局部更新节目接口。

函数款式:DWORDLEDControl_UpdateCodeText (DWORD dwDev,BYTE byDstNo, char *chHost, WORD wPort,char *chCodeText/* 字符串缓冲区*/, int iLen/*字符串长度*/);

该函数用来更新显示屏局部内容。对付一些信息宣布,一样平常只必要更新局部的内容,例如车站大年夜厅信息宣布,显示屏划分很多的区域,稀有字时钟、模拟时钟、图片、动画和翰墨等不合的区域,一样平常每每只更新翰墨部分内容,即可达到信息宣布的目的,同时不用天生节目,节省了光阴和前进了效率。

3 二次开拓接口的利用

二次开拓接口一样平常都因此动态链接库的形式供给给用户,并供给主流开拓说话的接口和例程,例如VC、C#、DELphi 和VB 等。一样平常的调用流程是:

(1)载入动态链接库;(2)建立通信通道;(3)进行显示屏节制、监控操作;(4)进行节目制做、发送和更新;(5)关闭通信通道;(6)开释动态链接库,完成二次开拓接口的调用。

4 结论

本文针对LED 显示屏工程利用中对二次开拓接口的需求,提出了一种LED显示屏二次开拓接口的措施,将二次开拓接口总结为通信通道、节目和敕令三种接口,并在收集先锋节制卡系列产品中利用。实践证实,该措施可让用户在系统集成中,简单、快速地实现其二次开拓功能,同时低落系统集成的周期和价值。

责任编辑;zl

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: