Logix5000使用ModbusTCP通訊之master(含例程下載)

2021-12-12 劍指工控

收錄於話題 #王小拿專欄 19個內容

以前,AB的PLC本身都是不支持ModbusTCP通訊的,所以很多使用AB PLC的用戶都需要配第三方的協議轉換網關將ModBusTCP協議轉換為AB自己的EthernetIP協議。

可是,從Logix5000編程軟體15版本(實測20版本及以上)以後,對於CompactLogix和Controllogix系列的PLC,支持了使用PLC程序編寫出來的ModbusTCP協議通訊,目前來看,支持該通訊的協議的產品和版本主要有:

以上產品刷對應固件後即可支持ModbusTCP協議,並且可作為Master和Slave與其他第三方設備進行通訊,AB官方提供的例程分為Master和Slave兩部分,可按需分別使用。Master功能部分可能會佔用PLC內200-230K的存儲空間,Slave功能部分可能會佔用PLC的280-300K空間。

此示例代碼可能不適用於所有應用程式,示例代碼會消耗的控制器內存、資源、CPU帶寬和控制器緩衝區,這可能會影響用戶程序的其餘部分。確保在使用Modbus代碼之前考慮了使用Modbus代碼的影響。

該例程支持的Modbus協議功能碼有 01,02,05,15,03,04,06,16

該例程內默認支持訪問4個不同IP位址ModbusTCP設備。每個連接支持最多5個操作(讀取或者寫入指令)。每個操作支持最多120個地址(Registers或者Coils)。最大本地地址範圍為1024個Coils和DiscreteInput,240個Registers和InputRegisters。

獲取到ModbusTCP通訊例程後,有三種使用方法

一種是直接使用Logix5000編程軟體打開後綴為.ACD的程序文件,在該例程基礎上編寫你的其他程序。

第二種辦法就是將該例程導出為L5X格式的文件,再導入到你已經使用的程序中。

第三,下載ModbusTCP的AOI塊導入到你的程序中。此處我們以第二種方法為例說明。

1、將ModbusTCP程序導出

使用Logix5000軟體打開例程的ACD文件後,點擊Task裡面的程序名,右鍵,導出(Export Program),然後使用默認的名字即可。

記住保存的位置。

2、程序導入

打開你的程序,將剛才導出的文件導入到你的程序裡面。(20及以後版本軟體可以在線導入,不會導致PLC停機)

  

導入完成後會在Task裡面看到ModbusTCP通訊程序。導入進來後是一個單獨的Task,與原有的MainProgram平級的,所以不需要調用。導入的程序部分也不需要修改。

 

然後可以看到在程序的標籤庫裡面自動創建了很多標籤,所有的配置都在這些標籤裡面進行。

為了實際測試效果,我們在這個計算機上運行Modsim軟體模擬一個ModbusTCP Server,提供一些數據。模擬了40001-40010共10個數

3、標籤庫內ModbusTCP的配置

該例程是作為Master功能,所以,在ModbusTCP協議裡面,我們需要進行常規的設置,如,目標主機IP位址和埠,功能碼,目標主機數據起始地址,讀取數量,本地數據區起始地址等。

注意事項:

針對不同的PLC型號,MBTU_EnetModulPort參數需要設置為不同的內容,如下表

除此之外,還需要設置如下表所示的標籤。

上表標籤在程序裡如下位置

上表標籤在程序裡如下位置

對於一個具體指令操作來說,需要設置如下標籤。(指令操作就是我們常說的使用功能碼讀取或寫入那個地址)

上表標籤在程序裡位置如下

小筆記:

每次修改完modbus通訊參數後,請手動將ReqBuilt標籤值置0,意為重新使能該命令。

至此,通過ModbusTCP協議讀取第三方設備數據配置完畢,讀取回來的數據在MBTU_M4xx這個數組裡面顯示,如下圖

根據之前配置的不同的功能碼讀取回來的數值就存儲在對應的數據區內。

類似地,我們可以配置通過modbusTCP協議從PLC內寫數據到第三方設備,與讀取稍微不同,寫入時會將MBTU_MB_0xx、MBTU_MB_4xx、數據區內相應的數據寫入到對端,ModBus協議支持單個寫和連續寫功能碼,分別05/15寫單個、多個線圈、06/16寫單個、多個保持寄存器。

小筆記:

讀取和寫入的數據區需要提前規劃好,不能重疊。比如使用40001-40050作為讀取回來的數據存儲區,40051-40099作為寫數據到對端數據區。

我們以16功能碼為例測試,將40006-40009連續寫4個數據到modsim

程序配置如下:

實際效果如下

 

至此,在Logix5000內使用ModbusTCP協議程序實驗完畢。

有興趣的同學可以考慮如果要傳輸浮點數時,應該注意那些地方

未完待續:Logix5000使用

ModbusTCP通訊之Slave

1.Smart200&V90伺服系統:已更新15課

