亚洲成人专区一区二区三区|久久精品,99中文字幕|中文字幕在线成人在线视频|中文字幕人妻制服丝袜控

歡迎光臨潯之漫智控技術(shù)(上海)有限公司網(wǎng)站!
誠信促進發(fā)展,實力鑄就品牌
服務(wù)熱線:

15618722057

產(chǎn)品展示 / products 您的位置:網(wǎng)站首頁 > 產(chǎn)品展示 > > 西門子 > 西門子PLC模塊SM1232
西門子PLC模塊SM1232

西門子PLC模塊SM1232

簡要描述:西門子PLC模塊SM1232
潯之漫智控技術(shù)(上海)有限公司 上海詩慕自動化設(shè)備有限公司
本公司銷售西門子自動化產(chǎn)品,*,質(zhì)量保證,價格優(yōu)勢
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動,西門子以太網(wǎng)
西門子電機,西門子變頻器,西門子直流調(diào)速器,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),價格優(yōu)勢,*,

產(chǎn)品型號:

所屬分類:西門子

更新時間:2024-04-22

廠商性質(zhì):代理商

詳情介紹

西門子PLC模塊SM1232                  西門子PLC模塊SM1232

 潯之漫智控技術(shù)(上海)有限公司 上海詩慕自動化設(shè)備有限公司
本公司銷售西門子自動化產(chǎn)品,*,質(zhì)量保證,價格優(yōu)勢
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動,西門子以太網(wǎng)
西門子電機,西門子變頻器,西門子直流調(diào)速器,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),價格優(yōu)勢,*,

本文以 ZKA-4488-ETH 為例介紹西門子PLC與深圳市綜科智控科技開發(fā)有限公司的IO設(shè)備進行Modbus通訊的步驟設(shè)置。ZKA-4488-ETH 是 8 路數(shù)字量輸入(DI),8 路數(shù)字量輸出(DO),4 路模擬量輸入(AI,0/4-20mA),4 路模擬量輸出設(shè)備(AO,0/4-20mA),以太網(wǎng)通信。

以 ZKA-4488-ETH 為例,出廠默認(rèn)通訊參數(shù)如下:

ZK模塊 IP 為:192.168.0.105

TCP 端口為:10001

(注意:我們模塊出廠時默認(rèn)端口為10001,客戶也可以通過ZK模塊的配置文件把ZK通訊端口改成modbus-tcp的默認(rèn)端口502)

工作模式為:服務(wù)器模式

二、 S7-200 Modbus TCP通信

1 S7-200 Modbus TCP 通信簡介

S7-1200 CPU 本體上集成了一個 PROFINET 通信口,支持以太網(wǎng)和基于 TCP/IP和UDP 的通信標(biāo)準(zhǔn)。這個PROFINET 物理接口是支持10/100Mb/s的 RJ45口,支持電纜交叉自適應(yīng),因此一個標(biāo)準(zhǔn)的或是交叉的以太網(wǎng)線都可以用于這個接口。使用這個通信口可以實現(xiàn) S7-1200 CPU 與編程設(shè)備的通信,與HMI觸摸屏的通信,以及與其它 CPU 之間的通信,

S7-1200 CPU 的PROFINET 通信口主要支持以下通信協(xié)議及服務(wù)

  • Profinet IO (V2.0開始)
  • S7 通信 (V2.0開始支持客戶端)
  • TCP
  • ISO on TCP
  • UDP(V2.0開始)
  • Modbus TCP
  • HMI通信
  • Web通信(V2.0開始)。

硬件版本 V4.1 支持的協(xié)議和最大的連接資源:

S7-1200的連接資源

分配給每個類別的預(yù)留連接資源數(shù)為固定值;您無法更改這些值。 但可組態(tài) 6個"可用自由連接"以按照應(yīng)用要求增加任意類別的連接數(shù)。

● 示例1: 1 個 PG 具有 3 個可用連接資源。 根據(jù)當(dāng)前使用的 PG 功能,該 PG 實際可能使用其可用連接資源的 1、2 或 3。 在 S7-1200 中,始終保證至少有 1 個 PG,但不允許超過 1 個 PG。

在CPU屬性>常規(guī)>連接資源顯示:

