技術頻道

      基于Modbus協議實現PLC與智能儀表的通訊

      摘 要:隨著工業自動化技術的不斷發展,Modbus協議現已不僅僅局限于應用在PLC/上位機之間的通訊上,許多智能儀表廠商也紛紛采用該協議作為自己產品的通訊協議。施耐德公司在其編程軟件Concept2.2+補丁程序Service Release2中增加了一條功能強大的通訊指令XXMIT。筆者結合實例對該指令的Modbus Master使用方法做一些介紹,以供廣大過程技術人員參考。

      關鍵字:Modbus協議; PLC; XXMIT指令; 智能儀表

      1 引言

        Modbus 協議是法國施耐德公司推出的一個全開放的“主從式(Master/Slave)”通訊協議,其本意在于實現上位機(主設備)對PLC(從設備)內部存儲區域的“直接”讀寫操作,無需用戶對PLC進行通訊編程。隨著工業自動化技術的不斷發展,Modbus協議現已不僅僅局限于應用在PLC/上位機之間的通訊上,許多智能儀表廠商也紛紛采用該協議作為自己產品的通訊協議。與此同時,PLC也由以前單純的I/O控制發展成為集控制、數據采集、通訊為一身,在越來越多的自動化工程中,PLC需要取代上位機,作為“主設備”來完成與智能儀表或其它支持該協議的PLC的通訊。針對這一情況,施耐德公司在其編程軟件Concept2.2+補丁程序Service Release2中增加了一條功能強大的通訊指令XXMIT。通過該指令,用戶可以將施耐德Modicon系列PLC上的原Modbus Slave通訊口作為Modbus Master口或標準串口來使用,大大擴展了Modicon系列PLC的通訊功能。本文將結合實例對該指令的Modbus Master使用方法做一些介紹,以供廣大過程技術人員參考。

      2 XXMIT指令基本參數介紹

        2.1 基本參數概述

      基本參數列表

        2.2 重要參數說明

        2.2.1 Command參數

        該參數的16個為位用于設置通訊口的不同工作方式

        Bit1-Bit4: 使用Modem時需設定的相關參數

        Bit5: 是否使用XON/XOFF流控制。設為1時表示使用XON/XOFF流控制

        Bit6: 是否使用RTS/CTS握手信號。設為1時表示允許使用RTS/CTS信號

        Bit7: 是否清除“Back Space”字符。設為1時表示在“Simple ASCII Input”和“Terminated

        ASCII Input”模式下,清除MsgIn中的“Back Space”字符

        Bit8: 是否接管通訊口FIFO緩沖區。設為1時表示XXMIT指令接管通訊口FIFO緩沖區的控制

        Bit9: 是否啟用Modbus模式。設為1時表示通訊口工作在Modbus Master模式下

        Bit10: 是否啟用標準串口模式。設我1時表示通訊口工作在標準串口模式下

        注:Bit9,Bit10不能同時設為1

        Bit11: 是否啟用“Simple ASCII Input”模式,設為1時表示啟用

        Bit12: 是否啟用“Terminated ASCII Input”模式,設為1時表示啟用

        Bit13: 不用

        Bit14: 是否啟用RS485模式。設為1時表示啟用。只有在使用Modicon Momentum系列PLC時,該位才設為1

        Bit15: 是否啟用RTS/CTS Modem控制。設為1時表示啟用

        Bit16: 不用

        2.2.2 Msgout參數

        該參數中存放需發送的字符或數據。通常在Concept中用一個WORD型數組來給該參數賦值。當通訊口工作在Modbus Master模式下時,需按Modbus RTU的格式來給該參數賦值,但不含CRC校驗值,具體的格式見下表

        2.2.3 Port參數

        只要使用Modicon Momentum系列PLC時,該參數才被設為2,否則該參數的值都被設定為1,表示用Port1進行通訊。

      3 實例

        下面的例子為筆者在西寧寺溝口水電廠機組監控項目中,用Modicon Compact PLC與MP6000智能功率儀表通訊的程序,基此來對XXMIT指令的使用做更進一步的說明。

        3.1 工程要求

        通過PLC從MP6000智能儀表中讀取機組當前的有功功率、無功功率等數據。

        3.2 硬件情況:

        PLC: 施耐德Modicon Compact系列PLC,CPU型號為TSX PC-E984-265

        智能儀表:MP6000功率表

        通訊協議:Modbus協議

        3.3 軟件情況:

        PLC編程軟件:Concept2.2+Service Release2

        編程方式:ST文本編程

        MP6000的數據區情況:把MP6000儀表中從第一個地址開始的64個數據讀出來

        PLC的數據區:從MP6000讀出的數據寫入PLC 40031開始的64個寄存器中

        3.4 程序:

        VAR

        XXMIT_MB : XXMIT;

        SET_CMD : SET_BIT;

        END_VAR

        SET_CMD (IN := 1,(* BOOL*)

        NO :=9 (* UINT*)); (*把Command參數的bit9置1,讓通訊口工作在Modbus Master模式下*)

        XXMIT_CMD:=SET_CMD.RES;

        XXMIT_MSGOUT[1]:=3; (***MODBUS功能碼 ***)

        XXMIT_MSGOUT[2]:=64; (***需從MP6000中讀取的寄存器的數量 ***)

        XXMIT_MSGOUT[3]:=5; (***MP6000的地址***)

        XXMIT_MSGOUT[4]:=1; (***MP6000中數據的起始地址***)

        XXMIT_MSGOUT[5]:=31; (***將讀取的數據寫入PLC從40031開始的64個寄存器中 ***)

        XXMIT_MB (Start :=1, (* BOOL *)

        Command :=XXMIT_CMD , (* WORD *)

        MsgOut :=XXMIT_MSGOUT , (* ANY *)

        MsgLen :=5 , (* INT *)

        Port :=1 , (* BYTE *)

        Baudrate :=9600 , (* INT *)

        Databits :=8 , (* BYTE *)

        Stopbits :=1 , (* BYTE *)

        Parity :=2 , (* BYTE *)

        RespTout :=1000 , (* INT *)

        RetryLmt :=20 , (* INT *)

        StartDly :=0, (* INT *)

        EndDly :=0 (* INT *));

      參考文獻:

        1、 宋德玉.可編程控制器原理及應用系統設計.北京:冶金工業出版社,1999

        2、 曾繁泰等.可編程器件應用導論.北京:清華大學出版社,2001

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 亚洲一区二区三区AV无码| 国产精品免费一区二区三区四区| 国产精品丝袜一区二区三区| 国模极品一区二区三区| 亚洲一区精品视频在线| 久久国产精品视频一区| 人妻少妇AV无码一区二区| 久久精品国产一区二区三区不卡| 国产产一区二区三区久久毛片国语 | 少妇激情一区二区三区视频 | 亚洲一区中文字幕在线电影网| 一区二区三区亚洲视频| 国产SUV精品一区二区88L| 国产精品乱码一区二区三| 亚洲变态另类一区二区三区| 亚洲国产AV一区二区三区四区 | 黑巨人与欧美精品一区| 国产成人综合一区精品| 无码日韩人妻av一区免费| 伊人无码精品久久一区二区| 国产香蕉一区二区在线网站| 精品少妇人妻AV一区二区三区| 国产精品一区二区久久| 无码国产精品一区二区免费| 欧美日韩一区二区成人午夜电影| 无码一区二区波多野结衣播放搜索 | 日本一区二区三区精品中文字幕| 无码人妻久久久一区二区三区 | 精品久久国产一区二区三区香蕉| 日本一区二区三区免费高清在线| 无遮挡免费一区二区三区| 国产免费播放一区二区| 日韩欧国产精品一区综合无码| 亚洲国产视频一区| 国产成人一区二区在线不卡| 国产美女露脸口爆吞精一区二区 | 中文字幕日韩欧美一区二区三区| 日韩精品中文字幕视频一区 | 久久久久99人妻一区二区三区| 91福利视频一区| 国产一区二区三区在线免费|