最近中文字幕在线mv视频在线,中文字幕无码家庭乱欲,一区二区伊人久久大杳蕉 ,亚洲综合国产一区,夜夜爽www

資訊詳情
西門子紫色通訊電纜廣西哪里有賣
發(fā)布者:yt359769311  發(fā)布時間:2018-05-18 00:47:24

西門子紫色通訊電纜廣西哪里有賣
西門子紫色通訊電纜廣西哪里有賣

 

 

                                  SIEMENS 長沙豪乾智能科技有限公司


公司帶來銷售的產品全部由西門子直接提供,所有產品保證絕對原裝,每個產品都可以到西門子長沙辦事處去查驗。

我們出售的產品按照西門子質保進行保修,(保修期為一年)《選擇長沙豪乾,是您最明智的決定》。想了解更多內容,請來電,我將為您一一解答。


工作( Q Q 254598303                    136 8731 7079(微信同步)


聯(lián)系人 :張 柏 /       


公司理念:

  是專業(yè)從事工業(yè)自動化產品銷售和系統(tǒng)集成的高新技術企業(yè)。在西門子工控領域,公司以精益求精的經營理念,從產品、方案到服務,致力于塑造一個“行業(yè)專家”品牌,以實現(xiàn)可持續(xù)的發(fā)展。
  

S7-1200 Modbus TCP 通信指令塊

STEP 7 V13 SP1 軟件版本中的Modbus TCP庫指令目前最新的版本已升至V4.0,該版本的使用需要具備以下兩個條件:

1. 軟件版本: STEP 7 V13 SP1及其以上

2. 固件版本: S7-1200 CPU 的固件版本V4.1

圖1. Modbus TCP V4.0 版本指令塊

S7-1200 Modbus TCP 實驗環(huán)境

下面以兩臺S7-1200之間進行Modbus TCP 通信為例,詳細闡述客戶端與服務器側如何編程及通信的過程。表格列出了具體的實驗環(huán)境:

操作系統(tǒng)

WIN7 SP1 專業(yè)版 64位

編程軟件

STEP 7 Professional V13 SP1 Update 5

系統(tǒng)硬件

1.CPU1215C   6ES7 215-1AG40-0XB0   V4.1
2.CPU1212C   6ES7 212-1AE40-0XB0   V4.1
3.CSM 1277    6GK7 277-1aa10-0aa0

表1. Modbus TCP 通信的實驗環(huán)境

 
CPU類型
IP地址
端口號
硬件標識符
客戶端
CPU 1212C
192.168.0.6
0
64
服務器
CPU 1215C
192.168.0.4
502
64

表2. Modbus TCP 通信雙方的基本配置

硬件標識符是在“設備組態(tài)”中,雙擊 PROFINET 接口,然后在“屬性”中的“硬件標識符”中查看。

圖2. S7-1200設備的PROFINET接口硬件標識符

S7-1200 Modbus TCP 服務器編程

“MB_SERVER”指令將處理 Modbus TCP 客戶端的連接請求、接收并處理 Modbus 請求并發(fā)送響應。

1. 在“ 程序塊-> OB 1"中調用“MB_SERVER”指令塊,然后會生成相應的背景DB塊,點擊確定,如圖3所示。

圖3. 調用MB_SERVER指令塊

該功能塊的各個引腳定義如下:

DISCONNET

為0代表被動建立與客戶端的通信連接;為1代表終止連接。

MB_HOLD_REG 指向 Modbus 保持寄存器的指針。
CONNECT 指向連接描述結構的指針。TCON_IP_v4(S7-1200)
NDR 為0代表無數(shù)據;為1代表從 Modbus 客戶端寫入新的數(shù)據。
DR 為0代表無讀取的數(shù)據;為1代表從 Modbus 客戶端讀取的數(shù)據
ERROR 錯誤位:0:無錯誤;1:出現(xiàn)錯誤,錯誤原因查看STATUS。
STATUS 指令的詳細狀態(tài)信息。

表3. MB_SERVER 各個引腳定義說明

2. CONNECT 引腳的指針類型

第一步,先創(chuàng)建一個新的全局數(shù)據塊 DB2,如圖4所示:

圖4. 創(chuàng)建全局數(shù)據塊

第二步,雙擊打開新生成的 DB2 數(shù)據塊,定義變量名稱為“ss",數(shù)據類型為“TCON_IP_v4”(可以將 TCON_IP_v4 拷貝到該對話框中),然后點擊“回車”按鍵。該數(shù)據類型結構創(chuàng)建完畢。如圖5所示:

圖5. 創(chuàng)建 MB_SERVER 中的 TCP 連接結構的數(shù)據類型

各個引腳定義說明如下:

InterfaceId 硬件標識符。(設備組態(tài)中查詢)
ID

連接ID,取值范圍1~4095

Connection Type 連接類型。TCP連接默認為:16#0B
ActiveEstablished 建立連接。主動為1(客戶端),被動為0(服務器)。
ADDR 服務器側的IP地址
RemotePort 遠程端口號
LocalPort 本地端口號

表4. TCON_IP_v4 數(shù)據結構的引腳定義

客戶端側的IP地址為192.168.0.6,端口號為0,所以 MB_SERVER 服務器側該數(shù)據結構的各項值如圖6所示。

圖6. MB_SERVER 服務器側的 CONNECT 數(shù)據結構定義

3. S7-1200 服務器側 MB_SERVER 編程

調用MB_SERVER指令塊,實現(xiàn)被客戶端讀取2個保持寄存器的值,如圖7所示。

圖7. MB_SERVER 服務器側編程

注意:MB_HOLD_REG 指定的數(shù)據緩沖區(qū)可以設為 DB 塊或 M 存儲區(qū)地址。DB 塊可以為優(yōu)化的數(shù)據塊,也可以為標準的數(shù)據塊結構。

S7-1200 MODBUS TCP 通信調試

S7-1200 MODBUS TCP 服務器側準備數(shù)據,用于客戶端讀訪問,如圖8所示。

圖8. 服務器側監(jiān)控表

S7-1200 MODBUS TCP 客戶端側,給 MB_CLIENT 指令塊中 REQ 引腳一個上升沿,監(jiān)控數(shù)據讀取成功。如圖9所示。

圖9. 客戶端側監(jiān)控表

S7-1200集成PN接口MODBUS TCP通信概述

Modbus TCP是標準的網絡通信協(xié)議,通過CPU上PN接口進行TCP/IP通信,不需要額外的通信硬件模塊,Modbus TCP使用開放式用戶通信連接作為Modbus通信路徑,所支持的混合客戶機和服務器連接數(shù)最大為CPU所允許的最大開放式用戶通信連接數(shù)8個。

軟件 STEP7 V11 SP1版本開始,S7-1200CPU 從Firmware V1.0.2開始,不再需要安裝Modbus TCP的庫文件,可以直接調用Modbus TCP的庫指令“MB_CLIENT”和“MB_SERVER”使用實現(xiàn)Modbus TCP通信功能,如圖1.所示。

圖1. Modbus TCP的庫指令

S7-1200 做Modbus Tcp Client(客戶端)

MB_CLIENT 進行客戶機和服務器TCP連接、發(fā)送命令消息、接收響應以及控制服務器的斷開。


1.調用MB_CLIENT通信指令,進入 “Program blocks” > “OB1” 主程序中,調用MODBUS TCP客戶機指令,如圖2.所示。

圖2. MB_CLIENT通信指令

功能塊參數(shù)意義如下表1.:

管腳 說明
REQ 使能: False-無Modbus通訊請求,True-請求與服務器通訊,Done完成位來后才可以執(zhí)行下次請求,建議采用上升沿觸發(fā)請求;
DISCONNECT 控制與服務器建立和終止連接:0-建立與指定IP地址和端口號的通訊連接,默認為0;1-斷開通訊連接,在終止連接的過程中,不執(zhí)行任何其他功能;
CONNECT_ID 連接的ID號:每個連接只有一個唯一的ID號;
IP_OCTET_1~4 服務器的IP地址: 如圖2.中通訊對方的IP地址是192.168.0.210;
IP_PORT 服務器上使用TCP/IP協(xié)議與客戶端建立通訊的IP端口號,默認值:502;
MB_MODE 選擇請求模式(讀取、寫入或診斷),具體對照參照表1.;
MB_DATA_ADDR 訪問數(shù)據的起始地址;
MB_DATA_LEN 數(shù)據長度:數(shù)據訪問的位數(shù)或字數(shù);
MB_DATA_PRT 指向Modbus數(shù)據寄存器的指針:用于緩存從Modbus服務器接收的數(shù)據或將發(fā)送到Modbus服務器數(shù)據的緩沖區(qū),可以是DB塊或M區(qū),如果是DB塊則需要定義為“標準與S7- 300/400兼容”的類型,見下圖3;
DONE 完成位:作業(yè)完成,無錯誤,該位置1;
BUSY 作業(yè)狀態(tài)位:0-當前沒有正在處理的“MB_CLIENT”作業(yè);1-“MB_CLIENT”作業(yè)正在處理;
ERROR 錯誤位:0-無錯誤;1-出現(xiàn)錯誤,錯誤原因查看STATUS;
STATUS 錯誤代碼;

表1. 功能塊參數(shù)意義

2.MB_DATA_PTR數(shù)據塊的新建

通過“Program blocks”>“Add new block”,選擇“Data block”創(chuàng)建 DB 塊,選擇“標準與S7- 300/400兼容” ,點擊“OK”鍵,定義數(shù)據區(qū)為100個字的數(shù)組,如圖3.所示。

圖3. 創(chuàng)建MB_DATA_PTR數(shù)據塊

3. MB_MODE、MB_DATA_ADDR和功能碼的關系

MB_CLIENT指令中,MB_MODE、MB_DATA_ADDR和MB_DATA_LEN三個參數(shù)組合定義了當前Modbus消息中所用的功能代碼,如表2.。

Modbus 功能 MB_MODE MB_DATA_ADDR 操作和數(shù)據類型 數(shù)據長度
FC01 0 00001~09999 讀取輸出位 每個請求1~2000個位 1~2000
FC02 0 10001~19999 讀取輸入位 每個請求1~2000個位 1~2000
FC03 0 40001~49999 或 400001~465535 讀取保持寄存器 每個請求1~125個字 1~125
FC04 0 30001~39999 讀取輸入字 每個請求1~125個字 1~125
FC05 1 00001~09999 寫一個輸出位 每個請求1個位 1
FC06 1 40001~49999 或 400001~465535 寫一個保持寄存器 每個請求1個字 1
FC15 1 00001~09999 寫多個輸出位 每個請求2~1968個位 2~1968
FC16 1 40001~49999 或 400001~465535 寫多個保持寄存器 每個請求2~123個字 2~123
FC15 2 00001~09999 寫一個或多個輸出位 每個請求1~1968個位 1~1968
FC16 2 40001~49999 或 400001~465535 寫一個或多個保持寄存器 每個請求1~123個字 1~123
FC11 11   讀取服務器通信狀態(tài)字和事件計數(shù)器:狀態(tài)字反映處理狀態(tài)(0-未處理;0XFFFF-處理中);每次成功發(fā)送一條消息后,事件計數(shù)器都將遞增。執(zhí)行功能時,MB_CLIENT指令的MB_DATA_ADDR和MB_DATA_LEN參數(shù)都將被忽略。 0
FC08 80   通過數(shù)據診斷代碼0X0000檢查服務器狀態(tài) 每次請求1個字 1
FC08 81   通過數(shù)據診斷代碼0X000A重新設置服務器事件計數(shù)器 每次請求1個字 1
  3~10、12~79、82~255   保留  

表2. MB_MODE、MB_DATA_ADDR和功能碼的關系

如上例中S7-1200作客戶機,用FC03功能碼讀取服務器的兩個字,起始從Modbus地址40001開始,接收的數(shù)據存放在緩沖區(qū)DB3.DBX0.0開始區(qū)域,設置如上:MB_MODE=0,MB_DATA_ADDR=40001,MB_DATA_LEN=2,對應關系為:40001->DB3.DBW0 ,40002->DB3.DBW2。

4.服務器端Modbus Slave 軟件設置

注意:服務器采用Modbus Slave軟件測試,該軟件是第三方軟件,可以從 internet 網絡上下載。

首先將測試電腦的IP地址設置成192.168.0.210,如圖4.所示,打開Modbus Slave 軟件,在Modbus Slave的“Set up->Slave Definition”中設置功能碼、起始地址、長度等,如圖5.所示。

圖4. 電腦的IP地址設置

圖5. 服務器端Modbus Slave軟件設置

創(chuàng)建Modbus TCP/IP連接,在“Connection->connect...”中打開連接屬性對話框,選擇“Modbus TCP/IP” ,TCP/IP Server Port本地服務器端口為502,并可以勾選“Ignore Unit ID”選項,如圖6.所示。

圖6. 連接屬性

注意:圖5.中的Slave ID 是服務器的站地址,和客戶機中“MB_CLIENT” 中的“CONNECT_ID” 不是一個概念,實際上與客戶機中“MB_CLIENT”的背景數(shù)據塊中的STAT變量“MB_UNIT_ID”需要一致,在1200中該地址默認為16#00FF,如圖7 所示,可以在變量表中修改與實際服務器站地址一致。如果在圖6中勾選“Ignore Unit ID”,則不需要考慮一致情況,如果不勾選,則需要修改一致。

圖7. 客戶機中“MB_CLIENT”的背景數(shù)據塊中的STAT變量“MB_UNIT_ID”

5.通訊測試

S7-1200作客戶機,用FC03功能碼讀取服務器的兩個字,設置客戶機和服務器的功能、起始地址、端口等參數(shù)相對應,具體設置如上,設置M5.0和M0.0為1,觸發(fā)請求,如圖8.所示。

圖8. S7-1200作客戶機,用FC03功能碼讀取服務器的兩個字

通訊結果如圖9.所示,從服務器讀到數(shù)據20,30到客戶機的DB3.DBW0和DB3.DBW2區(qū)域。

圖9. 通訊結果

6.MB_CLIENT 參數(shù) STATUS 錯誤代碼查詢參考下面兩個列表3.和表4.。

STATUS(W#16#) 響應Modbus客戶機的代碼(B#16#) 錯誤說明
8381 01 不支持功能代碼
8382 03 數(shù)據長度錯誤
8383 02 數(shù)據地址錯誤或訪問的數(shù)據超出MB_DATA_PRT的地址區(qū)
8384 03 數(shù)據值錯誤
8385 03 不支持診斷錯誤代碼(功能代碼08)

表3. 協(xié)議錯誤代碼

STATUS(W#16#) 錯誤說明
7001 MB_CLIENT 正在等待Modbus服務器響應指定TCP端口處的連接或斷開連接請求,僅在第一次執(zhí)行連接或斷開操作時才報告此代碼
7002 MB_CLIENT 正在等待Modbus服務器響應指定TCP端口處的連接或斷開連接請求,等待連接或斷開操作完成時,將針對任何后續(xù)執(zhí)行報告此代碼
7003 斷開操作已成功完成(僅在一個PLC掃描周期內有效)
80C8 服務器在指定的時間內無響應,請檢查與Modbus服務器設備的連接,嘗試過任何組態(tài)的重試操作后,才報告此錯誤
8188 參數(shù)MB_MODE的值無效
8189 參數(shù)MB_DATA_ADDR的值無效
818A 參數(shù)MB_DATA_LEN的長度無效
818B 參數(shù)MB_DATA_PTR中的指針無效
818C 參數(shù)MB_DATA_PTR指向優(yōu)化的區(qū)域,必須為“標準與S7- 300/400兼容”的DB或M區(qū)
8200 端口正在處理另一個Modbus請求
8380 接收到的Modbus楨有缺陷或接收到的字節(jié)太少
8387 指定的連接ID與用于先前請求的ID不同,只能有一個單個連接ID與每個MB_CLIENT背景數(shù)據塊配合使用
8388 Modbus服務器返回一些和請求內容不同的數(shù)據,這只適合Modbus功能15或16

表4. 參數(shù)錯誤代碼

除了上面列出的MB_CLIENT錯誤外,也可以從底層傳輸通信指令(TCON、TDISCON、TSEND和T

版權聲明:工控網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯(lián)系電話:0571-87774297。
今日最新資訊
熱門資訊
0571-87774297