一种基于大型主机平台的标签打印装置.pdf

上传人:xia****o6 文档编号:1646532 上传时间:2018-07-01 格式:PDF 页数:27 大小:773.86KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010297922.5

申请日:

2010.09.30

公开号:

CN101992609A

公开日:

2011.03.30

当前法律状态:

授权

有效性:

有权

法律详情:

专利实施许可合同备案的生效IPC(主分类):B41J 29/393合同备案号:2013420000165让与人:武汉钢铁(集团)公司受让人:武汉钢信软件有限公司发明名称:一种基于大型主机平台的标签打印装置申请日:20100930申请公布日:20110330授权公告日:20120829许可种类:独占许可备案日期:20130926|||授权|||实质审查的生效IPC(主分类):B41J 29/393申请日:20100930|||公开

IPC分类号:

B41J29/393

主分类号:

B41J29/393

申请人:

武汉钢铁(集团)公司

发明人:

李小瑞; 林虹

地址:

430080 湖北省武汉市武昌友谊大道999号A座15层

优先权:

专利代理机构:

武汉开元知识产权代理有限公司 42104

代理人:

潘杰

PDF下载: PDF下载
内容摘要

本发明公开了一种基于大型主机平台的标签打印装置,包括命令控制符转换模块、打印控制模块、数据拮取模块、多个标签格式模块、中西文转换模块、中文转换模块以及数据记录模块。本装置的打印控制模块通过要打印的标签号的生产LOG启动或者通过人工启动,获得标签号,数据拮取模块获得该标签号的特征信息和打印信息并转发至打印控制模块,标签格式模块将打印信息通过中西文转换模块转换成标签打印机可以识别和接受的命令格式串,其中中文转换模块是将打印信息中的汉字转换成区位码以置入命令格式串,标签格式模块将多个命令格式串组合成驱动文本,发送至标签打印机,此时标签打印机能成功打印标签。

权利要求书

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

