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

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

3天內不再提示

如何通過(guò)S7-1200與第三方設備實(shí)現自由口通信

機器人及PLC自動(dòng)化應用 ? 來(lái)源:機器人及PLC自動(dòng)化應用 ? 2023-02-14 15:11 ? 次閱讀

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

1.控制系統原理

78f7dc1e-ac35-11ed-bfe3-dac502259ad0.png

圖1:控制系統原理

2.硬件需求
S7-1200 PLC目前有3種類(lèi)型的CPU
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
這三種類(lèi)型的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 和超級終端通信。

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

79544e54-ac35-11ed-bfe3-dac502259ad0.png

圖2:新建S7 -1200項目

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

7986f034-ac35-11ed-bfe3-dac502259ad0.png

圖3:新建項目后

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

79b9a31c-ac35-11ed-bfe3-dac502259ad0.png

圖4:切換到項目視圖

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

79f65c3a-ac35-11ed-bfe3-dac502259ad0.png

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

插入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
設置參數如下圖:

7a246a80-ac35-11ed-bfe3-dac502259ad0.png

圖6:RS232接口配置

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

此時(shí),完成了硬件的組態(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在指令庫下的擴展指令中通訊指令下)

7a5246ee-ac35-11ed-bfe3-dac502259ad0.png

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

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

7a84aa76-ac35-11ed-bfe3-dac502259ad0.png

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

插入背景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ā)送的數據,如下圖所示:

7aafac76-ac35-11ed-bfe3-dac502259ad0.png

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

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

7ad96d9a-ac35-11ed-bfe3-dac502259ad0.png


圖10:發(fā)送編程

在上面的編程塊里需要注意的是,在指定發(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)行編譯,如下圖:

7b02bfba-ac35-11ed-bfe3-dac502259ad0.png

圖12:編譯項目

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

7b2ce54c-ac35-11ed-bfe3-dac502259ad0.png

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

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

7b7a84fa-ac35-11ed-bfe3-dac502259ad0.png

圖14:在超級終端監控發(fā)送來(lái)的數據

對于第二個(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在指令庫下的擴展指令中通訊指令下)

7bae373c-ac35-11ed-bfe3-dac502259ad0.png

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

要對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)型,如下圖所示:

7bf309ac-ac35-11ed-bfe3-dac502259ad0.png


圖17:定義接收緩沖區

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

7c25cbe4-ac35-11ed-bfe3-dac502259ad0.png



圖18:接收編程

在上面的編程塊里需要注意的是,在指定接收緩沖區時(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)行編譯,如下圖:

7c58ca08-ac35-11ed-bfe3-dac502259ad0.png

圖20:編譯項目

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

7cab3a0e-ac35-11ed-bfe3-dac502259ad0.png

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

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

7cecb646-ac35-11ed-bfe3-dac502259ad0.png


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

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

7d28de00-ac35-11ed-bfe3-dac502259ad0.png


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

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

7d659156-ac35-11ed-bfe3-dac502259ad0.png


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

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

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

    關(guān)注

    112

    文章

    15453

    瀏覽量

    173132
  • plc
    plc
    +關(guān)注

    關(guān)注

    4985

    文章

    12557

    瀏覽量

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

    關(guān)注

    18

    文章

    5746

    瀏覽量

    134773
  • 西門(mén)子
    +關(guān)注

    關(guān)注

    92

    文章

    2895

    瀏覽量

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

    關(guān)注

    11

    文章

    331

    瀏覽量

    17439

