<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

laidenongfhs ? 來源:中泰PLC自動化教學 ? 2023-07-24 15:39 ? 次閱讀

西門子S7-1200緊湊型PLC在當前的市場中有著廣泛的應用,由于其性價比高,所以常被用作小型自動化控制設備的控制器,這也使得它經常與第三方的設備掃描槍、打印機等設備進行通訊。因為沒有第三方的設備,這里就以超級終端為例介紹自由口通訊。

1.控制系統原理

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

圖1:控制系統原理

2.硬件需求
S7-1200 PLC目前有3種類型的CPU
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
這三種類型的CPU都可以連接三個串口通信模版。
本例中使用的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.組態

我們通過下述的實際操作來介紹如何在Step7 Basic V10.5 中組態S7-1214C 和超級終端通信。

點擊桌面上的“Totally Integrated Automation Portal V10”圖標,打開如下圖:

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

圖2:新建S7 -1200項目

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

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

圖3:新建項目后

點擊門戶視圖左下角的“Project View”切換到項目視圖下,如下圖:

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

圖4:切換到項目視圖

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

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

圖5:PLC硬件組態

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

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

圖6:RS232接口配置

此時確認一下“硬件識別號”為11。

此時,完成了硬件的組態,接下來需要編寫串口通訊程序,在這里我們實現兩個功能:
A、 S7-1200發送數據給超級終端;
B、超級終端發送數據給S7-1200

對于第一個功能:S7-1200發送數據給超級終端,實際上是S7-1200是數據的發送方,超級終端是數據的接收方,對于S7-1200需要編寫發送程序;而對于超級終端來說,只要打開超級終端程序,配置硬件接口參數與前面S7-1200的端口參數一只即可。

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

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

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

圖7:調用發送功能塊

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

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

圖8:創建發送功能塊的背景數據塊

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

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

圖9:在接收緩沖區中接收到的數據

定義完發送緩沖區后,接下來就可以對SEND_PTP賦值參數,賦值參數后如下圖:

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

圖10:發送編程

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

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

圖11:String存儲格式

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

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

圖12:編譯項目

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

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

圖13:超級終端的端口設置

③、打開OB1功能塊在線監控程序,在變量監控表里強制M0.0為1,觸發數據的發送,此時在超級終端就會接收到發送的數據,如下圖:

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

圖14:在超級終端監控發送來的數據

對于第二個功能:超級終端發送數據給S7-1200,實際上是S7-1200是數據的接收方,超級終端是數據的發送方,對于S7-1200需要編寫接收程序;而對于超級終端來說,只要打開超級終端程序,配置硬件接口參數與前面S7-1200的端口參數一致,在界面上輸入發送內容即可。

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

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

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

圖15:調用發送功能塊

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

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

圖16:創建接收功能塊的背景數據塊

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

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

圖17:定義接收緩沖區

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

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

圖18:接收編程

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

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

圖19:String存儲格式

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

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

圖20:編譯項目

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

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

圖21:超級終端的端口設置

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

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

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

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

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

圖23:通過超級終端發送數據

打開DB_RCV_BUFF數據塊,在線查看接收到的數據,如下圖:

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

圖23:接收緩沖區中接收到的數據

通過上面的例子實現了簡單的應用,在實際的應用過程中,需要按第三方設備的協議進行編寫S7-1200的程序。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制系統
    +關注

    關注

    41

    文章

    6059

    瀏覽量

    109473
  • 通信
    +關注

    關注

    18

    文章

    5739

    瀏覽量

    134671
  • 西門子
    +關注

    關注

    92

    文章

    2880

    瀏覽量

    114032
  • S7-1200
    +關注

    關注

    11

    文章

    329

    瀏覽量

    17412

原文標題:西門子S7-1200與第三方設備自由口通信詳解