说明书


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

    【技术领域】
     本发明涉及一种在大型主机平台上打印含有中文内容的标签的打印装置。背景技术 在钢铁制造企业, 成品标签是贴于成品钢卷之上对钢卷进行身份标识的唯一介 质, 它是将钢卷实物与钢卷信息关联的唯一纽带, 不仅是生产厂对钢卷进行存货、 出货等操 作的重要依据, 也是钢铁企业产品对外的形象标识, 标签上内容是否正确, 尤为重要。
     在武钢整体产销资讯系统投运以前, 武钢成品标签的打印方式是离线打印, 具体 为在微机上编制独立的标签打印程序, 钢卷在最后一个机组产出称重以后, 人工输入每个 产出钢卷的钢卷标识、 钢种、 规格、 重量等数据并通过标签打印程序手动打印数据, 这种离 线打印的方式工作量大, 出错率高。 在武钢整体产销资讯系统投运以后, 可以对成品标签实 行在线打印, 从系统自动获取钢卷的打印数据并在钢卷产出以后自动打印出来。
     但是标签打印机 ( 条码打印机 ) 是专业的打印设备, 不同于常见的办公用打印机, 在主机平台上只能通过接受并识别以指令语言组成的包含了标签打印内容、 位置、 大小并 置入了汉字区位编码的驱动文本, 使用文本驱动的模式被驱动文本驱动进行标签打印。
     武钢整体产销资讯系统运行在操作系统为 OS/390 的大型主机平台上, 要在大型 主机平台上使用标签打印机在线打印标签, 就要解决如何将 OS/390 环境下基于 EBCDIC 编 码的中文字符串和中西文混合字符串转换为标签打印机可以识别和接受的编程语言, 即转 换为包含汉字区位编码的驱动文本, 以直接使用标签打印机厂家提供的专用的编程语言来 操作打印机, 通过文本驱动 (GenericText Only) 的方式进行标签打印。
     因此, 有必要提供一种基于 OS/390 的大型主机平台的标签打印装置, 能使标签打 印机打印中文字符串、 中西文混合字符串。
     发明内容 本发明的目的是提供基于 OS/390 的大型主机平台的标签打印装置, 能将基于 EBCDIC 编码的中文字符串、 中西文混合字符串正确转换为标签打印机可以识别的编程语 言, 正确打印出中文字符和中西文字符标签。
     为了实现上述目的, 本发明提供了一种基于大型主机平台的标签打印装置, 包 括:
     命令控制符转换模块, 安装于与标签打印机物理连接的 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 的长度 ;
     第六判断单元, 用于当监控单元检查出下标超过此字符数组的长度时, 判断中文 打印标识是否被设置 ;
     第七设置单元, 用于当第六判断单元判断出中文打印标识被设置时, 在命令格式 串中置入中文结束打印控制指令语言 ;
     命令格式串返回单元, 用于第六判断单元判断出中文打印标识未被设置时, 或者 当第七设置单元设置完毕后, 将完整的命令格式串发送至标签格式模块。
     在本发明的再一实施例中, 所述中文转换模块包括 :
     第一判断单元, 用于判断直接对照表中是否存在中西文转换模块发送的汉字的
     EBCDIC 编码值 ;
     第二判断单元, 用于当第一判断单元判断出直接对照表中不存在中西文转换模块 发送的汉字的 EBCDIC 编码值时, 判断汉字的 EBCDIC 编码重定义为二进制值后的二进制重 定义值 COMP2 是否在 18952 至 19045 之间 ;
     第一处理单元, 用于当第二判断处理单元判断出二进制重定义值 COMP2 在 18952 至 19045 之间时, 将二进制重定义值 COMP2 与 18951 的差值作为二进制重定义值 COMP2 的 位移量 ;
     第二处理单元, 用于当第二判断处理单元判断出二进制重定义值 COMP2 不在 18952 至 19045 之间时, 将二进制重定义值 COMP2 与 18952 的差值除以 256, 得到商和余数 ;
     第三判断单元, 用于判断汉字的 EBCDIC 编码的第二位是否大于十六进制 ‘80’ ;
     第三处理单元, 用于当第三判断单元判断出汉字的 EBCDIC 编码的第二位大于 十六进制 ‘80’ 时, 将第二处理单元得到的余数减去 1 从而得到修正后的余数, 将第二处理 单元得到的商与 188 之积加上 94 以及余数, 得到二进制重定义值 COMP2 的位移量, 且当第 三判断单元判断出汉字的 EBCDIC 编码的第二位不大于十六进制 ‘80’ 时, 将第二处理单元 得到的商与 188 之积加上 94 以及第二处理单元得到的余数, 得到二进制重定义值 COMP2 的 位移量 ; 第四处理单元, 用于第一处理单元以及第三处理单元得到的二进制重定义值 COMP2 的位移量除以 94, 得到商和余数 ;
     第四判断单元, 用于判断第四处理单元得到的余数是否大于 0 ;
     第五处理单元, 用于当余数大于 0 时, 将商加上 1 从而得到修正后的商 ;;
     第六处理单元, 用于当余数等于 0 时, 将 94 赋给余数从而得到修正后的余数 ;
     区位码确定单元, 用于当第一判断单元判断出直接对照表中存在中西文转换模块 发送的汉字的 EBCDIC 编码值时, 该汉字的区位码确定为直接对照表中与该汉字的 EBCDIC 编码值对应的汉字区位码, 或者将第五处理单元得到的商作为数组 Q12[] 的下标, 将第六 处理单元得到的余数作为数组 Q34[] 的下标, 将 Q12[ 商 ] 确定为汉字的 EBCDIC 编码对应 的汉字区位码前两位, Q34[ 余数 ] 确定为汉字的 EBCDIC 编码对应的汉字区位码后两位。
     与现有技术相比, 本发明基于 OS/390 的大型主机平台的标签打印装置的打印控 制模块通过要打印的标签号的生产 LOG 启动或者通过人工启动, 获得标签号, 数据拮取模 块获得该标签号的特征信息和打印信息并转发至打印控制模块, 标签格式模块将打印信息 通过中西文转换模块转换成标签打印机可以识别和接受的以命令格式串组成的驱动文本, 其中中文转换模块是将打印信息中的汉字转换成区位码以置入命令格式串, 标签格式模块 将多个命令格式串组合成驱动文本, 发送至标签打印机, 此时标签打印机能成功打印标签。 本装置能将基于 EBCDIC 编码的中文字符串、 中西文混合字符串正确转换为标签打印机可 以识别的编程语言, 正确打印出中文字符和中西文字符标签。
     另外, 打印控制模块能实现打印机终端、 标签格式模块的灵活配置。
     此外, 本发明通过打印记录模块实时记录标签的打印实绩, 如打印数据和打印情 况, 为标签打印的跟踪查询提供了基础资料。
     通过以下的描述并结合附图, 本发明将变得更加清晰, 这些附图用于解释本发明 的实施例。
     附图说明
     图 1 为本发明基于大型主机平台的标签打印装置的组成结构示意图。 图 1a 为图 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 可根据 打印的记录进行打印权限的限制。
     下面说明所述基于大型主机平台的标签打印装置的工作流程, 如图 1a, 包括如下 步骤 :
     步骤 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, 读取当前字符, 判断当前字符是否是汉字, 如果是, 继续下一步, 如果 否, 转步骤 S111 ; 步骤 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’ OE’ ), 如果是, 继续下一步, 如果否, 转步骤 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 为示意性地展示了设置的字号, 以及与字号对应的宽象素点数、 高象 素点数、 汉字宽度修正值、 字符宽度修正值。
     字号 1 2宽象素点数 84 72高象素点数 84 72汉字宽度修正值、 76 66字符宽度修正值 48 4013101992609 A CN 101992612说60 48 ... 60 48 ...明书54 42 ... 36 26 ...10/16 页3 4 ...
     表1
     上述步骤中涉及本打印单位的打印起始位置的计算公式 :
     若前一打印单位为汉字 : X =前一个打印单位的打印起始位置 + 前一个打印单位 的汉字个数 × 前一个打印单位的汉字宽度修正值 ;
     若前一打印单位为字符 : X =前一个打印单位的打印起始位置 + 前一个打印单位 的字符个数 × 前一个打印单位的字符宽度修正值。
     因此, 依据前一个打印单位的打印起始位置、 前一个打印单位的汉字个数或字符 个数、 前一个打印单位的汉字宽度修正值或字符宽度修正值能得到本打印单位在标签中的 起始打印位置。 需要注意的是, 步骤 S213 这一步骤是对异常情况的特殊处理, 如: 按照正常情况, 汉字的结尾都会有一个结束符, 在中西文转换模块中是根据中文的结束符来将中文结束打 印控制指令语言置入命令格式串的, 如果在数据获取或传递的过程中出现异常 ( 字符串的 最后一位是汉字, 却没有汉字结束符 ), 那么就无法正确地将中文结束打印控制指令语言置 入到命令格式串中, 在命令格式串中有中文开始打印控制指令, 却没有中文结束打印控制 指令, 这样的驱动文本发送到标签打印机后是无法被正确处理的, 所以在处理完所有的字 符后, 要加上一段对中文打印标识的判断, 如果中文打印标识还处于被设置状态, 就自动将 中文结束打印控制指令语言置入到命令格式串中保证数据的完整。
     下面举例说明中西文转换模块 150 将字段转换成命令字符串的过程。假设标签格 式模块发送给中西文转换模块 150 的字段为 “中国 CHINA 武汉 WUHAN” , 设置该字段的打印 起始位置值 : X = 760, Y = 1020, 字体大小为字号为 3, 旋转方向为旋转 90 度。
     中西文转换模块 150 统计该字段信息的长度 : 6+5+6+5 = 22, 依据字体大小查找表 1, 获取宽象素点数为 60、 高象素点数为 60、 汉字宽度修正值为 54、 字符宽度修正值为 36 ; 将 字段视为一个字符数组 A, 初始化此字符数组的下标 AI 为 0, 初始化命令格式串, 将命令格 式串看作一个字符数组 B, 初始化其字符数组的下标 BI 为 1, 然后中西文转换模块 150 继续 下述动作 :
     ( 一 ) 中西文转换模块 150 从字符数组 A 中读取的第一个字符为中文开始字符 (X’ OE’ ), 此时西文打印标识未被设置, 中西文转换模块 150 的处理如下 :
     (1) 确立为第一个打印单位, 置入中文打印开始控制指令语言 “#CI14” , 其在命令 格式串中的起始位置 BI = 1( 为命令格式串字符数组的下标初始值 ), 中文打印开始控制指 令语言 “#CI14” 置入后, 下一指令语言在命令格式串中的起始位置为 BI = 1+5 = 6 ;
     (2) 根据打印起始位置计算公式计算第一个打印单位的起始位置 : X = 760+0×0 = 760( 前一个单位的打印起始位置初始化为 760, 前一个单位的字符 / 汉字个数初始化位 0, 前一个字符 / 汉字宽度修正值初始化为 0), Y = 1020 ;
     (3)、 置入起始打印位置指令语言 “#FO760, 1020” , 其在命令格式串中的起始位置 BI = 6, 起始打印位置指令语言 “#FO760, 1020” 置入后, 下一指令语言在命令格式串中的起 始位置为置入后 BI = 6+11 = 17 ;
     (4)、 设置的字体大小为字号 3, 字号 3 对应的宽象素点数为 60, 高象素点数为 60, 设置的旋转方向为旋转 90 度, 置入旋转方向和字体大小指令语言 “#AJR, 60, 60” , 其在命令 格式串中的起始位置 BI = 17, 旋转方向和字体大小指令语言 “#AJR, 60, 60” 置入后, 下一指 令语言在命令格式串中的起始位置为 BI = 17+10 = 27 ;
     (5)、 置入中文打印内容开始指令语言 “#FH/#FD” , 其在命令格式串中的起始位置 BI = 27, 中文打印内容开始指令语言 “#FH/#FD” 置入后, 下一指令语言在命令格式串中的 起始位置为 BI = 27+7 = 34,
     至此, 第一个字符即中文开始字符 (X’ OE’ ) 读取后, 中西文转换模块得到的命令 格式串的内容为 :
     “#CI14#FO760, 1020#AJR, 60, 60#FH/#FD” ;
     (6)、 设置中文打印标识, 取消西文打印标识。
     ( 二 ) 中西文转换模块 150 从字符数组 A 中读取的第二个字符, 不是中文开始字符 (X’ OE’ )、 不是中文结束字符 (X’ OF’ ), 中文打印标识被设置, 则中西文转换模块 150 作如 下处理 : (1)、 将字符数组 A 中第二个、 第三个字符的 EBCDIC 的值 (“中” ) 发送给中文转换 模块 ( 因为中文字符由两个字节组成, 第二个字符是中文的第一个字节, 第三个字符时中 文的第二个字节, 所以要将两个字节一起发过去 ), 调用中文转换模块并获取 “中” 的区位 码: “5650 ;
     (2)、 以 “/56/50” 的格式将 “中” 的区位码 “5650” 置入到命令格式串, 其在命令格 式串中的起始位置 BI = 34, “/56/50” 置入后, 下一指令语言在命令格式串中的起始位置为 BI = 34+6 = 40,
     至此, 第二、 三个字符读取后, 命令格式串的内容为 :
     “#CI 14#FO760, 1020#AJR, 60, 60#FH/#FD/56/50” 。
     需要注意的是, 此时第三个字符也处理完毕。
     ( 三 ) 中西文转换模块 150 从字符数组 A 中读取的第四个字符, 不是中文开始字符 (X’ OE’ )、 不是中文结束字符 (X’ OF’ ), 中文打印标识被设置, 则中西文转换模块 150 作如 下处理 :
     (1)、 将字符数组 A 中第四个、 第五个字符的 EBCDIC 的值 (“国” ) 发送给中文转换 模块, 调用中文转换模块并获取 “国” 的区位码 : “397A” ;
     (12)、 以 “/39/7A” 的格式将 “国” 的区位码 “397A” 置入到命令格式串, 其在命令 格式串中的起始位置 BI = 40, “/39/7A” 置入后, 下一指令语言在命令格式串中的起始位置 为 BI = 40+6 = 46,
     至此, 第四、 五个字符读取后, 命令格式串的内容为 :
     “#CI14#FO760, 1020#AJR, 60, 60#FH/#FD/56/50/39/7A” 。
     需要注意的是, 此时第五个字符也处理完毕。
     ( 四 ) 中西文转换模块 150 从字符数组 A 中读取的第六个字符, 不是中文开始字符
     (X’ OE’ )、 是中文结束字符 (X’ OF’ ), 则中西文转换模块 150 作如下处理 :
     (1)、 将语句处理结束指令语言 “#FS” 和中文结束打印控制指令语言 “#CIO#FS” 置 入到命令格式串, 其在命令格式串中的起始位置 BI = 46, 语句处理结束指令语言 “#FS” 和 中文结束打印控制指令语言 “#CI0#FS” 置入后, 下一指令语言在命令格式串中的起始位置 为 BI = 46+10 = 56,
     至此, 第六个字符 ((X’ OF’ )) 读取后, 命令格式串的内容为 :
     “#CI 14#FO760, 1020#AJR, 60, 60#FH/#FD/56/50/39/7A#FS#CIO#FS” ;
     (2)、 取消中文打印标识。
     ( 五 ) 中西文转换模块 150 从字符数组 A 中读取的第七个字符 “C” , 不是中文开始 字符 (X’ OE’ )、 不是中文结束字符 (X’ OF’ )、 西文打印标识未被设置, 则中西文转换模块 150 作如下处理 :
     (1)、 确定为第二个打印单元, 根据打印起始位置计算公式计算第二个打印单位的 起始位置 : X = X = 760+2×54 = 868, Y = 1020 ;
     (2)、 置入起始打印位置指令语言 “#FO868, 1020” , 其在命令格式串中的起始位置 BI = 56, 起始打印位置指令语言 “#FO868, 1020” 置入后, 下一指令语言在命令格式串中的 起始位置为 BI = 56+11 = 67 ; (3)、 置入旋转方向和字体大小指令语言 “#AOR, 60, 60” , 其在命令格式串中的起始 位置 BI = 67, 旋转方向和字体大小指令语言 “#AOR, 60, 60” 置入后, 下一指令语言在命令格 式串中的起始位置为 BI = 67+10 = 77 ;
     (4)、 置入西文打印内容开始指令语言 “#FD” , 其在命令格式串中的起始位置 BI = 77, 西文打印内容开始指令语言 “#FD” 置入后, 下一指令语言在命令格式串中的起始位置为 BI = 77+3 = 80 ;
     (5)、 置入西文字符 “C” , 其在命令格式串中的起始位置 BI = 80, 西文字符 “C” 置 入后, 下一指令语言在命令格式串中的起始位置为 BI = 80+1 = 81,
     至此, 第七个字符 “C” 读取后, 命令格式串的内容为 :
     “#CI14#FO760 , 1020#AJR , 60 , 60#FH/#FD/56/50/39/7A#FS#CI0#FS#FO868 , 1020#AOR, 60, 60#FDC” ;
     (6)、 设置西文打印标识。
     ( 六 ) 中西文转换模块 150 从字符数组 A 中读取的第八个字符 “H” , 不是中文开始 字符 (X’ OE’ )、 不是中文结束字符 (X’ OF’ )、 西文打印标识被设置, 则中西文转换模块 150 作如下处理 :
     (1)、 置入西文字符 “H” , 其在命令格式串中的起始位置 BI = 81, 西文字符 “H” 置 入后, 下一指令语言在命令格式串中的起始位置为 BI = 81+1 = 82,
     至此, 第八个字符 “H” 读取后, 命令格式串的内容为 :
     “#CI14#FO760 , 1020#AJR , 60 , 60#FH/#FD/56/50/39/7A#FS#CI0#FS#FO868 , 1020#AOR, 60, 60#FDCH” 。
     ( 七 ) 中西文转换模块 150 从字符数组 A 中读取的第九个字符 “I” , 跟 ( 六 ) 相同 的方式, 中西文转换模块 150 作如下处理 :
     (1)、 置入西文字符 “I” , 置入后, 下一指令语言在命令格式串中的起始位置为 BI
     = 82+1 = 83,
     至此, 第九个字符 “H” 读取后, 命令格式串的内容为 :
     “#CI14#FO760 , 1020#AJR , 60 , 60#FH/#FD/56/50/39/7A#FS#CI0#FS#FO868 , 1020#AOR, 60, 60#FDCHI” 。
     ( 八 ) 中西文转换模块 150 从字符数组 A 中读取的第十个字符 “N” , 跟 ( 六 ) 相同 的方式, 中西文转换模块 150 作如下处理 :
     (1)、 置入西文字符 “N” , 置入后, 下一指令语言在命令格式串中的起始位置为 BI = 83+1 = 84,
     至此, 第十个字符 “N” 读取后, 命令格式串的内容为 :
     “#CI14#FO760 , 1020#AJR , 60 , 60#FH/#FD/56/50/39/7A#FS#CI0#FS#FO868 , 1020#AOR, 60, 60#FDCHIN” 。
     ( 九 ) 中西文转换模块 150 从字符数组 A 中读取的第十一个字符 “A” , 跟(六)相 同的方式, 中西文转换模块 150 作如下处理 :
     (1)、 置入西文字符 “A” , 置入后, 下一指令语言在命令格式串中的起始位置为 BI = 84+1 = 85,
     至此, 第十一个字符 “A” 读取后, 命令格式串的内容为 :
     “#CI14#FO760 , 1020#AJR , 60 , 60#FH/#FD/56/50/39/7A#FS#CI0#FS#FO868 , 1020#AOR, 60, 60#FDCHINA” 。
     ( 十 ) 中西文转换模块 150 从字符数组 A 中读取的第十二个字符为中文开始字符 (X’ OE’ ), 此时西文打印标识被设置, 则中西文转换模块 150 作如下处理 :
     (1) 将语句处理结束指令语言 “#FS” 置入命令格式串, 计算下一指令语言在命令 格式串中的起始位置 ;
     (2) 取消西文打印标识 ;
     (3) 后续步骤同 ( 一 ) 中对中文开始字符 (X’ OE’ ) 的处理。
     ( 十一 ) 中西文转换模块 150 中 “武汉 WUHAN” 的处理同上原理, 不再累赘述。
     因此, 中西文转换模块 150 将字段 “中国 CHINA 武汉 WUHAN” 转换得到的命令格式 串的完整内容为 :
     “#CI14#FO760 , 1020#AJR , 60 , 60#FH/#FD/56/50/39/7A#FS#CI0#FS#FO868 , 1020#AOR, 60, 60#FDCHINA#FS#CI14#FO1048, 1020#AJR, 60, 60#FH/#FD/4E/64/3A/3A#FS#CI 0#FS#FO1156, 1020#AOR, 60, 60#FDWUHAN#FS” 。
     当中西文转换模块 150 对字符数组 A 读取完毕后, 由于中文打印标识未被设置, 中 西文转换模块 150 就将上面完整的命令格式串发送给标签格式模块。
     在说明本发明中文转换模块 160 之前, 先对标签打印机 200 可以识别的汉字区位 码进行分析。
     汉字区位码有四位, 其编码大多数非常规律, 极少数无规律。
     对于极少数编码无规律的汉字区位码, 建立其 EBCDIC 编码值与汉字区位码的直 接对照表 (EBCDIC 编码值为键值 )。
     对于大多数编码规律的汉字区位码 ( 汉字区位码有四位 ), 如表 2, 区位码前两位 的取值范围为 30-77( 十六进制 ), 共 72 个值, 将区位码前两位的所有值定义为一个 72 项的数组 QW12[], 则 QW12[1] = ‘30’ , QW12[72] = ‘77’ 。
     3F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 4F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 5F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 6F 60 70
     61 7162 7263 7364 7465 7566 7667 7768696A6B6C6D6E表2
     如表 3, 区位码后两位的取值范围为 30-7E( 十六进制 ), 共 94 个值, 将区位码后两 位的所有值定义为一个 94 项的数组 QW34[], 则 QW34[1] = ‘21’ , QW34[72] = ‘7E’ 。
     21 30 40 50 60 70
     22 32 42 52 62 7223 33 43 53 63 7324 34 44 54 64 7425 35 45 55 65 7526 36 46 56 66 7627 37 47 57 67 7728 38 48 58 68 7829 39 49 59 69 792A 3A 4A 5A 6A 7A2B 3B 4B 5B 6B 7B2C 3C 4C 5C 6C 7C2D 3D 4D 5D 6D 7D2E 3E 4E 5E 6E 7E2F 3F 4F 5F 6F31 41 51 61 71表3
     现在对中文转换模块 160 进行详细说明。图 3a 为中文转换模块 160 的组成结构 图, 图 3b 为中文转换模块 160 的工作流程图。如图 3a-3b, 所述中文转换模块 160 的工作原 理为 :
     步骤 S301, 第一判断单元 161 根据中西文转换模块发送的中文字符 ( 汉字 ) 的 EBCDIC 编码值检索直接对照表, 判断直接对照表中是否存在该汉字的 EBCDIC 编码值, 如果 是, 继续下一步, 如果否, 转步骤 S303 ;
     步骤 S302, 区位码确定单元 162 使用直接对照表中与该汉字的 EBCDIC 编码值对应 的汉字区位码, 结束 ;
     步骤 S303, 第二判断单元 163 判断汉字的 EBCDIC 编码重定义为二进制值后的二进制重定义值 COMP2 是否在 18952 至 19045 之间, 如果是, 继续下一步, 如果否, 转步骤 S305 ;
     步骤 S304, 第一处理单元 164 将二进制重定义值 COMP2 与 18951 的差值作为二进 制重定义值 COMP2 的位移量, 转步骤 S309 ;
     步骤 S305, 第二处理单元 165 将二进制重定义值 COMP2 与 18952 的差值除以 256, 得到商和余数 ;
     步骤 S306, 第三判断单元 166 判断汉字的 EBCDIC 编码的第二位是否大于十六进制 ‘80’ , 如果是, 继续下一步, 如果否, 转步骤 S308 ;
     步骤 S307, 第三处理单元 167 将余数减去 1 从而得到修正后的余数 ;
     步骤 S308, 第三处理单元 167 将商与 188 之积加上 94 以及余数, 得到二进制重定 义值 COMP2 的位移量 ;
     步骤 S309, 第四处理单元 168 将二进制重定义值 COMP2 的位移量除以 94, 得到商 和余数, 第四判断单元 169 判断余数是否大于 0, 如果是, 继续下一步, 如果否 ( 即余数等于 0), 转步骤 S311 ;
     步骤 S310, 第五处理单元 169a 将商加上 1 从而得到修正后的商, 转步骤 S312 ;
     步骤 S311, 第六处理单元 169b 将 94 赋给余数从而得到修正后的余数 ;
     步骤 S312, 区位码确定单元 162 将修正后的商作为数组 Q12[] 的下标, 将修正后的 余数作为数组 Q34[] 的下标, Q12[ 商 ] 就是汉字的 EBCDIC 编码对应的汉字区位码前两位, Q34[ 余数 ] 就是汉字的 EBCDIC 编码对应的汉字区位码后两位, Q12[ 商 ] 和 Q34[ 余数 ] 即 为汉字的 EBCDIC 编码对应的汉字区位码, 结束。
     中文转换模块、 中西文转换模块将中文字符串和中西文混合字符串形式的打印信 息转换成由指令语言 ( 包括汉字的区位编码、 命令格式串、 每个字符的打印位置、 打印大小 信息、 打印起始位置信息 ) 组成的多个命令格式串、 标签格式模块将多个命令格式串组合 成驱动文本后, 标签打印机根据驱动文本中的指令语言进行打印。标签打印机的设置, 如 下:
     A、 在标签打印机上安装汉字区位库, 以便根据指令语言中的汉字区位码从汉字区 位库中获取中文内容打印信息 ;
     B、 标签打印机的打印驱动程序选择文本驱动 (Generic Text Only) ;
     C、 为每台标签打印机定义一个唯一的打印终端号 ;
     D、 将标签打印机物理连接到 PC 客户端上。
     图 4 为本发明基于大型主机平台的标签打印装置在整体产销资讯管理系统中 的位置示意图。整体产销资讯管理系统运行在 IBM 大型主机平台上 ( 主机机型为 IBM Z9, 操作系统为 z/OS, 数据库为 DB27.1), 在线交易运行在事务处理系统 CICS(Customer Information Control System, 客户信息控制系统 ) 中间件上。 PC 客户端通过交换机、 企业 光纤主干网与大型主机相连, 网络通讯协议为 TCP/IP。
     标签打印机连接在 PC 客户端上, 在 PC 客户端上对标签打印机进行打印机设置, 将 标签打印机的驱动方式设为文本驱动, 在 CICS 中间件中为每个标签打印机定义一个唯一 的打印机终端号 (ID 号 ), 在 PC 客户端的 IBM 主机仿真系统中专门建立一个打印机会话, 在 会话中通过设置打印机终端号和标签打印机之间的联系, 将在 CICS 中定义的打印机终端 号与连接在 PC 客户端上的实际标签打印机联系起来。标签打印装置的命令控制符转换模块运行在 PC 客户端上, 其他模块都运行在 CICS 中间件上。运行在 CICS 上的标签格式模块在向指定打印机终端号的标签打印机发送 驱动文本时, CICS 根据上述设置通过网络将驱动文本正确地发送到标签打印机上。
     在图 4 中, 实线为网络链路, 标签打印机物理连接在 PC 客户端上, PC 客户端与生产 厂的交换机物理连接在一起, 生产厂的交换机通过企业光纤主干网与大型主机物理连接在 一起。虚线为数据的流向示意, 标签打印装置运行在大型主机的 CICS 中间件上, 标签格式 模块在执行 SEND 命令时指定打印机终端号, 主机系统根据打印机终端的定义信息和 PC 客 户端的 IP 地址, 将驱动文本从主机通过企业光纤主干网发送给生产厂交换机, 生产厂交换 机将数据转发给 PC 客户端, PC 客户端再将数据发送给与它物理连接的标签打印机。
     以上结合最佳实施例对本发明进行了描述, 但本发明并不局限于以上揭示的实施 例, 而应当涵盖各种根据本发明的本质进行的修改、 等效组合。

