在進(jìn)行PLC與PC進(jìn)行TCP通訊時(shí)如何運(yùn)用CP傳過來(lái)的數(shù)值呢?
下面我做兩種方式的解析: 1.簡(jiǎn)單粗暴!2.精簡(jiǎn)功能塊.
1.簡(jiǎn)單粗暴!
ASCII字符和等價(jià)的十六進(jìn)制值
簡(jiǎn)單粗暴的轉(zhuǎn)換方式:
有時(shí)我們會(huì)用PC給西門子PLC發(fā)送幾個(gè)字符,我們?nèi)绾巫x取字符呢?
我們先要進(jìn)行一個(gè)BCD轉(zhuǎn)2進(jìn)制的轉(zhuǎn)換,然后再運(yùn)用減法取出我們需要的數(shù)
1.將字符存儲(chǔ)的字節(jié)轉(zhuǎn)存到字里
MOVE (分配值)通過啟用EN輸入來(lái)激活。在IN輸入端指定的值將復(fù)制到在OUT輸出端指定的地址。ENO與EN的邏輯狀態(tài)相同。MOVE只能復(fù)制BYTE、WORD或DWORD數(shù)據(jù)對(duì)象。
2.使 BCD碼轉(zhuǎn)換整數(shù)
BCD_I (BCD碼轉(zhuǎn)換為整型)將參數(shù)IN的內(nèi)容以三位BCD碼數(shù)字(+/- 999)讀取,并將其轉(zhuǎn)換為整型值(16位)。整型值的結(jié)果通過參數(shù)OUT輸出。
3. 三進(jìn)行減數(shù)運(yùn)算將字符格式的標(biāo)示30減去,剩下的就是字符的數(shù)轉(zhuǎn)化成了整數(shù)
SUB_I 減去整數(shù):在啟用(EN)輸入端通過邏輯"1"激活SUB_I (減去整數(shù))。從IN1中減去IN2,并通過OUT查看結(jié)果。如果該結(jié)果超出了整數(shù)(16位)允許的范圍,OV位和OS位將為"1"并且ENO為邏輯"0",這樣便不執(zhí)行此數(shù)學(xué)框后由ENO連接的其它函數(shù)(層疊排列)。
2.精簡(jiǎn)功能塊.
使用西門子標(biāo)準(zhǔn)塊:
專門轉(zhuǎn)換字符為16進(jìn)制的FC97
FC94
ATH功能將IN指向的ASCII字符串轉(zhuǎn)換為壓縮十六進(jìn)制數(shù)字,然后將其存儲(chǔ)在OUT指向的目標(biāo)表格中。由于ASCII字符需要8位,而十六進(jìn)制數(shù)字只需要4位,輸出字長(zhǎng)度僅是字長(zhǎng)度的一半。按其讀入順序轉(zhuǎn)換ASCII字符并將結(jié)果置于十六進(jìn)制輸出中。如果ASCII字符數(shù)為奇數(shù),則最后轉(zhuǎn)換的十六進(jìn)制數(shù)字的最右側(cè)半個(gè)字節(jié)以零填充。
IN :*Pointer 指向ASCII字符串的起始位置。
N :INT 要轉(zhuǎn)換的ASCII輸入字符數(shù)
OUT :*Pointer 指向表格的起始位置。
如果輸入I0.0的信號(hào)狀態(tài)為1 (激活),則執(zhí)行ATH指令。在本例中,輸入?yún)?shù)N為5表示要轉(zhuǎn)換五個(gè)ASCII字符。ASCII字符以IN指針位置DB1.DBX10.0為起點(diǎn),存儲(chǔ)在數(shù)據(jù)塊1中。輸出字符串將以O(shè)UT指針位置DB2.DBX0.0 (數(shù)據(jù)塊2)為起點(diǎn)存儲(chǔ)。由于ASCII輸入字符數(shù)為奇數(shù),最后一個(gè)十六進(jìn)制位最右邊的半個(gè)字節(jié)中的值全部為零,從而生成十六進(jìn)制值0xC0。(有關(guān)每個(gè)ASCII字符的等價(jià)十六進(jìn)制值,請(qǐng)參考下表。)
給入的字符
輸出的16進(jìn)制數(shù)
例子:
DB1里的字符數(shù)
DB2里的給定值
原文標(biāo)題:西門子PLC-如何讀取字符里數(shù)
文章出處:【微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
plc
+關(guān)注
關(guān)注
5010文章
13271瀏覽量
463055 -
西門子
+關(guān)注
關(guān)注
94文章
3034瀏覽量
115779 -
PC
+關(guān)注
關(guān)注
9文章
2076瀏覽量
154146
原文標(biāo)題:西門子PLC-如何讀取字符里數(shù)
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論