產地類別 | 進口 | 應用領域 | 化工,石油,地礦,電子,交通 |
---|
潯之漫智控技術(上海)有限公司 上海詩慕自動化設備有限公司
本公司銷售西門子自動化產品,*,質量保證,價格優勢
西門子PLC,西門子觸摸屏,西門子數控系統,西門子軟啟動,西門子以太網
西門子電機,西門子變頻器,西門子直流調速器,西門子電線電纜
我公司大量現貨供應,價格優勢,*,德國*
參考價 | 面議 |
更新時間:2020-09-05 20:00:12瀏覽次數:190
聯系我們時請說明是化工儀器網上看到的信息,謝謝!
西門子IM 154-2PROFIBUS-DP 接口模塊 西門子IM 154-2PROFIBUS-DP 接口模塊
潯之漫智控技術(上海)有限公司 上海詩慕自動化設備有限公司
本公司銷售西門子自動化產品,*,質量保證,價格優勢
西門子PLC,西門子觸摸屏,西門子數控系統,西門子軟啟動,西門子以太網
西門子電機,西門子變頻器,西門子直流調速器,西門子電線電纜
我公司大量現貨供應,價格優勢,*,德國*
問題:
如何通過 ST 語言實現 SIMOTION 的 DP從站地址修改?
回答:
通過執行_setDpSlaveAddress程序可以實現SIMOTION的DP從站地址修改。
實現方法:
(1)首先打開HW config 硬件組態,配置接口為DP從站:
圖01. 設置DP 接口為從站
(2)配置DP從站通信的IO地址如下圖:
西門子IM153-2接口模塊
圖02. 配置DP從站通信的IO地址
(3)查詢DP 診斷地址用于后續編程時填寫參數使用:
圖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 不相同,則執行更新
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,程序執行成功會導致SIMOTION重新啟動,隨后新的DP地址生效。
描述:
SFC14 "DPRD_DAT"
使用 SFC 14“DPRD_DAT”(讀取 DP 標準從站的*數據)可讀出DP標準從站/PROFINET IO 設備的數據。 如果在數據傳送過程中沒有發生錯誤,讀出的數據就被輸入到由RECORD 建立的目標域。目標域必須與在 STEP 7 組態中所選的模塊的長度相同。 當調用 SFC14 時,只能在所配的起始地址下訪問一個模塊/DP標識的數據。
SFC15 "DPWR_DAT"
使用 SFC 15“DPWR_DAT”(將*數據寫入 DP 標準從站)可將 RECORD 中的數據*地傳送到所尋址的DP標準從站/PROFINET IO 設備中。 源區域必須與在 STEP 7 組態中所選的模塊的長度相同。 對于模塊化結構的標準DP從站只能訪問一個DP從站模塊。
PROFIBUS DP用戶*性數據區大長度和尋址
西門子IM153-2接口模塊
下面的手冊中可以找到更多關于PROFIBUS DP用戶*性數據區大長度和尋址的信息。
表 01
PROFINET IO用戶*性數據區大長度和尋址
下面的手冊中可以找到更多關于PROFINET IO用戶*性數據區大長度和尋址的信息。
表 02
對于通信處理器(CP)子模塊的*性數據區域的大小明確如下:
CP | MLFB | 上限 |
CP 443-1 | 6GK7443-1EX20-0XE0 | 240 bytes |
CP 443-1 | 6GK7443-1EX30-0XE0 | 240 bytes |
CP 443-1 Advanced | 6GK7443-1EX40-0XE0 | 128 bytes |
CP 443-1 Advanced | 6GK7443-1EX41-0XE0 | 240 bytes |
CP 443-1 Advanced | 6GK7443-1GX20-0XE0 | 240 bytes |
CP 443-1 Advanced | 6GK7443-1GX30-0XE0 | 240 bytes |
CP 343-1 | 6GK7343-1EX21-0XE0 | 128 bytes |
CP 343-1 | 6GK7343-1EX30-0XE0 | 240 bytes |
CP 343-1 Advanced | 6GK7343-1GX21-0XE0 | 128 bytes |
CP 343-1 Advanced | 6GK7343-1GX30-0XE0 | 240 bytes |
CP 343-1 Advanced | 6GK7343-1GX31-0XE0 | 240 bytes |
表 03
注意事項:
PROFIBUS DP 標準定義了*性用戶數據傳送的數量上限。當前的 DP 標準從站遵守這些上限,但早期的CPU(1999年前),對*性用戶數據的傳送,不同的 CPU 有特定的限制。
這些 CPU 對 DP 標準從站*性讀寫數據的大長度在“DP主站 - 每個 DP 從站的用戶數據”下的技術數據中給出。根據這些數值,使用該值,新近的CPU可支持超出DP標準從站 所提供或接收的數據長度。
重要事項:
分散讀寫*性數據(小于 4 字節),不調用系統函數 SFC14 和 SFC15 時,也是可行的。支持此功能的模塊可參考條
下表給出了超過過程映像之外的*性數據的訪問方式。
數據區長度 | 讀/寫訪問 | 數據*性 |
1 字節 | 裝載/傳送 | 單元*性 |
2 字節 | 字裝載/字傳送 | 總長*性 |
3 字節 | SFC14 / SFC15 | 總長*性 |
4 字節 | 雙字裝載/雙字傳送 | 總長*性 |
5 字節 | SFC14 / SFC15 | 總長*性 |
表 04
舉例:
在下面的例子中,一個S7-400 CPU作為DP主站,一個CP342-5作為從站。
DP從站的輸入和輸出*性數據區域設定如下:
圖 01
在過程映像的更新過程中,操作系統*性地傳送此數據。可使用加載和傳送指令訪問過程映像中的數據。對于 S7-400 CPU ,還可以使用 SFC 26 "UPDAT_PI" 或 SFC 27 "UPDAT_PO" 在程序中的任意點更新過程映像,但此 TPA 在系統側可能并未進行更新。如果沒有或不能把數據放入過程映像,那么就應該使用 SFC14 和 SFC15 進行數據通信。