一种基于大型主机平台的标签打印装置.pdf_第1页
第1页 / 共27页
一种基于大型主机平台的标签打印装置.pdf_第2页
第2页 / 共27页
一种基于大型主机平台的标签打印装置.pdf_第3页
第3页 / 共27页
点击查看更多>>
资源描述

《一种基于大型主机平台的标签打印装置.pdf》由会员分享,可在线阅读,更多相关《一种基于大型主机平台的标签打印装置.pdf(27页珍藏版)》请在专利查询网上搜索。

1、(10)申 请 公 布 号 CN 101992609 A(43)申请公布日 2011.03.30CN101992609A*CN101992609A*(21)申请号 201010297922.5(22)申请日 2010.09.30B41J 29/393(2006.01)(71)申请人武汉钢铁(集团)公司地址 430080 湖北省武汉市武昌友谊大道999号A座15层(72)发明人李小瑞 林虹(74)专利代理机构武汉开元知识产权代理有限公司 42104代理人潘杰(54) 发明名称一种基于大型主机平台的标签打印装置(57) 摘要本发明公开了一种基于大型主机平台的标签打印装置,包括命令控制符转换模块、打。

2、印控制模块、数据拮取模块、多个标签格式模块、中西文转换模块、中文转换模块以及数据记录模块。本装置的打印控制模块通过要打印的标签号的生产LOG启动或者通过人工启动,获得标签号,数据拮取模块获得该标签号的特征信息和打印信息并转发至打印控制模块,标签格式模块将打印信息通过中西文转换模块转换成标签打印机可以识别和接受的命令格式串,其中中文转换模块是将打印信息中的汉字转换成区位码以置入命令格式串,标签格式模块将多个命令格式串组合成驱动文本,发送至标签打印机,此时标签打印机能成功打印标签。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 3 页 说明书 16 页 附。

