和OB21
——相同的周期中斷OB塊:OB32、 OB33、OB34 和OB35
——相同的全局通信數(shù)量:8
——斷點(diǎn)數(shù)目從2個(gè)到4個(gè)
——CPU312 的標(biāo)簽有256 字節(jié)
——CPU 312 具有256個(gè)S7定時(shí)器/S7 計(jì)數(shù)器
——診斷緩沖器
診斷緩沖器的大?。?00條診斷信息,的100條具有保持功能
CPU運(yùn)行狀態(tài)下顯示的診斷緩沖器條目可以為10到499條。默認(rèn)值為10條。
兼容性
新一代的S7-300 CPU 在具有備件兼容性的條件下可以替代以前的版本。
舊版本的312、314、315(F)-2 DP CPU仍然可以訂貨,在大約1年的時(shí)間內(nèi),舊版本的312、314、315(F)-2 DP CPU和新一代的CPU可以同時(shí)提供,在此之后,我們只提供V3.0或更高版本的CPU。
@ 電機(jī)分批自啟動(dòng)技術(shù)在石油化工等連續(xù)生產(chǎn)企業(yè)中有著廣泛的用途。以PLC為核心控制單元的電機(jī)分批自啟動(dòng)具有以下功能及特點(diǎn):
1、能夠?qū)崟r(shí)地監(jiān)控電機(jī)的運(yùn)行狀態(tài);
2、記憶電網(wǎng)波動(dòng)前電機(jī)的運(yùn)行狀態(tài),只有在電網(wǎng)波動(dòng)前處于運(yùn)行狀態(tài)而且在電網(wǎng)波動(dòng)時(shí)停機(jī)的電機(jī)才具備電機(jī)自啟動(dòng)條件;
3、準(zhǔn)確及時(shí)地捕獲電網(wǎng)電壓信息。
4、分批自啟動(dòng)的電機(jī)按照工藝流程需要,在PLC中預(yù)先設(shè)置,同時(shí)為避免多臺(tái)電機(jī)在自啟動(dòng)中對(duì)電網(wǎng)的影響、電機(jī)分批自啟動(dòng)中采用分批延時(shí)處理;
5、具有多路輸入和多路輸出功能,實(shí)現(xiàn)多臺(tái)電機(jī)自啟動(dòng)集中控制;
6、具備遠(yuǎn)程通信接口,實(shí)現(xiàn)與機(jī)或DCS的通信,在機(jī)或DCS中方便地對(duì)該進(jìn)行監(jiān)控和。
洛陽(yáng)石油化工總廠的2套PLC電機(jī)分批自啟動(dòng)設(shè)備,采用西門(mén)于S7-300系列PLC,它以CPU313為處理單元,每執(zhí)行1000條二進(jìn)制指令約需 0.7ms。S7—300同時(shí)具備128點(diǎn)數(shù)字量輸入/輸出和32路模擬量輸入/輸出,12KB的RAM, 5" style="font-family:Arial, sans-serif;font-size:10.5pt;vertical-align:middle;"> 6ES7 314 - 6CG03 - 0AB0 V2.6 西門(mén)子S7-300程序如何顯示為梯形圖?
大部分的電氣工程師都習(xí)慣于梯形圖的編程。因?yàn)樗?lèi)似于繼電器電路圖的表達(dá)直觀、易懂,便于分析和推理。但是在S7-300/400中,有些程序只能顯示為語(yǔ)句表,無(wú)法轉(zhuǎn)為梯形圖。
有朋友問(wèn):
如下的STL程序:
A I1.0
= Q0.5
A I0.6
= Q0.7
A I1.2
= Q1.0
這樣的STL程序,在視圖選擇LAD時(shí),應(yīng)能轉(zhuǎn)換為梯形圖,但它不能轉(zhuǎn)換,仍為STL語(yǔ)句表程序,選擇FBD時(shí),仍不能轉(zhuǎn)換為功能塊圖,仍為STL語(yǔ)句表程序。通常LAD,F(xiàn)BD或 STL三種形式是可以相互轉(zhuǎn)換的,但它不能,這樣的編程,該如何操作。
這樣的程序要分成3段才能正常顯示出梯形圖來(lái),如:
Network1
A I0.0
= Q0.5
Network2
A I0.6
= Q0.7
Network3
……
……
這樣才能正確轉(zhuǎn)換為梯形圖。
西門(mén)子用LAD編寫(xiě)的程序轉(zhuǎn)化為STL是肯定可以的,但STL轉(zhuǎn)為L(zhǎng)AD就有的時(shí)候不能成功。
因?yàn)榧词谷缟侠粯?,將N個(gè)程序段落寫(xiě)在一塊,在STL下也是允許的,而LAD下不不可能編譯成功。
-----------------------------------------------------------------------------------------------------------------------------------
類(lèi)似的還有用STL寫(xiě)的計(jì)時(shí)器、計(jì)數(shù)器。
在LAD編輯下:
圖6 中間變量“TEMP_value"定義為T(mén)EMP時(shí)的在線(xiàn)數(shù)據(jù)
對(duì)于同一個(gè)中間變量,在FB中定義為不同的參數(shù)類(lèi)型時(shí),其接口參數(shù)和對(duì)應(yīng)的背景數(shù)據(jù)塊的顯示都不盡相同。所以在不同的需求下可自行定義中間變量的類(lèi)型,以不同的需求。西門(mén)子創(chuàng)新工業(yè)之道是“知其道,用其妙",編程也不例外,知“FB接口類(lèi)型"之道,用其妙。
可編程控制器技術(shù)主要是應(yīng)用于自動(dòng)化控制工程中,如何綜合地運(yùn)用前面學(xué)過(guò)知識(shí)點(diǎn),根據(jù)實(shí)際工程要求合理組合成控制, 在此介紹組成可編程控制器控制的一般。
二、可編程控制器控制設(shè)計(jì)的基本步驟
1 .設(shè)計(jì)的主要內(nèi)容
( 1 )擬定控制設(shè)計(jì)的技術(shù)條件。技術(shù)條件一般以設(shè)計(jì)任務(wù)書(shū)的形式來(lái)確定,它是整個(gè)設(shè)計(jì)的依據(jù);
( 2 )選擇電氣傳動(dòng)形式和電動(dòng)機(jī)、電磁閥等執(zhí)行機(jī)構(gòu);
( 3 )選定 PLC 的型號(hào);
( 4 )編制 PLC 的輸入 / 輸出分配表或繪制輸入 / 輸出端子接線(xiàn)圖;
( 5 )根據(jù)設(shè)計(jì)的要求編寫(xiě)規(guī)格說(shuō)明書(shū),然后再用相應(yīng)的編程語(yǔ)言(常用梯形圖)進(jìn)行程序設(shè)計(jì);
( 6 )了解并遵循用戶(hù)認(rèn)知心理學(xué),人機(jī)界面的設(shè)計(jì),增強(qiáng)人與機(jī)器之間的友善關(guān)系;
( 7 )設(shè)計(jì)操作臺(tái)、電氣柜及非電器元部件;
( 8 )編寫(xiě)設(shè)計(jì)說(shuō)明書(shū)和使用說(shuō)明書(shū);
根據(jù)具體任務(wù),上述內(nèi)容可適當(dāng)。
2 . 設(shè)計(jì)的基本步驟
可編程控制器應(yīng)用設(shè)計(jì)與調(diào)試的主要步驟,
1 可編程控制器應(yīng)用設(shè)計(jì)與調(diào)試的主要步驟
( 1 )深入了解和分析被控對(duì)象的工藝條件和控制要求
a .被控對(duì)象就是受控的機(jī)械、電氣設(shè)備、生產(chǎn)線(xiàn)或生產(chǎn)。
b .控制要求主要指控制的基本、應(yīng)完成的、自動(dòng)工作循環(huán)的組成、必要的保護(hù)和聯(lián)鎖等。對(duì)較復(fù)雜的控制,還可將控制任務(wù)分成幾個(gè)部分,這種可化繁為簡(jiǎn),有利于編程和調(diào)試。
( 2 )確定 I/O 設(shè)備
根據(jù)被控對(duì)象對(duì) PLC 控制的功能要求,確定所需的用戶(hù)輸入、輸出設(shè)備。常用的輸入設(shè)備有按鈕、選擇開(kāi)關(guān)、行程開(kāi)關(guān)、傳感器等,常用的輸出設(shè)備有繼電器、器、指示燈、電磁閥等。
( 3 )選擇的 PLC 類(lèi)型
根據(jù)已確定的用戶(hù) I/O 設(shè)備,統(tǒng)計(jì)所需的輸入和輸出的點(diǎn)數(shù),選擇的 PLC 類(lèi)型,包括機(jī)型的選擇、容量的選擇、 I/O 模塊的選擇、電源模塊的選擇等。
( 4 )分配 I/O 點(diǎn)
分配 PLC 的輸入輸出點(diǎn),編制出輸入 / 輸出分配表或者畫(huà)出輸入 / 輸出端子的接線(xiàn)圖。接著九可以進(jìn)行 PLC 程序設(shè)計(jì),同時(shí)可進(jìn)行控制柜或操作臺(tái)的設(shè)計(jì)和現(xiàn)場(chǎng)施工。
( 5 )設(shè)計(jì)應(yīng)用梯形圖程序
根據(jù)工作功能圖表或狀態(tài)流程圖等設(shè)計(jì)出梯形圖即編程。這一步是整個(gè)應(yīng)用設(shè)計(jì)的核心工作,也是比較困難的一步,要設(shè)計(jì)好梯形圖,首先要十分熟悉控制要求,同時(shí)還要有一定的電氣設(shè)計(jì)的實(shí)踐。
( 6 )將程序輸入 PLC
當(dāng)使用簡(jiǎn)易編程器將程序輸入 PLC 時(shí),需要先將梯形圖轉(zhuǎn)換成指令助記符,以便輸入。當(dāng)使用可編程序控制器的輔助編程在計(jì)算機(jī)上編程時(shí),可通過(guò)上下位機(jī)的連接電纜將程序下載到 PLC 中去。
( 7 )進(jìn)行
程序輸入 PLC 后,應(yīng)*行工作。因?yàn)樵诔绦蛟O(shè)計(jì)中,難免會(huì)有疏漏的地方。因此在將 PLC 連接到現(xiàn)場(chǎng)設(shè)備上去之前,必需進(jìn)行,以排除程序中的錯(cuò)誤,同時(shí)也為整體調(diào)試打好基礎(chǔ),縮短整體調(diào)試的周期。
( 8 )應(yīng)用整體調(diào)試
在 PLC 軟硬件設(shè)計(jì)和控制柜及現(xiàn)場(chǎng)施工完成后,就可以進(jìn)行整個(gè)的聯(lián)機(jī)調(diào)試,如果控制是由幾個(gè)部分組成,則應(yīng)先作局部調(diào)試,然后再進(jìn)行整體調(diào)試;如果控制程序的步序較多,則可*行分段調(diào)試,然后再連接起來(lái)總調(diào)。調(diào)試中發(fā)現(xiàn)的問(wèn)題,要逐一排除,直至調(diào)試成功。
( 9 )編制技術(shù)文件
技術(shù)文件包括說(shuō)明書(shū)、電氣原理圖、電器布置圖、電氣元件明細(xì)表、 PLC 梯形圖。
三、 PLC 硬件設(shè)計(jì)
1 . PLC 型號(hào)的選擇
在作出控制方案的決策之前,要詳細(xì)了解被控對(duì)象的控制要求,從而決定是否選用 PLC 進(jìn)行控制。
在控制邏輯關(guān)系較復(fù)雜(需要大量中間繼電器、時(shí)間繼電器、計(jì)數(shù)器等)、工藝流程和產(chǎn)品改型較、需要進(jìn)行數(shù)據(jù)處理和信息(有數(shù)據(jù)運(yùn)算、模擬量的控制、 PID 調(diào)節(jié)等)、要求有較高的可靠性和性、實(shí)現(xiàn)工廠自動(dòng)化聯(lián)網(wǎng)等情況下,使用 PLC 控制是很必要的。
目前,眾多的生產(chǎn)廠家提供了多種系列功能各異的 PLC 產(chǎn)品,使用戶(hù)眼花繚亂、無(wú)所適從。所以權(quán)衡利弊、合理地選擇機(jī)型才能達(dá)到經(jīng)濟(jì)實(shí)用的目的。一般選擇機(jī)型要以功能需要為宗旨,不要盲目貪大求全,以免造成投資和設(shè)備資源的浪費(fèi)。機(jī)型的選擇可從以下幾個(gè)方面來(lái)考慮。
( 1 )對(duì)輸入 / 輸出點(diǎn)的選擇
盲目選擇點(diǎn)數(shù)多的機(jī)型會(huì)造成一定浪費(fèi)。
要先弄控制的 I/O 總點(diǎn)數(shù),再按實(shí)際所需總點(diǎn)數(shù)的 15 ~ 0
進(jìn)行遠(yuǎn)程擴(kuò)展;這種適用于分布范圍很廣的。通過(guò)CPU中的–DP接口多可連接125個(gè)總線(xiàn)結(jié)點(diǎn)。中
央控制器和后一個(gè)結(jié)點(diǎn)的距離為
23 km
? 斜坡時(shí)間可調(diào),平穩(wěn)加速,對(duì)對(duì)齒輪單元、軸承、滾筒和輥軸的壓力
? 單脈沖高轉(zhuǎn)矩啟動(dòng)功能適用于帶有較高啟動(dòng)轉(zhuǎn)矩的傳送帶
? 通過(guò)使用制動(dòng)電阻或直流制動(dòng)功能實(shí)現(xiàn)動(dòng)態(tài)性能
? 通過(guò)監(jiān)控負(fù)載轉(zhuǎn)矩實(shí)現(xiàn)皮帶損壞檢測(cè)
加工類(lèi)應(yīng)用
? 加工制造業(yè)中的單個(gè)驅(qū)動(dòng)。例如,軋鋼機(jī),攪拌機(jī),捏煉機(jī),破碎機(jī),攪動(dòng)機(jī),離心分離機(jī)等
? 加工機(jī)器中帶機(jī)械連動(dòng)抽的主要驅(qū)動(dòng)。例如,用于加工紡織品,繩索和線(xiàn)纜的環(huán)錠紗紡機(jī),編織機(jī)等
對(duì)于連續(xù)加工類(lèi)應(yīng)用,SINAMICS V 西門(mén)子1P6ES7416-3XRO5-OABO 0的PID參數(shù)自動(dòng)調(diào)節(jié)實(shí)驗(yàn)。
用運(yùn)算放大器模擬被控對(duì)象一般需要做印刷電路板,還是比較麻煩。有沒(méi)有更簡(jiǎn)單的呢?
除了用運(yùn)算放大器來(lái)模擬被控對(duì)象的傳遞函數(shù),也可以用PLC的程序來(lái)模擬。為此我編寫(xiě)了用來(lái)模擬被控對(duì)象的S7- px;" />
圖6 中間變量“TEMP_value"定義為T(mén)EMP時(shí)的在線(xiàn)數(shù)據(jù)
對(duì)于同一個(gè)中間變量,在FB中定義為不同的參數(shù)類(lèi)型時(shí),其接口參數(shù)和對(duì)應(yīng)的背景數(shù)據(jù)塊的顯示都不盡相同。所以在不同的需求下可自行定義中間變量的類(lèi)型,以不同的需求。西門(mén)子創(chuàng)新工業(yè)之道是“知其道,用其妙",編程也不例外,知“FB接口類(lèi)型"之道,用其妙。
西門(mén)子STL間接尋址常問(wèn)問(wèn)題集
1.1如何指針或者間接尋址有關(guān)的信息?
指針的類(lèi)型包括16位指針、32位指針、Pointer(6Byte)和Any(10Byte)。16位指針用于定時(shí)器、計(jì)數(shù)器、程序塊的尋址;32位指針用于I/Q/M/L/數(shù)據(jù)塊等存儲(chǔ)器中位、字節(jié)、字以及雙字的尋址,其中第0~2位表示位地址(0~7)、第3~18位為字節(jié)地址,其余位未定義;Pointer和Any一般應(yīng)用在復(fù)雜數(shù)據(jù)類(lèi)型(比如Date_and_Time /Array/String等)在FB、FC之間的傳遞。而Any可以看做是對(duì)Pointer的延伸,因?yàn)橛?0Byte組成的Any中Byte4~Byte9就是一個(gè)Pointer。
了解指針的格式十分重要,為正確使用指針,應(yīng)閱讀如下內(nèi)容:
1、 "SIMATIC Programming with STEP 7 V5.5" 05/ 5" style="font-family:Arial, sans-serif;font-size:10.5pt;vertical-align:middle;"> 6ES7 314 - 6CG03 - 0AB0 V2.6
2. 調(diào)用FC時(shí)使用string, array, structure ,UDT作為其形參或者調(diào)用FB時(shí)使用string, array, structure 或者UDT作為其in out形參,在FC/FB程序中訪(fǎng)問(wèn)這些地址則AR1寄存器內(nèi)容被覆蓋,因此當(dāng)使用AR1進(jìn)行間接尋址時(shí)需要注意AR1內(nèi)容的正確性。
TAR2 #AR2_SAVE; //AR2寄存器狀態(tài)保存到#AR2_SAVE
L DINO;
T #DB2_SAVE; //DI寄存器狀態(tài)保存到#DB2_SAVE
LAR2 #AR2_SAVE; //AR2寄存器恢復(fù)到使用前狀態(tài)1.4 如何多重背景FB中的變量在背景DB里的偏移量呢?
OPN DI [#DB2_SAVE]; //DI寄存器恢復(fù)到使用前狀態(tài)
可以用下面的處理:
TAR2 (多重背景FB在背景DB里的偏移地址)
AD DW#16#00FFFFFF (屏蔽掉存儲(chǔ)區(qū)ID,可參考32位指針格式)
L P##Variable (變量在多重背景FB里的地址)
+D (多重背景FB的偏移地址與變量在多重背景FB里地址相加,即實(shí)際偏移量)
LAR1
上述語(yǔ)句就是就了變量在背景DB中的偏移量,從而供后續(xù)程序處理。 1.5如何在程序中使用ANY 型指針? 簡(jiǎn)要說(shuō)明如下:
L P##Input //指向存儲(chǔ)地址指針I(yè)nput首地址
//這個(gè)參數(shù)是一個(gè)Any類(lèi)型,P##Input指向參數(shù)Input的值所在地址,這就是指針的指針
LAR1 //裝載到地址寄存器AR1中。
L W [AR1,P#4.0] //打開(kāi)DB塊
// 由Any類(lèi)型結(jié)構(gòu)知道Any類(lèi)型的Byte4、Byte5存放的數(shù)據(jù)塊號(hào)
T #BLOCK_NO
OPN DB [#BLOCK_NO] //如果是DB塊,打開(kāi)的DB塊。
L W [AR1,P#2.0] //判斷ANY指針中數(shù)據(jù)長(zhǎng)度
// Any類(lèi)型的Byte2、Byte3是重復(fù)系數(shù),如P#DB1.DBX0.0 Byte 8后面的Byte 8
_001:T #DATA_LEN //通常此處做loop循環(huán)??!
L D [AR1,P#6.0] //找出需要計(jì)算數(shù)據(jù)區(qū)的開(kāi)始地址
// Any類(lèi)型Byte6~Byte9是32位區(qū)域地址
理解Pointer、Any的類(lèi)型的數(shù)據(jù)結(jié)構(gòu),對(duì)于正確使用指針有很大幫助。
為正確使用指針,應(yīng)仔細(xì)閱讀如下內(nèi)容:
"SIMATIC Programming with STEP 7 V5.5" 05/ 0PLC中,不時(shí)有通訊口損壞,致使不能連接PC或不能進(jìn)行通訊,在對(duì)PLC解體時(shí)發(fā)現(xiàn),在PLC通訊口出有一芯片--75176,這就是通訊接口芯片,在芯片周?chē)?個(gè)FB,標(biāo)識(shí)FB1~FB5,這其實(shí)就是5個(gè),在通訊連不上時(shí),一般就是這5個(gè)中的某個(gè)燒毀了,可用同等型號(hào)的代替,也可用導(dǎo)線(xiàn)直接短路。一般就能解決問(wèn)題。不過(guò)更換時(shí)要注意,由于元件時(shí)貼片的,十分小,空間也小,所以焊接時(shí)注意不要短路。
開(kāi)入模塊(16點(diǎn),48/125VDC) 6ES7 322-1BH01-0AA0 開(kāi)出模塊(16點(diǎn),24VDC) 6ES7 322-1BH10-0AA0 開(kāi)出模塊(16點(diǎn),24VDC)高速 6ES7 322-1CF00-0AA0 開(kāi)出模塊(8點(diǎn),48-125VDC) 6ES7 322-8BF00-0AB0 開(kāi)出模塊(8點(diǎn),24VDC)診斷能力 6ES7 322-5GH00-0AB0 開(kāi)出模塊(16點(diǎn),24VDC,接點(diǎn),故障保護(hù)) 6ES7 322-1BL00-0AA0 開(kāi)出模塊(32點(diǎn),24VDC) 6ES7 322-1FL00-0AA0 開(kāi)出模塊(32點(diǎn),1 西門(mén)子1P6ES7414-3EMO5-OABO 0每執(zhí)行一次這條指令,在診斷緩沖區(qū)產(chǎn)生一條錯(cuò)誤記錄,同時(shí)ERR LED閃爍,直到 "Tag_1"復(fù)位。
關(guān)于ET 0實(shí)現(xiàn)小車(chē)往返的自動(dòng)控制。控制為:按下啟動(dòng)按鈕,小車(chē)從左邊往右邊(右邊往左邊運(yùn)動(dòng))當(dāng)運(yùn)動(dòng)到右邊(左邊)碰到右邊(左邊)的行程開(kāi)關(guān)后小車(chē)自動(dòng)做返回運(yùn)動(dòng),當(dāng)碰到另一邊的行程開(kāi)關(guān)后又做返回運(yùn)動(dòng)。如此的往返運(yùn)動(dòng),直到當(dāng)按下停車(chē)按鈕后小車(chē)停止運(yùn)動(dòng)。
設(shè)計(jì)思路:可以按照電氣接線(xiàn)圖中的思路來(lái)進(jìn)行編寫(xiě)程序。即可以利用下一個(gè)狀態(tài)來(lái)封閉前一個(gè)狀態(tài)。使其兩個(gè)線(xiàn)圈不會(huì)同時(shí)。同時(shí)把行程開(kāi)關(guān)作為一個(gè)狀態(tài)的轉(zhuǎn)換條件。電氣接線(xiàn)圖如下:
接下來(lái)進(jìn)行程序的編寫(xiě),首先要進(jìn)行 I/O口的分配。根據(jù)要求,I/O口的分配如下表所示。
I/O口分配好后可以根據(jù)上面的電氣接線(xiàn)圖進(jìn)行程序的編寫(xiě)。參考程序如下: