• 正文
    • 一、需求描述
    • 二、官方文檔與解釋
    • 三、根據(jù)官方文檔進(jìn)行編程
    • 四、編程
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

PLC程序?qū)嵗篗odBusTCP客戶端編程實(shí)例與測(cè)試方法

2024/12/13
344
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

一、需求描述

1、設(shè)備作為服務(wù)端時(shí),需要給出對(duì)應(yīng)的測(cè)試方法,即要求 PLC 作為客戶端,設(shè)備作為服務(wù)端,因此要求編寫(xiě) PLC 的ModBusTCP客戶端

2、先了解一下設(shè)備作為服務(wù)端的ModBusTCP網(wǎng)絡(luò)觸發(fā)業(yè)務(wù)邏輯

(1)設(shè)備需要設(shè)置網(wǎng)絡(luò)觸發(fā),并設(shè)置觸發(fā)指令(假如為T(mén)R),以及ModBusTCP服務(wù)端設(shè)置如圖

(2)PLC通過(guò)如圖信息連接設(shè)備

(3)PLC發(fā)送指令 TR 到設(shè)備

(4)設(shè)備收到 TR 指令,與網(wǎng)絡(luò)觸發(fā)設(shè)置的TR指令比對(duì)

(5)指令一致則進(jìn)行觸發(fā)

(6)觸發(fā)的結(jié)果寫(xiě)到設(shè)備端的傳輸?shù)刂飞?,需要PLC主動(dòng)去訪問(wèn)和獲取

二、官方文檔與解釋

1、通過(guò)上位機(jī)軟件查看官方文檔

如下,這里涉及到主站和從站的概念,與服務(wù)端和客戶端的描述有些差異,解釋如下:這個(gè)用英語(yǔ)比較好解釋,主站MASTER還有“主管”的意思,從站SLAVE還有“奴隸”的意思。從通訊過(guò)程上來(lái)說(shuō),主站發(fā)出通訊命令,從站應(yīng)答。

因此,PLC為主站,設(shè)備為從站。這個(gè)概念不要和“服務(wù)端、客戶端”的概念混淆,不是一回事,只是為了利于編程的理解,在這里需要明確一下。

2、理解主站和從站的概念后,我們應(yīng)該找到PLC作為主站功能的實(shí)現(xiàn)文檔,如下圖

三、根據(jù)官方文檔進(jìn)行編程

1、連接設(shè)置

2、協(xié)議設(shè)置

操作路徑:[工具]? [通信協(xié)議支持功能]? [文件]? [新建]? “協(xié)議設(shè)置”畫(huà)面? [編輯]? [協(xié)議添加]

本次實(shí)例使用2個(gè)協(xié)議:?03:RD Holding Registers? +? WR Multi Registers

四、編程

1、上述代碼解釋與實(shí)驗(yàn)

(1)改變D403的長(zhǎng)度為20,接收到最大的長(zhǎng)度為20,程序設(shè)置為:

(2)改變D402的賦值為10,即設(shè)備的取值地址為10到20的區(qū)域(11個(gè)數(shù)據(jù)),程序設(shè)置為:

(3)連接編號(hào)的對(duì)應(yīng)關(guān)系

(5)協(xié)議號(hào)的對(duì)應(yīng)關(guān)系

(6)設(shè)備站號(hào)為1,程序設(shè)置為:

(7)基于上述操作,我們實(shí)現(xiàn)了PLC對(duì)設(shè)備的讀操作

(8)增加WR Multi Registers協(xié)議,并下發(fā)到PLC中

(9)代碼

相關(guān)推薦

  • 虹科案例丨小型PLC應(yīng)用于浮動(dòng)封蓋機(jī)
    方案
    3065
    2023/09/08
  • 入門(mén)級(jí)直流 PLC 模塊
    方案
    4705
    2023/08/24