3、图 7 页CN 101992612 A 1/3页21.一种基于大型主机平台的标签打印装置,包括:命令控制符转换模块,安装于与标签打印机物理连接的PC客户端上,在标签打印机开机时启动,用于将标签打印机指令语言中的命令控制符前缀置换为主机字符,以使标签打印机可以识别主机发送的字符;打印控制模块,与过程控制机连接,用于在生产过程中最后一个机组的成品产出后、当接收到过程控制机发送的包含有要打印的标签号的生产LOG时,向数据拮取模块发送标签号,接收数据拮取模块返回的此标签号的特征信息和打印信息,通过此标签号的特征信息指定标签打印机终端号并确定与此标签号对应的标签格式模块,向对应的标签格式模块发送标签打印。

4、机终端号和打印信息;数据拮取模块,与打印控制模块连接,用于接收打印控制模块发送的标签号,根据所述标签号获取特征信息和打印信息,同时将所述标签号的特征信息和打印信息返回给打印控制模块;多个标签格式模块,均与打印控制模块连接,用于接收打印控制模块发送的标签打印机终端号和由多个中文字符串或中西文混合字符串的字段组成的打印信息,对打印信息中的每一个字段,设置起始位置、字体大小、旋转方向,逐个将字段信息及对应设置的起始位置、字体大小、旋转方向发送至中西文转换模块,接收中西文转换模块返回的与每一个字段信息对应的命令格式串,将多个字段对应的多个命令格式串组合成驱动文本,将驱动文本发送给标签打印机;中西文转换。

