色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

DTU腳本編程_本地采集腳本指令詳解

物聯網資訊 ? 2018-06-01 17:02 ? 次閱讀

前言:

通過配置 DTU 的腳本指令實現 DTU 定時自動采集,用戶只需知道外接儀表、無需再單獨 增加控制器 傳感器的采集流程,然后通過編寫腳本指令即可讓 DTU 按照用戶的流程自動采集、上傳數 據。腳本實現了基本的開關控制、延時控制、指令下發、循環控制、上報控制、插入自定義 報文頭、是否接收儀表應答、波特率改變等功能,能滿足大部分儀表的采集需求。

此文檔定義的腳本指令主要是為了實現 DTU 自動采集功能,在某種情況下,用戶可能 需要數據中心遠程控制采集或者干預一些開關動作,眾山 DTU 也支持用戶的數據中心通過 SHELL:+腳本的形式發送給 DTU,DTU 收到此數據會臨時執行一次數據中心下發的腳本來實 現遠程采集和控制。如數據中心下發:SHELL:@W1=1@C=0102@W1=0 DTU 收到 SHELL:開 始的數據不會透傳給 DTU 串口,而是執行一次腳本。--本文針對眾山科技DTU腳本指令詳解。

image.png

一、腳本格式:

@cmd=value

@:腳本頭,每一條腳本指令都使用@開始。

cmd:指令,為 1 或多個字符、數字組成的字符串,不區分大小寫,下面詳解每一條腳 本指令的含義。

value:指令動作,指定指令需要執行的值。


二、腳本指令詳解:

E: ECHO 回顯,此腳本指令控制 C 腳本指令下發給儀表的采集命令是否需要同時上報

給中心,value 為 1 表示需要回顯,value 為 0 表示不回顯。不使用此指令時默認為

不回顯。此指令為整個腳本全局生效指令,直到腳本結束。如果有些采集指令需要

回顯有些不需要回顯只需要在相應的采集指令前加入此指令做相應的控制即可。

示例:

@E=1 回顯采集命令

@E=0 不回顯采集命令

M:標記,此腳本指令無實際動作,用于產生一個標記,和 L 指令配合完成 LOOP 循環

控制。value 為 1-3,支持 3 個標記,循環嵌套時需要使用不同的標記,非嵌套循環

可以重復使用。

示例:

@M=1 產生 M1 標記點

@M=2 產生 M2 標記點

L: 循環腳本,此腳本指令控制循環到標記點的次數,用于需要對儀表進行多次重復數 據

采集的場合,比如需要對儀表連續采集 3 次數據。value 為 x,y 的格式,x 表示標 記點,值

為 1-3 表示 M1~M3 標記點,y 為循環次數。3 個標記點允許實現 3 層循環 的嵌套,不嵌套

的循環無限制,可以重復使用標記點。腳本執行到 L 指令時立即跳轉到指定的 M 標記點,

直到達到循環指定的次數后,繼續往后面執行。

示例:

@L=1,3 表示跳轉到 M1 標記,循環執行 3 次。

@L=2,2 表示跳轉到 M2 標記,循環執行 2 次。

T: 數據上報中心控制,此腳本指令用于實現多次采集周期結束后一次性上報數據的 應用,比如

用戶設置每 5 分鐘采集一次數據,1 小時上報一次,就可以通過設置此 指令值為 12 來實現。

value 表示次數,默認為 1 次,即當次采集周期結束后立即上 報。此指令為整個腳本全局生效指

令,直到腳本結束,并且只允許出現一次此指令, 如果此腳本出現多次時,以最后一次的值為有

效。注意:此指令控制的上報次數以 一次腳本完全執行結束為一個周期,與 L 指令控制的循環執

行不產生影響。

示例:

@T=3 表示 3 個采集周期結束后才上報數據。

B: 波特率控制,此腳本指令用于外接多個不同波特率儀表或者儀表波特率與 DTU 串口 波特率不相

同時臨時改變 DTU 的串口波特率。value 為波特率值,需要在發送采集 命令前通過此指令改變 DTU

波特率與儀表波特率一致。當腳本執行結束,會自動 回到 DTU 默認的串口波特率。

示例:

@B=38400

H: 數據頭控制,此腳本指令用于在采集的儀表數據前加入用戶自定義的數據頭或用 戶便于解析的

特征碼等, 比如在進行多個儀表數據采集時加入分隔符便于區分不 同的儀表數據,value 為可見的

HEX 字符,比如 123 表示為 313233。此指令執行一 次立即失效,如果需要在不同的采集指令前插

入特征碼需要分開加入此指令,特征 碼可以相同也可以不同。

示例:

@H=AA5501

@H=AA5502

C: 儀表下發命令,此腳本指令用于定義下發給儀表的采集命令內容,value 為可見的 HEX 字符,執

