基于PLC的触摸屏中文拼音输入法设计.pdf
8 2 工业仪表与 自动化装置 2 0 1 0年第 3期 基 于 P L C 的触摸屏 中文拼 音输入法设 计 韩国华, 耿守本 , 李风波, 马红旗 中国电子科技集团公 司 第4 1研究所, 安徽 蚌埠 2 3 3 0 0 0 摘要 针对一些触摸屏没有 中文输入功能, 难以实现 中文信息输入的缺点, 提 出了一种在原有 P L C控 制 系统基 础上 , 添加 中文输入 功能 的方法 ; 阐述 了中文拼 音输 入 法 的设计 思路 、 汉 字 字库 的 建立以及检索算法。该设计在不增加其他硬件资源的基础上实现 了中文输入功能。 提高 了系统人 机交互界 面的友好性 , 具有一定的实用价值。 关键 词 P L C ; 触摸屏 ; 拼音输入 法 ; U n i c o d e 中图分类号 T P 3 1 1 . 1 l 文献标志码 A 文章编号 1 0 0 0 0 6 8 2 2 0 1 0 0 3 0 0 8 2 0 4 The d e s i g n o f Chi ne s e PI NYI N i np u t me t ho d f o r t o u c hs c r e e n b a s e d o n PLC HAN Gu o h u a, GENG Sh o u be n, LI Fe n g b o,MA Ho ng q i T h e 4 1 s t I n s t i t u t e of C E T C, A n h u i B e n g b u 2 3 3 0 0 0,C h i n a Ab s t r a c t Ai mi ng a t t h e d i s a d v a n t a g e o f t h a t s o me t o u c hs c r e e n s a r e d i ffic u l t t o r e a l i z e t h e f u n c t i o n o f i n p u t t i n g Ch i n e s e,a k i n d o f Chi n e s e P I NYI N i n p u t me t h o d f o r t o u c h s c r e e n b a s e d o n PLC i s d e s i g n e d t o me e t t h e r e qu i r e s . S e t f o r t h t h e t h i n k i n g o f d e s i g n f o r t he Ch i n e s e PI NYI N i n p u t me t h o d,t h e e s t a b l i s h me n t o f t h e Ch i n e s e c h a r a c t e r s d a t a s h e e t a n d t h e s e a r c h i n g a l g o r i t h m. Th e d e s i g n r e a l i z e s t h e f u n c t i o n o f i n p u t t i n g Chi n e s e wi t ho u t e x t r a h a r d wa r e r e s o u r c e s a n d h a s s o me p r a c t i c a l i t y t o i mp r o v e t h e a mi t y o f t h e ma n ma c h i n e c o n v e r s a t i o n for s y s t e m. Ke y wo r ds P LC; t o u c h s c r e e n; PI NYI N i n p u t me t h o d; Un i c o d e 0 引言 随着工业 自动化的发展 , 基于 P L C的 自动化系 统和设备越来越普及 , 几乎遍布所有 的自动化领域, 与之相应的人 一机交互 系统也应运而生, 并得到 同 步发展。在巨大市场需求 的驱动下 , 对各类工业产 品的人机交互界面的要求也越来越高。触摸屏的组 态软件一般带有 软键 盘, 可 以输人字母 、 数字等符 号 , 而在需要录入汉字信息时具有一定的困难。 目 前一些国产触摸屏 本身具有中文输入控件 , 在作图 软件画面上直接放置中文输入控件即可实现汉字的 录入 。而一些进 口的触摸屏 如 K E Y E N C E公司 V T 系列触摸屏 、 三菱公司 G T系列触摸屏等 没有中文 输入控件 , 不能在屏上输入汉字 , 只能显示汉字。 该研究以 K E Y E N C E公司的 K V一1 0 0 0型 P L C 与 V 一S 1 0型触摸屏为例 , 实现 中文输入功能 , 通 收稿 日期 2 0 0 91 1 0 5 作者简介 韩 国华 1 9 8 1 , 男 , 江苏 盐城人 , 助理 工程师 , 学士 , 主要从事工业 自动控制技术方面的研究。 过 P L C建立中文字库, 通过触摸屏的软键盘输入拼 音可以很好地解决这些问题 。 1 设计 思路 在以往的中文输入法的设计中, 设计者往往是 选用大容量的存储器如 E E P R O M、 F 1 a s h等 , 在其中 装入汉字的区位码表。通过一定的检索算法将输入 的拼音映射为汉字字型码 , 并将备选汉字输出到液 晶。而对于带有字库的触摸屏来说 , 可以直接利用 触摸屏 自带的字库而无需检索汉字的区位码 , 只需 建立一种拼音到字型码的对应关系就可以确定要输 入的汉字。 V 1 r 3一S 1 0型触摸屏支持 A S C I I码、 S h i f t J I S 码、 U n i c o d e三种字符代码 , 其 中 U n i c o d e是一种 国 际字符集标准, 它为每个字符提供一个唯一的数字 , 可以容纳全世界所有语言文字的编码方案。V S 1 0触摸屏可 以通过 U n i c o d e显示汉字, 然而 U n i c o d e 是无规律排 列的, 要实现 中文拼音输入 , 字库 必须 按 照 一 定 的顺 序 排 列。笔 者 将 U n i c o d e按 2 0 1 0年第 3期 工业仪表与 自动化装置 8 3 G B 2 3 1 2编码顺序建立汉字字库 , G B 2 3 1 2是汉字字 符集和编码 的代号 , 中文全称 为“ 信息交换用汉字 编码字符集” 。G B 2 3 1 2共收录有 7 4 4 5个字符 , 其中 简化汉字 6 7 6 3个, 字母和符号 6 8 2个。 汉字字库是按照拼音的顺序递增排列的, 不 同 拼音的汉字对应的码不 同, 相同拼音 的汉字对应 的 字型码是相邻且连续 的, 利用字型码表本身同拼音 的这种对应关系。可以建立一种拼音与该拼音对应 的第一个汉字的字型码的等价关系。也就是输入一 个拼音就查找到它对应的字型码 , 并将该 字型码 以 后的汉字连续的显示 出来 。配合数字键和“ P g U p ” 、 “ P g D n ” 键来选择需要输入的汉字。例如 , 当按键输 入拼音“ a i ” 时首先查找到该拼音对应的第一个汉字 的字型码 0 x B O A 3 , 接着将 O x B O A 3对应的汉字“ 埃” 及其后面的 5个汉字连续 的显示在液 晶屏上 , 显示 对话框 中一行 显示 6个汉字 , 分别 为 “ 埃 、 挨、 哎、 唉、 哀、 皑” , 这 6个汉字位置分别对应着指针 0 5 , 如果要输入的汉字不在其中, 应按动 “ P g D n ” 键显示 后面的汉字。每按动一次 “ P g D n ” 键 , 字 型码 加 6 , 如果要输人的汉字在这里面则按下相应的汉字 , 即 确定指针值。例如要输 入 的汉 字是 “ 哎” , 则触摸 “ 哎” 字, 从而获得 “ 哎” 的字型码为 O x B O A 32 Ox BOA5。 1 . 1 汉字字 库的 建立 U n i c o d e码 与 G B 2 3 1 2码 之 间互 换无 规 律可 循 , 无算法可言 , 通常 只有查表法 。笔者 因工作需要做 了一些尝试 , 实现 了二者间的相互转换 。该设计是 将 P L C的数据寄存器按照 G B 2 3 1 2码的顺序存放对 应 的 U n i c o d e码 。 将 G B 2 3 1 2码从 B O A1开始按顺序排列 如表 1 所示 , 查出对应 的 U n i c o d e编码 , 并 将编码按顺 序 存放在 P L C的数据 寄存 器 中, 将 U n i c o d e编 码按 G B 2 3 1 2码顺 序存放在 F MO 0 0 0 0一F M0 6 7 6 2中 简 化汉字为 6 7 6 3个 。F M数据寄存器每一位 占两字 节 , 正好存放一个 U n i c o d e码。将 “ 啊” 作为字库的 首地址 , 对应 的“ 埃” 的偏移量为 2 , 依次按照 { ‘ ‘ a ” , “ a i ” , “ a n ” , ⋯⋯ } 顺序标识好指针。 表 1 拼音字型码表 1 . 2 检索算法 K V一1 0 0 0可以将项 目内重复多次使用 的梯形 图回路块任意命名 , 并且作为宏登 录, 通过宏化 , 使 用户的梯形图程序可以作为原始指令使用 , 能够简 单的实现编程。 G B 2 3 1 2码与 U n i c o d e码 的互换 是基于查 表法 实现的, 通过给定的源码在相应 的表中查找对应的 U n i c o d e 码 , 通过拼音的输入确定指针的大小, 从 而 确定输入的汉字地址。 新建子程序宏名称为“ 宏 1 ” , 在宏指令编写的 过程 中, 按 以下步骤进行操作 首先定义变量 , 其 次 为输入型变量赋值 , 然后进行逻辑运算 , 最后写输出 变量 。按照上面的思路 , 设计梯形图如图 1 所示 。 将拼音字型码 F MO 0 0 0 0地址存储在【 D Ml O 0 0 . D M1 0 0 1 】 中。 定义变量 Vl 、模为 6 、定义偏移量 v 2 、 中间变量 DM2 0 0 0 。 目的地址值送给[ DM1 0 0 0 . D Ml O O 1 ] 。 将数据存储器DM1 0 0 0 DM1 0 0 5的数据块,成块传送到 首地址为自变量 P 2的连续 6字节数据存储器巾 图 1 “ 宏 1 ” 梯形 图 新建子程序宏名称为“ 宏 2 ”, 将要输入 的汉字 定义如图 2所示。 从浏览窗 口中传送到需要输人汉字的地方。“ 宏 2 ” 8 4 工业仪表与 自动化装置 2 0 1 0年第 3期 将拼音字型码 D M1 5 0 0 0地址存储[ DM5 6 0 0 .DM5 6 0 1 ] q h 。 将存储 IJ [ DM5 6 0 0 . D M5 6 0 1 ] 中的地址加上变量 V1 。 将存储 IJ [ DM5 6 0 0 . D M5 6 0 1 ] 中的地址f 加上变量 V1 的 软元件 值存储 到 P 1 中 。 图 2 “ 宏 2 ” 梯形 图 1 . 3 汉语拼音到汉字的转化 该设计实现的核心是如何由输人的拼音找到该 拼音对应的第一个汉字字型码。汉语拼音到汉字的 O 6 9 转换是拼音输入法的核心。当按下可组合的拼音序 列时, 点击“ 确定” 键 , 输入窗 口中将该 拼音 的首地 址对应的汉字显示出来 , 如图 3所示。 当键盘输入字母“ 6 1 6 9 ” 时,确定指针为 2 ,存放的是显示 6个汉字 的数据寄存器的首地址, D M1 5 0 0 0显示的第一个汉字为“ a i ’ 对应的 汉字“ 埃” ,其后面依次显示“ 挨、哎、唉、哀、皑” DM1 5 0 0 0 首地 址 指针 D M1 0 0 ; 定义模 D M1 0 0为 6 , 触摸屏上定义“ P g u p 、 P g D n ” 按键, 当按一次“ P g U p P g Dn ” , DM1 0 0自减 6 自加 6 , 既 DM1 5 0 0 0 显示上一组 下一组 6个汉字。即可以查询到所有字库中的汉字。 图 3 拼音输入检索梯形图 2 硬件要求 2 . 1 PLC 日本 K E Y E N C E公司生产的 K V 一 1 0 0 0系列 P L C 的 C P U单元 有 1 6点 2 4 V D C输入 、 8点 晶体 管输 出; 内部采用 3 2 b i t 处理方式 , 数据处理指令十分丰 富 ; 基本指令执行每步只需 2 5 n s , 运算速度极快 ; 程 序容量最大 1 6 0 k步; 内含高速计数器等 多种 内部 元件资源 ; 抗干扰能力强, 是一款高性能、 执行速度 快 、 功能强大的小型整体式 P L C 。 2 . 2 触摸屏 设计采用基恩士新一代触摸屏 V T 3一 S 1 0 , 该触 摸屏采用高亮度 T f v r 液 晶, 通常 以 3 2 7 6 8色显示 , 支持 A S C I I 码 、 S h i f t J I S码 、 U n i c o d e三种字符代码。 该触摸屏可以和 1 6家公司2 0 0个机型的 P L C连接 , 具有 5 0 0种工具 , 功能强大。 3 软件设计 3 . 1 P LC编 程 P L C程序采用模块化程序设计 , 程序分为初始 化模块 、 每次扫描执行模块 、 后备模块。汉字字库数 据放在初始化模块当中 , 程序上电瞬间执行一次, 主 程序放在每次扫描执行模块 。参数设置放在后备模 块 中, 采用模块化设计不仅易于理解程序, 而且还易 于使用 、 调试。 程序大概分为拼音的输入、 拼音字型码的查询、 汉 字的显示和选择 3 部分。程序设计流程如图4所示。 图 4主程序流程图 触摸屏上放置一个“ 文本显示 ” 控件 , 定义为 P L C内部的一个数据寄存器 D M1 5 0 0 0 , 定义可以显 示 1 0个字符。采用触摸屏的软键盘输入汉字的拼 音, 当输入完拼音后, 点击确定 , 将显示该拼音 的汉 字。通过 P g U p 、 P g D n按键可以显示所有 G B 2 3 1 2汉 字。 图 5以输入一个汉字为例 , 详细介绍汉字输入 方法 。 3 . 2触摸屏编程 V 1 3一S 1 0触摸屏采用 V T S T U D I O V e r . 2作图 软件进行设计。新建一个触摸屏工程文件 , 在画面 0 0 0 0全局画面中放置一个 “ 文本显示” 控件 , 定义为 U n i c o d e 字符串形式 , 根据输入汉字的个数定义相应 的字节长度 , 如当要输入 4个汉字, 既定义 8个字节 H 2 0 1 0年第 3 期 工业仪表与 自动化装置 8 5 的长 度 见 图 6 。 DM 6 o 一 拌 l 哎 ai lP g 邮l埃 挨 哎 唛 哀 皑 唾 匣 弱2 i蕨l 3 [丽i ] /丽I 5 l蘸| 8 i蔫l 7 i蘑g 8 i 9 ill o 园厦同 匠匣 暖旺 围凰 羼 图 6 触摸屏中文输入画面 定义 D M8 0 ,当 l 时,确定输入汉字。当 MR 5 0 I I 将第一个汉字输入到输入窗口。 当 MR5 0 2 1 ,将第二个汉字输入到输入窗口。 当MR 5 0 3 I ,将第三个汉字输入到输入窗 口。 当MR 5 0 4 l ,将第四个汉字输入到输入 窗口。 当MR 5 0 5 1 ,将第五个汉字输入到输入窗口。 当MR 5 o 6 1 ,将第六个汉字输入到输入窗口。 图5 主程序梯形图 翻页键“ 上翻” 和 “ 下翻 ” 拼音输入 软键盘 确定键 4结论 该研究主要介绍 了在触摸屏上实现中文拼音输 上接第 l 4页 表 2 模糊积分结果 4结论 该文针对 DS证据理论应用于空分设备的故 障诊断时可能出现误诊的情况 , 提出了将模糊积分 数据融合方法应用于空分设备的故障诊断 中, 并通 过实验证明了该方法能够有效地提高设备故障诊断 的识别率。由于其算法简单 、 计算量小 , 应用于实际 能够增强故障诊断系统的可靠性 , 因此具有实用价 值。 参考文献 [ 1 ] 朱大奇, 杨永清. 电子部件故障诊断的D e m p s t e r S h a r e r 人法的方法 , 中文拼音输入法的汉字搜索算法 , 使用 触摸屏的软键盘实现汉字输入功能。用该方法编写 的代码简洁 , 具有很好的移植性 , 提高了系统的人机 交互界面的友好性 , 具有~定的实用价值 。 参考文献 [ 1 ] 殷洪义. 可编程控制器选择设计与维护[ M] . 北京 机 械工业出版社 , 2 0 0 2 . [ 2 ] 胡学林. 可编程控制器教程[ M] . 北京 电子工业出版 社 , 2 0 0 5 . [ 3 ] 李方园. 触摸屏工程应用 [ M] . 北京 电子工业出版 社 , 2 0 0 8 [ 4 ] 刘海保, 程小辉. 嵌入式系统 中文输人法的设计与实 现 [ J ] . 现代计算机 下半月版, 2 0 0 7 5 7 3 7 5 . 信息融合算法[ J ] . 控制理论与应用, 2 0 0 4 , 2 1 4 6 5 9 66 3. 韩 静 , 陶云刚. 基 于 D S证据理论和模糊数学的多传 感器数据融合算法[ J ] . 仪器仪表学报, 2 0 0 0, 2 1 6 6 4 46 47. 任红卫, 邓飞其. 基于证据理论的信息融合故障诊断 方法[ J ] . 系统工程与电子技术 , 2 0 0 5 , 2 7 3 4 7 1 4 73. 梁继 民, 杨万海 . 决 策融合 的模 糊积分 方法 [ J ] . 西安 电子科技 大学学报 , 1 9 9 8 , 2 5 2 2 5 0 2 5 3 . 汤学忠, 顾福民. 新编制氧工问答[ M] . 北京 冶金工 业 出版社 , 2 0 0 1 0 01 2 6 . 钟晓龙 , 陈 刚. 2 0 0 0 0 m / h空分设备主换热器泄漏分 析及处理[ J ] . 深冷技术, 2 0 0 6 1 4 7 5 0 . 李文龙. 4 0 0 0 0 m / h空分设备主换热器泄漏分析与处 理[ J ] . 深冷技术, 2 0 0 6 1 5 1 5 3 . ] J] J] j] J 2 3 4 5 6 7