原文標題:如何通過(guò)S7-1200與第三方設備實(shí)現自由口通信

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動(dòng)化應用】歡迎添加關(guān)注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Labview如何內嵌操作第三方EXE程序!

    自己在網(wǎng)上搜了下相關(guān)資料,能把第三方EXE內嵌進(jìn)入容器里,但是有個(gè)問(wèn)題,這個(gè)第三方軟件必須手動(dòng)拖到容器正中間,手動(dòng)最大化。請問(wèn)有什么方法可以自動(dòng)實(shí)現嗎? 下圖是我內嵌的POLL 軟件。如圖!
    發(fā)表于 04-18 14:26

    如何把第三方庫加到PROTEUS中?

    新手求教,弱弱的問(wèn)下,下了一個(gè)第三方庫,說(shuō)是要先安裝,再添加路徑,可是我下來(lái)的第三方庫沒(méi)有看到安裝文件啊。還望指教如何添加!
    發(fā)表于 06-15 22:32

    在計算機與第三方設備通信時(shí),常用的計算機編碼

    在計算機與第三方設備通信時(shí),常用的計算機編碼
    發(fā)表于 07-10 13:06

    第三方dll調用問(wèn)題?。?!

    第三方dll,沒(méi)有.h,labview怎么實(shí)現調用,dll可以用VS打開(kāi),類(lèi)庫說(shuō)明也有
    發(fā)表于 05-11 09:14

    LabVIEW與第三方軟件交互問(wèn)題

    現在做一個(gè)軟件,就是通過(guò)LabVIEW去與第三方軟件進(jìn)行交互操作!已經(jīng)通過(guò)百度找到了利用user32.dll調用FindWindowA與PostMessage去實(shí)現對計算器,找了多方資
    發(fā)表于 12-26 17:13

    如何為第三方設置Zynq 7000系列進(jìn)行邊界掃描?

    ”狀態(tài),它不會(huì )嘗試配置或與內存通信,但允許我的第三方過(guò)度訪(fǎng)問(wèn)所有邊界掃描單元。謝謝你的幫助!以上來(lái)自于谷歌翻譯以下為原文Hi Everyone, Is there a "Idiot's
    發(fā)表于 04-17 08:56

    國內知名第三方檢測認證機構排名

    第三方檢測機構國內起步的很晚,基本是2000年以后的事情,進(jìn)入改革開(kāi)放以來(lái),特別是新世紀以來(lái),國家對第三方機構的政策越來(lái)越放開(kāi)了,很多職能部門(mén)都逐步下放到第三方機構來(lái)做。為了保證產(chǎn)品品質(zhì),就有
    發(fā)表于 07-19 16:57

    關(guān)于LabVIEW調用第三方exe,如何去控制第三方exe按鈕的問(wèn)題

    我想調用第三方的exe,但并沒(méi)有給出任何接口,就單單一個(gè)exe程序,通過(guò)查資料得出可以用window自帶的user32.dll可以控制第三方的軟件,通過(guò)FindWindowA函數找到該
    發(fā)表于 08-12 16:37

    請問(wèn)第三方平臺授權如何實(shí)現?

    第三方平臺授權如何實(shí)現
    發(fā)表于 11-10 07:27

    頭文件中包含第三方文件

    macrocmake如果源文件(例如 CPP)中包含第三方頭文件,但是頭文件(例如 hpp)中不包含該第三方文件頭,采用 PRIVATE。如果源文件和頭文件中都包含該第三方文件頭,采用 PUBLIC
    發(fā)表于 08-18 08:10

    鴻蒙開(kāi)源第三方組件資料合集

    被開(kāi)發(fā)者使用或優(yōu)化,能夠提升應用的豐富性和可操作性。組件效果展示組件中可以通過(guò)操作圖片、裁切框、按鈕,最終實(shí)現在圖片中裁切部分區域并進(jìn)行顯示的效果,組件的運行效果如圖1所示。3、鴻蒙開(kāi)源第三方組件
    發(fā)表于 03-23 09:53

    西門(mén)子S7-1200以太網(wǎng)接口通信功能分享

    與WinCC OPC通信的相同??梢杂肳inCC Basic的運行系統對人機界面進(jìn)行在線(xiàn)仿真,只需要與計算機通信S7-1200,就可以模擬PLC和人機界面組成的控制系統。8.S7-1200
    發(fā)表于 02-24 19:59

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

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

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

    首先需要選擇“Create new project”選項,然后在“Project name:”里輸入PTP;在“Path:”修改項目的存儲路徑為“C:”;點(diǎn)擊“Create”,這樣就創(chuàng )建了一個(gè)文件PTP的新項目。創(chuàng )建后的窗口如下圖所示:
    的頭像 發(fā)表于 08-02 11:34 ?1459次閱讀

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

    西門(mén)子S7-1200 緊湊型PLC在當前的市場(chǎng)中有著(zhù)廣泛的應用,由于其性?xún)r(jià)比高,所以常被用作小型自動(dòng)化控制設備的控制器,這也使得它經(jīng)常與第三方設備掃描槍、打印機等
    的頭像 發(fā)表于 07-24 15:39 ?6740次閱讀
    西門(mén)子<b class='flag-5'>S7-1200</b>與<b class='flag-5'>第三方</b><b class='flag-5'>設備</b><b class='flag-5'>自由</b>口<b class='flag-5'>通信</b>詳解
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看