時(shí)間:2018-12-03 10:16:53來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
AGV、機(jī)械臂的設(shè)計(jì)過(guò)程中,為了CR或CE或客戶要求,通常需要增加急停、使能、保護(hù)性停止、速度控制、安全門(mén)鎖等安全回路,在設(shè)計(jì)這些回路時(shí),有的單位選擇的是施耐德、Sick或西門(mén)子的安全PLC,而且可能會(huì)進(jìn)行二次開(kāi)發(fā),有些單位會(huì)使用DSP、ARM、FPGA等芯片自己開(kāi)發(fā)安全控制板或驅(qū)動(dòng)器。
說(shuō)到這里,不得不說(shuō)當(dāng)前行業(yè)內(nèi)存在一個(gè)很普遍的問(wèn)題,即是很多第三方普遍只評(píng)估硬件方面是否符合PL的要求(PL計(jì)算),對(duì)軟件方面則不聞不問(wèn)。這樣做其實(shí)是有極大的風(fēng)險(xiǎn),很容易被業(yè)主單位或其他第三方機(jī)構(gòu)質(zhì)疑,而無(wú)法滿足特定要求。不管二次開(kāi)發(fā)的應(yīng)用軟件還是嵌入式軟件,作為安全回路的核心控制邏輯,其軟件安全性至關(guān)重要。本文將介紹在軟件開(kāi)發(fā)中應(yīng)注意的關(guān)鍵點(diǎn)。
要向各位看官澄清的是安全軟件的開(kāi)發(fā)為什么要滿足特定的要求?能不能按照企業(yè)平常的開(kāi)發(fā)過(guò)程開(kāi)發(fā)。眾所周知,不管使用什么語(yǔ)言、什么模型、什么算法或者什么人開(kāi)發(fā),軟件內(nèi)不可避免的會(huì)殘留很多bug,這些bug只要在特定的條件下,就會(huì)導(dǎo)致軟件運(yùn)行產(chǎn)生錯(cuò)誤,也叫系統(tǒng)性失效。對(duì)于非安全應(yīng)用來(lái)說(shuō),只需要及時(shí)修復(fù)即可,但是,對(duì)于安全應(yīng)用來(lái)說(shuō),就有可能導(dǎo)致安全功能無(wú)法執(zhí)行或則執(zhí)行錯(cuò)誤,進(jìn)而引起人員傷亡等事故。因此,安全相關(guān)軟件的開(kāi)發(fā)必須要慎之又慎,相關(guān)安全標(biāo)準(zhǔn)中特定要求其實(shí)就是針對(duì)軟件開(kāi)發(fā)過(guò)程的中的要求,目的就是盡可能減少殘留在軟件中的Bug,以達(dá)到提高AGV、機(jī)器人安全性的期望。下面將會(huì)詳細(xì)介紹一些其中的關(guān)鍵點(diǎn),供各位看官理解。
一是適用標(biāo)準(zhǔn)的選擇
對(duì)于二次開(kāi)發(fā)的應(yīng)用軟件來(lái)說(shuō),如果業(yè)主單位或技術(shù)標(biāo)準(zhǔn)中要求達(dá)到相應(yīng)的PL等級(jí),則軟件在開(kāi)發(fā)過(guò)程中遵循ISO13849-1-2015中4.6節(jié)的應(yīng)用軟件相關(guān)的要求即可。對(duì)于嵌入式軟件來(lái)說(shuō),如果PL的要求在a~d之間,則按照遵循ISO13849-1-2015中4.6節(jié)的嵌入式軟件開(kāi)發(fā)要求即可;如果PL要求是e,則必須遵守IEC61508-3中的要求開(kāi)發(fā)。此外,對(duì)于安全控制板或模塊來(lái)說(shuō),可以單獨(dú)作為產(chǎn)品售賣或應(yīng)用在多個(gè)系列產(chǎn)品上,一般推薦IEC61508,ISO13849以及IEC62061這幾個(gè)標(biāo)準(zhǔn)都要滿足。
二是開(kāi)發(fā)模型的選擇
目前行業(yè)內(nèi)常用的有V模型、瀑布模型、敏捷開(kāi)發(fā)模型、螺旋式開(kāi)發(fā)模型等,但是安全軟件的開(kāi)發(fā)是趨向于保守的,它不是以開(kāi)發(fā)效率為目標(biāo),而是以開(kāi)發(fā)出安全可靠的軟件為目的。因此,目前IEC61508,ISO13849和IEC62061中都是要求開(kāi)發(fā)中使用V模型。V模型最大的益處在于測(cè)試的提前介入,即是要求測(cè)試工程師需要參與評(píng)審需求、架構(gòu)設(shè)計(jì)、詳細(xì)設(shè)計(jì)等文檔,并同步完成測(cè)試用例的設(shè)計(jì),編輯測(cè)試規(guī)范。目的是通過(guò)測(cè)試的人員的參與,及時(shí)發(fā)現(xiàn)需求或設(shè)計(jì)中存在缺陷,提高需求或設(shè)計(jì)的合理性。但是V模型也有一個(gè)最大的問(wèn)題,就是迭代。如果測(cè)試發(fā)現(xiàn)bug或者后面在進(jìn)行變更,設(shè)計(jì)應(yīng)返回到V模型的左半邊的相應(yīng)階段,并重新按照V模型執(zhí)行,這樣就會(huì)給開(kāi)發(fā)人員帶來(lái)大量的工作量。
▲圖1軟件開(kāi)發(fā)的V模型
三是開(kāi)發(fā)工具的選擇
對(duì)于開(kāi)發(fā)工具的選擇,功能安全總的的要求,即是開(kāi)發(fā)過(guò)程中必須使用經(jīng)過(guò)工具資質(zhì)確認(rèn)的開(kāi)發(fā)工具,所謂的確認(rèn)有三種可能,一是對(duì)于應(yīng)用軟件來(lái)說(shuō),可以采用PLC供應(yīng)商提供的開(kāi)發(fā)工具;二是使用經(jīng)過(guò)使用證明的開(kāi)發(fā)工具,即是在行業(yè)內(nèi)或類似產(chǎn)品開(kāi)發(fā)中已被大量使用的工具;三是使用經(jīng)過(guò)功能安全認(rèn)證的工具,即是有特定第三方團(tuán)體已對(duì)工具進(jìn)行過(guò)認(rèn)證,例如C++test已經(jīng)通過(guò)了T2類工具的認(rèn)證,Cantata也是通過(guò)認(rèn)證的。此外,還需要對(duì)開(kāi)發(fā)工具的版本、使用手冊(cè)、注意事項(xiàng)等內(nèi)容進(jìn)行確認(rèn),編輯工具確認(rèn)報(bào)告。另外,需要注意的一點(diǎn)是,軟件在線測(cè)試工具,在開(kāi)發(fā)過(guò)程中,需要和軟件本身執(zhí)行相同的PL或SIL要求。
▲圖2IEC61508標(biāo)準(zhǔn)中對(duì)工具的要求及解釋
四是開(kāi)發(fā)語(yǔ)言及編程準(zhǔn)則的選擇
目前常用的軟件開(kāi)發(fā)語(yǔ)言分為有限可變語(yǔ)言和全可變語(yǔ)言,有限可變語(yǔ)言指的是梯形圖、功能塊圖和順序功能圖等語(yǔ)言,全可變語(yǔ)言指的是C、C++、C#等,有限可變語(yǔ)言常用在應(yīng)用軟件的開(kāi)發(fā)中,全可變語(yǔ)言常用在嵌入式軟件的開(kāi)發(fā)中。在IEC61508的標(biāo)準(zhǔn)中,對(duì)語(yǔ)言要求見(jiàn)圖3.需要說(shuō)明的是,雖然ADA、PASCAL和Modul2語(yǔ)言是SIL1和SIL2強(qiáng)烈推薦的,但是由于這些語(yǔ)言已經(jīng)很老,現(xiàn)在已幾乎無(wú)人使用。嵌入式軟件開(kāi)發(fā)中,目前最常用的是C系列的語(yǔ)言。
▲圖3軟件開(kāi)發(fā)語(yǔ)言的選擇
另外,在利用上述語(yǔ)言進(jìn)行編程時(shí),編程準(zhǔn)則的使用功能安全標(biāo)準(zhǔn)中也是有要求的。下列連接是推薦使用的編程規(guī)范,圖4、圖5和圖6是標(biāo)準(zhǔn)中要求的采用的編碼準(zhǔn)則。實(shí)際使用時(shí),通常推薦軟件工程師都要采用,并且要按照編程準(zhǔn)則,執(zhí)行靜態(tài)規(guī)則檢查或者代碼評(píng)審。
編程規(guī)范舉例
http://www.misra.org.uk/
http://java.sun.com/docs/codeconv/index.html
http://www.gnu.org/prep/standards/
▲圖4ISO13849中的編程要求
▲圖5IEC61508對(duì)編程語(yǔ)言的通用要求
▲圖6IEC61508面向?qū)ο蟮木幊桃?/p>
五是開(kāi)源代碼的使用
開(kāi)源代碼是軟件開(kāi)發(fā)中很難回避的一個(gè)問(wèn)題,眾所周知,為了減少開(kāi)發(fā)的工作量,節(jié)省人工成本,提高開(kāi)發(fā)效率,很多企業(yè)在開(kāi)發(fā)中都會(huì)使用大量的開(kāi)源代碼,這些開(kāi)源代碼有些是軟件開(kāi)發(fā)庫(kù)中提供的,有些是從網(wǎng)上搜集到的。這些代碼在功能安全軟件開(kāi)發(fā)中是由極大的風(fēng)險(xiǎn),最大的風(fēng)險(xiǎn)在于這些代碼在開(kāi)發(fā)過(guò)程中未遵守功能安全開(kāi)發(fā)的流程和要求,有可能存在大量未知的bug,進(jìn)而引起安全功能失效。不過(guò),IEC61508功能安全標(biāo)準(zhǔn)中也并未完全排除開(kāi)源代碼的使用。標(biāo)準(zhǔn)中提供了三種途徑,一是使用完全按照功能安全要求開(kāi)發(fā)的源代碼,這個(gè)需要提供證明,;二是使用經(jīng)過(guò)使用證明的開(kāi)源代碼,也就是說(shuō)需要提供該開(kāi)源代碼在類似產(chǎn)品中使用的經(jīng)典案例,另外也需要做一些額外分析;三是重新對(duì)開(kāi)源代碼的開(kāi)發(fā)過(guò)程進(jìn)行正式的評(píng)估,也就是說(shuō),使用人員需要提供開(kāi)源代碼開(kāi)發(fā)的全過(guò)程的設(shè)計(jì)文件。
此外,還有一個(gè)捷徑,可以分享給大家,就是開(kāi)發(fā)人員根據(jù)開(kāi)源代碼的邏輯,按照功能安全的要求重新編寫(xiě)和測(cè)試。這樣可以省很多工作量。
標(biāo)簽:
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.hysjfh.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹(shù)莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測(cè)節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20