5、模块,与每一个标签格式模块连接,用于逐个接收标签格式模块发送的字段信息和对应设置的起始位置、字体大小、旋转方向,并对字段内容进行汉字识别,当识别出当前字符为基于EBCDIC编码的汉字时,将该汉字发送至中文转换模块,接收中文转换模块返回的该汉字的区位码,结合设置的起始位置、字体大小、旋转方向将区位码置入命令格式串,当识别出当前字符为西文字符时,结合设置的起始位置、字体大小、旋转方向将西文字符置入命令格式串,字段内容识别完后将命令格式串返回至标签格式模块;中文转换模块,与中西文转换模块连接,用于接收中西文转换模块发送的中文字符,将基于EBCDIC编码的中文字符转换为汉字区位码,将汉字区位码返回至中。

6、西文转换模块。2.如权利要求1所述的基于大型主机平台的标签打印装置,其特征在于,还包括:数据记录模块,与打印控制模块以及标签格式模块连接,在标签格式模块将驱动文本发送给标签打印机后,在打印控制模块的控制下记录所述标签号的打印实绩。3.如权利要求1所述的基于大型主机平台的标签打印装置,其特征在于,所述中西文转换模块包括:接收及初始化单元,用于接收标签格式模块转发的打印信息中的字段信息,统计字段信息的长度,接收设置的字段信息的打印起始位置值以及字体大小,将字段信息视为一个字符数组A,初始化此字符数组的下标AI为0,初始化命令格式串,将命令格式串视为一个字符数组B,初始化此字符数组的下标BI为1;监。

7、控单元,用于将字符数组A的下标增加1,判断下标是否超过此字符数组的长度;读取单元,用于当监控单元检查出下标未超过此字符数组的长度时,读取字符数组A中当前下标的字符;第一判断单元,用于判断读取的当前字符的EIBDIC编码值是否为中文开始字符;权 利 要 求 书CN 101992609 ACN 101992612 A 2/3页3第二判断单元,用于当第一判断单元判断出读取的当前字符的EIBDIC编码值是中文开始字符时,判断西文打印标识是否被设置;第一设置单元,用于当第二判断单元判断出西文打印标识被设置时,在命令格式串中置入语句处理结束指令语言,根据该指令语言在命令格式串中的起始位置计算下一指令语言在。

8、命令格式串中的起始位置,取消西文打印标识;第二设置单元,用于当第二判断单元判断出西文打印标识未被设置时、或者当第一设置单元设置完毕后,开始一个新的汉字打印单位的设置:根据打印起始位置的计算公式计算该打印单位的起始位置,在命令格式串中置入中文打印开始控制指令语言、起始打印位置指令语言、旋转方向和字体大小指令语言、中文打印内容开始指令语言,设置中文打印标识,取消西文打印标识,在置入每一指令语言后,根据该指令语言在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;第三判断单元,用于当第一判断单元判断出读取的当前。

9、字符的EIBDIC编码值不是中文开始字符时,判断读取的字符的EIBDIC编码值是否为中文结束字符;第三设置单元,用于当第三判断单元判断出读取的当前字符的EIBDIC编码值是中文结束字符时,在命令格式串中置入语句处理结束指令语言和中文结束打印控制指令语言,根据该指令语言在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,取消中文打印标识,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;第四判断单元,用于当第三判断单元判断出读取的当前字符的EIBDIC编码值不是中文结束字符时,判断中文打印标识是否被设置;第四设置单元,用于当第四判断单元判断出中文打印标识被。

10、设置时,将当前字符和下一字符发送至中文转换模块,获取中文转换模块转换得到的汉字的区位码,以/XX/XX的格式将区位码置入命令格式串,根据该区位码在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,将字符数组A的下标增加1,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;第五判断单元,用于当第四判断单元判断出中文打印标识未被设置时,判断西文打印标识是否被设置;第五设置单元,用于当第五判断单元判断出西文打印标识被设置时,将当前字符置入命令格式串,根据该字符在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,此时监控单元继续将字符数组A的下标增。

