西門子6ES7211-1BE31-0XB0√
西門子6ES7211-1BE31-0XB0√
西門子6ES7211-1BE31-0XB0√
西門子6ES7211-1BE31-0XB0
公司服務理念【四個一,五個心】
一 張 笑 臉 相 迎 對 待 客 戶 要 熱 心
一 顆 真 心 相 待 對 待 工 作 要 細 心
一 腔 熱 血 相 助 解 答 問 題 要 耐 心
一 個 滿 意 相 送 聽 取 意 見 要 虛 心
改 進 工 作 要 誠 心
SIEMENS西門子上海騰樺電氣設備有限公司
:黃杰
S7-1200 PWM功能簡介
1 PWM功能簡介
PWM(脈沖寬度可調)是一種周期固定,脈寬可調節的脈沖輸出,如圖1示,PWM功能雖然使用的是數字量輸出,但其在很多方面類似于模擬量,比如它可以控制電機的轉速,閥門的位置等。S7-1200 CPU提供了兩個輸出通道用于高速脈沖輸出,分別可組態為PTO或PWM,PTO的功能只能由運動控制指令來實現,PWM功能使用CTRL_PWM指令塊實現,當一個通道被組態為PWM時,將不能使用PTO功能,反之亦然。
圖1所示為PWM原理
脈沖寬度可表示為脈沖周期的百分之幾(0-*),千分之幾(0-1000),萬分之幾(0-10000)或S7 analog(模擬量)形式,脈寬的范圍可從0(無脈沖,數字量輸出為0)到全脈沖周期(無脈沖,數字量輸出為1 ) 。 |
1 脈沖周期 2 脈沖寬度
圖1 PWM原理
2 PWM功能組態
CPU的兩路脈沖發生器,使用特定的輸出點,如圖2所示,用戶可使用CPU集成輸出點或信號板的輸出點,表中所示為默認情況下的地址分配,用戶也可自己更改輸出地址,無論點的地址如何變化,PTO1/PWM1總是使用*組輸出,PTO2/PWM2使用緊接著的一組輸出,對于CPU集成點和信號板上的點都是如此。PTO在使用脈沖輸出時一般占用2個輸出點,而PWM只使用一個點,另個沒有使用的點可用作其它功能。
脈沖功能輸出點占用如圖2
圖2 脈沖功能輸出點占用
組態步驟
1. 進入Device Configuration(設備組態)界面,選中CPU,點擊屬性,選中Pulse Generator(PTO/PWM)。如圖3
圖3進入設備組態
2. 組態脈沖發生器參數,如圖4。
圖4 脈沖發生器組態
1 Pulse generator used as(脈沖輸出類型):用于選擇PTO或PWM輸出。
2 Output source(輸出源):選擇是CPU集成點輸出或信號板輸出。
3 Time Based(時基):Milliseconds(毫秒),Microseconds(微秒)
4 Pulse width format(脈寬形式):Hundredths(百分比),Thousandths(千分比),ten thousandths(萬分比),S7 analog format(S7模擬量)。
5 Cycle time(周期):脈沖的周期值只能在此修改。
6 Intial pulse width(初始脈寬)。
圖5所示為系統的硬件輸出點
圖5 PWM硬件輸出點
圖6為PWM所分地址
圖6 PWM脈寬調制地址
1 Start address(起始地址):此地址為WORD類型,用于存放脈寬值,用戶可在系統運行中實時修改此值達到修改脈寬的目的,默認情況下,PWM1使用QW1000,PWM2使用QW1002。
2 Process Image(過程映像區):由于脈寬值存放地址為過程映像區,這里選擇更新方式,默認為周期更新。
3 HW ID(硬件識別號)。
3 PWM指令塊
S7-1200 CPU使用CTRL_PWM指令塊實現PWM輸出,如圖7.在使用此指令塊時需要添加背景數據塊,用于存儲參數信息。
圖7 PWM指令塊
PWM指令塊參數如表1
參數 | 數據類型 | 描述 |
PWM | WORD | 填寫硬件識別號,即組態參數中的HW ID |
Enbale | BOOL | 1= 使能指令塊 |
0= 禁止指令塊 | ||
Busy | BOOL | 功能應用中 |
Status | WORD | 狀態顯示 |
表1 PWM指令塊參數
當EN端變為1時,指令塊通過Enable端使能或禁止脈沖輸出,脈沖寬度通過組態好的QW來調節,當CTRL_PWM指令塊正在運行時,BUSY位將一直為0。
有錯誤發生時ENO端輸出為0,同時STATUS顯示錯誤狀態,如圖2
Status 值 | 描述 |
0 | 無錯誤 |
80A1 | 硬件識別號(HW ID)非法 |
表2 錯誤狀態
4 應用舉例
使用模擬量控制數字量輸出,當模擬量值發生變換時,CPU輸出的脈沖寬度隨之改變,但周期不變,可用于控制脈沖方式的加熱設備。此應用通過PWM功能實現,脈沖周期為1S,模擬量值在0-27648之間變化。
1硬件組態
在硬件組態中定義相關輸出點,并進行參數組態,雙擊硬件組態選中CPU
定義IW64為模擬量輸入,輸入信號為0-10V DC。
PWM 參數組態如下
圖8所示為硬件參數組態
圖8 硬件參數組態
圖9所示為硬件輸出點與脈寬地址定義
圖9 硬件輸出點與脈寬地址
2建立變量
在變量表中建好變量,如圖10
圖10 PWM示例建立變量
3程序編制
在定義完變量后,打開OB1,從指令列表中將CTRL_PWM指令塊拖入編輯器中,并定義背景數據塊,zui后添加模擬量賦值程序。如圖11
圖11 PWM示例程序編制
4監控
在狀態表中監控變量如圖12,使能PWM_Enable,通過外部模擬電位計,改變輸入電壓“Analog_input”值,脈沖以1S的固定周期,脈寬隨“Pulse Width”變化。
圖12 PWM示例監控變量
如何使用 PC Access 訪問 S7-1200 PLC ?需要考慮什么?
描述
可以建立 PC Access 和 S7-1200 PLC 之間的通信連接。但是,請注意一些限制。
注意
盡管西門子還沒有正式聲明支持在 S7-1200 PLC 和 SIMATIC NET OPC 之間建立連接,本 FAQ 描述一個解決方案。通過在以下章節的描述,可以得到如何建立這樣一個連接。
限制
由于原來 PC Access 是專為 S7-200 PLC 設計,這里會有一些限制:
- 在 S7-1200 PLC 中只有數據塊 DB1 的變量能夠被訪問,因為 S7-200 只有一個數據塊。
- S7-1200 PLC 中的 DB1 必須使用非符號尋址。當在創建 DB1 時,去掉“僅符號訪問”的勾選框(圖 01)。
要求
下面列舉的是硬件和軟件方面的要求:
- S7-1200 PLC
- 以太網線
- STEP 7 基本版 V10.5 或者更高版本
- PC Access V1.0.4.10 (SP4) 或者更高版本
在 S7-1200 PLC 項目中的數據塊 DB1 中創建變量
請依照下列步驟,在 S7-1200 PLC 項目中新建變量。
可訪問的條目
下面表格列出了所有可以訪問的條目,包括對應地址格式舉例。
如何使用 STEP 7 (TIA Portal) V11 為 SIMATIC S7-1200 建立 MODBUS-RTU 通訊?
概述 利用 CM 1241 RS485 和 CM 1241 RS232 通訊模塊,SIMATIC S7-1200 可以實現點對點的通訊。 每個 SIMATIC S7-1200 控制器zui多可以添加三個通訊模板。 利用集成在 STEP 7 (TIA Portal) 中的 MODBUS 庫文件,可以定義每個通訊模塊為 MODBUS 主站或 MODBUS 從站。如果選擇 MODBUS 主站,可以通訊的對象 使用 CM 1241 RS232 通訊模塊只能與一個從站通訊(由于物理限制)。 使用 CM 1241 RS485 通訊模塊允許zui多與 32 個從站的相繼地通訊。 ......
概述
利用 CM 1241 RS485 和 CM 1241 RS232 通訊模塊,SIMATIC S7-1200 可以實現點對點的通訊。 每個 SIMATIC S7-1200 控制器zui多可以添加三個通訊模板。 利用集成在 STEP 7 (TIA Portal) 中的 MODBUS 庫文件,可以定義每個通訊模塊為 MODBUS 主站或 MODBUS 從站。如果選擇 MODBUS 主站,可以通訊的對象
- 使用 CM 1241 RS232 通訊模塊只能與一個從站通訊(由于物理限制)。
- 允許zui多與 32 個從站的相繼地通訊使用 (通過 CM 或 CB 1241 RS485)。
有一個由 STEP 7 (TIA Portal) V11 創建的范例去介紹如何使用 CM 1241 RS485 通訊模塊與多個從站進行通訊。
說明
提供一個 MODBUS 主站和一個 MODBUS 從站間的通訊例程。通訊可以交替地將數據寫入從站寄存器( MODBUS 功能碼為 16)和讀取從站寄存器的數值( MODBUS 功能碼為 03)。 因為 RS485 接口是兩線制 (半雙工模式),故數據讀寫必須是連續控制的。 同理,在兩種操作 (這里指讀和寫) 之間也可以改變要尋址的從站地址,因此,主站和多個從站之間的數據交換是可以實現的。
圖. 01
多個 CM 1241 RS485 通訊模塊之間可以使用 PROFIBUS 電纜相互連接。 zui多可以將 31 個 MODBUS 從站使用 PROFIBUS 電纜連接到主站。使用 STEP 7 (TIA Portal) 配置組態,使用交換機 CSM 1277 可以將程序下載至控制器。
MB_COMM_LOAD
MODBUS 通訊中,雙方 (主站和從站) 都應該調用配置指令。
圖. 02
MB_COMM_LOAD 指令可以完成如下功能:選擇通訊模塊、設定通訊參數、使用主站或從站的參數參數化連接。必須在*個程序執行周期中調用 MB_COMM_LOAD 指令 (可以使用硬件設置中的系統標志位 M1.0 來實現或在啟動 OB 100 中調用)。在硬件組態中插入通訊模塊后,可以在 PORT 參數中選擇通訊模塊的符號名。 通信參數波特率 (傳輸速率) 和奇偶校驗方式在所有節點中必須設定相同。STEP 7 (TIA Portal) 設備視圖中關于 RS485 的端口特性的設置與此不相干。通過 MB_DB 可以設定主站或從站指令的背景數據塊,同時也就說明了通訊模塊 (PORT 參數的) 是 MODBUS 主站還是從站。
MB_MASTER
使用 MB_MASTER 指令可以定義 MB_COMM_LOAD 指令中選定的通訊模塊為 MODBUS 主站。
圖. 03
MB_MASTER 指令可以用來選擇要尋址的 MODBUS 從站的地址、功能碼和設定本地的數據存儲區。下表解釋了具體參數。
參數 | 描述 |
REQ | 使能通信。 |
MB_ADDR | MODBUS-RTU 站地址。 |
MODE | 選擇傳輸方向 ("0" = 讀, "1" = 寫或附加的診斷功能)。 |
DATA_ADDR | MODBUS 的起始地址。 |
DATA_LEN | MODBUS 數據長度。 |
DATA_PTR | 定義了主站發送和接收的本地數據區。DATA_PTR 參數必須是全局數據塊,禁用“僅符號訪問”選項。 |
"MB_MASTER" 必須在*個程序循環周期中調用
- 可使用硬件設置中的系統標志位,M1.0 來激活
- 在啟動 OB 100 中調用
MB_SLAVE
通過 MB_COMM_LOAD 指令選擇 MB_SLAVE 指令的背景數據塊,使用 MB_SLAVE 指令作為 MODBUS 從站。
圖. 04
MB_SLAVE 指令定義 MODBUS-RTU 站地址,并本地數據存儲區作為對應的保持寄存器數據傳送。
參數 | 描述 |
MB_ADDR | MODBUS-RTU 站地址。 |
MB_HOLD_REG | 從站的保持寄存器。MB_HOLD_REG 必須是全局數據塊,禁用“僅符號訪問”選項。 |
當進行多寄存器 (字) 傳輸時,與主站 DATA_ADDR 和 DATA_PTR 中規定的參數范圍相對應的從站寄存器也在 MB_HOLD_REG 中定義。其中從站中*個字對應 MODBUS 寄存器的地址為 40001。
通過指令的輸入和輸出功能或訪問相關背景數據塊進行參數轉換。
范例項目
在主站項目中,交替的讀寫從站寄存器是通過一個時序標志完成的。
圖. 05
- 初始化:調用 MB_COMM_LOAD 指令。.
- 步驟 1:調用 MB_Master 并執行使能(REQ = 1),(MODE = 1) 是將數據寫入從站。
- 當 MB_MASTER 指令返回是肯定的結果 (DONE) 或否定的結果 (ERROR) ,轉至步驟 2。
- 復位 MB_MASTER 指令的執行 (REQ = 0)。
- 步驟 2:若 (MODE = 0) 是將讀取從站數據的通訊參數被 MB_MASTER 寫入步驟 1中相同的背景數據區中 (MB_COMM_LOAD 指令中的 MB_DB 參數) 。
- 執行和轉換與步驟 1類似。
下圖中顯示了一個步驟(網絡 6 和網絡 7)和轉換 (網絡 8 ) 的。
圖. 06
MB_ADDR 參數 (參見網絡6) 可以在每一步中使用不同的從站地址,從而實現與zui多 32 個從站的數據交換。