西門子CPU模塊6ES7512-1DK01-0AB0
CPU 1511-1 PN,150 KB 程序,1 MB 數(shù)據(jù);60 ns;集成 2x PN 接口 |
一、數(shù)據(jù)類型轉(zhuǎn)換
(一)字節(jié)與整數(shù)
1、字節(jié)到整數(shù)
BTI,字節(jié)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將字節(jié)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。字節(jié)型是無符號的,所以沒有符號擴展。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式:BTIIN,OUT
例:BTIVB0,AC0
2、整數(shù)到字節(jié)
ITB,整數(shù)轉(zhuǎn)換字節(jié)指令。使能輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成字節(jié)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出字節(jié)范圍(0~255)則產(chǎn)生溢出。
移位指令影響的特殊存儲器位:SM1.1(溢出)。
使能流輸出ENO斷開的出錯條件:SM1.1(溢出);SM4.3(運行時間);0006(間接尋址)。
指令格式:ITBIN,OUT
例:ITBAC0,VB10
(二)整數(shù)與雙整數(shù)
1、雙整數(shù)到整數(shù)
DTI,雙整數(shù)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將雙整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。輸入數(shù)據(jù)超出整數(shù)范圍則產(chǎn)生溢出。
移位指令影響的特殊存儲器位:SM1.1(溢出)。
使能流輸出ENO斷開的出錯條件:SM1.1(溢出);SM4.3(運行時間);0006(間接尋址)。
指令格式:DTIIN,OUT
例:DTIAC0,VW20
2、整數(shù)到雙整數(shù)
ITD,整數(shù)轉(zhuǎn)換為雙整數(shù)指令。使能輸入有效時,將整數(shù)輸入數(shù)據(jù)IN轉(zhuǎn)換成雙整數(shù)類型(符號進(jìn)行擴展),并將結(jié)果送到OUT輸出。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式:ITDIN,OUT
CPU 1512C-1 PN, 250 KB程序,1 MB數(shù)據(jù);48 ns;集成2x PN接口;集成 32 DI/32 DO, 5 AI/2 AO, 6 HSC@100kHz |
CPU 1511-1 PN,150 KB 程序,1 MB 數(shù)據(jù);60 ns;集成 2x PN 接口 |
一、數(shù)據(jù)類型轉(zhuǎn)換
(一)字節(jié)與整數(shù)
1、字節(jié)到整數(shù)
BTI,字節(jié)轉(zhuǎn)換為整數(shù)指令。使能輸入有效時,將字節(jié)輸入數(shù)據(jù)IN轉(zhuǎn)換成整數(shù)類型,并將結(jié)果送到OUT輸出。字節(jié)型是無符號的,所以沒有符號擴展。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式:BTIIN,OUT
例:BTIVB0,AC0
1511C-1PN和1512C-1 PN CPU適用于程序尺寸和處理速度的中等要求的串聯(lián)和機械制造。
1511C-1PN和1512C-1 PN CPU可用作PROFINET IO控制器或分布式智能(PROFINET I-設(shè)備)。集成PROFINET IO IRT接口支持等時模式,設(shè)計為2端口開關(guān),使線性拓?fù)淠軌蛟谙到y(tǒng)中配置。
CPU上的集成數(shù)字和模擬輸入/輸出允許直接連接到進(jìn)程。CPU 1511C-1PN和CPU 1512C-1PN都有5個模擬輸入,可用于檢測壓力或溫度等模擬處理信號。5個集成模擬輸入中的4個可用于電流或電壓測量,一個輸入可用于電阻測試。直接集成在CPU上的兩個模擬輸出將16位數(shù)字值轉(zhuǎn)換為電流或電壓,并將此值輸出到進(jìn)程。例如,它們適用于控制比例閥。
數(shù)字輸入可用于直接在控制器上檢測來自系統(tǒng)的24V直流信號。集成計數(shù)器可檢測高達(dá)100 kHz的快速信號,無需直接在控制器中添加模塊即可評估計數(shù)器讀數(shù)或電流速度。速度可以輸出為頻率,周期或速度標(biāo)準(zhǔn)化的用戶。
集成數(shù)字輸出操作24V直流電壓,從而將內(nèi)部信號從控制器轉(zhuǎn)發(fā)到系統(tǒng)。
每個高速計數(shù)器可以分配一個數(shù)字輸出。集成比較器根據(jù)計數(shù)器讀取允許快速響應(yīng)。
CPU的運動控制功能可以使用積分計數(shù)器作為位置實際值,模擬輸出作為速度設(shè)定點輸出
配置數(shù)字量輸出通道
①“對CPU STOP 模式的響應(yīng)”:設(shè)置數(shù)字量輸出對CPU 從運行狀態(tài)切換到 STOP 狀態(tài)的響應(yīng),可以設(shè)置為保留zui后的有效值或者使用替代值;
②“通道地址”:輸出通道的地址,首地址在“I/O地址”項中設(shè)置;
③“從RUN 模式切換到 STOP 模式時,替代值1”:如果在數(shù)字量輸出設(shè)置中,選擇“使用替代值”,則此處可以勾選,表示從運行切換到停止?fàn)顟B(tài)后,輸出使用“替代值1”,如果不勾選表示輸出使用“替代值0”。如果選擇了“保持上一個值”則此處為灰色不能勾選。
“I/O 地址”:數(shù)字量地址設(shè)置如圖 5 所示。
圖5 數(shù)字量輸入輸出地址設(shè)置
①“起始地址”:模塊輸入的起始地址;
②“結(jié)束地址”:系統(tǒng)根據(jù)起始地址和模塊的IO數(shù)量自動計算并生成結(jié)束地址;
③“組織塊”:可將過程映像區(qū)關(guān)聯(lián)到一個組織塊,當(dāng)啟用該組織塊時,系統(tǒng)將自動更新所分配的過程映像分區(qū);
④“過程映像”:選擇過程映像分區(qū)。
? "輸出地址":設(shè)置與輸入類似。
注意: 所有輸入輸出的地址都在過程映像區(qū)之內(nèi),如果沒有選擇組織塊和分區(qū),默認(rèn)情況下過程映像區(qū)是自動更新。
"硬件標(biāo)識符":用于尋址硬件對象,常用于診斷,也可以在系統(tǒng)常量中查詢。
“常規(guī)”:單擊模擬量輸入/輸出的“常規(guī)”選項可以輸入項目信息:
“模擬量輸入”:組態(tài)如圖 6 所示。
圖6 模擬量輸入組態(tài)
①“積分時間”:通過設(shè)置積分時間可以抑制頻率的干擾;
②“通道地址”:首地址在模擬量的“I/O地址”中設(shè)置;
③“測量類型”:本體上的模擬量輸入只能測量電壓信號,所以選項為灰,不可設(shè)置;
④“電壓范圍”:測量的電壓信號范圍為固定的0~10V;
⑤“濾波”:模擬值濾波可用于減緩測量值變化,提供穩(wěn)定的模擬信號。模塊通過設(shè)置濾波等級(無、弱、中、強)計算模擬量平均值來實現(xiàn)平滑化。
⑥“啟用溢出診斷”:如果激活“啟用溢出診斷”,則發(fā)生溢出時會生成診斷事件。
"模擬量輸出":組態(tài)如圖 7 所示。
西門子CPU模塊6ES7512-1DK01-0AB0
編寫SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#294 //讀取從站是否存在
INDEX :=W#16#1
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結(jié)果輸出到DB1數(shù)據(jù)塊中
在本例中,P#DB1.DBX0.0 BYTE 500中為每個DP從站(16 x 8 = 128)保留一位,地址為Address 1的DP從站的狀態(tài)保存在第三個字節(jié)的Bit 1位中, 地址為Address 3的DP從站的狀態(tài)保存在第三個字節(jié)的Bit 3位中,依次類推。如果從站對應(yīng)的位未被置位,則表明那個DP從站沒有通信上或不存在。
舉例:從DB1.DBW2開始,每個位對應(yīng)一個bit,例如3號站對應(yīng)的位是DB1.DBX2.3 ,站點存在的位為1,不存在的為0。
注意事項:
關(guān)于系統(tǒng)功能SFC51的更多詳情請參閱STEP 7的在線幫助,或者通過Start > SIMATIC > documentATION選擇手冊“System Software for S7-300/400 System and Standard Functions”
4讀取CPU的序列號
4.1 編程
說明:
通過 SFC 51“RDSYSST”可以從系統(tǒng)狀態(tài)列表(SSL)中讀取下列標(biāo)識數(shù)據(jù):
下面的表格指明了可以從不同型號和固件版本的 CPU 讀取其它哪些標(biāo)識數(shù)據(jù)。為此使用 SFC 51 和 SSL ID W#16#011C。
表3 INDEX說明
索引 | 名稱 | S7-300/C7 | S7-400 |
W#16#0001 | 自動化系統(tǒng)的名稱 | 從固件版本 V2.2 起 | 支持 |
W#16#0002 | CPU 的名稱 | 從固件版本 V2.2 起 | 支持 |
W#16#0003 | CPU 的設(shè)備 ID | 從固件版本 V2.2 起 | 支持 |
W#16#0004 | 版權(quán)條目 | 從固件版本 V2.2 起 | 支持 |
W#16#0005 | CPU 的序列號 | 從固件版本 V2.2 起 | 從 MLFB |
6ES741x-xxx04-0AB0 起 | |||
W#16#0006 | 為操作系統(tǒng)保留 | - | - |
W#16#0007 | CPU 型號名稱 | - | 支持 |
W#16#0008 | MMC 或 MC 的序列號 (參見條目號:19215608) | 從固件版本 V2.0 起 | - |
(CPU317:從 V2.1 開始) |
需要注意,老CPU升級到上表版本也無法實現(xiàn)此功能。
首先需要創(chuàng)建一個數(shù)據(jù)塊,用來存放讀取出來的狀態(tài)結(jié)果
圖7 創(chuàng)建DB1,存放讀取結(jié)果
打開OB1,首先在OB1的臨時變量區(qū)創(chuàng)建一個變量length,類型設(shè)置為Struct(結(jié)構(gòu))
圖8 創(chuàng)建名為length的結(jié)構(gòu)變量
雙擊length變量,進(jìn)入結(jié)構(gòu)變量成員定義,創(chuàng)建兩個word類型的變量,本例中分別為size和number:
圖9 創(chuàng)建length的結(jié)構(gòu)變量的兩個word成員
編寫SFC51程序:
CALL "RDSYSST"
REQ :=TRUE
SZL_ID :=W#16#11C //讀取CPU 的序列號
INDEX :=W#16#5
RET_VAL :=MW0
BUSY :=M2.0
SZL_HEADER:=#length
DR :=P#DB1.DBX0.0 BYTE 500 //結(jié)果輸出到DB1數(shù)據(jù)塊中
結(jié)果如下圖:
圖10 CPU序列號