西門子數(shù)控軟件SIEMENS授權(quán)代理商西門子中國有限公司授權(quán)合作伙伴——潯之漫智控技術(shù)(上海)有限公司,作為西門子中國有限公司授權(quán)合作伙伴,潯之漫智控技術(shù)(上海)有限公司代理經(jīng)銷西門子產(chǎn)品供應(yīng)全國,西門子工控設(shè)備包括S7-200SMART、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各類工業(yè)自動化產(chǎn)品。
公司國際化工業(yè)自動化科技產(chǎn)品供應(yīng)商,是專業(yè)從事工業(yè)自動化控制系統(tǒng)、機(jī)電一體化裝備和信息化軟件系統(tǒng)集成和硬件維護(hù)服務(wù)的綜合性企業(yè)。
西部科技園,東邊是松江大學(xué)城,西邊和全球**芯片制造商臺積電毗鄰,作為西門子授權(quán)代理商,西門子模塊代理商,西門子一級代理商,西門子PLC代理商,西門子PLC模塊代理商,,建立現(xiàn)代化倉儲基地、積累充足的產(chǎn)品儲備、引入萬余款各式工業(yè)自動化科技產(chǎn)品與此同時,我們向北5公里是佘山國家旅游度假區(qū)。
軌道交通9號線、滬杭高速公路、同三國道、松閔路等交通主干道將松江工業(yè)區(qū)與上海市內(nèi)外連接,交通十分便利。
建立現(xiàn)代化倉儲基地、積累充足的產(chǎn)品儲備、引入萬余款各式工業(yè)自動化科技產(chǎn)品,我們以持續(xù)的卓越與服務(wù),取得了年銷售額10億元的佳績,憑高滿意的服務(wù)贏得了社會各界的好評及青睞。
與西門子品牌合作,只為能給中國的客戶提供值得信賴的服務(wù)體系,我們的業(yè)務(wù)范圍涉及工業(yè)自動化科技產(chǎn)品的設(shè)計(jì)開發(fā)、技術(shù)服務(wù)、安裝調(diào)試、銷售及配套服務(wù)領(lǐng)域。
目前,將產(chǎn)品布局于中、高端自動化科技產(chǎn)品領(lǐng)域,主要銷售西門子PLC模塊,西門子交換機(jī),西門子變頻器,西門子觸摸屏,西門子電機(jī),西門子數(shù)控軟件,西門子電線電纜,西門子低壓產(chǎn)品等等應(yīng)用程序的*終用戶的 S7 通信
您通常將為自定義應(yīng)用程序的用戶創(chuàng)建應(yīng)用程序。
例如,您可以使用 SIMATIC
Automation Tool SDK 提供的 Windows Installer 創(chuàng)建此安裝程序。
當(dāng)您的客戶運(yùn)行安裝程
序時,此安裝程序會將 API、HMI、S7 通信組件、其它所需組件和您的自定義應(yīng)用程序安
裝在一個文件夾中。
然后,您的用戶可以從該文件夾運(yùn)行自定義應(yīng)用程序。
4.4 為故障安全設(shè)備和安全相關(guān)操作設(shè)計(jì)用戶界面應(yīng)用程序
4.4.1 安全相關(guān)操作和故障安全設(shè)備的 API 支持
SIMATIC Automation Tool API 支持以下安全相關(guān)操作:
? 程序更新
? 從備份文件恢復(fù)設(shè)備
? 復(fù)位為出廠默認(rèn)值
? 格式化存儲卡
說明
《SIMATIC Safety - 組態(tài)和編程》手冊包含一個標(biāo)識為“S078”的警告。
此警告聲明如下:
“若使用自動化或操作工具(TIA Portal 或 Web 服務(wù)器)繞過 F-CPU 的訪問保護(hù)(如保存
或自動輸入“包括故障安全的完全訪問(無保護(hù))”保護(hù)等級的 CPU 密碼或 Web 服務(wù)器密
碼),與安全相關(guān)的項(xiàng)目數(shù)據(jù)可能無法防止受到無意更改的影響。
”
此 S078 警告不適用于 SIMATIC Automation Tool API。
API 支持與 F-CPU 通信并存儲 FCPU 的 CPU 密碼。
API 提供的安全功能
SIMATIC Automation Tool 和 SIMATIC Automation Tool SDK API 已經(jīng)過 TüV SüD 認(rèn)證。
如果自定義應(yīng)用程序?qū)?F-CPU 執(zhí)行了安全相關(guān)操作,應(yīng)通過 TüV SüD 或同等資質(zhì)驗(yàn)證機(jī)
構(gòu)對應(yīng)用程序加以認(rèn)證。
Siemens API 經(jīng)過認(rèn)證并不意味著您的應(yīng)用程序會自動得到認(rèn)
證。
API 為您的應(yīng)用程序提供了一系列的保護(hù)措施。
您的應(yīng)用程序也應(yīng)遵循推薦的一組 F-CPU
用戶界面使用指導(dǎo) (頁 62)。
SIMATIC Automation Tool API 使用多種冗余技術(shù)。
因此,API 能夠保護(hù)用戶應(yīng)用程序代
碼,避免執(zhí)行潛在危險操作。
API 可以提供以下功能:
? 各安全相關(guān)操作的獨(dú)立連接和合法化過程
? 故障安全設(shè)備與安全相關(guān)的操作的身份檢查
? 安全程序的識別
? 對受保護(hù)的 F-CPU 執(zhí)行任何安全相關(guān)操作都需要使用安全密碼 (頁 243)
? 使用 32 位 CRC 校驗(yàn)和來比較故障安全設(shè)備的在線和離線表示
? 使用漢明碼 (頁 70)表示 TRUE 和 FALSE 狀態(tài)
? 程序更新與從備份操作恢復(fù)后進(jìn)行 F 簽名比較,以驗(yàn)證操作是否成功完成
4.4.2 安全相關(guān)操作的用戶界面編程指南
警告
盡可能保護(hù)與安全相關(guān)的操作
故障安全 CPU 與故障安全 I/O 和安全程序可共同提供操作的高度安全性。
使用 SIMATIC Automation Tool API 時,盡可能確保安全相關(guān)操作的安全。
西門子對使用
SIMATIC Automation Tool API 開發(fā)的用戶界面應(yīng)用程序不承擔(dān)任何責(zé)任。
軟件開發(fā)人員
承擔(dān)所有責(zé)任。
如果軟件開發(fā)人員不遵循適當(dāng)?shù)木幊塘?xí)慣,則用戶操作其開發(fā)的用戶界面應(yīng)用程序時,
可能會導(dǎo)致死亡或人身傷害。
識別和保護(hù)與安全相關(guān)的操作
西門子建議您在對 F-CPU 執(zhí)行安全相關(guān)操作前提供兩步操作過程。
1. 在繼續(xù)執(zhí)行第二步之前,用戶應(yīng)采取明確操作以選擇 F-CPU,并選擇要執(zhí)行的操作。
2. 軟件應(yīng)為用戶顯示一個對話框或等效的提示,提示用戶針對安全相關(guān)操作的西門子定義
的確認(rèn)消息 (頁 157)。
在程序代碼調(diào)用針對 F-CPU 執(zhí)行的安全相關(guān)操作之前,您的應(yīng)用
程序應(yīng)提示用戶對是否要繼續(xù)進(jìn)行確認(rèn)。
功能調(diào)試軟件啟動屏幕:啟動軟件用于啟動Modular PID Control。
通過回路顯示和趨勢曲線測試功能:出于測試的目的回路顯示可以用于運(yùn)行和監(jiān)控控制器。
繪圖儀記錄四條信號曲線。
確認(rèn)進(jìn)程性質(zhì)和支持故障診斷是非常有用的。
控制回路*優(yōu)化向?qū)В捍讼驅(qū)б徊讲降刂敢脩敉瓿稍O(shè)置控制器*優(yōu)化的步驟,因此能夠無需控制領(lǐng)域的專業(yè)知識即可快速啟動。
連續(xù)PID控制器的變量瞬態(tài)響應(yīng):對于動態(tài)增強(qiáng)響應(yīng)來說,將控制環(huán)路瞬態(tài)響應(yīng)超調(diào)量超過10 %的控制回路響應(yīng)挑選出來。
如果仍然對結(jié)果不滿意,*優(yōu)化控制器,所以超調(diào)就不可能發(fā)生。
與上下文相關(guān)的與用戶交互的幫助命令Help:如果必要,在程序的每一點(diǎn)都可以立即獲得適當(dāng)?shù)膮f(xié)助。
標(biāo)準(zhǔn)功能塊FB/FC備注功能A_DEAD_B自適應(yīng)死區(qū)濾除誤差信號的高頻干擾信號CRP_IN模擬輸入值的轉(zhuǎn)換Modular PID Control軟件中,I/O形式的輸入值轉(zhuǎn)換為浮點(diǎn)值CRP_OUT模擬輸出值的轉(zhuǎn)換Modular PID Control中的浮點(diǎn)值轉(zhuǎn)換為I/O形式的輸出值DEAD_T斷電時間根據(jù)可調(diào)整的死區(qū)時間延遲輸入值使用 API 開發(fā)用戶界面應(yīng)用程序時,應(yīng)確定操作是否屬于以下針對 F-CPU 的安全相關(guān)操作
之一:
? 程序更新 (頁 169)
? 從備份文件恢復(fù)設(shè)備 (頁 176)
? 復(fù)位為出廠默認(rèn)值 (頁 173)
? 格式化存儲卡 (頁 163)
對于安全相關(guān)操作,向用戶提供確認(rèn)對話框。
使用 DetermineCo
nfirmationMessage API
方法 (頁 157)確定要顯示的確認(rèn)對話框類型。
提供額外的確認(rèn)對話框可防止用戶不小心執(zhí)
行意外的安全相關(guān)操作。
以下對話框?yàn)槌绦蚋虏僮鞯拇_認(rèn)對話框示例使用以下編程習(xí)慣可確保保護(hù)安全相關(guān)操作并*大限度地減小不安全用戶操作的可能性:
? 在單個線程上執(zhí)行所有與安全相關(guān)的操作。
? 需要輸入安全密碼 (頁 243)才能執(zhí)行安全相關(guān)操作。
根據(jù) CPU 密碼驗(yàn)證輸入的密碼。
用戶輸入密碼時,使用星號隱藏畫面上的密碼。
? 如上所述,為用戶提供確認(rèn)對話框以確認(rèn)對 F-CPU 執(zhí)行的安全相關(guān)操作。
? 檢查所有方法的返回代碼。
確保程序邏輯僅在成功返回方法時繼續(xù)。
? 在實(shí)現(xiàn)中包含適當(dāng)?shù)睦馓幚怼?br>如果您未正確使用 API,API 會因檢測到嚴(yán)重內(nèi)部錯誤
而引發(fā)異常。
請確保軟件以適當(dāng)?shù)姆绞教幚硭挟惓!?br>對于所有安全相關(guān)操作,請?jiān)u估操作是否成功執(zhí)行。
如果操作成功,向用戶顯示一條
消息。
如果操作失敗,顯示一條錯誤消息。
? 在應(yīng)用程序中使用漢明碼 (頁 70)實(shí)現(xiàn)布爾狀態(tài)。
? 在應(yīng)用程序中使用黃色的顏色標(biāo)記 (頁 65)指示故障安全設(shè)備、安全程序、安全密碼和
其它用戶輸入的數(shù)據(jù)。
? 提示確認(rèn)所有操作模式更改 (RUN/STOP)。
? 每次操作后刷新用戶界面,以便應(yīng)用程序顯示正確的設(shè)備數(shù)據(jù)。
程序更新要求
對于所選 F-CPU 的程序更新,請為用戶提供一個附加對話框,以重新選擇故障安全設(shè)備并
確認(rèn)以下操作:
? 將使用安全密碼啟動對標(biāo)準(zhǔn)程序執(zhí)行的操作
? 將刪除現(xiàn)有安全程序
? 將使用其它安全程序更新現(xiàn)有安全程序
? 現(xiàn)有安全程序?qū)⑻鎿Q為標(biāo)準(zhǔn)程序
? 安全程序?qū)⑹状渭虞d
安全程序更新后,API 自動驗(yàn)證 CPU 中更新的程序的 F 簽名。
檢查所有函數(shù)返回值。
從備份恢復(fù)要求
在恢復(fù)備份文件之前,請根據(jù)程序更新的相同要求評估該文件是否為安全程序并提示用戶
確認(rèn)。
認(rèn)證
說明
獲取用戶界面應(yīng)用程序的認(rèn)證
西門子強(qiáng)烈建議通過 TüV SüD 等認(rèn)證機(jī)構(gòu)來證明設(shè)計(jì)和實(shí)施的安全性。
用戶界面中的顏色編碼安全域
如果使用 API 開發(fā)用戶界面,西門子強(qiáng)烈建議使用顏色編碼為用戶提供與故障安全 CPU
和安全程序相關(guān)的任何內(nèi)容的可視指示。
決策樹表示西門子推薦的典型安全相關(guān)領(lǐng)域的顏
色編碼邏輯。
在設(shè)計(jì)應(yīng)用程序時,請考慮采用相同或類似的方法。
4.4.3.1 對 CPU 設(shè)備圖標(biāo)進(jìn)行顏色編碼漢明碼
漢明碼為二進(jìn)制碼。
可以檢測偶然的位錯誤。
SIMATIC Automation Tool API 使用 32 位漢
明碼,漢明距離為 8。
API 使用漢明碼來表示與安全相關(guān)操作有關(guān)的所有布爾值。
可以對
用戶界面應(yīng)用程序進(jìn)行編程,以使用提供的布爾值狀態(tài)進(jìn)行安全相關(guān)操作。
由于 API 使用
漢明碼實(shí)現(xiàn)這些狀態(tài),因此與安全相關(guān)的布爾狀態(tài)的數(shù)據(jù)完整性具有較高的可信度。
4.5 公共支持類別
4.5.1 EncryptedString 類
很多針對 ICPU 接口的 API 操作都需要與受保護(hù)的 S7 CPU 進(jìn)行合法連接。
對于這些操
作,需要密碼作為方法的參數(shù)之一。
CPU 接受加密格式的密碼。
API 提供
EncryptedString 類以完成密碼加密。
構(gòu)造函數(shù) 描述
EncryptedString() 空加密字符串此類提供一種加密純文本密碼的方法,從而可以使 CPU 連接合法化。
許多代碼示例體現(xiàn)
了此類的典型用法。
要將密碼加密以便在代碼中多次使用,可將 EncryptedString 實(shí)例化。
然后可以將其
作為參數(shù)傳遞給一次或多次調(diào)用,如下所示:
EncryptedString pwd = new EncryptedString("password");
myCPU.SetPasswor
d(pwd);
EncryptedString 對象不存儲用戶特定的純文本密碼。
但是,如果應(yīng)用程序?qū)⒚艽a編
碼為文字串,則會造成安全風(fēng)險。
例如,new EncryptedString("myPassword") 將純文本“myPassword"編譯到用戶
應(yīng)用程序中。
該密碼可能對其它使用 .NET 反射的程序可見。
4.5.2 Result 類
Result 類提供指定 API 操作是否成功的相關(guān)信息。
檢查 API 操作所返回的 Result 對
象,以確定操作是否成功。
構(gòu)造函數(shù) 描述
Result() 創(chuàng)建成功結(jié)果,無警告如果設(shè)備返回了設(shè)備特定的錯誤,則返回的 ErrorCode 是 DeviceDefinedError。
方
法 GetErrorDes
cription 提供設(shè)備特定的錯誤字符串。
示例:獲取特定語言的錯誤描述
Result 類還提供特定于語言的錯誤描述。
GetErrorDes
cription 方法將 Language
值 (頁 238)用作參數(shù),以提供指定語言的錯誤描述。
例如,以下代碼會返回德語的錯誤描述:
String strError = retVal.GetErrorDes
cription(Language.German);
示例:檢查警告
API 具有警告功能,可用于了解已發(fā)生的問題。
例如,如果 ProgramUpdate 結(jié)束時在設(shè)
備上執(zhí)行刷新,可能會生成與主調(diào)用函數(shù)沒有直接關(guān)系的警告。
可通過 Result 類訪問這
些警告DiagnosticsItem 類
診斷項(xiàng)包含單個事件的診斷信息。
可以通過 GetDiagnosticsBuffer 方法 (頁 167) 從 CPU
讀取診斷緩沖區(qū)。
構(gòu)造函數(shù) 描述
DiagnosticsItem() 創(chuàng)建默認(rèn)診斷項(xiàng)
屬性名稱 返回類型 描述
TimeStamp DateTime
{get;}
診斷事件的時間戳
State Byte
{get;}
0 = 離去事件;1 = 到達(dá)事件
Des
cription1 String
{get;}
基本描述
Des
cription2 String
{get;}
詳細(xì)說明
4.5.4 DataChangedEventArgs 類
數(shù)據(jù)更改事件包含關(guān)于 API 內(nèi)已更改的數(shù)據(jù)的信息。
有關(guān)詳細(xì)信息,請參見“IProfinet 接
口 (頁 113)”一章。
構(gòu)造函數(shù) 描述
DataChangedEventArgs(DataChanged
Type type)
創(chuàng)建特定類型的事件DataChangedEventArgs 類用于以下事件處理程序:
public delegate void DataChangedEventHandler(object sender,
DataChangedEventArgs e);
4.5.5 ProgressChangedEventArgs 類
進(jìn)度更改事件包含關(guān)于 API 內(nèi)已更改的數(shù)據(jù)的信息。
有關(guān)詳細(xì)信息,請參見
“IProfinetDevice 接口 (頁 113)”一章。
構(gòu)造函數(shù) 描述
ProgressChangedEventArgs(Progres
sAction action, int index, int
count, uint hardwareID)
用于創(chuàng)建和默認(rèn)進(jìn)度更改事件 args 類。
ProgressChangedEventArgs(Progres
sAction action, int index, int
count, int fileNumber, uint
hardwareID)
用于創(chuàng)建和默認(rèn)進(jìn)度更改事件 args 類。
ProgressAction action 已發(fā)生的進(jìn)度類型
int index 正在處理的當(dāng)前項(xiàng)目的索引
int count 待處理的總項(xiàng)目
int fileNumber 文件編號(如果適用)
uint hardwareID 正在處理的項(xiàng)目的 ID
屬性名稱 返回類型 描述
Action ProgressAction
{get;}
此事件的動作類型
Cancel bool {get;set;} 設(shè)置為真以終止當(dāng)前操作