相關焦點

  • Logix5000使用ModbusTCP通訊之Slave(含例程下載)
    從Logix5000編程軟體15版本(實測20版本及以上)以後,對於CompactLogix和Controllogix系列的
  • STM32F7雲端固件升級例程使用攻略之四:功能演示
    在前三期的「STM32F7雲端固件升級例程使用攻略」教程中,我們已經介紹了整體方案(查看詳情)、雲端操作步驟(查看詳情),以及如何進行代碼修改(
  • Windows環境下使用VSCode編譯調試BabyOS例程
    打開cmd窗口,使用如下指令驗證是否安裝成功。使用Openocd進行在線調試,下載後找個路徑解壓即可,將bin目錄添加至環境變量。VSCode相關配置修改Makefile文件例程中的工程是使用stm32cube生成的Makefile工程,在其基礎上,將BabyOS的內容加入到Makefile中。如果要修改代碼,根據實際情況增減文件。
  • ModBusRTU問題匯總及西門子200smart modbus rtu通訊實例
    (點擊上方紅字,免費領取資料)一、ModBusRTU通訊協議與ModBus通訊協議有什麼區別?而modbus分為兩種協議:即串口協議(modbusrtu)和網口協議(modbustcp)協議,一般的工控機只支持rs232或者RS485的串口模式,這個時候工控機的協議棧裡就只有modbusRTU協議,當他從串口接收到數據時,會直接根據報文中的數據進行控制,如果需要用modbusTCP協議進行傳輸,則需要使用帶有網口的PLC。
  • STM32 OTA例程之ESP8266:你會不會正確使用?
    前言這一節,我們來聊聊STM32的FOTA例程中用到的WiFi晶片ESP8266。
  • STM32 FOTA例程之cJSON:就問你會不會使用!
    前言在STM32 OTA例程中,設備端(STM32F769探索板)與雲端交換數據使用的是JSON
  • GPU編程–CUDA環境配置與簡單例程
    最近需要使用回溯法來完成算法設計的作業,在經歷了單線程編程和多線程編程後,發覺效果並不是很理想,於是考慮採用GPU編程,計劃通過GPU寫一個簡單的DFS算法。本文的目的是快速上手使用GPU和進行簡單的編程。首先推薦一本書,在這本書的幫助,我迅速學會了基本的GPU編程。
  • Modbus TCP通訊概述
    它覆蓋了使用TCP/IP協議的「Intranet」和「Internet」環境中MODBUS報文的用途。2  SIMATIC S7-300/400系統 Modbus/TCP通訊概述2.1 S7-300/400系統Modbus/TCP通訊產品概述通過 SIMATIC S7 和第三方設備的建立MODBUS/TCP通信時按照產品使用分單站和冗餘系統,分為通過乙太網通訊模塊CP和CPU的集成PN口兩種情況。
  • Q編程介紹及例程
    SCL指令的使用已經有很多年的歷史。Q程序是建立在SCL指令基礎之上的一個新的平臺,擴展了SCL命令的使用,允許用戶創建與存儲SCL指令。
  • 大彩串口屏WIFI/乙太網應用-TCP Client 通訊
    本文主要介紹屏幕作為客戶端SCOKET通訊,將分以下2點進行說明:1. 準備工程素材;2. 配置串口屏工程;5.1 準備工程素材5.1.1 準備工程素材在實現例程前需要作以下3個準備:1. 硬體平臺;2. 軟體平臺;3.
  • Modsim32與Modscan32測試modbusTCP通訊
    軟體下載連結:https://share.weiyun.com/gl5ReLsa
  • STM32F7雲端固件升級例程使用說明——雲端操作
    運行時,「物」將狀態值上報給物影子,物影子會給這個「物」做一個狀態暫存,百度天工其他產品可以直接使用;與此同時,用戶也可以通過操作物影子來控制「物」。1)創建物模型點擊左側導航欄的「物模型「,進到物模型的頁面。輸入物模型的名稱,然後點擊「添加屬性」,為物模型添加屬性。
  • 西門子PLC點對點通訊模塊DP-DPCoupler的使用方法
    www.gkket.com】工程師必備網站添加微信:gkket123 加入500人工控微信群電氣工控自動化-超萬元免費資料點我免費下載在另一個Profibus master中組態DP/DP coupler在Step7組態DP/DP Coupler為DP Slave在上述已建的項目「Gateway as PN IO Proxy」下插入一個
  • CAD2014簡體中文版含註冊機下載
    下面我們來看看AutoCAD2014簡體中文版特點:1,及時的社會化互交設計功能,你可以在2014裡使用及時通訊功能工具,這樣就可以把自己設計的圖形圖塊通過網絡互交的方式,交換設計方案。2,提供支持win8系統的觸屏操作。
  • 龍虎榜單之會暢通訊
    這是榜一的成功率以及購買時點情況,整體的情況良好,近一年數據顯示榜單60%及以上勝率0次,50%-60%(不含)勝率7次,40%-50%(不含)勝率12次,40%以下勝率1次這是榜二的成功率以及購買時點情況,整體的情況波動性較大,近一年數據顯示榜單60%及以上勝率0次,50%-60%(不含)勝率4次,40%-50%(不含)勝率8次,40%以下勝率8次
  • MicroPython藍牙BLE例程實操(一)
    如今,藉助於ESP32平臺,MicroPython中也能夠使用藍牙BLE協議進行通信。這對MicroPython平臺而言,自然豐富了其生態,增強了其技能,反過來講,藍牙BLE能夠在MicroPython中得以集成,藉助Python語言的易用性,亦將大大降低其入門門檻。MicroPython中目前只實現了藍牙BLE的低階接口。