TwinCAT IoT及Analytics用于設備健康管理_第1頁
TwinCAT IoT及Analytics用于設備健康管理_第2頁
TwinCAT IoT及Analytics用于設備健康管理_第3頁
TwinCAT IoT及Analytics用于設備健康管理_第4頁
TwinCAT IoT及Analytics用于設備健康管理_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

BeckhoffChina技術文檔|24倍福官方網(wǎng)站: 倍福中國微信公眾號(在線支持):Beckhoff20140220在線幫助系統(tǒng): 倍福中國FTP資料下載: BeckhoffChina技術文檔文檔內(nèi)容可能隨時更新如有改動,恕不事先通知TTwinCATIoT及Analytics用于設備健康管理作者:陳利君職務:華南區(qū)技術工程師郵箱:l.chen@日期:2021-09-14摘要:自動化設備的健康管理,其機制就是采集生產(chǎn)設備的健康狀態(tài),進行存儲和分析。不同行業(yè)設備的健康數(shù)據(jù)、分析工具、健康指標可能會不同,但數(shù)據(jù)的采集、傳輸和存儲方法是相通的——自動化設備的健康數(shù)據(jù)由一臺或多臺PLC提供,但健康狀態(tài)分析通常在局域網(wǎng)內(nèi)或者Internet上的另一臺PC上進行,數(shù)據(jù)的提供方與使用方經(jīng)由IoT技術來連接。TwinCAT提供兩種基于IoT技術的設備健康管理方案:一種是TwinCAT3Analytics套件,另一種是PLC自由編程實現(xiàn)IoT數(shù)據(jù)通訊,二者都采用MQTT協(xié)議。實際上這兩種方案可以采集任何工藝數(shù)據(jù),供用戶后期使用。以上代碼由萬品雷從自己的機器學習項目中抽取而來,本文僅是測試記錄,也可作為代碼配套說明。附件:序號文件名備注1TwinCATAnalyticsFileSaveLocal作者:萬品雷2AnalyticsIotMQTT作者:萬品雷3AnalyticsDataCollection.pptx作者:萬品雷4歷史版本:免責聲明:我們已對本文檔描述的內(nèi)容做測試。但是差錯在所難免,無法保證絕對正確并完全滿足您的使用需求。本文檔的內(nèi)容可能隨時更新,如有改動,恕不事先通知,也歡迎您提出改進建議。參考信息: 目錄 1 概述 31.1 設備健康管理方案 31.2 方式A:TcAnalytic工具 41.2.1 數(shù)據(jù)采集 41.2.2 數(shù)據(jù)后處理 41.3 方式B:PLC寫代碼通過IoT存取數(shù)據(jù) 41.3.1 數(shù)據(jù)采集 41.3.2 數(shù)據(jù)后處理 42 配置方式:AnalyticsIotMQTT 52.1 準備工作 52.1.1 控制器側 52.1.2 MQTT服務側 52.1.3 數(shù)據(jù)記錄存儲側 52.1.4 Analytic數(shù)據(jù)后處理側 52.2 數(shù)據(jù)采集的配置 62.2.1 如果單機本地直接采集 62.2.2 如果通過MQTT服務器 102.3 數(shù)據(jù)記錄和存儲 122.4 Analytics數(shù)據(jù)后處理 162.4.1 方法一:用TC3Scope導出 172.4.2 方法二:用TC3ScopeView 183 PLC代碼方式:TwinCATAnalyticsFileSaveLocal 203.1 準備工作 203.2 項目:TcMLFrameWork 203.2.1 引用庫:References 213.2.2 自定義結構體:ST_UserData 213.2.3 自定義功能塊:FBs 213.2.4 全局變量:GVL_Logger 233.2.5 全局變量:GVL_test 233.2.6 全局變量:GVL 233.2.7 程序:Main 233.2.8 程序:PRG_Logger 233.2.9 程序:PRG_Client 253.3 執(zhí)行結果 263.3.1 生成和發(fā)送數(shù)據(jù) 263.3.2 接收數(shù)據(jù) 26TwinCATIoT及Analytics用于設備健康管理ByLizzyChen2021.06.25資源:來自倍福中國STS組概述設備健康管理方案自動化設備的健康管理,其機制就是采集生產(chǎn)設備的健康狀態(tài),進行存儲和分析。不同行業(yè)設備的健康數(shù)據(jù)、分析工具、健康指標可能會不同,但數(shù)據(jù)的采集、傳輸和存儲方法是相通的——自動化設備的健康數(shù)據(jù)由一臺或多臺PLC提供,但健康狀態(tài)分析通常在局域網(wǎng)內(nèi)或者Internet上的另一臺PC上進行,數(shù)據(jù)的提供方與使用方經(jīng)由IoT技術來連接。TwinCAT提供兩種基于IoT技術的設備健康管理方案:一種是TwinCAT3Analytics套件,另一種是PLC自由編程實現(xiàn)IoT數(shù)據(jù)通訊,二者都采用MQTT協(xié)議。實際上這兩種方案可以采集任何工藝數(shù)據(jù),供用戶后期使用。如圖所示:?上圖中,TwinCATController或者DataAgent與MQTTMessageBroker建立了MQTT數(shù)據(jù)流之后:TwinCATStorage可以引用這個數(shù)據(jù)流,把數(shù)據(jù)源源不斷地“導入”本地進行存儲;本地存儲的文件,又可以在本機或者復制到其它電腦;其它電腦可以通過TwinCATMessurement做曲線顯示或者通過TwinCATAnalyticsWorkbench做離線分析;TwinCATHMI則提供控件和方法可以“實時”顯示數(shù)據(jù)源的變化情況;邊緣設備上運行TwinCATAnalyticsRuntime,可以進行在線分析。不是每個應用都必須用到上述所有功能,本文介紹最簡單也最容易實施的應用,就只包含前3點:創(chuàng)建數(shù)據(jù)流、本地存儲和曲線顯示。方式A:TcAnalytic工具詳見第2章數(shù)據(jù)采集DataLogger緩存文件的存儲單機本地直接采集這是最簡單的情況,緩存文件直接就存在PLC的啟動目錄“C:\TwinCAT\3.1\Boot\Analytics”通常是倍福IPC上安裝TwinCATXAE,提供數(shù)據(jù)的PLC程序在IPC上運行,同時存儲和分析數(shù)據(jù)也在這臺IPC上執(zhí)行。MQTT存在服務器上面這是常用的能發(fā)揮MQTT優(yōu)勢的用法,PLC需要連接外網(wǎng),把臨時數(shù)據(jù)送到指定的MessageBroker服務器上。這個服務器可能在局域網(wǎng),也可能在Internet上。PLC上不必安裝XAE和分析工具,所以對控制器的要求不高,嵌入式PC就可以滿足。StorageProvider指定時間段的數(shù)據(jù)記錄最終需要的數(shù)據(jù)是指定時間段內(nèi)特定變量的數(shù)據(jù)記錄。如果只有DataLogger而沒有StorageProvider,按默認配置就只能保存最近5秒的數(shù)據(jù)。數(shù)據(jù)后處理數(shù)據(jù)采集是為了使用,如果不對數(shù)據(jù)做后處理,那就沒必要采集了。用配置方式生成的數(shù)據(jù),使用特殊的文件格式(.tay),倍福提供數(shù)據(jù)后處理的系列工具(TC3ScopeExportTool.exe;TC3XAE的Messurement),用于圖形化顯示、導出數(shù)據(jù)、應用分析等。后處理就是在ScopeView中裝載數(shù)據(jù)記錄文件(.tay),顯示波形曲線,進行各種分析。也可以導出成.csv或者.txt文件,由用戶自定義的第三方工具進行處理。方式B:PLC寫代碼通過IoT存取數(shù)據(jù)數(shù)據(jù)采集詳見第3章。產(chǎn)生數(shù)據(jù)側PLC把產(chǎn)生的數(shù)據(jù)上傳到MQTT。除了引用IoT的庫,其它都由用戶自定義。存儲數(shù)據(jù)側PLC從MQTTBroker獲取數(shù)據(jù),然后寫入csv文件,或者寫入數(shù)據(jù)庫。除了引用IoT的庫,其它都由用戶自定義。數(shù)據(jù)后處理根據(jù)PLC存儲的數(shù)據(jù)格式自行定義,比如后續(xù)如何分析csv文件,或者如何從數(shù)據(jù)庫提取數(shù)據(jù)進行分析等。配置方式:AnalyticsIotMQTT準備工作控制器側授權:控制器側TF3500|TC3AnalyticsLogger安裝包:已經(jīng)包含在XAR或XAE中,不需要單獨安裝控制器:CX5130,WES7,TC3.1.4024.15(XAR)MQTT服務側即在MQTT服務器上緩存Analytics數(shù)據(jù)的功能。如果在云上安裝MQTT服務器,Analytics臨時中轉數(shù)據(jù)就存在云上。如果在局域網(wǎng)某臺PC上安裝MQTT服務器,Analytics數(shù)據(jù)就存在局域網(wǎng)這臺PC上。常用的測試工具是在云服務器或者某臺PC上安裝mosquitto,使之成為MQTT服務器:安裝包:mosquitto-1.4.14-install-win32.exe,數(shù)據(jù)記錄存儲側MQTT服務器上只是存儲臨時數(shù)據(jù)文件,如果需要記錄和存儲數(shù)據(jù),需要IPC上安裝TC3XAE和TF3520AnalyticsStorageProvider:授權:TF3520AnalyticsStorageProvider,安裝包:TF3520-Analytics-Storage-Provider.exeAnalytic數(shù)據(jù)后處理側做數(shù)據(jù)后處理的IPC上也要安裝TwinCAT3XAE和AnalyticsEngineering安裝包:TC3-Measurement-Full.exe,提示:安裝時要勾選TE35xxAnalyticsEngineering,默認是不選中此項的方法一:TC3ScopeExportTool.exe執(zhí)行文件:C:\TwinCAT\Functions\TF3300-Scope-Server\TC3ScopeExportTool.exeC:\TwinCAT\Functions\TE130X-Scope-View\TC3ScopeExportTool.exe方法二:TC3ScopeView(TC3MessurementProject)TC3ScopeView自帶功能其它授權:TE3500|TC3AnalyticsWorkbench TE3520|TC3AnalyticsServiceTool提示:TE35xx也有7天試用版授權數(shù)據(jù)采集的配置如果單機本地直接采集PLC程序提供數(shù)據(jù)的PLC程序,最重要是把需要采集變量都加上屬性{attribute'TcAnalytics'}。示例的PLC程序僅一個變量Main.bTest,無邏輯:PROGRAMMAINVAR {attribute:'TcAnalytics'} bTest:BOOL;END_VAR;配置DataLogger如果解決方案資源管理器中沒有ANALYTICS這項,就從TwinCAT項目的右鍵菜單中選擇ShowHiddenConfigurations|ShowANALYTICSConfiguration:然后從ANALYTICS右鍵菜單選擇“AddDataLogger”DataLogger的默認配置是這樣的:TF3500_TC3_Analytics_Logger_en-us_draft.pdf第19頁有每項的含義,單機本地存儲時可以直接使用默認配置,打開其它兩個頁面可見TLS為None,TimeSource為None。如果創(chuàng)建DataLogger時PLC編譯過的程序中已經(jīng)存在屬性為{attribute:'TcAnalytics'}的變量,DataLogger下就會自動生成PLCStream:如果創(chuàng)建的時候還沒有需要Logger的變量,而是之后才給PLC變量加上屬性{attribute:'TcAnalytics'},那么程序編譯后,PLCStream就會自動出現(xiàn)在DataLogger下。選擇需要采集的PLC變量在PlcStream的Selection頁面勾選變量:只有屬性為{attribute:'TcAnalytics'}的變量,才會出現(xiàn)在可供選擇的列表中。也可以再查看下DataHandling頁面,雖然直接使用如下默認設置即可:這里的File就是默認存儲采集數(shù)據(jù)的文件路徑,%TC_BOOTPRJPATH%就表示“C:\TwinCAT\3.1\Boot\Analytics”激活配置并下載運行PLC程序在文件夾下查看數(shù)據(jù)記錄的結果根據(jù)文件夾的更新時間,可以查到最新的記錄文件:維持PLC正常運行,過幾分鐘再查看這個文件夾:可見文件名變化了,文件大小不變。對照文件修改日期,可以推測文件名的后半部T09-32-02-029的含義是,9點32分02秒029毫秒。修改時間17:32是北京時間,而對應的格林威治時間(時區(qū)0)剛好是09:32。文件大小不變,而兩個文件的時間相差5s120ms,預計10kB數(shù)據(jù)只包含了Logger中最新5s120ms時間內(nèi)的歷史數(shù)據(jù)。用TargetBrower觀察數(shù)據(jù)記錄在TargetBrowser的TcAnalyticsFile頁面找到文件夾(后4位字符387A):可以見到采集的變量,及記錄長度,當前是00:00:05:110如果通過MQTT服務器先完成上一節(jié)“如果單機本地直接采集”的第(1)至(4)步。然后修改第(2)步中DataLogger的參數(shù)設置。如果通過MQTT服務器,第一項DataFormat就應選擇Binary,而MQTTHostName處要填寫服務器的IP。對于最簡單的匿名訪問,直接使用1883端口,Topic可以修改也可以默認,ClientID可以填或者不填。查看PlcStream的狀態(tài)如果一切正常,控制器激活配置并且PLC啟動運行后,PlcStream的Online頁的MQTTConnection狀態(tài)應顯示為“Connected”:提示:如果不正常就會顯示紅色的Disconnected,這時就需要去檢查控制器的授權、網(wǎng)絡連接、服務DataLogger服務是否啟動了。如果都沒問題,可以嘗試設置為自動啟動和引導運行PLC程序,然后重啟控制器。用TargetBrower觀察數(shù)據(jù)記錄從主菜單TwinCAT|TargetBrowser|TargetBrowser打開目標瀏覽器,在TcAnalytics頁面找到MQTTBroker的IP,展開樹形結構顯示LiveData:如果能顯示IP下的LiveData中的變量與程序中定義并在DataLogger中選擇的變量一致,就說明通過MQTT的數(shù)據(jù)采集(DataLogger)成功了。數(shù)據(jù)記錄和存儲以下操作在配置DataLogger的同一臺或者另一臺安裝了TC3XAE和StorageProvider的IPC上執(zhí)行。配置StorageProviderRecorder打開目錄:C:\TwinCAT\Functions\TF3520-Analytics-StorageProvider\WinService\執(zhí)行程序:TcAnalyticsStorageProvider_Config.exe設置MessageBroker信息,最重要的是IP地址,匿名訪問的端口都是1883。初次測試使用匿名訪問即可。設置完成后點擊CheckSetting,顯示OK就可以返回了。然后點擊Start按鈕,確認狀態(tài)為Running。打開StorageProviderRecorder主菜單TwinCAT|Analytic|StorageProviderRecorder選擇云上的Provider正常應該能列表顯示可用的Provider:如果列表為空,點擊配置圖標,檢查ConnectionSettings:填寫正確的MQTT服務器IP和端口后,點擊CheckSettings,正常結果應為OK。如果Broker選擇的下拉框仍然為空,就需要檢查本機的Provider配置和授權了。選擇要存儲的數(shù)據(jù)記錄從TargetBrowser中選擇變量拖放到StorageProviderRecorder可以一次選擇單個或者多個變量,然后設置TopicAlias和記錄時長:上圖中A、B兩處的時長設置是互相排斥的,A處指單次記錄,B處指循環(huán)記錄,設置A處則B處清零,反之亦然。例如在A處設置為2分鐘,結果StorageProviderRecorder中的記錄項就增加了1項“Main_XYZ”,如圖所示:啟動數(shù)據(jù)記錄點擊指定Topic前面的START按鈕:可見MAIN_XYZ前的按鈕稍后就顯示為藍色的STOP,這表示當前正在記錄,可以手動停止。下載記錄數(shù)據(jù)2分鐘后,MAIN_XYZ前面的圖標又顯示為紅色的START,表示記錄已經(jīng)停止,可以手動啟動。每記錄一次,就會生成一個文件。點擊界面上方的保存按鈕,選擇剛才記錄的MAIN_XYZ:點擊Download,選擇存儲路徑即可。查看數(shù)據(jù)記錄的文件到指定路徑查看剛才記錄的文件:上圖中.tay文件大小234kB,就是MAIN_XYZ中3個Real型變量在2分鐘內(nèi)的歷史記錄。因為是Binary格式,可以計算文件有效占用空間。PLC默認周期10ms,2分鐘內(nèi)PLC運行了12000次,每次記錄3個Real數(shù)據(jù)即12字節(jié)。所以純數(shù)據(jù)的Size為144kB。3*4*(2*60*1000/10)=12*12000=144,000Byte考慮到12000行的Timestamp,每個64位即8字節(jié),總計96,000Byte數(shù)字和時間的總占用字節(jié)數(shù)為:144,000+96,000=240,000Byte而計算機的1kB實際是1024字節(jié),所以該數(shù)據(jù)記錄不論保存為什么格式的文件,不應小于240,000/1024=234.375kB。對照截圖中的.tay文件大小234kB,可見這是一個純二進制文件,沒有插入任何標記。Analytics數(shù)據(jù)后處理.tay文件通過ScopeView進行采集,然后轉成其他格式文件.tay文件直接通過Tc3ScopeExportTool.exe進行處理注意:.tas文件不能刪除否則文件無法使用方法一:用TC3Scope導出執(zhí)行文件TC3ScopeExportTool.exeC:\TwinCAT\Functions\TF3300-Scope-Server\TC3ScopeExportTool.exe或C:\TwinCAT\Functions\TE130X-Scope-View\TC3ScopeExportTool.exe選擇Source和Destination即源文件.tay和目標文件,目標文件可以是.csv或者.txt:設置文件格式、數(shù)據(jù)通道和時間然后點擊Start,正常就應該出現(xiàn)導出成功的提示:方法二:用TC3ScopeView確認安裝TCXAE的電腦上有TE1300授權從.tay文件中讀取歷史數(shù)據(jù)顯示成曲線,需要TwinCATScopeProfessional授權。如果沒有,可生成TrialLicense,最多可以顯示5個變量。新建Messurement項目打開TargetBrowser,拖放變量可以一次選中多個變量拖放到ScopeProject。開始記錄點擊Scope開始記錄的圖標,就會從離線文件.tay中裝截數(shù)據(jù),就象現(xiàn)場從PLC中記錄的數(shù)據(jù)一樣:上圖可見,.tay文件記錄了2分鐘的數(shù)據(jù),而Scope中顯示出來的曲線就是2min。如果變量數(shù)目超過5,ScopeProject就會報錯,提示需要TwinCATScopeProfessional的正式授權。Scope中的其它分析功能.tay離線文件數(shù)據(jù)裝載進Scope后就可以和在線監(jiān)視的變量一樣,實現(xiàn)Scope功能中的所有分析了。從Scope導出到.csv這是Scope標準功能,不再詳述。從主菜單Scope|Export進入導出模板:然后一步步按提示操作即可。PLC代碼方式:TwinCATAnalyticsFileSaveLocal準備工作通訊雙方都需要授權:TF6701|TC3IoTCommunicationBACN庫文件安裝:tc3_5gutilities.library,路徑:\AnalyticsIotMQTT\TcMLFrameWorkServer\TcMLFrameWorkServer\MLFrameWorkServer\_Libraries\bacn\tc3_utilities\安裝包:無控制器:CX5130,WES7,TC3.1.4024.15(XAR)編程PC:筆記本,Win1064位,TC3.1.4024.15,VS2017,TcXaeShell項目:TcMLFrameWork倍福中國工程師創(chuàng)建了這個示例項目,封裝了幾個關鍵的FB,F(xiàn)B_MQTTClient用于在發(fā)送端打包結構體到Json格式送到MQTT,F(xiàn)B_MQTTServer在接收端從MQTT接收Json數(shù)據(jù)再解包成結構體,F(xiàn)B_StructDataSave用于存儲.csv文件。需要記錄的數(shù)據(jù)首先要放在結構體ST_UserData中。示例項目中只有一套PLC程序,通過全局變量.bClient切換角色。引用庫:References?說明:上圖中TC3_Utilities是新增的庫,向倍福工程師索取Demo程序,找到這個庫文件后還需要單獨安裝。自定義結構體:ST_UserDataTYPEST_UserData:STRUCT iRowIndex :UDINT; strDateTime :STRING; iSensorValue1 :INT; iSensorValue2 :BOOL; iSensorValue3 :REAL; iSensorValue4 :REAL; iSensorValue5 :REAL;END_STRUCTEND_TYPE自定義功能塊:FBsFB_MQTTClientFUNCTION_BLOCKFB_MQTTClientVAR_INPUT sClientId:STRING(255):='MyTcMqttClient';//defaultisgeneratedduringinitialization sTopicPub :STRING(255):='topicTest01'; //baidusHostName:STRING(255):='85';//defaultislocalhostnHostPort:UINT:=1883;//defaultis1883sTopicPrefix:STRING(255);//topicprefixforpubandsubofthisclient(handledinternally)nKeepAlive:UINT:=60;//inseconds stPubData :ST_UserData; bAllowedPublish :BOOL:=TRUE; //sUserName:STRING(255);//optionalparameter//sUserPassword:STRING(255);//optionalparameter//stWill:ST_IotMqttWill;//optionalparameter//stTLS:ST_IotMqttTls;//optionalparameter//ipMessageFiFo:I_IotMqttMessageFiFo;//ifreceivedmessagesshouldbequeuedduringcallofExecute() END_VARVAR_OUTPUT bError:BOOL; bConnected:BOOL;END_VARFB_MQTTServerFUNCTION_BLOCKFB_MQTTServerVAR_INPUT sClientId:STRING(255):='MyTcMqttClient2';//defaultisgeneratedduringinitialization sTopicSub :STRING(255):='topicTest01'; //baidusHostName:STRING(255):='85';//defaultislocalhostnHostPort:UINT:=1883;//defaultis1883sTopicPrefix:STRING(255);//topicprefixforpubandsubofthisclient(handledinternally)nKeepAlive:UINT:=60;//insecondsEND_VARVAR_OUTPUT bError :BOOL; bConnected :BOOL; stSubData :ST_UserData; bLoggerTriger :BOOL;END_VARFB_StructDataSaveFUNCTION_BLOCKFB_StructDataSaveVAR_INPUT sLoggerPath :T_MaxString:='C:\Logger'; bLoggerTriger :BOOL; aColumnTitle :ARRAY[1..CSV_MAX_ITEMS]OFSTRING(CSV_ITEM_SIZE); aColumnValue :ST_UserData; iFileID :DINT;END_VARVAR_OUTPUTEND_VAR全局變量:GVL_LoggerVAR_GLOBAL g_stSubData :ARRAY[1..2]OFST_UserData; g_aColumnTitle :ARRAY[1..CSV_MAX_ITEMS]OFSTRING(CSV_ITEM_SIZE);END_VARVAR_GLOBALCONSTANT CSV_MAX_ITEMS :UDINT:=8;//TotalItems CSV_ITEM_SIZE :UDINT:=30;//maxbyteperItemEND_VAR全局變量:GVL_testVAR_GLOBALbClient:BOOL:=FALSE;tName:STRING:='85';//'localhost'OR'85'END_VAR全局變量:GVLVAR_GLOBAL g_stPubData :ST_UserData;END_VAR程序:MainPROGRAMPRG_LoggerVAREND_VARIFGVL_test.bClientTHEN PRG_Logger();ELSE PRG_Client();END_IF程序:PRG_LoggerPROGRAMPRG_LoggerVAR fbMQTTServer :ARRAY[1..2]OFFB_MQTTServer; fbStructDataSave :ARRAY[1..2]OFFB_StructDataSave;END_VARfbMQTTServer[1]( sClientId:='MyTcMqttClient11', sTopicSub:='topicTest01', sHostName:='85', nHostPort:=1883, sTopicPrefix:=, nKeepAlive:=, bError=>, bConnected=>, stSubData=>g_stSubData[1], bLoggerTriger=>);fbMQTTServer[2]( sClientId:='MyTcMqttClient22', sTopicSub:='topicTest02', sHostName:='85', nHostPort:=1883, sTopicPrefix:=, nKeepAlive:=, bError=>, bConnected=>, stSubData=>g_stSubData[2], bLoggerTriger=>); g_aColumnTitle[1]:='FileID';g_aColumnTitle[2]:='RowIndex';g_aColumnTitle[3]:='DateTime';g_aColumnTitle[4]:='SensorValue1';g_aColumnTitle[5]:='SensorValue2';g_aColumnTitle[6]:='SensorValue3';g_aColumnTitle[7]:='SensorValue4';g_aColumnTitle[8]:='SensorValue5'; fbStructDataSave[1]( sLoggerPath:='C:\Logger2\Logger11', bLoggerTriger:=fbMQTTServer[1].bLoggerTriger, aColumnTitle:=g_aColumnTitle, aColumnValue:=g_stSubData[1], iFileID:=1);fbStructDataSave[2]( sLoggerPath:='C:\Logger2\logger22', bLoggerTriger:=fbMQTTServer[2].bLoggerTriger, aColumn

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論