<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    西門子S7-1200PLC點對點通信實例
    發布時間: 2024-01-08 18:54 更新時間: 2024-12-27 09:10

    在此示例中,S7-1200 CPU 通過 CM 1241 RS232 模塊與裝有終端仿真器的 PC 通信。此示例中的點對點組態和 STEP 7 程序說明了CPU如何從 PC 接收消息和將該消息回送到 PC。

    圖片

    必須將 CM 1241 RS232 模塊的通信接口連接到 PC 的 RS232 接口(通常為 COM1)。由于這兩個端口都是數據終端設備 (DTE),所以在連接這兩個端口時必須交換接收和發送引腳(引腳 2 和 3),可通過以下任何一種方法實現交換:

  • 使用NULL 調制解調器適配器和標準RS232 電纜交換引腳 2 和 3。

  • 使用已交換引腳2和 3 的 NULL 調制解調器電纜。通常可以將電纜兩端是否帶有兩個 9 針 D 型母頭連接器作為識別 NULL 調制解調器電纜的依據。

  • 組態通信模塊

    可通過 STEP 7 中的設備組態或通過用戶程序指令來組態 CM 1241。此示例使用設備組態方法。

  • 端口組態:在“設備組態”(Device configuration) 中單擊 CM模塊的通信端口,然后如下所示組態該端口:

  • 圖片

    說明

    “操作模式”和“接收線路初始狀態”的組態設置,只適用于 CM 1241 (RS422/RS485) 模塊。其它 CM 1241 模塊沒有這些端口組態設置。

    傳送消息組態:接受傳送消息組態的默認值。在消息開始時將不發送中斷信號。

    接收消息開始組態:將CM 1241 組態為在通信線路處于非激活狀態至少 50個位時間(在 9600 波特時約為 5 毫秒 = 50 * 1/9600)時開始接收消息:

    圖片

    接收消息結束組態:將 CM 1241 組態為在Zui多接收到 100 個字節或換行字符(十進制數 10 或十六進制數 a)時結束消息。結束序列Zui多允許序列中具有五個結束字符。該序列中的第五個字符是換行字符。前面四個結束序列字符均是“不相關”字符或不選擇的字符。CM 1241 不評估“不相關”字符,但會在零或更多“不相關”字符后面尋找指示消息結束的換行字符

    圖片

    RS422 和 RS485 工作模式組態 RS422

    對于 RS422 模式,有三種工作模式,具體取決于網絡組態。根據網絡中的設備選擇其中一種工作模式。接收線路初始狀態的不同選擇參考了如下所示的詳細情況。

  • 全雙工(RS422)四線制模式(點對點連接):在網絡中有兩臺設備時選擇此選項。在接收線路初始狀態中:

  • – 在提供偏置和終端時(第 3 種情況),選擇無。

    – 選擇正向偏置以使用內部偏置和終端(第 2 種情況)。

    – 選擇反向偏置以使用內部偏置和終端,并為兩臺設備啟用電纜斷線檢測(第 1

    種情況)。

  • 全雙工(RS422)四線制模式(多點主站):當網絡具有一個主站和多個從站時,為主站選擇此選項。在接收線路初始狀態中:

  • – 在提供偏置和終端時(第 3 種情況),選擇無。

    – 選擇正向偏置以使用內部偏置和終端(第 2 種情況)。

    – 在此模式下,不能進行電纜斷線檢測。

  • 全雙工(RS422)四線制模式(多點從站):當網絡具有一個主站和多個從站時,為所有從站選擇此選項。在接收線路初始狀態中:

  • – 在提供偏置和終端時(第 3 種情況),選擇無。

    – 選擇正向偏置以使用內部偏置和終端(第 2 種情況)。

    – 選擇反向偏置以使用內部偏置和終端,并為從站啟用電纜斷線檢測(第 1種情況)。

    第 1 種情況:RS422,帶電纜斷線檢測

  • 工作模式:RS422

  • 接收線路初始狀態:反向偏置(有偏置,R(A)> R(B) > 0V)

  • 電纜斷線:啟用電纜斷線檢測(發送器始終處于激活狀態)

  • 圖片

    第 2 種情況:RS422,不帶電纜斷線檢測,正向偏置

    圖片

    第 3 種情況:RS422: 不帶電纜斷線檢測,無偏置

  • 工作模式:RS422

  • 接收線路初始狀態:無偏置

  • 電纜斷線:無電纜斷線檢測(發送器僅在發送時才啟用) 偏置和終端由用戶在網絡末端節點處添加。

  • 圖片

    組態 RS485

    對于 RS485 模式,只有一種工作模式。接收線路初始狀態的不同選擇參考了如下所示的詳細情況。

  • 半雙工(RS485)兩線制模式。在接收線路初始狀態中:

  • – 在提供偏置和終端時(第 5 種情況),選擇無。

    – 選擇正向偏置以使用內部偏置和終端(第 4 種情況)。

    第 4 種情況:RS485: 正向偏置

  • 工作模式:RS485

  • 接收線路初始狀態:正向偏置(有偏置,R(B) > R(A) > 0V)

  • 圖片

    第 5 種情況:RS485: 無偏置(外部偏置)

  • 工作模式:RS485

  • 接收線路初始狀態:無偏置(需要外部偏置)

  • 圖片

    編寫 STEP 7 程序

    此示例程序使用全局數據塊作為通信緩沖區,使用 RCV_PTP 指令從終端仿真器接收數據,使用 SEND_PTP 指令向終端仿真器回送緩沖數據。要對該示例編程,需要添加數據塊組態和主程序塊 OB1,如下所述。

    全局數據塊“Comm_Buffer”:創建一個全局數據塊 (DB) 并將其命名為“Comm_Buffer”。在該數據塊中創建一個名為“buffer”,數據類型為“字節數組 [0 .. 99]”的值。

    程序段 1: 只要 SEND_PTP 未激活,就啟用 RCV_PTP 指令。在程序段 4 中,MW20.0 中的 Tag_8 在發送操作完成時進行指示,因此是在通信模塊相應地準備好接收消息時進行指示。

    圖片

    程序段 2: 使用由 RCV_PTP 指令設置的 NDR 值(M0.0 中的 Tag_1)來復制接收到的字節數,并使一個標記(M20.0 中的 Tag_8)置位以觸發 SEND_PTP 指令。

    圖片

    程序段 3:M20.0 標記置位時啟用 SEND_PTP 指令。同時還使用此標記將 REQ 輸入設置為 TRUE 一個掃描周期時間。REQ 輸入會通知 SEND_PTP 指令要傳送新請求。REQ 輸入必須僅在 SEND_PTP 的一個執行周期內設置為 TRUE。每個掃描周期都會執行 SEND_PTP 指令,直到傳送操作完成。CM 1241 傳送完消息的Zui后一個字節時,傳送操作完成。傳送操作完成后,DONE 輸出(M10.0 中的 Tag_5)將被置位為 TRUE 并持續 SEND_PTP 的一個執行周期。

    圖片

    程序段 4: 監視 SEND_PTP 的 DONE 輸出并在傳送操作完成時復位傳送標記(M20.0 中的 Tag_8)。傳送標記復位后,程序段 1 中的 RCV_PTP 指令可以接收下一條消息。

    圖片

    組態終端仿真器

    必須設置終端仿真器以支持此示例程序。幾乎可以在 PC 上使用任何終端仿真器,例如,超級終端。確定終端仿真器處于斷開模式后,如下所述編輯各設置:

    1. 將終端仿真器設置為使用PC 上的 RS232 端口(通常為 COM1)。

    2. 將端口組態為 9600 波特、8 個數據位、無奇偶校驗(無)、1個停止位和無流控制。

    3. 更改終端仿真器設置使其仿真 ANSI終端。

    4. 組態終端仿真器ASCII 設置,使其在每行后(用戶按下 Enter 鍵后)發送換行信號。

    5. 本地回送字符,以便終端仿真器顯示輸入的內容。

    運行示例程序

    要運行示例程序,請執行以下步驟:

    1. 將STEP 7 程序下載到 CPU 并確保其處于 RUN 模式。

    2. 單擊終端仿真器上的“連接”(connect) 按鈕以應用組態更改并啟動與 CM1241的終端會話。

    1. 在PC 中鍵入字符并按 Enter 鍵。

    終端仿真器會將輸入的字符發送到 CM 1241 和 CPU。然后,CPU 程序將這些字符回送到終端仿真器。


    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595