資源描述:
《西門子S7-200自由口通訊知識》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。
1、S7-200系列自由口通訊的實現(xiàn)及應用比較有用的資料,有S7-200PLC的話,可以試試。1?引言???為了達到和通訊協(xié)議已知的控制設備進行數(shù)據(jù)交換,以提高自動化控制系統(tǒng)的靈活性,很多plc制造商都相繼的開發(fā)出了方便、靈活的自由口通訊方式,例如三菱公司的fx2系列plc,omron公司的cjm1系列的plc,西門子公司的s7-200系列plc等都提供了自由口通訊模式。自由口通訊是指plc提供了串行的通訊硬件,和用于定制通訊協(xié)議的相關指令,在控制系統(tǒng)中,當要和plc連接的控制設備的通訊協(xié)議已知時,可以在plc中進行編程定制通訊協(xié)議,和控制
2、設備進行數(shù)據(jù)通訊。本文主要介紹西門子s7-200的自由口和計算機的串口進行的通訊,計算機中采用visualbasic進行編程,從而實現(xiàn)計算機與可編程控制器的直接控制。該通訊方式具有效率高、容易實現(xiàn)、通訊硬件簡單、容易配置等特點在工業(yè)控制領域中被廣泛應用。2?s7-200通訊指令及特殊字節(jié)???采用自由口通訊方式時,s7-200上的rs485口完全由用戶控制,可以與任何協(xié)議已知的設備進行通訊,在這種情況下通訊協(xié)議完全由用戶制定,為此,s7-200提供了用于進行通訊協(xié)議定制的特殊標志位以及相關的通訊指令。2.1特殊標志字節(jié)???s7-200
3、用于自由口通訊模式定義的特殊標志字節(jié)有smb30和smb130,smb30用于s7-200的端口0的通訊,smb130用于s7-200的端口1的通訊,兩者的格式一樣,下面我們以smb130為例,介紹其組成。smb130各位的含義如下:???pp:兩位用于選擇通訊的校驗方式?當這兩位的組合是:????00無校驗?01偶校驗?10無校驗?11奇校驗???d:這一位用于選擇通訊的數(shù)據(jù)位數(shù)?d=1時7個數(shù)據(jù)位,d=0時8個數(shù)據(jù)位???bbb:用于選擇自由口通訊是的波特率,這三位的組合和通訊波特率的關系如下:???000——38400bps???
4、??001——19200bps?????010——9600bps??????011——4800bps????100——2400bps?????101——1200bps?????110——600?bps??????111——300?bps????mm:用于通訊協(xié)議的選擇,當這兩位的組合是:???00?ppi從站模式??01自由口通訊模式?10?ppi主站模式2.2接收信息的狀態(tài)字節(jié)???s7-200在自由口通訊時用于接受信息的狀態(tài)有smb86和smb186,smb86用于s7-200的端口0的通訊,smb186用于s7-200的端口1的通
5、訊,兩者的格式一樣,下面我們以smb186為例,介紹其組成。smb186各位的含義如下:???n=1時:表示禁止接收信息???r=1時:表示接收信息結束???e=1時:表示收到結束字符???t=1時:表示接收信息超時錯誤???c=1時:表示接收信息字符超長錯誤???p=1時:表示接收信息奇、偶校驗錯誤2.3接收信息的控制字節(jié)???s7-200在自由口通訊時用于接受信息的控制字節(jié)有smb87和smb187,smb87用于s7-200的端口0的通訊,smb187用于s7-200的端口1的通訊,兩者的格式一樣,下面我們以smb187為例,介紹
6、其組成。smb187各位的含義如下:???en=0時:禁止接收信息???????????en=1時:允許接收信息???sc=0時:不使用起始字符開始?????sc=1時:使用起始字符做為接收信息的開始???ec=0時:不使用結束字符結束??????ec=1時:使用結束字符做為接收信息的結束???il=0時:不使用空閑線檢測????????il=1時:使用空閑線檢測???c/m=0時:定時器是字符定時器???????c/m=1時:定時器是信息定時器???tmr=0時:不使用超時檢測??????????tmr=1時:使用超時線檢測???bk
7、=0時:不使用中斷檢測???????????bk=1時:使用中斷檢測2.4其它和自由口通訊有關的特殊字節(jié)(見表1)2.5自由口通訊的指令???(1)發(fā)送指令xmt其指令格式如圖所示:?????發(fā)送指令用于激活發(fā)送數(shù)據(jù)緩沖區(qū)tbl中的數(shù)據(jù),數(shù)據(jù)格式如下所示,數(shù)據(jù)緩沖區(qū)中的第一個數(shù)據(jù)是指定要發(fā)送的數(shù)據(jù)的總字節(jié)數(shù),最大為255個,從第二個數(shù)據(jù)開始是依次要發(fā)送的數(shù)據(jù)。port指定用于發(fā)送的端口,在發(fā)送完緩沖區(qū)中的最后一個數(shù)據(jù)時產(chǎn)生中斷事件。???(2)發(fā)送指令rcv其指令格式如圖所示:???接收指令rcv用于從指定的端口接收數(shù)據(jù),并將接收到的數(shù)
8、據(jù)存儲與其參數(shù)tbl所指定的緩沖區(qū)內,緩沖區(qū)的第一個字節(jié)指示接收到的字節(jié)數(shù)量,第二個字節(jié)指示接收的起始字符,最后一個字節(jié)指示的是結束字符,起始字符和結束字符之間的是接收到的數(shù)據(jù),同發(fā)送緩沖區(qū)一樣,接收緩沖區(qū)