18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> PLC基礎及應用 >> 正文

西門子s7-200PLC CPU自由口通信模式總結,XMT和RCV指令

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-12-31

西門子S7-200CPU的通信口可以設置為(wei) 自由口模式。選擇自由口模式後,用戶程序就可以完全控製通信端口的操作,通信協議也完全受用戶程序控製。

    S7-200CPU上的通信口在電氣上是標準的RS-485半雙工串行通信口。此串行字符通信的格式可以包括:

    一個(ge) 起始位

    7或8位字符(數據字節)

    一個(ge) 奇/偶校驗位,或者沒有校驗位

    一個(ge) 停止位

    自由口通信速波特率可以設置為(wei) 1200、2400、4800、9600、19200、38400、57600或112500。

    凡是符合這些格式的串行通信設備,理論上都可以和S7-200CPU通信。

    自由口模式可以靈活應用。Micro/WIN的兩(liang) 個(ge) 指令庫(USS和ModbusRTU)就是使用自由口模式編程實現的。

    在進行自由口通信程序調試時,可以使用PC/PPI電纜(設置到自由口通信模式)連接PC和CPU,在PC上運行串口調試軟件(或者Windows的HyperTerminal-超級終端)調試自由口程序。

    USB/PPI電纜和CP卡不支持自由口調試。

    自由口通信要點

    應用自由口通信首先要把通信口定義(yi) 為(wei) 自由口模式,同時設置相應的通信波特率和上述通信格式。用戶程序通過特殊存儲(chu) 器SMB30(對端口0)、SMB130(對端口1)控製通信口的工作模式。詳見下圖

    CPU通信口工作在自由口模式時,通信口就不支持其他通信協議(比如PPI),此通信口不能再與(yu) 編程軟件Micro/WIN通信。CPU停止時,自由口不能工作,Micro/WIN就可以與(yu) CPU通信。

    通信口的工作模式,是可以在運行過程中由用戶程序重複定義(yi) 的。

    如果調試時需要在自由口模式與(yu) PPI模式之間切換,可以使用SM0.7的狀態決(jue) 定通信口的模式;而SM0.7的狀態反映的是CPU運行狀態開關(guan) 的位置(在RUN時SM0.7="1",在STOP時SM0.7="0")

    自由口通信的核心指令是發送(XMT)和接收(RCV)指令。在自由口通信常用的中斷有“接收指令結束中斷”、“發送指令結束中斷”,以及通信端口緩衝(chong) 區接收中斷。

    與(yu) 網絡讀寫(xie) 指令(NetR/NetW)類似,用戶程序不能直接控製通信芯片而必須通過操作係統。用戶程序使用通信數據緩衝(chong) 區和特殊存儲(chu) 器與(yu) 操作係統交換相關(guan) 的信息。

    XMT和RCV指令的數據緩衝(chong) 區類似,起始字節為(wei) 需要發送的或接收的字符個(ge) 數,隨後是數據字節本身。如果接收的消息中包括了起始或結束字符,則它們(men) 也算數據字節。

    調用XMT和RCV指令時隻需要指定通信口和數據緩衝(chong) 區的起始字節地址。

    XMT和RCV指令與(yu) NetW/NetR指令不同的是,它們(men) 與(yu) 網絡上通信對象的“地址”無關(guan) ,而僅(jin) 對本地的通信端口操作。如果網絡上有多個(ge) 設備,消息中必然包含地址信息;這些包含地址信息的消息才是XMT和RCV指令的處理對象。

    由於(yu) S7-200的通信端口是半雙工RS-485芯片,XMT指令和RCV指令不能同時有效。

    XMT和RCV指令

    XMT(發送)指令的使用比較簡單。RCV(接收)指令所需要的控製稍多一些。

    RCV指令的基本工作過程為(wei) :

    在邏輯條件滿足時,啟動(一次)RCV指令,進入接收等待狀態

    監視通信端口,等待設置的消息起始條件滿足,然後進入消息接收狀態

    如果滿足了設置的消息結束條件,則結束消息,然後退出接收狀態

    所以,RCV指令啟動後並不一定就接收消息,如果沒有讓它開始消息接收的條件,就一直處於(yu) 等待接收的狀態;如果消息始終沒有開始或者結束,通信口就一直處於(yu) 接收狀態。這時如果嚐試執行XMT指令,就不會(hui) 發送任何消息。

    所以確保不同時執行XMT和RCV非常重要,可以使用發送完成中斷和接收完成中斷功能,在中斷程序中啟動另一個(ge) 指令。

    在《S7-200係統手冊(ce) 》和Micro/WIN在線幫助中關(guan) 於(yu) XMT和RCV指令的使用有一個(ge) 例子。這個(ge) 例子非常經典,強烈建議學習(xi) 自由口通信時先做通這個(ge) 例子。例程,見下圖


 

    字符接收中斷

    S7-200CPU提供了通信口字符接收中斷功能,通信口接收到字符時會(hui) 產(chan) 生一個(ge) 中斷,接收到的字符暫存在特殊存儲(chu) 器SMB2中。通信口Port0和Port1共用SMB2,但兩(liang) 個(ge) 口的字符接收中斷號不同。

    每接收到一個(ge) 字符,就會(hui) 產(chan) 生一次中斷。對於(yu) 連續發送消息,需要在中斷服務程序中將單個(ge) 的字符排列到用戶規定的消息保存區域中。實現這個(ge) 功能可能使用間接尋址比較好。

    對於(yu) 高通信速率來說,字符中斷接受方式需要中斷程序的執行速度足夠快。

    一般情況下,使用結束字符作為(wei) RCV指令的結束條件比較可靠。如果通信對象的消息幀中以一個(ge) 不定的字符(字節)結束(如校驗碼等),就應當規定消息或字符超時作為(wei) 結束RCV指令的條件。但是往往通信對象未必具有嚴(yan) 格的協議規定、工作也未必可靠,這就可能造成RCV指令不能正常結束。這種情況下可以使用字符接收中斷功能。如下圖


