• <strong id="227bx"></strong>

  • <label id="227bx"></label>
    <ol id="227bx"><code id="227bx"><noframes id="227bx">
  • 現場案例

    采用S7-200smart Modbus RTU 通信如何配置

    發表時間:2018-07-09

    軟件版本:S7-200 SMART V2.2

    注意:一個CPU支持兩個通信端口同時做MODBUS RTU主站

    一、背景知識普及概述

    1、S7-200 SMART CPU上的通信口0(Port0)通過指令庫支持Modbus RTU從站模式。2、S7-200 SMART CPU 上的通訊口0和1(Port0和Port1)通過指令庫支持Modbus RTU主站模式。3、S7-200 SMART CPU 上的通訊口0和1(Port0和Port1)不能同時作為Modbus RTU主站或從站。

    S7-200 SMART CPU 本體集成通信口(Port 0)、可選信號板(Port 1)可以支持Modbus RTU協議,成為Modbus RTU主站站。此功能是通過 S7-200 SMART的自由口通信模式實現,因此可以通過無線數據電臺等慢速通信設備傳輸。

    注:SB CM01(RS485/RS232)  訂貨號:6ES7 288-5CM01-0AA0

    S7-200 SMART 軟件的幫助有明確說明

    打開軟件 找到庫 選擇初始化主站 或者從站程序塊 然后按F1

    從站參數“端口”(Port) 設置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可選信號板上的 RS-485 或 RS-232)。主站參數“端口”(Port)設置物理通信端口(0 = CPU 中集成的 RS-485,1 = 可選 CM01 信號板上的 RS-485 或 RS-232)。清晰的寫著他們都可以既做主又可以做從

    而且兩個口是獨立的 既可以同時做主 可以同時做從 還可以向你說的一個做主一個做從

    關鍵詞 “獨立的”  

    Modbus RTU 主站協議

    Modbus 主站指令使用以下 CPU 資源: 

    執行 MBUS_CTRL 會初始化 Modbus 主站協議,并使分配的 CPU 端口(0 或 1)專用于 Modbus 主站通信。

    CPU 端口用于 Modbus 通信時,無法再將其用于任何其它用途,包括與 HMI 的通信。

    Modbus 主站指令會影響所有與由 MBUS_CTRL 指令分配的端口上的自由端口通信相關聯的 SM 位置。

    Modbus 主站指令使用中斷執行某些功能。 用戶程序不得禁用這些中斷。

    Modbus 主站指令程序大小

    3 個子例程和 1 個中斷例程

    1942 個字節的程序空間用于存儲兩個主站指令和支持例程

    Modbus 主站指令的變量需要 286 個字節的 V 存儲器塊。該區域的起始地址由用戶指定,保留給 Modbus 變量。

     說明 要將 CPU 通信端口從 Modbus 改回 PPI,以便可與 HMI 設備通信,應將 MBUS_CTRL 指令的模式參數設置為零 (0)。 

    Modbus RTU 從站協議

    Modbus 從站協議指令使用以下 CPU 資源:

    MBUS_INIT 指令會初始化 Modbus 從站協議,并使分配的 CPU 端口(0 或 1)專用于 Modbus 從站通信。

    CPU 端口用于 Modbus 通信時,無法再將其用于任何其它用途,包括與 HMI 的通信。

    Modbus 從站指令會影響所有與由 MBUS_INIT 指令分配的端口上的自由端口通信相關聯的 SM 位置。

    Modbus 從站指令程序大小

    Modbus 從站指令使用 3 個子例程和 2 個中斷。

    Modbus 從站指令需要 2113 個字節的程序空間來存儲兩個從站指令和支持例程。

    Modbus 從站指令的變量需要 786 個字節的 V 存儲器塊。該區域的起始地址由用戶指定,保留給 Modbus 變量。

    說明 要將 CPU 通信端口從 Modbus 改回 PPI,以便可與 HMI 設備通信,應將 MBUS_INIT 指令的模式參數設置為零 (0)。

    二、配置辦法基本步驟

    1.打開 Micro/WIN SMART軟件,在“庫”中調用“MBUS_CTRL”和“MBUS_MSG“兩個子程序;

    使用 SM0.0 調用 MBUS_CTRL 完成主站的初始化,并啟動其功能控制

    各參數意義如下:

    1

    EN

    使能:

    必須保證每一掃描周期都被使能(使用 SM0.0)

    2

    Mode

    模式:

    為 1 時,使能 Modbus 協議功能;為 0 時恢復為系統 PPI 協議

    3

    Baud

    波特率:

    支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200。

    4

    Parity

    校驗:

    校驗方式選擇

    0=無校驗

         

    1=奇較驗

         

    2=偶較驗

         
    5

    Port

    端口號:

    0 = CPU 集成的 RS 485 通訊口 ; 1 = 可選 CM 01 信號板 。

    6

    Timeout

    超時:

    主站等待從站響應的時間,以毫秒為單位,典型的設置值為 1000 毫秒(1 秒),允許設置的范圍為 1 – 32767。

     注意: 這個值必須設置足夠大以保證從站有時間響應。

         

    7

    Done

    完成位:

    初始化完成,此位會自動置1??梢杂迷撐粏?MBUS_MSG 讀寫操作(見例程)

    8

    Error

    初始化錯誤代碼(只有在 Done 位為1時有效):

     

    0= 無錯誤

         

    1= 校驗選擇非法

         

    2= 波特率選擇非法

         

    3= 超時無效

         

    4= 模式選擇非法

         

    9= 端口無效

         

    10= 信號板端口 1 缺失或未組態

         

    2.調用 Modbus RTU 主站讀寫子程序MBUS_MSG,發送一個Modbus 請求;

     


    各參數意義如下:

    1

    EN

    使能:

    同一時刻只能有一個讀寫功能(即 MBUS_MSG)使能

     注意:建議每一個讀寫功能(即 MBUS_MSG)都用上一個 MBUS_MSG 指令的 Done 完成位來激活,以保證所有讀寫指令循環進行(見例程)。

         

    2

    First

    讀寫請求位:

    每一個新的讀寫請求必須使用脈沖觸發

    3

    Slave

    從站地址:

    可選擇的范圍   1 – 247

    4

    RW

    讀寫請求:

    0 = 讀, 1 = 寫

     注意:

         

    1. 開關量輸出和保持寄存器支持讀和寫功能

         

    2. 開關量輸入和模擬量輸入只支持讀功能

         

    5

    Addr

    讀寫從站的

    選擇讀寫的數據類型

    數據地址:

    00001 至 0xxxx – 開關量輸出

       

    10001 至 1xxxx – 開關量輸入

         

    30001 至 3xxxx – 模擬量輸入

         

    40001 至 4xxxx – 保持寄存器

         

    6

    Count

    數據個數

    通訊的數據個數(位或字的個數)

     注意: Modbus主站可讀/寫的最大數據量為120個字(是指每一個 MBUS_MSG 指令)

         

    7

    DataPtr

    數據指針:

    1. 如果是讀指令,讀回的數據放到這個數據區中

    2. 如果是寫指令,要寫出的數據放到這個數據區中

         

    8

    Done

    完成位

    讀寫功能完成位

    9

    Error

    錯誤代碼:

    只有在 Done 位為1時,錯誤代碼才有效

    0 = 無錯誤

         

    1 = 響應校驗錯誤

         

    2 = 未用

         

    3 = 接收超時(從站無響應)

         

    4 = 請求參數錯誤(slave address, Modbus address, count, RW)

         

    5 = Modbus/自由口未使能

         

    6 = Modbus正在忙于其它請求

         

    7 = 響應錯誤(響應不是請求的操作)

         

    8 = 響應CRC校驗和錯誤

         

         

    101 = 從站不支持請求的功能

         

    102 = 從站不支持數據地址

         

    103 = 從站不支持此種數據類型

         

    104 = 從站設備故障

         

    105 = 從站接受了信息,但是響應被延遲

         

    106 = 從站忙,拒絕了該信息

         

    107 = 從站拒絕了信息

         

    108 = 從站存儲器奇偶錯誤

         

    常見的錯誤:

    • 如果多個 MBUS_MSG 指令同時使能會造成 6 號錯誤

    • 從站 delay 參數設的時間過長會造成主站 3 號錯誤

    • 從站掉電或不運行,網絡故障都會造成主站 3 號錯誤

    相關資訊13609158196
    推薦產品13609158196
    国产AV无码专区亚洲AV|欧美色中文字幕在线|欧美a级毛欧美|亚洲国产激情一区二区|亚洲gv天堂gv无码男同
  • <strong id="227bx"></strong>

  • <label id="227bx"></label>
    <ol id="227bx"><code id="227bx"><noframes id="227bx">