您知道 TwinCAT 實際上支持 NOSQL 數據庫嗎?
在本文中,我們將使用 Beckhoff TwinCAT3 和 TF6420 連接並向安裝在 Raspberry pi4 上的 MongoDB 發送命令。
首先,我會介紹 TF6420的基本概念 以及如何為 TwinCAT3 添加數據庫的設置。
Let’s start!
TF6420?
這是 TF6420 TwinCAT 的整體結構圖。
Basic concept
TwinCAT 數據庫的設計能使所有 TwinCAT 用戶都能輕松連接控制器和數據庫。
Configure mode
我們可以通過圖形配置連接數據庫,無需執行程序。在Configure mode下,大部分工作由組態工具完成。 壹旦設置了所需的數據庫和AutoLog,在啟動 TwinCAT 時就會自動與配置的數據庫直接建立通信。 如果選擇手動模式,則可以使用功能塊 “FB_.PLCDBAutoLog “或 “AutoLog”。
PLC Expert mode
這是 PLC 程序員的解決方案,它基於 PLC 功能塊連接數據庫,幾乎所有數據庫命令都由數據庫服務器自動生成。
在這種模式下,只有數據庫設置是通過配置器配置的,其他功能都是在 PLC 代碼中實現的。
通過功能塊 FB_PLCDBCreate,數據庫本身也可以通過 PLC 進行配置,而無需使用配置器。 當然,TwinCAT 還提供了用於讀寫數據的功能塊。
SQL Expert mode
SQL Expert mode允許您在 PLC 中組合插入、選擇和更新等 SQL 命令,並通過 TwinCAT 數據庫服務器發送到數據庫。 這是壹個非常靈活且功能強大的選項。 數據庫中的存儲過程也可以從 PLC 中調用。
NoSQL Expert mode
NoSQL 專家模式允許通過 TwinCAT 數據庫服務器編譯並向數據庫發送諸如插入和查找等的命令。 分層和數組等新的數據模式也可通過 TwinCAT 數據庫服務器發送到數據庫。
Implementation
我會在第壹個 MongoDB 連接教程介紹如何連接 TwinCAT 數據庫服務器和 MongoDB 的設置和註意事項,而MongoDB 會安裝在 Raspberry pi4 上。
Reference Link
Configuration
Add TwinCAT Database Server Project
在Solution中,右鍵單擊>Add>New Item。
選擇 “Installed”>”TwinCAT Connectivity”>”Empty TwinCAT Database Server Project”>”OK”.
Done!我們增加了新的TcDbServer.
Add New Database
接下來,讓我們從 TcDbServer 添加壹個新數據庫:TcDbServer>右鍵單擊>Add New Database。
Done!我們新增了壹個數據庫。
雙擊 DB 從而添加 DB 服務器和其他詳細設置。
Select Database Type
首先從數據庫類型中選擇我們需要連接的數據庫。
由於本文使用 MongoDB,请選擇 MangoDB。
Done!我們新增了一個MongoDB設置.
Connection String Type
ConnectionString Type的選頁中我們只需要設定為默許值Standard Connection String Format 就可以.
Server
Server是安裝 MongoDB 的設備的 IP。本例中為 192.168.5.144:27017。 (27017 是 MongoDB 的默認端口)。
事實上,如果要檢查 MongoDB 連接路徑,使用 VSCode 的 MongoDB 會更方便:CONNECTIONS>右鍵單擊>Copy Connection String,然後就可以了。
我們可以得到這樣的路徑。
mongodb://192.168.5.144:27017/
Database
這是用於設定訪問 TwinCAT TF6240 的數據庫名稱。 如果沒有找到相應的數據庫,TWINCAT則將在服務器上創建壹個新數據庫。
Autherication
這次我們沒有進行身份驗證,因此Autherication Field保留為 “None”。
Check
完成數據庫連接設置後,”Connection String”將顯示數據庫訪問路徑。
單擊 CHECK(檢查)按鈕測試連接。
Done!我們設置的參數都可以連接到數據庫。
If Error…
如果無法將 TwinCAT 連接到數據庫服務器,可在錯誤列表中找到相關錯誤信息。
DBID
這個 DBID 在下壹次執行編程時非常重要,我們會在下壹個教學中使用這個ID來向數據庫傳送命令.
Download
最後下載配置到Runtime。
TcDbServer> 右鍵單擊>Active Configuration,然後就可以使用了。