行到此腳本 DTU 會通過串口把內容發送給儀表,同時如果回顯為開 DTU 會立即把此內容加入上報隊列。

示例:

下發 Modbus 采集指令:01 03 00 01 00 01 12 34

腳本表示為:@C=0103000100011234

A: 接收儀表應答控制,此腳本指令用于控制 DTU 是否接收儀表的應答,value 為 1 表 示接收應答,

value 為 0 表示不接收應答。不使用此指令時默認為接收應答。此指 令為整個腳本全局生效指令,直到

腳本結束,如果有些采集指令需要接收應答有些 不需要接收應答只需在相應的采集命令前加入此指令做

相應的控制即可

示例:

@A=0 不接收后面的儀表應答數據

D: 延時控制,此腳本指令用于控制延時,DTU 發送采集命令后的延時控制或者等待 應答的延時控制。

value 為數字+單位的格式,單位有 S(秒)、M(分鐘)、H(小時),DTU 遇到此指令后等待相應的延時值再

繼續執行腳本。

示例:

@D=10S (等待 10 秒)

@D=2M (等待 2 分鐘)

@D=1H (等待 1 小時)

S: 立即上報數據控制,此腳本指令用于控制 DTU 立即上報儀表數據。value 為 1 表 示立即上報,默認

情況下 DTU 執行完 T 指令控制的采集次數后上報(T 默認為 1, 每次腳本執行結束都上報),用戶在需

要分開上報多個儀表數據時或者 1 個儀表的 多條數據時,可以在發送采集命令后,DTU 已經收到儀表應

答時插入@S=1 來立即 上報之前的數據。

示例:

@S=1 立即上報

W1:開關 1 控制,此腳本指令用于 DTU 控制外接儀表的電源。value 為 1表 示 開 , value 為 0 表示關。

示例:

@W1=1 打開開關 1

@W1=0 關閉開關 1

注:需要硬件支持有開關控制的型號才支持此指令。

W2:開關 2 控制,此腳本指令用于 DTU 控制外接儀表的電源。value 為 1表 示 開 , value 為 0 表示關。

示例:

@W2=1 打開開關 2

@W2=0 關閉開關 2

注:需要硬件支持有開關控制的型號才支持此指令。

W3:開關 3 控制,此腳本指令用于 DTU 控制外接儀表的電源。value 為 1表 示 開 , value 為 0 表示關。

示例:

@W3=1 打開開關 3

@W3=0 關閉電開關 3

注:需要硬件支持有開關控制的型號才支持此指令。

I1:數字量 DI1 狀態上報,DI1 觸發控制,此腳本指令用于 DTU 采集 DI1 的狀態以及配 置 DI1 的狀態改變

時觸發采集腳本的執行。 value 的值可為:?(報告狀態)、 0 (下降沿觸發采集)、1(上升沿觸發采集)、2(下降沿和上升沿均觸發采集)、

其他(不觸發采集)。默認 DI1 不觸發采集。此指令可以出現多個,比如需要上報 DI1 狀態同時又需要配置 DI1 的觸發采集。如:配置 DI1 為下降沿觸發采集且同時 上報 DI1 狀態,可配置腳本@I1=0@I1=?

示例:

@I1=? 采集 DI1 狀態,小提示:可在前面插入 H 指令加入便于識別的頭。

@I1=0 DI1 下降沿觸發采集

@I1=1 DI1 上升沿觸發采集 @I1=2 DI1 上升沿和下降沿觸發采集

@I1=其他 DI1 不觸發采集(默認,可省略),即使不觸發采集也可在腳本 中插入

@I1=?讓 DTU 定時采集時報告 DI1 的狀態。

I2:數字量 DI2 狀態上報,DI2 觸發控制,此腳本指令用于 DTU 采集 DI2 的狀態以及配 置 DI2 的狀態改變時觸發采集腳本的執行。 value 的值可為:?(報告狀態)、 0 (下降沿觸發采集)、1(上升沿觸發采集)、2(下降沿和上升沿均觸發采集)、 其他(不觸發采集)。默認 DI2 不觸發采集。此指令可以出現多個,比如需要上報 DI2 狀態同時又需要配置 DI2 的觸發采集。如:配置 DI2 為下降沿觸發采集且同時 上報 DI2 狀態,可配置腳本@I2=0@I2=?

示例:

@I2=? 采集 DI2 狀態,小提示:可在前面插入 H 指令加入便于識別的頭。

@I2=0 DI2 下降沿觸發采集 @I2=1 DI2 上升沿觸發采集

@I2=2 DI2 上升沿和下降沿觸發采集 @I2=其他 DI2 不觸發采集(默認,可省略),即使不觸發采集也可在腳本 中插入

