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

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

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

一文簡析S7-1200串行通信

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 2023-02-20 16:53 ? 次閱讀

S7-1200 串行通信

S7-1200支持的串行通訊方式

點對點(PtP)通信

Modbus 主從通信

USS 通信

名稱 CM 1241 RS232 CM 1241 RS422/485 CB 1241 RS485
訂貨號 6ES7241-1AH32-0XB0 6ES7241-1CH32-0XB0 6ES7241-1CH30-1XB0
通訊口類型 RS232 RS422/RS485 RS485
波特率(bps) 300 ;600 ;1.2 k; 2.4 k; 4.8 k; 9.6 k;19.2 k; 38.4 k; 57.6 k; 76.8 k; 115.2 k
校驗方式 None(無校驗)
Even(偶校驗)
Odd(奇校驗)
Mark(校驗位始終置為1)
Space(校驗位始終為0)
流控 硬件流控;軟件流控 RS422 支持軟件流控 不支持
接收緩沖區(qū) 1kB
通訊距離(屏蔽電纜) 10m 1000m 1000m
電源消耗(5V DC) 200mA 220mA 50mA
電源消耗(24V DC) - - 80mA

S7-1200 串口通信模塊的特征

CPU 供電,不必連接外部電源

端口經(jīng)過隔離,最長距離1000 米

有診斷 LED 及顯示傳送和接收活動 LED

支持點對點協(xié)議

通過擴展指令和庫功能進(jìn)行組態(tài)和編程

RS485 與 RS232 通信模塊的LED

診斷 LED 燈

紅閃:如果 CPU 未正確識別到通信模塊,診斷 LED 會一直紅色閃爍

綠閃:CPU 上電后已經(jīng)識別到通信模塊,但是通信模塊還沒有配置

綠燈:CPU 已經(jīng)識別到通信模塊,且配置也已經(jīng)下載到了CPU

發(fā)送 LED 燈

代表數(shù)據(jù)正在通過通信口傳送出去

接收 LED 燈

代表數(shù)據(jù)正在通過通信口接收進(jìn)來

注意:通信板 CB1241 只有發(fā)送和接收 LED 燈,而沒有診斷 LED 燈

串口模板支持的協(xié)議

ASCII

USS

Modbus RTU 主站

Modbus RTU 從站

3964R(RS232/RS422支持)

ASCII 協(xié)議的特點

報文可以由用戶自己定義,便于用戶以 ASCII 協(xié)議為基礎(chǔ)開發(fā)

使用簡單,可以很好地實現(xiàn)與第三方系統(tǒng)的通訊

可以進(jìn)行識別報文結(jié)束設(shè)置

可以進(jìn)行數(shù)據(jù)流量控制

缺點:具有簡單的校驗功能(奇偶校驗),低數(shù)據(jù)安全性;數(shù)據(jù)傳輸無確認(rèn)信息;通訊需要雙方協(xié)調(diào)

S7-1200 的 PTP 校驗

串口的校驗:奇偶校驗:用于檢驗數(shù)據(jù)傳遞的正確性,是最簡單的檢錯方法。

56805990-b0f9-11ed-bfe3-dac502259ad0.jpg

圖3. 校驗設(shè)置

偶校驗:如果每字節(jié)的數(shù)據(jù)位中“1”的個數(shù)為奇數(shù),則校驗位為1,如果個數(shù)為偶數(shù),則校驗位為“0”, 保證數(shù)據(jù)位和校驗位中“1”的個數(shù)是偶數(shù)

奇校驗:如果每字節(jié)的數(shù)據(jù)位中“1”的個數(shù)為奇數(shù),則校驗位為0,如果個數(shù)為偶數(shù),則校驗位為“1”, 保證數(shù)據(jù)位和校驗位中“1”的個數(shù)是奇數(shù)

傳號校驗:奇偶校驗位始終設(shè)置為 1

空號校驗:奇偶校驗位始終設(shè)置為 0

注意:奇偶校驗可以簡單的判斷數(shù)據(jù)的正確性,從原理上可看出當(dāng)一位出錯,可以準(zhǔn)確判斷,當(dāng)兩位或更多位誤碼就校驗不出,但由于其實現(xiàn)簡單,仍得到了廣泛使用。

PTP 通信的發(fā)送信息配置

定義在信息起始發(fā)送斷點及空閑線

