0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

西門子S7-1200與第三方設(shè)備自由口通信詳解

laidenongfhs ? 來(lái)源:中泰PLC自動(dòng)化教學(xué) ? 2023-07-24 15:39 ? 次閱讀

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

1.控制系統(tǒng)原理

6f58c758-29f4-11ee-a368-dac502259ad0.png

圖1:控制系統(tǒng)原理

2.硬件需求
S7-1200 PLC目前有3種類型的CPU
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
這三種類型的CPU都可以連接三個(gè)串口通信模版。
本例中使用的PLC硬件為:
1)PM1207電源( 6EP1 332-1SH71 )
2)S7-1214C ( 6ES7 214 -1BE30 -0XB0 )
3) CM1241 RS232 ( 6ES7 241 -1AH30 -0XB0 )

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 和超級(jí)終端通信。

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

6f7d9560-29f4-11ee-a368-dac502259ad0.jpg

圖2:新建S7 -1200項(xiàng)目

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

6f9c8920-29f4-11ee-a368-dac502259ad0.jpg

圖3:新建項(xiàng)目后

點(diǎn)擊門戶視圖左下角的“Project View”切換到項(xiàng)目視圖下,如下圖:

6fab5310-29f4-11ee-a368-dac502259ad0.jpg

圖4:切換到項(xiàng)目視圖

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

6fbed0fc-29f4-11ee-a368-dac502259ad0.jpg

圖5:PLC硬件組態(tài)

插入CPU后,點(diǎn)擊CPU左邊的空槽,在右邊的“Catalog ”里找到“Communication”下的RS232模塊,拖拽或雙擊此模塊,這樣就把串口模塊插入到硬件配置里,接下來(lái)就需要配置此RS232模塊硬件接口參數(shù),選擇RS232模塊,在其下方會(huì)出現(xiàn)該模塊的硬件屬性配置窗口,在屬性窗口里有兩個(gè)選項(xiàng),一個(gè)是“general”;一個(gè)是“RS232 interface”。在“General”里包括了此模塊的“項(xiàng)目信息”和“訂貨信息”;而在“RS232 interface”里包括“項(xiàng)目信息”、“端口的配置”、“發(fā)送信息的配置”、“接收信息的配置”和“硬件識(shí)別號(hào)”。在這里我們選擇“RS232 interface”,在“端口”配置的選項(xiàng)里,進(jìn)行端口的參數(shù)配置,
波特率為:9600;
校驗(yàn)方式:無(wú);
數(shù)據(jù)位為:8 ;
停止位:1;
硬件流控制:無(wú);
等待時(shí)間:1ms
設(shè)置參數(shù)如下圖:

6fcea72a-29f4-11ee-a368-dac502259ad0.png

圖6:RS232接口配置

此時(shí)確認(rèn)一下“硬件識(shí)別號(hào)”為11。

此時(shí),完成了硬件的組態(tài),接下來(lái)需要編寫串口通訊程序,在這里我們實(shí)現(xiàn)兩個(gè)功能:
A、 S7-1200發(fā)送數(shù)據(jù)給超級(jí)終端;
B、超級(jí)終端發(fā)送數(shù)據(jù)給S7-1200

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

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

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

6ff64d8e-29f4-11ee-a368-dac502259ad0.jpg

圖7:調(diào)用發(fā)送功能塊

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

7012a542-29f4-11ee-a368-dac502259ad0.png

圖8:創(chuàng)建發(fā)送功能塊的背景數(shù)據(jù)塊

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

702aa390-29f4-11ee-a368-dac502259ad0.jpg

圖9:在接收緩沖區(qū)中接收到的數(shù)據(jù)

定義完發(fā)送緩沖區(qū)后,接下來(lái)就可以對(duì)SEND_PTP賦值參數(shù),賦值參數(shù)后如下圖:

7039d68a-29f4-11ee-a368-dac502259ad0.png

圖10:發(fā)送編程

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

7052c7f8-29f4-11ee-a368-dac502259ad0.png

圖11:String存儲(chǔ)格式

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

7067d62a-29f4-11ee-a368-dac502259ad0.jpg

圖12:編譯項(xiàng)目

