| 注冊| 產品展廳| 收藏該商鋪

行業(yè)產品

當前位置:
西門子PLC代理商>>技術文章>>西門子IM 154-2PROFIBUS-DP 接口模塊

西門子IM 154-2PROFIBUS-DP 接口模塊

閱讀:500        發(fā)布時間:2020-9-4

西門子IM 154-2PROFIBUS-DP 接口模塊     西門子IM 154-2PROFIBUS-DP 接口模塊 

 

 

潯之漫智控技術(上海)有限公司 上海詩慕自動化設備有限公司
本公司銷售西門子自動化產品,*,質量保證,價格優(yōu)勢
西門子PLC,西門子觸摸屏,西門子數控系統(tǒng),西門子軟啟動,西門子以太網
西門子電機,西門子變頻器,西門子直流調速器,西門子電線電纜
我公司大量現貨供應,價格優(yōu)勢,*,德國*

 

 

 

回答:
通過執(zhí)行_setDpSlaveAddress程序可以實現SIMOTION的DP從站地址修改。

實現方法:

(1)首先打開HW config 硬件組態(tài),配置接口為DP從站: flower

圖01. 設置DP 接口為從站

(2)配置DP從站通信的IO地址如下圖:

 flower 西門子IM153-2接口模塊
圖02. 配置DP從站通信的IO地址

(3)查詢DP 診斷地址用于后續(xù)編程時填寫參數使用:
 
flower 

圖03. 查詢該接口的診斷地址

(4)編寫如下程序

 VAR_GLOBAL
        locDpSlaveAddress : SINT := 8;         // 需要使用的PROFIBUS地址
        retDpSlaveAddress : structRetDpSlaveAddress;      // 返回值變量
        locRetVal : DINT;
        neededSetDpAddress : DINT := 0;
        startChange :BOOL;
    END_VAR
END_INTERFACE
IMPLEMENTATION  
    PROGRAM  bkgChangDPaddress
          IF startChange THEN
            // 讀取當前的DP從站地址
            retDpSlaveAddress := _getActiveDpSlaveAddress (
                logicalAddressCommunicationAdapter := 16382    // 步驟3查詢的接口診斷地址
                );          
            IF (0 = retDpSlaveAddress.functionResult) THEN
                // 檢查是否需要更新DP地址,如果當前地址與地址locDpSlaveAddress 不相同,則執(zhí)行更新
                IF (retDpSlaveAddress.dpSlaveAddress <> locDpSlaveAddress) THEN
                     neededSetDpAddress := 1;
                ELSE
                    ; 
                END_IF;
            END_IF;  
            IF (1 = neededSetDpAddress) THEN
                // 設置新的DP地址
                locRetVal := _setDpSlaveAddress (
                    logicalAddressCommunicationAdapter := 16382,   // 步驟3查詢的接口診斷地址
                    dpSlaveAddress := locDpSlaveAddress
                    // PROFIBUS address of the local slot
                    );
                IF (0 = locRetVal) THEN
                    locRetVal := _activateDpSlaveAddress (
                        logicalAddressCommunicationAdapter := 16382    // 步驟3查詢的接口診斷地址
                        );
                ELSE
                    ; 
                END_IF;
            END_IF;
        END_IF;
       
(5)修改startChange為1,程序執(zhí)行成功會導致SIMOTION重新啟動,隨后新的DP地址生效。 

描述:

SFC14 "DPRD_DAT"
使用 SFC 14“DPRD_DAT”(讀取 DP 標準從站的*數據)可讀出DP標準從站/PROFINET IO 設備的數據。 如果在數據傳送過程中沒有發(fā)生錯誤,讀出的數據就被輸入到由RECORD 建立的目標域。目標域必須與在 STEP 7 組態(tài)中所選的模塊的長度相同。 當調用 SFC14 時,只能在所配的起始地址下訪問一個模塊/DP標識的數據。

