西門子6SL3211-0AB12-5BA1,西門子6SL3211-0AB12-5BA1 {心中有空間,夢想就有可能}
{西門子與客戶攜手,讓關鍵所在,逐一實現(xiàn)}
聯(lián) 系 人: 黃勇《黃工》 24小時聯(lián)系手機: 13701633515
直線銷售 電 話: 021-31660605 在 線 商 務 QQ: 77956468
單位:臺 產品單價:電議
供貨數(shù)量:不限 最小定量:1
包裝說明:齊全 產品規(guī)格:全新原裝
I/O 模塊是 SIMATIC S7-1500 與過程之間的接口:
- 數(shù)字量和模擬量模塊可精確提供每種任務所需的輸入/輸出。
- SIMATIC S7-1500 和 ET 200MP 的工藝模塊
- 具有高速計數(shù)和位置檢測集成功能
- 具有用于完成過程級別的任務且響應時間較短的集成輸入和輸出
- 用于 SIMATIC S7-1500 和 ET 200MP 的通信模塊
- 用于采用點對點連接的數(shù)據(jù)交換
- 用于連接至 PROFIBUS
- 用于連接到工業(yè)以太網(wǎng)
- 用于方便、輕松地對 S7-1500 和 ET 200MP 模塊進行接線的連接系統(tǒng)
-
- 16 和 32 通道數(shù)字量輸入模塊
- 靈活地選擇控制器以滿足相應任務需要
- 用于使用附加輸入對系統(tǒng)進行后續(xù)擴展
- 35 mm 寬的模塊具有參數(shù)設置和診斷功能
- 25 mm 寬的模塊可在狹小空間內使用:
極為經濟,無參數(shù)設置或診斷功能 -
數(shù)字量輸入模塊可記錄設備中的 24 V DC 或 230 V AC 信號,并將它們傳送到控制器。可以連接開關以及 2 線制、3 線制或 4 線制接近開關。
35 mm 寬的輸入模塊具有可設定的參數(shù)和診斷功能,因此可根據(jù)相應過程要求進行靈活調整。
25 mm 寬的低成本模塊沒有可設定的參數(shù)或診斷功能,可極為方便地集成到工程系統(tǒng)中。建議將它們在只需要很少輸入通道的位置使用,或在必須在十分有限的空間內部署大量通道的情況下使用。
根據(jù)需要,可在一個站中并排使用兩種模塊。由于具有統(tǒng)一特性并采用共同的系統(tǒng)附件,處理十分方便。
提供了以下寬度為 35 mm 的數(shù)字量輸入模塊:
- DI 16x24VDC HF;
16 通道數(shù)字量輸入模塊,用于記錄 24 V DC 信號;一個電壓組;輸入延遲 0.05 ... 20 ms;輸入類型 3 (IEC 61131);可設置診斷和硬件中斷 - DI 32x24VDC HF;
32 通道數(shù)字量輸入模塊,用于記錄 24 V DC 信號;兩個電壓組;輸入延遲 0.05 ... 20 ms;輸入類型 3 (IEC 61131);可設置診斷和硬件中斷 - DI 16x24VDC SRC BA;
16 通道數(shù)字量輸入模塊,用于記錄 24 V DC 信號;低電平有效;一個電壓組;固定輸入延遲 3.2 ms;輸入類型 3 (IEC 61131) - DI 16x230VAC BA;
16 通道數(shù)字量輸入模塊,用于記錄 230 V DC 信號;低電平有效;一個電壓組;固定輸入延遲 20 ms;輸入類型 1 (IEC 61131)
提供了以下寬度為 25 mm 的數(shù)字量輸入模塊:
- DI 16x24VDC BA;
16 通道數(shù)字量輸入模塊,用于記錄 24 V DC 信號;漏型輸入;一個電壓組;固定輸入延遲 3.2 ms;輸入類型 3 (IEC 61131) - DI 32x24VDC BA;
32 通道數(shù)字量輸入模塊,用于記錄 24 V DC 信號;漏型輸入;一個電壓組;固定輸入延遲 3.2 ms;輸入類型 3 (IEC 61131)
- 用一個螺絲安裝在 S7-1500 安裝導軌上
- 35 mm 模塊 采用螺釘型端子或推入式端子的標準化 40 針前連接器(不能用于 25 mm 模塊)
- 25 mm 模塊 采用推入式端子的標準化 40 針前連接器(不能用于 35 mm 模塊)
- 標準化、協(xié)調型前連接器針腳分配,更便于接線
- 可連接芯線截面積0.25 mm2 至 1.5 mm2(AWG24 至 16)
- 集成式電壓橋接件,用于靈活形成電壓組(僅 35 mm 模塊)
- 前連接器的預接線位置
- 前蓋帶有可擴充的電纜室,即使完全接線時也如此
- 模塊正面的清晰標簽
- 模塊類型
- 訂貨號
- 硬件和固件型號
- 通道編號標簽
- 電纜連接圖
含在供貨范圍之內:
- 用于手工貼標簽的一個標簽條
- 一個 U 型連接器
- 印制有文字的前門
- 前連接器((僅 25 mm 模塊)
-
S7-300
提供有大量功能,支持用戶的S7-300編程、調試和維護等工作。
- 高速執(zhí)行指令:
指令執(zhí)行時間最低可達0.01 μs,為中低端性能設備開創(chuàng)了全新的應用方案。 - 浮點數(shù)運算:
可以高效率地使用浮點運算甚至復數(shù)運算功能。 - 用戶友好的參數(shù)賦值:
僅需一個帶有統(tǒng)一操作界面的軟件工具,就可以完成所有模塊的參數(shù)化工作。這降低了入職門檻和培訓費用。 - 人機界面(HMI):
S7-300的操作系統(tǒng)已經集成了用戶友好的人機界面服務。這些功能不再需要成本高昂的編程工作:SIMATIC HMI系統(tǒng)向SIMATIC S7-300請求過程數(shù)據(jù), S7-300在期望的更新時間完成這些數(shù)據(jù)的傳輸工作。SIMATIC S7-300的操作系統(tǒng)可以自主地完成傳輸過程。并且完全使用相同的符號和數(shù)據(jù)庫。 - 診斷功能:
CPU 的智能診斷系統(tǒng)持續(xù)不斷地檢測系統(tǒng)的功能、記錄故障信息和特定的系統(tǒng)事件(例如,時間錯誤、模塊故障等)。采用環(huán)境緩沖區(qū)記錄事件信息,并帶有時間截,以利于今后的故障排除。 - 口令保護:
使用密碼保護功能高效、可靠地保護用戶信息,以防受到非授權復制與更改。
SIMATIC S7-300符合的國家標準和國際標準有:
- DIN
- UL 認證
- CSA 認證
- FM class 1 div. 2;組別:A、B、C 和 D (溫度組別:T4(≤135°C))
- ATEX 認證
- 澳大利亞標志
- 以下船級社資格認證
- 美國船級社
- 法國船級社
- 挪威船級社
- 德國船級社
- 英國勞氏船級社
- 日本船級社(NK)
- 抗震
通訊
SIMATIC S7-300的CPU 支持以下通信類型:
- 過程通訊:
對于通過總線(AS-接口、PROFIBUS DP 或者 PROFINET)實現(xiàn)循環(huán)尋址的I/O模塊(互換過程圖像)。從循環(huán)執(zhí)行層調用過程通訊。 - 數(shù)據(jù)通訊:
用于自動化系統(tǒng)間或多個自動化系統(tǒng)與HMI之間的數(shù)據(jù)交換。數(shù)據(jù)通信循環(huán)地進行,也可以基于事件驅動通過塊由用戶程序發(fā)起。
STEP 7的操作界面極為友好,顯著地簡化了用戶的通信功能組態(tài)工作。
數(shù)據(jù)通訊
SIMATIC S7-300擁有不同的數(shù)據(jù)通信機制:
- 使用MPI,通過全局數(shù)據(jù)通信,實現(xiàn)聯(lián)網(wǎng)CPU之間的數(shù)據(jù)包循環(huán)交換。
- 借助通信功能,與其它伙伴完成事件驅動型通信。網(wǎng)絡連接通過MPI、PROFIBUS或PROFINET實現(xiàn)。
全局數(shù)據(jù)
借助“全局數(shù)據(jù)通信”服務,聯(lián)網(wǎng)CPU彼此之間可以循環(huán)地交換數(shù)據(jù)(最多可達8 GD 數(shù)據(jù)包,每周期22個字節(jié))。據(jù)此,可以實現(xiàn),例如,某個CPU訪問另一個CPU的數(shù)據(jù)、位存儲單元和過程圖像等信息。只能通過 MPI 進行全局數(shù)據(jù)交換。組態(tài)通過STEP 7的GD表完成。
通訊功能
使用系統(tǒng)已經集成的塊,可以建立S7/C7伙伴之間的通信服務。
這些服務是:
- 通過 MPI 進行 S7 基本通訊。
- 通過 MPI、C 總線、PROFIBUS 和 PROFINET/工業(yè)以太網(wǎng)的 S7 通訊。
S7-300 可以用于: - 用作服務器時,使用MPI、C總線和PROFIBUS
- 用作服務器或客戶端時,使用集成式PROFINET接口
使用reloadable塊,可以建立與S5伙伴和非西門子設備之間的通信服務。
這些服務是:
- 通過 PROFIBUS 和工業(yè)以太網(wǎng)進行的 S5 兼容通訊。
- 通過 PROFIBUS 和工業(yè)以太網(wǎng)進行的標準通訊(非西門子系統(tǒng))。
與全局數(shù)據(jù)不同的是,對于通信功能,必須為其建立通信連接。
集成到 IT 領域中
借助自動化工程組態(tài),使用S7-300,可以更加方便地接入現(xiàn)代化的信息技術世界。使用CP 343-1 Advanced,可以實現(xiàn)以下信息技術功能:
- IP 路由;
借助IP訪問列表,將IP V4報文以不低于Gigabit的速度轉發(fā)至受控PROFINET接口。 - WEB 服務器;
使用標準瀏覽器,可以瀏覽大至30 MB可自由定義的HTML網(wǎng)頁;通過FTP處理自己的文件系統(tǒng)中的數(shù)據(jù) - 標準診斷頁;
無需額外工具,就可以在工廠內完成插裝在安裝機架上的所有模塊的快速診斷工作。 - E-mail;
直接從用戶程序中發(fā)送認證電子郵件。電子郵件客戶端設計有通知功能,可以在控制程序中直接通知用戶。 - 通過 FTP 進行通訊;
大多數(shù)操作系統(tǒng)平臺都可以使用的開放協(xié)議 - 設計有30 MB RAM文件系統(tǒng),可以用作動態(tài)數(shù)據(jù)的中間存儲器。
S7-300 PROFINET CPU集成有Web服務器。因此,標準Web瀏覽器可以讀出S7-300站中的信息:
- CPU 一般信息
- 診斷緩沖區(qū)的內容
- 變量表
- 標簽狀態(tài)
- 模塊的狀態(tài)
- 報文
- 工業(yè)以太網(wǎng)的相關信息
- PROFINET 節(jié)點的拓撲結構
等時模式
使用系統(tǒng)功能“同步模式”,可以同步耦合
- 分布式信號采集、
- PROFIBUS 信號傳輸和
- 程序執(zhí)行
總線周期時間的程序運行。
創(chuàng)建了自動化解決方案,可以以固定間隔時間(常量總線周期時間)捕捉并處理輸入和輸出信號。同時創(chuàng)建了前后一致的部分過程圖像。
借助常量總線周期時間和分布式I/O同步信號處理技術,S7-300確??梢跃_地重現(xiàn)規(guī)定的過程響應時間。
為同步模式系統(tǒng)功能提供了極為豐富的支持組件,可以處理運動控制、測量值采集和高速控制等領域的苛刻任務。
在分布式自動化解決方案中,目前的SIMATIC S7-300開始涉足重要的高速加工處理應用領域,并確??梢垣@得最高的精度和可重現(xiàn)性。這意味著可以以穩(wěn)定的優(yōu)質產品不斷地擴大生產數(shù)量。
模塊的診斷和過程監(jiān)視
SIMATIC S7-300的大量輸入/輸出模塊都具有智能功能:
- 信號采用的監(jiān)控(診斷)。
- 監(jiān)控來自過程的信號(硬件中斷)。
診斷
診斷功能可以用來判斷模塊的信號采集(針對數(shù)字量模塊)或者模擬量處理(針對模擬模塊)是否工作于無故障狀態(tài)。在診斷分析中,必須區(qū)分可參數(shù)化和非參數(shù)化診斷消息:
- 可參數(shù)賦值的診斷報文:
僅由合適的設定參數(shù)啟用之后才會發(fā)出診斷消息。 - 不可參數(shù)賦值的診斷報文:
這些消息的發(fā)出是一個常規(guī)事件,即該過程與參數(shù)化無關。
如果某個診斷消息處于激活狀態(tài)(例如“無傳感器輸入”),則模塊會發(fā)起一個診斷中斷(若已經為該診斷消息設置了參數(shù),則僅在相應的參數(shù)化過程之后才會產生中斷)。CPU會中斷用戶程序或較低優(yōu)先級任務的執(zhí)行,并接下來執(zhí)行相關的診斷中斷塊(OB 82)。
SIMATIC HMI 按鍵式面板
- 具有大號機械按鍵和多種顏色的照明燈(日光下可讀),十分易于操作
- 接線和安裝時間節(jié)省 60% 以上(即插即用)
- 與常規(guī)鍵盤式操作員面板相比,材料成本節(jié)約 30% 以上
- 2 個集成 PROFINET 端口(含交換機),用于設置總線型和環(huán)型拓撲
- 可自由組態(tài)的數(shù)字量 I/O 可在后面連接其他鍵控開關、指示燈等
- 可連接 KP8F 和 KP32F 的故障安全急停按鈕或其它故障安全信號(SIL2 或 SIL3)
- 在功能上兼容所有標準 PROFINET 主站 CPU,也兼容非西門子 CPU
- KP8 及空白前端設計,還針對安裝在防護等級為 IP65 的 IPC 擴展單元中進行了優(yōu)化
- 可進行參數(shù)設置,極為靈活
- 采用空白前端設計,適合對靈活多樣的操作員面板進行標準化組裝
-
- 具有模塊化設計,與采用分立部件相比,規(guī)劃和組裝工作量減少
- 節(jié)約硬件成本:分布式 I/O,一個設備中組合有 2 個 PROFINET 接口和 I/O
- 可使用標準打印機(黑白或彩色)打印按鍵和燈的標簽,防護等級為 IP65
- 靈活性高,可對顏色、開關/按鈕功能和集成診斷功能進行任意組態(tài)
- 可針對過程對任何按鍵顏色進行動態(tài)調整
- 具有用于執(zhí)行器和傳感器的集成標準輸入和輸出,每個針腳都可用作輸入或輸出
- 空白前端設計為隨后進行的系統(tǒng)擴展預留了空間,便于安裝標準 22.5 mm 操作部件
- SIMATIC 人機面板系列中的功能與設計實現(xiàn)了最佳匹配,例如,PRO 設備擴展單元中的功能與設計。
SIMATIC HMI 按鍵式面板 – 空白前面板設計
- 可以使用安裝架簡便安裝
- 采用堅固的設計,適用于惡劣的工業(yè)環(huán)境
- 可安裝 22.5 mm 標準部件
- 標準 22.5 mm 操作部件安裝方便,便于在運行期間進行改裝
SIMATIC HMI 按鍵式面板 – 基本功能
- 光滑的前端,易于清潔
- 可對大號機械帶照明按鈕單元進行編程,以作為開關或按鈕使用
- 24 VDC 回路電源,無需附加端子
- 兩個 PROFINET 接口,非常適合總線型操作
- 采用介質冗余協(xié)議 (MRP),適合環(huán)網(wǎng)運行,即使在 PROFINET 電源電纜斷開的情況下,也可正常運行
- 輸入和輸出位于后部,每個針腳都可用作輸入或輸出
- F 型號還配備有 SIL 2/3 輸入
SIMATIC HMI KP8 PN
- 8 個帶機械照明的大號按鈕具有良好的觸覺反饋,因此也適合在惡劣的工業(yè)環(huán)境中使用。
- 8 個可自由組態(tài)的數(shù)字量 I/O
- 用于標準型 CPU
SIMATIC HMI KP8F PN
- 具有額外的數(shù)字量故障安全輸入,用于連接單通道或一個雙通道傳感器(例如,用于急停)
- 用于故障安全 CPU
SIMATIC HMI KP32F PN
- 32 個帶機械照明的大號按鈕具有良好的觸覺反饋,因此也適合在惡劣的工業(yè)環(huán)境中使用。
- 16 個可自由組態(tài)的數(shù)字量 I/O
- 具有額外的數(shù)字量故障安全輸入,用于 4 個單通道或 2 個雙通道傳感器(例如,用于急停)
- 用于故障安全和標準型 CPU
定貨號 | 注釋 |
6EP1331-1SH02 | 單相220VAC輸入,輸出24VDC 1.3A |
6EP1331-2BA00 | 單相220VAC輸入,輸出24VDC 2A |
6EP1332-2BA00 | 單相220VAC輸入,輸出24VDC 3.8A |
6EP1332-2BA10 | 單相120/220VAC輸入,輸出24VDC 2.5A |
6EP1333-2AA00 | 單相220VAC輸入,輸出24VDC 5A 工業(yè)可并聯(lián) |
6EP1333-2AA01 | 單相120/230VAC輸入,輸出24VDC 5A 工業(yè)可并聯(lián) |
6EP1333-2BA00 | 單相120VAC/220VAC輸入,輸出24VDC 5A |
6EP1333-2BA01 | 單相120VAC/220VAC輸入,輸出24VDC 5A |
6EP1333-3BA00 | 單相120VAC/220to500VAC輸入,輸出24VDC 5A |
6EP1334-2AA00 | 單相220VAC輸入,輸出24VDC 10A 工業(yè)可并聯(lián) |
6EP1334-2AA01 | 單相120/220VAC輸入,輸出24VDC 10A 工業(yè)可并聯(lián) |
6EP1334-2BA00 | 單相220VAC輸入,輸出24VDC 10A |
6EP1334-2BA01 | 單相220VAC輸入,輸出24VDC 10A |
6EP1334-3BA00 | 單相120/220VACto500VAC輸入,輸出24VDC 10A |
6EP1336-2BA00 | 單相220VAC輸入,輸出24VDC 20A |
6EP1336-3BA00 | 單相220VAC輸入,輸出24VDC 20A 工業(yè)可并聯(lián) |
6EP1337-3BA00 | 單相120/230,40A |
6EP1434-2BA00 | 三相380VAC輸入,輸出24VDC 10A 工業(yè)可并聯(lián) |
6EP1436-2BA00 | 三相380VAC輸入,輸出24VDC 20A 工業(yè)可并聯(lián) |
6EP1332-2BA20 | 三相380VAC輸入,輸出24VDC 20A 新型模塊式電源 |
6EP1332-2BA30 | 三相380VAC輸入,輸出24VDC 30A 工業(yè)可并聯(lián) |
6EP1333-2AA02 | 三相380VAC輸入,輸出24VDC 40A 工業(yè)可并聯(lián) |
6EP1333-2AA03 | 三相380VAC輸入,輸出24VDC 40A 工業(yè)可并聯(lián) |
6EP1252-0AA00 | 單相230VAC輸入,輸出41.5V/1.3A |
6EP1252-0AA01 | 單相230VAC輸入,輸出41.5V/2A |
6EP1457-3BA00 | 三相380VAC輸入,輸出48VDC 20A 工業(yè)可并聯(lián) |
SIYOUNG 電源 | |
6EP0123-2AA00-0AA0 | 單相230VAC輸入,輸出24VDC 2.5A |
6EP0123-2AA00-0AB0 | 單相230VAC輸入,輸出24VDC 4A |
6EP0123-3AA00-0AB0 | 單相230VAC輸入,輸出24VDC 6A |
6EP0123-4AA00-0AB0 | 單相230VAC輸入,輸出24VDC 12A |
SITOP facets | |
6EP1331-2BA10 | 單相120/230VAC輸入,輸出24VDC 0.5A |
6EP1333-1AL12 | 單相120/230VAC輸入,輸出24VDC 5A |
6EP1334-1AL12 | 單相120/230VAC輸入,輸出24VDC 10A |
6ES7307-1EA80-0AA0 | 單相120/230VAC輸入,輸出24VDC 10A |
6EP1353-2BA00 | 單相120/230VAC輸入,輸出24VDC 設定范圍3~52DC 10A |
LOGO! Power 微型電源組 |
6EP1332-1SH42 | 單相220VAC輸入,輸出24VDC 2.5A |
6EP1332-1SH51 | 單相220VAC輸入,輸出24VDC 4A |
SITOP 附加設備 | |
6EP1961-3BA10 | 信號模塊,輸入范圍240VAC/6A,只能和模塊式SITOP電源共用 |
6EP1961-3BA00 | 緩沖模塊,輸入24VDC,輸出電流40A,可并聯(lián),只能和模塊式SITOP電源共用 |
6EP1961-3BA20 | 冗余模塊,輸入24VDC,輸出電流40A |
6EP1961-2BA00 | 診斷模塊,輸入24VDC,輸出電流4*10A |
西門子STL間接尋址常問問題集
1.1如何獲得指針或者間接尋址有關的信息?
指針的類型包括16位指針、32位指針、Pointer(6Byte)和Any(10Byte)。16位指針用于定時器、計數(shù)器、程序塊的尋址;32位指針用于I/Q/M/L/數(shù)據(jù)塊等存儲器中位、字節(jié)、字以及雙字的尋址,其中第0~2位表示位地址(0~7)、第3~18位為字節(jié)地址,其余位未定義;Pointer和Any一般應用在復雜數(shù)據(jù)類型(比如Date_and_Time /Array/String等)在FB、FC之間的傳遞。而Any可以看做是對Pointer的延伸,因為由10Byte組成的Any中Byte4~Byte9就是一個Pointer。
了解指針的格式十分重要,為正確使用指針,應閱讀如下內容:
1、 "SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 參數(shù)類型
2、文檔:1008用于S7-300 和S7-400 的語句表(STL)編程
3、文檔:F0215,S7-300和S7-400尋址 1.2為什么語句 LAR1 P##PointerInput 在一個函數(shù)(FC)中是無效的,然而,同樣的語句在一個功能塊(FB)中是有效的?
在FC被調用時,復雜數(shù)據(jù)類型例如指針是被復制到調用者的臨時變量區(qū)中,在FC內部對此V區(qū)地址直接取址放入到地址寄存器AR1或AR2是不被編譯器規(guī)則接受的(導致MC7寄存器信息過長),也就是說在FC內部通過P#進行地址寄存器取址僅能支持Temp臨時變量。因此如果需要在FC中操作指針等復雜輸入輸出變量地址需要使用累加器進行中轉。
考慮到程序的一致性、遵守編譯器規(guī)則和STL手冊中LAR1指令說明,建議用戶使用如下指令操作:
L P##PointerInput
LAR1 1.3 STEP 7 中哪些操作會覆蓋DB/DI寄存器或者地址寄存器AR1/AR2的內容?
下面說明了可能引起DB/DI寄存器或者地址寄存器AR1/AR2內容改變的一些操作:
- DB寄存器和AR1受到影響的操作
1. 使用完整的DB路徑(如L DB20.Val)或者調用FC/FB時使用DB塊完整地址作為其參數(shù),則DB寄存器內容被覆蓋。
例如在OB1中調用FC1后,DB寄存器變成20。
OPN DB1
Call FC1
Input(bit):DB20.DBX0.2
因此在編程的時候,OPN 指令打開數(shù)據(jù)塊,通過DBX x.y的方式訪問其中內容, 但是如果在打開數(shù)據(jù)塊后DB寄存器的內容被修改了,則DBX x.y的方式訪問變量則 會訪問到錯誤的地址。可以通過使用符號尋址的方式或者使用完整路徑編程避免,當 然重新使用 OPN指令也是可以的。
2. 調用FC時使用string, array, structure ,UDT作為其形參或者調用FB時使用string, array, structure 或者UDT作為其in out形參,在FC/FB程序中訪問這些地址則AR1寄存器內容被覆蓋,因此當使用AR1進行間接尋址時需要注意AR1內容的正確性。 - AR2地址寄存器和DI寄存器在FB中作為參數(shù)和靜態(tài)變量的基址尋址使用。AR2和DI如果被修改,會影響FB的參數(shù)訪問,如果希望在FB中使用DI寄存器或者地址寄存器AR2,必須預先保存它們中的內容,并在使用后恢復它們,例如:
TAR2 #AR2_SAVE; //AR2寄存器狀態(tài)保存到#AR2_SAVE
L DINO;
T #DB2_SAVE; //DI寄存器狀態(tài)保存到#DB2_SAVE
User Program LAR2 #AR2_SAVE; //AR2寄存器恢復到使用前狀態(tài)
OPN DI [#DB2_SAVE]; //DI寄存器恢復到使用前狀態(tài)
1.4 如何得到多重背景FB中的變量在背景DB里的絕對偏移量呢?
可以用下面的方法處理:
TAR2 (得到多重背景FB在背景DB里的偏移地址)
AD DW#16#00FFFFFF (屏蔽掉存儲區(qū)ID,可參考32位指針格式)
L P##Variable (得到變量在多重背景FB里的地址)
+D (多重背景FB的偏移地址與變量在多重背景FB里地址相加,即得到實際絕對偏移量)
LAR1
上述語句就是就得到了變量在背景DB中的絕對偏移量,從而供后續(xù)程序處理。 1.5如何在程序中使用ANY 型指針? 簡要說明如下:
L P##Input //指向存儲地址指針I(yè)nput首地址
//這個參數(shù)是一個Any類型,P##Input指向參數(shù)Input的值所在地址,這就是指針的指針
LAR1 //裝載到地址寄存器AR1中。
L W [AR1,P#4.0] //打開DB塊
// 由Any類型結構知道Any類型的Byte4、Byte5存放的數(shù)據(jù)塊號
T #BLOCK_NO
OPN DB [#BLOCK_NO] //如果是DB塊,打開指定的DB塊。
L W [AR1,P#2.0] //判斷ANY指針中數(shù)據(jù)長度
// Any類型的Byte2、Byte3是重復系數(shù),如P#DB1.DBX0.0 Byte 8后面的Byte 8
_001:T #DATA_LEN //通常此處做loop循環(huán)!!
L D [AR1,P#6.0] //找出需要計算數(shù)據(jù)區(qū)的開始地址
// Any類型Byte6~Byte9是32位區(qū)域地址
理解Pointer、Any的類型的數(shù)據(jù)結構,對于正確使用指針有很大幫助。
為正確使用指針,應仔細閱讀如下內容:
"SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 參數(shù)類型 如下的程序實現(xiàn)了SFC20的部分功能,可以作為Any使用的參考。
FUNCTION FC 1 : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
SRCBLK : ANY ;
END_VAR
VAR_OUTPUT
RETVAL : INT ;
DSTBLK : ANY ;
END_VAR
VAR_TEMP
LOOP : INT ;
BLOCK_NO_DB : WORD ;
BLOCK_NO_DI : WORD ;
SRC_ADD : DWORD ;
DST_ADD : DWORD ;
END_VAR
BEGIN
NETWORK
TITLE =
L P##SRCBLK; //讀取輸入any的首地址
LAR1 ; //裝載到ar1
L P##DSTBLK; //讀取輸出any的首地址
LAR2 ; //裝載到ar2
L W [AR1,P#4.0]; //打開DB塊
T #BLOCK_NO_DB;
L W [AR2,P#4.0]; //打開DI塊
T #BLOCK_NO_DI;
OPN DB [#BLOCK_NO_DB]; //打開DB塊
OPN DI [#BLOCK_NO_DI]; //打開DI塊
L D [AR1,P#6.0];
T #SRC_ADD; //讀取地址
L D [AR2,P#6.0];
T #DST_ADD; //讀取地址 L W [AR1,P#2.0]; //讀取循環(huán)次數(shù)
_001: T #LOOP;
L DBB [#SRC_ADD];
T DIB [#DST_ADD]; //賦值
//地址偏移1個字節(jié)
L P#1.0;
L #SRC_ADD;
+D ;
T #SRC_ADD;
L P#1.0;
L #DST_ADD;
+D ;
T #DST_ADD;
L #LOOP; //循環(huán)
LOOP _001;
END_FUNCTION 1.6 當FC 或FB的輸入?yún)?shù)類型為:BLOCK_DB, TIMER或者 COUNTER,如何確定其編號?
例1 :FB 塊
FB1 變量聲明中定義了“ Timer” 類型的變量“ Time_1” ,在 FB2 中調用 FB1,將定時器“T5”傳遞給變量“ Time_1”。如圖 01 所示程序代碼中數(shù)值 5 表示“T5”。
圖 01 FB中確定定時器編號 在使用多重實例時,需要在圖 01 所示程序中增加以下代碼:
TAR2 //多重實例偏移地址
LAR1 P##Time_1
+AR1 //多重實例偏移地址與當前地址相加
L W[AR1,P#0.0]
T MW0
例 2 FC
FC1 變量聲明中定義了“ Timer” 類型的變量“ Time_1” ,在 FC2 中調用 FC1,將定時器“T8”傳遞給變量“ Time_1”。如圖 02 所示程序代碼中數(shù)值 8 表示“T8”。