字符中斷:當(dāng)接收到的數(shù)據(jù)保持為零值的時間大于完整的字符傳輸時間時,代表字符中斷。一個完整字符傳輸時間定義為傳輸起始位、數(shù)據(jù)位、校驗位和停止位的時間總和。

56c66de0-b0f9-11ed-bfe3-dac502259ad0.jpg

圖4. 定義在信息起始發(fā)送斷點及空閑線

常問問題:為什么發(fā)送配置中只配了2位字符中斷,而通信伙伴卻可以正常接收數(shù)據(jù)?

答:發(fā)送配置中設(shè)置的字符中斷小于等于16位時,系統(tǒng)自動發(fā)出16位的字符中斷位;設(shè)置大于16位時,則發(fā)出的中斷位與實際設(shè)置相符。下圖是設(shè)置的發(fā)送斷點及空閑線位及其實際發(fā)出的波形圖。

波形圖 斷點及空閑線設(shè)置

57167fe2-b0f9-11ed-bfe3-dac502259ad0.jpg

圖5. 斷點及空閑線波形圖

PTP 通信接收起始條件

以任意字符開始

以特殊條件開始

通過斷點識別消息開始

通過空閑線識別消息開始

通過單個字符識別消息開始

通過字符序列識別消息開始

57473952-b0f9-11ed-bfe3-dac502259ad0.jpg

圖6. 通信接收起始條件

通過字符序列識別消息開始

對于多個起始序列的組態(tài),只要出現(xiàn)其中一個序列,即會滿足開始條件。下圖右側(cè)即為滿足起始條件的字符串。

577ef70c-b0f9-11ed-bfe3-dac502259ad0.jpg

圖7. 通過字符序列識別消息開始

如果選擇了多個起始條件,則檢查開始條件的順序如下:

57a4349a-b0f9-11ed-bfe3-dac502259ad0.jpg

注意:

檢查多個開始條件時,如果有一個條件沒有滿足,則 CM 將從第一個所需的條件開始重新啟動檢查。

如果同時組態(tài)了字符和字符序列作為開始條件,則字符序列的判斷條件無效。

PTP 通信接收結(jié)束條件

通過消息超時識別:時間從接到符合消息開始條件的第一個字符時開始計算

通過響應(yīng)超時識別:時間從傳送結(jié)束時開始計算,在指定時間內(nèi)接收到字符,需要和其他結(jié)束條件配合使用

通過字符間隙識別:消息中兩個連續(xù)字符間的間隔超時后,視為消息結(jié)束

通過最大長度識別:在接收到組態(tài)的最大字符數(shù)后,視為消息結(jié)束

通過固定長度識別:在接收到組態(tài)的最大字符后,視為消息結(jié)束

消息本身指定消息長度,在接收到指定長度的消息后,視為消息結(jié)束

在接收到指定的字符序列后,視為消息結(jié)束

57da9b5c-b0f9-11ed-bfe3-dac502259ad0.jpg

圖8.結(jié)束條件設(shè)置

注意:與多個起始條件的判斷不同,檢查多個結(jié)束條件時,任何一個條件滿足,信息接收結(jié)束。

消息超時結(jié)束條件

消息超時時間從接到符合消息開始條件的第一個字符時開始計算,如下圖。

580a3434-b0f9-11ed-bfe3-dac502259ad0.jpg

圖9.消息超時

響應(yīng)超時結(jié)束條件

響應(yīng)超時時間從傳送結(jié)束時開始計算,只要傳送成功完成且模塊開始接收操作,定時器就會啟動。

582a5494-b0f9-11ed-bfe3-dac502259ad0.jpg

圖10.響應(yīng)超時

注意:響應(yīng)超時結(jié)束條件不能作為單獨的結(jié)束條件的設(shè)置,否則會在編譯時報如下錯誤:

584ffeb0-b0f9-11ed-bfe3-dac502259ad0.png

圖11.響應(yīng)超時作為單獨的結(jié)束條件報錯

從消息中讀取信息長度

58910d24-b0f9-11ed-bfe3-dac502259ad0.jpg

圖12.從消息中讀取信息長度的設(shè)置

實際收到的數(shù)據(jù)長度=長度偏移前的字節(jié)數(shù)+長度字節(jié)大小+讀取的實際數(shù)據(jù)長度+不計入字節(jié)長度的字節(jié)數(shù) 10=(2-1)+1+2+6

PTP 通信接收緩存區(qū)

