OPC客戶(hù)端為什么無(wú)法顯示STRING類(lèi)型變量中的內(nèi)容
發(fā)布時(shí)間:2024-07-22
使 用opc scout監(jiān) 視s7-300/400的string類(lèi) 型變量,但是在opc scout中 總是沒(méi)有字符顯示。
如 圖1所 示,在plc的db1中 定義了兩個(gè)字符串s1和s2。
圖 1
在ob1程 序中為字符串s2賦 值如圖2。
圖2
如 圖3所 示,opc scout中 定義了兩個(gè)item, 分別監(jiān)視db1中 的兩個(gè)字符串s1和s2, 結(jié)果第一個(gè)字符串可正常顯示字符串內(nèi)容,第二個(gè)字符串無(wú)字符顯示。
圖3
string數(shù) 據(jù)類(lèi)型作為復(fù)雜數(shù)據(jù)類(lèi)型無(wú)法在db塊 中直接監(jiān)視,可通過(guò)變量表來(lái)監(jiān)視但需要拆分為多個(gè)字節(jié)來(lái)監(jiān)視和修改,如圖4變 量表中監(jiān)視兩個(gè)字符串的部分字節(jié)。
圖4
對(duì) 照?qǐng)D5所 示sting數(shù) 據(jù)類(lèi)型的結(jié)構(gòu)來(lái)看,db1.dbb0和db1.dbb12分 別為字符串s1和s2的 最大長(zhǎng)度,db1.dbb1和db1.dbb13為 字符串s1和s2的 實(shí)際長(zhǎng)度,從變量表監(jiān)視結(jié)果可看到,s1的 實(shí)際長(zhǎng)度為5個(gè) 字符,而s2的 實(shí)際長(zhǎng)度為0, 所以在opc scout中 監(jiān)視s2始 終都沒(méi)有字符顯示。
圖5
解 決方法:
在 程序中增加為s2實(shí) 際長(zhǎng)度字節(jié)賦值的指令。如將實(shí)際長(zhǎng)度3通 過(guò)move指 令傳遞給db1.dbb13, 在opc scout中 能看到第二個(gè)字符串顯示位“fal”。如 果將s1的 實(shí)際長(zhǎng)度字節(jié)值修改為3, 在opc scout中 顯示的字符串將是“abc” 而不是現(xiàn)在的“abcde”。