上海西邑電氣技術有限公司
聯(lián)系人 鄭鑫 135八五七五四八零三
1. 描述
如果更新SCALANCE X系列交換機固件時發(fā)生錯誤(更新固件過程中交換機斷電)或者使用不兼容的固件更新工業(yè)以太網(wǎng)交換機,則設備的固件可能會無法正確啟動。如圖1,此時交換機故障燈閃爍,無法訪問管理界面。
圖1
這種情況下,設備啟動后會激活引導裝載程序。同時通過故障LED閃爍來指示該狀態(tài)。激活引導裝載程序后,交換機可以作為FTP的服務器與FTP的客戶端連接(注意:SCALANCE X200系列必須通過端口1連接FTP客戶端)。
2. 操作步驟
1) 為設備分配IP地址,可以使用PST軟件執(zhí)行該操作。如圖2,交換機IP地址設置為:192.168.0.102。
圖2
2) 分配IP地址后,即可以與集成在引導裝載程序中的FTP服務器通信。使用FTP將固件文件發(fā)送到工業(yè)以太網(wǎng)交換機??梢允褂萌我釬TP客戶端執(zhí)行該操作。根據(jù)交換機訂貨號在西門子技術支持網(wǎng)站下載相應的固件版本文件。(本例中,交換機選擇SCALANCE X208 6GK5 208-0BA10-2AA3)
3) 點擊操作系統(tǒng)“開始”--“運行”,輸入“cmd”,如圖3;打開操作系統(tǒng)DOS窗口,輸入FTP命令,如圖4:
圖3
圖4
4) 接下來輸入用戶名和密碼。用戶名和密碼:siemens ;傳輸模式:二進制,如圖5:
圖5
5) 使用“put”命令,將下載到本地的固件文件載入到交換機,如圖6:
圖6
注意固件文件名要區(qū)分大小寫。傳輸完成后如圖7,交換機會進入初始化狀態(tài),此時PC機網(wǎng)卡連接中斷,交換機所有端口燈常亮或閃爍。初始化完成后,交換機新的固件生效,恢復正常使用。
圖7
S7-1200 全局DB中的數(shù)據(jù)類型介紹
S7-1200全局DB中的數(shù)據(jù)類型,包括基本數(shù)據(jù)類型、系統(tǒng)數(shù)據(jù)類型和硬件數(shù)據(jù)類型。
在DB塊中,新建一個變量,在數(shù)據(jù)類型列的下拉列表中,選擇需要的數(shù)據(jù)類型。
基本數(shù)據(jù)類型
基本數(shù)據(jù)類型:包括位、位字符串、整數(shù)、浮點數(shù)、定時器、日期&時間、字符、數(shù)組和結(jié)構
1.位和位字符串
2.整數(shù)數(shù)據(jù)類型
3.浮點型實數(shù)數(shù)據(jù)類型
如 ANSI/IEEE 754-1985 標準所述,實(或浮點)數(shù)以 32 位單精度數(shù) (Real) 或 64 位雙精度數(shù) (LReal) 表示。 單精度浮點數(shù)的精度最高為 6 位有效數(shù)字,
而雙精度浮點數(shù)的精度最高為 15 位有效數(shù)字。在輸入浮點常數(shù)時,最多可以指定 6 位 (Real) 或 15 位 (LReal) 有效數(shù)字來保持精度。
4.時間和日期數(shù)據(jù)類型
TIME 數(shù)據(jù)作為有符號雙整數(shù)存儲,基本單位為毫秒。存儲的數(shù)值是多少,就代表有多少ms。 編輯時可以選擇性使用日期 (d)、小時(h)、分鐘 (m)、秒 (s) 和毫秒 (ms) 作為單位。
不需要指定全部時間單位。 例如,T#5h10s 和 500h 均有效。所有指定單位值的組合值不能超過以毫秒表示的時間日期類型的上限或下限(-2,147,483,648 ms 到 +2,147,483,647 ms)。
DATE 數(shù)據(jù)作為無符號整數(shù)值存儲,被解釋為添加到基礎日期 1990 年 1 月 1 日的天數(shù),用以獲取指定日期。 編輯器格式必須指定年、月和日。
TOD (TIME_OF_DAY) 數(shù)據(jù)作為無符號雙整數(shù)值存儲,被解釋為自指定日期的凌晨算起的毫秒數(shù)(凌晨 = 0 ms)。 必須指定小時(24 小時/天)、分鐘和秒。 可以選擇指定小數(shù)秒格式。
DTL(日期和時間長型)數(shù)據(jù)類型使用 12 個字節(jié)的結(jié)構保存日期和時間信息??梢栽趬K的臨時存儲器或者 DB 中定義 DTL 數(shù)據(jù)。 必須在 DB 編輯器的"起始值"(Start value) 列為所有組件輸入一個值。
DTL結(jié)構的元素如下表:
5.字符和字符串數(shù)據(jù)類型
Char 在存儲器中占一個字節(jié),可以存儲以 ASCII 格式(包括擴展 ASCII 字符代碼)編碼的單個字符。 WChar 在存儲器中占一個字的空間,可包含任意雙字節(jié)字符表示形式。
編輯器語法在字符的前面和后面各使用一個單引號字符??梢允褂每梢娮址涂刂谱址?/p>
CPU 支持使用 String 數(shù)據(jù)類型存儲一串單字節(jié)字符。 String 數(shù)據(jù)類型包含總字符數(shù)(字符串中的字符數(shù))和當前字符數(shù)。 String 類型提供了多達 256
個字節(jié),用于在字符串中存儲最大總字符數(shù)(1 個字節(jié))、當前字符數(shù)(1 個字節(jié))以及最多 254 個字節(jié)。 String 數(shù)據(jù)類型中的每個字節(jié)都可以是從 16#00 到16#FF 的任意值。
String 數(shù)據(jù)類型示例:
WString 數(shù)據(jù)類型支持單字(雙字節(jié))值的較長字符串。第一個字包含最大總字符數(shù);下一個字包含總字符數(shù),接下來的字符串可包含多達 65534 個字。 每個字都可以是從 16#0000 到 16#FFFF 的任意值。
WString 數(shù)據(jù)類型示例:
6.數(shù)組數(shù)據(jù)類型
可以創(chuàng)建包含多個相同數(shù)據(jù)類型元素的數(shù)組,請為數(shù)組命名并選擇數(shù)據(jù)類型"Array [lo .. hi] of type",然后根據(jù)如下說明編輯"lo"、"hi"和"type":
< lo - 數(shù)組的起始(最低)下標
< hi - 數(shù)組的結(jié)束(最高)下標
< type - 數(shù)據(jù)類型之一,例如 BOOL、SINT、UDINT
示例: 數(shù)組聲明
ARRAY[1..20] of REAL 一維,20 個元素
ARRAY[-5..5] of INT 一維,11 個元素
ARRAY[1..2, 3..4] of CHAR 二維,4 個元素
示例: 數(shù)組地址
ARRAY1[0] ARRAY1 元素 0
ARRAY2[1,2] ARRAY2 元素 [1,2]
ARRAY3[i,j] 如果 i =3 且 j=4,則對 ARRAY3 的元素 [3, 4] 進行尋址
6.結(jié)構數(shù)據(jù)類型
STRUCT 數(shù)據(jù)類型表示由固定數(shù)目的多種數(shù)據(jù)類型的元素組成的數(shù)據(jù)結(jié)構。 數(shù)據(jù)類型 STRUCT 或 ARRAY 的元素還可以在結(jié)構中嵌套。 嵌套深度限制為 8 級。 結(jié)構可用于根據(jù)過程控制系統(tǒng)分組數(shù)據(jù)以及作為一個數(shù)據(jù)單元來傳送參數(shù)。
對于 S7-1200 或 S7-1500 系列 CPU,可最多創(chuàng)建 65534 個結(jié)構。 其中每個結(jié)構可最多包括 252 個元素。
下圖為數(shù)據(jù)類型 STRUCT 的示例:
結(jié)構所在的DB塊名為“結(jié)構示例”,則可以使用 "結(jié)構示例".產(chǎn)品規(guī)格.長度 訪問結(jié)構的第一個元素長度。
系統(tǒng)數(shù)據(jù)類型
系統(tǒng)數(shù)據(jù)類型:系統(tǒng)數(shù)據(jù)類型 (SDT) 由系統(tǒng)提供并具有預定義的結(jié)構。 系統(tǒng)數(shù)據(jù)類型的結(jié)構由固定數(shù)目的可具有各種數(shù)據(jù)類型的元素構成。 不能更改系統(tǒng)數(shù)據(jù)類型的結(jié)構。
系統(tǒng)數(shù)據(jù)類型只能用于特定指令。 下表給出了可用的系統(tǒng)數(shù)據(jù)類型及其用途:
統(tǒng)數(shù)據(jù)類型 | 長度(字節(jié)) | 說明 |
---|
IEC_TIMER | 16 | 定時值為 TIME 數(shù)據(jù)類型的定時器結(jié)構。例如,此數(shù)據(jù)類型可用于“TP”、“TOF”、“TON”、“TONR”、“RT”和“PT”指令。 |
IEC_SCOUNTER | 3 | 計數(shù)值為 SINT 數(shù)據(jù)類型的計數(shù)器結(jié)構。例如,此數(shù)據(jù)類型用于“CTU”、“CTD”和“CTUD”指令。 |
IEC_USCOUNTER | 3 | 計數(shù)值為 USINT 數(shù)據(jù)類型的計數(shù)器結(jié)構。例如,此數(shù)據(jù)類型用于“CTU”、“CTD”和“CTUD”指令。 |
IEC_COUNTER | 6 | 計數(shù)值為 INT 數(shù)據(jù)類型的計數(shù)器結(jié)構。例如,此數(shù)據(jù)類型用于“CTU”、“CTD”和“CTUD”指令。 |
IEC_UCOUNTER | 6 | 計數(shù)值為 UINT 數(shù)據(jù)類型的計數(shù)器結(jié)構。例如,此數(shù)據(jù)類型用于“CTU”、“CTD”和“CTUD”指令。 |
IEC_DCOUNTER | 12 | 計數(shù)值為 DINT 數(shù)據(jù)類型的計數(shù)器結(jié)構。例如,此數(shù)據(jù)類型用于“CTU”、“CTD”和“CTUD”指令。 |
IEC_UDCOUNTER | 12 | 計數(shù)值為 UDINT 數(shù)據(jù)類型的計數(shù)器結(jié)構。例如,此數(shù)據(jù)類型用于“CTU”、“CTD”和“CTUD”指令。 |
ERROR_STRUCT | 28 | 編程錯誤信息或 I/O 訪問錯誤信息的結(jié)構。例如,此數(shù)據(jù)類型用于“GET_ERROR”指令。 |
CREF | 8 | 數(shù)據(jù)類型 ERROR_STRUCT 的組成,在其中保存有關塊地址的信息。 |
NREF | 8 | 數(shù)據(jù)類型 ERROR_STRUCT 的組成,在其中保存有關操作數(shù)的信息。 |
硬件數(shù)據(jù)類型
硬件數(shù)據(jù)類型:硬件數(shù)據(jù)類型由 CPU 提供。 可用硬件數(shù)據(jù)類型的數(shù)目取決于 CPU。
根據(jù)硬件配置中設置的模塊存儲特定硬件數(shù)據(jù)類型的常量。 在用戶程序中插入用于控制或激活已組態(tài)模塊的指令時,可將這些可用常量用作參數(shù)。
HW_ANY | WORD | 任何硬件組件(如模塊)的標識。 |
HW_DEVICE | HW_ANY | DP 從站/PROFINET IO 設備的標識 |
HW_DPSLAVE | HW_DEVICE | DP 從站的標識 |
HW_IO | HW_ANY | CPU 或接口的標識號該編號在 CPU 或硬件配置接口的屬性中自動分配和存儲。 |
HW_IOSYSTEM | HW_ANY | PN/IO 系統(tǒng)或 DP 主站系統(tǒng)的標識 |
HW_SUBMODULE | HW_IO | 重要硬件組件的標識 |
HW_INTERFACE | HW_SUBMODULE | 接口組件的標識 |
HW_IEPORT | HW_SUBMODULE | 端口的標識 (PN/IO) |
HW_HSC | HW_SUBMODULE | 高速計數(shù)器的標識此數(shù)據(jù)類型用于“CTRL_HSC”和“CTRL_HSC_EXT”指令。 |
HW_PWM | HW_SUBMODULE | 脈沖寬度調(diào)制標識例如,此數(shù)據(jù)類型用于“CTRL_PWM”指令。 |
HW_PTO | HW_SUBMODULE | 脈沖編碼器標識該數(shù)據(jù)類型用于運動控制。 |
AOM_IDENT | DWORD | AS 運行系統(tǒng)中對象的標識 |
EVENT_ANY | AOM_IDENT | 用于標識任意事件 |
EVENT_ATT | EVENT_ANY | 用于指定動態(tài)分配給 OB 的事件。例如,此數(shù)據(jù)類型用于“ATTACH”和“DETACH”指令。 |
EVENT_HWINT | EVENT_ATT | 用于指定硬件中斷事件 |
OB_ANY | INT | 用于指定任意組織塊。 |
OB_DELAY | OB_ANY | 用于指定發(fā)生延時中斷時調(diào)用的組織塊。例如,此數(shù)據(jù)類型用于“SRT_DINT”和“CAN_DINT”指令。 |
OB_TOD | OB_ANY | 指定時間中斷 OB 的數(shù)量。例如,此數(shù)據(jù)類型用于“SET_TINT”、“CAN_TINT”、“ACT_TINT”和“QRY_TINT”指令。 |
OB_CYCLIC | OB_ANY | 用于指定發(fā)生看門狗中斷時調(diào)用的組織塊。 |
OB_ATT | OB_ANY | 用于指定動態(tài)分配給事件的組織塊。例如,此數(shù)據(jù)類型用于“ATTACH”和“DETACH”指令。 |
OB_PCYCLE | OB_ANY | 用于指定分配給“循環(huán)程序”事件類別事件的組織塊。 |
OB_HWINT | OB_ATT | 用于指定發(fā)生硬件中斷時調(diào)用的組織塊。 |
OB_DIAG | OB_ANY | 用于指定發(fā)生診斷中斷時調(diào)用的組織塊。 |
OB_TIMEERROR | OB_ANY | 用于指定發(fā)生時間錯誤時調(diào)用的組織塊。 |
OB_STARTUP | OB_ANY | 用于指定發(fā)生啟動事件時調(diào)用的組織塊。 |
PORT | HW_SUBMODULE | 用于指定通信端口。該數(shù)據(jù)類型用于點對點通信。 |
RTM | UINT | 用于指定運行小時計數(shù)器值。例如,此數(shù)據(jù)類型用于“RTM”指令。 |
PIP | UINT | 用于創(chuàng)建和連接“同步循環(huán)”OB。此數(shù)據(jù)類型用于 SFC 26、27、126 和 127。 |
CONN_ANY | WORD | 用于指定任意連接。 |
CONN_PRG | CONN_ANY | 用于指定通過 UDP 進行開放式通信的連接。 |
CONN_OUC | CONN_ANY | 用于指定通過工業(yè)以太網(wǎng) (PROFINET) 進行開放式通信的連接。 |
DB_ANY | UINT | 任意 DB 的標識(數(shù)量)數(shù)據(jù)類型“DB_ANY”在“Temp”區(qū)域中的長度為 0。 |
DB_WWW | DB_ANY | 通過 Web 應用生成的 DB 的數(shù)量(例如,“WWW”指令)數(shù)據(jù)類型“DB_WWW”在“Temp”區(qū)域中的長度為 0。 |