58d4b1fa-b0f9-11ed-bfe3-dac502259ad0.jpg

圖13.接收緩沖區(qū)設(shè)置

注意:緩存區(qū)可以存儲多條信息,限制是20條信息或最多1024字節(jié)。

緩存區(qū)的數(shù)據(jù)保持

斷電后緩存區(qū)中的數(shù)據(jù)全部丟失,不能保持。

勾選“在啟動時清空接收緩沖區(qū)”,CPU停止再啟動時,緩沖區(qū)數(shù)據(jù)清空。

通信模板緩存區(qū)超出20條信息

啟用了“防止重寫”,如果緩存區(qū)中的信息超過20條,后面的信息被 自動丟棄,報錯16#81E6。

不啟用“防止重寫”,如果緩存區(qū)中的信息超過20條,后面的信息會將之前的信息覆蓋,且不報錯。

通信模板緩存區(qū)多包數(shù)據(jù)超出1024字節(jié)

發(fā)送多個每包50個字節(jié)數(shù)據(jù),當(dāng)數(shù)據(jù)超過1024字節(jié)那包就被丟棄了,前面的可以正常接收,且沒有任何報錯.在前面數(shù)據(jù)被成功接收以后,只要緩存區(qū)有空間,后面的數(shù)據(jù)還可以正常收到。

通信模板緩存區(qū)一包數(shù)據(jù)超出1024字節(jié)

如果發(fā)送數(shù)據(jù)一包就大于1024字節(jié)時,緩沖區(qū)接收到數(shù)據(jù)到1024字節(jié)時,雖然沒有收到結(jié)束字符,數(shù)據(jù)由緩存區(qū)送給CPU,但會報錯16#80E0,如下圖。

5903fca8-b0f9-11ed-bfe3-dac502259ad0.jpg

圖14. 發(fā)送數(shù)據(jù)一包大于1024字節(jié)時,緩存區(qū)報錯

通信模板緩存區(qū)復(fù)位

當(dāng)緩沖區(qū)溢出報錯時,需要使用Reset指令進(jìn)行清除緩沖區(qū)的操作。

5922ab94-b0f9-11ed-bfe3-dac502259ad0.jpg

圖15. 使用Reset指令復(fù)位緩存區(qū)錯誤,恢復(fù)數(shù)據(jù)接收

為什么不能使用 PC/PPI 電纜與S7-1200 RS485 模塊進(jìn)行串口調(diào)試?

答:因為 S7-1200 RS485 模塊接口不提供24V電源,不能給 PC/PPI 電纜供電,所以電纜無法工作。

解決辦法:可以將 S7-1200 RS485 與 S7-200 通信口網(wǎng)絡(luò)連接,將 PC/PPI 電纜插在 S7-200 通信口上總線連接器的編程口上,對S7-1200 RS485進(jìn)行串口調(diào)試。此時S7-200必須上電并打到停止?fàn)顟B(tài)。

連接 5 GND 邏輯地或通信地 金屬殼 - 外殼接地






審核編輯:劉清

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

    關(guān)注

    4

    文章

    561

    瀏覽量

    35198
  • ModBus協(xié)議
    +關(guān)注

    關(guān)注

    3

    文章

    171

    瀏覽量

    33353
  • S7-1200
    +關(guān)注

    關(guān)注

    11

    文章

    331

    瀏覽量

    17827
  • GND
    GND
    +關(guān)注

    關(guān)注

    2

    文章

    527

    瀏覽量

    38603

