PLC作為Modbus TCP伺服器

2021-10-10 22:11:27 字數 1271 閱讀 9085

目錄

1. 所需軟體

2. 配置過程

2.1 plc梯形圖

2.2 modbus poll配置

3. 試驗結果

smart 200軟體、modbus poll(實現modbus主站模擬)

由於本案例將plc作為modbus tcp伺服器,即被查詢的一方,因此,plc需要使用modbus伺服器庫,電腦使用modbus poll作為客戶端(可理解為主站)傳送查詢指令。

圖1  modbus tcp srrver庫

圖2  modbus tcp server 庫位址分配

ip_port為伺服器端口;

maxiq將可用於 modbus 位址 0***x 到 1***x 的 i 和 q 點數設定為 0 至 256。值 0 表示禁用對輸入和輸出的所有讀取和寫入。建議將 maxiq 值設定為 256;

maxai 將可用於 modbus 位址 3***x 的字輸入 (ai) 數設定為 0 至 56。值 0 表示禁用對模擬量輸入的讀取。一般為56;

maxhold 設定可用於 modbus 位址 4***x 或 4yyyyy 的 v 儲存器中的字保持暫存器數。例如,如果要允許 modbus 客戶端訪問 2000 位元組的 v 儲存器,則將 maxhold 的值設定為 1000 字(保持暫存器);

holdstart 為指向 v 儲存器中保持暫存器起始位置的指標。通常將該值設定為 &vb0(vb0 位址)。可將其它 v 儲存器位址設定為保持暫存器的起始位址,以允許在專案的其他位置使用 vb0。modbus 客戶端可訪問 v 儲存器的 holdstart 字數(從 maxhold 開始)。

需按照離散輸入暫存器、線圈暫存器、保持暫存器、輸入暫存器分別設定暫存器及其位址資訊,從站位址需和mcgs組態對應。

圖3 modbus poll配置頁面

該案例,對plc輸入繼電器的讀取直接在面板中可看到,對輸出繼電器的寫入,則可以通過05和15功能碼實現。

圖4 試驗結果

威綸通作為modbusTcp主站應用

1.在威綸通中新增modbus tcp,作為主機,在tcp伺服器客戶端模型中作為客戶端 位址1x single bit,對應02功能碼 讀輸入線圈 從1開始編址 位址3x,對應 04功能碼 讀輸入暫存器 從1開始編址 位址4x,對應 03功能碼 讀保持暫存器 從1開始編址 3.威綸通顯示從機輸入暫存...

subversion伺服器作為服務啟動

subversion伺服器作為服務啟動 2007 11 06 21 17 subversion伺服器支援windows和linux。在linux下,使用命令啟動服務 svnserve d r svnroot d 表示 daemon,即關掉執行命令的視窗,服務繼續存在。r 表示 root,即指定庫的根...

新增nginx作為系統服務

建立乙個指令碼,該指令碼將改變nginx守護程序,讓nginx以系統服務的形式啟動,守護程序以後將由標準的命令控制且在系統啟動時自動啟動。大多數基於linux的作業系統,使用的是system v風格的init守護程序,啟動程序由init程序管理。守護程序遵循執行級別的原則 run level 系統執...