11、加1,检查下标是否超过字符数组A的长度;第六设置单元,用于当第五判断单元判断出西文打印标识未被设置时,开始一个新的字符打印单位的设置:根据打印起始位置的计算公式计算该打印单位的起始位置,在命令格式串中置入起始打印位置指令语言、旋转方向和字体大小指令语言、西文打印内容开始指令语言,置入当前字符,设置西文打印标识,在置入每一指令语言或字符后,根据该指令语言或字符在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;第六判断单元,用于当监控单元检查出下标超过此字符数组的长度时,判断中文打印权 利 要 求 书CN 。

12、101992609 ACN 101992612 A 3/3页4标识是否被设置;第七设置单元,用于当第六判断单元判断出中文打印标识被设置时,在命令格式串中置入中文结束打印控制指令语言;命令格式串返回单元,用于当第六判断单元判断出中文打印标识未被设置时,或者当第七设置单元设置完毕后,将完整的命令格式串发送至标签格式模块。4.如权利要求1所述的基于大型主机平台的标签打印装置,其特征在于,所述中文转换模块包括:第一判断单元,用于判断直接对照表中是否存在中西文转换模块发送的汉字的EBCDIC编码值;第二判断单元,用于当第一判断单元判断出直接对照表中不存在中西文转换模块发送的汉字的EBCDIC编码值时,判。

13、断汉字的EBCDIC编码重定义为二进制值后的二进制重定义值COMP2是否在18952至19045之间;第一处理单元,用于当第二判断处理单元判断出二进制重定义值COMP2在18952至19045之间时,将二进制重定义值COMP2与18951的差值作为二进制重定义值COMP2的位移量;第二处理单元,用于当第二判断处理单元判断出二进制重定义值COMP2不在18952至19045之间时,将二进制重定义值COMP2与18952的差值除以256,得到商和余数;第三判断单元,用于判断汉字的EBCDIC编码的第二位是否大于十六进制80;第三处理单元,用于当第三判断单元判断出汉字的EBCDIC编码的第二位大于十。

14、六进制80时,将第二处理单元得到的余数减去1从而得到修正后的余数,将第二处理单元得到的商与188之积加上94以及余数,得到二进制重定义值COMP2的位移量,且当第三判断单元判断出汉字的EBCDIC编码的第二位不大于十六进制80时,将第二处理单元得到的商与188之积加上94以及第二处理单元得到的余数,得到二进制重定义值COMP2的位移量;第四处理单元,用于第一处理单元以及第三处理单元得到的二进制重定义值COMP2的位移量除以94,得到商和余数;第四判断单元,用于判断第四处理单元得到的余数是否大于0;第五处理单元,用于当余数大于0时,将商加上1从而得到修正后的商;第六处理单元,用于当余数等于0时,。

15、将94赋给余数从而得到修正后的余数;区位码确定单元,用于当第一判断单元判断出直接对照表中存在中西文转换模块发送的汉字的EBCDIC编码值时,该汉字的区位码确定为直接对照表中与该汉字的EBCDIC编码值对应的汉字区位码,或者将第五处理单元得到的商作为数组Q12的下标,将第六处理单元得到的余数作为数组Q34的下标,将Q12商确定为汉字的EBCDIC编码对应的汉字区位码前两位,Q34余数确定为汉字的EBCDIC编码对应的汉字区位码后两位。权 利 要 求 书CN 101992609 ACN 101992612 A 1/16页5一种基于大型主机平台的标签打印装置技术领域0001 本发明涉及一种在大型主机。

16、平台上打印含有中文内容的标签的打印装置。背景技术0002 在钢铁制造企业,成品标签是贴于成品钢卷之上对钢卷进行身份标识的唯一介质,它是将钢卷实物与钢卷信息关联的唯一纽带,不仅是生产厂对钢卷进行存货、出货等操作的重要依据,也是钢铁企业产品对外的形象标识,标签上内容是否正确,尤为重要。0003 在武钢整体产销资讯系统投运以前,武钢成品标签的打印方式是离线打印,具体为在微机上编制独立的标签打印程序,钢卷在最后一个机组产出称重以后,人工输入每个产出钢卷的钢卷标识、钢种、规格、重量等数据并通过标签打印程序手动打印数据,这种离线打印的方式工作量大,出错率高。在武钢整体产销资讯系统投运以后,可以对成品标签实。

17、行在线打印,从系统自动获取钢卷的打印数据并在钢卷产出以后自动打印出来。0004 但是标签打印机(条码打印机)是专业的打印设备,不同于常见的办公用打印机,在主机平台上只能通过接受并识别以指令语言组成的包含了标签打印内容、位置、大小并置入了汉字区位编码的驱动文本,使用文本驱动的模式被驱动文本驱动进行标签打印。0005 武钢整体产销资讯系统运行在操作系统为OS/390的大型主机平台上,要在大型主机平台上使用标签打印机在线打印标签,就要解决如何将OS/390环境下基于EBCDIC编码的中文字符串和中西文混合字符串转换为标签打印机可以识别和接受的编程语言,即转换为包含汉字区位编码的驱动文本,以直接使用标。

18、签打印机厂家提供的专用的编程语言来操作打印机,通过文本驱动(GenericText Only)的方式进行标签打印。0006 因此,有必要提供一种基于OS/390的大型主机平台的标签打印装置,能使标签打印机打印中文字符串、中西文混合字符串。发明内容0007 本发明的目的是提供基于OS/390的大型主机平台的标签打印装置,能将基于EBCDIC编码的中文字符串、中西文混合字符串正确转换为标签打印机可以识别的编程语言,正确打印出中文字符和中西文字符标签。0008 为了实现上述目的,本发明提供了一种基于大型主机平台的标签打印装置,包括:0009 命令控制符转换模块,安装于与标签打印机物理连接的PC客户端。

19、上,在标签打印机开机时启动,用于将标签打印机指令语言中的命令控制符前缀置换为主机字符,以使标签打印机可以识别主机发送的字符;0010 打印控制模块,与过程控制机连接,用于在生产过程中最后一个机组的成品产出后、当接收到过程控制机发送的包含有要打印的标签号的生产LOG时,向数据拮取模块发送标签号,接收数据拮取模块返回的此标签号的特征信息和打印信息,通过此标签号的特征信息指定标签打印机终端号并确定与此标签号对应的标签格式模块,向对应的标签格式说 明 书CN 101992609 ACN 101992612 A 2/16页6模块发送标签打印机终端号和打印信息;0011 数据拮取模块,与打印控制模块连接,。

20、用于接收打印控制模块发送的标签号,根据所述标签号获取特征信息和打印信息,同时将所述标签号的特征信息和打印信息返回给打印控制模块;0012 多个标签格式模块,均与打印控制模块连接,用于接收打印控制模块发送的标签打印机终端号和由多个中文字符串或中西文混合字符串的字段组成的打印信息,对打印信息中的每一个字段,设置起始位置、字体大小、旋转方向,逐个将字段信息及对应设置的起始位置、字体大小、旋转方向发送至中西文转换模块,接收中西文转换模块返回的与每一个字段信息对应的命令格式串,将多个字段对应的多个命令格式串组合成驱动文本,将驱动文本发送给标签打印机;0013 中西文转换模块,与每一个标签格式模块连接,用。