文章出處:【微信號:中泰PLC自動化教學,微信公眾號:中泰PLC自動化教學】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何通過西門子S7-1200緊湊型PLC實現自由口通訊

    西門子S7-1200 緊湊型PLC在當前的市場中有著廣泛的應用,由于其性價比高,所以常被用作小型自動化控制設備的控制器,這也使得它經常與第三方設備
    發表于 07-06 11:29 ?2815次閱讀

    西門子S7-1200系列PLC輸入/輸出接線

    西門子S7-1200是一款緊湊型、模塊化的PLC,可完成簡單邏輯控制、高級邏輯控制、HMI 和網絡通信等任務。下面分享S7-1200系列PLC輸入/輸出接線圖給大家。
    的頭像 發表于 06-26 09:22 ?4008次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>系列PLC輸入/輸出接線

    西門子S7-1200以太網接口通信功能分享

    ProFinet通信的儀器儀表通信S7-1200第三方支持ProFinet通信的儀器儀表通信,
    發表于 02-24 19:59

    西門子S7-1200高速計數功能簡介

    西門子S7-1200高速計數功能簡介說明。
    發表于 04-23 09:35 ?15次下載

    如何通過S7-1200第三方設備實現自由通信

    如何通過S7-1200第三方設備實現自由通信說明。
    發表于 04-25 11:18 ?15次下載

    西門子S7-1200接入MQTT私有云平臺

    西門子S7-1200接入MQTT私有云平臺,PLC網關數據采集BL110
    發表于 11-11 16:21 ?3404次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>接入MQTT私有云平臺

    西門子S7-1200和S7-1500編程風格指南

    西門子S7-1200和S7-1500編程風格指南分享
    發表于 08-17 17:30 ?19次下載

    如何通過網關對西門子S7-1200 PLC遠程監控?

    如何通過網關對西門子S7-1200 PLC遠程監控?
    的頭像 發表于 11-01 09:02 ?4394次閱讀
    如何通過網關對<b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b> PLC遠程監控?

    西門子S7-1200與組態軟件之間無線MODBUS通信實例

    本方案是組態軟件與西門子 S7-1200進行無線 MODBUS 通信的實現方法。此方案可以作為西門子 S7-1200與組態軟件的無線 MOD
    的頭像 發表于 01-11 09:27 ?2311次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>與組態軟件之間無線MODBUS<b class='flag-5'>通信</b>實例

    如何通過S7-1200第三方設備實現自由通信

    -西門子S7-1200 緊湊型PLC在當前的市場中有著廣泛的應用,由于其性價比高,所以常被用作小型自動化控制設備的控制器,這也使得它經常與第三方
    的頭像 發表于 02-14 15:11 ?766次閱讀

    西門子PLC的五種通信方式

    第三方設備大部分支持,西門子S7 PLC可以通過選擇自由通信模式控制串口通信。最簡單的情況是只
    發表于 03-16 16:28 ?2743次閱讀

    西門子S7-1200系列PLC與上位機的配置

    此次主要將的是關于西門子S7-1200系列PLC與上位機通過哪些特定的條件,來實現通訊的配置分享。
    發表于 05-25 17:38 ?21次下載
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>系列PLC與上位機的配置

    西門子PLC S7-1200在線下載功能分享

    西門子PLC S7-200系列的升級版,西門子PLC S7-1200具有很多集成在CPU上的功能,與此同時,它的組態軟件STEP7 V13具有各種組織塊,可以幫助用戶實現多種不同的功能。西門子
    的頭像 發表于 06-25 16:25 ?1774次閱讀

    PLC網關采集西門子S7-1200對接MQTT服務器的操作步驟詳解

    鋇錸技術PLC網關采集西門子S7-1200對接MQTT服務器的操作步驟詳解
    的頭像 發表于 09-12 09:50 ?2167次閱讀
    PLC網關采集<b class='flag-5'>西門子</b><b class='flag-5'>S7-1200</b>對接MQTT服務器的操作步驟<b class='flag-5'>詳解</b>

    PLC西門子S7-200smart和S7-1200的區別?

    PLC西門子S7-200smart和S7-1200的區別? 西門子S7-200 smart和S7-1200西門子公司推出的兩個PLC產品系
    的頭像 發表于 11-17 11:41 ?6334次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>