SFC15 "DPWR_DAT"
使用 SFC 15“DPWR_DAT”(將*數據寫入 DP 標準從站)可將 RECORD 中的數據*地傳送到所尋址的DP標準從站/PROFINET IO 設備中。 源區(qū)域必須與在 STEP 7 組態(tài)中所選的模塊的長度相同。 對于模塊化結構的標準DP從站只能訪問一個DP從站模塊。

PROFIBUS DP用戶*性數據區(qū)大長度和尋址
 西門子IM153-2接口模塊

下面的手冊中可以找到更多關于PROFIBUS DP用戶*性數據區(qū)大長度和尋址的信息。
 


表 01

PROFINET IO用戶*性數據區(qū)大長度和尋址
 

下面的手冊中可以找到更多關于PROFINET  IO用戶*性數據區(qū)大長度和尋址的信息。
 


表 02

對于通信處理器(CP)子模塊的*性數據區(qū)域的大小明確如下:

CPMLFB上限
CP 443-16GK7443-1EX20-0XE0240 bytes
CP 443-16GK7443-1EX30-0XE0240 bytes
CP 443-1 Advanced6GK7443-1EX40-0XE0128 bytes
CP 443-1 Advanced6GK7443-1EX41-0XE0240 bytes
CP 443-1 Advanced6GK7443-1GX20-0XE0240 bytes
CP 443-1 Advanced6GK7443-1GX30-0XE0240 bytes
CP 343-16GK7343-1EX21-0XE0128 bytes
CP 343-16GK7343-1EX30-0XE0240 bytes
CP 343-1 Advanced6GK7343-1GX21-0XE0128 bytes
CP 343-1 Advanced6GK7343-1GX30-0XE0240 bytes
CP 343-1 Advanced6GK7343-1GX31-0XE0240 bytes

表 03

注意事項:
PROFIBUS DP 標準定義了*性用戶數據傳送的數量上限。當前的 DP 標準從站遵守這些上限,但早期的CPU(1999年前),對*性用戶數據的傳送,不同的 CPU 有特定的限制。
這些 CPU 對 DP 標準從站*性讀寫數據的大長度在“DP主站 - 每個 DP 從站的用戶數據”下的技術數據中給出。根據這些數值,使用該值,新近的CPU可支持超出DP標準從站 所提供或接收的數據長度。

重要事項:
分散讀寫*性數據(小于 4 字節(jié)),不調用系統(tǒng)函數 SFC14 和 SFC15 時,也是可行的。支持此功能的模塊可參考條

下表給出了超過過程映像之外的*性數據的訪問方式。
   

數據區(qū)長度讀/寫訪問數據*性
1 字節(jié)裝載/傳送單元*性
2 字節(jié)字裝載/字傳送總長*性
3 字節(jié)SFC14 / SFC15總長*性
4 字節(jié)雙字裝載/雙字傳送總長*性
5 字節(jié)SFC14 / SFC15總長*性

表  04

舉例: 
在下面的例子中,一個S7-400 CPU作為DP主站,一個CP342-5作為從站。

DP從站的輸入和輸出*性數據區(qū)域設定如下:

  • 對于輸出,設定傳輸50個字節(jié)的總長*性數據。這50個字節(jié)在S7-400CPU的過程影像分區(qū)3中數據是*的,所以可以用 load/transfer 命令進行讀操作。
  • 對于輸入,設定傳輸20個字節(jié)的總長*性數據。這20個數據不存儲在過程映像或過程映像區(qū)中,只能通過系統(tǒng)功能SFC14/15進行寫操作。


圖 01

在過程映像的更新過程中,操作系統(tǒng)*性地傳送此數據??墒褂眉虞d和傳送指令訪問過程映像中的數據。對于 S7-400 CPU ,還可以使用 SFC 26 "UPDAT_PI" 或 SFC 27 "UPDAT_PO" 在程序中的任意點更新過程映像,但此 TPA 在系統(tǒng)側可能并未進行更新。如果沒有或不能把數據放入過程映像,那么就應該使用 SFC14 和 SFC15 進行數據通信。 

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復您~
二維碼 意見反饋
在線留言