時間:2018-04-17 11:02:48來源:網(wǎng)絡轉載
在前面的文章中與大家分享了自由口通信中的發(fā)送功能,那么進行就跟大家聊聊自由口通信中的接收功能,自由口通信中的難點就是在于接收功能的使用,當PLC通過通信端口把數(shù)據(jù)發(fā)送給下位設備后,下位設備會根據(jù)PLC發(fā)送過去的信息內(nèi)容回傳相應的數(shù)據(jù)給PLC,這時候PLC就需要使用接收功能進行數(shù)據(jù)的接收,S7-200系列PLC提供了一條接收指令(RCV)用于接收下位設備返回來的信息。指令格式如下所示:
當PLC接收完下位設備回傳回來的數(shù)據(jù)后,PLC會產(chǎn)生相應的中斷事件來告知編程人員信息接收完成,此時可以編寫相應的程序提取有效數(shù)據(jù),并對這些有效數(shù)據(jù)進行轉換,轉換成可讀性的數(shù)據(jù)。S7-200系列PLC提供了中斷事件23和中斷事件24分別作為端口0和端口1的接收完成中斷事件號。
在PLC的信息發(fā)送過程中,PLC是主動方,會根據(jù)需要發(fā)送的數(shù)據(jù)個數(shù)進行數(shù)據(jù)的發(fā)送,當發(fā)送完成后,PLC會自動產(chǎn)生相應發(fā)送完成中斷,而對于接收來講,PLC是被動方,只負責數(shù)據(jù)的接收,當PLC的端口使能了接收功能后,PLC處于等待信息的接收狀態(tài),有數(shù)據(jù)過來就接收,但是接收的數(shù)據(jù)是否是有效的數(shù)據(jù),什么時候接收完了PLC并不知道,此時就要求我們編程人員需要設置好消息的起始和接收條件,當起始條滿足了,PLC把接收到的數(shù)據(jù)放入到接收緩沖區(qū)中,當滿足了結束條件,PLC關斷接收功能,并產(chǎn)生接收完成中斷。
用于判斷消息的的起始和結束條件有很多種方式,但用的比較多可能就以下幾種方式:
今天我們先聊一聊通過起始符作為信息的起始和通過結束符作為信息的結束判斷的過程及程序的設置,S7-200系列的PLC提供了兩個系統(tǒng)存儲區(qū)用于存儲起始符(SMB88)和結束符(SMB89)(這里以端口0為例說明),因此若需要使用起始符和結束符做為消息的起始和結束的的判斷,則需要把起始符和結束符分別放到SMB88和SMB89中。
當PLC在接收數(shù)據(jù)的過程中,會對接收的數(shù)據(jù)與起始符進行對比,如果與起始符不相等,這說明不是有效性的數(shù)據(jù),不放入接收緩沖器中,會把接收到的數(shù)據(jù)丟棄,重新接收,若接收到的數(shù)據(jù)與起始符相等,則PLC會把接收到的數(shù)據(jù)放到接收緩沖區(qū)中,同時記錄接收字符個數(shù)的存儲器的值加1。
當起始符滿足后,PLC會對接收到的字符與結束符進行對比,如果與結束符不相等,則繼續(xù)數(shù)據(jù)的接收,如果接收到的數(shù)據(jù)與結束符相等,則關斷接收功能,并產(chǎn)生接收完成中斷。因此使用起始符和結束符來講,大部分使用的是一些特定的字符。
若使用起始符和結束符作為消息的起始和結束的判斷時,需要先設置好接受功能的控制字節(jié)(SMB87)告知PLC為起始符和結束符判斷消息的起始和結束。SMB87的個格式內(nèi)容如下圖所示:
標簽:
中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(connectcrack.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產(chǎn)品新聞
更多>2025-07-08
調(diào)機師傅的"外掛神器"!維宏「一鍵調(diào)機...
2025-06-30
顛覆傳統(tǒng)加工!維宏VHTube一鍵實現(xiàn)變徑...
2025-06-16
2025-06-09
2025-06-06
2025-05-26