硬件版本 V3.0 支持的協(xié)議和最大的連接資源:

  • 3個連接用于操作面板
  • 1個連接用于編程設(shè)備(PG)與 CPU 的通信
  • 8個連接用于Open IE ( TCP, ISO on TCP, UDP) 的編程通信,使用T-block 指令來實現(xiàn)
  • 3個連接用于S7 通信的服務(wù)器端連接,可以實現(xiàn)與S7-200,S7-300以及 S7-400 的以太網(wǎng)S7 通信
  • 8個連接用于S7 通信的客戶端連接,可以實現(xiàn)與S7-200,S7-300以及 S7-400 的以太網(wǎng)S7 通信

連接數(shù)是固定不變的,不能自定義。

注意:建立被動的TCP 、ISO on TCP 和UDP的連接時,建議使用端口范圍: 2000~5000。一些端口號和TSAP 號是受到限制不能被使用的。 下列端口號和TSAP號不能使用:

  • ISO TSAP (passive): 01.00, 01.01, 02.00, 02.01, 03.00, 03.01
  • TCP/UDP port (passive): 20, 21, 25, 80, 102, 135, 161, 34962 … 34964,53, 80, 162, 443, 520, 9001

2 Modbus TCP 指令庫

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

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

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

圖1. Modbus TCP的庫指令

3 Modbus TCP 功能編程

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

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

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

圖2. MB_CLIENT通信指令

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

管腳

說明

REQ

使能: False-無Modbus通訊請求,True-請求與服務(wù)器通訊,Done完成位來后才可以執(zhí)行下次請求,建議采用上升沿觸發(fā)請求;

DISCONNECT

控制與服務(wù)器建立和終止連接:0-建立與IP地址和端口號的通訊連接,默認(rèn)為0;1-斷開通訊連接,在終止連接的過程中,不執(zhí)行任何其他功能;

CONNECT_ID

連接的ID號:每個連接只有一個ID號;

IP_OCTET_1~4

ZKA-4488-ETH的IP地址

IP_PORT

ZKA-4488-ETH上使用TCP/IP協(xié)議與客戶端建立通訊的IP端口號

MB_MODE

選擇請求模式(讀取、寫入或診斷),具體對照參照表1.;

MB_DATA_ADDR

訪問數(shù)據(jù)的起始地址;

MB_DATA_LEN

數(shù)據(jù)長度:數(shù)據(jù)訪問的位數(shù)或字?jǐn)?shù);

MB_DATA_PRT

指向Modbus數(shù)據(jù)寄存器的指針:用于緩存從Modbus服務(wù)器接收的數(shù)據(jù)或?qū)l(fā)送到Modbus服務(wù)器數(shù)據(jù)的緩沖區(qū),可以是DB塊或M區(qū),如果是DB塊則需要定義為“標(biāo)準(zhǔn)與S7- 300/400兼容”的類型,見下圖3;

DONE

完成位:作業(yè)完成,無錯誤,該位置1;

BUSY

作業(yè)狀態(tài)位:0-當(dāng)前沒有正在處理的“MB_CLIENT”作業(yè);1-“MB_CLIENT”作業(yè)正在處理;

ERROR

錯誤位:0-無錯誤;1-出現(xiàn)錯誤,錯誤原因查看STATUS;

STATUS

錯誤代碼;

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

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

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

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

3. MB_MODE、MB_DATA_ADDR和功能碼的關(guān)系

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

Modbus 功能

MB_MODE

MB_DATA_ADDR

操作和數(shù)據(jù)類型

數(shù)據(jù)長度

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

讀取服務(wù)器通信狀態(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ù)據(jù)診斷代碼0X0000檢查服務(wù)器狀態(tài) 每次請求1個字

1

FC08

81

通過數(shù)據(jù)診斷代碼0X000A重新設(shè)置服務(wù)器事件計數(shù)器 每次請求1個字

1

3~10、12~79、82~255

保留

表2. MB_MODE、MB_DATA_ADDR和功能碼的關(guān)系

如上例中S7-1200作客戶機,用FC04功能碼讀取ZKA-4488-ETH的模擬輸入AI1通道的讀數(shù)的兩個字,起始從Modbus地址30001開始,接收的數(shù)據(jù)存放在緩沖區(qū)DB3.DBX0.0開始區(qū)域,設(shè)置如上:MB_MODE=0,MB_DATA_ADDR=30001,MB_DATA_LEN=2,對應(yīng)關(guān)系為:30001->DB3.DBW0 ,30002->DB3.DBW2。

