製造業知識分享、信息發布平台-興盛製造網 Email: 206027815@yszdnx.com

      MQTT協議網關網口連接西門子SMART200PLC上傳阿裏雲服務器

      分類: 機械製造 瀏覽量: 留言數: 8887

      MQTT協議網關網口連接西門子SMART200PLC操作說明v1.4  

                      目錄

      一. 使用流程        

      二. 準備工作        

      2.1 需要準備如下物品        

      2.2 LF220網關準備工作        

      2.3 PLC準備工作        

      2.4 電腦的準備工作        

      2.5 MQTT服務器準備工作        

      三. 阿裏雲IoT平台配置步驟        

      3.1 創建產品        

      3.2 添加設備        

      3.3 配置阿裏雲IoT平台物模型        

      3.4 獲取連接阿裏雲IoT平台的參數        

      四. MQTT網關登陸平台配置步驟        

      4.1 登錄        

      4.2 網關概況        

      4.3 MQTT連接配置        

      4.4 驅動管理        

      4.5 變量管理        

      五. 數據上報和寫入配置        

      5.1 數據上報配置設置        

      5.2 寫變量配置        

      六. 其他功能        

      七. 注意事項        

              

       

      前言:MQTT是一個基於客戶端-服務器的消息發布/訂閱傳輸協議。MQTT協議的特點是輕量、簡單、開放和易於實現的,同時,西門子PLC廣泛應於工業控製領域,是一款性能高、穩定性強的PLC設備。

      此文檔將介紹如何使用MQTT協議網關串口連接西門子200SMART PLC,將PLC的數據通過MQTT協議傳輸到阿裏雲MQTT數據平台,用戶可以在阿裏雲的MQTT台上實時接收到200SMART PLC的數據,實現PLC數據上雲,遠程監控數據的功能。

      一.       使用流程

      流程如下,使用網關按照以下流程就可以實現將的PLC數據上傳到阿裏雲的MQTT服務器,實現數據采集。


      下文將按照此流程分步進行介紹說明。

      img2

      二.       準備工作

      2.1       需要準備如下物品

      1)        西門子200SMART PLC一台

      2)        MQTT協議網關一台,天線和電源適配器(以下用LF220作為實例)。

      3)        SIM卡一張,有流量,大卡(移動,聯通或者電信卡)。

      4)        聯網電腦一台(WinXP/Win7/Win8/Win10操作係統)。

      5) 登錄阿裏雲的賬號(本文以新開通的賬號為例)。

      6)        USBRS232線、網線、電工工具、導線若幹。

      img3SIM卡.pngimg5聯網電腦.png 

      2.2       LF220網關準備工作

      網關相關技術參數與使用說明,可參考《LF220邊緣計算網關使用手冊V1.1》。

      保證網關可以正常聯網,可通過4G卡(移動/聯通/電信流量卡,大卡)聯網(需接上隨網關附帶的天線)或通過網線聯網(需將路由器出來的網線接到網關的WAN口);

      網關接12V24V直流電源,上電。(注意,電源正負極不要接反)。

      2.3       PLC準備工作

      PLC連接電源(注意電源是24VDC還是220VAC),PLC網口和LF220的LAN口用網線連接起來。

      img7 

      2.4       電腦的準備工作

      電腦安裝“藍蜂MQTT網關配置工具壓縮包”。

      進入藍蜂,點擊【資源中心】→【技術手冊】→【藍蜂MQTT網關配置工具壓縮包】,如圖

      img8 

      ※本客戶端為免安裝客戶端,下載後請使用解壓軟件進行解壓縮操作,打開解壓縮後的文件夾,雙擊“藍蜂MQTT網關配置工具.exe”文件,即可啟動藍蜂MQTT網關配置工具。

      使用方式:啟動藍蜂MQTT網關配置工具,會開啟命令行窗口並啟動電腦內默認瀏覽器,在瀏覽器內進行配置操作,請勿關閉已打開的命令行窗口,或修改瀏覽器內地址,否則將無法正常使用配置工具。

      推薦瀏覽器:Chrome瀏覽器,Edge瀏覽器,360瀏覽器。

      不推薦瀏覽器:不推薦使用IE瀏覽器,火狐瀏覽器,世界之窗瀏覽器。

      2.5       MQTT服務器準備工作

      需要準備一台MQTT服務器,實體服務器、雲服務器(阿裏雲、華為雲等)均可。使用雲服務器,需要配置網關的MQTT上報腳本,必須滿足雲服務器的格式。

      本文以阿裏雲服務器介紹。

      進入阿裏雲IoT平台,登錄賬號,然後點擊右上角控製台。

      img9 

      進入控製台後,選擇【產品與服務】【物聯網平台】。或直接搜索“物聯網平台”。

      注:第一次使用阿裏雲 IoT 平台物聯網服務器需要先開通服務才能使用,跟隨界麵提示點擊即可。

      img10 

      img11 

      這樣就可以進入阿裏雲的物聯網平台。“公眾實例”平台是免費的。

      三.       阿裏雲IoT平台配置步驟

      成功登陸阿裏雲IoT平台以後,需要進行配置,按照如下步驟操作。

      3.1       創建產品

      點擊實例,可進入實例詳情,點擊【設備管理】→【產品】→【創建產品】,如圖。

      img12 

      img13 

      【產品名稱】:可自定義填寫,會在“設備所屬產品”中進行展示。

      【所屬品類】:本案例選擇自定義品類,自定義功能。標準品類時,可選擇與自己產品設備相近的模型,選擇後係統可自動為您創建必選功能,也可根據需要添加可選功能和自定義功能。

      【節點類型】:選擇直連設備

      【聯網方式】:蜂窩(2G/3G/4G/5G)

      【數據格式】:ICA標準數據格式(Alink JSON)

      【校驗類型】和【認證方式】保持默認即可。

      3.2       添加設備

      創建產品完成後,點擊確認,可進行添加設備,點擊“前往添加”。

      img14 

       

      img15 

      DeviceName建議填寫藍蜂網關sn編號,可方便後續對配置文件進行導入導出操作,也可以自定義名稱。

      【備注】可不寫。

      完成後擊【確認】按鈕,可在設備列表中看到添加的設備。

      img16 

      點擊【查看】按鈕,可查看設備的連接參數以及其他詳細信息。

      img17 

      DeviceName和【ProductKey需要記錄下來,在之後的配置過程中會用到。

      3.3       配置阿裏雲IoT平台物模型

      此步驟類似於在平台創建變量。隻有添加了變量以後,平台才會將這些數據進行展示。

      在阿裏雲IoT平台,點擊【產品】,找到我們剛剛創建的產品,點擊查看按鈕,如圖

      img18 

      進入產品中,點擊【功能定義】→【編輯草稿】。

      img19 

      進入編輯草稿頁麵,點擊【添加自定義功能】,可根據自己需求進行變量創建。

      這裏我們添加屬性,添加溫度,濕度和開關三個變量,如圖

      img20 

      注意:數據類型需要根據設備每個屬性的實際情況進行選擇,在後麵使用藍蜂MQTT網關配置工具配置時,需要與之進行匹配。

      區別於EMCP物聯網雲平台,此處不需要填寫變量的地址,數據是根據“標識符”來展示的。建議在創建變量後將創建的“變量名稱”、“標識符”、“數據類型”記錄下來,如下表。在之後的藍蜂MQTT網關配置工具中會用到。

      變量名稱

      標識符

      數據類型

      溫度

      Temperature

      int32(32位整形)

      濕度

      Humidity

      int32(32位整形)

      開關

      Switch

      Bool(開關量)

      添加完成後,列表中可看到我們添加的3個屬性,點擊左下角發布上線。

      img21 

      注:

      1、       如果想要修改創建好的功能類型,點擊編輯草稿即可。

      2、       如果想要創建新的模塊(類似於變量的分組)點擊編輯草稿→添加模塊即可。

      3、       每個產品中可以有多個設備,共用所有的模塊(變量)信息。舉例:我有10台設備在同一個產品下,默認模塊中設置了3個變量。在通訊正常時,10台設備都會采集這3個相同的變量進行展示。

      img22 

      3.4       獲取連接阿裏雲IoT平台的參數

      點擊【設備】,找到剛剛創建的設備,點擊後方的【查看】如圖

      img23 

      img24 

      非常重要。在後麵使用藍蜂MQTT網關配置工具配置網關登陸(4.3節處)需要按照此處信息填寫。這個界麵刷新後會變化,建議在配置網關時打開,複製粘貼即可。

      至此,按照如上步驟,對於阿裏雲平台的設置就完成了。

      總結:

      1、       關於變量:在阿裏雲平台中創建變量完成後,必須要知道設備的DeviceName”、ProductKey”、“變量名稱”、“標識符”、“數據類型”。

      2、       關於MQTT連接參數:非常重要,此為網關登錄阿裏雲IoT平台的參數。

       

      四.       MQTT網關登陸平台配置步驟

      4.1       登錄

      MQTT網關支持本地串口配置和遠程無線配置兩種方式連接網關進行配置。

      ※本地串口配置方式

      使用本地串口配置方式,如圖:

      img25img26 

      使用232串口進行本地配置,將網關的RS232口使用USB轉232線接到電腦上,填寫配置參數,包括選擇通訊口,波特率,數據位,數據校驗,停止位。默認參數為115200,8,無,1。

      【讀取網關串口參數】:如果對於串口參數並不了解,可點擊“讀取網關串口參數”按鈕,客戶端會主動搜索並填入已選中的串口的參數。

      【記住配置】:點擊“記住配置”按鈕後,會記住當前配置,避免每次進入時需要重新配置的問題,再次進入時可直接進行連接操作。

      點擊“立即連接”按鈕,可進入網關配置工具進行配置。

      ※遠程無線配置方式

      當第一次拿到設備時,網關內部默認服務器為藍蜂的MQTT服務器,使用“遠程無線配置”可直接通過藍蜂MQTT服務器對網關進行遠程配置,修改網關參數。

      img27 

      需填寫對應的參數:

      【網關SN碼】:網關SN碼必須為要連接的目標網關。SN碼位於網關機身。

      【客戶端id】:電腦登錄MQTT服務器的ID,隨機生成,也可以自行填寫,最多200個字符,不能與其他設備設置的客戶端id重複。

      【用戶名】【密碼】: 藍蜂默認用戶名、密碼均為test

      IP/域名】:藍蜂MQTT服務器為110.249.137.42

      【端口】: 藍蜂MQTT服務器端口號為1883

      其餘項目不需要修改,連接成功後即可進入網關配置界麵對網關設置進行修改。

      注意,遠程無線配置功能對於一般實體MQTT服務器來說可以直接使用,隻需要填寫好對應MQTT服務器參數即可進行遠程無線配置。針對於阿裏雲、騰訊雲等部分有限製的MQTT服務器來講,此功能不建議使用。

       

      4.2       網關概況

      當連接成功後,即可進入網關配置頁麵,在此界麵中可以查看到網關的基本信息、資源使用情況、服務器連接狀態等,同時也可以對網關進行相應的配置。

      img28 

      關於網關基本信息的具體介紹,見《藍蜂MQTT網關配置工具使用說明》第4.1節。

      注意:LF220最多支持添加2000個變量。

      4.3       MQTT連接配置

      MQTT配置頁麵可用於填寫MQTT服務器參數,具體介紹內容見《藍蜂MQTT網關配置工具使用說明V1.0》第4.2節。拿到網關需要進行MQTT連接配置,用於配置連接的MQTT服務器的參數。配置完成後,網關即可連接MQTT服務器。如圖,圖中所有參數均從阿裏雲處拿到,詳見本文第3.4

      img29 

      此處所有的配置是從阿裏雲平台處獲取的,複製時不要添加或刪除任何字符,否則將無法連接阿裏雲MQTT平台。

      填寫完成後點擊保存按鈕,需要重啟網關,配置才會生效。建議使用串口連接。如使用遠程連接修改的此處參數,當網關重啟後就不能遠程修改了,隻能使用串口連接。

      4.4       驅動管理

      驅動管理用來配置網關與下位機的驅動管理,支持創建/編輯,刪除驅動,設置通訊口配置信息等,如圖。由於是第一次配置,此處為空,需要進行添加驅動的操作。

      img30 

      【通訊口配置】:點擊通訊口配置下麵有3個通訊端口項,【RS232】、【RS485】和【LAN】,分別對應網關上的3個數據通訊端口,3個通訊口可以同時和下位機進行通訊。可按照需要對相應通訊口進行配置。

      我們需要使用網線與PLC進行通訊,所以需要配置網口參數。如下圖。本案例中,PLC的IP地址為192.168.1.55。同時,建議使用手動設置IP的方式。需要填寫和PLC同一網段的地址,任意即可,這裏填寫192.168.1.10,子網掩碼為255.255.255.0。

      【+新增】:點擊此處創建驅動,可根據實際使用需求進行選擇填寫。

      img31 

      【驅動名稱】:自定義。不限中英文,不限標點符號,包括空格,最大支持20個字。

      【品牌】、【型號】:根據需要選擇品牌型號,網關會根據您選擇的品牌型號的專有協議跟設備進行通訊。本案例連接西門子200SMART PLC,所以【品牌】選擇“西門子”,【型號】選擇“S7-200 SMART”。

      IP地址】:必填項,填寫PLC的IP地址。

      【端口號】:西門子默認為102。

      完成後點擊確定即可看到新創建的驅動。

      4.5       變量管理

      首先我們需要拿到PLC端的地址表, 此處的【寄存器類型】和【寄存器地址】需要和PLC的地址表一致。地址表見後方說明。

      注意:此處的【變量標識(key)】需要和阿裏雲MQTT平台中填寫的一致且區分大小寫。見3.3節表格。

      img32 

      img33 

       

      注:

      1、網關會將創建的所有變量上傳到阿裏雲IoT平台,由IoT平台根據標識符來判斷數據是否采集、展示。

      2、MQTT網關配置工具支持變量的複製/導入/導出功能,使用【複製】可以快速添加變量。

      具體內容介紹見《藍蜂MQTT網關配置工具使用說明V1.0》第4.5.2節和4.5.3節。

      ※變量名稱說明

      儀表、PLC:必填,選擇剛才創建的西門子smart200即可。

      變量表示(key):必填,自定義即可。注意不能有重複的名稱。

      【寄存器類型】:必填,填寫對應西門子smart200PLC的寄存器類型。

      寄存器地址:必填,與實際寄存器地址一致。具體可見下方地址表示例。

      數據類型:必填,根據實際需要選擇即可。

      【死區設置】:具體內容見後方“?”。

      【讀寫方式】:可根據需求自行修改該寄存器的讀寫方式,默認為隻讀。

      【采集公式】:可根據需求自行編寫公式,需要使用英文字符。具體內容介紹見《藍蜂MQTT網關配置工具使用說明V1.0》第4.5.4。

      地址表示例:

      img34 

      五.       數據上報和寫入配置

      由於阿裏雲IoT平台是有自己獨立的數據上報格式的,我們需要在“藍蜂MQTT網關配置工具”中對這一部分進行編輯。

      5.1       數據上報配置設置

      5.1.1       配置步驟

      打開阿裏雲平台,點擊【產品】→【查看】,如圖

      img35 

      進入產品後,點擊【topic類列表】-【物模型通信topic】,即找到屬性上報主題,如圖

      img36 

      其中“ /sys/ gqbaihhDlTb /${deviceName}/thing/event/property/post”中的gqbaihhDlTbIoT平台自動生成的,需要改成自己設備的ProductKey。為3.2節中標出需要記錄的ProductKey。

      主題中的通配符${deviceName}需要替換成我們這個產品中創建的設備的DeviceName。我們的示例在阿裏雲IoT平台創建的設備的DeviceName為網關sn編號,而在藍蜂配置工具中可使用通配符${sn}代替sn編號。

      因此我們的上報主題為/sys/gqbaihhDlTb/${sn}/thing/event/property/post

      我們將該主題寫入數據上報配置中的上報主題中,如圖

      img37 

      【上報方式】:可按需求選擇定時上報或變化上報,此文檔以定時上報為例。

      【加工腳本】如下,複製粘貼即可,一般不需要進行修改

      function reportToJson(signalArray, system){

          var json ={

              id: system.msgId,

              version:"1.0",

              sys:{ ack : 0},

              method: "thing.event.property.post",

              params:{}

          }

          var time = new Date().getTime();

          for(var i=0; i<signalArray.length; i++){

              var signal = signalArray[i];

              json.params[signal.key] = {

                  time:time,

                  value:Number(signal.value)

              }

          }

          return JSON.stringify(json);

      }

      點擊確定按鈕,配置完成,需要重啟網關,配置才會生效,將網關接入設備後,采集到的數據就可上報到阿裏雲IoT平台了。

      5.1.2       查看數據

      當設備采集到數據並上報到阿裏雲IoT平台後,我們可以在阿裏雲IoT平台,點擊設備,找到我們接入的設備。

      img38 

      點擊查看按鈕,進入設備詳情中,點擊物模型數據,便可查看到我們采集到的數據,如圖

      img39 

      點擊查看數據按鈕,可查看該屬性的曆史數據詳情,如圖

      img40 

      5.2       寫變量配置

      5.2.1       操作步驟

      從阿裏雲IoT平台向設備寫入數據,需要在藍蜂MQTT網關配置工具中對寫入進行配置。

      點擊【數據傳輸配置】-【寫變量配置】,我們可在寫變量配置中設置請求和響應主題,在阿裏雲IoT平台打開對應設備的topic列表找到屬性設置topic,如圖

      img41 

      進入產品後,點擊【topic類列表】-【物模型通信topic】,即找到屬性設置主題,如圖

      img42 

      其中/sys/ gqbaihhDlTb /${deviceName}/thing/service/property/set中的gqbaihhDlTbIoT平台自動生成的,需要改成自己設備的ProductKey。為3.2節中標出需要記錄的ProductKey。

      主題中的通配符${deviceName}需要替換成我們這個產品中創建的設備的DeviceName。

      我們的示例在阿裏雲IoT平台創建的設備的DeviceName為網關sn編號,而在藍蜂配置工具中可使用通配符${sn}代替sn編號。

      因此我們的請求主題為:/sys/gqbaihhDlTb/${sn}/thing/service/property/set,

      響應主題為:/sys/gqbaihhDlTb/${sn}/thing/service/property/set_reply

      我們將請求主題和響應主題寫入寫變量配置中的請求和響應主題中,如圖

      img43 

      ※【請求解析腳本】如下,複製粘貼即可,一般不需要進行修改

      function writeReqToJson(str){ 

              if(str != ''){

                      var req = JSON.parse(str)

                      var keys = Object.keys(req.params)

                      var key = keys[0]

                      var msgId = req.id

                      var json = { data:[{key: key, value:req.params[key]+""}],msgId:msgId}

                      return JSON.stringify(json)

              }

              return ''

      }

      ※【響應加工腳本】如下,複製粘貼即可,一般不需要進行修改

      function writeRespToJson(signal, system){

          var json = {

              "code": 200,

               "data": {},

               "id": system.msgId,

               "message": "success",

               "version": "1.0"

          }

          return JSON.stringify(json)

      }

       

      點擊確定按鈕,配置完成,需要重啟網關,配置才會生效,將網關接入設備後,就可以從阿裏雲IoT平台直接控製設備,進行寫入數據了。

      5.2.2       向設備寫入數據

      打開阿裏雲IoT平台,點擊【監控運維】【在線調試】,選擇我們想要寫入數據的設備,如圖

      img44 

      找到想要寫入數值的屬性,我們此處對溫度進行寫入數值36,如圖

      img45 

      設置成功後,在阿裏雲IoT平台數值查看處我們也可以看到我們寫入成功的數據,如圖。

      注意:

      1、       點擊“獲取”時,獲取到的值是阿裏雲平台最後一次成功通訊的值。即使獲取成功,也不能說明網關和下位機通訊正常。

      2、       連接阿裏雲IoT平台時建議將網關的“透傳設置”、“采集異常設置”、“狀態上報設置”關閉。

      img46 

       

      六.       其他功能

      LF220支持PLC遠程下載、斷網續傳、腳本功能,(透傳功能不適用於阿裏雲服務器)功能介紹可查看《LF220邊緣計算網關用戶手冊》,或點擊對應功能頁中的“?”跳轉幫助界麵進行查看。

      七.       注意事項

      1、LF220網關暫時不支持web配置頁,目前暫時不能設置交換機和路由器模式。

      2、在打開藍蜂MQTT網關配置工具之後,請勿關閉已打開的命令行窗口,或修改瀏覽器內地址,否則將無法正常使用配置工具。

      3、配置成阿裏雲服務器以後,再次配置網關時隻能使用RS232轉USB本地配置,不能使用在線配置。

      4、配置LF220關參數時必須要和阿裏雲服務器中設置的一致。

      5、阿裏雲服務器(或其他服務器)有自己固定的格式,需要編寫對應的腳本。阿裏雲服務器腳本按照文檔中填寫的即可,可以直接複製粘貼。

      6、如果串口232是7位時,串口連接點擊升級,升級成功客戶端不會提示升級成功,但是網關實際會升級成功。

      7、藍蜂MQTT網關配置工具的網關編碼格式為utf-8。

      8、兼容性:win7, win10, win11係統,不支持winxp及更低版本windows係統,不支持linux、MacOS、android和ios係統。

       

       

      本文地址: /8887.html
      網站內容如侵犯了您的權益,請聯係我們刪除。

      標簽: 上一篇: 下一篇: