0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S7-200CPU的通信口自由口設(shè)置

工控PLC網(wǎng) ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-04 14:12 ? 次閱讀

前言

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

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

一個(gè)起始位

7或8位字符(數(shù)據(jù)字節(jié))

一個(gè)奇/偶校驗(yàn)位,或者沒有校驗(yàn)位

一個(gè)停止位

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

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

自由口模式可以靈活應(yīng)用。Micro/WIN的兩個(gè)指令庫(USS和ModbusRTU)就是使用自由口模式編程實(shí)現(xiàn)的。

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

USB/PPI電纜和CP卡不支持自由口調(diào)試。

自由口通信要點(diǎn)

應(yīng)用自由口通信首先要把通信口定義為自由口模式,同時(shí)設(shè)置相應(yīng)的通信波特率和上述通信格式。用戶程序通過特殊存儲(chǔ)器SMB30(對(duì)端口0)、SMB130(對(duì)端口1)控制通信口的工作模式。詳見下圖

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

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

如果調(diào)試時(shí)需要在自由口模式與PPI模式之間切換,可以使用SM0.7的狀態(tài)決定通信口的模式;而SM0.7的狀態(tài)反映的是CPU運(yùn)行狀態(tài)開關(guān)的位置(在RUN時(shí)SM0.7="1",在STOP時(shí)SM0.7="0")

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

網(wǎng)絡(luò)讀寫指令(NetR/NetW)類似,用戶程序不能直接控制通信芯片而必須通過操作系統(tǒng)。用戶程序使用通信數(shù)據(jù)緩沖區(qū)和特殊存儲(chǔ)器與操作系統(tǒng)交換相關(guān)的信息。

XMT和RCV指令的數(shù)據(jù)緩沖區(qū)類似,起始字節(jié)為需要發(fā)送的或接收的字符個(gè)數(shù),隨后是數(shù)據(jù)字節(jié)本身。如果接收的消息中包括了起始或結(jié)束字符,則它們也算數(shù)據(jù)字節(jié)。

調(diào)用XMT和RCV指令時(shí)只需要指定通信口和數(shù)據(jù)緩沖區(qū)的起始字節(jié)地址。

XMT和RCV指令與NetW/NetR指令不同的是,它們與網(wǎng)絡(luò)上通信對(duì)象的“地址”無關(guān),而僅對(duì)本地的通信端口操作。如果網(wǎng)絡(luò)上有多個(gè)設(shè)備,消息中必然包含地址信息;這些包含地址信息的消息才是XMT和RCV指令的處理對(duì)象。

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

XMT和RCV指令

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

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

在邏輯條件滿足時(shí),啟動(dòng)(一次)RCV指令,進(jìn)入接收等待狀態(tài)

監(jiān)視通信端口,等待設(shè)置的消息起始條件滿足,然后進(jìn)入消息接收狀態(tài)

如果滿足了設(shè)置的消息結(jié)束條件,則結(jié)束消息,然后退出接收狀態(tài)

所以,RCV指令啟動(dòng)后并不一定就接收消息,如果沒有讓它開始消息接收的條件,就一直處于等待接收的狀態(tài);如果消息始終沒有開始或者結(jié)束,通信口就一直處于接收狀態(tài)。這時(shí)如果嘗試執(zhí)行XMT指令,就不會(huì)發(fā)送任何消息。

所以確保不同時(shí)執(zhí)行XMT和RCV非常重要,可以使用發(fā)送完成中斷和接收完成中斷功能,在中斷程序中啟動(dòng)另一個(gè)指令。

在《S7-200系統(tǒng)手冊(cè)》和Micro/WIN在線幫助中關(guān)于XMT和RCV指令的使用有一個(gè)例子。這個(gè)例子非常經(jīng)典,強(qiáng)烈建議學(xué)習(xí)自由口通信時(shí)先做通這個(gè)例子。例程,見下圖

字符接收中斷

S7-200CPU提供了通信口字符接收中斷功能,通信口接收到字符時(shí)會(huì)產(chǎn)生一個(gè)中斷,接收到的字符暫存在特殊存儲(chǔ)器SMB2中。通信口Port0和Port1共用SMB2,但兩個(gè)口的字符接收中斷號(hào)不同。

