6ES7297-0AX30-0XA0
萍鄉(xiāng)西門子一級代理商
萍鄉(xiāng)西門子一級代理商6ES7297-0AX30-0XA0
西門子S7-1200/1500 PLC 的功能塊
小型工程任務(wù)可用線性化編程,復(fù)雜工程任務(wù)用結(jié)構(gòu)化編程將更容易實現(xiàn)。
結(jié)構(gòu)化編程必須把程序模塊化。
程序模塊化作用是方便其他程序的調(diào)用,便于組織、修改和調(diào)試程序。
常用的塊有:OB、FB、FC、DB。
塊類型 | 說明 |
組織塊(OB) | CPU操作系統(tǒng)與用戶程序的接口,決定用戶程序的結(jié)構(gòu)。 |
函數(shù)塊(FB) | 用戶編寫的包含常用功能的子程序塊,有專用背景數(shù)據(jù)塊(存儲器) |
函數(shù)(FC) | 用戶編寫的包含常用功能的子程序塊,無專用背景數(shù)據(jù)塊(存儲器) |
背景數(shù)據(jù)塊(DB) | 用于FB的變量的保存 |
全局數(shù)據(jù)塊(DB) | 用于存儲用戶的數(shù)據(jù)區(qū)域 |
操作系統(tǒng)包含在PLC的CPU中,管理所有與特定工程任務(wù)無關(guān)的CPU功能和序列,和計算機的操作系統(tǒng)類似。
用戶程序就是為特定工程任務(wù)服務(wù)的功能程序,由用戶編寫,并裝載到PLC的CPU中。
組織塊(OB)有中斷組織塊、啟動組織塊、循環(huán)程序處理塊、錯誤處理塊等。
函數(shù)(FC)是不帶存儲器的程序塊。由于沒有存儲器可用,函數(shù)的形式參數(shù)必須分配實際參數(shù)。一個程序可在不同位置多次調(diào)用同一個函數(shù)。函數(shù)用全局數(shù)據(jù)塊也是可以存儲數(shù)據(jù)的。

函數(shù)(FB)是帶存儲器的程序塊。它將輸入、輸出及其參數(shù)地存儲在背景數(shù)據(jù)塊中,在執(zhí)行完函數(shù)塊之后,這些值仍然有效。一個程序可在不同位置多次調(diào)用同一個函數(shù)塊。函數(shù)塊也可以使用臨時變量,只使用一個掃描周期,不存儲于背景數(shù)據(jù)塊中。
單次調(diào)用可用FC,多次調(diào)用可用FB,程序有沿操作、定時器等不能用FC,所以盡量使用FB。FB調(diào)用FB時,有個FB的“多重背景"選項,可以對背景數(shù)據(jù)進行整理。
全局數(shù)據(jù)塊(DB)存儲所有其它塊都可以用的數(shù)據(jù)。類似于三菱PLC的全局標簽。
▼ 數(shù)據(jù)塊訪問圖