21、于逐个接收标签格式模块发送的字段信息和对应设置的起始位置、字体大小、旋转方向,并对字段内容进行汉字识别,当识别出当前字符为基于EBCDIC编码的汉字时,将该汉字发送至中文转换模块,接收中文转换模块返回的该汉字的区位码,结合设置的起始位置、字体大小、旋转方向将区位码置入命令格式串,当识别出当前字符为西文字符时,结合设置的起始位置、字体大小、旋转方向将西文字符置入命令格式串,字段内容识别完后将命令格式串返回至标签格式模块;0014 中文转换模块,与中西文转换模块连接,用于接收中西文转换模块发送的中文字符,将基于EBCDIC编码的中文字符转换为汉字区位码,将汉字区位码返回至中西文转换模块。0015 。

22、在本发明的一个实施例中,所述装置还包括:0016 数据记录模块,与打印控制模块以及标签格式模块连接,在标签格式模块将驱动文本发送给标签打印机后,在打印控制模块的控制下记录所述标签号的打印实绩。0017 在本发明的另一实施例中,所述中西文转换模块包括:0018 接收及初始化单元,用于接收标签格式模块转发的打印信息中的字段信息,统计字段信息的长度,接收设置的字段信息的打印起始位置值以及字体大小,将字段信息视为一个字符数组A,初始化此字符数组的下标AI为0,初始化命令格式串,将命令格式串视为一个字符数组B,初始化此字符数组的下标BI为1;0019 监控单元,用于将字符数组A的下标增加1,判断下标是否。

23、超过此字符数组的长度;0020 读取单元,用于当监控单元检查出下标未超过此字符数组的长度时,读取字符数组A中当前下标的字符;0021 第一判断单元,用于判断读取的当前字符的EIBDIC编码值是否为中文开始字符;0022 第二判断单元,用于当第一判断单元判断出读取的当前字符的EIBDIC编码值是中文开始字符时,判断西文打印标识是否被设置;0023 第一设置单元,用于当第二判断单元判断出西文打印标识被设置时,在命令格式串中置入语句处理结束指令语言,根据该指令语言在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,取消西文打印标识;0024 第二设置单元,用于当第二判断单元判断出西文打。

24、印标识未被设置时、或者当第一设置单元设置完毕后,开始一个新的汉字打印单位的设置:根据打印起始位置的计算公说 明 书CN 101992609 ACN 101992612 A 3/16页7式计算该打印单位的起始位置,在命令格式串中置入中文打印开始控制指令语言、起始打印位置指令语言、旋转方向和字体大小指令语言、中文打印内容开始指令语言,设置中文打印标识,取消西文打印标识,在置入每一指令语言后,根据该指令语言在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;0025 第三判断单元,用于当第一判断单元判断出读取的。

25、当前字符的EIBDIC编码值不是中文开始字符时,判断读取的字符的EIBDIC编码值是否为中文结束字符;0026 第三设置单元,用于当第三判断单元判断出读取的当前字符的EIBDIC编码值是中文结束字符时,在命令格式串中置入语句处理结束指令语言和中文结束打印控制指令语言,根据该指令语言在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,取消中文打印标识,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;0027 第四判断单元,用于当第三判断单元判断出读取的当前字符的EIBDIC编码值不是中文结束字符时,判断中文打印标识是否被设置;0028 第四设置单元,用于。

26、当第四判断单元判断出中文打印标识被设置时,将当前字符和下一字符发送至中文转换模块,获取中文转换模块转换得到的汉字的区位码,以/XX/XX的格式将区位码置入命令格式串,根据该区位码在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,将字符数组A的下标增加1,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;0029 第五判断单元,用于当第四判断单元判断出中文打印标识未被设置时,判断西文打印标识是否被设置;0030 第五设置单元,用于当第五判断单元判断出西文打印标识被设置时,将当前字符置入命令格式串,根据该字符在命令格式串中的起始位置计算下一指令语言在命令格。

27、式串中的起始位置,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;0031 第六设置单元,用于当第五判断单元判断出西文打印标识未被设置时,开始一个新的字符打印单位的设置:根据打印起始位置的计算公式计算该打印单位的起始位置,在命令格式串中置入起始打印位置指令语言、旋转方向和字体大小指令语言、西文打印内容开始指令语言,置入当前字符,设置西文打印标识,在置入每一指令语言或字符后,根据该指令语言或字符在命令格式串中的起始位置计算下一指令语言在命令格式串中的起始位置,此时监控单元继续将字符数组A的下标增加1,检查下标是否超过字符数组A的长度;0032 第六判断单元,用于当监控。

28、单元检查出下标超过此字符数组的长度时,判断中文打印标识是否被设置;0033 第七设置单元,用于当第六判断单元判断出中文打印标识被设置时,在命令格式串中置入中文结束打印控制指令语言;0034 命令格式串返回单元,用于第六判断单元判断出中文打印标识未被设置时,或者当第七设置单元设置完毕后,将完整的命令格式串发送至标签格式模块。0035 在本发明的再一实施例中,所述中文转换模块包括:0036 第一判断单元,用于判断直接对照表中是否存在中西文转换模块发送的汉字的说 明 书CN 101992609 ACN 101992612 A 4/16页8EBCDIC编码值;0037 第二判断单元,用于当第一判断单元。

29、判断出直接对照表中不存在中西文转换模块发送的汉字的EBCDIC编码值时,判断汉字的EBCDIC编码重定义为二进制值后的二进制重定义值COMP2是否在18952至19045之间;0038 第一处理单元,用于当第二判断处理单元判断出二进制重定义值COMP2在18952至19045之间时,将二进制重定义值COMP2与18951的差值作为二进制重定义值COMP2的位移量;0039 第二处理单元,用于当第二判断处理单元判断出二进制重定义值COMP2不在18952至19045之间时,将二进制重定义值COMP2与18952的差值除以256,得到商和余数;0040 第三判断单元,用于判断汉字的EBCDIC编码。

30、的第二位是否大于十六进制80;0041 第三处理单元,用于当第三判断单元判断出汉字的EBCDIC编码的第二位大于十六进制80时,将第二处理单元得到的余数减去1从而得到修正后的余数,将第二处理单元得到的商与188之积加上94以及余数,得到二进制重定义值COMP2的位移量,且当第三判断单元判断出汉字的EBCDIC编码的第二位不大于十六进制80时,将第二处理单元得到的商与188之积加上94以及第二处理单元得到的余数,得到二进制重定义值COMP2的位移量;0042 第四处理单元,用于第一处理单元以及第三处理单元得到的二进制重定义值COMP2的位移量除以94,得到商和余数;0043 第四判断单元,用于判。

31、断第四处理单元得到的余数是否大于0;0044 第五处理单元,用于当余数大于0时,将商加上1从而得到修正后的商;0045 第六处理单元,用于当余数等于0时,将94赋给余数从而得到修正后的余数;0046 区位码确定单元,用于当第一判断单元判断出直接对照表中存在中西文转换模块发送的汉字的EBCDIC编码值时,该汉字的区位码确定为直接对照表中与该汉字的EBCDIC编码值对应的汉字区位码,或者将第五处理单元得到的商作为数组Q12的下标,将第六处理单元得到的余数作为数组Q34的下标,将Q12商确定为汉字的EBCDIC编码对应的汉字区位码前两位,Q34余数确定为汉字的EBCDIC编码对应的汉字区位码后两位。。

32、0047 与现有技术相比,本发明基于OS/390的大型主机平台的标签打印装置的打印控制模块通过要打印的标签号的生产LOG启动或者通过人工启动,获得标签号,数据拮取模块获得该标签号的特征信息和打印信息并转发至打印控制模块,标签格式模块将打印信息通过中西文转换模块转换成标签打印机可以识别和接受的以命令格式串组成的驱动文本,其中中文转换模块是将打印信息中的汉字转换成区位码以置入命令格式串,标签格式模块将多个命令格式串组合成驱动文本,发送至标签打印机,此时标签打印机能成功打印标签。本装置能将基于EBCDIC编码的中文字符串、中西文混合字符串正确转换为标签打印机可以识别的编程语言,正确打印出中文字符和中。

