RSS

长距离通信器S1503的应用编程原理

发布时间:2008-03-24 关键字: 编程 原理 通信 主机 应用程序 S1503 事件 系统

(2)利用Confilib命令的主机应用程序

在该方式中,通信器S1503完全由利用Confilib库函数或其它软件开发的主机程序控制,系统智能部分在主机,通信器不做任何逻辑判断。当主机应用程序调用Confilib函数时,自动将Confilib命令翻译成ConfiTalk命令,然后传递给S1503。S1503根据该命令招待对应的 Confilib命令。这种方式的优点是:与通信应用程序Pyramid控制方式相比,拥有更加方便的界面,主机应用程序更加便于开发、调试;缺点是执行速度慢。

(3)主机应用程序与Pyramid通信

这种方式与第二种方式相似。主要区别在于主机与S1503的标准应用程序Pyramid通信,而不是直接同Confilib通信。主机程序与通信器标准应用程序通过互送邮件实现通信。采用这种方式的优点是:主机应用程序简单,部分逻辑判断可交给通信应用程序,从而获得较快的运行速度;缺点是: Pyramid邮件不支持写标签和数据库管理功能,不过,这些功能可通过Confilib/Confitalk命令实现。

(4)用户协议

这种方式除了通信器中的Confilib之外,所有软件均由用户编写,当系统使用ConfiTalk以外的协议时,采用这种方式。该方式的优点是:可实现通信器ConfiTalk以外的协议通信;缺点是编写程序量大,开发周期长。

3 应用编程

事件是指正常程序运行以外不定期发生的事情。事件可来自外部(如按键),也可以来自内部(如定时器)。S1503程序库的核心是一个称作事件器的模块,其绝大部分应用是由事件驱动的。Confilib库中有七个模块产生事件,可能产生的事件包括:DTMF(双音多频接口输入)、Push_Button(通信器控制盘上的按键被按下)、Doppler_Radar(多谱勒雷达检测到运动物体)、Par_In(并行输入口输入)、Timer(设置的计时器到达时间)、Tag(成功阅读到一个标签)、Tamper_Switch(防护开关动作)、Null_Event(自上次查询后,没有事件发生)、 Reset_Event(系统复位)。防护开关除外,其它所有事件模块必须经过初始化后才能够产生事件。当事件产生时,系统及时响应并存入通信器事件处理器,应用程序通信调用 Bsw_Event_Handler_Get_Event()从通信器读取事件;若有事件发生,调用以上函数返回其事件类型、相应数据;若无事件发生,返回Null_Event。因此,应用程序应是一个等待事件的死循环。当事件发生时,应用程序调用适当的事件处理程序来响应该事件。应用程序流程如图3所示。

4 通信编程

通信器S1503与主机进行通信交换信息,有三种方法:①利用CONFIDENT库函数所支持的动态缓冲区;②利用公司所提供的串行通信接口字节级设备驱动函数来自定义的通信协议;③利用CONFIDENT软件库提供的邮件交换系统。在S1503的实际应用中,邮件交换系统应用十分广泛。

    通信器通过调用函数Msw_Mail_Init、Msw_Mail_Send以及Msw_Mail_Receive等来使用邮件交换系统。使用邮件交换系统的前提是系统至少有一个空闲的动态缓冲区。在初始化邮件系统时,函数将占据编号最高的动态缓冲区。使用邮件交换系统包括两部分:主机通信流程(图4)和通信通信流程(图5),其它现功能是主机接收通信器发送来的邮件,并将邮件内容显示在屏幕上;同时,每当空格键被按下时,改变通信器的安静模式;通信器阅读标签事件,并将标签数据通过邮件发送给主机。主机可通过邮件将通信器设置为安静模式,主机在通信器为非安静模式时读取标签数据邮件。

在实际应用中,可选择合适的系统结构和控制方式。应用编程也很灵活,用户可根据自己的特点来选择合适的语言。因此,S1503及其同类产品在自动识别控制系统中有广泛的应用前景。


上一篇:开关电源的电磁兼容性设计
下一篇:没有了
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册

外部连接