一种基于大型主机平台的标签打印装置的制作方法

文档序号:2509254阅读:161来源:国知局
专利名称:一种基于大型主机平台的标签打印装置的制作方法
技术领域
本发明涉及一种在大型主机平台上打印含有中文内容的标签的打印装置。
背景技术
在钢铁制造企业,成品标签是贴于成品钢卷之上对钢卷进行身份标识的唯一介 质,它是将钢卷实物与钢卷信息关联的唯一纽带,不仅是生产厂对钢卷进行存货、出货等操 作的重要依据,也是钢铁企业产品对外的形象标识,标签上内容是否正确,尤为重要。在武钢整体产销资讯系统投运以前,武钢成品标签的打印方式是离线打印,具体 为在微机上编制独立的标签打印程序,钢卷在最后一个机组产出称重以后,人工输入每个 产出钢卷的钢卷标识、钢种、规格、重量等数据并通过标签打印程序手动打印数据,这种离 线打印的方式工作量大,出错率高。在武钢整体产销资讯系统投运以后,可以对成品标签实 行在线打印,从系统自动获取钢卷的打印数据并在钢卷产出以后自动打印出来。但是标签打印机(条码打印机)是专业的打印设备,不同于常见的办公用打印机, 在主机平台上只能通过接受并识别以指令语言组成的包含了标签打印内容、位置、大小并 置入了汉字区位编码的驱动文本,使用文本驱动的模式被驱动文本驱动进行标签打印。武钢整体产销资讯系统运行在操作系统为0S/390的大型主机平台上,要在大型 主机平台上使用标签打印机在线打印标签,就要解决如何将0S/390环境下基于EB⑶IC编 码的中文字符串和中西文混合字符串转换为标签打印机可以识别和接受的编程语言,即转 换为包含汉字区位编码的驱动文本,以直接使用标签打印机厂家提供的专用的编程语言来 操作打印机,通过文本驱动(GenericText Only)的方式进行标签打印。因此,有必要提供一种基于0S/390的大型主机平台的标签打印装置,能使标签打 印机打印中文字符串、中西文混合字符串。

