日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

8個規(guī)則打造一致的編程風(fēng)格(值得收藏)

 阿明哥哥資料區(qū) 2020-03-26

使用SIMATIC控制器或者SIMOTION編程時,程序員的任務(wù)是創(chuàng)建一個盡可能清晰可讀的用戶程序。每個程序員都會使用自己的方法和策略,例如命名變量或程序塊甚至是注釋的寫法。不同的程序員的方法和策略創(chuàng)建了非常不同的用戶程序,最終會產(chǎn)生各種不同的代碼。

這對程序維護和協(xié)作工作會造成一定的困難。因此可以考慮采用一致的編程風(fēng)格。

*使用一致的編程風(fēng)格的優(yōu)勢

如果有幾個程序員在同一個程序上工作,建議堅持使用統(tǒng)一協(xié)調(diào)的編程風(fēng)格。這提供了以下優(yōu)點:

●   一致的連續(xù)風(fēng)格

●   易于閱讀和理解

●   簡單的維護和可重用性

●   輕松快速的故障排除和糾錯

●   多個程序員在同一項目中高效工作

規(guī)

1

-THE FIRST-

camelCasing表示法定義標(biāo)識符-比如tempMaxLength

1. 如果編程風(fēng)格中沒有注明標(biāo)識符表示法的其他規(guī)則

2. 指南,各自的標(biāo)識符寫在camelCasing中。

3. 以下規(guī)則適用于camelCasing:

    a. 首字母以小字體書寫。

    b. 不使用分隔符(如連字符或下劃線)。

4. 如果標(biāo)識符由多個單詞組成,則每個單詞的首字母寫成大寫字母。

規(guī)

2

-THE SECOND-

塊的標(biāo)識符以大寫字母開頭;實例DB塊的前綴使用'inst'/'Inst'塊(OB,F(xiàn)B,F(xiàn)C,DB,背景數(shù)據(jù)塊,TO等)的標(biāo)識符以大寫字母開頭

例如: ConveyorControl

實例:DB塊的前綴使用'inst'/'Inst':

例如:

單次實例:InstHeater (大寫→自己的塊)

多重實例:instTimerMotor(小寫→在一個實例中

規(guī)

3

-THE THIRD-

在程序中初始化臨時變量

臨時變量(TEMP)必須由用戶進行初始化。通常,必須確保在讀取臨時變量之前始終先初始化或者寫入臨時變量值。

        Example

        #tempAcceleration := 0.0;

        #tempVelocity := #MAX

規(guī)

4

-THE FORTH-

在FC或者FB中,僅使用本地數(shù)據(jù)變量.FC和FB中不允許訪問全局?jǐn)?shù)據(jù)

1. FC和FB中不允許訪問全局?jǐn)?shù)據(jù)。這包括以下內(nèi)容:

    a. 訪問全局?jǐn)?shù)據(jù)塊和使用其他實例數(shù)據(jù)塊

    b. 訪問標(biāo)簽(標(biāo)簽表)。

2. 訪問數(shù)據(jù)通過接口進行。

規(guī)

5

-THE FIFTH-

始終評估錯誤代碼

如果程序中調(diào)用的FC,F(xiàn)B或系統(tǒng)函數(shù)提供錯誤信息和標(biāo)識,則始終需要對這些信息和標(biāo)識進行評估。通過設(shè)置布爾錯誤變量來指示錯誤。

規(guī)

6

-THE SIXTH-

常量的定義使用大寫字母和下劃線

常量的定義使用大寫字母和下劃線,常量的名稱總是以大寫字母書寫要檢測單個單詞或縮寫,應(yīng)在單個單詞或縮寫之間使用下劃線。比如:MAX_VELOCITY。而且應(yīng)該盡量使用本地常量。

規(guī)

7

-THE SEVENTH-

對于復(fù)雜的變量比如需要使用結(jié)構(gòu)體的情況下定義為用戶數(shù)據(jù)類型

用戶定義數(shù)據(jù)類型的標(biāo)識符前面帶有前綴“type”。

規(guī)

8

-THE EIGHTH-

在程序的開始進行重要信息的注釋

程序代碼(SCL,LAD,F(xiàn)BD),需要描述重要的信息,例如:

//============================================

// Company// (c)Copyright (year)

//-----------------------------------------------------------------------------

// Library: (that the source is dedicated to)

// Tested with: (test system with FW version)

// Engineering: TIA Portal (SW version)

// Restrictions: (OB types, etc.)

// Requirements: (hardware, technological package, memory needed, etc.)

// Functionality:(that is implemented in the block)

//-----------------------------------------------------------------------------

// Change log table:

// Version Date Expert in charge Changes applied

// 01.00.00 dd.mm.yyyy (Name of expert) First released version //============================================

更多詳細(xì)信息,請參考如下:

技術(shù)文檔:

《Programming Styleguide for S7-1200/1500》

https://support.industry./cs/us/en/view/109478084

系列視頻:

TIA博途.探索之旅系列學(xué)習(xí)教程

https://www.ad..cn/service/elearning/series/168.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多