西門(mén)子S7-1200PLC與第三方設備自由口通信
發(fā)布日期:
2023-06-25

SIMATIC S7-1200小型可編程控制器充分滿(mǎn)足中小型自動(dòng)化的系統需求。在研發(fā)過(guò)程中充分考慮了系統、控制器、人機界面和軟件的無(wú)縫整合和高效協(xié)調的需求。SIMATIC S7-1200 系列的問(wèn)世,標志著(zhù)西門(mén)子在原有產(chǎn)品系列基礎上拓展了產(chǎn)品版圖,代表了未來(lái)小型可編程控制器的發(fā)展方向,西門(mén)子也將一如既往開(kāi)拓創(chuàng )新,引領(lǐng)自動(dòng)化潮流。

西門(mén)子S7-1200 緊湊型PLC在當前的市場(chǎng)中有著(zhù)廣泛的應用,由于其性?xún)r(jià)比高,所以常被用作小型自動(dòng)化控制設備的控制器,這也使得它經(jīng)常與第三方的設備(掃描槍、打印機等設備進(jìn)行通訊。因為沒(méi)有第三方的設備,這里就以超級終端為例介紹自由口通訊。

1.控制系統原理

西門(mén)子S7-1200PLC與第三方設備自由口通信

2.硬件需求

S7-1200 PLC目前有3種類(lèi)型的CPU:

1)S7-1211C CPU。

2)S7-1212C CPU。

3)S7-1214C CPU。

這三種類(lèi)型的CPU都可以連接三個(gè)串口通信模版。

3.軟件需求

1) 編程軟件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)

4.組態(tài)

我們通過(guò)下述的實(shí)際操作來(lái)介紹如何在Step7 Basic V10.5 中組態(tài)S7-1214C 和超級終端通信。

點(diǎn)擊桌面上的“Totally Integrated Automation Portal V10”圖標,打開(kāi)如下圖:

西門(mén)子S7-1200PLC與第三方設備自由口通信

首先需要選擇“Create new project”選項,然后在“Project name:”里輸入PTP;在“Path:”修改項目的存儲路徑為“C:\”;點(diǎn)擊“Create”,這樣就創(chuàng )建了一個(gè)文件PTP的新項目。創(chuàng )建后的窗口如下圖所示:

西門(mén)子S7-1200PLC與第三方設備自由口通信

點(diǎn)擊門(mén)戶(hù)視圖左下角的“Project View”切換到項目視圖下,如下圖:

西門(mén)子S7-1200PLC與第三方設備自由口通信

打開(kāi)后,在“Devices”標簽下,點(diǎn)擊“Add new device”,在彈出的菜單中輸入設備名“PLC_1”并在設備列表里選擇CPU的類(lèi)型。選擇后如下圖:

西門(mén)子S7-1200PLC與第三方設備自由口通信

插入CPU后,點(diǎn)擊CPU左邊的空槽,在右邊的“Catalog ”里找到“Communication”下的RS232模塊,拖拽或雙擊此模塊,這樣就把串口模塊插入到硬件配置里,接下來(lái)就需要配置此RS232模塊硬件接口參數,選擇RS232模塊,在其下方會(huì )出現該模塊的硬件屬性配置窗口, 在屬性窗口里有兩個(gè)選項,一個(gè)是“general”;一個(gè)是“RS232 interface”。在“General”里包括了此模塊的“項目信息”和“訂貨信息”;而在“RS232 interface”里包括“項目信息”、“端口的配置”、“發(fā)送信息的配置”、“接收信息的配置”和“硬件識別號”。在這里我們選擇“RS232 interface”,在“端口”配置的選項里,進(jìn)行端口的參數配置,

波特率為:9600 ;

校驗方式:無(wú) ;

數據位為:8 ;

停止位: 1;

硬件流控制:無(wú);

等待時(shí)間: 1ms

此時(shí)確認一下“硬件識別號”為11。到這里我們就完成了硬件的組態(tài),接下來(lái)需要編寫(xiě)串口通訊程序,在這里我們實(shí)現兩個(gè)功能:

一、 S7-1200 發(fā)送數據給超級終端;

二、 超級終端發(fā)送數據給S7-1200

對于第一個(gè)功能:S7-1200發(fā)送數據給超級終端,實(shí)際上是S7-1200是數據的發(fā)送方,超級終端是數據的接收方,對于S7-1200需要編寫(xiě)發(fā)送程序;而對于超級終端來(lái)說(shuō),只要打開(kāi)超級終端程序,配置硬件接口參數與前面S7-1200的端口參數一致即可。

下面的步驟將具體介紹此功能實(shí)現的步驟:

①、在PLC中編寫(xiě)發(fā)送程序。在項目管理視圖下雙擊“Device”下的程序塊下的Main(OB1),打開(kāi)OB1,在主程序中調用SEND_PTP功能塊

要對SEND_PTP賦值參數,首先需要創(chuàng )建SEND_PTP的背景數據塊和發(fā)送緩沖數據塊 ,雙擊“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在彈出的串口命名DB_Send_PTP,選擇DB塊,在Type后選擇“SEND_PTP(SFB113)”