发明内容
本发明的目的是提供基于0S/390的大型主机平台的标签打印装置,能将基于 EB⑶IC编码的中文字符串、中西文混合字符串正确转换为标签打印机可以识别的编程语 言,正确打印出中文字符和中西文字符标签。为了实现上述目的,本发明提供了一种基于大型主机平台的标签打印装置,包 括命令控制符转换模块,安装于与标签打印机物理连接的PC客户端上,在标签打印 机开机时启动,用于将标签打印机指令语言中的命令控制符前缀置换为主机字符,以使标 签打印机可以识别主机发送的字符;打印控制模块,与过程控制机连接,用于在生产过程中最后一个机组的成品产出 后、当接收到过程控制机发送的包含有要打印的标签号的生产LOG时,向数据拮取模块发 送标签号,接收数据拮取模块返回的此标签号的特征信息和打印信息,通过此标签号的特 征信息指定标签打印机终端号并确定与此标签号对应的标签格式模块,向对应的标签格式模块发送标签打印机终端号和打印信息;数据拮取模块,与打印控制模块连接,用于接收打印控制模块发送的标签号,根据 所述标签号获取特征信息和打印信息,同时将所述标签号的特征信息和打印信息返回给打 印控制模块;多个标签格式模块,均与打印控制模块连接,用于接收打印控制模块发送的标签 打印机终端号和由多个中文字符串或中西文混合字符串的字段组成的打印信息,对打印信 息中的每一个字段,设置起始位置、字体大小、旋转方向,逐个将字段信息及对应设置的起 始位置、字体大小、旋转方向发送至中西文转换模块,接收中西文转换模块返回的与每一个 字段信息对应的命令格式串,将多个字段对应的多个命令格式串组合成驱动文本,将驱动 文本发送给标签打印机;中西文转换模块,与每一个标签格式模块连接,用于逐个接收标签格式模块发送 的字段信息和对应设置的起始位置、字体大小、旋转方向,并对字段内容进行汉字识别,当 识别出当前字符为基于EBCDIC编码的汉字时,将该汉字发送至中文转换模块,接收中文转 换模块返回的该汉字的区位码,结合设置的起始位置、字体大小、旋转方向将区位码置入命 令格式串,当识别出当前字符为西文字符时,结合设置的起始位置、字体大小、旋转方向将 西文字符置入命令格式串,字段内容识别完后将命令格式串返回至标签格式模块;中文转换模块,与中西文转换模块连接,用于接收中西文转换模块发送的中文字 符,将基于EBCDIC编码的中文字符转换为汉字区位码,将汉字区位码返回至中西文转换模 块。在本发明的一个实施例中,所述装置还包括数据记录模块,与打印控制模块以及标签格式模块连接,在标签格式模块将驱动 文本发送给标签打印机后,在打印控制模块的控制下记录所述标签号的打印实绩。在本发明的另一实施例中,所述中西文转换模块包括接收及初始化单元,用于接收标签格式模块转发的打印信息中的字段信息,统计 字段信息的长度,接收设置的字段信息的打印起始位置值以及字体大小,将字段信息视为 一个字符数组A,初始化此字符数组的下标AI为0,初始化命令格式串,将命令格式串视为 一个字符数组B,初始化此字符数组的下标BI为1 ;监控单元,用于将字符数组A的下标增加1,判断下标是否超过此字符数组的长 度;读取单元,用于当监控单元检查出下标未超过此字符数组的长度时,读取字符数 组A中当前下标的字符;第一判断单元,用于判断读取的当前字符的EIBDIC编码值是否为中文开始字符;第二判断单元,用于当第一判断单元判断出读取的当前字符的EIBDIC编码值是 中文开始字符时,判断西文打印标识是否被设置;第一设置单元,用于当第二判断单元判断出西文打印标识被设置时,在命令格式 串中置入语句处理结束指令语言,根据该指令语言在命令格式串中的起始位置计算下一指 令语言在命令格式串中的起始位置,取消西文打印标识;第二设置单元,用于当第二判断单元判断出西文打印标识未被设置时、或者当第 一设置单元设置完毕后,开始一个新的汉字打印单位的设置根据打印起始位置的计算公式计算该打印单位的起始位置,在命令格式串中置入中文打印开始控制指令语言、起始打 印位置指令语言、旋转方向和字体大小指令语言、中文打印内容开始指令语言,设置中文打 印标识,取消西文打印标识,在置入每一指令语言后,根据该指令语言在命令格式串中的起 始位置计算下一指令语言在命令格式串中的起始位置,此时监控单元继续将字符数组A的 下标增加1,检查下标是否超过字符数组A的长度;第三判断单元,用于当第一判断单元判断出读取的当前字符的EIBDIC编码值不 是中文开始字符时,判断读取的字符的EIBDIC编码值是否为中文结束字符;第三设置单元,用于当第三判断单元判断出读取的当前字符的EIBDIC编码值是 中文结束字符时,在命令格式串中置入语句处理结束指令语言和中文结束打印控制指令语 言,根据该指令语言在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始 位置,取消中文打印标识,此时监控单元继续将字符数组A的下标增加1,检查下标是否超 过字符数组A的长度;第四判断单元,用于当第三判断单元判断出读取的当前字符的EIBDIC编码值不 是中文结束字符时,判断中文打印标识是否被设置;第四设置单元,用于当第四判断单元判断出中文打印标识被设置时,将当前字符 和下一字符发送至中文转换模块,获取中文转换模块转换得到的汉字的区位码,以/XX/XX 的格式将区位码置入命令格式串,根据该区位码在命令格式串中的起始位置计算下一指令 语言在命令格式串中的起始位置,将字符数组A的下标增加1,此时监控单元继续将字符数 组A的下标增加1,检查下标是否超过字符数组A的长度;第五判断单元,用于当第四判断单元判断出中文打印标识未被设置时,判断西文 打印标识是否被设置;第五设置单元,用于当第五判断单元判断出西文打印标识被设置时,将当前字符 置入命令格式串,根据该字符在命令格式串中的起始位置计算下一指令语言在命令格式串 中的起始位置,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组 A的长度;第六设置单元,用于当第五判断单元判断出西文打印标识未被设置时,开始一个 新的字符打印单位的设置根据打印起始位置的计算公式计算该打印单位的起始位置,在 命令格式串中置入起始打印位置指令语言、旋转方向和字体大小指令语言、西文打印内容 开始指令语言,置入当前字符,设置西文打印标识,在置入每一指令语言或字符后,根据该 指令语言或字符在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位 置,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;第六判断单元,用于当监控单元检查出下标超过此字符数组的长度时,判断中文 打印标识是否被设置;第七设置单元,用于当第六判断单元判断出中文打印标识被设置时,在命令格式 串中置入中文结束打印控制指令语言;命令格式串返回单元,用于第六判断单元判断出中文打印标识未被设置时,或者 当第七设置单元设置完毕后,将完整的命令格式串发送至标签格式模块。在本发明的再一实施例中,所述中文转换模块包括第一判断单元,用于判断直接对照表中是否存在中西文转换模块发送的汉字的raCDIC编码值;第二判断单元,用于当第一判断单元判断出直接对照表中不存在中西文转换模块 发送的汉字的EB⑶IC编码值时,判断汉字的EB⑶IC编码重定义为二进制值后的二进制重 定义值C0MP2是否在18952至19045之间;第一处理单元,用于当第二判断处理单元判断出二进制重定义值C0MP2在18952 至19045之间时,将二进制重定义值C0MP2与18951的差值作为二进制重定义值C0MP2的
位移量;第二处理单元,用于当第二判断处理单元判断出二进制重定义值C0MP2不在 18952至19045之间时,将二进制重定义值C0MP2与18952的差值除以256,得到商和余数;第三判断单元,用于判断汉字的EB⑶IC编码的第二位是否大于十六进制‘80’ ;第三处理单元,用于当第三判断单元判断出汉字的EB⑶IC编码的第二位大于 十六进制‘80’时,将第二处理单元得到的余数减去1从而得到修正后的余数,将第二处理 单元得到的商与188之积加上94以及余数,得到二进制重定义值C0MP2的位移量,且当第 三判断单元判断出汉字的EBCDIC编码的第二位不大于十六进制‘80’时,将第二处理单元 得到的商与188之积加上94以及第二处理单元得到的余数,得到二进制重定义值C0MP2的 位移量;第四处理单元,用于第一处理单元以及第三处理单元得到的二进制重定义值 C0MP2的位移量除以94,得到商和余数;第四判断单元,用于判断第四处理单元得到的余数是否大于0 ;第五处理单元,用于当余数大于0时,将商加上1从而得到修正后的商;;第六处理单元,用于当余数等于0时,将94赋给余数从而得到修正后的余数;区位码确定单元,用于当第一判断单元判断出直接对照表中存在中西文转换模块 发送的汉字的EBCDIC编码值时,该汉字的区位码确定为直接对照表中与该汉字的EBCDIC 编码值对应的汉字区位码,或者将第五处理单元得到的商作为数组Q12[]的下标,将第六 处理单元得到的余数作为数组Q34[]的下标,将Q12[商]确定为汉字的EBCDIC编码对应 的汉字区位码前两位,Q34[余数]确定为汉字的EBCDIC编码对应的汉字区位码后两位。与现有技术相比,本发明基于0S/390的大型主机平台的标签打印装置的打印控 制模块通过要打印的标签号的生产LOG启动或者通过人工启动,获得标签号,数据拮取模 块获得该标签号的特征信息和打印信息并转发至打印控制模块,标签格式模块将打印信息 通过中西文转换模块转换成标签打印机可以识别和接受的以命令格式串组成的驱动文本, 其中中文转换模块是将打印信息中的汉字转换成区位码以置入命令格式串,标签格式模块 将多个命令格式串组合成驱动文本,发送至标签打印机,此时标签打印机能成功打印标签。 本装置能将基于EBCDIC编码的中文字符串、中西文混合字符串正确转换为标签打印机可 以识别的编程语言,正确打印出中文字符和中西文字符标签。另外,打印控制模块能实现打印机终端、标签格式模块的灵活配置。此外,本发明通过打印记录模块实时记录标签的打印实绩,如打印数据和打印情 况,为标签打印的跟踪查询提供了基础资料。通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明 的实施例。