編譯且沒(méi)有錯(cuò)誤后就可以下載程序到PLC中,同樣右擊PLC_1項(xiàng)目,在彈出的菜單選擇“Download to Device”。
②、用串口交叉線連接S7-1200的串口與計(jì)算機(jī)的串口,打開計(jì)算機(jī)的超級(jí)終端程序,并設(shè)置硬件端口參數(shù)如下圖:

7079c7cc-29f4-11ee-a368-dac502259ad0.jpg

圖13:超級(jí)終端的端口設(shè)置

③、打開OB1功能塊在線監(jiān)控程序,在變量監(jiān)控表里強(qiáng)制M0.0為1,觸發(fā)數(shù)據(jù)的發(fā)送,此時(shí)在超級(jí)終端就會(huì)接收到發(fā)送的數(shù)據(jù),如下圖:

708ca4f0-29f4-11ee-a368-dac502259ad0.png

圖14:在超級(jí)終端監(jiān)控發(fā)送來(lái)的數(shù)據(jù)

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

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

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

70a87694-29f4-11ee-a368-dac502259ad0.jpg

圖15:調(diào)用發(fā)送功能塊

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

70b4eeec-29f4-11ee-a368-dac502259ad0.jpg

圖16:創(chuàng)建接收功能塊的背景數(shù)據(jù)塊

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

70c76266-29f4-11ee-a368-dac502259ad0.jpg

圖17:定義接收緩沖區(qū)

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

70d7789a-29f4-11ee-a368-dac502259ad0.jpg

圖18:接收編程

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

70f2ab74-29f4-11ee-a368-dac502259ad0.png

圖19:String存儲(chǔ)格式

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

71093ae2-29f4-11ee-a368-dac502259ad0.jpg

圖20:編譯項(xiàng)目

編譯且沒(méi)有錯(cuò)誤后就可以下載程序到PLC中,同樣右擊PLC_1項(xiàng)目,在彈出的菜單選擇“Download to Device”。
②、用串口交叉線連接S7-1200的串口與計(jì)算機(jī)的串口,打開計(jì)算機(jī)的超級(jí)終端程序,并設(shè)置硬件端口參數(shù)如下圖:

7132d67c-29f4-11ee-a368-dac502259ad0.jpg

圖21:超級(jí)終端的端口設(shè)置

在桌面上新建文本文件,打開此文本文件在里面輸入“gfdcba”,如下圖:

714b1890-29f4-11ee-a368-dac502259ad0.png

圖22:在文本文件下輸入要發(fā)送的字符串

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

71683d26-29f4-11ee-a368-dac502259ad0.jpg

圖23:通過(guò)超級(jí)終端發(fā)送數(shù)據(jù)

打開DB_RCV_BUFF數(shù)據(jù)塊,在線查看接收到的數(shù)據(jù),如下圖:

7189088a-29f4-11ee-a368-dac502259ad0.jpg

圖23:接收緩沖區(qū)中接收到的數(shù)據(jù)

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

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6464

    瀏覽量

    110298
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    5925

    瀏覽量

    135695
  • 西門子
    +關(guān)注

    關(guān)注

    93

    文章

    2975

    瀏覽量

    115295
  • S7-1200
    +關(guān)注

    關(guān)注

    11

    文章

    331

    瀏覽量

    17814

原文標(biāo)題:西門子S7-1200與第三方設(shè)備自由口通信詳解

