1.簡介
觸摸屏和PLC之間一般進行的是整形、浮點等數據類型的通訊,借助于標準ASCII編碼表,觸摸屏和PLC之間可以進行字母、數字及部分特殊符號的字符串型數據的通訊;同樣,借助于標準漢字Unicode編碼表,每個漢字對應上一個漢字編碼,可以在觸摸屏和PLC之間進行中文漢字的字符串型數據的通訊。
Unicode目前普遍采用的是UCS-2,它用兩個字節來編碼一個字符, 比如漢字”經”的編碼是0x7ECF,注意字符編碼一般用十六進制來 表示,為了與十進制區分,十六進制以0x開頭,0x7ECF轉換成十進制就是32463,UCS-2用兩個字節來編碼字符,兩個字節就是16位二進制, 2的16次方等于65536,所以UCS-2最多能編碼65536個字符。編碼從0到127的字符與ASCII編碼的字符一樣,比如字母”a”的Unicode編碼是0x0061,十進制是97,而”a”的ASCII編碼是0x61,十進制也是97,對于漢字的編碼,事實上Unicode對漢字支持不怎么好,這也是沒辦法的, 簡體和繁體總共有六七萬個漢字,而UCS-2最多能表示65536個,才六萬 多個,所以Unicode只能排除一些幾乎不用的漢字,好在常用的簡體漢字 也不過七千多個,為了能表示所有漢字,Unicode也有UCS-4規范,就是用 4個字節來編碼字符,不過現在普遍采用的還是UCS-2,只用兩個字節來編碼。
2. 主要軟硬件
3. 實驗過程簡介
3.1 PLC中變量定義及賦值
使用UnityProV13.0軟件,在PLC中定義一個WORD型數組,鏈接上%MW0寄存器,其中每一個數組元素數值對應一個漢字,對應規則參考標準漢字Unicode編碼表,例如,查表得知漢字“施”對應的數值是65BD,調換高低字節(根據PLC品牌型號決定是否需要調換高低字節)轉換成十進制數值是48485,將上述數組其中一個元素賦值48485,加上下述的觸摸屏程序配置,觸摸屏上就能顯示“施”字了,同樣“武”“漢”“耐”“德”幾個字分別對應值26219、18796、4224、46943
3.2觸摸屏程序配置
使用Vijeo Designer Basic 1.1軟件,在導航窗口-變量中定義一個字符型型變量STRING01,鏈接上PLC中定義的地址%MW0,I/O管理器驅動程序ModbusTCPIP01屬性欄字符串編碼欄選擇為Unicode
導航窗口-圖形畫面-基本畫面-畫面1上放一個字符串顯示控件,鏈接上那個字符串變量STRING01,注意顯示長度是否符合你要求
由于此功能用仿真軟件聯調即能實現,本文直接同時啟用UnityProV13.0仿真及Vijeo Designer Basic 1.1設備模擬仿真運行即可看到結果,“武漢施耐德”五個漢字分別有不同的Unicode編碼值與之對應,在PLC中輸入相應數值就能在觸摸屏上對應顯示出來
4.小結
借助于標準漢字Unicode編碼表,每個漢字對應上一個漢字編碼,可以在觸摸屏和PLC之間進行中文漢字的字符串型數據的通訊,如果要顯示不是很多不同的漢字,可以利用觸摸屏上的字符串輸入功能進行反推,得到相應漢字的Unicode編碼值,如果要顯示很多不同的漢字,可以從漢字unicode編碼表中查詢到相應漢字的Unicode編碼值進行轉換。漢字unicode編碼表推薦鏈接如下: https://blog.csdn.net/u010811143/article/details/51560246
本文示例用到的unicode編碼表節選如下:
-
寄存器
+關注
關注
31文章
5434瀏覽量
124457 -
plc
+關注
關注
5037文章
13919瀏覽量
474516 -
觸摸屏
+關注
關注
42文章
2386瀏覽量
118525
原文標題:M580和GXU進行中文漢字通訊的實驗
文章出處:【微信號:SE_AUT,微信公眾號:自動化小天地】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
labview數據類型與PLC 數據類型之間的轉換(來自于寫入浮點數到匯川 PLC中的數據轉換關鍵的修改)
組態王和觸摸屏哪個好_組態王和觸摸屏區別
觸摸屏與PLC之間無線通訊步驟詳解

觸摸屏與三菱PLC之間無線MODBUS通訊實例

評論