6GK7342-5DA02-0XE0
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
722 功能手冊(cè), 03/2008, A5E01078448-06
ErrorID 錯(cuò)誤消息 說(shuō)明/糾正或避免錯(cuò)誤的方法
8052 在不同運(yùn)行級(jí)別進(jìn)行塊調(diào)用 使用同一背景數(shù)據(jù)塊,在不同運(yùn)行級(jí)別調(diào)用了此工藝功
能。
示例:
在 OB 1 和 OB 35 中都使用背景數(shù)據(jù)塊 DBx 調(diào)用工藝功能
x。開始工藝功能在 OB 1 中執(zhí)行,然后由于在 OB 35 中調(diào)
用它而中斷其在 OB 1 中的執(zhí)行。由于背景數(shù)據(jù)塊是共享
使用的,因此將在這兩個(gè)調(diào)用的輸出參數(shù) ErrorID 中都指
示該錯(cuò)誤。
預(yù)期的錯(cuò)誤響應(yīng):
? 新命令(輸入?yún)?shù) Execute / Enable 的上升沿或下降
沿)未傳送到集成工藝。
? zui初啟動(dòng)的命令不能在工藝功能的輸出參數(shù)中進(jìn)行監(jiān)
視。但是,該命令在集成工藝中可能仍處于活動(dòng)狀態(tài)
注意:
在不同的運(yùn)行級(jí)別使用不同的背景數(shù)據(jù)塊,或者互鎖工藝
功能的調(diào)用。
8053 背景數(shù)據(jù)塊無(wú)效 工藝功能的背景數(shù)據(jù)塊存在故障(例如,長(zhǎng)度錯(cuò)誤)。
8080 參數(shù)編號(hào)或參數(shù)索引無(wú)效 工藝對(duì)象不支持此參數(shù)或參數(shù)索引。
8083 DB 不是工藝 DB 通過(guò)輸入?yún)?shù) Axis 的 DB 未找到或不是工藝 DB。
8084 工藝 DB 無(wú)效 ? 在通過(guò)輸入?yún)?shù) Axis 定義的工藝 DB 的控制器中不存在
工藝對(duì)象。
將當(dāng)前工藝下載到目標(biāo)系統(tǒng),或通過(guò)輸入?yún)?shù) Axis 更
改 DB 號(hào)。
? 用戶在輸入?yún)?shù) Axis 中定義的工藝 DB 中輸入了無(wú)效數(shù)
據(jù)。
在“工藝對(duì)象管理”(Technology Objects Management)
中刪除工藝 DB,然后創(chuàng)建一個(gè)新的工藝 DB。
8086 參數(shù)不可用 可能的原因:
? 在具有值編碼器的系統(tǒng)中訪問(wèn)增量編碼器參數(shù)
? 訪問(wèn)以下類型編碼器的參數(shù):“編碼器周期性”
? 索引中定義的數(shù)據(jù)記錄未處于活動(dòng)狀態(tài)。 必須通過(guò)調(diào)用
“MC_ChangeDataset”來(lái)更改數(shù)據(jù)記錄。
? 當(dāng)前,工藝對(duì)象正在執(zhí)行重啟。 因此,無(wú)法讀取參數(shù)。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
功能手冊(cè), 03/2008, A5E01078448-06 723
6.7.5 FB407 MC_WriteParameter — 更改參數(shù)
使用 FB 407“MC_WriteParameter”更改參數(shù)
用途
● 當(dāng) T-CPU 處于 RUN 模式時(shí),可以使用“MC_WriteParameter”工藝功能編輯 TO zui重
要的系統(tǒng)變量和組態(tài)數(shù)據(jù)。 通過(guò)設(shè)置參數(shù)編號(hào)對(duì)系統(tǒng)變量和組態(tài)數(shù)據(jù)進(jìn)行尋址。在再
次斷電/通電或 CPU 執(zhí)行存儲(chǔ)器復(fù)位前,更改將一直有效。 例外情況: 在任何情況
下,值編碼器調(diào)整期間設(shè)置的值都將保留。
● 在輸入?yún)?shù) Value 、ValueDInt 、ValueDword1 、ValueDword2 和 ValueBool 中,系
統(tǒng)將僅評(píng)估與相關(guān)工藝參數(shù)相符的參數(shù)(有關(guān)詳細(xì)信息,請(qǐng)參考工藝參數(shù)列表)。
● 工藝功能僅可以修改由訪問(wèn)模式“W”(“寫入”)標(biāo)識(shí)的工藝參數(shù)列表中的參數(shù)。
● 可以使用輸入?yún)?shù) Index 訪問(wèn)參數(shù)的多個(gè)實(shí)例,以下區(qū)域存在多個(gè)參數(shù):
– 數(shù)據(jù)集(Dataset_1 到 Dataset_16)
– 編碼器(Encoder_1 到 Encoder_8)
– 同步對(duì)象(1 代表同步對(duì)象,2 代表疊加的同步對(duì)象)
小心
此工藝功能的使用專門針對(duì)有經(jīng)驗(yàn)用戶。 錯(cuò)誤的輸入可能導(dǎo)致不受控制的驅(qū)動(dòng)器
響應(yīng)!
系統(tǒng)不對(duì)您的輸入進(jìn)行似然性檢查!
錯(cuò)誤的輸入可能會(huì)導(dǎo)致工藝對(duì)象不*。
適用對(duì)象
● 在 S7T Config 中組態(tài)的工藝對(duì)象的參數(shù)。
請(qǐng)注意,某些參數(shù)更改要求重啟系統(tǒng)(有關(guān)信息,請(qǐng)參考工藝參數(shù)列表的“激活”
列。)
先決條件
● 由參數(shù)編號(hào)和索引定義的參數(shù)必須在系統(tǒng)中可用并且允許寫訪問(wèn)。 必須使用工藝功能
“MC_ChangeDataset”在 T-CPU 中啟用由索引定義的數(shù)據(jù)記錄。
● 在寫入編碼器參數(shù)(例如,編碼器調(diào)整)之前驗(yàn)證編碼器值。 可以查詢當(dāng)前激活
的編碼器的編碼器值,并通過(guò)軸或外部編碼器的工藝 DB 中的
Statusword.EncoderValid 變量檢查其有效性。 如果為軸分配了多個(gè)數(shù)據(jù)記錄,則可
以通過(guò)使用參數(shù)編號(hào) 4050 調(diào)用“MC_ReadSysParameter”工藝功能來(lái)請(qǐng)求其它編碼器
的狀態(tài)。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
724 功能手冊(cè), 03/2008, A5E01078448-06
超馳命令
MC_WriteParameter 命令不能由任何其它命令取消。
MC_WriteParameter 命令不取消任何其它命令。
輸入?yún)?shù)
參數(shù) 數(shù)據(jù)類型 初始值 說(shuō)明
Axis INT 0 工藝 DB 的編號(hào)
Execute BOOL FALSE 在 Execute 的上升沿處寫入?yún)?shù)
ParameterNumber INT 0 工藝參數(shù)的編號(hào)
Index INT 1 例如,參數(shù)字段編號(hào),2 代表 dataset_2
(如果僅存在一個(gè)數(shù)據(jù)集編號(hào),將忽略該值)。
Value REAL 0.0 如果類型為 REAL,則為參數(shù)的新值(否則忽略該
值)。
ValueDInt DINT 0 類型為 DINT 參數(shù)的新值(否則忽略該值)。
ValueDword1 DWORD 0 類型為 DWORD 且長(zhǎng)度為 1 DWORD 時(shí)定義參數(shù)的新
值(否則忽略該值)。
ValueDword2 DWORD 0 類型為 DWORD 且長(zhǎng)度為 2 DWORD 時(shí)定義參數(shù)的新
值(否則忽略該值)。
ValueBool BOOL 0 類型為 BOOL 參數(shù)的新值(否則忽略該值)。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
功能手冊(cè), 03/2008, A5E01078448-06 725
輸出參數(shù)(狀態(tài)輸出)
參數(shù) 數(shù)據(jù)類型 初始值 說(shuō)明
Done BOOL FALSE TRUE :工藝參數(shù)已成功更改
Busy BOOL FALSE TRUE:正在執(zhí)行命令
TRUE : 命令啟動(dòng)時(shí)有錯(cuò)誤。未執(zhí)行該命令。有關(guān)原
因的信息,請(qǐng)參考 ErrorID。
Error BOOL FALSE
FALSE : 命令啟動(dòng)時(shí)沒(méi)有錯(cuò)誤。
ErrorID WORD 0 輸出參數(shù) Error 的 ErrorID。
注意
觀察參數(shù)的有效范圍限制。 工藝參數(shù)列表中列出了有效范圍限制。
編輯數(shù)據(jù)記錄參數(shù)時(shí),請(qǐng)注意,數(shù)據(jù)記錄中的某些參數(shù)必須相等:
? 更改結(jié)構(gòu)的參數(shù)(例如,不同的控制器類型,如 PV 或 PID 控制器)
? 重要的激活參數(shù)(例如,跟蹤監(jiān)視開/關(guān)、DSC 開/關(guān))
如果通過(guò)工藝功能“MC_WriteParameter”在運(yùn)行期間為數(shù)據(jù)記錄參數(shù)分配了無(wú)效的值,
則系統(tǒng)將報(bào)告組態(tài)錯(cuò)誤。 因此,您應(yīng)該僅編輯在 S7T Config 中對(duì)其進(jìn)行組態(tài)時(shí)可以編
譯為*項(xiàng)目的數(shù)據(jù)記錄參數(shù)。
說(shuō)明
要更改不需要重啟或更改后立即生效的幾個(gè)參數(shù),您應(yīng)該搜集所有參數(shù)更改,然后將其激
活。
要執(zhí)行此操作,請(qǐng)按以下步驟進(jìn)行操作:
1. 使用 "MC_WriteParameter”將工藝參數(shù) ParameterNumber = 4001
(activationmodechangedconfigdata ) 設(shè)置為 COLLECT_CHANGED_CONFIG_DATA
(82). 。
這就形成了對(duì)相關(guān)工藝對(duì)象的所有后續(xù)更改的集合。
2. 使用“MC_WriteParameter”更改相關(guān)工藝參數(shù)。
3. 使用“MC_WriteParameter”將 activationmodechangedconfigdata 設(shè)置為
ACTIVATE_CHANGED_CONFIG_DATA (81) 以應(yīng)用所有更改。
當(dāng)編輯需要所有數(shù)據(jù)記錄中的值均相同的工藝參數(shù)時(shí),將調(diào)用此步驟。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
726 功能手冊(cè), 03/2008, A5E01078448-06
MC_WriteParameter — 示例 —“倍率”
使用“倍率”更改參數(shù)的示例
因子可以根據(jù)當(dāng)前運(yùn)行速度或加速度/減速度進(jìn)行在線疊加。 速度倍率適用于速度,而加
速倍率適用于加速度和減速度。
設(shè)置以下輸入?yún)?shù)值,以設(shè)置速度倍率:
ParameterNumber = 4142
Value = 0.0 到 200.0(為百分比值)
為加速/減速倍率設(shè)置以下輸入?yún)?shù)值:
ParameterNumber = 4141
Value = 1.0 到 1000.0(為百分比值)
MC_WriteParameter — 示例 —“驅(qū)動(dòng)器控制字”
通過(guò) PROFIBUS 耦合的驅(qū)動(dòng)器使用標(biāo)準(zhǔn)消息幀進(jìn)行通信。 這些消息幀包含zui多兩個(gè)驅(qū)動(dòng)
器控制字。 以下字的內(nèi)容在 PROFIdrive 標(biāo)準(zhǔn)中。
控制字 STW1 的結(jié)構(gòu) 控制字 STW2 的結(jié)構(gòu)
位 為工藝對(duì)象保留 PROFIdrive V3.1 定義 位 為工藝對(duì)象保留 PROFIdrive V3.1 定義
0 X 驅(qū)動(dòng)器開(不是 AUS1) 0 任意
1 X 操作條件(不是 AUS2) 1 任意
2 X 操作條件(不是 AUS3) 2 任意
3 X 整流器啟用 3 任意
4 X 斜坡加速生成器已啟用 4 任意
5 X 啟動(dòng)斜坡函數(shù)生成器 5 任意
6 X 設(shè)定值啟用 6 任意
7 X 復(fù)位數(shù)據(jù)塊 DBx 的存儲(chǔ)器 7 任意
8 步長(zhǎng)距離 1(可選) 8 任意
9 步長(zhǎng)距離 2(可選) 9 任意
10 X 所需的控制 10 任意
11 任意 11 任意
12 任意 12 X 主站設(shè)備狀態(tài)
13 任意 13 X 主站設(shè)備狀態(tài)
14 任意 14 X 主站設(shè)備狀態(tài)
15 任意 15 X 主站設(shè)備狀態(tài)
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
功能手冊(cè), 03/2008, A5E01078448-06 727
可以通過(guò)“MC_WriteParameter”設(shè)置參數(shù)編號(hào) 4500 寫入驅(qū)動(dòng)器控制字,或者通過(guò)調(diào)用
“MC_ReadSysParameter”讀取驅(qū)動(dòng)器控制字。 兩種控制字均可以通過(guò)輸出參數(shù)
ValueDword1 (未經(jīng)掩碼)讀取。
使用相應(yīng)的值和掩碼寫入控制字。 掩碼確定通過(guò)寫操作可以訪問(wèn)控制字的哪些位。 此掩
碼可用于操縱單個(gè)或多個(gè)位。 未經(jīng)掩碼的位(值 0)保留其當(dāng)前狀態(tài)。 選擇掩碼的標(biāo)準(zhǔn)
是為此工藝對(duì)象保留的位保持不變。
通過(guò)輸入?yún)?shù) ValueDword1 定義控制字 STW1 和 STW2 的值。 控制字 STW1 和
STW2 對(duì)應(yīng)的掩碼值通過(guò)輸入?yún)?shù) ValueDword2 設(shè)置。
ValueDword1 的示例
DW#16# 0001 0300
STW2 STW1
ValueDword2 的示例
DW#16# 0FFF FB00
STW2
掩碼
STW1 掩碼
如果要改寫控制字的所有自由位,請(qǐng)為控制字 STW1 設(shè)置掩碼值 FB00 。 十六進(jìn)制代碼
的含義:
F = 1111/寫入位 12 到 15
B = 1011/寫入位 8、9 和 11;保護(hù)位 10
0 = 0000/保護(hù)位 4 到 7
0 = 0000/保護(hù)位 0 到 3
如果要改寫控制字的所有自由位,請(qǐng)為控制字 STW1 設(shè)置掩碼值 0FFF 。 十六進(jìn)制代碼
的含義:
0 = 0000/保護(hù)位 12 到 15
F = 1111/寫入位 8 到 11
F = 1111/寫入位 4 到 7
F = 1111/寫入位 0 到 3
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
728 功能手冊(cè), 03/2008, A5E01078448-06
MC_WriteParameter — 示例 —“編碼器調(diào)整數(shù)據(jù)的備份”
基于示例“編碼器調(diào)整數(shù)據(jù)的備份”編輯參數(shù)
編碼器調(diào)整的數(shù)據(jù)被保存在 T-CPU 的非易失性存儲(chǔ)器中。 因此,更換 CPU 時(shí)這些
數(shù)據(jù)將丟失。
“MC_ReadSysParameter”和“MC_WriteParameter”工藝功能可用于將編碼器調(diào)整的
數(shù)據(jù)備份到 MMC 卡,以便在更換 CPU 后再將其恢復(fù)到 T-CPU 的非易失性存儲(chǔ)器中。
先決條件是,您已在 S7T Config 中設(shè)置了“編碼器”類型。
使用“MC_Home”工藝功能完成編碼器調(diào)整后,請(qǐng)根據(jù)下述內(nèi)容繼續(xù)操作:
備份編碼器調(diào)整數(shù)據(jù)
步驟 說(shuō)明
1. 通過(guò)調(diào)用“MC_ReadSysParameter”工藝功能以及讀取下述輸入?yún)?shù)來(lái)讀取編碼器調(diào)整的當(dāng)
前值,例如:
? Axis = 相關(guān)軸的工藝 DB
? Execute = 用于啟動(dòng)讀取操作的上升沿
? ParameterNumber = 4010 編碼器調(diào)整的參數(shù)編號(hào)
? ValueDword1= DBx.DBD0 (臨時(shí)存儲(chǔ)位置)
? ValueDword2 = DBx.DBD4 (臨時(shí)存儲(chǔ)位置)
2. 調(diào)用 SFC82“CREA_DBL”以在 T-CPU 的加載存儲(chǔ)器中生成 DBy。 通過(guò)輸入?yún)?shù) ATTRIB 重設(shè)
為 0 時(shí),也會(huì)在工作存儲(chǔ)器中生成 DB。
3. 調(diào)用 SFC84“WRIT_DBL”以將先前備份的編碼器調(diào)整的數(shù)據(jù)寫入新 DB。
更換 CPU 并恢復(fù)編碼器調(diào)整數(shù)據(jù)
步驟 說(shuō)明
1. 更換 T-CPU,然后插入包含組態(tài)數(shù)據(jù)的 MMC。
請(qǐng)注意,啟動(dòng) T-CPU 后,可以在 RAM 中獲得編碼器調(diào)整的備份 DB。
2. 調(diào)用“MC_WriteParameter”工藝功能以將編碼器調(diào)整的數(shù)據(jù)重新存儲(chǔ)到 T-CPU 的非易失性存
儲(chǔ)器中。 使用以下輸入?yún)?shù):
? Axis = 相關(guān)軸的工藝 DB
? Execute =用于啟動(dòng)寫入操作的上升沿
? ParameterNumber= 4010 = 編碼器調(diào)整的參數(shù)編號(hào)
? ValueDword1 = DBx.DBD0(x = 由 SFC82 生成的 DB 編號(hào))
? ValueDword2 = DBx.DBD4(x = 由 SFC82 生成的 DB 編號(hào))
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
功能手冊(cè), 03/2008, A5E01078448-06 729
MC_WriteParameter — ErrorID
ErrorID 警告 說(shuō)明/糾正或避免錯(cuò)誤的方法
0000 沒(méi)有錯(cuò)誤 -
0020 重啟以激活參數(shù)更改 更改了一個(gè)參數(shù)后,通常需要重啟工藝對(duì)象。 如果新的參
數(shù)值與舊參數(shù)值*(例如,參數(shù)值“5”被修改為“5”),則
無(wú)需重啟。
是否需要重啟的信息包含在工藝數(shù)據(jù)塊中。
? 對(duì)于軸和外部編碼器,RequestRestart 位是在狀態(tài)字中
設(shè)置的。
? 技術(shù)數(shù)據(jù)塊的 ErrorID 0020 指示輸出凸輪和測(cè)量輸入是
否需要重啟。
ErrorID 錯(cuò)誤消息 說(shuō)明/糾正或避免錯(cuò)誤的方法
8001 內(nèi)部錯(cuò)誤 項(xiàng)目/軟件發(fā)生故障或不*。
8005 命令已取消,因?yàn)槊畲鎯?chǔ)器正被
其它進(jìn)程使用
命令容量不足,無(wú)法執(zhí)行該命令。
可能的原因:
? 活動(dòng)命令的數(shù)量已超出限制。
? 以下工藝功能中的活動(dòng)命令過(guò)多:
"MC_CamSectorAdd"
"MC_ReadPeriphery"
"MC_WritePeriphery"
"MC_ReadRecord"
"MC_WriteRecord"
"MC_ReadDriveParameter"
"MC_WriteDriveParameter"
"MC_ReadCamTrackData"
"MC_WriteCamTrackData"
在同一周期內(nèi)調(diào)用這些工藝功能,直到輸出參數(shù) Done、
CommandAborted 或 Error 中有一個(gè)變?yōu)?TRUE。 驗(yàn)證程
序是否包含不必要的(多余的)命令。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
730 功能手冊(cè), 03/2008, A5E01078448-06
ErrorID 錯(cuò)誤消息 說(shuō)明/糾正或避免錯(cuò)誤的方法
8043 參數(shù)值非法 涉及數(shù)據(jù)類型為 REAL 的所有輸入?yún)?shù),或者輸入?yún)?shù)
Value、ValueDInt, ValueDword1 或 ValueDword2.
如果與其它參數(shù)存在任何交互作用,也可能會(huì)出現(xiàn)該錯(cuò)
誤。
示例:
? 參數(shù) 1100
如果減少絲杠螺距(參數(shù) 1100),則軸無(wú)法再達(dá)到zui
大速度。
也要調(diào)整zui大速度(參數(shù) 8)。
? 參數(shù) 2020 和 2021
如果更改傳動(dòng)系數(shù)(參數(shù) 2020 或 2021),則軸可能無(wú)
法再達(dá)到zui大速度。
也要調(diào)整zui大速度(參數(shù) 8)。
? 參數(shù) 8
如果zui大速度(參數(shù) 8)小于用于動(dòng)態(tài)跟隨誤差監(jiān)視的
zui小速度,則增加用于動(dòng)態(tài)跟隨誤差監(jiān)視的zui小速度
(參數(shù) 2072)。
? 選定 ENUM 的值無(wú)效
8044 命令不受工藝對(duì)象支持 例如,將命令發(fā)送到 MCDevice DB
804C 命令輸出率過(guò)高 具有相同背景數(shù)據(jù)塊的命令的輸出率超過(guò)了命令接口的容
量。 第二個(gè)命令被拒絕,以保持*個(gè)命令的*性。
如果命令輸出率較高,請(qǐng)務(wù)必使用單獨(dú)的背景數(shù)據(jù)塊或再
次請(qǐng)求命令。 請(qǐng)注意,盡管接受的*個(gè)命令可能處于活
動(dòng)狀態(tài),但是您可能無(wú)法通過(guò)狀態(tài)輸出對(duì)其進(jìn)行監(jiān)視。
8050 工藝未準(zhǔn)備就緒 ? 在使用斷點(diǎn)進(jìn)行測(cè)試期間(CPU 處于 HOLD 狀態(tài)),
工藝功能向工藝輸出了一條新命令。 該命令被拒絕。
? 在重啟 OB 中輸出了該命令。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
功能手冊(cè), 03/2008, A5E01078448-06 731
ErrorID 錯(cuò)誤消息 說(shuō)明/糾正或避免錯(cuò)誤的方法
8052 在不同運(yùn)行級(jí)別進(jìn)行塊調(diào)用 使用同一背景數(shù)據(jù)塊,在不同運(yùn)行級(jí)別調(diào)用了此工藝功
能。
示例:
在 OB 1 和 OB 35 中都使用背景數(shù)據(jù)塊 DBx 調(diào)用工藝功能
x。開始工藝功能在 OB 1 中執(zhí)行,然后由于在 OB 35 中調(diào)
用它而中斷其在 OB 1 中的執(zhí)行。由于背景數(shù)據(jù)塊是共享
使用的,因此將在這兩個(gè)調(diào)用的輸出參數(shù) ErrorID 中都指
示該錯(cuò)誤。
預(yù)期的錯(cuò)誤響應(yīng):
? 新命令(輸入?yún)?shù) Execute / Enable 的上升沿或下降
沿)未傳送到集成工藝。
? zui初啟動(dòng)的命令不能在工藝功能的輸出參數(shù)中進(jìn)行監(jiān)
視。但是,該命令在集成工藝中可能仍處于活動(dòng)狀態(tài)
注意:
在不同的運(yùn)行級(jí)別使用不同的背景數(shù)據(jù)塊,或者互鎖工藝
功能的調(diào)用。
8053 背景數(shù)據(jù)塊無(wú)效 工藝功能的背景數(shù)據(jù)塊存在故障(例如,長(zhǎng)度錯(cuò)誤)。
8080 參數(shù)編號(hào)或參數(shù)索引無(wú)效 工藝對(duì)象不支持此參數(shù)或參數(shù)索引。
8081 無(wú)法更改參數(shù) 所選的參數(shù)是只讀參數(shù)。
請(qǐng)檢查所選參數(shù)的編號(hào)以及工藝對(duì)象的 ID。
8083 DB 不是工藝 DB 通過(guò)輸入?yún)?shù) Axis 的 DB 未找到或不是工藝 DB。
8084 工藝 DB 無(wú)效 ? 在通過(guò)輸入?yún)?shù) Axis 定義的工藝 DB 的控制器中不存在
工藝對(duì)象。
將當(dāng)前工藝下載到目標(biāo)系統(tǒng),或通過(guò)輸入?yún)?shù) Axis 更
改 DB 號(hào)。
? 用戶在輸入?yún)?shù) Axis 中定義的工藝 DB 中輸入了無(wú)效數(shù)
據(jù)。
在“工藝對(duì)象管理”(Technology Objects Management)
中刪除工藝 DB,然后創(chuàng)建一個(gè)新的工藝 DB。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
732 功能手冊(cè), 03/2008, A5E01078448-06
ErrorID 錯(cuò)誤消息 說(shuō)明/糾正或避免錯(cuò)誤的方法
8086 參數(shù)不可用 可能的原因:
? 在具有值編碼器的系統(tǒng)中訪問(wèn)增量編碼器參數(shù)
? 訪問(wèn)以下類型編碼器的參數(shù):“編碼器周期性”
? 索引中定義的數(shù)據(jù)記錄未處于活動(dòng)狀態(tài)。 必須通過(guò)調(diào)用
“MC_ChangeDataset”來(lái)更改數(shù)據(jù)記錄。
? 當(dāng)前,工藝對(duì)象正在執(zhí)行重啟。因此,無(wú)法讀取參數(shù)。
808B 參數(shù)值的 REAL 格式無(wú)效 數(shù)據(jù)類型為 REAL 的輸入?yún)?shù)的值不符合有效的浮點(diǎn)數(shù)格
式。
檢查輸入?yún)?shù)值或背景數(shù)據(jù)塊數(shù)據(jù)。 不能以浮點(diǎn)格式表示
格式無(wú)效的值。 它們以十六進(jìn)制格式 (DW16# ...) 顯示。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
功能手冊(cè), 03/2008, A5E01078448-06 733
6.7.6 FB450 MC_ReadPeriphery — 讀取工藝 I/O
使用 FB 450“MC_ReadPeriphery”讀取工藝 I/O
受固件版本為 V3.1.x 或更高版本的集成工藝的支持
用途
● “MC_ReadPeriphery”工藝功能用于讀取集成工藝的 I/O 映像區(qū)。 示例中顯示了更新
的時(shí)間從屬性。
適用對(duì)象
● 地址區(qū) 0 到 63 中 DP(DRIVE) 上的 DP I/O。
● 位于地址區(qū) 0 到 63 的 T-CPU 的集成 I/O
先決條件
● 尋址的 I/O 必須存在于集成工藝的 I/O 映像區(qū) DP(DRIVE) 中。
超馳命令
無(wú)法使用任何其它命令取消 MC_ReadPeriphery 命令。
MC_ReadPeriphery 命令不會(huì)取消任何其它命令。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
734 功能手冊(cè), 03/2008, A5E01078448-06
輸入?yún)?shù)
參數(shù) 數(shù)據(jù)類型 初始值 說(shuō)明
Enable BOOL FALSE 只要 Enable = TRUE 就會(huì)讀取 I/O 映像區(qū)的一個(gè)區(qū)域。
輸入?yún)?shù) InputOutput、ByteAddress 和 Data 的更改只
能通過(guò) Enable 的上升沿激活。
要讀取的 I/O 區(qū)域的定義:
FALSE : 輸入的 I/O 映像區(qū)
InputOutput BOOL FALSE
TRUE : 輸出的 I/O 映像區(qū)
ByteAddress INT 0 開始進(jìn)行讀取的字節(jié)起始地址(
參數(shù) 數(shù)據(jù)類型 初始值 說(shuō)明
Enable BOOL FALSE 只要 Enable = TRUE 就會(huì)讀取 I/O 映像區(qū)的一個(gè)區(qū)域。
輸入?yún)?shù) InputOutput、ByteAddress 和 Data 的更改只
能通過(guò) Enable 的上升沿激活。
要讀取的 I/O 區(qū)域的定義:
FALSE : 輸入的 I/O 映像區(qū)
InputOutput BOOL FALSE
TRUE : 輸出的 I/O 映像區(qū)
ByteAddress INT 0 開始進(jìn)行讀取的字節(jié)起始地址(可能的值:0 ... 63)。
Data ANY -- 讀取數(shù)據(jù)的目的地。
要讀取的數(shù)據(jù)長(zhǎng)度取決于數(shù)據(jù)類型和 ANY 指針中的重復(fù)
因子。 zui大長(zhǎng)度是 64 個(gè)字節(jié)。
輸出參數(shù)(狀態(tài)輸出)
參數(shù) 數(shù)據(jù)類型 初始值 說(shuō)明
DataValid BOOL FALSE TRUE:可以讀取有效數(shù)據(jù)
(*次成功完成讀取操作時(shí)置位)
Busy BOOL FALSE TRUE:正在執(zhí)行命令
TRUE : 命令啟動(dòng)時(shí)有錯(cuò)誤。 未執(zhí)行該命令。 有關(guān)原因
的信息,請(qǐng)參考 ErrorID。
Error BOOL FALSE
FALSE : 命令啟動(dòng)時(shí)沒(méi)有錯(cuò)誤。
ErrorID WORD 0 輸出參數(shù) Error 的 ErrorID。
說(shuō)明
由于集成工藝中命令執(zhí)行的運(yùn)行時(shí)間和調(diào)用“MC_ReadPeriphery”的 OBx 循環(huán)的運(yùn)行時(shí)
間,響應(yīng)時(shí)間可能會(huì)很長(zhǎng)。 因此,應(yīng)將需要快速響應(yīng)的 I/O 連接到 T-CPU 的 MPI/DP 接
口。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
功能手冊(cè), 03/2008, A5E01078448-06 735
MC_ReadPeriphery — 示例
下圖中的示例顯示了讀取或裝載 I/O 映像區(qū) DP(DRIVE) 時(shí)的時(shí)間*性。
在每個(gè)命令執(zhí)行周期開始時(shí),將從位置調(diào)節(jié)器中裝載輸入的信號(hào)狀態(tài)并將其寫入輸入的
I/O 映像區(qū)。 此裝載操作與“MC_ReadPeriphery”工藝功能無(wú)關(guān)。 “MC_ReadPeriphery”工
藝功能訪問(wèn)該 I/O 映像區(qū)并向用戶程序提供數(shù)據(jù)。
該 I/O 映像區(qū)將被傳輸?shù)娇刂破?,?dāng)通過(guò) Enable = TRUE *次調(diào)用
MC_ReadPeriphery 時(shí)開始。 同時(shí),輸出參數(shù) Busy 被設(shè)置為 TRUE。
MC_ReadPeriphery 命令作為*個(gè)命令執(zhí)行周期時(shí)間片中的新命令執(zhí)行。 新命令在執(zhí)
行該命令時(shí)開始執(zhí)行。 再次調(diào)用 MC_ReadPeriphery 時(shí),I/O 輸入映像區(qū)被讀入控制器
輸入。 輸出參數(shù) DataValid 報(bào)告 TRUE 狀態(tài)。
第二個(gè)命令執(zhí)行周期開始時(shí)監(jiān)視當(dāng)前的 MC_ReadPeriphery 命令。 命令執(zhí)行結(jié)束時(shí)處理
當(dāng)前命令,其中zui后執(zhí)行的命令。 第二個(gè)命令執(zhí)行周期的 I/O 輸入映像區(qū)在第三次
調(diào)用 MC_ReadPeriphery 時(shí)被傳輸?shù)娇刂破鳌?br />DB 更新由隨后的 IPO 周期觸發(fā)。 此更新直到下一個(gè)位置控制周期完成時(shí)結(jié)束,并由位
置控制中斷。 第三個(gè)命令執(zhí)行周期的時(shí)間片在 DB 更新后可用。 由于命令執(zhí)行的延遲開
始,該更新由下一個(gè)位置控制和隨后的 IPO 中斷。 因此,更新的 I/O 映像區(qū)在第四次調(diào)
用 MC_ReadPeriphery 時(shí)不可用。 于是,與第三次調(diào)用中使用的相同的 I/O 輸入映像區(qū)
被傳輸?shù)娇刂破鳌?br />第四次調(diào)用的 I/O 映像區(qū)在第五次調(diào)用 MC_ReadPeriphery 時(shí)可用,并被傳輸?shù)娇刂?br />器。 控制器并不讀取第三個(gè)命令執(zhí)行周期的 I/O 映像區(qū)。
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
736 功能手冊(cè), 03/2008, A5E01078448-06
工藝功能
6.7 工藝功能 — 基本功能
S7-Technology
功能手冊(cè), 03/2008, A5E01078448-06 737
MC_ReadPeriphery — ErrorID
ErrorID 錯(cuò)誤消息 說(shuō)明/糾正或避免錯(cuò)誤的方法
0000 沒(méi)有錯(cuò)誤 -
8001 內(nèi)部錯(cuò)誤 項(xiàng)目/軟件發(fā)生故障或不*。
8005 命令已取消,因?yàn)槊畲鎯?chǔ)器正被
其它進(jìn)程使用
命令容量不足,無(wú)法執(zhí)行該命令。
可能的原因:
? 活動(dòng)命令的數(shù)量已超出限制。
? 以下工藝功能中的活動(dòng)命令過(guò)多:
"MC_CamSectorAdd"
"MC_ReadPeriphery"
"MC_WritePeriphery"
"MC_ReadRecord"
"MC_WriteRecord"
"MC_ReadDriveParameter"
"MC_WriteDriveParameter"
"MC_ReadCamTrackData"
"MC_WriteCamTrackData"
在同一周期內(nèi)調(diào)用這些工藝功能,直到輸出參數(shù) Done、
CommandAborted 或 Error 中有一個(gè)變?yōu)?TRUE。 驗(yàn)證程
序是否包含不必要的(多余的)命令。
800B 無(wú)法保留傳輸緩沖區(qū) 命令的傳輸緩沖區(qū)不足。 可能的補(bǔ)救措施:
? 傳輸緩沖區(qū)已被其它的活動(dòng)工藝功能占用。
6GK7342-5DA02-0XE0
編寫、編譯并下載程序
編寫、編譯并下載程序 可在PLC變量表里面為變量命名
西門子RS485電纜6ES7 902-3AB00-0AA0
變量命名
編寫、編譯并下載程序 編譯并下載程序
編譯并下載程序
在STEP7(TIA Portal)中如何為S7-1200/1500實(shí)現(xiàn)積分編程?
為了近似測(cè)定面積,使用以SCL語(yǔ)言編寫的FB "Integration"程序塊可以持續(xù)對(duì)區(qū)域面積進(jìn)行累加。
說(shuō)明
積分是對(duì)給定函數(shù)曲線的面積進(jìn)行數(shù)學(xué)計(jì)算。但是實(shí)際曲線往往沒(méi)有明確的數(shù)學(xué)關(guān)系,而是隨時(shí)間變化的模擬量。積分計(jì)算就是把所有由兩個(gè)過(guò)程值與時(shí)間所圍成的梯形區(qū)域面積相加,梯形面積等于兩個(gè)過(guò)程值的平均值乘以時(shí)間間隔。
西門子RS485電纜6ES7 902-3AB00-0AA0
下載附件是以SCL語(yǔ)言編寫的用于計(jì)算積分的 "Integration" 功能塊
表示了FB "Integration"的調(diào)用參數(shù)。FB "Integration"中 "in"參數(shù)為轉(zhuǎn)化為浮點(diǎn)數(shù)的模擬量輸入值。
- 如果"enable" 參數(shù)接收到 "False" 值,那么積分計(jì)算將停止并且"out"參數(shù)輸出后計(jì)算值。
- 如果 "reset"接收到 "True"值,那么"out"輸出將復(fù)位為零。
- 計(jì)算結(jié)果存儲(chǔ)于 "out" 輸出。
- 當(dāng)使能積分后,"error"會(huì)在啟動(dòng)計(jì)算時(shí)輸出一個(gè)周期的"True"信號(hào)(信號(hào)在積分計(jì)算期間失效)。
要使用 "in"參數(shù)的輸入值啟動(dòng)積分計(jì)算,必須
- 設(shè)置"enable"參數(shù)的值為"True"。
- 設(shè)置 "reset"參數(shù)的值為 "False"。
- 西門子電纜6ES7 902-3AC00-0AA0
下表列出了 FB "Integration" 的輸入和輸出參數(shù)。
參數(shù) | 接口 | 數(shù)據(jù)類型 | 描述 |
---|
in | Input | DInt | 需要做積分計(jì)算的值 |
enable | Input | Bool | 使能積分計(jì)算 |
reset | Input | Bool | 復(fù)位( 為 True 時(shí)復(fù)位輸出參數(shù)) |
out | Output | LReal | 積分后的值(可保持) |
error | Output | Bool | 錯(cuò)誤輸出
|
在STEP7(TIA Portal)中如何安全地并且間接地尋址?
描述
采用間接尋址時(shí),只有程序執(zhí)行時(shí),用于讀或?qū)憯?shù)值的地址才得以確定。使用這種方法可以減少編程量并使得程序更靈活。通常來(lái)講,程序創(chuàng)建后訪問(wèn)地址也就確定了。為了使得間接尋址更靈活和更安全,可以
- 使用"Array"數(shù)據(jù)類型用于組合相同的數(shù)據(jù)類型。
- 對(duì)于不同的存儲(chǔ)區(qū),采用index來(lái)訪問(wèn)相關(guān)的針對(duì)每個(gè)應(yīng)用不同的變量。
在下面的例子中,對(duì)于三個(gè)變量的訪問(wèn)采用了不同的存儲(chǔ)區(qū)。表01 顯示了三個(gè)變量的訪問(wèn)列表,每個(gè)都有單獨(dú)的索引。
索引 | 訪問(wèn)變量 | 存儲(chǔ)區(qū) |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
創(chuàng)建一個(gè)功能,并聲明輸入變量為"Int"類型。圖.01 顯示了對(duì)于"AccessGroupInt"功能塊的編程示例,通過(guò)index進(jìn)行間接尋址并返回值??梢栽诔绦蛑兄苯邮褂瞄g接訪問(wèn),例如使用指令#TempValue:= "AccessGroupInt"(#Index);。這一編程方法
- 可追蹤,因?yàn)榭梢允褂媒徊嫠饕?/li>
- 安全,因?yàn)閮H使用了預(yù)定義的內(nèi)存區(qū)。
- 通用,因?yàn)榧瓤梢杂糜跇?biāo)準(zhǔn)塊也可以用于優(yōu)化的數(shù)據(jù)區(qū) 。
在下面的示例中數(shù)據(jù)被從三個(gè)不同的優(yōu)化的數(shù)據(jù)塊中讀出或?qū)懭?。三個(gè)數(shù)據(jù)塊"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的變量聲明:
- DB 變量1:"MyBool" Bool類型
- DB 變量2:"MyInt" Int類型
- DB 變量3:"MyWord" Word類型
創(chuàng)建的PLC數(shù)據(jù)類型"SiloUDT"用于尋址包含不同數(shù)據(jù)類型的DB變量。 "AccessGroupSiloRead"功能塊用于讀出返回值,是由PLC 數(shù)據(jù)類型 "SiloUDT"定義的?;诖丝梢栽谝粋€(gè)FB中間接訪問(wèn),例如如圖.03所示的指令:
- "Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));
創(chuàng)建環(huán)境
此FAQ中的截屏由 STEP 7 (TIA Portal) V13創(chuàng)建。
下表列出了 FB "Integration" 的輸入和輸出參數(shù)。
參數(shù) | 接口 | 數(shù)據(jù)類型 | 描述 |
---|
in | Input | DInt | 需要做積分計(jì)算的值 |
enable | Input | Bool | 使能積分計(jì)算 |
reset | Input | Bool | 復(fù)位( 為 True 時(shí)復(fù)位輸出參數(shù)) |
out | Output | LReal | 積分后的值(可保持) |
error | Output | Bool | 錯(cuò)誤輸出
|
在STEP7(TIA Portal)中如何安全地并且間接地尋址?
描述
采用間接尋址時(shí),只有程序執(zhí)行時(shí),用于讀或?qū)憯?shù)值的地址才得以確定。使用這種方法可以減少編程量并使得程序更靈活。通常來(lái)講,程序創(chuàng)建后訪問(wèn)地址也就確定了。為了使得間接尋址更靈活和更安全,可以
- 使用"Array"數(shù)據(jù)類型用于組合相同的數(shù)據(jù)類型。
- 對(duì)于不同的存儲(chǔ)區(qū),采用index來(lái)訪問(wèn)相關(guān)的針對(duì)每個(gè)應(yīng)用不同的變量。
在下面的例子中,對(duì)于三個(gè)變量的訪問(wèn)采用了不同的存儲(chǔ)區(qū)。表01 顯示了三個(gè)變量的訪問(wèn)列表,每個(gè)都有單獨(dú)的索引。
索引 | 訪問(wèn)變量 | 存儲(chǔ)區(qū) |
1 | Input_Word_0 | EW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_Word_4 | AW 4 |
表01
創(chuàng)建一個(gè)功能,并聲明輸入變量為"Int"類型。圖.01 顯示了對(duì)于"AccessGroupInt"功能塊的編程示例,通過(guò)index進(jìn)行間接尋址并返回值??梢栽诔绦蛑兄苯邮褂瞄g接訪問(wèn),例如使用指令#TempValue:= "AccessGroupInt"(#Index);。這一編程方法
- 可追蹤,因?yàn)榭梢允褂媒徊嫠饕?/li>
- 安全,因?yàn)閮H使用了預(yù)定義的內(nèi)存區(qū)。
- 通用,因?yàn)榧瓤梢杂糜跇?biāo)準(zhǔn)塊也可以用于優(yōu)化的數(shù)據(jù)區(qū) 。
控制模式
1、 系統(tǒng)設(shè)置遠(yuǎn)程/本地/手動(dòng)按鈕
1.1、 遠(yuǎn)程:只能通過(guò)上位機(jī)對(duì)系統(tǒng)進(jìn)行自動(dòng)啟/??刂疲瑔闻_(tái)設(shè)備就地控制優(yōu)先,在程控時(shí),可以通過(guò)上位機(jī)對(duì)設(shè)備進(jìn)行軟手操/自動(dòng)切換,軟手操啟/停;
1.2、 本地:只能通過(guò)觸摸屏對(duì)系統(tǒng)進(jìn)行自動(dòng)啟/??刂?,單臺(tái)設(shè)備就地控制優(yōu)先,在程控時(shí),可以通過(guò)觸摸屏對(duì)設(shè)備進(jìn)行軟手操/自動(dòng)切換,軟手操啟/停;
1.3、 手動(dòng):手動(dòng)控制時(shí),上位機(jī)/觸摸屏失效,只能通過(guò)手動(dòng)控制設(shè)備的啟/停。
2、 單臺(tái)設(shè)備控制
單臺(tái)設(shè)備必須有軟手操/自動(dòng)切換以及軟手操時(shí)可以啟/停功能,由自動(dòng)切換到軟手操時(shí),設(shè)備不能停機(jī);由軟手操切換到自動(dòng)時(shí),設(shè)備啟/停取決于自動(dòng)程序。
3、 單臺(tái)設(shè)備(泵、風(fēng)機(jī)及其它大型設(shè)備)運(yùn)行滿24小時(shí)必須進(jìn)行輪換,且必須有運(yùn)行時(shí)間累計(jì),如果由上位機(jī)設(shè)定啟/停順序除外,操作人員自行設(shè)定;
三、編程技巧
1、 程序塊盡量細(xì)化,方便閱讀,將同一類型的設(shè)備控制放在一個(gè)程序塊中;
2、 如遇特殊情況下采用語(yǔ)言編程,多數(shù)情況下請(qǐng)使用梯形圖編程,方便別人閱讀;
3、 對(duì)于經(jīng)常調(diào)用的子程序,可以做成子模塊,頻繁調(diào)用,例如:求幾個(gè)數(shù)平均值或求幾個(gè)數(shù)的大值;
4、 程序要有注釋,變量及中間變量必須有描述,方便別人閱讀或以后查閱;
5、 定期做程序備份,工程名稱+系統(tǒng)名稱+當(dāng)天日期;
6、 程序加密,防止別人竊取。
我想說(shuō)plc入門容易,深造難啊。對(duì)于一些初學(xué)者,看看書看看視頻沒(méi)有專門的去實(shí)踐學(xué)習(xí),大部分了解了plc的原理,設(shè)計(jì)一些簡(jiǎn)單的程序可以運(yùn)用自如,但是碰到一些復(fù)雜的要求時(shí),就懵逼了,因?yàn)槲乙郧耙矔r(shí)常懵逼。plc這個(gè)東西就得把指令融匯貫通,運(yùn)用自如,才能編出一些較復(fù)雜的程序。下面簡(jiǎn)單介紹一下學(xué)plc的技巧和方法,讓大家更快地去熟悉plc、掌握plc,讓我們口袋里的錢變得鼓鼓的。
首先、你得對(duì)編程感興趣,設(shè)計(jì)出程序來(lái)感覺(jué)有成就感。有的人一看到界面,一看到要求,哎呦媽呀暈暈暈,哥快來(lái)扶我一把。這樣的同學(xué)我勸你這輩子就告別工控這條路吧。
第二、學(xué)習(xí)plc編程要有一定的電器基礎(chǔ),要明白各個(gè)電器的用途,因?yàn)镻LC說(shuō)白了也就是把很多的電器實(shí)物程序化(比如說(shuō)各種繼電器及計(jì)數(shù)器等),但是也有的人跨專業(yè)來(lái)學(xué),感覺(jué)工控好啊,工控好神奇啊,帶著強(qiáng)烈的興趣來(lái)探索工控這個(gè)奧秘。這樣的同學(xué)可能后比有基礎(chǔ)的同學(xué)學(xué)的還要好。
第三、選擇一個(gè)品牌。
老大當(dāng)然是西門子,尤其在冶金方面接近于99%。ABB在石油方面用到的很廣。羅克韋爾也不錯(cuò),就是價(jià)格稍微高一點(diǎn)。還有就是施耐德了。然后呢就是日本的一些牌子了,三菱、歐姆龍等。其次就是中國(guó)的一些品牌了比如說(shuō)和利時(shí),臺(tái)達(dá)、信捷等一些品牌了。
第四、沒(méi)時(shí)間的可以買本書買些視頻或者看看,電腦下載一個(gè)對(duì)應(yīng)的編程軟件,試著編繪簡(jiǎn)易梯形圖:一般以現(xiàn)有的電工原理圖,根據(jù)其工作原理進(jìn)行繪制,由淺 入深,先求畫出,再求簡(jiǎn)單明了,慢慢領(lǐng)會(huì)繪制梯形圖心得。首先要理解電工原理圖的工作原理,根據(jù)電 工原理圖的工作原理,再按 PLC 的要求進(jìn)行繪制。應(yīng)把握的是,不能簡(jiǎn)單地將 PLC 各接點(diǎn)與電工原理圖上 的各接點(diǎn)一一對(duì)應(yīng)(這是初學(xué)者的通病),若是這樣的話就有可能步入死胡同,繪制的梯形圖只要能達(dá)到 目的即可。有條件的就整個(gè)硬件或者模擬器。
再有條件又有時(shí)間就去報(bào)培訓(xùn)班學(xué)吧,那樣學(xué)得會(huì)比自己學(xué)的全面容易,也有硬件供你練習(xí)實(shí)踐
在下面的示例中數(shù)據(jù)被從三個(gè)不同的優(yōu)化的數(shù)據(jù)塊中讀出或?qū)懭?。三個(gè)數(shù)據(jù)塊"Silo_Water", "Silo_Sugar" 和"Silo_Milk"都包含相同的變量聲明:
- DB 變量1:"MyBool" Bool類型
- DB 變量2:"MyInt" Int類型
- DB 變量3:"MyWord" Word類型
創(chuàng)建的PLC數(shù)據(jù)類型"SiloUDT"用于尋址包含不同數(shù)據(jù)類型的DB變量。 "AccessGroupSiloRead"功能塊用于讀出返回值,是由PLC 數(shù)據(jù)類型 "SiloUDT"定義的?;诖丝梢栽谝粋€(gè)FB中間接訪問(wèn),例如如圖.03所示的指令:
- "Silo_Handling_OnlyReading"("AccessGroupSiloRead"(Index:= #Silo_Index));
創(chuàng)建環(huán)境
此FAQ中的截屏由 STEP 7 V13創(chuàng)建。
為了plc程序可讀性強(qiáng),短期內(nèi)可以讀懂并且能夠修改,在PLC工作組內(nèi)部需要統(tǒng)一我們的編程標(biāo)準(zhǔn),以便適應(yīng)將來(lái)工程人員調(diào)動(dòng)后,原來(lái)的程序能夠被后來(lái)的人在短期內(nèi)讀懂,現(xiàn)統(tǒng)一標(biāo)準(zhǔn)如下:
一、程序結(jié)構(gòu)
1、 程序結(jié)構(gòu)統(tǒng)一
OB1:主程序;
OB100:初始化程序(無(wú)需主程序調(diào)用);
OB35:100ms(可修改)中斷(無(wú)需主程序調(diào)用),可以調(diào)用PID模塊;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障診斷模塊(無(wú)需主程序調(diào)用、無(wú)需編程);
FC1:系統(tǒng)模式;
FC2:輸入處理;
FC3:輸出處理;
FC4:運(yùn)行處理;
FC5:停止處理;
FC6:手自動(dòng)切換;
FC7:
。。。
。。。
FC100:之后用來(lái)建立一些可以循環(huán)調(diào)用的子程序;
FC105:系統(tǒng)自帶,模擬量輸入子程序(可以循環(huán)調(diào)用);
FC106:系統(tǒng)自帶,模擬量輸出子程序(可以循環(huán)調(diào)用);
modbus通訊(CP341):FB7:P_RCV_RK,F(xiàn)B8:P_SND_RK;
通訊CP340:FB2:P_RCV,F(xiàn)B3:P_SND;
一般PID:用FB41;
溫、濕度PID:用FB58;
如果程序塊與系統(tǒng)塊重復(fù),請(qǐng)避讓。
2、 數(shù)據(jù)塊
DB1:AI數(shù)據(jù),類型:REAL,與上位機(jī)接口;
DB2:AO數(shù)據(jù),類型:REAL,與上位機(jī)接口;
DB3:DI數(shù)據(jù),類型:BOOL,與上位機(jī)接口;
DB4:DO數(shù)據(jù),類型:BOOL,與上位機(jī)接口;
DB5:設(shè)備運(yùn)行時(shí)間及流量累計(jì),類型:REAL,與上位機(jī)接口;
DB6:報(bào)警消息,類型:BOOL,與上位機(jī)接口;
DB7:類型:REAL,中間寄存器;
DB8:類型:INT,中間寄存器;
DB9:類型:WORD,中間寄存器;
DB10:類型:BOOL,中間寄存器;
DB11:之后用作與設(shè)備通訊用,例如:MODBUS通訊等;
DB100:之后用作調(diào)用FB塊時(shí)的背景數(shù)據(jù)塊;
M區(qū):也作為中間變量。