s7-300中怎么把一串?dāng)?shù)字轉(zhuǎn)化為字符串
鄭志武
發(fā)布于2013-01-15 23:48
4132
0
標(biāo)簽:
在數(shù)據(jù)塊里有32個字節(jié)存放著條碼的各個位數(shù),現(xiàn)在想把這32個條碼合成字符串,有沒有什么快速的方法?如果單個轉(zhuǎn)換成字符串再合并,程序顯得太冗長,對于字符串的傳送是不是只能以大雙字來傳送,塊不能傳送?
問題補充:
我的目標(biāo)地址是string[32]數(shù)組類型,我直接把asciil類型的數(shù)據(jù)復(fù)制到各數(shù)組單元里,然后對該字符串的兩個符號位賦此種字符類型的符號值,就可以在觸摸屏上以字符串的格式顯示了,如果不對符號位賦值,那么觸摸屏上必須人為的寫入大數(shù)據(jù)條目,才能完整的顯示出字符串里的數(shù)組。
佳答案
1、將十進制數(shù)轉(zhuǎn)換成ascii碼:
用戶可以使用ice庫中的fc5功能將十進制數(shù)轉(zhuǎn)換成ascii字符。fc5功能完成轉(zhuǎn)換操作。通過兩個傳輸參數(shù)來設(shè)置該塊:
參數(shù)“i”:
要轉(zhuǎn)換的雙字格式的數(shù)字
參數(shù)“retval”:
存儲轉(zhuǎn)換完的ascii碼的數(shù)據(jù)類型為字符串(string)的變量
在ob1中調(diào)用fc5功能,并提供相應(yīng)的參數(shù)。轉(zhuǎn)換結(jié)果出現(xiàn)在db1中從數(shù)據(jù)塊字節(jié)2開始的位置。用戶可用變量表監(jiān)視結(jié)果。
功能fc2將兩個string變量連接在一起,組成一個字符串
2、ice庫下載:
s7iec.zip:
https://cache.automation.siemens.com/dnl/jy0njczmwaa_1851190_faq/s7iec.zip
3、字符串變量數(shù)據(jù)轉(zhuǎn)換的相關(guān)一些iec的標(biāo)準(zhǔn)功能:
使用iec的標(biāo)準(zhǔn)功能fc5,fc16,fc30,fc37,fc38和fc39這些功能塊可以實現(xiàn)字符串與其它數(shù)據(jù)類型(例如雙整數(shù))之間的相互的轉(zhuǎn)換。
fc2將兩個string變量連接在一起,組成一個字符串.
詳見:
<s7-300400的系統(tǒng)軟件和標(biāo)準(zhǔn)功能>下載:
https://www2.ad.siemens.com.cn/download/upload/as/manual/1023.pdf
4、對于字符串的傳送是不是只能以大雙字來傳送,塊不能傳送?
詳見上述文檔中3復(fù)制功能和塊功能,即第3章。