應(yīng)用領(lǐng)域 | 電子 |
---|
6AG1212-1BE40-2XB0
SIPLUS S7-1200 CPU 1212C 交流/直流/繼電器 -40...+70°C 帶防腐蝕涂層 根據(jù) 6ES7212-1BE40-0XB0 . 緊湊型 CPU,AC/DC/繼電器, 機載 I/O: “8 個數(shù)字輸入 24V DC;6 個數(shù)字輸出 繼電器 2A" 2 AI 0-10V
![]() |
參考價 | ¥22 |
訂貨量 | 1 件 |
更新時間:2023-07-17 11:05:34瀏覽次數(shù):1531
聯(lián)系我們時請說明是化工儀器網(wǎng)上看到的信息,謝謝!
西門子1200寬溫型CPU模塊6AG12121BE402XB0
![]() | 6AG1212-1BE40-2XB0 SIPLUS S7-1200 CPU 1212C 交流/直流/繼電器 -40...+70°C 帶防腐蝕涂層 根據(jù) 6ES7212-1BE40-0XB0 . 緊湊型 CPU,AC/DC/繼電器, 機載 I/O: “8 個數(shù)字輸入 24V DC;6 個數(shù)字輸出 繼電器 2A” 2 AI 0-10V DC, 電源: 85-264V AC 47-63Hz時, 程序存儲器/數(shù)據(jù)存儲器 75 KB |
SIEMENS西門子
*,質(zhì)量保證,保修一年
專業(yè)銷售及維修西門子各類工控自動化配件;
:S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO邏西門子可編程控制器輯控制模塊
西門子HMI人機界面:觸摸屏
西門子變頻器:MM420、MM430、MM440、G110、G120、6SE70
西門子工業(yè)以太網(wǎng):通訊網(wǎng)卡、通訊電纜、通訊接頭、總線連接器 工控機、交換機、自動化軟件等系型號齊全,快速報價,買我們的產(chǎn)品無憂所值,我們的產(chǎn)品都承諾質(zhì)保一年,讓您買的省心舒心,用的放心!
文檔中有S和R區(qū)分,在此作如下翻譯:
rule:規(guī)則
suggestion:建議
文檔參照:
一、基本規(guī)則
1、Block/s without errors after compiling.Possible warnings are checked and evaluated.
翻譯:編譯后,確保塊沒有報錯。警告也應(yīng)該檢查并確認。(規(guī)則)
輔助解讀:廢話。編譯不通過怎么下載。
2、All required PLC data types exist in the project/library.
翻譯:項目中或庫中包含所有需要的數(shù)據(jù)類型 。(規(guī)則)
輔助解讀:廢話。需要的功能沒有編什么程序。
二、一般說明:
2.1格和客戶要求(這個翻譯不是很準(zhǔn))
3、Rule violations are documented in the program code and were discussed.
翻譯:違反規(guī)則應(yīng)該在討論后在程序中標(biāo)記出來。(規(guī)則)
輔助解讀:當(dāng)公司標(biāo)準(zhǔn)與客戶標(biāo)準(zhǔn)沖突時,需有相應(yīng)的處理辦法。
2.2 TIA Porta的設(shè)置:
4、The language is always consistent in PLC programming as well as in the HMI (English, German, ...).
翻譯: PLC程序與HMI中所用的語言應(yīng)該是始終*的。(規(guī)則)
輔助解讀:個人覺得,PLC內(nèi)不要使用中文,但HMI面向中國人的還是使用中文吧。
5、The editing and reference language is set to English (United States).
翻譯:編輯和參考語言設(shè)定為英語(美國)。(規(guī)則)
輔助解讀:在中國使用漢語吧。
6、The user interface language used in the TIA Portal is English(United States).
翻譯:TIA Portal用戶界面語言使用英語(美國)。(建議)
輔助解讀:同上
7、 Mnemonic (language setting for programming languages) mustbe set to “International”.
翻譯:助記符(編程語言設(shè)定的語言)必須設(shè)置為“”。(規(guī)則)
輔助解讀:默認就是。不設(shè),設(shè)"德國"更不懂。
8、Tab characters are not permitted in the source text. Indentations must be realized with two space characters.
翻譯:源文本中不允許使用制表符Tab。縮進必須使用兩個空格符號。(規(guī)則)
輔助解讀:真?zhèn)€沒看懂。不過可在博圖中找到設(shè)置。“選項”“設(shè)置”“常規(guī)”“腳本/文本編輯器”。我的V14 SP1默認設(shè)置。
2.3標(biāo)識符/助記符
9、The identifiers are all composed in English language.
翻譯:標(biāo)識符全部使用英語。(規(guī)則)
輔助解讀:之前在論壇中看到一個討論編程中使用英文的帖子,個人覺得不錯,找到了再貼上。
10、It is not permitted to use identifiers with the same name that only differ in upper and lower case.
翻譯:不允許使用只有大小寫區(qū)分但名稱相同的標(biāo)識符。(規(guī)則)
輔助解讀:不點評。
11、Identifiers are defined in camelCasing notation.
翻譯:標(biāo)識符使用駱駝命名法。(規(guī)則)
輔助解讀:PLC沒有統(tǒng)一的命名法,但可以參考PC編程。主要的有三種;
駱駝命名法(camelCase):除一個單詞外,其他單詞首字母大寫,中間沒有其他連接符或空格。西門子推薦全局變量(global tags)、塊(FC、FB)形參(Input、Output、InOut、Static、Temp)、多重背景數(shù)據(jù)塊(Multi-instance)和PLC數(shù)據(jù)類型(UDT)都使用這種命名方法。
帕斯卡命名法(PascalCase):與駱駝命名法的區(qū)別是一個單詞首字母也要大寫。西門子推薦全局數(shù)據(jù)塊(Global DB)、單個實例背景數(shù)據(jù)塊(Single Instance DB)、程序塊(OB、FB、FC)、變量表、監(jiān)控表、Trace、組合測量、工藝對象等的命名均采用此命名方法。
還有其他命名法,如蛇命名法(snake_case),匈牙利命名法(Hungarian),就不再討論了。另外,程序命名中用下劃線“_”的比較多,西門子對下劃線的建議用法僅限于常量,要求全部大寫,單詞間使用x下劃線連接(見第43條)。
資料: Programming Guideline for S7-1200/S7-1500
12、Identifiers have a maximal length of 24 characters.
翻譯:標(biāo)識符大長度不要超過24個字節(jié)(建議)。
輔助解讀:無
13、special characters or blanks are not used.
翻譯;不要使用特殊標(biāo)識符和/或空格。(規(guī)則)
輔助解讀:特殊標(biāo)識符不容易使用到,但空格要注意。
14、only meaningful identifiers are used.
翻譯:使用有實際意義的標(biāo)識符。(規(guī)則)
輔助解讀:引用主題帖【探討】PLC編碼規(guī)范, 持續(xù)更新的一句話:程序中注釋,過去一直認為越詳細越好,不過世道變了,現(xiàn)在推薦代碼自我注釋,也就是說,清晰的代碼不要注釋也很容易理解,而凌亂的代碼即使有注釋也不大理解。注釋不要去解釋某條語句或指令,要寫出代碼的意圖。
15、 the uniform abbreviations are used correctly.
翻譯:正確使用縮寫。(建議)
輔助解讀:正確使用縮寫。
16、only one abbreviation per identifier is used.
翻譯:要求每個標(biāo)識符只有一個縮寫。(建議)
輔助解讀: 有沒有哪位大俠整理過一些標(biāo)識符,共享一下。 看西門子庫程序,電機(Motor)簡稱Mtr,閥(Valve)簡稱Vlv,但沒詳細的表格。
三、PLC程序
3.1 程序塊和外部源文件
(英語原文是Program blocks and sources,個人猜測這個sources是外部源文件。)
17、Only short, functional names are used for blocks.
翻譯:使用簡短有實際意義的名字為塊命名。(建議)
輔助解讀:同14.
18、All identifiers of blocks start with a capital letter.
翻譯:所有塊的標(biāo)識符一個字母大寫。(規(guī)則)
輔助解讀:使用PascalCase命名法,參照11點評。
19、Instances have the prefix “inst” / “Inst”。
翻譯:背景數(shù)據(jù)塊加前綴“inst ”或“Inst”,多重背景數(shù)據(jù)塊使用“inst”(駱駝命名法,參照第11點評),單個實例背景數(shù)據(jù)塊使用“Inst”(帕斯卡命名法)(規(guī)則)
輔助解讀:FB塊和FC塊使用時,其形式參數(shù)命名方式不同。其中Input、Output和InOut不推薦使用前綴,靜態(tài)變量(Static)使用前綴“stat”,臨時變量(Temp)使用前綴temp。這樣方便用戶區(qū)分不同的數(shù)據(jù)類型,增強程序需可讀性。
20.Auto numbering is activated in all blocks.
翻譯;所有的塊都使用自動編號。(規(guī)則)
輔助解讀:使用自動編號可避免塊重復(fù)。
21、The line length in the program editor is max. 80 characters long.
翻譯:程序編輯器行長度大不超過80個字符。(建議)
輔助解讀:看資料說為了可讀性。
22、No sources (SCL, STL) are used.
翻譯:不使用外部源文件。(規(guī)則)
輔助解讀:還是搞不懂這個源是什么。資料說,為了使用博圖完整功能,保證編譯,不要使用外部編輯或后來導(dǎo)入的源程序。這個源是剛剛我猜測的那個外部源文件嗎?
23. SCL is preferably used as programming language.
翻譯:SCL是比較好的編程語言。(建議)
輔助解讀:
24. If possible, multi-instances are always used.
翻譯:盡量多使用多重數(shù)據(jù)背景數(shù)據(jù)塊。(規(guī)則)
輔助解讀:少使用單個實例背景數(shù)據(jù)塊,減少數(shù)據(jù)碎片。
25. DBs are stored in the load memory in exceptional cases only.
翻譯:除了極個別特殊情況,DB塊不要存儲在load memory(MMC卡,F(xiàn)LASH卡等)內(nèi)。(規(guī)則)
輔助解讀:例外比如,要保存大量的測量數(shù)據(jù)或菜單。
26. Within a block, only local tags are used.
翻譯:在塊內(nèi)部,只能使用本地變量(規(guī)則)。
輔助解讀:FC或FB內(nèi)部不建議使用全局數(shù)據(jù),包括全局數(shù)據(jù)塊(GlobalDB)、單個實例背景數(shù)據(jù)塊(single-instance DB)和PLC變量。這應(yīng)該是為了程序塊的移植性。
【萬泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
27. Use of global constants is prevented.
翻譯:不推薦使用全局變量(推薦)
輔助解讀:否則,塊不能模塊化使用。
28. Important test tags are not defined as temp tags.
翻譯:測試性質(zhì)的變量不要定義為temp類型。(規(guī)則)
輔助解讀:參照第49條。
29. All FCs, FBs, have the attribute “Block can be used as know-how protected”
翻譯:所有FC塊、FB塊都有“專有技術(shù)保護”屬性。(規(guī)則)
輔助解讀:這條已經(jīng)過時。從V14開始,屬性下已沒有“專有技術(shù)保護”屬性,而在“保護”中可直接設(shè)置專有技術(shù)保護。
3.2 注釋
30. The program code is sufficiently documented with block and linecomments.
翻譯:在程序中,要充分使用塊注釋和行注釋(建議)
輔助解讀:感覺是在SCL語言中的用法。塊注釋在程序段的前面,行注釋在程序行的后面。
31. only // comments are used.
翻譯:建議只使用“//”來注釋。(建議)
輔助解讀:感覺是在SCL語言中的用法。
32、The template (block header) for the block description is used for all blocks.
翻譯:所有塊都要在塊前面使用塊描述模板。(規(guī)定)
輔助解讀:描述要包括以下幾部分
-公司名稱
-聲明版權(quán),版權(quán)所有(可選擇)
-附加信息(可選擇)
-庫名稱
-使用的PLC型號及固件版本
-創(chuàng)建的TIA Portal版本
-使用限制(比如:包含組織塊)
-需求(比如:添加硬件)
-塊功能描述
-版本,日期和創(chuàng)建者
3.3 形參
33、Input, Output and InOut tags (formal parameters) have no prefix.
翻譯:形式參數(shù)(塊的Input, Output和InOut)不需要任何前綴。(規(guī)則)
輔助解讀:參照第19點評。
34、Data exchange between blocks is performed exclusively via the block interfaces.
翻譯:塊之間的數(shù)據(jù)交換只能通過塊接口完成。(規(guī)則)
輔助解讀:如果數(shù)據(jù)需要在多個FB塊或FC塊中使用,數(shù)據(jù)交換只能通過塊接口(Input, Output and InOut)完成,不要直接訪問本FB塊之外的靜態(tài)變量,即單個塊不能訪問別的背景數(shù)據(jù)塊中的數(shù)據(jù)。
35、 Elementary data types are defined correctly as In, Out or InOut (if the value is written within or outside of the block).
翻譯:基本數(shù)據(jù)類型(Bool、Word、Int等)正確作為In, Out or InOut使用。(建議)
輔助解讀:一頭霧水。難道是分清In、OUT、InOUT的用法,只讀用In,只寫用OUT,可讀可寫用InOut。
36、Many tags are transferred as PLC datatypes.
翻譯:需要調(diào)用大量數(shù)據(jù),使用PLC數(shù)據(jù)類型。(建議)
輔助解讀:大量需要交換的數(shù)據(jù),比如配置數(shù)據(jù)、當(dāng)前值、設(shè)定值等,需要封裝為PLC數(shù)據(jù)類型,然后作為InOut變量使用。
37、No STRUCT data types are used.
翻譯:在PLC程序中,不要使用STRUCT數(shù)據(jù)類型。(規(guī)則)
輔助解讀:在PLC程序中,除特殊情況,使用PLC數(shù)據(jù)類型代替Struct數(shù)據(jù)類型。特殊情況是專有技術(shù)保護的塊。原因是:在后臺會為每個PLC數(shù)據(jù)類型自動分配編號,當(dāng)把技術(shù)保護的塊復(fù)制到其他項目,編號不會改變,導(dǎo)致新項目需要密碼才能編譯通過。
38、Structured tags are transferred as InOut.
翻譯:Struct數(shù)據(jù)類型應(yīng)作為“InOut”使用。(建議)
輔助解讀:你們等著,我搞明白了再來補充。
39、Output tags are only written once.
翻譯:輸出變量只寫一次。(建議)
輔助解讀:程序內(nèi)部可以使用臨時變量代替,然后將臨時變量值傳輸給Output變量。這樣可以保證所有的輸出值保持*。(就是預(yù)防雙線圈)
四、變量聲明
4.1 靜態(tài)變量和臨時變量
40、The static tags are only called locally.
翻譯:靜態(tài)變量只能在本地調(diào)用(規(guī)則)
輔助解讀:靜態(tài)變量不能被其他塊調(diào)用,換句話說,就是每個FB只能調(diào)用自己的靜態(tài)變量。
參看主題帖:【投票】【萬泉河】FB內(nèi)的static靜態(tài)變量是全局變量嗎?
41. static tags have the prefix “stat”.
翻譯:靜態(tài)變量加前綴“stat”。(規(guī)則)
輔助解讀:參照第19條
42. temp tags have the prefix “temp”.
翻譯:臨時變量加前綴“temp”。(規(guī)則)
輔助解讀:參照第19條
4.2 常量
43. All constants are written in CAPITAL LETTERS. Several words in the name are separated by underscore.
翻譯:常量名全部用大寫,若由多個單詞組成,單詞間使用“_”連接。(規(guī)則)
輔助解讀:參照第11條
44. All constants are only used locally.
翻譯:所有常量只能在本地使用(規(guī)則)
輔助解讀:無解讀
4.3 數(shù)組
45、Constants are used for polling values unequal to 0.
翻譯:常量如果用于輪詢(循環(huán))不能等于0(建議)
輔助解讀:無解讀
46. The name of an array is always plural.
翻譯:數(shù)組名稱應(yīng)該是復(fù)數(shù)。(建議)
輔助解讀:數(shù)組名稱應(yīng)該用復(fù)數(shù)形式
47、 Array indices starts with 0 and end with a constant.
翻譯:數(shù)組索引應(yīng)該以0開始,以常數(shù)結(jié)束。
輔助解讀:數(shù)據(jù)建成小索引為0的數(shù)組(零基數(shù)組),因為有些只支持零基數(shù)組。
4.4 PLC數(shù)據(jù)類型
48、PLC data types have the prefix “type”.
翻譯:所有PLC數(shù)據(jù)類型加前綴“type”(規(guī)則)
輔助解讀:參照第19點。
49、All temp tags are initialized in the program before they are read.
翻譯:臨時變量先聲明再使用(規(guī)則)
輔助解讀:關(guān)于臨時變量(temp tags)的用法,借用工控老鬼博客中的對temp變量的介紹來詳細說下:
使用臨時變量需遵守“先賦值后使用” 的原則,即程序中一次出現(xiàn)臨時變量,必須是對其賦值(或刷新線圈)的指令,而不能是讀指令。這是因為,臨時變量不能像M或Q保持上個周期的值,每個周期結(jié)束后會將其占用的內(nèi)存釋放,恢復(fù)到初始狀態(tài)。
因其這個特性,臨時變量不在使用在需要跨周期完成的程序中,比如上升沿,測試類的數(shù)據(jù)。一般建議是臨時變量不用在邏輯控制中,只在做運算或者是程序內(nèi)部防止雙線圈輸出作為Output變量的臨時代替值。
50、The initialization is performed in the usual representation of therespective data type.
翻譯:對某數(shù)據(jù)類型的初始化要符合一般的規(guī)范。(規(guī)則)
輔助解讀:比如一個WORD數(shù)據(jù)類型,初始化應(yīng)該是16#0001而不是16#1.
51、Actual parameters of TOs are initialized with -1.0.
翻譯:工藝對象的實際參數(shù)初始化為-1.0.(建議)
輔助解讀: 資料解釋說,可區(qū)分是否被用戶分配。具體不是很清楚。
西門子1200寬溫型CPU模塊6AG12121BE402XB0