文章出處:【微信號(hào):中泰PLC自動(dòng)化教學(xué),微信公眾號(hào):中泰PLC自動(dòng)化教學(xué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何通過(guò)西門子S7-1200緊湊型PLC實(shí)現(xiàn)自由通訊

    西門子S7-1200 緊湊型PLC在當(dāng)前的市場(chǎng)中有著廣泛的應(yīng)用,由于其性價(jià)比高,所以常被用作小型自動(dòng)化控制設(shè)備的控制器,這也使得它經(jīng)常與第三方設(shè)備
    發(fā)表于 07-06 11:29 ?3030次閱讀

    西門子S7-200到S7-1200的軟件轉(zhuǎn)換工具

    電子發(fā)燒友網(wǎng)站提供《西門子S7-200到S7-1200的軟件轉(zhuǎn)換工具.zip》資料免費(fèi)下載
    發(fā)表于 05-08 10:33 ?24次下載

    幾種常見的西門子通信方式

    第三方設(shè)備大部分支持,西門子S7PLC可以通過(guò)選擇自由
    的頭像 發(fā)表于 03-20 10:47 ?2.3w次閱讀

    西門子S7-1200S7-1500 的編程指南pdf下載

    西門子S7-1200S7-1500 的編程指南
    發(fā)表于 03-27 15:15 ?293次下載

    西門子S7-1200高速計(jì)數(shù)功能簡(jiǎn)介

    西門子S7-1200高速計(jì)數(shù)功能簡(jiǎn)介說(shuō)明。
    發(fā)表于 04-23 09:35 ?15次下載

    如何通過(guò)S7-1200第三方設(shè)備實(shí)現(xiàn)自由通信

    如何通過(guò)S7-1200第三方設(shè)備實(shí)現(xiàn)自由通信說(shuō)明。
    發(fā)表于 04-25 11:18 ?16次下載

    西門子S7-1200S7-1500編程風(fēng)格指南

    西門子S7-1200S7-1500編程風(fēng)格指南分享
    發(fā)表于 08-17 17:30 ?19次下載

    如何通過(guò)網(wǎng)關(guān)對(duì)西門子S7-1200 PLC遠(yuǎn)程監(jiān)控?

    如何通過(guò)網(wǎng)關(guān)對(duì)西門子S7-1200 PLC遠(yuǎn)程監(jiān)控?
    的頭像 發(fā)表于 11-01 09:02 ?5049次閱讀
    如何通過(guò)網(wǎng)關(guān)對(duì)<b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b> PLC遠(yuǎn)程監(jiān)控?

    西門子S7-1200的TCP通信配置過(guò)程及數(shù)據(jù)交換方式

    西門子S7-1200集成以太網(wǎng)接口,通過(guò)該接口可以與其它設(shè)備進(jìn)行以太網(wǎng)通信。S7-1200的以太網(wǎng)通信
    的頭像 發(fā)表于 11-16 10:54 ?1.7w次閱讀

    如何通過(guò)S7-1200第三方設(shè)備實(shí)現(xiàn)自由通信

    -西門子S7-1200 緊湊型PLC在當(dāng)前的市場(chǎng)中有著廣泛的應(yīng)用,由于其性價(jià)比高,所以常被用作小型自動(dòng)化控制設(shè)備的控制器,這也使得它經(jīng)常與第三方設(shè)
    的頭像 發(fā)表于 02-14 15:11 ?1055次閱讀

    西門子PLC的五種通信方式

    第三方設(shè)備大部分支持,西門子S7 PLC可以通過(guò)選擇自由
    發(fā)表于 03-16 16:28 ?3260次閱讀

    PLC網(wǎng)關(guān)采集西門子S7-1200對(duì)接MQTT服務(wù)器的操作步驟詳解

    鋇錸技術(shù)PLC網(wǎng)關(guān)采集西門子S7-1200對(duì)接MQTT服務(wù)器的操作步驟詳解
    的頭像 發(fā)表于 09-12 09:50 ?2867次閱讀
    PLC網(wǎng)關(guān)采集<b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>對(duì)接MQTT服務(wù)器的操作步驟<b class='flag-5'>詳解</b>

    PLC西門子S7-200smart和S7-1200的區(qū)別?

    PLC西門子S7-200smart和S7-1200的區(qū)別? 西門子S7-200 smart和S7-120
    的頭像 發(fā)表于 11-17 11:41 ?9180次閱讀

    西門子S7-1200 PLC的基本功能

    的性能,使得S7-1200 PLC在工業(yè)自動(dòng)化領(lǐng)域得到了廣泛應(yīng)用。本文將詳細(xì)解析西門子S7-1200 PLC的功能特點(diǎn),以幫助讀者更好地了解和使用該設(shè)備
    的頭像 發(fā)表于 06-13 11:29 ?1587次閱讀

    西門子S7-1200 PLC的指令介紹

    西門子S7-1200 PLC,作為西門子自動(dòng)化控制產(chǎn)品中的一款緊湊型控制器,憑借其強(qiáng)大的功能和易用性,在工業(yè)控制領(lǐng)域得到了廣泛的應(yīng)用。S7-1200 PLC不僅具備標(biāo)準(zhǔn)的PLC功能,還
    的頭像 發(fā)表于 06-18 14:52 ?2022次閱讀