BST3.0应用软件开发平台技术手册.doc
如有侵权,请联系网站删除,仅供学习与交流BST3.0应用软件开发平台技术手册【精品文档】第 5 页 BST3.0应用软件开发平台用户技术手册云南南天电子信息产业股份有限公司FED软件中心目 录概述第一部分BST3.0应用软件开发平台基本功能 第一章 BST3.0软件开发平台的结构和流程控制第二章 系统命令第三章 变量操作命令第四章 字符串操作命令第五章 文件操作命令第六章 屏幕(SCREEN)表配置和命令第七章 存折打印机(PR2) 配置和命令第八章 刷卡器(BP) 配置和命令第九章 FIT表配置和命令第十章 流水打印机配置和命令第十一章 读卡机命令第十二章 IC卡命令和配置表第十三章 辅助模块命令和配置第十四章 通信命令第十五章 添加设备的命令接口第二部分BST3.0应用软件二次开发第一章用户自定义命令的开发第二章通信动态库的开发第三章 调试第三部分BST3.0 SCRIPT使用手册概述BST3.0应用软件开发平台是在BST2.0应用软件开发平台的基础上,根据BST应用需求,增加了屏幕部分对WEB和FLASH的支持,增加了内嵌的解释器,支持SCRIPT 编程模式,以及单步和屏幕重试功能。BST3.0应用软件开发平台更稳定,具有更好的扩展性,更容易完成BST 应用系统的开发。为熟练使用BST3.0应用系统软件开发平台进行二次开发,对此平台结构及功能模块应有充分了解,为缩短二次开发周期,请有关人员仔细阅读本手册。因时间仓促,有不足之处,请使用者谅解,并将需要改善的意见反馈给FED软件中心,帮助BST3.0应用系统软件开发平台的完善。第一部分 BST3.0应用软件开发平台基本功能第一章 BST3.0开发平台的结构和基本功能1.1 BST3.0软件开发平台的组成部分BST3.0软件开发平台功能完善、定制灵活、便于二次开发及其测试维护,它是由接口清晰且相互独立的子功能模块有机地结合在一起而行成的。BST3.0软件开发平台由以下几个大的部分组成:1 系统主控模块协调平台内部各功能模块的工作。2 设备控制模块由一系列与具体设备相应的设备控制模块组成,每一个设备控制模块对应于一个相应的硬件设备模块,在BST应用系统中,设备是一个广义上的设备,除传统上的外部设备如打印机、BP、读卡机等设备外,还有一些特殊的设备,如屏幕设备,在系统中称之为“screen”,它实际上包括了显示器、键盘和鼠标的输入输出,这三个设备是在“screen”设备中统一处理的。另外,还有通信设备(实际上是通信子系统,它被当作一个设备操作)和时间设备(“time”,用于检测退出时间是否到达)等。3 设备接口模块负责屏蔽BST应用系统中设备的硬件特性,使用统一的方式(统一的接口)对设备进行操作。应用系统使用设备时通过设备接口模块操作设备,可保证以同样方式操作所有设备。4 流程控制模块负责应用系统的流程控制,完成特定交易控制,接受主机命令,保存程序运行状态的文件等。5 通信处理子系统以操作设备的方式完成BST应用系统与主机间的通信。 信息处理子系统 系统主控模块HOST 通信子系统存折打印流水打印收条打印日志打印屏幕显示磁条输入语音输出键盘输入磁条写入触摸屏输入出钞模块 输入子系统 输出子系统本地服务系统维护交易处理 图一系统总体结构图1.2 BST3.0应用系统的流程控制BST3.0应用系统是一个平台化的产品,可根据客户不同的需求加以定制,该平台可适应不同的联机环境,具有定制简单,易于扩展、安装和维护等优点,BST3.0应用系统是通过“表控制结构”完成的(SCRIPT脚本作为辅助方式)。系统根据交易流程表(step.cfg)的定义来具体实现每一个相关的操作,如设备的初始化及交易的处理等。整个控制过程是通过多个配置表相互协调来完成功能的。“配置表”是BST3.0应用系统正常运转的控制中心,是完成交易控制的“主动脉”:1 设备表,定义应用系统中的设备特性;2 变量表,定义在STEP表中可用的全局变量;3 STEP表(STEP.CFG),也称主控表,类似一种脚本语言,负责交易流程的控制;4 屏幕表,负责屏幕显示方式的控制;5 通信控制表,定义通信方式和数据解释方式;6 PR2打印机控制表,定义PR2工作方式;7 BP控制表,定义BP工作方式;8 流水打印机控制表,控制流水打印机打印;9 FIT表,负责磁条数据的解释和组包;10 读卡机控制表;11 CD出钞模块控制表;12 命令控制表(COMMAND.CFG),需要新增设备以及相应的命令时的接口控制表;13 SCRIPT脚本文件,是数据处理和流程控制的辅助方式。设备控制表(简称设备表)和变量定义表(简称变量表)都是定义在注册表中的“我的电脑HKEY_LOCAL_MACHINESOFTWARE南天BST2”下。设备表定义了各个设备的基本特性。其格式如下:设备名 通道(端口) 输入缓冲区大小 输出缓冲区大小 出口索引号(n)设备名: 必须是唯一的,如PR2、BP、SCREEN等,且确定后不能更改。通道(端口):标识设备所使用端口,如COM1”、“COM2”等。如果不使用计算机串口,也必须用一个字符串作为标识,如使用TCPIP,则用“TCPIP” 标识。输入缓冲区大小:以字节计的缓冲区大小,用于保存输入数据。输出缓冲区大小:以字节计的缓冲区大小,用于保存输出数据。出口索引号n: 与SynDevice 命令配合使用,在设备同步状态下,设备输入时所指向的出口索引号(第n个出口)。注意:出口索引号可以用8之外的索引号,索引号8由系统保留使用,需要与SynDevice命令配合使用的设备,详见命令SynDevice的描述变量表包括预定义变量表(PredefineVariable)和用户定义变量表(UserdefineVariable)。变量表用于定义全局变量,这些变量在STEP表的整个流程中均可用。预定义变量表:该表定义的变量供系统使用,而且变量名不能改变。用户定义的变量表:二次开发所用的变量可此表中定义,该表定义的变量是可以改变的。注意:定义变量时,以“;”号开始的部分为注释部分,原则上在定义变量时都应该注释其含义。STEP配置表是BST应用系统的流程控制表,是完成交易的核心。它通过控制设备操作流程来完成指定的交易。它实现的原理是:所有交易都是由一系列设备操作的组合实现的。STEP 配置表(step.cfg)中的内容分为两类:初始化表和工作表。一初始化表的配置初始化表名是“init”,包括如下内容:1 用户扩展接口库路径(关键字userdll_path)。userdll_path = c:bst_newbst2bstuserdebugbstuser.dll缺省为运行程序BST2.EXE当前目录下的bstuser.dll。该配置用于定义用户扩展接口库的路径。2 调试级别(关键字debug_level)。debug_level = 0该配置用于定义不同的调试级别,对不同的调试级别,系统会提供不同范围下的TRACE文件,该文件可供调试使用。缺省为1。= 0:无调试信息,无任何trace文件,配置文件在内存中读写,不等于0时,PR2控制部分和屏幕部分根据配置可以定义各自的trace文件(请参见PR2模块和屏幕模块的相关部分)。= 1:有step的trace文件 step.txt,放在trace目录下,记录所执行过的命令,配置文件在内存中读写;= 2:有step的trace文件 step.txt,放在trace目录下,记录所执行过的命令和每一个命令的执行时间,配置文件在磁盘文件中读写;注意:各个配置文件不能超过64K,否则在写文件时可能会丢失文件中超过64K部分的内容,此时必须备份文件。= 3:有step的trace文件 step.txt,放在trace目录下,记录所执行过的命令和每一个命令的执行时间,同时记录每一步中的所有变量的值,配置文件在磁盘文件中读写;= 4: 设置调试热键,使用热键X进入单步step,Y退出;热键A进入屏幕单步,B退出。= 5: 单步执行step,“DONE”按钮执行一步,“GOTO”按钮条转道指定STEP。= 6: 单步执行屏幕,“RETRY”按钮重新画屏幕,“NEXT”按钮从指定出口执行下一步。3 退出时间定义(关键字logout_time)可最多定义三个时间检测,出口相同:logout_time = 22:30 logout_time2 = 22:50 -第二个时间 logout_time3 = 22:50 -第三个时间该配置用于定义系统自动关机的时间,若要启动该功能,需要执行CheckTime 命令(详见CheckTime命令)。二工作表的配置。工作表的表名是“STEP_TABLE”,在STEP表中,所有STEP以以下格式出现:step_xxxx = Command Screen Var1Var2 exit1 exit2 exit3 exit4 exit50step_xxxx: STEP号,作为关键字。STEP表从step.cfg文件中的step_0001开始。xxxx是STEP索引号,可以由数字组成,也可以是字符串,但必须小于40个字节,如果超过,会导致不能正确搜寻。Command: 命令。向设备发出确定的命令指示设备工作,如PR2ReadStrap是让打印机读磁条。Screen:屏幕。通知屏幕按屏幕配置文件中的某个表画屏幕。Var1Var2:变量名。在一些Command中,需要用到变量,Var1,Var2是变量名。exit1exit50:出口号。在命令完成后,根据命令完成的情况,确定下一个STEP,exit1-exit50是STEP号。Step号是以数字开头的字符串,如果全部是数字,则是4位数字,如果是用字符串表示step号,则以“0_”为前导符,例如需要跳转到step_insertcard,则step号必须写成“0_insertcard”。 注意:除STEP号以外,其他项不能以数字开头。STEP描述在系统内部都是以小写字符串出现的,所以不区分大小写。