原文標(biāo)題:S7-1200 串行通信

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    S7-1200S7-1200/S7-1500不同項目下UDP通信

    S7-1200S7-1200 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實現(xiàn)。本列中使用TSEND_C,TRCV_C指令建立雙方的UDP通訊。TSEND_C,TRCV_C指令在兩臺PLC間必須成對存在。
    的頭像 發(fā)表于 01-10 09:19 ?5454次閱讀

    基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài)

    本文檔內(nèi)容介紹了基于S7-1200的設(shè)備與網(wǎng)絡(luò)組態(tài),以及S7-1200的概要及功能。
    發(fā)表于 09-25 18:14 ?28次下載
    基于<b class='flag-5'>S7-1200</b>的設(shè)備與網(wǎng)絡(luò)組態(tài)

    基于S7-1200的PLC的編程及擴展

    S7-1200 系列是款可編程邏輯控制器 (PLC, Programmable Logic Controller),可以控制各種自動化應(yīng)用。S7-1200設(shè)計緊湊、成本低廉且具有功能強大的指令集
    發(fā)表于 09-25 18:39 ?24次下載

    WinCC V7.2與S7-1200的PLC通訊

    自WinCC V7.2版本起,軟件新增加了 SIMATIC S7-1200, S7-1500 Channel通道,用于WinCC與 S7-1200/S7-1500 PLC之間的
    發(fā)表于 09-26 19:06 ?11次下載
    WinCC V7.2與<b class='flag-5'>S7-1200</b>的PLC通訊

    S7-1200與PROFINET的通信

    S7-1200 CPU 本體上集成了個PROFINET 通信口,支持以太網(wǎng)和基于TCP/IP 的通信標(biāo)準(zhǔn)。使用這個通信口可以實現(xiàn)
    發(fā)表于 09-29 18:58 ?38次下載
    <b class='flag-5'>S7-1200</b>與PROFINET的<b class='flag-5'>通信</b>

    S7-1200S7-1200進(jìn)行S7通信的詳細(xì)資料說明

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服務(wù)器端或客戶端(CPU V2.0及以上版本)。S7-1200 僅支持
    的頭像 發(fā)表于 08-17 10:51 ?2.9w次閱讀
    <b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>進(jìn)行<b class='flag-5'>S7</b><b class='flag-5'>通信</b>的詳細(xì)資料說明

    關(guān)于S7-1200S7-1200之間UDP的通信與仿真

    S7-1200S7-1200 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實現(xiàn),使用的通信指令是在雙方 CPU 調(diào)用 T-block ( TCON, TDISCON, TUSEND,
    的頭像 發(fā)表于 04-22 09:14 ?5366次閱讀
    關(guān)于<b class='flag-5'>S7-1200</b>和<b class='flag-5'>S7-1200</b>之間UDP的<b class='flag-5'>通信</b>與仿真

    S7-1200 Modbus TCP通信指令塊編程教程

    S7-1200 Modbus TCP通信指令塊編程教程免費下載。
    發(fā)表于 03-28 16:08 ?10次下載

    關(guān)于S7-1200S7-1500 PLC的通信

    WinCC V7.4SP1中針對S7-1200S7-1500通信,可以創(chuàng)建狀態(tài)變量和控制變量,用來顯示和控制S7-1200S7-
    發(fā)表于 10-09 10:05 ?2115次閱讀

    西門子S7-1200的TCP通信配置過程及數(shù)據(jù)交換方式

    西門子S7-1200集成以太網(wǎng)接口,通過該接口可以與其它設(shè)備進(jìn)行以太網(wǎng)通信。S7-1200的以太網(wǎng)通信主要有S7、Modbus_TCP和開放
    的頭像 發(fā)表于 11-16 10:54 ?1.7w次閱讀

    S7-1200S7-300 CP342-5的DP口的主從通信

    使用 S7-1200S7-300 用 CP342-5 進(jìn)行主從通信,這里S7-1200 的 CM1243-5 做為主站,將 CP342-5 做從站。
    的頭像 發(fā)表于 02-13 09:32 ?1529次閱讀

    S7-1200 CPU與S7-300 CP STEP7 UDP通信

    S7-1200S7-300 CP 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實現(xiàn),使用的通信指令是在S7-1200 CPU 側(cè)調(diào)用
    的頭像 發(fā)表于 04-08 10:48 ?1883次閱讀

    S7-1200 CPU與S7-200 SMART S7通信指南

    S7-1200 CPU 固件版本 V2.0 及其以上,本體集成的 PROFINET 通信接口可以做 S7 通信客戶端。S7-1200 僅支持
    的頭像 發(fā)表于 04-19 15:14 ?2953次閱讀

    S7-1200S7-300的選型區(qū)別

    在硬件擴展方面,S7-300的主機架多支持八個擴展模塊,而S7-1200支持?jǐn)U展多八個信號模塊和多三個通信模塊。以S7-300 CPU313C和S7
    的頭像 發(fā)表于 05-04 15:18 ?1619次閱讀
    <b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7</b>-300的選型區(qū)別

    解析S7-1200S7-1500 S7通信

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服務(wù)器端或客戶端(CPU V2.0及以上版本)。S7-1200 僅支持
    發(fā)表于 05-15 17:13 ?5853次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>解析<b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7</b>-1500 <b class='flag-5'>S7</b><b class='flag-5'>通信</b>