通信電纜 網絡設備 無線通信 云計算|大數據 顯示設備 存儲設備 網絡輔助設備 信號傳輸處理 多媒體設備 廣播系統 智慧城市管理系統 其它智慧基建產品
上海地友自動化設備有限公司
暫無信息 |
閱讀:958發布時間:2017-12-13
S7-200 SMART CPU 本體集成的RS485通信口和擴展信號板(RS485/RS232)可以設置為自由口模式。選擇自由口模式后,用戶程序就可以*控制通信端口的操作,通信協議也*受用戶程序控制。
S7-200 SMART CPU 本體集成的通信口在電氣上是標準的RS-485半雙工串行通信口。此串行字符通信的格式可以包括:
自由口通信速波特率可以設置為1200、2400、4800、9600、19200、38400、57600或115200。
凡是符合這些格式的串行通信設備,理論上都可以和S7-200 SMART CPU通信。
自由口模式可以靈活應用。Micro/WIN SMART的兩個指令庫(USS和Modbus RTU)就是使用自由口模式編程實現的。
自由口通信要點
應用自由口通信首先要把通信口定義為自由口模式,同時設置相應的通信波特率和上述通信格式。用戶程序通過特殊存儲器SMB30(對端口0 即 CPU 本體集成 RS485 口)、SMB130(對端口1 即通信信號板)控制通信口的工作模式。
CPU通信口工作在自由口模式時,通信口就不支持其他通信協議(比如PPI)。
通信口的工作模式,是可以在運行過程中由用戶程序重復定義的。
自由口通信的核心指令是發送(XMT)和接收(RCV)指令。自由口通信常用的中斷有“接收指令結束中斷”、“發送指令結束中斷”,以及字符接收中斷。用戶程序不能直接控制通信芯片而必須通過操作系統。用戶程序使用通信數據緩沖區和特殊存儲器與操作系統交換相關的信息。
XMT和RCV指令的數據緩沖區類似,起始字節為需要發送的或接收的字符個數,隨后是數據字節本身。如果接收的消息中包括了起始或結束字符,則它們也算數據字節。
調用XMT和RCV指令時只需要通信口和數據緩沖區的起始字節地址。
XMT和RCV指令與網絡上通信對象的“地址”無關,而僅對本地的通信端口操作。如果網絡上有多個設備,消息中必然包含地址信息;這些包含地址信息的消息才是XMT和RCV指令的處理對象。
由于S7-200 SMART的通信端口是半雙工RS-485芯片,XMT指令和RCV指令不能同時有效。
XMT和RCV指令
XMT(發送)指令的使用比較簡單。RCV(接收)指令所需要的控制稍多一些。
RCV指令的基本工作過程為:
所以,RCV指令啟動后并不一定就接收消息,如果沒有讓它開始消息接收的條件,就一直處于等待接收的狀態;如果消息始終沒有開始或者結束,通信口就一直處于接收狀態。這時如果嘗試執行XMT指令,就不會發送任何消息。
所以確保不同時執行XMT和RCV非常重要,可以使用發送完成中斷和接收完成中斷功能,在中斷程序中啟動另一個指令。
在《S7-200 SMART 系統手冊》中關于XMT和RCV指令的使用有一個例子。這個例子非常經典,強烈建議學習自由口通信時先做通這個例子。
字符接收中斷
S7-200 SMART CPU提供了通信口字符接收中斷功能,通信口接收到字符時會產生一個中斷,接收到的字符暫存在特殊存儲器SMB2中。通信口Port0和Port1共用SMB2,但兩個口的字符接收中斷號不同。
每接收到一個字符,就會產生一次中斷。對于連續發送消息,需要在中斷服務程序中將單個的字符排列到用戶規定的消息保存區域中。實現這個功能可能使用間接尋址比較好。
對于高通信速率來說,字符中斷接受方式需要中斷程序的執行速度足夠快。
一般情況下,使用結束字符作為RCV指令的結束條件比較可靠。如果通信對象的消息幀中以一個不定的字符(字節)結束(如校驗碼等),就應當規定消息或字符超時作為結束RCV指令的條件。但是往往通信對象未必具有嚴格的協議規定、工作也未必可靠,這就可能造成RCV指令不能正常結束。這種情況下可以使用字符接收中斷功能。
商鋪:http://www.cmr6829.com/st181565/
主營產品:自動化設備、機電設備、電氣設備、機械設備及配件、五金交電、電子元器件、儀器儀表、電線電纜批發零售;自動化科技領域內的技術開發、技術咨詢、技術轉讓、技術服務
智慧城市網 設計制作,未經允許翻錄必究 .? ? ?
請輸入賬號
請輸入密碼
請輸驗證碼
請輸入你感興趣的產品
請簡單描述您的需求
請選擇省份