插入背景DB后,再插入發(fā)送緩沖DB塊,重復上面的步驟,只是在選擇DB類(lèi)型為“Global DB”,并去掉“Symbolic access only”選項的勾(這樣可以對該DB塊進(jìn)行直接地址訪(fǎng)問(wèn)),并取名該DB塊為DB_SEND_BUFF。建好這兩個(gè)DB塊后,雙擊打開(kāi)DB_SEND_BUFF預先定義好要發(fā)送的數據。

定義完發(fā)送緩沖區后,接下來(lái)就可以對SEND_PTP賦值參數,賦值參數。

在上面的編程塊里需要注意的是,在指定發(fā)送緩沖區時(shí)。字符的開(kāi)始地址是從第二個(gè)字節,而不是零字節開(kāi)始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200對字符串的存放的格式造成的,S7-1200對字符串的前兩個(gè)字節的定義第一字節是最大的字符長(cháng)度,第二個(gè)字節是實(shí)際的字符長(cháng)度。接下來(lái)才是存放實(shí)際字符。

上面就完成了程序的編寫(xiě),對項目進(jìn)行編譯;右擊PLC_1項目在彈出的菜單里選擇“Complies ALL”選項,這樣就對硬件與軟件進(jìn)行編譯,編譯且沒(méi)有錯誤后就可以下載程序到PLC中,同樣右擊PLC_1項目,在彈出的菜單選擇“Download to Device”。

②、用串口交叉線(xiàn)連接S7-1200的串口與計算機的串口,打開(kāi)計算機的超級終端程序,并設置硬件端口參數。

③、打開(kāi)OB1功能塊在線(xiàn)監控程序,在變量監控表里強制M0.0為1,觸發(fā)數據的發(fā)送,此時(shí)在超級終端就會(huì )接收到發(fā)送的數據。

對于第二個(gè)功能:超級終端發(fā)送數據給S7-1200,實(shí)際上是S7-1200是數據的接收方,超級終端是數據的發(fā)送方,對于S7-1200需要編寫(xiě)接收程序;而對于超級終端來(lái)說(shuō),只要打開(kāi)超級終端程序,配置硬件接口參數與前面S7-1200的端口參數一致,在界面上輸入發(fā)送內容即可。

下面的步驟將具體介紹此功能實(shí)現的步驟:

①、在PLC中編寫(xiě)發(fā)送程序。在項目管理視圖下雙擊“Device”下的程序塊下的Main(OB1),打開(kāi)OB1,在主程序中調用RCV_PTP功能塊如下圖所示:(注:RCV_PTP在指令庫下的擴展指令中通訊指令下)

要對RCV_PTP賦值參數,首先需要創(chuàng )建RCV_PTP的背景數據塊和發(fā)送緩沖數據塊 ,雙擊“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在彈出的串口命名DB_RCV_PTP,選擇DB塊,在Type后選擇“RCV_PTP(SFB114)”

插入背景DB后,再插入接收緩沖DB塊,重復上面的步驟,只是在選擇DB類(lèi)型為“Global DB”,并去掉“Symbolic access only”選項的勾(這樣可以對該DB塊進(jìn)行直接地址訪(fǎng)問(wèn)),并取名該DB塊為DB_RCV_BUFF。建好這兩個(gè)DB塊后,雙擊打開(kāi)DB_RCV_BUFF定義接收緩沖區數據的類(lèi)型。

定義完接收緩沖區后,接下來(lái)就可以對RCV_PTP賦值參數,賦值參數后如下圖:

西門(mén)子S7-1200PLC與第三方設備自由口通信

在上面的編程塊里需要注意的是,在指定接收緩沖區時(shí)。字符的開(kāi)始地址是從第二個(gè)字節,而不是零字節開(kāi)始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200對字符串的存放的格式造成的,S7-1200對字符串的前兩個(gè)字節的定義第一字節是最大的字符長(cháng)度,第二個(gè)字節是實(shí)際的字符長(cháng)度。接下來(lái)才是存放實(shí)際字符。

上面就完成了程序的編寫(xiě),對項目進(jìn)行編譯;右擊PLC_1項目在彈出的菜單里選擇“Complies ALL”選項,這樣就對硬件與軟件進(jìn)行編譯。

編譯且沒(méi)有錯誤后就可以下載程序到PLC中,同樣右擊PLC_1項目,在彈出的菜單選擇“Download to Device”。

②、用串口交叉線(xiàn)連接S7-1200的串口與計算機的串口,打開(kāi)計算機的超級終端程序,并設置硬件端口參數。

在桌面上新建文本文件,打開(kāi)此文本文件在里面輸入“gfdcba”。

③、打開(kāi)變量監控表,強制M0.0,使能接收。然后, 在超級終端里,選擇菜單“Transfer”下的“Send Text file”,在打開(kāi)的窗口里找到桌面 上的文本文件。

打開(kāi)DB_RCV_BUFF數據塊,在線(xiàn)查看接收到的數據。

通過(guò)上面的例子實(shí)現了簡(jiǎn)單的應用,在實(shí)際的應用過(guò)程中,需要按第三方設備的協(xié)議進(jìn)行編寫(xiě)S7-1200的程序。

聲明:部分內容來(lái)源于網(wǎng)絡(luò ),如侵權請后臺留言聯(lián)系刪除。