例程功能介绍:
威纶触摸屏默认不带中文输入功能,官方回复是没有此功能。但我们可以自己编写代码来完成中文输入的功能,
此帖通过配方寄存器配合宏指令来实现类似拼音输入功能。
我们知道世界上语言众多,但在电脑里都可以通过Unicode编码查询获得。
通过此表可以查询字母,数字,也可以查询汉字。每个查询结果对应一个编码值。
例如
<啊>对应一个十进制数21834,
<挨>对应25834。
我们在触摸屏里可以将字符输入元件资料格式设置为UNICODE,
内容设置为21834就会显示汉字<啊>。
汉语里常用文字约3700,这些汉字按拼音排序后,
我们将其对应编码保存到配方寄存器里,就能够通过宏指令调用与显示。
我们事先已经制作好了带拼音输入汉字功能的界面,如下图。
通过界面字母输入拼音后,例如拼音gong。
可点击(Enter)回车键,程序会通过宏指令根据输入的拼音将汉字显示出来供用户选择,这是模拟电脑的输入法。
一次仅能显示9个汉字,更多汉字可以通过右上角两个小箭头左右滚动显示与选择其他汉字。
显示的汉字可以点击选择,并会在窗口正上方逐一显示出已选择的汉字。
点击CLEAR键可将全部输入内容都清空,以便重新输入。
点击确认键,拼音窗口退出。
并将选择的全部汉字显示到界面的字符显示元件上。
例程效果可以查看视屏演示,界面与功能扩展有要求的话,可下载附件参考着使用。
另外我还在此版本上,依照网友的个性要求,
参考电脑搜狗拼音输入法的操作,扩展了一些功能。
支持中文输入,英文大写输入,英文小写输入,符号输入。shift键用于切换输入方法。
在另一篇帖子有介绍说明:
威纶触摸屏通过拼音输入中文通过三菱PLC
https://www.gkbc8.com/thread-15921-1-1.html
网友在回复时有要求分享出来供下载,
所以在回复网友时我分享了源代码供大伙下载学习。
具体可以看看去。
涉及附件下载地址如下。
例程网友反馈:
例程是自助下载与使用,经众多网友下载参考使用,基本OK。
近期有一个网友反馈例程在电脑模拟正常,下载到屏出现乱码。
例程我是使用V6.04.1版本编写,并一同在电脑与屏上测试,都正常实现拼音输入功能的。
经远程帮助发现确实是有乱码,帮忙处理后正常使用,这是有偿技术服务。
如果遇到乱码问题,也可自己处理的,在编译界面上,官方是有文字提示方法的:
更改字库。
经此网友反馈后,我已更新例程,程序使用的字库已经统一修改为官方所指定的,下载到屏忆不会出现乱码。
如果你也遇到下载后,也出现乱码问题,
可以参考我写的另一帖子,关于字库设置问题:
威纶通触摸屏控件使用unicode编码显示中文
经另一位网友反馈,在最新版本编程软件使用例程,有出现不显示问题。
也包了一个红包让我远程看了下,编程软件版本是最新的V6.0402,
发现界面文本内容,边框框都不显示的,很奇怪。
综合以往使用各个编程软件版本的经验,不是程序闪退就是格式出错的,所以想必又是新版本的BUG.
我在虚拟机测试了下此网友最新版本的编程软件,问题无法重现,使用例程对应的版本V6.04也一切正常。
怀疑是新旧版本同时安装了,有冲突问题吧,叫他尝试都卸载了,安装其他版本,先不做新版本的小白鼠。
网友自己操作后,一切正常。
所以也得注意编程版本号,例程是我用V6.04.1版本编写,遇到问题可以参考着解决.
威纶编程软件版本实在太多,官方每个版本感觉不是一伙人写的,没有功能规划与测试就发布供下载使用。
每个版本编程软件BUG特别多,我研究过编程软件逆向破解,编程软件相关的BUG遇到挺多。
各版本兼容性差,反编译文件时有不识别现象。
在尾部回复也有相关回复。
例程使用方法:
下载解压后,将exob格式程序文件进行反编译,或将cmtp格式文件解压缩后,打开编辑。
再将配方文件放置于编程软件安装目录下,如D:\Program Files\EBpro\HMI_memory\recipe。
便可在电脑离线模拟查看效果。
例程编写过程:
例程的编写过程可以选择简单看看,了解就好,以便自己能按需求修改使用。
首先是将按拼音排序后的汉字编码保存起来,存到文件。
如上图,这个可以自己在百度搜索下载,很多。
总之准备一UNICODE拼音排序文件就好,后缀制作配方文件用。
然后再将结果文件通过触摸屏配方编辑工具导入来制作配方文件,可能很多新手朋友不了解此文件。
配方文件可以简单理解为用作参数保存,可以换字为单位供界面控件或宏调用,对应RW,或RW_A类型寄存器。
配方文件制作好后,可下载到触摸屏里使用。
如果在本地模拟,可复制到软件安装目录供调用,目录如D:\Program Files\EBpro\HMI_memory\recipe;
常用汉字有3700左右,文件制作工作量过大,
自己制作闲麻烦的话,可下载附件后,直接使用里面我准备好的文件。
下载后的配方文件内包含常用汉字3750个,
已经按照拼音排序,我们只要在界面上设置字符输入元件的读取地址为配方寄存器,
再设置资料格式为UNICODE,元件就可显示汉字。
一个配方寄存器对应一个汉字,要显示什么汉字,设置对应配方寄存器地址就好。
1.创建窗口59作为我们要制作的键盘窗口,复制键盘窗口65的全部控件到窗口59直接使用。
2.再添加一个字符输入元件,读写地址设置RW-A0,长度3个字,
数值输入模式为LB0的位控制。添加一些美化界面的图片,效果如上图。
3.在图片上的数字 对应位置添加资料格式为Unicode的配方寄存器RW0-RW9,地址附加索引寄存器index0.
4.同样再添加位控制元件,读写地址LB1-LB9,都调用宏指令SelectChart,宏指令代码参考文末。
宏主要实现对应汉字选择功能。
5.添加资料格式为Unicode的配方寄存器RW3,长度10,用于显示与存在选择的汉字。
6.添加递增,递减的多状态设置元件,地址LW9200,递增减值8,最大最小值0,3749。
用于显示更多汉字。
7.添加多个位状态设置元件,地址LB0,开关类型设置为0N,标签图片都不使用,放置在每个字母上,
用于触发拼音发输入。
可置顶再设置字母按钮松开发出指令属性。
8.添加位状态设置元件,地址LB0,开关类型设置为0N,触发宏DecodePingYing,标签图片都不使用,放置于ENTER键上。
用于根据输入的拼音,显示出汉字。
9.位状态设置元件,地址LB0,开关类型设置为0N,触发宏Clear,标签图片都不使用,放置于Clear键上。
用于清空临时的全部内容。
10.添加功能键,属性设置为关闭窗口,标签图片都不使用,放置于空格键上,
再将空格键换成位状态切换开关,地址LB0,开关类型设置为OFF,
触发宏EndInput,标签图片都不使用,用于使用拼音输入结果。
例程仅供学习,更多功能,可在此例程基础上添加。
实际使用时在注意您项目与例程所用到的大量寄存器地址的冲突。
地址修改是建立在两个程序已经读懂的基础上,是个体力活,有需要折磨我的欢迎联系。
至于我们编写好的窗口如何调用,
可以在任意界面添加字符输入元件,设置unicode,位控制,
再通过功能键打开拼音输入窗口使用。
操作过程中使用的4个宏可以在下面复制使用。
DecodePingYing
- macro_command main()
- short b0,b1,b2
- short temp1,temp2,temp3,temp4,temp5,temp6
- short Index_N=0
- short a[4]
- GetData(a[0], "Local HMI", RW_A, 0, 3)
-
- b0=a[0]
- b1=a[1]
- b2=a[2]
- temp1=b0%256
- temp2=b0/256
- temp3=b1%256
- temp4=b1/256
- temp5=b2%256
- temp6=b2/256
-
- //----------------------------------------------------a
- if temp1==0x61 then //a
- Index_N=0
- if temp2==0x69 then //ai
- Index_N=2
- end if
- if temp2==0x6E then //an
- Index_N=15
-
- if temp3==0x67 then //ang
- Index_N=24
- end if
- end if
- if temp2==0x6F then //aO
- Index_N=27
- end if
- end if
- //----------------------------------------------------b
- if temp1==0x62 then //b
- Index_N=36
- if temp2==0x61 then //ba
- Index_N=36
- if temp3==0x69 then //bai
- Index_N=54
- end if
- if temp3==0x6E then //ban
- Index_N=62
- if temp4==0x67 then //bang
- Index_N=77
- end if
- end if
- if temp3==0x6F then //bao
- Index_N=89
- end if
- end if
-
- if temp2==0x65 then //be
- Index_N=106
- if temp3==0x69 then //bei
- Index_N=106
- end if
- if temp3==0x6E then //ben
- Index_N=121
- if temp4==0x67 then //beng
- Index_N=125
- end if
- end if
- end if
-
- if temp2==0x69 then //bi
- Index_N=131
- if temp3==0x61 then //bia
- Index_N=155
- if temp4==0x6E then //bian
- Index_N=155
- end if
- if temp4==0x6F then //biao
- Index_N=167
- end if
- end if
- if temp3==0x65 then //bie
- Index_N=171
- end if
- if temp3==0x6E then //bin
- Index_N=175
- if temp4==0x67 then //bing
- Index_N=181
- end if
- end if
- end if
-
- if temp2==0x6F then //bo
- Index_N=190
- end if
-
- if temp2==0x75 then //bu
- Index_N=209
- end if
-
- end if
- //----------------------------------------------------c
- if temp1=='c' then //c
- Index_N=220
- if temp2=='a' then //ca
- Index_N=220
- if temp3=='i' then //cai
- Index_N=221
- end if
- if temp3=='n' then //can
- Index_N=232
- if temp4=='g' then //cang
- Index_N=239
- end if
- end if
- if temp3=='o' then //cao
- Index_N=244
- end if
- end if
-
- if temp2=='e' then //ce
- Index_N=249
- if temp3=='n' then //cen
- Index_N=254
- if temp4=='g' then //ceng
- Index_N=254
- end if
- end if
- end if
-
- if temp2=='h' then //ch
- Index_N=256
- if temp3=='a' then //cha
- Index_N=256
- if temp4=='i' then //chai
- Index_N=267
- end if
- if temp4=='n' then //chan
- Index_N=270
- if temp5=='g' then //chang
- Index_N=280
- end if
- end if
- if temp4=='o' then //chao
- Index_N=293
- end if
- end if
- if temp3=='e' then //che
- Index_N=302
- if temp4=='n' then //chen
- Index_N=308
- if temp5=='g' then //cheng
- Index_N=318
- end if
- end if
- end if
- if temp3=='i' then //chi
- Index_N=333
- end if
- if temp3=='o' then //cho
- Index_N=349
- if temp4=='n' then //chon
- Index_N=349
- if temp5=='g' then //chong
- Index_N=349
- end if
- end if
- if temp4=='u' then //chou
- Index_N=354
- end if
- end if
- if temp3=='u' then //chu
- Index_N=366
- if temp4=='a' then //chua
- Index_N=382
- if temp5=='i' then //chuai
- Index_N=382
- end if
- if temp5=='n' then //chuan
- Index_N=383
- if temp6=='g' then //chuang
- Index_N=390
- end if
- end if
- end if
- if temp4=='i' then //chui
- Index_N=396
- end if
- if temp4=='n' then //chun
- Index_N=401
- end if
- if temp4=='o' then //chuo
- Index_N=408
- end if
- end if
- end if
-
- if temp2=='i' then //ci
- Index_N=410
- end if
-
- if temp2=='o' then //co
- Index_N=422
- if temp3=='n' then //con
- Index_N=422
- if temp4=='g' then //cong
- Index_N=422
- end if
- end if
- if temp3=='u' then //cou
- Index_N=428
- end if
- end if
-
- if temp2=='u' then //cu
- Index_N=429
- if temp3=='a' then //cua
- Index_N=433
- if temp4=='n' then //cuan
- Index_N=433
- end if
- end if
- if temp3=='i' then //cui
- Index_N=436
- end if
- if temp3=='n' then //cnn
- Index_N=444
- end if
- if temp3=='o' then //cuo
- Index_N=447
- end if
- end if
- end if
- //----------------------------------------------------d
- if temp1=='d' then //d
- Index_N=453
- if temp2=='o' then //da
- Index_N=453
- if temp3=='i' then //dai
- Index_N=459
- end if
- if temp3=='n' then //dan
- Index_N=471
- if temp4=='g' then //dang
- Index_N=486
- end if
- end if
- if temp3=='o' then //dao
- Index_N=491
- end if
- end if
-
- if temp2=='e' then //de
- Index_N=503
- if temp3=='i' then //dei
- Index_N=504
- end if
- if temp3=='n' then //den
- Index_N=506
- if temp4=='g' then //deng
- Index_N=506
- end if
- end if
- end if
-
- if temp2=='i' then //di
- Index_N=513
- if temp3=='a' then //dia
- Index_N=532
- if temp4=='n' then //dian
- Index_N=532
- end if
- if temp4=='o' then //diao
- Index_N=548
- end if
- end if
- if temp3=='e' then //die
- Index_N=557
- end if
- if temp3=='n' then //din
- Index_N=564
- if temp4=='g' then //ding
- Index_N=564
- end if
- end if
- if temp3=='u' then //diu
- Index_N=573
- end if
- end if
-
- if temp2=='o' then //do
- Index_N=574
- if temp3=='n' then //don
- Index_N=574
- if temp4=='g' then //dong
- Index_N=574
- end if
- end if
- if temp3=='u' then //dou
- Index_N=584
- end if
- end if
-
- if temp2=='u' then //du
- Index_N=591
- if temp3=='a' then //dua
- Index_N=606
- if temp4=='n' then //duan
- Index_N=606
- end if
- end if
- if temp3=='i' then //dui
- Index_N=612
- end if
- if temp3=='n' then //dun
- Index_N=616
- end if
- if temp3=='o' then //duo
- Index_N=625
- end if
- end if
- end if
- //----------------------------------------------------e
- if temp1=='e' then //e
- Index_N=637
- if temp2=='n' then //en
- Index_N=650
- end if
- if temp2=='r' then //er
- Index_N=651
- end if
- end if
- //----------------------------------------------------f
- if temp1=='f' then //f
- Index_N=659
- if temp2=='a' then //fa
- Index_N=659
- if temp3=='n' then //fan
- Index_N=667
- if temp4=='g' then //fang
- Index_N=684
- end if
- end if
- end if
- if temp2=='e' then //fe
- Index_N=695
- if temp3=='i' then //fei
- Index_N=695
- end if
- if temp3=='n' then //fen
- Index_N=707
- if temp4=='g' then //feng
- Index_N=722
- end if
- end if
- end if
- if temp2=='o' then //fo
- Index_N=737
- if temp3=='u' then //fou
- Index_N=738
- end if
- end if
- if temp2=='u' then //fu
- Index_N=739
- end if
- end if
- //----------------------------------------------------g
- if temp1=='g' then //g
- Index_N=784
-
- if temp2=='a' then //ga
- Index_N=784
- if temp3=='i' then //gai
- Index_N=785
- end if
- if temp3=='n' then //gan
- Index_N=791
- if temp4=='g' then //gang
- Index_N=802
- end if
- end if
- if temp3=='o' then //gao
- Index_N=811
- end if
- end if
- if temp2=='e' then //ge
- Index_N=821
- if temp3=='i' then //gei
- Index_N=838
- end if
- if temp3=='n' then //gen
- Index_N=839
- if temp4=='g' then //geng
- Index_N=841
- end if
- end if
- end if
- if temp2=='o' then //go
- Index_N=848
- if temp3=='n' then //gon
- Index_N=848
- if temp4=='g' then //gong
- Index_N=848
- end if
- end if
- if temp3=='u' then //gou
- Index_N=863
- end if
- end if
- if temp2=='u' then //gu
- Index_N=872
- if temp3=='a' then //gua
- Index_N=890
- if temp4=='i' then //guai
- Index_N=896
- end if
- if temp4=='n' then //guan
- Index_N=899
- if temp5=='g' then //guang
- Index_N=910
- end if
- end if
- end if
- if temp3=='i' then //gui
- Index_N=913
- end if
- if temp3=='n' then //gun
- Index_N=929
- end if
- if temp3=='o' then //guo
- Index_N=932
- end if
- end if
- end if
- //----------------------------------------------------h
- if temp1=='h' then //h
- Index_N=938
-
- if temp2=='a' then //ha
- Index_N=938
- if temp3=='i' then //hai
- Index_N=939
- end if
- if temp3=='n' then //han
- Index_N=946
- if temp4=='g' then //hang
- Index_N=965
- end if
- end if
- if temp3=='o' then //hao
- Index_N=968
- end if
- end if
-
- if temp2=='e' then //he
- Index_N=977
- if temp3=='i' then //hei
- Index_N=995
- end if
- if temp3=='n' then //hen
- Index_N=997
- if temp4=='g' then //heng
- Index_N=1001
- end if
- end if
- end if
- if temp2=='o' then //ho
- Index_N=1006
- if temp3=='n' then //hon
- Index_N=1006
- if temp4=='g' then //hong
- Index_N=1006
- end if
- end if
- if temp3=='u' then //hou
- Index_N=1015
- end if
- end if
- if temp2=='u' then //hu
- Index_N=1022
- if temp3=='a' then //hua
- Index_N=1040
- if temp4=='i' then //huai
- Index_N=1049
- end if
- if temp4=='n' then //huan
- Index_N=1054
- if temp5=='g' then //huang
- Index_N=1068
- end if
- end if
- end if
- if temp3=='i' then //hui
- Index_N=1082
- end if
- if temp3=='n' then //hun
- Index_N=1103
- end if
- if temp3=='o' then //huo
- Index_N=1109
- end if
- end if
- end if
- //----------------------------------------------------j
- if temp1=='j' then //j
- Index_N=1119
-
- if temp2=='i' then //ji
- Index_N=1119
- if temp3=='a' then //jia
- Index_N=1172
- if temp4=='n' then //jian
- Index_N=1189
- if temp5=='g' then //jiang
- Index_N=1229
- end if
- end if
- if temp4=='o' then //jiao
- Index_N=1242
- end if
- end if
- if temp3=='e' then //jie
- Index_N=1270
- end if
- if temp3=='n' then //jin
- Index_N=1297
- if temp4=='g' then //jing
- Index_N=1317
- end if
- end if
- if temp3=='o' then //jio
- Index_N=1342
- if temp4=='n' then //jion
- Index_N=1342
- if temp5=='g' then //jiong
- Index_N=1342
- end if
- end if
- end if
- if temp3=='u' then //jiu
- Index_N=1344
- end if
- end if
-
- if temp2=='u' then //ju
- Index_N=1361
- if temp3=='a' then //jua
- Index_N=1386
- if temp4=='n' then //juan
- Index_N=1386
- end if
- end if
- if temp3=='e' then //jue
- Index_N=1393
- end if
- if temp3=='n' then //jun
- Index_N=1403
- end if
- end if
- end if
- //----------------------------------------------------k
- if temp1=='k' then //k
- Index_N=1414
- if temp2=='a' then //ka
- Index_N=1414
- if temp3=='i' then //kai
- Index_N=1418
- end if
- if temp3=='n' then //kan
- Index_N=1423
- if temp4=='g' then //kang
- Index_N=1429
- end if
- end if
- if temp3=='o' then //kao
- Index_N=1436
- end if
- end if
-
- if temp2=='e' then //ke
- Index_N=1440
- if temp3=='n' then //ken
- Index_N=1455
- if temp4=='g' then //keng
- Index_N=1459
- end if
- end if
- end if
-
- if temp2=='o' then //ko
- Index_N=1461
- if temp3=='n' then //kon
- Index_N=1461
- if temp4=='g' then //kong
- Index_N=1461
- end if
- end if
- if temp3=='u' then //kou
- Index_N=1465
- end if
- end if
-
- if temp2=='u' then //ku
- Index_N=1469
- if temp3=='a' then //kua
- Index_N=1476
- if temp4=='i' then //kuai
- Index_N=1481
- end if
- if temp4=='n' then //kuan
- Index_N=1485
- if temp5=='g' then //kuang
- Index_N=1487
- end if
- end if
- end if
- if temp3=='i' then //kui
- Index_N=1495
- end if
- if temp3=='n' then //kun
- Index_N=1506
- end if
- if temp3=='o' then //kuo
- Index_N=1510
- end if
- end if
- end if
- //----------------------------------------------------l
- if temp1=='l' then //l
- Index_N=1514
-
- if temp2=='a' then //la
- Index_N=1514
- if temp3=='i' then //lai
- Index_N=1521
- end if
- if temp3=='n' then //lan
- Index_N=1524
- if temp4=='g' then //lang
- Index_N=1539
- end if
- end if
- if temp3=='o' then //lao
- Index_N=1546
- end if
- end if
-
- if temp2=='e' then //le
- Index_N=1555
- if temp3=='i' then //lei
- Index_N=1557
- end if
- if temp3=='n' then //len
- Index_N=1568
- if temp4=='g' then //leng
- Index_N=1568
- end if
- end if
- end if
-
- if temp2=='i' then //li
- Index_N=1571
- if temp3=='a' then //lia
- Index_N=1605
- if temp4=='n' then //lian
- Index_N=1606
- if temp5=='g' then //liang
- Index_N=1620
- end if
- end if
- if temp4=='o' then //liao
- Index_N=1631
- end if
- end if
- if temp3=='e' then //lie
- Index_N=1644
- end if
- if temp3=='n' then //lin
- Index_N=1649
- if temp4=='g' then //ling
- Index_N=1661
- end if
- end if
- if temp3=='u' then //liu
- Index_N=1675
- end if
- end if
-
- if temp2=='o' then //lo
- Index_N=1686
- if temp3=='n' then //lon
- Index_N=1686
- if temp4=='g' then //long
- Index_N=1686
- end if
- end if
- if temp3=='u' then //lou
- Index_N=1695
- end if
- end if
-
- if temp2=='u' then //lu
- Index_N=1701
- if temp3=='a' then //lua
- Index_N=1735
- if temp4=='n' then //luan
- Index_N=1735
- end if
- end if
- if temp3=='n' then //lun
- Index_N=1743
- end if
- if temp3=='o' then //luo
- Index_N=1750
- end if
- end if
-
- if temp2=='v' then //lv
- Index_N=1721
- if temp3=='e' then //lve
- Index_N=1741
- end if
- end if
- end if
- //----------------------------------------------------m
- if temp1=='m' then //m
- Index_N=1762
- if temp2=='a' then //ma
- Index_N=1762
- if temp3=='i' then //mai
- Index_N=1770
- end if
- if temp3=='n' then //man
- Index_N=1776
- if temp4=='g' then //mang
- Index_N=1785
- end if
- end if
- if temp3=='o' then //mao
- Index_N=1791
- end if
- end if
-
- if temp2=='e' then //me
- Index_N=1803
- if temp3=='i' then //mei
- Index_N=1804
- end if
- if temp3=='n' then //men
- Index_N=1820
- if temp4=='g' then //meng
- Index_N=1823
- end if
- end if
- end if
-
- if temp2=='i' then //mi
- Index_N=1831
- if temp3=='a' then //mia
- Index_N=1845
- if temp4=='n' then //mian
- Index_N=1845
- end if
- if temp4=='o' then //miao
- Index_N=1854
- end if
- end if
- if temp3=='e' then //mie
- Index_N=1862
- end if
- if temp3=='n' then //min
- Index_N=1864
- if temp4=='g' then //ming
- Index_N=1870
- end if
- end if
- if temp3=='u' then //miu
- Index_N=1876
- end if
- end if
-
- if temp2=='o' then //mo
- Index_N=1877
- if temp3=='u' then //mou
- Index_N=1894
- end if
- end if
-
- if temp2=='u' then //mu
- Index_N=1898
- end if
- end if
- //----------------------------------------------------n
- if temp1=='n' then //n
- Index_N=1912
-
- if temp2=='a' then //na
- Index_N=1912
- if temp3=='i' then //nai
- Index_N=1919
- end if
- if temp3=='n' then //nan
- Index_N=1924
- if temp4=='g' then //nang
- Index_N=1927
- end if
- end if
- if temp3=='o' then //nao
- Index_N=1928
- end if
- end if
-
- if temp2=='e' then //ne
- Index_N=1933
- if temp3=='i' then //nei
- Index_N=1934
- end if
- if temp3=='n' then //nen
- Index_N=1936
- if temp4=='g' then //neng
- Index_N=1937
- end if
- end if
- end if
-
- if temp2=='i' then //ni
- Index_N=1938
- if temp3=='a' then //nia
- Index_N=1949
- if temp4=='n' then //nian
- Index_N=1949
- if temp5=='g' then //niang
- Index_N=1956
- end if
- end if
- if temp4=='o' then //niao
- Index_N=1958
- end if
- end if
- if temp3=='e' then //nie
- Index_N=1960
- end if
- if temp3=='n' then //nin
- Index_N=1967
- if temp4=='g' then //ning
- Index_N=1968
- end if
- end if
- if temp3=='u' then //niu
- Index_N=1974
- end if
- end if
-
- if temp2=='o' then //no
- Index_N=1978
- if temp3=='n' then //non
- Index_N=1978
- if temp4=='g' then //nong
- Index_N=1978
- end if
- end if
- end if
-
- if temp2=='u' then //nu
- Index_N=1982
- if temp3=='a' then //nua
- Index_N=1986
- if temp4=='n' then //nuan
- Index_N=1986
- end if
- end if
- if temp3=='o' then //nuo
- Index_N=1989
- end if
- end if
-
- if temp2=='v' then //nv
- Index_N=1985
- if temp3=='e' then //nve
- Index_N=1987
- end if
- end if
- end if
- //----------------------------------------------------o
- if temp1==0x6F then //o
- Index_N=1993
- if temp2==0x75 then //ou
- Index_N=1994
- end if
- end if
- //----------------------------------------------------p
- if temp1=='p' then //p
- Index_N=2001
- if temp2=='a' then //pa
- Index_N=2001
- if temp3=='i' then //pai
- Index_N=2007
- end if
- if temp3=='n' then //pan
- Index_N=2013
- if temp4=='g' then //pang
- Index_N=2021
- end if
- end if
- if temp3=='o' then //pao
- Index_N=2026
- end if
- end if
-
- if temp2=='e' then //pe
- Index_N=2033
- if temp3=='i' then //pei
- Index_N=2033
- end if
- if temp3=='n' then //pen
- Index_N=2042
- if temp4=='g' then //peng
- Index_N=2044
- end if
- end if
- end if
-
- if temp2=='i' then //pi
- Index_N=2058
- if temp3=='a' then //pia
- Index_N=2075
- if temp4=='n' then //pian
- Index_N=2075
- end if
- if temp4=='o' then //piao
- Index_N=2079
- end if
- end if
- if temp3=='e' then //pie
- Index_N=2083
- end if
- if temp3=='n' then //pin
- Index_N=2085
- if temp4=='g' then //ping
- Index_N=2090
- end if
- end if
- end if
-
- if temp2=='o' then //po
- Index_N=2099
- if temp3=='u' then //pou
- Index_N=2107
- end if
- end if
-
- if temp2=='u' then //pu
- Index_N=2108
- end if
- end if
- //----------------------------------------------------q
- if temp1=='q' then //q
- Index_N=2123
- if temp2=='i' then //qi
- Index_N=2123
- if temp3=='a' then //qia
- Index_N=2159
- if temp4=='n' then //qian
- Index_N=2162
- if temp5=='g' then //qiang
- Index_N=2184
- end if
- end if
- if temp4=='o' then //qiao
- Index_N=2192
- end if
- end if
- if temp3=='e' then //qie
- Index_N=2207
- end if
- if temp3=='n' then //qin
- Index_N=2212
- if temp4=='g' then //qing
- Index_N=2223
- end if
- end if
- if temp3=='o' then //qio
- Index_N=2236
- if temp4=='n' then //qion
- Index_N=2236
- if temp5=='g' then //qiong
- Index_N=2236
- end if
- end if
- end if
- if temp3=='u' then //qiu
- Index_N=2238
- end if
- end if
-
- if temp2=='u' then //qu
- Index_N=2246
- if temp3=='a' then //qua
- Index_N=2259
- if temp4=='n' then //quan
- Index_N=2259
- end if
- end if
- if temp3=='e' then //que
- Index_N=2270
- end if
- if temp3=='n' then //qun
- Index_N=2278
- end if
- end if
- end if
- //----------------------------------------------------r
- if temp1=='r' then //r
- Index_N=2280
- if temp2=='a' then //ra
- Index_N=2280
- if temp3=='n' then //ran
- Index_N=2280
- if temp4=='g' then //rang
- Index_N=2284
- end if
- end if
- if temp3=='o' then //rao
- Index_N=2289
- end if
- end if
-
- if temp2=='e' then //re
- Index_N=2292
- if temp3=='n' then //ren
- Index_N=2294
- if temp4=='g' then //reng
- Index_N=2304
- end if
- end if
- end if
-
- if temp2=='i' then //ri
- Index_N=2306
- end if
-
- if temp2=='o' then //ro
- Index_N=2307
- if temp3=='n' then //ron
- Index_N=2307
- if temp4=='g' then //rong
- Index_N=2307
- end if
- end if
- if temp3=='u' then //rou
- Index_N=2317
- end if
- end if
-
- if temp2=='u' then //ru
- Index_N=2320
- if temp3=='a' then //rua
- Index_N=2330
- if temp4=='n' then //ruan
- Index_N=2330
- end if
- end if
- if temp3=='i' then //rui
- Index_N=2332
- end if
- if temp3=='n' then //run
- Index_N=2335
- end if
- if temp3=='o' then //ruo
- Index_N=2337
- end if
- end if
- end if
- //----------------------------------------------------s
- if temp1=='s' then //s
- Index_N=2339
- if temp2=='a' then //sa
- Index_N=2339
- if temp3=='i' then //sai
- Index_N=2342
- end if
- if temp3=='n' then //san
- Index_N=2346
- if temp4=='g' then //sang
- Index_N=2350
- end if
- end if
- if temp3=='o' then //sao
- Index_N=2353
- end if
- end if
-
- if temp2=='e' then //se
- Index_N=2357
- if temp3=='n' then //sen
- Index_N=2360
- if temp4=='g' then //seng
- Index_N=2361
- end if
- end if
- end if
-
- if temp2=='h' then //sh
- Index_N=2362
- if temp3=='a' then //sha
- Index_N=2362
- if temp4=='i' then //shai
- Index_N=2371
- end if
- if temp4=='n' then //shan
- Index_N=2373
- if temp5=='g' then //shang
- Index_N=2389
- end if
- end if
- if temp4=='o' then //shao
- Index_N=2397
- end if
- end if
- if temp3=='e' then //she
- Index_N=2408
- if temp4=='n' then //shen
- Index_N=2420
- if temp5=='g' then //sheng
- Index_N=2436
- end if
- end if
- end if
- if temp3=='i' then //shi
- Index_N=2447
- end if
- if temp3=='o' then //sho
- Index_N=2494
- if temp4=='u' then //shou
- Index_N=2494
- end if
- end if
- if temp3=='u' then //shu
- Index_N=2504
- if temp4=='a' then //shua
- Index_N=2537
- if temp5=='i' then //shuai
- Index_N=2539
- end if
- if temp5=='n' then //shuan
- Index_N=2543
- if temp6=='g' then //shuang
- Index_N=2545
- end if
- end if
- end if
- if temp4=='i' then //shui
- Index_N=2548
- end if
- if temp4=='n' then //shun
- Index_N=2552
- end if
- if temp4=='o' then //shuo
- Index_N=2556
- end if
- end if
- end if
-
- if temp2=='i' then //si
- Index_N=2560
- end if
-
- if temp2=='o' then //so
- Index_N=2576
- if temp3=='n' then //son
- Index_N=2576
- if temp4=='g' then //song
- Index_N=2576
- end if
- end if
- if temp3=='u' then //sou
- Index_N=2584
- end if
- end if
-
- if temp2=='u' then //su
- Index_N=2588
- if temp3=='a' then //sua
- Index_N=2600
- if temp4=='n' then //suan
- Index_N=2600
- end if
- end if
- if temp3=='i' then //sui
- Index_N=2603
- end if
- if temp3=='n' then //sun
- Index_N=2614
- end if
- if temp3=='o' then //suo
- Index_N=2617
- end if
- end if
- end if
- //----------------------------------------------------t
- if temp1=='t' then //t
- Index_N=2625
- if temp2=='a' then //ta
- Index_N=2625
- if temp3=='i' then //tai
- Index_N=2633
- end if
- if temp3=='n' then //tan0
- Index_N=2642
- if temp4=='g' then //tang
- Index_N=2660
- end if
- end if
- if temp3=='o' then //tao
- Index_N=2673
- end if
- end if
-
- if temp2=='e' then //te
- Index_N=2684
- if temp3=='n' then //ten
- Index_N=2685
- if temp4=='g' then //teng
- Index_N=2685
- end if
- end if
- end if
-
- if temp2=='i' then //ti
- Index_N=2689
- if temp3=='a' then //tia
- Index_N=2704
- if temp4=='n' then //tian
- Index_N=2704
- end if
- if temp4=='o' then //tiao
- Index_N=2712
- end if
- end if
- if temp3=='e' then //tie
- Index_N=2717
- end if
- if temp3=='n' then //tin
- Index_N=2720
- if temp4=='g' then //ting
- Index_N=2720
- end if
- end if
- end if
-
- if temp2=='o' then //to
- Index_N=2730
- if temp3=='n' then //ton
- Index_N=2730
- if temp4=='g' then //tong
- Index_N=2730
- end if
- end if
- if temp3=='u' then //you
- Index_N=2743
- end if
- end if
-
- if temp2=='u' then //tu
- Index_N=2747
- if temp3=='a' then //tua
- Index_N=2758
- if temp4=='n' then //tuan
- Index_N=2758
- end if
- end if
- if temp3=='i' then //tui
- Index_N=2760
- end if
- if temp3=='n' then //tun
- Index_N=2766
- end if
- if temp3=='o' then //tuo
- Index_N=2769
- end if
- end if
- end if
- //----------------------------------------------------w
- if temp1=='w' then //w
- Index_N=2780
- if temp2=='a' then //wa
- Index_N=2780
- if temp3=='i' then //wai
- Index_N=2787
- end if
- if temp3=='n' then //wan
- Index_N=2789
- if temp4=='g' then //wang
- Index_N=2806
- end if
- end if
- end if
-
- if temp2=='e' then //we
- Index_N=2816
- if temp3=='i' then //wei
- Index_N=2816
- end if
- if temp3=='n' then //wen
- Index_N=2849
- if temp4=='g' then //weng
- Index_N=2859
- end if
- end if
- end if
- if temp2=='o' then //wo
- Index_N=2862
- end if
- if temp2=='u' then //wu
- Index_N=2871
- end if
- end if
- //----------------------------------------------------x
- if temp1=='x' then //x
- Index_N=2900
- if temp2=='i' then //xi
- Index_N=2900
- if temp3=='a' then //xia
- Index_N=2935
- if temp4=='n' then //xian
- Index_N=2948
- if temp5=='g' then //xiang
- Index_N=2974
- end if
- end if
- if temp4=='o' then //xiao
- Index_N=2994
- end if
- end if
- if temp3=='e' then //xie
- Index_N=3012
- end if
- if temp3=='n' then //xin
- Index_N=3033
- if temp4=='g' then //xing
- Index_N=3043
- end if
- end if
- if temp3=='o' then //xio
- Index_N=3058
- if temp4=='n' then //xion
- Index_N=3058
- if temp5=='g' then //xiong
- Index_N=3058
- end if
- end if
- end if
- if temp3=='u' then //xiu
- Index_N=3065
- end if
- end if
-
- if temp2=='u' then //xu
- Index_N=3074
- if temp3=='a' then //xua
- Index_N=3093
- if temp4=='n' then //xuan
- Index_N=3093
- end if
- end if
- if temp3=='e' then //xue
- Index_N=3103
- end if
- if temp3=='n' then //xun
- Index_N=3109
- end if
- end if
- end if
- //----------------------------------------------------y
- if temp1=='y' then //y
- Index_N=3123
- if temp2=='a' then //ya
- Index_N=3123
- if temp3=='n' then //yan
- Index_N=3139
- if temp4=='g' then //yang
- Index_N=3172
- end if
- end if
- if temp3=='o' then //yao
- Index_N=3189
- end if
- end if
-
- if temp2=='e' then //ye
- Index_N=3204
- end if
-
- if temp2=='i' then //yi
- Index_N=3219
- if temp3=='n' then //yin
- Index_N=3272
- if temp4=='g' then //ying
- Index_N=3288
- end if
- end if
- end if
-
- if temp2=='o' then //yo
- Index_N=3306
- if temp3=='n' then //yon
- Index_N=3307
- if temp4=='g' then //yong
- Index_N=3307
- end if
- end if
- if temp3=='u' then //you
- Index_N=3322
- end if
- end if
-
- if temp2=='u' then //yu
- Index_N=3342
- if temp3=='a' then //yua
- Index_N=3387
- if temp4=='n' then //yuan
- Index_N=3387
- end if
- end if
- if temp3=='e' then //yue
- Index_N=3407
- end if
- if temp3=='n' then //yun
- Index_N=3417
- end if
- end if
- end if
- //----------------------------------------------------z
- if temp1=='z' then //z
- Index_N=3429
- if temp2=='a' then //za
- Index_N=3429
- if temp3=='i' then //zai
- Index_N=3431
- end if
- if temp3=='n' then //zan
- Index_N=3438
- if temp4=='g' then //zang
- Index_N=3442
- end if
- end if
- if temp3=='o' then //zao
- Index_N=3445
- end if
- end if
-
- if temp2=='e' then //ze
- Index_N=3459
- if temp3=='i' then //zei
- Index_N=3463
- end if
- if temp3=='n' then //zen
- Index_N=3464
- if temp4=='g' then //zeng
- Index_N=3465
- end if
- end if
- end if
-
- if temp2=='h' then //zh
- Index_N=3469
- if temp3=='a' then //zha
- Index_N=3469
- if temp4=='i' then //zhai
- Index_N=3483
- end if
- if temp4=='n' then //zhan
- Index_N=3489
- if temp5=='g' then //zhang
- Index_N=3506
- end if
- end if
- if temp4=='o' then //zhao
- Index_N=3521
- end if
- end if
- if temp3=='e' then //zhe
- Index_N=3531
- if temp4=='n' then //zhen
- Index_N=3541
- if temp5=='g' then //zheng
- Index_N=3557
- end if
- end if
- end if
- if temp3=='i' then //zhi
- Index_N=3572
- end if
- if temp3=='o' then //zho
- Index_N=3615
- if temp4=='n' then //zhon
- Index_N=3615
- if temp5=='g' then //zhong
- Index_N=3615
- end if
- end if
- if temp4=='u' then //zhou
- Index_N=3626
- end if
- end if
- if temp3=='u' then //zhu
- Index_N=3640
- if temp4=='a' then //zhua
- Index_N=3666
- if temp5=='i' then //zhuai
- Index_N=3668
- end if
- if temp5=='n' then //zhuan
- Index_N=3669
- if temp6=='g' then //zhuang
- Index_N=3675
- end if
- end if
- end if
- if temp4=='i' then //zhui
- Index_N=3682
- end if
- if temp4=='n' then //zhun
- Index_N=3688
- end if
- if temp4=='o' then //zhuo
- Index_N=3690
- end if
- end if
- end if
-
- if temp2=='i' then //zi
- Index_N=3701
- end if
-
- if temp2=='o' then //zo
- Index_N=3716
- if temp3=='n' then //zon
- Index_N=3716
- if temp4=='g' then //zong
- Index_N=3716
- end if
- end if
- if temp3=='u' then //zou
- Index_N=3723
- end if
- end if
-
- if temp2=='u' then //zu
- Index_N=3727
- if temp3=='a' then //zua
- Index_N=3735
- if temp4=='n' then //zuan
- Index_N=3735
- end if
- end if
- if temp3=='i' then //zui
- Index_N=3737
- end if
- if temp3=='n' then //zun
- Index_N=3741
- end if
- if temp3=='o' then //zuo
- Index_N=3743
- end if
- end if
- end if
- //----------------------------------------------------
- SetData(Index_N, "Local HMI", LW, 9200, 1)
- end macro_command
复制代码 SeelctChart
- macro_command main()
- short a[10],b[10],d[10]={0,0,0,0,0,0,0,0,0,0}
- bool c[9]
- short index0,i
- //获取选择的字符
- GetData(c[0], "Local HMI", LB, 1, 9)
- GetData(index0, "Local HMI", LW, 9200, 1)
- GetData(a[0], "Local HMI", RW, index0, 10)
- for i=0 to 9 step 1
- if c[i] == true then
- index0 = i
- break
- end if
- next
- //累加选择的字符
- short num=0//最多10字符
- GetData(num, "Local HMI", RW_A, 13, 1)
- if(num >=10)then
- num=0
- SetData(d[0], "Local HMI", RW_A, 3, 10)
- end if
- GetData(b[0], "Local HMI", RW_A, 3, 10)
- b[num] = a[index0]
- SetData(b[0], "Local HMI", RW_A, 3, 10)
- num = num+1
- SetData(num, "Local HMI", RW_A, 13, 1)
- //按钮复位
- SetData(d[0], "Local HMI", LB, 1, 9)
- end macro_command
复制代码 Clear
- macro_command main()
- short d[15]
- FILL(d[0],0,15)
- SetData(d[0], "Local HMI", RW_A, 0, 14)
- SetData(d[0], "Local HMI", LB, 0, 9)
- end macro_command
复制代码 EndInput
- macro_command main()
- short d[10]
- GetData(d[0], "Local HMI", RW_A, 3, 10)
- SetData(d[0], "Local HMI", LW, 0, 10)
- end macro_command
复制代码
|