湖南 長沙 西門子 6ES7223-1BF22-0XA0 銷售中心
PID 移植
S7-200 SMART 與 S7-200一樣,支持8路PID控制,支持模擬量輸出及PWM輸出
將 S7-200 帶有PID向?qū)傻某绦蛴?S7-200 SMART打開,提示錯誤,如下圖所示:
圖1. S7-200 PID程序在S7-200 SMART 打開報錯
解決方法:
1,新建 S7-200 SMART項目,并進行正確的設(shè)備組態(tài)
2,將 S7-200程序用STEP 7-Micro/win SMART 軟件打開,將除PID子程序之外的程序段復(fù)制到新項目
3,修改新項目的 I/O 地址及模擬量轉(zhuǎn)換量程與S7-200 SMART 匹配
比較 S7-200 與 S7-200 SMART PID回路表,兩者完全相同,如下表所示:
表1. S7-200 與 S7-200 SMART PID 回路對比表
偏移 | 類型 | S7-200 | S7-200 SMART |
---|---|---|---|
0 | 過程變量(PVn) | 包含過程變量,其值必須標定在 0.0 到 1.0 之間 | |
4 | 設(shè)定值(SPn) | 包含設(shè)定值,其值必須標定在 0.0 到 1.0 之間 | |
8 | 輸出(Mn) | 包含計算出的輸出,其值必須標定在 0.0 到 1.0 之間 | |
12 | 增益(Kc) | 包含增益,為比例常數(shù)。 可以是正數(shù)或負數(shù) | |
16 | 采樣時間 | 包含采樣時間,單位為秒。 必須是正數(shù) | |
20 | 積分時間 | 包含積分時間或復(fù)位,單位為分 | |
24 | 微分時間 | 包含微分時間或速率,單位為分 | |
28 | 偏置 | 包含偏置或積分和值,介于 0.0 到 1.0 之間 | |
32 | 前一過程變量 | 包含上次執(zhí)行 PID 指令時存儲的過程變量值 | |
36 | PID擴展表 | ‘PIDA’(PID 擴展表,版本 A): ASCII 常數(shù) | |
40 | AT 控制 | ||
41 | AT 狀態(tài) | ||
42 | AT 結(jié)果 | ||
43 | AT 配置 | ||
44 | 偏差 | 最大 PV 振蕩幅度的標準化值(范圍: 0.025 到 0.25) | |
48 | 滯后 | 用于確定過零的 PV 滯后標準化值(范圍: 0.005 到 0.1) | |
52 | 初始輸出階躍 | 輸出值中階躍變化的標準化大小,用于使 PV 產(chǎn)生振蕩(范圍:0.05 到 0.4) | |
56 | 看門狗時間 | 兩次過零之間允許的最大秒數(shù)值(范圍:60 到 7200) | |
60 | 建議增益 | 自整定過程確定的建議回路增益 | |
64 | 建議積分時間 | 自整定過程確定的建議積分時間 | |
68 | 建議微分時間 | 自整定過程確定的建議微分時間 | |
72 | 實際階躍大小 | 自整定過程確定的標準化輸出階躍大小值 | |
76 | 實際滯后 | 自整定過程確定的標準化 PV 滯后值 |
如上表所示,兩者PID回路表完全一致,所以,當將S7-200 PID 指令編程進行移植時,需將反饋與輸出的模擬量地址按照 S7-200 SMART 的地址分配進行修改,同時修改模數(shù)轉(zhuǎn)換數(shù)值即可。如下圖所示:
S7-200 支持6路30KHz的高速計數(shù)器(224XP支持200KHz),支持13種模式;S7-200 SMART支持4路200KHz(CR40/60僅支持100KHz)高速計數(shù)器,支持8種模式,詳細對比參看下表:
表1. S7-200 高速計數(shù)功能
模式 | 描述 | 輸入點 | |||
---|---|---|---|---|---|
HSC0 | I0.0 | I0.1 | I0.2 | ||
HSC1 | I0.6 | I0.7 | I1.0 | I1.1 | |
HSC2 | I1.2 | I1.3 | I1.4 | I1.5 | |
HSC3 | I0.1 | ||||
HSC4 | I0.3 | I0.4 | I0.5 | ||
HSC5 | I0.4 | ||||
0 | 帶有內(nèi)部方向控制的單相計數(shù)器 | 時鐘 | |||
1 | 時鐘 | 復(fù)位 | |||
2 | 時鐘 | 復(fù)位 | 啟動 | ||
3 | 帶有外部方向控制的單相計數(shù)器 | 時鐘 | 方向 | ||
4 | 時鐘 | 方向 | 復(fù)位 | ||
5 | 時鐘 | 方向 | 復(fù)位 | 啟動 | |
6 | 帶有增減計數(shù)時鐘的雙相計數(shù)器 | 增時鐘 | 減時鐘 | ||
7 | 增時鐘 | 減時鐘 | 復(fù)位 | ||
8 | 增時鐘 | 減時鐘 | 復(fù)位 | 啟動 | |
9 | A/B相正交計數(shù)器 | 時鐘A | 時鐘B | ||
10 | 時鐘A | 時鐘B | 復(fù)位 | ||
11 | 時鐘A | 時鐘B | 復(fù)位 | 啟動 |
紅色:S7-200 SMART 不支持的功能。
表2. S7-200高速計數(shù)器尋址
高速計數(shù)器號 | HSC0 | HSC1 | HSC2 | HSC3 | HSC4 | HSC5 |
---|---|---|---|---|---|---|
新當前值(僅裝入) | SMD38 | SMD48 | SMD58 | SMD138 | SMD148 | SMD158 |
新預(yù)置值(僅裝入) | SMD42 | SMD52 | SMD62 | SMD142 | SMD152 | SMD162 |
當前計數(shù)值(僅讀取) | HC0 | HC1 | HC2 | HSC3 | HSC4 | HSC5 |
表3. S7-200 SMART 高速計數(shù)功能
模式 | 描述 | 輸入點 | ||
---|---|---|---|---|
HSC0 | I0.0 | I0.1 | I0.4 | |
HSC1 | I0.1 | |||
HSC2 | I0.2 | I0.3 | I0.5 | |
HSC3 | I0.3 | |||
0 | 帶有內(nèi)部方向控制的單相計數(shù)器 | 時鐘 | ||
1 | 時鐘 | 復(fù)位 | ||
3 | 帶有外部方向控制的單相計數(shù)器 | 時鐘 | 方向 | |
4 | 時鐘 | 方向 | 復(fù)位 | |
6 | 帶有增減計數(shù)時鐘的雙相計數(shù)器 | 增時鐘 | 減時鐘 | |
7 | 增時鐘 | 減時鐘 | 復(fù)位 | |
9 | A/B相正交計數(shù)器 | 時鐘A | 時鐘B | |
10 | 時鐘A | 時鐘B | 復(fù)位 |
表4. S7-200 SMART 高速計數(shù)器尋址
高速計數(shù)器號 | HSC0 | HSC1 | HSC2 | HSC3 |
---|---|---|---|---|
新當前值(僅裝入) | SMD38 | SMD48 | SMD58 | SMD138 |
新預(yù)置值(僅裝入) | SMD42 | SMD52 | SMD62 | SMD142 |
當前計數(shù)值(僅讀取) | HC0 | HC1 | HC2 | HSC3 |
注意:
1,S7-200 SMART 不支持模式2、模式5、模式8、模式11、模式12(在運動控制向?qū)r勾選);
2,S7-200 SMART 做高速計數(shù)需要硬件濾波,如下圖所示:
圖1. S7-200 SMART 濾波時間與頻率關(guān)系
注:CR40/60 兩款CPU最高支持 100kHz 頻率
以S7-200 224XP舉例,使用高速計數(shù)HSC0,模式9,分別利用指令與向?qū)Х謩e編程,然后移植到S7-200 SMART
首先,將S7-200 高速計數(shù)向?qū)cS7-200 SMART高速計數(shù)向?qū)M向?qū)Ρ?,如下圖所示:
圖2. 高速計數(shù)器及模式選擇
圖3. HSC 初始化選項
圖4.配置中斷及步驟
圖5. HSC 第 1 步
圖6. 完成向?qū)?/p>
如上圖所示:S7-200 高速計數(shù)向?qū)ЫM態(tài)與S7-200 SMART高速計數(shù)向?qū)ЫM態(tài)一致。
具有相同功能由向?qū)傻?S7-200 項目可直接用S7-200 SMART 打開,按照以下步驟移植:
步驟1:用STEP 7 Micro/Win SMART 打開S7-200 的原程序
步驟2:按照《表3. S7-200 SMART 高速計數(shù)功能》,進行高速計數(shù)通道的接線
步驟3:按照《圖1. S7-200 SMART 濾波時間與頻率關(guān)系》,進行高速計數(shù)通道濾波時間的設(shè)置
步驟4:編譯下載,下載即可。如下圖示:
圖7. 程序?qū)Ρ?/p>
首先,將 S7-200 高速計數(shù)的特殊存儲器 ( SM ) 與 S7-200 SMART 高速計數(shù)的特殊存儲器 ( SM ) 橫向?qū)Ρ?,?HSC0 如下表所示:
表5. S7-200 與 S7-200 SMART 特殊存儲器(SM)對比
S7-200 | S7-200 SMART | |
---|---|---|
HSC0 計數(shù)器狀態(tài)字 | ||
SM36.0~SM36.4 | 保留 | |
SM36.5 | HSC0 當前計數(shù)方向狀態(tài)位:1=增計數(shù) | |
SM36.6 | HSC0 當前值等于預(yù)設(shè)值狀態(tài)位:1=相等 | |
SM36.7 | HSC0 當前值大于預(yù)置值狀態(tài)位:1=大于 | |
HSC0 計數(shù)器控制字 | ||
SM37.0 | 復(fù)位的有效電平控制位: 0=高電平有效 1=低電平有效 | |
SM37.1 | 保留 | |
SM37.2 | HSC0 AB正交計數(shù)器的計數(shù)速率選擇: 0=4x 1=1x | |
SM37.3 | HSC0 方向控制位:1=加計數(shù) | |
SM37.4 | HSC0 更新方向:1=更新方向 | |
SM37.5 | HSC0 更新預(yù)設(shè)值:1=將新的預(yù)設(shè)值寫入HSC0 預(yù)設(shè)值 | |
SM37.6 | HSC0 更新當前值:1=將新的預(yù)設(shè)值寫入HSC0 當前值 | |
SM37.7 | HSC0 使能位:1=使能 | |
SMD38 | HSC0 當前值 | |
SMD42 | HSC0 預(yù)設(shè)值 |
由上表可見,S7-200 與 S7-200 SMART 特殊存儲器(SM)完全一致。
將 S7-200與 S7-200 SMART 高速計數(shù)中斷事件功能橫向?qū)Ρ?,如下表所示?/p>
表6. S7-200 與 S7-200 SMART 中斷事件功能對比
S7-200 | S7-200 SMART | ||
---|---|---|---|
中斷號 | 中斷事件 | 中斷號 | 中斷事件 |
12 | HSC0 CV=PV | 12 | HSC0 CV=PV |
13 | HSC1 CV=PV | 13 | HSC1 CV=PV |
14 | HSC1 輸入方向改變 | 14 | - |
15 | HSC1 外部復(fù)位 | 15 | - |
16 | HSC2 CV=PV | 16 | HSC2 CV=PV |
17 | HSC2 輸入方向改變 | 17 | HSC2 輸入方向改變 |
18 | HSC2 外部復(fù)位 | 18 | HSC2 外部復(fù)位 |
27 | HSC0 輸入方向改變 | 27 | HSC0 輸入方向改變 |
28 | HSC0 外部復(fù)位 | 28 | HSC0 外部復(fù)位 |
29 | HSC4 CV=PV | 29 | - |
30 | HSC4 輸入方向改變 | 30 | - |
31 | HSC4 外部復(fù)位 | 31 | - |
32 | HSC3 CV=PV | 32 | HSC3 CV=PV |
33 | HSC5 CV=PV | 33 | - |
由上表可見,S7-200 SMART 與 S7-200 相比,S7-200 SMART 高速計數(shù)功能所支持的中斷與 S7-200 相同。
具有相同功能由指令生成的 S7-200 項目可直接用S7-200 SMART 打開,按照以下步驟移植:
步驟1:用STEP 7 Micro/Win SMART 打開S7-200 的原程序
步驟2:按照《表3. S7-200 SMART 高速計數(shù)功能》,進行高速計數(shù)通道的接線
步驟3:按照《圖1. S7-200 SMART 濾波時間與頻率關(guān)系》,進行高速計數(shù)通道濾波時間的設(shè)置
步驟4:編譯下載,下載即可。如下圖示:
圖8. 程序?qū)Ρ?/p>
圖9. 功能測試
S7-200 所支持的HSC4、HSC5,及模式2、模式5、模式8、模式11、模式12(在運動控制向?qū)r勾選)能否移植到S7-200 SMART?
答:不能,無論是向?qū)?,還是指令生成,都不能移植到S7-200 SMART。
S7-200 與 S7-200 SMART相同功能,移植成功后,高速檢測不到脈沖?
答:S7-200 SMART必須修改硬件地址的濾波時間。
S7-200 與 S7-200 SMART 使用PLS指令控制脈沖串輸出(PTO)的SM 定義不同,不能將 S7-200 CPU 編寫的 PLS指令程序直接用于S7-200 SMART。
如表1所示,使用 STEP 7-Micro/Win SMART 打開S7-200 CPU 的 PLS 指令程序需修改控制字節(jié)(SM67.6)和更改周期為頻率(SMW68)。
表1. S7-200 與 S7-200 SMART 的SM 對比
Q0.0 | S7-200 | S7-200 SMART |
SM67.0 | PTO更新周期 | PTO更新頻率 |
SM67.1 | 未使用 | 未使用 |
SM67.2 | PTO更新脈沖計數(shù)值 | PTO更新脈沖計數(shù)值 |
SM67.3 | PTO時間基準:0=1μs,1=1ms | 未使用 |
SM67.4 | 未使用 | 未使用 |
SM67.5 | PTO操作:0=單段,1=多段 | PTO操作:0=單段,1=多段 |
SM67.6 | PTO/PWM模式選擇:0=PTO,1=PWM | PTO/PWM模式選擇:0=PWM,1=PTO |
SM67.7 | PTO啟用:0=禁止,1=啟用 | PTO啟用:0=禁止,1=啟用 |
SMW68 | PTO周期 | PTO頻率 |
使用 STEP 7-Micro/Win SMART 打開S7-200 CPU 的 PLS 指令程序需修改控制字節(jié)(SM67.6)和更改周期為頻率(SMW68)。
例如:在 S7-200 程序里,編寫 500ms/周期(SMB67=16#8D,SMW68=500ms),裝載周期和脈沖的PTO 輸出程序,移植至S7-200 SMART需要修改SMB67=16#C5,SMW68=2Hz。
圖1. PLS指令單段PTO移植
在單段管道化期間,頻率的上限為65,535Hz,如果需要更高的頻率(最高為100,000Hz),則必須使用多段管道化。
相對于 S7-200 多段 PTO 計算周期增量的方式,S7-200 SMART 多段 PTO 設(shè)置更簡單,只需要定義起始、結(jié)束頻率和脈沖計數(shù)即可,如圖2所示。因此移植時需要重新編寫PTO多段管道化程序。
圖2. 多段PTO操作的包絡(luò)表格式對比
對于依照周期時間(而非頻率)的S7-200項目移植至S7-200smart時,可以使用以下公式來進行頻率轉(zhuǎn)換:
CTFinal = CTInitial + (ΔCT * PC)
FInitial = 1 / CTInitial
FFinal = 1 / CTFinal
CTInitial | 段啟動周期時間 (s) |
ΔCT | 段增量周期時間 (s) |
PC | 段內(nèi)脈沖數(shù)量 |
CTFinal | 段結(jié)束周期時間 (s) |
FFInitial | 段起始頻率 (Hz) |
FFinal | 段結(jié)束頻率 (Hz) |
如圖3所示,PLS指令多段PTO移植時無論 S7-200 中定義的SMB67為16#A0(1μs/周期)還是16#A8(1ms/周期),S7-200 SMART中都需要改為16#E0。起始、結(jié)束頻率根據(jù)公式計算,脈沖數(shù)不需要改變。
圖3. PLS指令多段PTO移植
計算包絡(luò)段的加速度(或減速度)和持續(xù)時間有助于確定正確的包絡(luò)表值,可按如下公式計算 Ts 段持續(xù)時間:
ΔF = FFinal - FInitial
Ts = PC / (Fmin + (|ΔF| / 2 ) )
As = ΔF / Ts
Ts | 段持續(xù)時間 (s) |
As | 段頻率加速度 (Hz/s) |
PC | 段內(nèi)脈沖數(shù)量 |
Fmin | 段最小頻率 (Hz) |
ΔF | 段增量(總變化)頻率 (Hz) |
注意:如果 Ts 段持續(xù)時間少于 500 微秒,將導(dǎo)致 CPU 沒有足夠的時間來計算 PTO 段值。 PTO 管道下溢位(SM66.6、SM76.6 和 SM566.6)將置為 1,PTO 操作終止。
S7-200 SMART CPU 沒有類似 S7-200 CPU 的高速計數(shù)器模式 12 功能。
S7-200 SMART CPU 硬件脈沖輸出接到輸入,配置高速計數(shù)器向?qū)Р⒄{(diào)用 HSC 子程序可監(jiān)視 PTO 脈沖數(shù)量 。如下圖4所示:
圖4. S7-200 SMART PTO 脈沖數(shù)測量
湖南 長沙 西門子 6ES7223-1BF22-0XA0