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