S7-1200支持的串行通信方式編程
名稱 | CM 1241 RS232 | CM 1241 RS485 |
---|---|---|
定貨號 | 6ES7 241-1AH30-0XB0 | 6ES7 241-1CH30-0XB0 |
通信口類型 | RS232 | RS485 |
波特率(bps) | 300; 600;1.2 kb; 2.4 kb; 4.8 kb; 9.6 kb;19.2 kb; 28.4 kb; 57.6 kb; 76.8 kb; 115.2 kb; | |
校驗方式 |
|
|
流控 | 硬件流控;軟件流控 | 不支持 |
接收緩衝區 | 1KB | |
通信距離(屏蔽電纜) | 10m | 1000m |
電源規範(5V DC) | 220mA |
圖1. 串口通訊模塊緩存
診斷 LED 燈安全
發送 LED 燈網絡
接收 LED 燈spa
注意:安裝於CPU本體上的通訊板只有發送和接收 LED 燈,而沒有診斷 LED 燈調試
串口的校驗: 奇偶校驗:用於檢驗數據傳遞的正確性,是最簡單的檢錯方法。blog
圖2. 校驗設置接口
注意:奇偶校驗能夠簡單的判斷數據的正確性,從原理上可看出當一位出錯,能夠準確判斷,當兩位或更多位誤碼就校驗不出,但因爲其實現簡單,仍獲得了普遍使用。開發
定義在信息起始發送斷點及空閒線字符串
字符中斷:當接收到的數據保持爲零值的時間大於完整的字符傳輸時間時,表明字符中斷。一個完整字符傳輸時間定義爲傳輸起始位、數據位、校驗位和中止位的時間總和。
圖3. 定義在信息起始發送斷點及空閒線
常問問題:爲何發送配置中只配了2位字符中斷,而通訊夥伴卻能夠正常接收數據?
答:發送配置中設置的字符中斷小於等於16位時,系統自動發出16位的字符中斷位;設置大於16位時,則發出的中斷位與實際設置相符。下圖是設置的發送斷點及空閒線位及其實際發出的波形圖。
波形圖
|
斷點及空閒線設置
|
圖4. 斷點及空閒線波形圖
以任意字符開始
以特殊條件開始:
圖5. 通訊接收起始條件
經過字符序列識別消息開始
對於多個起始序列的組態,只要出現其中一個序列,即會知足開始條件。下圖右側即爲知足起始條件的字符串。
圖6. 經過字符序列識別消息開始
若是選擇了多個起始條件,則檢查開始條件的順序以下:
注意:檢查多個開始條件時,若是有一個條件沒有知足,則 CM 將從第一個所需的條件開始從新啓動檢查。
圖7.結束條件設置
注意:與多個起始條件的判斷不一樣,檢查多個結束條件時,任何一個條件知足,信息接收結束。
消息超時結束條件
消息超時時間從接到符合消息開始條件的第一個字符時開始計算,以下圖。
圖8.消息超時
響應超時結束條件
響應超時時間從傳送結束時開始計算,只要傳送成功完成且模塊開始接收操做,定時器就會啓動。
圖9.響應超時
注意:響應超時結束條件不能做爲單獨的結束條件的設置,不然會在編譯時報以下錯誤:
圖10.響應超時做爲單獨的結束條件報錯
從消息中讀取信息長度
圖11.從消息中讀取信息長度的設置
實際收到的數據長度=長度偏移前的字節數+長度字節大小+讀取的實際數據長度+不計入字節長度的字節數
圖12.程序中讀到的實際數據長度
緩存區的數據保持
斷電後緩存區中的數據所有丟失,不能保持。
通訊模板緩存區超出20條信息
若是緩存區中的信息超過20條,後面的信息被 自動丟棄,且不報錯。
通訊模板緩存區多包數據超出1024字節
發送多個每包50個字節數據,當數據超過1024字節那包就被丟棄了,前面的能夠正常接收,且沒有任何報錯.在前面數據被成功接收之後,只要緩存區有空間,後面的數據還能夠正常收到。
通訊模板緩存區一包數據超出1024字節
若是發送數據一包就大於1024字節時,緩衝區接收到數據到1024字節時,雖然沒有收到結束字符,數據由緩存區送給CPU,但會報錯16#80E0,以下圖。
圖13. 發送數據一包大於1024字節時,緩存區報錯
、
圖14. 使用RST指令復位緩存區錯誤,恢復數據接收
注意:緩存區能夠存儲多條信息,限制是20條信息或最多1024字節。
答:由於 S7-1200 RS485 模塊接口不提供24V電源,不能給 PC/PPI 電纜供電,因此電纜沒法工做。
解決辦法:能夠將 S7-1200 RS485 與 S7-200 通訊口網絡鏈接,將 PC/PPI 電纜插在 S7-200 通訊口上總線鏈接器的編程口上,對S7-1200 RS485進行串口調試。此時S7-200必須上電並打到中止狀態。
鏈接 5 GND 邏輯地或通訊地 金屬殼 - 外殼接地