s7-200 Modbus通信相關(guān)問題
劉玉蓉
發(fā)布于2014-10-24 17:38
17
0
標(biāo)簽:
1.用XMT發(fā)送報(bào)文,是不是將報(bào)文自動(dòng)分解成字符,打包成字符幀按順序挨個(gè)發(fā)送的?如果是,字符之間的間隔是怎樣的?
2.SMB30中,奇偶校驗(yàn)是針對(duì)單個(gè)字符幀的校驗(yàn),還是整個(gè)報(bào)文的校驗(yàn)?
3.SMB30中,字符數(shù)據(jù)位有8或7位,這個(gè)7位是用在什么地方?
4.SM87.1,break是什么?XMT完成報(bào)文發(fā)送就會(huì)自動(dòng)產(chǎn)生break條件?
5.SMW90是空閑線時(shí)間設(shè)置。這個(gè)是接收?qǐng)?bào)文檢測(cè)空閑狀態(tài),還是發(fā)送報(bào)文時(shí)系統(tǒng)自動(dòng)延時(shí)?
6.在發(fā)送報(bào)文和接收?qǐng)?bào)文時(shí)需要占用CPU嗎?系統(tǒng)塊里面的背景通信時(shí)間設(shè)置是否對(duì)自由口通信效率有影響?
7.自由口通信是否在程序掃描結(jié)束之后,占用一段時(shí)間處理?如果是,這段時(shí)間大概能有多長(zhǎng)?
佳答案
1.用XMT發(fā)送報(bào)文,是不是將報(bào)文自動(dòng)分解成字符,打包成字符幀按順序挨個(gè)發(fā)送的?如果是,字符之間的間隔是怎樣的?
如果選擇RTU方式,是按照字節(jié)方式發(fā)送的,如果選擇ASCII碼方式,是按照字符方式發(fā)送的。發(fā)送時(shí)數(shù)據(jù)是連續(xù)、依次發(fā)送。
2.SMB30中,奇偶校驗(yàn)是針對(duì)單個(gè)字符幀的校驗(yàn),還是整個(gè)報(bào)文的校驗(yàn)?
奇偶校驗(yàn)是對(duì)每個(gè)發(fā)送的字節(jié)或字符做的校驗(yàn),是附加在每個(gè)字節(jié)或字符后的。
3.SMB30中,字符數(shù)據(jù)位有8或7位,這個(gè)7位是用在什么地方?
用RTU方式通訊時(shí),也可以選擇7位,只不過缺省為8位。如果用ASCII碼方式通訊,缺省為7位。
4.SM87.1,break是什么?XMT完成報(bào)文發(fā)送就會(huì)自動(dòng)產(chǎn)生break條件?
理論上每次發(fā)送請(qǐng)求時(shí),如果用RTU方式時(shí),兩條請(qǐng)求間必須有3.5個(gè)字符的時(shí)間長(zhǎng)度間隔。
5.SMW90是空閑線時(shí)間設(shè)置。這個(gè)是接收?qǐng)?bào)文檢測(cè)空閑狀態(tài),還是發(fā)送報(bào)文時(shí)系統(tǒng)自動(dòng)延時(shí)?
接收?qǐng)?bào)文
6.在發(fā)送報(bào)文和接收?qǐng)?bào)文時(shí)需要占用CPU嗎?系統(tǒng)塊里面的背景通信時(shí)間設(shè)置是否對(duì)自由口通信效率有影響?
發(fā)送請(qǐng)求時(shí)會(huì)占用,接收響應(yīng)并處理時(shí)會(huì)占用,但是影響很小。一般情況下發(fā)送和接收都有緩沖區(qū),只需將數(shù)據(jù)移動(dòng)到緩沖區(qū)即可,然后由通信自己處理。
7.自由口通信是否在程序掃描結(jié)束之后,占用一段時(shí)間處理?如果是,這段時(shí)間大概能有多長(zhǎng)?
只有觸發(fā)中斷時(shí)才處理,處理時(shí)間很短,可以忽略。