图1为本发明基于大型主机平台的标签打印装置的组成结构示意图。图Ia为图1所示标签打印装置的工作流程图。图2a为图1所示标签打印装置中的中西文转换模块的详细组成图。图2b为图2a所示中西文转换模块的流程图。图3a为图1所示标签打印装置中的中文转换模块的详细组成图。图3b为图3a所示中文转换模块的流程图。图4为图1所示标签打印装置在整体产销资讯管理系统中的位置示意图。
具体实施例方式现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。如图1,本发明基于大型主机平台的标签打印装置100包括命令控制符转换模块 110、打印控制模块120、数据拮取模块130、多个标签格式模块140、中西文转换模块150、中 文转换模块160以及数据记录模块170。命令控制符转换模块110安装于与标签打印机200物理连接的PC客户端310 (见 图4)上,在标签打印机200开机时启动,用于将标签打印机200指令语言中的命令控制符 前缀(如)置换为主机字符(如‘#,),这样,标签格式模块产生以‘#,开始的指令语言 并发送至标签打印机后,标签打印机就可以识别并打印以“#”开始的指令语言了)。打印控制模块120与过程控制机连接,用于在生产过程中最后一个机组的成品产 出后、当接收到过程控制机发送的包含有要打印的标签号的生产LOG时,向数据拮取模块 130发送标签号,接收数据拮取模块130返回的此标签号的特征信息和打印信息,通过此标 签号的特征信息指定标签打印机终端号并确定与此标签号对应的标签格式模块140 (不同 类型的标签有不同的打印格式,一个标签格式模块对应一个特定的标签格式),向对应的标 签格式模块140发送标签打印机终端号和打印信息。数据拮取模块130,与打印控制模块120连接,用于接收打印控制模块120发送的 标签号,从产销系统中获取所述标签号的特征信息和基本打印信息,依据所述特征信息获 取所述标签号的特殊打印信息(特征信息如产品大类、形态等;基本信息如钢卷号、标准 号、品名、生产日期、钢种、规格、重量、外观使用面等;特殊信息如硅钢的涂层种类、边缘 要求,普冷材的表面组别、冲压级别,镀锡材的表面组别、硬度、镀锡量,外销合同的唛头、到 港站、收货单位、外部合同号等),同时将所述标签号的特征信息和打印信息(包括基本打 印信息和特殊打印信息)返回给打印控制模块120。其中,特征信息包括产品大类、产品形态、用途代码、销售类别。通过产品大类可以 区分标签号是下列的一种热轧材、冷轧普冷材、冷轧镀锌材、冷轧镀锡材、冷轧硅钢材、冷 轧彩涂材、无取向硅钢、取向硅钢、中厚板。每一种产品大类,其标签格式是不同的;通过产 品形态可以区分是此标签号是板、卷、或带,板和卷带的标签格式也是不同的;通过用途代 码可以区分此标签号是汽车板,或家电板,或其他。对于汽车板有特殊的标签格式;通过销 售类别可以区分此标签号是内销还是外销,外销的标签与内销的标签格式也是不同的。打 印控制模块120通过标签号的特征信息确定相关的标签格式,获取相关的标签格式模块。
基本打印信息是所有的标签中都包含的基本内容,有钢卷号、标准号、品名、生产 日期、钢种、规格、重量、外观使用面。特殊打印信息包括特征信息如产品大类、形态等;基本信息如钢卷号、标准号、 品名、生产日期、钢种、规格、重量、外观使用面等;特殊信息如硅钢的涂层种类、边缘要 求,普冷材的表面组别、冲压级别,镀锡材的表面组别、硬度、镀锡量,外销合同的唛头、到港 站、收货单位、外部合同号等。多个标签格式模块140均与打印控制模块120连接,用于接收所述打印控制模块 120发送的标签打印机终端号和由多个中文字符串或中西文混合字符串的字段组成的打印 信息,对打印信息中的每一个字段,设置起始位置、字体大小、旋转方向(打印方式),逐个 将字段信息及对应设置的起始位置、字体大小、旋转方向发送至中西文转换模块,接收中西 文转换模块返回的与每一个字段信息对应的命令格式串,将多个字段对应的多个命令格式 串组合在一起在开头加上起始指令,在结尾加上结束指令,形成驱动标签打印机200进行 标签打印的驱动文本,将驱动文本通过CICS的SEND命令发送给指定的与标签打印机终端 号对应的标签打印机200 (指定的标签打印机接收驱动文本,直到接收到结束指令(标签格 式模块组成驱动文本时加在驱动文本后面的‘#XZ’,标签打印机200收到‘#XZ’意味着这张 标签的打印指令全部接收完毕)后,启动打印动作并依据起始指令和结束指令之间的指令 语言集合进行标签打印)。中西文转换模块150,与每一个标签格式模块140连接,用于逐个接收标签格式模 块140发送的打印信息中的字段信息和打印方式(起始位置、字体大小、旋转方向),并对字 段内容进行汉字识别,当识别出当前字符为基于EBCDIC编码的汉字(中文字符)时,将该 汉字发送至中文转换模块,接收中文转换模块返回的该汉字的区位码,结合设置的起始位 置、字体大小、旋转方向将区位码动态置入命令格式串,当识别出当前字符为西文字符时, 结合设置的起始位置、字体大小、旋转方向直接将西文字符动态置入命令格式串,将字段内 容识别完后将命令格式串返回至标签格式模块140。中文转换模块160,与中西文转换模块150连接,用于接收中西文转换模块发送的 汉字,利用基于EIBDIC的汉字编码规律和汉字区位码的编码规律,将基于EBCDIC编码的汉 字转换为汉字区位码,将汉字区位码返回至中西文转换模块。数据记录模块170,与打印控制模块120以及标签格式模块140连接,在标签格式 模块140将驱动文本发送给标签打印机后,在打印控制模块120的控制下记录所述标签号 的打印实绩(包括打印内容、每一张标签的打印时间、打印机号、打印方式和打印人员、打 印份数等),如果所述标签号已经被打印过,在手动打印标签时,打印控制模块120可根据 打印的记录进行打印权限的限制。下面说明所述基于大型主机平台的标签打印装置的工作流程,如图la,包括如下 步骤步骤S101,在标签打印机200开机启动时,启动命令控制符替换模块110,控制符 替换模块110将标签打印机200指令语言中的命令控制符前缀置换为主机字符(如‘#’), 以使当主机发送以#开始的指令语言集时,标签打印机200能够识别,从而启动打印;步骤S102,在生产过程中最后一个机组的成品产出后、当收到过程控制机发送的 生产LOG时,打印控制模块120向数据拮取模块130发送标签号;
步骤S103,数据拮取模块130接收打印控制模块120发送的标签号,从产销系统中 获取与所述标签号对应的特征信息和基本打印信息,依据所述特征信息获取所述标签号的 特殊打印信息,同时将所述标签号的特征信息和打印信息(包括基本打印信息和特殊打印 信息)返回给打印控制模块120 ;步骤S104,打印控制模块120接收数据拮取模块130返回的此标签号的特征信息 和打印信息,通过此标签号的特征信息指定标签打印机终端号并确定标签格式模块,向对 应的标签格式模块140发送标签打印机终端号和打印信息;步骤S105,判断标签格式模块140对打印控制模块120发送的打印信息中的所有 字段是否处理完毕,如果是,转步骤S113,如果否,继续下一步步骤S106,对每个字段,对其设置打印方式(起始位置、字体大小、旋转方向),将 该字段的字段信息和打印方式发送给中西文转换模块150 ;步骤S107,判断中西文转换模块150对字段信息内容中的所有字符是否逐一识别 完毕,如果是,转S112 ;如果否,继续下一步;步骤S108,读取当前字符,判断当前字符是否是汉字,如果是,继续下一步,如果 否,转步骤Slll ;步骤S109,中西文转换模块150将汉字发送至中文转换模块160,中文转换模块 160将中西文转换模块150发送的汉字转换成汉字区位码,并将汉字区位码发送至中西文 转换模块150 ;步骤S110,中西文转换模块150结合字段的打印方式将区位码置入到命令格式串 中,转步骤S107 ;步骤S111,中西文转换模块150结合字段的打印方式将非中文字符置入到命令格 式串中,转步骤S107 ;步骤S112,中西文转换模块150将最后得到的命令格式串发送到标签格式模块, 转步骤S105 ;步骤S113,标签格式模块140将多个命令格式串组合成驱动文本,将驱动文本发 送给与打印机终端号对应的标签打印机200,启动该标签打印机200,开始标签打印;步骤S114,在标签格式模块140将驱动文本发送给标签打印机后,标签打印机200 启动标签打印,数据记录模块170在打印控制模块120的控制下记录标签号的打印实绩,在 手动打印标签时,打印控制模块120可根据打印的记录进行打印权限的限制。由上可知,本发明标签打印装置100通过中西文转换模块150调用中文转换模块 160,中文转换模块160将打印信息中的中文字符串、中西文混合字符串中的汉字转换成汉 字区位码,中西文转换模块150进而将中文字符串、中西文混合字符串形式的打印信息转 换成命令格式串,标签打印机200能接收此命令格式串中的指令语言,自动打印标签。另外,本发明通过打印控制模块120实现打印机终端、标签格式模块的灵活配置。此外,本发明通过打印记录模块170实时记录标签的打印实绩,如打印数据和打 印情况,为标签打印的跟踪查询提供了基础资料。再者,本发明的打印控制模块120利用过程控制机实时发送的生产LOG作为触发 时机,实现了生产过程中自动打印成品标签的功能。需要说明的是,所述打印控制模块除了 由正确处理生产LOG的上位机触发启动,也可以通过人机界面来启动。
下面对中西文转换模块150进行详细说明。图2a为中西文转换模块150的组成 结构图,图2b为中西文转换模块150的工作流程图。如图3a-3b,如图2a_2b,所述中西文 转换模块150的工作原理是步骤S201,接收及初始化单元151接收标签格式模块转发的打印信息中的字段信 息,统计字段信息的长度,接收设置的字段的打印起始位置值以及字体大小、旋转方向,依 据字体大小获取宽象素点数、高象素点数、汉字宽度修正值、字符宽度修正值,将字符串视 为一个字符数组A,初始化此字符数组的下标AI为0,初始化命令格式串,将命令格式串视 为一个字符数组B,初始化此字符数组的下标BI为1 ;步骤S202,监控单元152将接收及初始化单元151初始化字符数组A的下标增加 1,检查下标是否超过此字符数组的长度,如果是(字符串已读完),转步骤S215,如果否,继 续下一步;步骤S203,读取单元153读取字符数组A中当前下标的字符,继续下一步;步骤S204,第一判断单元154判断读取单元153读取的当前字符的EIBDI C编码 值是否为中文开始字符(X’ 0E’),如果是,继续下一步,如果否,转步骤S208 ;步骤S205,第二判断单元155判断西文打印标识是否被设置,如果是,继续下一 步,如果否,转步骤S207 ;步骤S206,第一设置单元156置入语句处理结束指令语言,根据此指令语言在命 令格式串中的起始位置计算此指令语言置入后,下一指令语言在命令格式串中的起始位 置,取消西文打印标识,继续下一步;步骤S207,第二设置单元157开始一个新的汉字打印单位的设置置入中文打印 开始控制指令语言,根据此指令语言在命令格式串中的起始位置计算此指令语言置入后, 下一指令语言在命令格式串中的起始位置;根据打印起始位置的计算公式计算该打印单位 的起始位置;根据计算的该打印单位的起始位置置入起始打印位置指令语言,根据此指令 语言在命令格式串中的起始位置计算此指令语言置入后,下一指令语言在命令格式串中的 起始位置;根据设置的字体大小以及旋转方向置入旋转方向和字体大小指令语言,根据此 指令语言在命令格式串中的起始位置计算此指令语言置入后,下一指令语言在命令格式串 中的起始位置;置入中文打印内容开始指令语言,根据此指令语言在命令格式串中的起始 位置计算此指令语言置入后,下一指令语言在命令格式串中的起始位置;设置中文打印标 识,取消西文打印标识,转步骤S202 ;步骤S208,第三判断单元158判断读取单元153读取的字符的EIBDIC编码值是否 为中文结束字符(X’ OF’),如果是,继续下一步,如果否,转步骤S210 ;步骤S209,第三设置单元159在命令格式串中置入语句处理结束指令语言和中文 结束打印控制指令语言,根据此指令语言在命令格式串中的起始位置计算此指令语言置入 后,下一指令语言在命令格式串中的起始位置,取消中文打印标识,转步骤S202 ;步骤S210,第四判断单元159a判断中文打印标识是否被设置,如果是(当前字符 是中文字符的第一个字节)),继续下一步,如果否(当前字符是西文字符),转步骤S212 ;步骤S211,第四设置单元159b将当前字符和下一字符发送至中文转换模块,获取 中文转换模块转换得到的汉字的区位码,以/XX/XX的格式将区位码置入命令格式串,根据 此区位码在命令格式串中的起始位置计算此区位码置入后,下一指令语言在命令格式串中的起始位置,将字符数组A的下标增加1,转步骤S202 ;步骤S212,第五判断单元159c判断西文打印标识是否被设置,如果是,继续下一 步,如果否,转步骤S214 ;步骤S213,第五设置单元159d将当前字符置入命令格式串,根据此字符在命令 格式串中的起始位置计算此字符置入后,下一字符在命令格式串中的起始位置,转步骤 S202 ;步骤S214,第六设置单元159e开始一个新的字符打印单位的设置根据打印起始 位置的计算公式计算该打印单位的起始位置;根据计算的该打印单位的起始位置置入起始 打印位置指令语言,根据此指令语言在命令格式串中的起始位置计算此指令语言置入后, 下一指令语言在命令格式串中的起始位置,根据设置的字体大小以及旋转方向置入旋转方 向和字体大小指令语言,根据此指令语言在命令格式串中的起始位置计算此指令语言置入 后,下一指令语言在命令格式串中的起始位置;置入西文打印内容开始指令语言,根据此指 令语言在命令格式串中的起始位置计算此指令语言置入后,下一指令语言在命令格式串中 的起始位置;置入当前字符,根据此字符在命令格式串中的起始位置计算此字符置入后,下 一字符在命令格式串中的起始位置;设置西文打印标识,转步骤S202 ;步骤S215,第六判断单元159f判断中文打印标识是否被设置,如果是,转步骤 S217,如果否,转步骤S216 ;步骤S216,第七设置单元159g在命令格式串中置入中文结束打印控制指令语言;步骤S217,命令格式串返回单元159i获得完整的命令串,将它发送给标签格式模 块,结束。其中,步骤S201中统计字段信息的长度涉及到字段信息长度的计算,在主机环境 中,字符串的实际存储格式为每个西文为一个字符长,每个汉字为二个字符长,汉字开始 字符(值为十六进制’ OE')为一个字符长,汉字结束字符(值为十六进制’ OF’ )为一个字 符长。其中,步骤S201中的依据字体大小获取宽象素点数、高象素点数、汉字宽度修正 值、字符宽度修正值具体为先定义字体的大小等级(字号),根据字号设置宽象素点数、高象素点数,根据经 验值以及字号设置汉字宽度修正值和字符厚度修正值(汉字宽度修正值和字符厚度修正 值均是经验值,设置这两个值的原因是虽然在打印指令中定义打印字符的大小,但是在标 签打印机的实际的打印中会有偏差,特别是既打印汉字又打印字符时处理又有不同,因此 设定这两个值)。表1为示意性地展示了设置的字号,以及与字号对应的宽象素点数、高象 素点数、汉字宽度修正值、字符宽度修正值。
权利要求
一种基于大型主机平台的标签打印装置,包括命令控制符转换模块,安装于与标签打印机物理连接的PC客户端上,在标签打印机开机时启动,用于将标签打印机指令语言中的命令控制符前缀置换为主机字符,以使标签打印机可以识别主机发送的字符;打印控制模块,与过程控制机连接,用于在生产过程中最后一个机组的成品产出后、当接收到过程控制机发送的包含有要打印的标签号的生产LOG时,向数据拮取模块发送标签号,接收数据拮取模块返回的此标签号的特征信息和打印信息,通过此标签号的特征信息指定标签打印机终端号并确定与此标签号对应的标签格式模块,向对应的标签格式模块发送标签打印机终端号和打印信息;数据拮取模块,与打印控制模块连接,用于接收打印控制模块发送的标签号,根据所述标签号获取特征信息和打印信息,同时将所述标签号的特征信息和打印信息返回给打印控制模块;多个标签格式模块,均与打印控制模块连接,用于接收打印控制模块发送的标签打印机终端号和由多个中文字符串或中西文混合字符串的字段组成的打印信息,对打印信息中的每一个字段,设置起始位置、字体大小、旋转方向,逐个将字段信息及对应设置的起始位置、字体大小、旋转方向发送至中西文转换模块,接收中西文转换模块返回的与每一个字段信息对应的命令格式串,将多个字段对应的多个命令格式串组合成驱动文本,将驱动文本发送给标签打印机;中西文转换模块,与每一个标签格式模块连接,用于逐个接收标签格式模块发送的字段信息和对应设置的起始位置、字体大小、旋转方向,并对字段内容进行汉字识别,当识别出当前字符为基于EBCDIC编码的汉字时,将该汉字发送至中文转换模块,接收中文转换模块返回的该汉字的区位码,结合设置的起始位置、字体大小、旋转方向将区位码置入命令格式串,当识别出当前字符为西文字符时,结合设置的起始位置、字体大小、旋转方向将西文字符置入命令格式串,字段内容识别完后将命令格式串返回至标签格式模块;中文转换模块,与中西文转换模块连接,用于接收中西文转换模块发送的中文字符,将基于EBCDIC编码的中文字符转换为汉字区位码,将汉字区位码返回至中西文转换模块。
2.如权利要求1所述的基于大型主机平台的标签打印装置,其特征在于,还包括数据记录模块,与打印控制模块以及标签格式模块连接,在标签格式模块将驱动文本 发送给标签打印机后,在打印控制模块的控制下记录所述标签号的打印实绩。
3.如权利要求1所述的基于大型主机平台的标签打印装置,其特征在于,所述中西文 转换模块包括接收及初始化单元,用于接收标签格式模块转发的打印信息中的字段信息,统计字段 信息的长度,接收设置的字段信息的打印起始位置值以及字体大小,将字段信息视为一个 字符数组A,初始化此字符数组的下标AI为0,初始化命令格式串,将命令格式串视为一个 字符数组B,初始化此字符数组的下标BI为1 ;监控单元,用于将字符数组A的下标增加1,判断下标是否超过此字符数组的长度;读取单元,用于当监控单元检查出下标未超过此字符数组的长度时,读取字符数组A 中当前下标的字符;第一判断单元,用于判断读取的当前字符的EIBDIC编码值是否为中文开始字符;第二判断单元,用于当第一判断单元判断出读取的当前字符的EIBDIC编码值是中文 开始字符时,判断西文打印标识是否被设置;第一设置单元,用于当第二判断单元判断出西文打印标识被设置时,在命令格式串中 置入语句处理结束指令语言,根据该指令语言在命令格式串中的起始位置计算下一指令语 言在命令格式串中的起始位置,取消西文打印标识;第二设置单元,用于当第二判断单元判断出西文打印标识未被设置时、或者当第一设 置单元设置完毕后,开始一个新的汉字打印单位的设置根据打印起始位置的计算公式计 算该打印单位的起始位置,在命令格式串中置入中文打印开始控制指令语言、起始打印位 置指令语言、旋转方向和字体大小指令语言、中文打印内容开始指令语言,设置中文打印标 识,取消西文打印标识,在置入每一指令语言后,根据该指令语言在命令格式串中的起始位 置计算下一指令语言在命令格式串中的起始位置,此时监控单元继续将字符数组A的下标 增加1,检查下标是否超过字符数组A的长度;第三判断单元,用于当第一判断单元判断出读取的当前字符的EIBDIC编码值不是中 文开始字符时,判断读取的字符的EIBDIC编码值是否为中文结束字符;第三设置单元,用于当第三判断单元判断出读取的当前字符的EIBDIC编码值是中文 结束字符时,在命令格式串中置入语句处理结束指令语言和中文结束打印控制指令语言, 根据该指令语言在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位 置,取消中文打印标识,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过 字符数组A的长度;第四判断单元,用于当第三判断单元判断出读取的当前字符的EIBDIC编码值不是中 文结束字符时,判断中文打印标识是否被设置;第四设置单元,用于当第四判断单元判断出中文打印标识被设置时,将当前字符和下 一字符发送至中文转换模块,获取中文转换模块转换得到的汉字的区位码,以/xx/xx的格 式将区位码置入命令格式串,根据该区位码在命令格式串中的起始位置计算下一指令语言 在命令格式串中的起始位置,将字符数组A的下标增加1,此时监控单元继续将字符数组A 的下标增加1,检查下标是否超过字符数组A的长度;第五判断单元,用于当第四判断单元判断出中文打印标识未被设置时,判断西文打印 标识是否被设置;第五设置单元,用于当第五判断单元判断出西文打印标识被设置时,将当前字符置入 命令格式串,根据该字符在命令格式串中的起始位置计算下一指令语言在命令格式串中的 起始位置,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的 长度;第六设置单元,用于当第五判断单元判断出西文打印标识未被设置时,开始一个新的 字符打印单位的设置根据打印起始位置的计算公式计算该打印单位的起始位置,在命令 格式串中置入起始打印位置指令语言、旋转方向和字体大小指令语言、西文打印内容开始 指令语言,置入当前字符,设置西文打印标识,在置入每一指令语言或字符后,根据该指令 语言或字符在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,此 时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;第六判断单元,用于当监控单元检查出下标超过此字符数组的长度时,判断中文打印标识是否被设置;第七设置单元,用于当第六判断单元判断出中文打印标识被设置时,在命令格式串中 置入中文结束打印控制指令语言;命令格式串返回单元,用于当第六判断单元判断出中文打印标识未被设置时,或者当 第七设置单元设置完毕后,将完整的命令格式串发送至标签格式模块。
4.如权利要求1所述的基于大型主机平台的标签打印装置,其特征在于,所述中文转 换模块包括第一判断单元,用于判断直接对照表中是否存在中西文转换模块发送的汉字的EBCDIC 编码值;第二判断单元,用于当第一判断单元判断出直接对照表中不存在中西文转换模块发送 的汉字的EBCDIC编码值时,判断汉字的EBCDIC编码重定义为二进制值后的二进制重定义 值C0MP2是否在18952至19045之间;第一处理单元,用于当第二判断处理单元判断出二进制重定义值C0MP2在18952至 19045之间时,将二进制重定义值C0MP2与18951的差值作为二进制重定义值C0MP2的位移 量;第二处理单元,用于当第二判断处理单元判断出二进制重定义值C0MP2不在18952至 19045之间时,将二进制重定义值C0MP2与18952的差值除以256,得到商和余数; 第三判断单元,用于判断汉字的EBCDIC编码的第二位是否大于十六进制‘80’ ; 第三处理单元,用于当第三判断单元判断出汉字的EBCDIC编码的第二位大于十六进 制‘80’时,将第二处理单元得到的余数减去1从而得到修正后的余数,将第二处理单元得 到的商与188之积加上94以及余数,得到二进制重定义值C0MP2的位移量,且当第三判断 单元判断出汉字的EBCDIC编码的第二位不大于十六进制‘80’时,将第二处理单元得到的 商与188之积加上94以及第二处理单元得到的余数,得到二进制重定义值C0MP2的位移 量;第四处理单元,用于第一处理单元以及第三处理单元得到的二进制重定义值C0MP2的 位移量除以94,得到商和余数;第四判断单元,用于判断第四处理单元得到的余数是否大于0 ; 第五处理单元,用于当余数大于0时,将商加上1从而得到修正后的商;; 第六处理单元,用于当余数等于0时,将94赋给余数从而得到修正后的余数; 区位码确定单元,用于当第一判断单元判断出直接对照表中存在中西文转换模块发送 的汉字的EBCDIC编码值时,该汉字的区位码确定为直接对照表中与该汉字的EBCDIC编码 值对应的汉字区位码,或者将第五处理单元得到的商作为数组Q12[]的下标,将第六处理 单元得到的余数作为数组Q34[]的下标,将Q12[商]确定为汉字的EB⑶IC编码对应的汉 字区位码前两位,Q34[余数]确定为汉字的EBCDIC编码对应的汉字区位码后两位。
全文摘要
本发明公开了一种基于大型主机平台的标签打印装置,包括命令控制符转换模块、打印控制模块、数据拮取模块、多个标签格式模块、中西文转换模块、中文转换模块以及数据记录模块。本装置的打印控制模块通过要打印的标签号的生产LOG启动或者通过人工启动,获得标签号,数据拮取模块获得该标签号的特征信息和打印信息并转发至打印控制模块,标签格式模块将打印信息通过中西文转换模块转换成标签打印机可以识别和接受的命令格式串,其中中文转换模块是将打印信息中的汉字转换成区位码以置入命令格式串,标签格式模块将多个命令格式串组合成驱动文本,发送至标签打印机,此时标签打印机能成功打印标签。
文档编号B41J29/393GK101992609SQ2010102979
公开日2011年3月30日 申请日期2010年9月30日 优先权日2010年9月30日
发明者李小瑞, 林虹 申请人:武汉钢铁(集团)公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1