@I2=?讓 DTU 定時采集時報告 DI2 的狀態。

三、應用案例 在眾山 DTU 的串口外接 2 個 RS485 接口的儀表,2 個儀表使用 W1 開關控制電源,打開 電源需要 10 秒時間讓儀表穩定,儀表為標準的 Modbus 協議,Modbus 地址分別為 01 和 02。 每個儀表需要采集 2 個寄存器數據,寄存器地址為 0000 和 0001,儀表 1 的 2 個寄存器采集 指令為: 0103000000010000 和 0103000100010000。儀表 2 的 2 個寄存器采集指令為: 0203000000010000 和 0203000100010000。一次采集需要連續采集 3 次數據,CRC 校驗需用戶自己計算。儀表 1 的波特率為 4800,儀表 2 的波特率為 38400。 用戶需求為每 1 小時采集一次數據,一次數據采集需要采集到 2 個儀表的 2 個寄存器數 據,并且需要采集 3 次,上報的數據需要回顯采集命令,在每條數據前加入 AA55 以便于用 戶解析數據,每條采集指令之間延時 3 秒,都需要接收儀表應答。

首先需要設置 DTU 的儀表自動采集周期參數為 3600 秒。

腳本設計如下,和默認值一致的腳本指令可省略

1:每次采集周期結束立即上報

@E=1@T=1@W1=1@D=10S@M=1@B=4800@H=AA55@C=0103000000010000@D=3S@H=AA5

5@C=0103000100010000@D=3S@B=38400@H=AA55@C=0203000000010000@D=3S@H=AA55 @C=0203000100010000@D=3S@L=1,3@W1=0 注:@T=1 可省略,默認即為 1 次采集周期結束立即上報。


2:每 3 小時上報一次數據 @E=1@T=3@W1=1@D=10S@M=1@B=4800@H=AA55@C=0103000000010000@D=3S@H=AA5 5@C=0103000100010000@D=3S@B=38400@H=AA55@C=0203000000010000@D=3S@H=AA55 @C=0203000100010000@D=3S@L=1,3@W1=0 注:3 次采集周期結束才上報一次數據,所以@T=3


3:每采集到 1 個儀表的 2 個寄存器數據時分開上報 @E=1@W1=1@D=10S@M=1@B=4800@H=AA55@C=0103000000010000@D=3S@H=AA55@C= 0103000100010000@D=3S@S=1@B=38400@H=AA55@C=0203000000010000@D=3S@H=AA55 @C=0203000100010000@D=3S@S=1@L=1,3@W1=0 注:采集完一個儀表的 2 個數據后用@S=1 立即上報


4:每采集到 1 個儀表的 1 個寄存器數據時分開上報 @E=1@W1=1@D=10S@M=1@B=4800@H=AA55@C=0103000000010000@D=3S@S=1@H=AA5 5@C=0103000100010000@D=3S@S=1@B=38400@H=AA55@C=0203000000010000@D=3S@S= 1@H=AA55@C=0203000100010000@D=3S@S=1@L=1,3@W1=0 注:每采集一個數據后用@S=1 立即上報