Tags:s7-200,PLC,XMT和RCV指令  
責任編輯:admin
相關文章列表
S7-200係列的基本邏輯指令
西門子S7-200係列 PLC的數據存儲器尋址
西門子S7-200係列PLC的位邏輯指令及應用(梯形圖、指令表、時序圖
西門子PLC S7-200的程序結構:主程序、子程序、中斷程序
西門子s7-200的輸入輸出端電源必須24v供電嗎?
西門子S7-200 PLC如何通過自由口通信控製變頻器運行,發送指令XMT
PLC編程學習的三個階段
PLC編程軟元件V、L、S的功能及使用方法
梯形圖實例:三菱FX係列PLC在廣場噴泉實例中的三種編程
plc的POS地址上升沿檢測質量,上升沿檢測指令
PLC地址上升沿檢測指令,pos指令
西門子plc,plc數據類型有哪些
PLC與變頻器的連接
PLC雙整型數比較指令,CMP指令
西門子S7-200高速計數器、編碼器的應用!
西門子S7-200 PLC左移、右移指令編程梯形圖
西門子S7-200控製步進電機編程實例,梯形圖實例
STEP7在STL編寫定時器程序編程方法
PLC STL中的邏輯塊調用指令CALL
西門子、三菱、歐姆龍、施耐德,哪個牌子的PLC最好?
PLC定時器和計數器的應用程序,定時器梯形圖
PLC觸點指令異或指令與同或指令
PLC觸點指令“或”(O)、“或非”(ON)
PLC觸點指令“與”(A)、“與非”(AN)
PLC常見的硬件故障原因
PLC觸點指令電路塊的串聯與並聯
西門子S7-200PLC編碼器測速方法
三菱PLC的LD,LDI,OUT指令,指令助記符
PLC取與取反指令LD與LDI指令
PLC數據轉換中什麽是BCD碼?什麽是壓縮的BCD碼?
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