背景數(shù)據(jù)塊(DB)是存儲實例使用的數(shù)據(jù)塊。函數(shù)塊的調(diào)用稱為實例。
西門子S7-1200/1500PLC的S7通信
現(xiàn)代工業(yè)設(shè)備通信有串口通信和工業(yè)以太網(wǎng)通信,串口通信一般是基于RS485接口的串行通信,工業(yè)以太網(wǎng)通信是基于RJ45接口的串行通信。
也有的人把它們分為現(xiàn)場總線通信(不包括基于以太網(wǎng)的現(xiàn)場總線)和工業(yè)以太網(wǎng)通信。現(xiàn)場總線通信偏重于控制通信,工業(yè)以太網(wǎng)通信偏重于數(shù)據(jù)通信。由于工業(yè)以太網(wǎng)也可以做為現(xiàn)場總線,這種分類就不太合適了。
工業(yè)以太網(wǎng)通信由于設(shè)置簡單、聯(lián)網(wǎng)容易、速度快的特點,得到迅速發(fā)展。
西門子產(chǎn)品支持各類以太網(wǎng)通信,包括:S7通信(簡單)、Profinet IO(簡單)、TCP通信(開放式)、ISO0n TCP 通信(基于以太網(wǎng)的ISO)、UDP通信(開放式)、MODBUS TCP通信(基于以太網(wǎng)的MODBUS)等。
通信總的來說是有一定格式規(guī)律可循的,按照格式規(guī)律來做就好了,做多了就熟悉了。
S7通信協(xié)議是從字面上來看就是,西門子S7系列產(chǎn)品之間通信使用的通信協(xié)議。由于標準一樣,所以通信簡單。
S7通信是一種協(xié)議,與總線的類型無關(guān),現(xiàn)在用的較多的是基于以太網(wǎng)的S7通信。S7通信有單邊通信與雙邊通信之分。單邊通信是指主站準備好通信數(shù)據(jù),從站組態(tài)連接和編程。
S7單邊通信組態(tài)設(shè)置
1、組態(tài)設(shè)備,在控制器中選擇所要使用的PLC類型,這里選擇1214C CPU PLC做為PLC1。
▼ 組態(tài)主站設(shè)備

2、如果工程為同一個項目,在“網(wǎng)絡(luò)視圖"中,可再添加一個PLC2,這里添加了一個1511-1PN CPU 的PLC為PLC2。“連接"按鈕,在復(fù)選框中選擇“S7連接"。
▼ 組態(tài)從站設(shè)備

3、PLC1的PROFINET接口(綠色處),在屬性欄中選擇“以太網(wǎng)地址",在“接口連接到"欄中,添加一個新子網(wǎng),如:PN/IE_1;在IP協(xié)議欄中,設(shè)置IP地址,如:。
▼ PLC1子網(wǎng)與IP地址

4、PLC1的CPU模塊(藍色處),在屬性欄選擇“防護與安全",在下級欄有個“連接機制",勾選“允許來自遠程對象的PUT/GET通信訪問。主/從均要修改。
▼ 解鎖PLC1訪問限制

5、按同樣的方法設(shè)置PLC2的子網(wǎng)和IP地址,子網(wǎng)名稱一樣即可自動連接,IP地址為:。
▼ PLC2子網(wǎng)與IP地址

6、如兩臺PLC不在同一個項目,則可以右鍵PLC1的藍色CPU區(qū),新建一個連接。
▼ 創(chuàng)建新連接

7、接上一步,添加PLC1的連接伙伴,記住本地ID為100,編程要用到。左邊欄為同一項目下的PLC。主動建立連接的PLC為從站。
▼ 創(chuàng)建新連接

8、“S7_連接_1"可查看連接屬性,在連接屬性中設(shè)置伙伴的IP地址,其余因不在同一項目下,默認“未知"。
▼ 設(shè)置伙伴IP地址

9、在連接屬性里的“地址詳細信息"中,設(shè)置連接伙伴的TSAP值,通信伙伴為S7-300,設(shè)置為03.02;通信伙伴為S7-1200/1500,設(shè)置為03.01。
▼ 地址信息設(shè)置

10、在同一項目下組態(tài)到第五步就可以結(jié)束了。
在服務(wù)器端不用編程,在客戶端(從站)添加GET(得到、接收)/PUT(給、發(fā)送)指令編程,也可以在塊參數(shù)中組態(tài)連接。
比如GET(得到、接收)/PUT(給、發(fā)送)M:P#M100.0 WORD 5;
比如GET(得到、接收)/PUT(給、發(fā)送)DB:P#DB0.0 INT 5。
▼ 簡單編程

因狀態(tài)字不保持,要保存狀態(tài)的話,需要加傳送指令。
還可以收發(fā)I、Q區(qū)的數(shù)據(jù),但不建議這樣做,因為S7通信不是實時通信。