四、腳本指令默認值 1、@E=0 默認為不回顯,用戶不需要上報采集指令時可省略此腳本 2、@T=1 默認為 1 個采集周期結束立即上報數據,可省略 3、@A=1 默認為接收儀表的應答,可省略




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

    評論

    相關推薦

    Linux從零到精通:最簡單的Shell腳本入門教程

    case語句 shell變量數組 shell腳本前言 |為什么學習shell編程 Shell腳本語言是實現Linux/UNIX系統
    的頭像 發表于 12-05 09:56 ?397次閱讀
    Linux從零到精通:最簡單的Shell<b class='flag-5'>腳本</b>入門教程

    微軟生成式AI腳本GenAIScript的安裝與配置

    GenAIScript 是一種結合了生成式人工智能(Generative AI,簡稱 GenAI)和腳本編寫能力的新型腳本語言。
    的頭像 發表于 11-07 09:13 ?216次閱讀
    微軟生成式AI<b class='flag-5'>腳本</b>GenAIScript的安裝與配置

    shell腳本執行的三種方式及區別

    在Linux系統中,Shell腳本是一種非常實用的工具,用于自動化執行一系列命令。Shell腳本可以大大提高工作效率,簡化復雜的任務。在這篇文章中,我們將介紹Shell腳本執行的三種方式及其區別
    的頭像 發表于 08-30 15:24 ?1035次閱讀

    執行shell腳本的方式包括什么

    執行Shell腳本的方式有很多種,以下是一些常見的方法: 直接運行腳本文件 在命令行中,可以直接使用腳本文件的路徑來運行腳本。例如: ./script. sh 這種方式需要確保
    的頭像 發表于 08-30 15:17 ?320次閱讀

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之本地腳本的編寫和執行

    !\"為腳本中編寫的命令代碼。2、執行在執行腳本時,腳本必須要有執行權限,首先給腳本賦予可執行權限:elf@ubuntu:~/work/example/scrip_test$ sud
    發表于 08-29 10:51

    shell腳本編寫之本地腳本的編寫和執行

    用來指定使用的shell應用;echo "my first shell !"為腳本中編寫的命令代碼。2、執行在執行腳本時,腳本必須要有執行權限,首先給腳本賦予可執行
    發表于 08-28 09:36

    利用Python腳本登錄到交換機并創建VLAN

    本文將詳細介紹如何利用Python腳本登錄到交換機并創建VLAN。
    的頭像 發表于 08-12 17:59 ?575次閱讀

    DTU如何配置55AA指令

    前提條件: DTU 已通過SIM卡撥號正常 1.電腦通過轉接頭連接到DTU的串口1 2.使用55AA生成軟件,生成55AA指令 輸入手機號碼,和短信內容. 3.電腦通過軟件模擬串口設備
    發表于 07-25 08:14

    如何使用腳本清除WorkFlash?

    我試圖使用 .rc 腳本調用 detect.py 和 debug.py 刪除工作閃存。 但驗證步驟失敗了、 我閱讀了多文檔,并解除了對所有代碼閃存和工作閃存安全寄存器的封鎖。 但還是不行。 如何通過腳本文件清除工作閃存
    發表于 05-30 07:30

    在調試面板上有Clokwise和counter Clockwise的選項,是否有腳本指令,可設置驅動電機反轉?

    在調試面板上有 Clokwise 和 counter Clockwise 的選項。是否有腳本指令,可設置驅動電機反轉?
    發表于 05-24 07:42

    通過Python腳本實現WIFI密碼的自動猜解

    本文將記錄學習下如何通過 Python 腳本實現 WIFI 密碼的自動猜解。
    的頭像 發表于 01-25 10:46 ?3426次閱讀
    通過Python<b class='flag-5'>腳本</b>實現WIFI密碼的自動猜解

    一個簡單的Shiro RCE檢測和利用腳本

    一個簡單的Shiro RCE檢測和利用腳本
    的頭像 發表于 01-09 09:46 ?640次閱讀

    CANoe編寫CAPL測試腳本的幾點思考

    測試腳本的開發人員,需要考慮到測試執行者測試不同控制器時的參數配置。比如不同的網絡喚醒條件、不同的網絡管理消息、不同的時間參數等等。
    的頭像 發表于 01-02 10:42 ?2045次閱讀
    CANoe編寫CAPL測試<b class='flag-5'>腳本</b>的幾點思考

    shell腳本調試技巧

    0、專業腳本的規范格式 函數1函數2main函數main$* 1、使用dos2unix命令轉換來自windows下開發的腳本 dos2unix默認是沒有安裝的,可以yum 安裝
    發表于 12-28 16:57

    Shell腳本檢查工具ShellCheck介紹

    ShellCheck是一個用于bash/sh shell腳本的靜態分析工具,可以輔助檢查腳本語法錯誤,給出建議增強腳本健壯性。
    的頭像 發表于 12-27 13:43 ?2108次閱讀
    Shell<b class='flag-5'>腳本</b>檢查工具ShellCheck介紹
    主站蜘蛛池模板: 亚洲国产女人aaa毛片在线| 亚洲精品国产高清不卡在线 | 国产精品色无码AV在线观看| 亚洲日韩在线观看| 青草久久伊人| 久久99热这里只频精品6| 在线自拍亚洲视频欧美| 骚妇BB双飞插| 久久本道久久综合伊人| 精品欧美一区二区三区四区| 6080yy亚洲久久无码| 嫩小xxxxbbbb| 国产精品久久久久a影院| 99免费在线观看视频| 最近中文字幕2019国语4| 亚洲人成伊人成综合网久久久| 色综合久久天天影视网| 欧美亚洲国产专区在线| 免费在线视频成人| 男人插曲女人的视频| 免费看毛片网| 久久视频这里只精品99re8久| 久久久久影视| 强奷乱码中文字幕熟女免费| 欧洲-级毛片内射八十老太婆| 亚洲精品国产熟女久久久| JLZZJLZZJLZ老师好多的水| 狠狠狠的在啪线香蕉| 色戒床震视频片段| 99久久久精品免费观看国产| 嗨嗨快播电影| 外国xxxx| 被窝伦理电影午夜| 蜜芽国产在线精品欧美| 亚洲高清在线视频| 俄罗斯18xv在线观看| 男人插曲女人的视频| 中文无码热在线视频| 黄瓜视频苹果直接安装| 特级毛片内射WWW无码| yellow日本动漫高清|