愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • TaskRunner幫助主頁
  • 學習手冊

    • 安裝配置
    • 快速上手
    • 界面介紹
    • 功能介紹
    • 預設資料
    • RestAPI說明
    • WebSocket說明
    • MQTT說明
      • 1. 設定
      • 2. Cmd批處理
      • 3. PowerShell 批處理
      • 4. JScript/PascalScript 任務
      • 5. 運行工作流
      • 6. 在JS程式中使用MQTT
      • 7. 運行Python任務
    • Python說明
    • 自定程式
    • 公共單元
    • 工作流
    • 運行衛士
    • 自定報表
    • 自動化作業
    • 控制元件使用
    • 函式程式

  • 開發手冊

目录

MQTT說明

# TaskRunner MQTT說明

  TaskRunner 支援通過MQTT協議傳輸運行指令。在使用MQTT的相關功能前,需要先設定MQTT的選項。

# 1. 設定

  首先點選功能表欄中的 [服務] - [停止服務] 停止TaskRunner服務,點選 [工具] - [設定] 功能表欄,在MQTT選項中配置連線的MQTT伺服器資訊。參考以下圖示中的配置進行設定,點選 [確定] 按鈕。

  此處我們設定主題與客戶端ID均為 TaskRunner,下面的示例以配置為例。

# 2. Cmd批處理

  以下是通過直接執行的方式運行批處理的示例。可呼叫批處理語句執行程式重啟。在已連線至同一MQTT伺服器的其它客戶端,向 TaskRunner 主題發佈以下訊息:

{"action":"script","syntaxtype":"cmd","script":"taskkill /im TARS.exe /f & ping 127.0.0.1 -n 1 & start \"\" \"C:\\Program Files\\IsoFace\\TARS\\TARS.exe\" "}
1

  除上述方式外,也支援直接執行自定程式列表中批處理型別的自定程式。在自定程式列表中建立 tars 的cmd型別自定程式,設計程式內容如下。

echo
:結束程序
taskkill /im TARS.exe /f
:執行下一步驟前等待1秒
ping 127.0.0.1 -n 1
start "" "C:\Program Files\IsoFace\TARS\TARS.exe"
echo
1
2
3
4
5
6
7

  在已連線至同一MQTT伺服器的其它客戶端,向 TaskRunner 主題發佈以下訊息,實現批處理的相關功能。

{"action":"script","taskname":"tars"}
1

# 3. PowerShell 批處理

  以下是通過直接執行的方式運行批處理的示例。可呼叫批處理語句執行程式重啟。

{"action":"script","syntaxtype":"powershell","script":"$directory = \"E:\\setup\";$filename = \"test.txt\";$content = \"hello world\";$filePath = Join-Path -Path $directory -ChildPath $filename;if (-not (Test-Path -Path $directory)) {New-Item -ItemType Directory -Path $directory};Set-Content -Path $filePath -Value $content;Write-Output \"file created:$filePath\";"}
1

  除上述方式外,也支援直接執行自定程式列表中批處理型別的自定程式。在自定程式列表中建立 ps_test 的PowerShell型別自定程式,設計程式內容如下。

# 指定目錄位置
$directory = "E:\setup"
# 指定檔名
$filename = "test.txt"
# 指定檔案內容
$content = "hello world"
# 建立完整的檔案路徑
$filePath = Join-Path -Path $directory -ChildPath $filename
# 建立目錄(如果不存在)
if (-not (Test-Path -Path $directory)) {
    New-Item -ItemType Directory -Path $directory
}
# 建立並寫入檔案內容
Set-Content -Path $filePath -Value $content
# 輸出檔案建立成功訊息
Write-Output "file created:$filePath"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

  在已連線至同一MQTT伺服器的其它客戶端,向 TaskRunner 主題發佈以下訊息,實現批處理的相關功能。

{"action":"script","taskname":"ps_test"}
1

# 4. JScript/PascalScript 任務

  JScript/PascalScript任務支援執行自定程式列表中型別為 JScript與 PascalScript 的自定程式。

{"action":"script","syntaxtype":"jscript","script":"{DoOpenBrowser(\"chrome.exe\",\"--kiosk https://isoface.net \",0);}"}
1

  除上述方式外,也支援執行自定程式列表中型別為 JScript 的自定程式。建立一個名為 browser ,型別為JScript自定程式,內容如下。

//呼叫Chrome瀏覽器打開https://isoface.net/網頁
{
  DoOpenBrowser("chrome.exe","--kiosk https://isoface.net",0);
}
1
2
3
4

  在已連線至同一MQTT伺服器的其它客戶端,向 TaskRunner 主題發佈以下訊息,實現打開網頁的功能。

{"action":"script","taskname":"browser"}
1

  如果要使用自定參數,比如上述示例我們需要定義 url 參數,根據傳遞的參數打開指定頁面。則 JScript 可改寫如下,將需要參數化的變數取值替換為 UgParams.Values["param_name"]:

{
  DoOpenBrowser("chrome.exe","--kiosk " + UgParams.Values["url"],0);
}
1
2
3

  如程式與參數直接通過json傳入,直接呼叫的用法如下:

{
  "action": "script",
  "syntaxtype": "jscript",
  "script": "{DoOpenBrowser(\"chrome.exe\",\"--kiosk \" + UgParams.Values[\"url\"],0);}",
  "params":[{"name":"url","value":"https://isoface.net"}]
}
1
2
3
4
5
6

  在已連線至同一MQTT伺服器的其它客戶端,向 TaskRunner 主題發佈以下訊息,實現打開自定參數頁面的功能。

{"action":"script","taskname":"browser","params":[{"name":"url","value":"https://isoface.net"}]}
1

  使用參數的json新增了 params 佇列,可在其中根據參數需要修改取值。

{
  "action": "script",
  "taskname": "task_name",
  "params": [
    {
      "name": "param_name1",
      "value": "param_value1"
    },
    {
      "name": "param_name2",
      "value": "param_value2"
    },
    ...
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 5. 運行工作流

  使用MQTT客戶端向TaskRunner的訂閱主題發送以下格式的資訊,以執行工作流。

{"action":"workflow","name":"test_wf"}
1

  如果需要從呼叫中獲取參數作為工作流的變數取值使用,則發送的格式如下:

{"action":"workflow","name":"test_wf","params":[{"name":"Var1","value":"111"}]}
1

# 6. 在JS程式中使用MQTT

  如需要在JS自定程式中使用MQTT功能,可參考自定函式與自定程式中的函式、程式說明使用。

  • MQTTClient_Publish:發佈MQTT 訂閱訊息。

# 7. 運行Python任務

  使用MQTT客戶端向TaskRunner的訂閱主題發送以下格式的資訊,以新增Python運行任務。

{
  "action": "pythonscript",
  "pyid": "{pyid}",
  "varname": "{varname}",
  "varvalue": "{varvalue}"
}
1
2
3
4
5
6

  其中 {pyid} 為預設資料(資料型別為python)的編號。{varname} 為python輸入變數的名稱。{varvalue} 為python輸入變數的的取值。

  這個介面的作用是從預設資料的Python指令碼中建立運行任務,排入運行佇列中,運行佇列中的任務會按照請求的先後順序依次進行執行。

WebSocket說明
Python說明

← WebSocket說明 Python說明→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式