33、西文字符标签。0048 另外,打印控制模块能实现打印机终端、标签格式模块的灵活配置。0049 此外,本发明通过打印记录模块实时记录标签的打印实绩,如打印数据和打印情况,为标签打印的跟踪查询提供了基础资料。0050 通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。说 明 书CN 101992609 ACN 101992612 A 5/16页9附图说明0051 图1为本发明基于大型主机平台的标签打印装置的组成结构示意图。0052 图1a为图1所示标签打印装置的工作流程图。0053 图2a为图1所示标签打印装置中的中西文转换模块的详细组成图。0054 图2b为图2a所。

34、示中西文转换模块的流程图。0055 图3a为图1所示标签打印装置中的中文转换模块的详细组成图。0056 图3b为图3a所示中文转换模块的流程图。0057 图4为图1所示标签打印装置在整体产销资讯管理系统中的位置示意图。具体实施方式0058 现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。0059 如图1,本发明基于大型主机平台的标签打印装置100包括命令控制符转换模块110、打印控制模块120、数据拮取模块130、多个标签格式模块140、中西文转换模块150、中文转换模块160以及数据记录模块170。0060 命令控制符转换模块110安装于与标签打印机200物理连接的PC客。

35、户端310(见图4)上,在标签打印机200开机时启动,用于将标签打印机200指令语言中的命令控制符前缀(如)置换为主机字符(如#),这样,标签格式模块产生以#开始的指令语言并发送至标签打印机后,标签打印机就可以识别并打印以“#”开始的指令语言了)。0061 打印控制模块120与过程控制机连接,用于在生产过程中最后一个机组的成品产出后、当接收到过程控制机发送的包含有要打印的标签号的生产LOG时,向数据拮取模块130发送标签号,接收数据拮取模块130返回的此标签号的特征信息和打印信息,通过此标签号的特征信息指定标签打印机终端号并确定与此标签号对应的标签格式模块140(不同类型的标签有不同的打印格式。

36、,一个标签格式模块对应一个特定的标签格式),向对应的标签格式模块140发送标签打印机终端号和打印信息。0062 数据拮取模块130,与打印控制模块120连接,用于接收打印控制模块120发送的标签号,从产销系统中获取所述标签号的特征信息和基本打印信息,依据所述特征信息获取所述标签号的特殊打印信息(特征信息如产品大类、形态等;基本信息如:钢卷号、标准号、品名、生产日期、钢种、规格、重量、外观使用面等;特殊信息如:硅钢的涂层种类、边缘要求,普冷材的表面组别、冲压级别,镀锡材的表面组别、硬度、镀锡量,外销合同的唛头、到港站、收货单位、外部合同号等),同时将所述标签号的特征信息和打印信息(包括基本打印信。

37、息和特殊打印信息)返回给打印控制模块120。0063 其中,特征信息包括产品大类、产品形态、用途代码、销售类别。通过产品大类可以区分标签号是下列的一种:热轧材、冷轧普冷材、冷轧镀锌材、冷轧镀锡材、冷轧硅钢材、冷轧彩涂材、无取向硅钢、取向硅钢、中厚板。每一种产品大类,其标签格式是不同的;通过产品形态可以区分是此标签号是板、卷、或带,板和卷带的标签格式也是不同的;通过用途代码可以区分此标签号是汽车板,或家电板,或其他。对于汽车板有特殊的标签格式;通过销售类别可以区分此标签号是内销还是外销,外销的标签与内销的标签格式也是不同的。打印控制模块120通过标签号的特征信息确定相关的标签格式,获取相关的标签。

38、格式模块。说 明 书CN 101992609 ACN 101992612 A 6/16页100064 基本打印信息是所有的标签中都包含的基本内容,有钢卷号、标准号、品名、生产日期、钢种、规格、重量、外观使用面。0065 特殊打印信息包括特征信息如产品大类、形态等;基本信息如:钢卷号、标准号、品名、生产日期、钢种、规格、重量、外观使用面等;特殊信息如:硅钢的涂层种类、边缘要求,普冷材的表面组别、冲压级别,镀锡材的表面组别、硬度、镀锡量,外销合同的唛头、到港站、收货单位、外部合同号等。0066 多个标签格式模块140均与打印控制模块120连接,用于接收所述打印控制模块120发送的标签打印机终端号和。

39、由多个中文字符串或中西文混合字符串的字段组成的打印信息,对打印信息中的每一个字段,设置起始位置、字体大小、旋转方向(打印方式),逐个将字段信息及对应设置的起始位置、字体大小、旋转方向发送至中西文转换模块,接收中西文转换模块返回的与每一个字段信息对应的命令格式串,将多个字段对应的多个命令格式串组合在一起在开头加上起始指令,在结尾加上结束指令,形成驱动标签打印机200进行标签打印的驱动文本,将驱动文本通过CICS的SEND命令发送给指定的与标签打印机终端号对应的标签打印机200(指定的标签打印机接收驱动文本,直到接收到结束指令(标签格式模块组成驱动文本时加在驱动文本后面的#XZ,标签打印机200收。

40、到#XZ意味着这张标签的打印指令全部接收完毕)后,启动打印动作并依据起始指令和结束指令之间的指令语言集合进行标签打印)。0067 中西文转换模块150,与每一个标签格式模块140连接,用于逐个接收标签格式模块140发送的打印信息中的字段信息和打印方式(起始位置、字体大小、旋转方向),并对字段内容进行汉字识别,当识别出当前字符为基于EBCDIC编码的汉字(中文字符)时,将该汉字发送至中文转换模块,接收中文转换模块返回的该汉字的区位码,结合设置的起始位置、字体大小、旋转方向将区位码动态置入命令格式串,当识别出当前字符为西文字符时,结合设置的起始位置、字体大小、旋转方向直接将西文字符动态置入命令格式。

41、串,将字段内容识别完后将命令格式串返回至标签格式模块140。0068 中文转换模块160,与中西文转换模块150连接,用于接收中西文转换模块发送的汉字,利用基于EIBDIC的汉字编码规律和汉字区位码的编码规律,将基于EBCDIC编码的汉字转换为汉字区位码,将汉字区位码返回至中西文转换模块。0069 数据记录模块170,与打印控制模块120以及标签格式模块140连接,在标签格式模块140将驱动文本发送给标签打印机后,在打印控制模块120的控制下记录所述标签号的打印实绩(包括打印内容、每一张标签的打印时间、打印机号、打印方式和打印人员、打印份数等),如果所述标签号已经被打印过,在手动打印标签时,打印控制模块120可根据打印的记录进行打印权限的限制。0070 下面说明所述基于大型主机平台的标签打印装置的工作流程,如图1a,包括如下步骤:0071 步骤S101,在标签打印机200开机启动时,启动命令控制符替换模块110,控制符替换模块110将标签打印机200指令语言中的命令控制符前缀置换为主机字符(如#),以使当主机发送以#开始的指令语言集时,标签打印机200能够识别,从而启动打印;0072 步骤S102,在生产过程中最后一个机组的成品产出后、当收到过程控制机发送的生产LOG时,打印控制模块120向数据拮取模块130发送标签号;说 明 书CN 101992609 A。

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

当前位置:首页 > 作业;运输 > 印刷;排版机;打字机;模印机〔4〕


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1