<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    CP341作從站(Slave)的Modbus RTU通訊(STEP7)
    發布時間: 2023-09-01 11:08 更新時間: 2024-12-27 09:10
    CP341作從站(Slave)的Modbus RTU通訊(STEP7)

    圖片 硬件及軟件列表

    圖片 組態和配置

    圖片 編寫通信程序

    圖片 設備連接

    圖片 手冊下載

    硬件及軟件列表

    設備名稱

    設備型號

    PS 307

    6ES7 307-1EA00-0AA0

    CPU 315-2DP

    6ES7 315-2AG10-0AB0

    MMC

    6ES7 953-8LG11-0AA0

    CP341

    6ES7 341-1AH01-0AE0

    Dongle

    6ES7 870-1AB01-0YA0

    應用CP341進行 MODBUS協議通信時需要有Dongle的支持。在使用之前先將Dongle安裝在CP341模塊的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下圖所示:

    圖片

    圖1

    圖片注意:STEP7 V5.X軟件上,必須安裝如下軟件包才可進行后續的組態配置。

    PTP協議軟件包:SIMATIC S7-CP PtP Param V5.1+SP14

    MODBUS主站驅動

    MODBUS從站驅動

    組態和配置

    1、打開上面創建的項目ptp,用鼠標右鍵點擊項目名稱,選擇Insert New Object-> SIMATIC 300 Station,更改站的名稱為CP341 Modbus-S。

    圖片

    圖2

    2、雙擊Hardware進入硬件配置畫面,插入RACK、CPU315-2DP、CP341。

    圖片

    圖3

    3、 雙擊CP341模板,點擊Parameter...,配置CP341參數。在Protocol選項中選擇MODBUS Slave。

    圖片

    圖4

    4、雙擊Protocol下的信封圖標,配置MODBUS Slave參數,點擊MODBUS-Slave按鈕。

    圖片

    圖5


    步驟1:設置MODBUS從站地址,本例中設為2;

    步驟2:設置MODBUS從站波特率,停止位,校驗位等參數;

    接下來配置功能代碼所表示的參數,具體參見下4圖

    5、FC01,05,15:讀取、強制輸出位的狀態;左邊的地址為信息傳送地址,右邊對應西門子的PLC地址區,即左邊地址從0~100對應MODBUS地址區為00001~00101,對應西門子數據區為M0.0~M12.4;101~200對應MODBUS 地址區為00102~00201,對應西門子數據區為Q0.0~Q12.3;從地址201~300,301~400對應Modbus 地址區為00202~00301,00302~00401,對應西門子數據區為Timer,Counter。


    圖片

    圖6

    6、FC02讀取輸入數據位的狀態,地址對應如上文所述。

    圖片

    圖7

    7、FC03,06,16組態輸出寄存器數據區,對應西門子數據區為DB塊。

    圖片

    圖8

    8、FC04組態輸入寄存器數據區,對應西門子數據區同樣是DB塊。

    圖片

    圖9

    9、設置寫參數的限制值。

    圖片

    圖10

    10、如果選用的是RS422/485接口的CP341時,還需要設置接口類型,如下圖所示,其它參數均采用默認設置。

    圖片

    圖11

    11、配置完成后保存時會提示是否裝載驅動。

    圖片

    圖12

    12、此時必須連接到實際的PLC,點擊Yes按鈕裝載驅動,裝載時CPU必須為STOP模式。驅動裝載完成后,如果再次裝載,STEP7會提示Driver already exists,配置完成后點擊“編譯保存”按鈕保存編譯硬件組態,并確認沒有錯誤。

    圖片

    圖13

    編寫通信程序

    1、將FB7,FB8添加到程序Blocks中,方法為雙擊OB1,打開OB1編程畫面,從庫Libraries->CP PtP->CP341中調用發送程序塊FB8和接收程序塊FB7,然后再從OB1中刪除。因為MODBUS從站通訊要用到這兩個功能塊。

    2、調用MODBUS從站功能塊FB80,位置在Libraries->Modbus->Modbus ->FB80。分配背景數據塊DB80,將參數LADDR設為硬件組態中的起始邏輯地址256。

    圖片

    圖14

    2、調用MODBUS從站功能塊,設置參數。

    圖片

    圖15

    LADDR

    硬件組態中的起始邏輯地址,本例中為256

    START_TIME

    超時初始化定時器,本例中為T1

    START_TIME

    超時初始化時間值,本例中為1s

    OB_MASK

    外設訪問錯誤屏蔽位,本例中為M100.0

    CP_START

    FB初始化始能位,本例中為M100.1

    CP_START_FM

    CP_START初始化的上升沿位,本例中為M100.2

    CP_START_NDR

    從CP寫操作位,本例中為M100.3

    CP_START_OK

    初始化成功標志,本例中為M100.4

    CP_START_ERROR

    初始化失敗標志,本例中為M100.5

    ERROR_NR

    錯誤號,本例中為MW102

    ERROR_INFO

    錯誤信息,本例中為MW104,可以查看Modbus Slave 手冊第10章

     

    3、創建FC03,06,16功能代碼通訊數據塊DB1。

    圖片

    圖16

    4、創建FC04功能代碼通訊數據塊DB2。

    圖片

    圖17

    設備連接

    本文檔使用的CP341的接口是RS232C,因此需要通過標準的RS232C電纜來連接CP341和計算機的串口,具體的電纜連接方法請查看CP341手冊B章節連接電纜部分(見:手冊、文檔和軟件鏈接部分)。

    如果使用的CP341是RS485接口的模塊,需要使用RS232C/RS485轉換器。

    通信測試

    前面使用Step7 V5.5軟件已經將通信CP341的通信工作做完,下面進行通信測試。這里使用串口通訊測試軟件Modscan32軟件來測試CP341和計算機的通信,步驟如下

    1、首先將硬件配置和程序下載到CPU315-2DP中。在計算機上打開MODBUS主站仿真軟件Modscan32。

    圖片

    圖18

    2、點擊Modscan32上的Connection->Connect,顯示畫面如下,選擇計算機和CP341相連的COM口COM1,設好波特率,數據位,停止位,校驗方式,如下圖:

    圖片

    圖19

    3、設置完成,點擊OK,顯示畫面如下。

    圖片

    圖20

    4、數據顯示區的10個地址的數據對應CPU中DB1的前10個字(Word)的數值(DBW0–DBW10分別為1-10 ),如下圖。

    圖片

    圖21

    5、其它數據的讀取,只需更改訪問的數據類型,此處不再介紹。

    6、但要說明一下對于浮點數的顯示,PLC中浮點數的高16位和低16位與Modscan32顯示的相反,即PLC中浮點數的高16位對應Modscan32顯示浮點數的低16位,PLC中浮點數的低16位對應Modscan32顯示浮點數的高16位,可在程序中做一下處理,如下圖:

    圖片

    圖22

    此時Modscan32顯示的浮點數40001對應MD200的浮點數值,但MODBUS地址對應DB1.DBD0。

    圖片

    圖23


    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595