注意:Slave ID 是ZKA-4488-ETH的站地址,和客戶機中“MB_CLIENT” 中的“CONNECT_ID” 不是一個概念,實際上與客戶機中“MB_CLIENT”的背景數(shù)據(jù)塊中的STAT變量“MB_UNIT_ID”需要一致,在1200中該地址默認(rèn)為16#00FF,實際使用時可以改成1,即:與ZKA-4488-ETH配置文件中的站號保持一致,當(dāng)S7-1200掛接了多個ZKA-4488-ETH時,該值可以按序編號,也可以都使用值1,因為modbus-tcp依然可以根據(jù)指向的IP地址發(fā)送數(shù)據(jù)。

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

5.通訊測試

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

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

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

圖9. 通訊結(jié)果

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

STATUS(W#16#)

Modbus服務(wù)器返回的代碼(B#16#)

錯誤說明

8381

01

不支持功能代碼

8382

03

數(shù)據(jù)長度錯誤

8383

02

數(shù)據(jù)地址錯誤或訪問的數(shù)據(jù)超出MB_DATA_PTR的地址區(qū)

8384

03

數(shù)據(jù)值錯誤

8385

03

不支持診斷錯誤代碼(功能代碼08)

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

STATUS(W#16#)

錯誤說明

7001

MB_CLIENT 正在等待Modbus服務(wù)器響應(yīng)TCP端口處的連接或斷開連接請求,僅在第一次執(zhí)行連接或斷開操作時才報告此代碼

7002

MB_CLIENT 正在等待Modbus服務(wù)器響應(yīng)TCP端口處的連接或斷開連接請求,等待連接或斷開操作完成時,將針對任何后續(xù)執(zhí)行報告此代碼

7003

斷開操作已成功完成(僅在一個PLC掃描周期內(nèi)有效)

80C8

服務(wù)器在的時間內(nèi)無響應(yīng),請檢查與Modbus服務(wù)器設(shè)備的連接,嘗試過任何組態(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ū)域,必須為“標(biāo)準(zhǔn)與S7- 300/400兼容”的DB或M區(qū)

8200

端口正在處理另一個Modbus請求

8380

接收到的Modbus楨有缺陷或接收到的字節(jié)太少

8387

的連接ID與用于先前請求的ID不同,只能有一個單個連接ID與每個MB_CLIENT背景數(shù)據(jù)塊配合使用

8388

Modbus服務(wù)器返回一些和請求內(nèi)容不同的數(shù)據(jù),這只適合Modbus功能15或16

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

除了上面列出的MB_CLIENT錯誤外,也可以從底層傳輸通信指令(TCON、TDISCON、TSEND和TRCV)返回錯誤,參考相應(yīng)指令的錯誤代碼。

5 Modbus TCP 常問問題

MB_CLIENT 指令的背景數(shù)據(jù)塊中的 "MB_Unit_ID" 有什么功能?

注意:Slave ID 是ZKA-4488-ETH的站地址,和客戶機中“MB_CLIENT” 中的“CONNECT_ID” 不是一個概念,實際上與客戶機中“MB_CLIENT”的背景數(shù)據(jù)塊中的STAT變量“MB_UNIT_ID”需要一致,在1200中該地址默認(rèn)為16#00FF,實際使用時可以改成1,即:與ZKA-4488-ETH配置文件中的站號保持一致,當(dāng)S7-1200掛接了多個ZKA-4488-ETH時,該值可以按序編號,也可以都使用值1,因為modbus-tcp依然可以根據(jù)指向的IP地址發(fā)送數(shù)據(jù)

圖 11. MB_Unit_ID

S7-1200 MODBUS TCP通信多請求處理怎么做?

單獨的客戶機連接需要遵循的規(guī)則:

1.每個“MB_CLIENT”連接需要使用一個不同的背景數(shù)據(jù)塊;

2.每個“MB_CLIENT”連接必須一個服務(wù)器IP地址;

3.每個“MB_CLIENT”連接必須一個的連接ID;

4.是否需要IP端口號取決于服務(wù)器組態(tài);

連接ID和背景數(shù)據(jù)塊組合成對,對每個連接來說,組合對都是的。

對于多請求處理,有兩種方法:

方法一:如果TCP連接充裕,可以建立多個不同的連接發(fā)送請求,即每個請求使用一個獨立的連接,調(diào)用獨立的“MB_CLIENT”功能塊,具體操作參考“Modbus TCP”部分。通過不同的連接發(fā)送多個請求,“MB_CLIENT”功能塊多次調(diào)用,但是需要使用不同的背景數(shù)據(jù)塊,不同的ID號和不同的端口號。

方法二:通過公共的連接發(fā)送多個請求。

通過公共的連接發(fā)送多個請求,“MB_CLIENT”功能塊多次調(diào)用,但是需要使用相同的背景數(shù)據(jù)塊,連接ID號,IP地址和端口號。在任意時間,只能有一個MB_CLIENT請求處于激活狀態(tài),在一個請求完成執(zhí)行后,下一個請求再開始執(zhí)行,輪循處理。

在此,我們以方法二為例,介紹S7-1200如何通過分次請求獲取ZKA-4488-ETH內(nèi)部寄存器的數(shù)據(jù):

1.S7-1200的IP地址192.168.1.218,將系統(tǒng)存儲器字節(jié)設(shè)置為MB1,如圖1所示,圖2所示。

圖1 IP地址設(shè)置

圖2 系統(tǒng)存儲器字節(jié)設(shè)置

1.新建數(shù)據(jù)塊,訪問指向ZKA-4488-ETH的IP地址和端口號

如圖6所示,新建DB,添加變量類型為TCON_IP_V4,設(shè)置InterfaceId,ID,ActiveEstablished,RemoteAddress,RemotePort等參數(shù),具體含義參見鏈接。

圖6 設(shè)置連接變量

如圖7所示,在DB中建立結(jié)構(gòu)數(shù)組,用于輪詢控制位以及數(shù)據(jù),其中元素0用于第一次讀取,元素1用于第二次讀取。Init用于初始標(biāo)志位。

圖7 輪詢數(shù)據(jù)

2.編寫輪循功能

1)如圖8所示,用“FirstScan”在第一次掃描中將初始標(biāo)志位置位。

圖8 初始化標(biāo)志位

2)如圖9所示,程序段2中,第二步的完成位或者錯誤位去置位第一步的使能位復(fù)位第二步的使能位,同時復(fù)位第二步的完成位、錯誤位、觸發(fā)的沿變量。

程序段3中,一般情況下是EN通過第一步的使能位使能,REQ通過使能位的上升沿觸發(fā),設(shè)置模式、讀取數(shù)據(jù)地址、長度、存儲地址、連接數(shù)據(jù)、完成、錯誤位等。此外需要考慮第一次觸詢,可以使用手動觸發(fā),在這里使用初始化標(biāo)志位實現(xiàn)指令的第一次使能,去進行CPU和調(diào)試軟件的TCP連接,使用Connected標(biāo)志位觸發(fā)第一次的REQ觸發(fā)。

圖9 請求1觸發(fā)

如圖10所示,程序段4中,第一步的完成位或者錯誤位去置位第二步的使能位復(fù)位第一步的使能位,同時復(fù)位第一步的完成位、錯誤位、觸發(fā)的沿變量,最后復(fù)位初始化標(biāo)志位,確保第一個MB_CLIENT不會一直接通。

程序段5中,EN通過第二步的使能位使能,REQ通過使能位的上升沿觸發(fā),設(shè)置模式、讀取數(shù)據(jù)地址、長度、存儲地址、連接數(shù)據(jù)、完成、錯誤位等。

圖10 請求2觸發(fā)

五.通訊測試

通訊結(jié)果如圖11 所示。

圖11 測試結(jié)果



留言詢價

留言框

  • 產(chǎn)品:

  • 您的單位:

  • 您的姓名:

  • 聯(lián)系電話:

  • 常用郵箱:

  • 省份:

  • 詳細(xì)地址:

  • 補充說明:

  • 驗證碼:

    請輸入計算結(jié)果(填寫阿拉伯?dāng)?shù)字),如:三加四=7

聯(lián)