每接收到一個(gè)字符,就會(huì)產(chǎn)生一次中斷。對(duì)于連續(xù)發(fā)送消息,需要在中斷服務(wù)程序中將單個(gè)的字符排列到用戶規(guī)定的消息保存區(qū)域中。實(shí)現(xiàn)這個(gè)功能可能使用間接尋址比較好。

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

一般情況下,使用結(jié)束字符作為RCV指令的結(jié)束條件比較可靠。如果通信對(duì)象的消息幀中以一個(gè)不定的字符(字節(jié))結(jié)束(如校驗(yàn)碼等),就應(yīng)當(dāng)規(guī)定消息或字符超時(shí)作為結(jié)束RCV指令的條件。但是往往通信對(duì)象未必具有嚴(yán)格的協(xié)議規(guī)定、工作也未必可靠,這就可能造成RCV指令不能正常結(jié)束。這種情況下可以使用字符接收中斷功能。如下圖

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • S7-200CPU
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1699

原文標(biāo)題:S7-200CPU的通信口自由口設(shè)置

文章出處:【微信號(hào):gk-plc,微信公眾號(hào):工控PLC網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何用 S7-200 實(shí)現(xiàn) Modbus 通信?

    電子發(fā)燒友網(wǎng)站提供《如何用 S7-200 實(shí)現(xiàn) Modbus 通信?.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:22 ?1次下載

    西門子PLC不得不說的事:S7-200SMART通信端口及連接方式

    S7-200SMART PLC在小型PLC市場(chǎng)使用率占比最大,以高性價(jià)等優(yōu)勢(shì)搶占了較大的中低端工業(yè)自動(dòng)化市場(chǎng)份額。 200SMART系列PLC可分為CPU模塊和擴(kuò)展模塊。CPU模塊標(biāo)配
    的頭像 發(fā)表于 08-27 17:31 ?655次閱讀
    西門子PLC不得不說的事:<b class='flag-5'>S7-200</b>SMART<b class='flag-5'>通信</b>端口及連接方式

    S7協(xié)議讀取西門子S7-200 Smart PLC數(shù)據(jù)

    西門子S7-200 Smart PLC因其穩(wěn)定性和易用性而廣泛應(yīng)用。通過使用S7協(xié)議,可以實(shí)現(xiàn)對(duì)PLC數(shù)據(jù)的高效讀取和控制。本文將詳細(xì)介紹如何使用S7協(xié)議讀取西門子S7-200 Sma
    的頭像 發(fā)表于 07-11 11:55 ?4007次閱讀
    <b class='flag-5'>S7</b>協(xié)議讀取西門子<b class='flag-5'>S7-200</b> Smart PLC數(shù)據(jù)

    西門子S7-200 Smart PLC加密設(shè)置全面指南

    本文將詳細(xì)介紹西門子S7-200 Smart PLC的加密設(shè)置方法,幫助用戶更好地保護(hù)PLC程序的安全。
    發(fā)表于 03-27 10:14 ?9142次閱讀
    西門子<b class='flag-5'>S7-200</b> Smart PLC加密<b class='flag-5'>設(shè)置</b>全面指南

    西門子S7-200 SMART的通信端口解析

    S7-200 SMART CPU 集成的 RS485 通信端口(端口0)是與 RS485 兼容的9針 D 型連接器。CPU 集成的 RS485 通信
    發(fā)表于 02-27 11:28 ?2195次閱讀
    西門子<b class='flag-5'>S7-200</b> SMART的<b class='flag-5'>通信</b>端口解析

    西門子S7-1200與S7-300PLC之間的區(qū)別有哪些?

    S7-1200作為新推出的緊湊型控制器,其產(chǎn)品定位在原有的SIMATIC S7-200S7-300之間,它與S7-300的區(qū)別主要體現(xiàn)在硬件、通信
    的頭像 發(fā)表于 01-10 10:54 ?951次閱讀
    西門子<b class='flag-5'>S7</b>-1200與<b class='flag-5'>S7</b>-300PLC之間的區(qū)別有哪些?

    如何在S7-200 SMART CPU斷電重啟后保持運(yùn)動(dòng)控制的當(dāng)前位置值?

    S7-200 SMART 斷電重啟后由于初始化指令的執(zhí)行,當(dāng)前位置會(huì)復(fù)位為0。要使S7-200 SMART運(yùn)動(dòng)控制的當(dāng)前位置值在CPU斷電重啟后依然保持,可以通過以下的編程來實(shí)現(xiàn)。
    的頭像 發(fā)表于 01-10 10:28 ?1751次閱讀
    如何在<b class='flag-5'>S7-200</b> SMART <b class='flag-5'>CPU</b>斷電重啟后保持運(yùn)動(dòng)控制的當(dāng)前位置值?

    s7-200smart編程教程

    語言、程序結(jié)構(gòu)、指令集、數(shù)據(jù)類型、程序調(diào)試等方面。通過本教程的學(xué)習(xí),您將能夠熟練掌握S7-200 Smart的編程技術(shù),為工業(yè)自動(dòng)化項(xiàng)目提供可靠的支持。 二、硬件配置 S7-200 Smart的硬件配置包括CPU模塊、電源模塊、
    的頭像 發(fā)表于 12-14 11:11 ?2647次閱讀

    2臺(tái)S7-200 SMART PLC自由通信實(shí)現(xiàn)案例

    通信任務(wù):CPU1 每秒觸發(fā)一次 XMT 指令將 CPU 的實(shí)時(shí)時(shí)鐘發(fā)送到 CPU2;CPU2 接收到
    發(fā)表于 11-16 16:38 ?1106次閱讀
    2臺(tái)<b class='flag-5'>S7-200</b> SMART PLC<b class='flag-5'>自由</b><b class='flag-5'>口</b><b class='flag-5'>通信</b>實(shí)現(xiàn)案例

    S7-1200下載項(xiàng)目程序步驟詳解

    S7-1200的CPU本體上集成了PROFINET通信口,通過這個(gè)通信口可以實(shí)現(xiàn)CPU與編程設(shè)備的通信
    發(fā)表于 11-15 15:45 ?4209次閱讀
    <b class='flag-5'>S7</b>-1200下載項(xiàng)目程序步驟詳解

    SIMATIC S7-1500 PLC與ET200MP的PROFIBUS-DP通信

    CPU1516-3PN/DP作為主站,分布式模塊作為從站,通過PROFIBUS現(xiàn)場(chǎng)總線,建立與這些模塊(如ET200MP、ET200S、EM200M和EM
    的頭像 發(fā)表于 11-06 09:21 ?3912次閱讀
    SIMATIC <b class='flag-5'>S7</b>-1500 PLC與ET<b class='flag-5'>200</b>MP的PROFIBUS-DP<b class='flag-5'>通信</b>

    西門子S7-200smart PLC不同類型CPU的區(qū)別

    西門子S7-200smart PLC 標(biāo)準(zhǔn)CPU的代碼一般為ST XX或者SR XX,其中ST/SR表示CPU自帶的數(shù)字量輸出形式,XX為20、30、40或者60,為CPU性能參數(shù)等級(jí)
    的頭像 發(fā)表于 11-02 17:20 ?4057次閱讀
    西門子<b class='flag-5'>S7-200</b>smart PLC不同類型<b class='flag-5'>CPU</b>的區(qū)別

    STEP7 TIA Portal V13及以上軟件版本的下載方式

    SIMATIC S7- 300 PN CPU集成了 PROFINET 接口,通過這個(gè)通信口可以實(shí)現(xiàn)CPU與編程設(shè)備的通信
    的頭像 發(fā)表于 10-30 14:22 ?2840次閱讀
    STEP<b class='flag-5'>7</b> TIA Portal V13及以上軟件版本的下載方式

    S7-200 SMART與調(diào)試助手之間TCP通信

    S7-200 SMART 在 CPU 硬件固件及編程軟件版本均升級(jí)到 V2.2 之后才開始支持開放式通信。編程軟件版本低于V2.2,無 Open User Communication 庫指令;硬件固件低于 V2.2,硬件不支持開
    的頭像 發(fā)表于 10-29 17:25 ?975次閱讀
    <b class='flag-5'>S7-200</b> SMART與調(diào)試助手之間TCP<b class='flag-5'>通信</b>

    PLC之MODBUS通訊通信案例解析

    程序中的 Modbus 通訊是在兩個(gè) S7-200 CPU 的 0 號(hào)通訊間進(jìn)行的(最好每個(gè) CPU 都有兩個(gè)通訊)。在主站側(cè)也可以用相
    發(fā)表于 10-25 10:08 ?1037次閱讀
    PLC之MODBUS通訊<b class='flag-5'>口</b><b class='flag-5'>通信</b>案例解析