SIEMENS 長(zhǎng)沙豪乾智能科技有限公司
公司帶來銷售的產(chǎn)品全部由西門子直接提供,所有產(chǎn)品保證絕對(duì)原裝,每個(gè)產(chǎn)品都可以到西門子長(zhǎng)沙辦事處去查驗(yàn)。
我們出售的產(chǎn)品按照西門子質(zhì)保進(jìn)行保修,(保修期為一年)《選擇長(zhǎng)沙豪乾,是您最明智的決定》。想了解更多內(nèi)容,請(qǐng)來電,我將為您一一解答。
工作( Q Q ):254598303 136 8731 7079(微信同步)
聯(lián)系人 :張 柏 / )
公司理念:
是專業(yè)從事工業(yè)自動(dòng)化產(chǎn)品銷售和系統(tǒng)集成的高新技術(shù)企業(yè)。在西門子工控領(lǐng)域,公司以精益求精的經(jīng)營(yíng)理念,從產(chǎn)品、方案到服務(wù),致力于塑造一個(gè)“行業(yè)專家”品牌,以實(shí)現(xiàn)可持續(xù)的發(fā)展。
西門子總線電纜分為6XV1830-0EH10通訊屏蔽網(wǎng)線 / 6XV1830-3EH10可拖拽軟線
以上2種電纜均為德國(guó)進(jìn)口電纜,全新原裝正品,假一罰十。質(zhì)量保證一年!
型號(hào):6XV1830-0EH10
SIMATIC NET, PROFIBUS 快速標(biāo)準(zhǔn)電纜 GP, 2 芯, 屏蔽, 為快速安裝而特殊設(shè)計(jì),最大長(zhǎng)度: 1000m, 最小訂購(gòu)數(shù)量: 20m, 按米銷售
型號(hào):6XV1830-3EH10
SIMATIC NET, PROFIBUS FC 拖纜, PROFIBUS 拖纜, 最大加速度:4 m/s2, 至少 3 百萬次 彎曲次數(shù),彎曲半徑: 約 120mm,雙芯屏蔽線,按米銷售,最大長(zhǎng)度: 1000m, 最小訂購(gòu)量: 20 m
【西門子電線電纜簡(jiǎn)介】
Overview
-
用于不同應(yīng)用區(qū)域的不同類型(例如,地下電纜、拖曳電纜、危險(xiǎn)區(qū)域(Zone 1 和 Zone 2))
-
雙層屏蔽,抗干擾性能好
-
阻燃總線連接電纜(不含鹵素)。
-
由于電纜上印有以米表示的長(zhǎng)度標(biāo)記,因此易于確定長(zhǎng)度
-
UL 認(rèn)證
-
由于特殊的總線電纜,有很廣的應(yīng)用范圍。
-
由于使用了雙層屏蔽電纜和集成式接地技術(shù),網(wǎng)絡(luò)具有抗干擾功能。
-
采用 FastConnect (快速連接) 電纜,連接器連接簡(jiǎn)單又快速,從而節(jié)省了時(shí)間。
-
產(chǎn)品中不含硅硐,因此特別適用于汽車工業(yè) (如上釉流水線)。
-

為了構(gòu)建 PROFIBUS DP 網(wǎng)絡(luò),提供有不同類型的電纜,可滿足不同類型應(yīng)用的要求。一般地,應(yīng)該使用所列出的電纜。有關(guān)網(wǎng)絡(luò)組態(tài)的詳細(xì)信息,請(qǐng)參見 PROFIBUS 網(wǎng)絡(luò)手冊(cè)。
UL 認(rèn)證
用于網(wǎng)絡(luò)電纜的 UL 列表(安全標(biāo)準(zhǔn))對(duì)于美國(guó)和加拿大市場(chǎng)尤為必需。根據(jù)電纜敷設(shè)在建筑物中位置來決定適當(dāng)?shù)恼J(rèn)證要求。這適用所有電纜,這些電纜從一個(gè)機(jī)器敷設(shè)到一遠(yuǎn)程控制柜,位于電纜架上并保護(hù)著建筑物。通過 UL 認(rèn)證的電纜在其名稱后面附加字母“GP”(通用)。
Ex認(rèn)證
用于本質(zhì)安全 PROFIBUS DP 應(yīng)用的電纜在其名稱后面附加字母“IS”(本質(zhì)安全)
屏蔽的雙絞電纜,圓形截面
S7-1200作為智能IO設(shè)備和CP343-1的 Profinet 通信(S7-300做控制器)
S7-1200 V4.0 支持智能 IO 設(shè)備功能,故可使用 S7-1200 作為智能 IO 設(shè)備和 CP343-1 的 Profinet 通信。本例中將 S7-300 做為控制器,連接作為智能 IO 設(shè)備的S7-1200 CPU 實(shí)現(xiàn) Profinet 通信;下面詳細(xì)介紹使用方法。
硬件:
-
CPU 1217C DC/DC/DC,V4.0
-
CPU 314C-2ptp,V2.6 + CP343-1,V3.0
軟件:
-
Step7 V13
-
Step7 V5.5 SP3
CP343-1 的 PN 接口連接 S7-1200 的 PN 接口,這種方式可以分2種情況來操作,具體如下:
-
第一種情況:CPU 1217C 和 CPU 314C 使用 Step7 V13 編程,在一個(gè)項(xiàng)目中操作。
-
第二種情況:CPU 1217C 使用 Step7 V13,而 CPU 314C 使用 Step7 V5.5。
1. 第一種情況(同一項(xiàng)目中操作)
CPU 314C 作為 controller,1217C 作為 IO device,使用 Step7 V13 在一個(gè)項(xiàng)目中操作,詳細(xì)步驟如下。
1-1 使用 Step7 V13 創(chuàng)建 S7-300 站
使用 STEP7 V13 創(chuàng)建一個(gè)新項(xiàng)目,并通過“添加新設(shè)備”組態(tài) S7-300 站 PLC_1,選擇 CPU 314C-2 ptp, 添加 CP343-1 ,設(shè)置 IP 地址。如圖 1 所示。
圖 1 在新項(xiàng)目中插入 S7-300 站
在“操作模式”選項(xiàng)中確認(rèn) CP343-1 的操作模式。 如圖 2 所示。
圖 2 選擇 CP343-1 操作模式
1-2 使用 Step7 V13 創(chuàng)建 S7-1200 站
使用 STEP7 V13 創(chuàng)建一個(gè)新項(xiàng)目,并通過“添加新設(shè)備”組態(tài) S7-1200 站 PLC_2,選擇 CPU1217C DC/DC/DC V4.0;設(shè)置 IP 地址,并確認(rèn)設(shè)備名稱,本示例中設(shè)備名稱是plc_2。如圖 3 所示。
圖 3 在新項(xiàng)目中插入 S7-1200 站
S7-1200 作為 IO 設(shè)備,需要將其操作模式設(shè)置為 IO 設(shè)備,并將 IO 設(shè)備分配給控制器 PLC_1 。如圖 4 所示。
圖 4 S7-1200 設(shè)置為 IO 設(shè)備
接著,在“智能設(shè)備通信”的“傳輸區(qū)”創(chuàng)建 IO 通信區(qū),控制器的 QB2~6 共計(jì)5個(gè)字節(jié)傳送到 IO 設(shè)備的 IB2~6 ;控制器的 IB2~6 共計(jì)5個(gè)字節(jié)讀取來自 IO 設(shè)備的 QB2~6 。如圖 5 所示。
圖 5 創(chuàng)建 IO 通信區(qū)
1-2 硬件組態(tài)下載,檢查設(shè)備名稱和 IP 地址是否正確
分別將 PLC_1 站和 PLC_2 站下載到各自的 PLC 中。
將軟件切換到“網(wǎng)絡(luò)視圖”,找到 PN/IE 總線,查看設(shè)備名稱是否正確。如圖 6、7 所示。
圖 6 網(wǎng)絡(luò)視圖
圖 7 確認(rèn)設(shè)備名稱和 IP 地址
1-3 S7-300 編程
本例中,CP343-1 作為 IO 控制器,需要在 OB1 中編程調(diào)用 PNIO_SEND 和 PNIO_RECV 進(jìn)行數(shù)據(jù)讀寫。如圖 8 所示。
圖 8 CPU314C 中編程
CALL “PNIO_SEND”
|
|
|
CPLADDR
|
:=256
|
// CP 模板起始地址
|
MODE
|
:=0
|
// 工作模式:當(dāng)CP343-1僅作為IO控制器或IO設(shè)備時(shí),設(shè)為0;當(dāng)CP343-1同時(shí)作為IO控制器和IO設(shè)備時(shí),設(shè)為1
|
LEN
|
:=7
|
// 要發(fā)送的數(shù)據(jù)區(qū)長(zhǎng)度;該長(zhǎng)度始終是從數(shù)據(jù)區(qū)地址0開始計(jì)算
|
SEND
|
:=P#M100.0 BYTE 7
|
// 發(fā)送數(shù)據(jù)區(qū)
|
IOCS
|
:=P#M150.0 BYTE 10
|
// 每一用戶數(shù)據(jù)字節(jié)傳送一個(gè)狀態(tài)位。長(zhǎng)度信息取決于LEN參數(shù)中的長(zhǎng)度。
以程序段1為例,共發(fā)送7個(gè)字節(jié),每個(gè)字節(jié)需要1個(gè)比特位,所以共需要7位,即至少需要1字節(jié)。
|
DONE
|
:=%M0.0
|
// 為1時(shí),無錯(cuò)誤完成該作業(yè)
|
ERROR
|
:=%M0.1
|
// 為1時(shí),有故障發(fā)生
|
STATUS
|
:=%MW2
|
// 狀態(tài)代碼
|
CHECK_IOCS
|
:=%M0.3
|
// 0: 所有IOCS均設(shè)置為GOOD
// 1: 至少一個(gè)IOCS設(shè)置為BAD
|
CALL “PNIO_RECV”
|
|
|
CPLADDR
|
:=256
|
// CP 模板起始地址
|
MODE
|
:=0
|
// 工作模式:當(dāng)CP343-1僅作為IO控制器或IO設(shè)備時(shí),設(shè)為0;當(dāng)CP343-1同時(shí)作為IO控制器和IO設(shè)備時(shí),設(shè)為1
|
LEN
|
:=7
|
// 要接收的數(shù)據(jù)區(qū)長(zhǎng)度;該長(zhǎng)度始終是從數(shù)據(jù)區(qū)地址0開始計(jì)算
|
RECV
|
:=P#M200.0 BYTE 7
|
// 發(fā)送數(shù)據(jù)區(qū)
|
IOPS
|
:=P#M250.0 BYTE 10
|
// 每一用戶數(shù)據(jù)字節(jié)傳送一個(gè)狀態(tài)位。長(zhǎng)度信息取決于LEN參數(shù)中的長(zhǎng)度。
以程序段2為例,共接收7個(gè)字節(jié),每個(gè)字節(jié)需要1個(gè)比特位,所以共需要7位,即至少需要1字節(jié)。
|
NDR
|
:=%M1.0
|
// 為1時(shí),無錯(cuò)誤完成該作業(yè)
|
ERROR
|
:=%M1.1
|
// 為1時(shí),有故障發(fā)生
|
STATUS
|
:=%MW4
|
// 狀態(tài)代碼
|
CHECK_IOPS
|
:=%M1.2
|
// 0: 所有IOPS均設(shè)置為GOOD
// 1: 至少一個(gè)IOPS設(shè)置為BAD
|
ADD_INFO
|
:=%MW6
|
// 附加診斷信息;具體請(qǐng)查看指令幫助信息
|
1-4 通訊測(cè)試
檢查無錯(cuò)誤后,下載 S7-300 的程序,分別給兩個(gè)站點(diǎn)新建監(jiān)控表,添加通信數(shù)據(jù)區(qū),監(jiān)控。如圖 9 所示。
圖 9 通信測(cè)試
1-5 地址對(duì)應(yīng)關(guān)系的說明
圖 10 地址對(duì)應(yīng)關(guān)系
從圖中可以看到,當(dāng) CP343-1 作為控制器時(shí),其傳送的地址需從0開始的。地址對(duì)應(yīng)排列關(guān)系以邏輯地址大小為序。地址如果出現(xiàn)間隔時(shí),如例子中,沒有組態(tài)的地址區(qū) IB0~2(QB0~1) 及其對(duì)應(yīng)的 MB100~101(MB200~201) 也將被傳送。
2. 第二種情況(不在同一項(xiàng)目中操作)
不在一個(gè)項(xiàng)目中的操作,即:CPU314C 作為 controller 使用 Step7 V5.5 編程;1217C 作為 IO device,使用 Step7 V13 編程,詳細(xì)步驟如下。
2-1 使用 Step7 V13 創(chuàng)建 S7-1200 站
使用 STEP7 V13 創(chuàng)建一個(gè)新項(xiàng)目,并通過“添加新設(shè)備”組態(tài) S7-1200 站 IO-device ,選擇 1217C;設(shè)置 IP 地址,并確認(rèn)設(shè)備名稱,本示例中設(shè)備名稱是io_device。如圖 11 所示。
圖 11 在新項(xiàng)目中插入 S7-1200 站
S7-1200 作為 IO 設(shè)備,需要將其操作模式設(shè)置為 IO 設(shè)備。如圖 12 所示。
圖 12 S7-1200 設(shè)置為 IO 設(shè)備,并創(chuàng)建 IO 通信區(qū)
接著,在“智能設(shè)備通信”的“傳輸區(qū)”創(chuàng)建 IO 通信區(qū),控制器將傳輸5個(gè)字節(jié)到 IO 設(shè)備的 IB2~6 ;IO 設(shè)備將 QB2~6 共計(jì)5個(gè)字節(jié)傳送給控制器。
2-2 導(dǎo)出 IO 設(shè)備的 GSD 文件
編譯該項(xiàng)目,在“智能設(shè)備通信”屬性的下方,找到并點(diǎn)擊“導(dǎo)出”按鈕,根據(jù)提示將 GSD 文件導(dǎo)出(注意不要修改設(shè)備名稱)。如圖 13 所示。
圖 13 導(dǎo)出 IO 設(shè)備的 GSD 文件
2-3 使用 Step7 V5.5 創(chuàng)建 S7-300 站
使用 STEP7 V5.5 創(chuàng)建一個(gè)新項(xiàng)目,并組態(tài) CPU 314C-2 ptp, 添加 CP343-1 ,設(shè)置 IP 地址,并確認(rèn)設(shè)備名稱,本示例中設(shè)備名稱是PN-IO。如圖 14 所示。
圖 14 在新項(xiàng)目中插入 S7-300 站
在 Step7 V5.5 的硬件組態(tài)界面,通過“選項(xiàng)”進(jìn)入“安裝 GSD 文件...”界面, 在源路徑選擇 IO-device 的 GSD 文件存放路徑。如圖 15 所示。
圖 15 Step7 V5.5 安裝 IO-device 的 GSD 文件
2-4 在 Step7 V5.5 中組態(tài) IO-device
首先,需要給 CP343-1 插入 Profinet IO 總線,在 CP343-1 的“PN-IO”上鼠標(biāo)右鍵,選擇“插入 Profinet IO 系統(tǒng)”。如圖 16 所示。
圖 16 插入 Profinet IO 系統(tǒng)
然后,從硬件目錄路徑:PROFINET IO --> Preconfigured Stations --> CPU 1217C DC/DC/DC --> IO-device 拖拽到 PN 總線上。如圖 17 所示。
圖 17 組態(tài) IO-device
2-5 硬件組態(tài)下載,檢查設(shè)備名稱和 IP 地址是否正確
分別將 S7-300 站和 S7-1200 站下載到各自的 PLC 中。
將 STEP7 V13 軟件切換到“網(wǎng)絡(luò)視圖”,找到 PN/IE 總線,查看設(shè)備名稱是否正確。如圖 18、19 所示。
圖 18 網(wǎng)絡(luò)視圖
圖 19 確認(rèn)設(shè)備名稱和 IP 地址
2-6 S7-300 編程
本例中,CP343-1 作為 IO 控制器,需要在 OB1 中編程調(diào)用 PNIO_SEND 和 PNIO_RECV 進(jìn)行數(shù)據(jù)讀寫。如圖 20 所示。
圖 20 CPU314C 中編程
CALL “PNIO_SEND”
|
|
|
CPLADDR
|
:=W#16#100
|
// CP 模板起始地址
|
MODE
|
:=B#16#0
|
// 工作模式:當(dāng)CP343-1僅作為IO控制器或IO設(shè)備時(shí),設(shè)為0;當(dāng)CP343-1同時(shí)作為IO控制器和IO設(shè)備時(shí),設(shè)為1
|
LEN
|
:=7
|
// 要發(fā)送的數(shù)據(jù)區(qū)長(zhǎng)度;該長(zhǎng)度始終是從數(shù)據(jù)區(qū)地址0開始計(jì)算
|
SEND
|
:=P#M100.0 BYTE 7
|
// 發(fā)送數(shù)據(jù)區(qū)
|
IOCS
|
:=P#M150.0 BYTE 10
|
// 每一用戶數(shù)據(jù)字節(jié)傳送一個(gè)狀態(tài)位。長(zhǎng)度信息取決于LEN參數(shù)中的長(zhǎng)度。
以程序段1為例,共發(fā)送7個(gè)字節(jié),每個(gè)字節(jié)需要1個(gè)比特位,所以共需要7位,即至少需要1字節(jié)。
|
DONE
|
:=%M0.0
|
// 為1時(shí),無錯(cuò)誤完成該作業(yè)
|
ERROR
|
:=%M0.1
|
// 為1時(shí),有故障發(fā)生
|
STATUS
|
:=%MW2
|
// 狀態(tài)代碼
|
CHECK_IOCS
|
:=%M0.3
|
// 0: 所有IOCS均設(shè)置為GOOD
// 1: 至少一個(gè)IOCS設(shè)置為BAD
|
CALL “PNIO_RECV”
|
|
|
CPLADDR
|
:=W#16#100
|
// CP 模板起始地址
|
MODE
|
:=B#16#0
|
// 工作模式:當(dāng)CP343-1僅作為IO控制器或IO設(shè)備時(shí),設(shè)為0;當(dāng)CP343-1同時(shí)作為IO控制器和IO設(shè)備時(shí),設(shè)為1
|
LEN
|
:=7
|
// 要接收的數(shù)據(jù)區(qū)長(zhǎng)度;該長(zhǎng)度始終是從數(shù)據(jù)區(qū)地址0開始計(jì)算
|
RECV
|
:=P#M200.0 BYTE 7
|
// 發(fā)送數(shù)據(jù)區(qū)
|
IOPS
|
:=P#M250.0 BYTE 10
|
// 每一用戶數(shù)據(jù)字節(jié)傳送一個(gè)狀態(tài)位。長(zhǎng)度信息取決于LEN參數(shù)中的長(zhǎng)度。
以程序段2為例,共接收7個(gè)字節(jié),每個(gè)字節(jié)需要1個(gè)比特位,所以共需要7位,即至少需要1字節(jié)。
|
NDR
|
:=%M1.0
|
// 為1時(shí),無錯(cuò)誤完成該作業(yè)
|
ERROR
|
:=%M1.1
|
// 為1時(shí),有故障發(fā)生
|
STATUS
|
:=%MW4
|
// 狀態(tài)代碼
|
CHECK_IOPS
|
:=%M1.2
|
// 0: 所有IOPS均設(shè)置為GOOD
// 1: 至少一個(gè)IOPS設(shè)置為BAD
|
ADD_INFO
|
:=%MW6
|
// 附加診斷信息;具體請(qǐng)查看指令幫助信息
|
2-7 通訊測(cè)試
檢查無錯(cuò)誤后,分別給兩個(gè)站點(diǎn)新建監(jiān)控表,添加通信數(shù)據(jù)區(qū),監(jiān)控。如圖 21 所示。
圖 21 通信測(cè)試
2-8 地址對(duì)應(yīng)關(guān)系的說明
圖 22 地址對(duì)應(yīng)關(guān)系
從圖中可以看到,當(dāng) CP343-1 作為控制器時(shí),其傳送的地址需從0開始的。地址對(duì)應(yīng)排列關(guān)系以邏輯地址大小為序。地址如果出現(xiàn)間隔時(shí),如例子中,沒有組態(tài)的地址區(qū) IB0~2(QB0~1) 及其對(duì)應(yīng)的 MB100~101(MB200
-1200作為智能IO設(shè)備和CP343-1的 Profinet 通信(S7-300做控制器)
S7-1200 V4.0 支持智能 IO 設(shè)備功能,故可使用 S7-1200 作為智能 IO 設(shè)備和 CP343-1 的 Profinet 通信。本例中將 S7-300 做為控制器,連接作為智能 IO 設(shè)備的S7-1200 CPU 實(shí)現(xiàn) Profinet 通信;下面詳細(xì)介紹使用方法。
硬件:
-
CPU 1217C DC/DC/DC,V4.0
-
CPU 314C-2ptp,V2.6 + CP343-1,V3.0
軟件:
-
Step7 V13
-
Step7 V5.5 SP3
CP343-1 的 PN 接口連接 S7-1200 的 PN 接口,這種方式可以分2種情況來操作,具體如下:
-
第一種情況:CPU 1217C 和 CPU 314C 使用 Step7 V13 編程,在一個(gè)項(xiàng)目中操作。
-
第二種情況:CPU 1217C 使用 Step7 V13,而 CPU 314C 使用 Step7 V5.5。
1. 第一種情況(同一項(xiàng)目中操作)
CPU 314C 作為 controller,1217C 作為 IO device,使用 Step7 V13 在一個(gè)項(xiàng)目中操作,詳細(xì)步驟如下。
1-1 使用 Step7 V13 創(chuàng)建 S7-300 站
使用 STEP7 V13 創(chuàng)建一個(gè)新項(xiàng)目,并通過“添加新設(shè)備”組態(tài) S7-300 站 PLC_1,選擇 CPU 314C-2 ptp, 添加 CP343-1 ,設(shè)置 IP 地址。如圖 1 所示。
圖 1 在新項(xiàng)目中插入 S7-300 站
在“操作模式”選項(xiàng)中確認(rèn) CP343-1 的操作模式。 如圖 2 所示。
圖 2 選擇 CP343-1 操作模式
1-2 使用 Step7 V13 創(chuàng)建 S7-1200 站
使用 STEP7 V13 創(chuàng)建一個(gè)新項(xiàng)目,并通過“添加新設(shè)備”組態(tài) S7-1200 站 PLC_2,選擇 CPU1217C DC/DC/DC V4.0;設(shè)置 IP 地址,并確認(rèn)設(shè)備名稱,本示例中設(shè)備名稱是plc_2。如圖 3 所示。
圖 3 在新項(xiàng)目中插入 S7-1200 站
S7-1200 作為 IO 設(shè)備,需要將其操作模式設(shè)置為 IO 設(shè)備,并將 IO 設(shè)備分配給控制器 PLC_1 。如圖 4 所示。
圖 4 S7-1200 設(shè)置為 IO 設(shè)備
接著,在“智能設(shè)備通信”的“傳輸區(qū)”創(chuàng)建 IO 通信區(qū),控制器的 QB2~6 共計(jì)5個(gè)字節(jié)傳送到 IO 設(shè)備的 IB2~6 ;控制器的 IB2~6 共計(jì)5個(gè)字節(jié)讀取來自 IO 設(shè)備的 QB2~6 。如圖 5 所示。
圖 5 創(chuàng)建 IO 通信區(qū)
1-2 硬件組態(tài)下載,檢查設(shè)備名稱和 IP 地址是否正確
分別將 PLC_1 站和 PLC_2 站下載到各自的 PLC 中。
將軟件切換到“網(wǎng)絡(luò)視圖”,找到 PN/IE 總線,查看設(shè)備名稱是否正確。如圖 6、7 所示。
圖 6 網(wǎng)絡(luò)視圖
圖 7 確認(rèn)設(shè)備名稱和 IP 地址
1-3 S7-300 編程
本例中,CP343-1 作為 IO 控制器,需要在 OB1 中編程調(diào)用 PNIO_SEND 和 PNIO_RECV 進(jìn)行數(shù)據(jù)讀寫。如圖 8 所示。
圖 8 CPU314C 中編程
CALL “PNIO_SEND”
|
|
|
CPLADDR
|
:=256
|
// CP 模板起始地址
|
MODE
|
:=0
|
// 工作模式:當(dāng)CP343-1僅作為IO控制器或IO設(shè)備時(shí),設(shè)為0;當(dāng)CP343-1同時(shí)作為IO控制器和IO設(shè)備時(shí),設(shè)為1
|
LEN
|
:=7
|
// 要發(fā)送的數(shù)據(jù)區(qū)長(zhǎng)度;該長(zhǎng)度始終是從數(shù)據(jù)區(qū)地址0開始計(jì)算
|
SEND
|
:=P#M100.0 BYTE 7
|
// 發(fā)送數(shù)據(jù)區(qū)
|
IOCS
|
:=P#M150.0 BYTE 10
|
// 每一用戶數(shù)據(jù)字節(jié)傳送一個(gè)狀態(tài)位。長(zhǎng)度信息取決于LEN參數(shù)中的長(zhǎng)度。
以程序段1為例,共發(fā)送7個(gè)字節(jié),每個(gè)字節(jié)需要1個(gè)比特位,所以共需要7位,即至少需要1字節(jié)。
|
DONE
|
:=%M0.0
|
// 為1時(shí),無錯(cuò)誤完成該作業(yè)
|
ERROR
|
:=%M0.1
|
// 為1時(shí),有故障發(fā)生
|
STATUS
|
:=%MW2
|
// 狀態(tài)代碼
|
CHECK_IOCS
|
:=%M0.3
|
// 0: 所有IOCS均設(shè)置為GOOD
// 1: 至少一個(gè)IOCS設(shè)置為BAD
|
CALL “PNIO_RECV”
|
|
|
CPLADDR
|
:=256
|
// CP 模板起始地址
|
MODE
|
:=0
|
// 工作模式:當(dāng)CP343-1僅作為IO控制器或IO設(shè)備時(shí),設(shè)為0;當(dāng)CP343-1同時(shí)作為IO控制器和IO設(shè)備時(shí),設(shè)為1
|
LEN
|
:=7
|
// 要接收的數(shù)據(jù)區(qū)長(zhǎng)度;該長(zhǎng)度始終是從數(shù)據(jù)區(qū)地址0開始計(jì)算
|
RECV
|
:=P#M200.0 BYTE 7
|
// 發(fā)送數(shù)據(jù)區(qū)
|
IOPS
|
:=P#M250.0 BYTE 10
|
// 每一用戶數(shù)據(jù)字節(jié)傳送一個(gè)狀態(tài)位。長(zhǎng)度信息取決于LEN參數(shù)中的長(zhǎng)度。
以程序段2為例,共接收7個(gè)字節(jié),每個(gè)字節(jié)需要1個(gè)比特位,所以共需要7位,即至少需要1字節(jié)。
|
NDR
|
:=%M1.0
|
// 為1時(shí),無錯(cuò)誤完成該作業(yè)
|
ERROR
|
:=%M1.1
|
// 為1時(shí),有故障發(fā)生
|
STATUS
|
:=%MW4
|
// 狀態(tài)代碼
|
CHECK_IOPS
|
:=%M1.2
|
// 0: 所有IOPS均設(shè)置為GOOD
// 1: 至少一個(gè)IOPS設(shè)置為BAD
|
ADD_INFO
|
:=%MW6
|
// 附加診斷信息;具體請(qǐng)查看指令幫助信息
|
1-4 通訊測(cè)試
檢查無錯(cuò)誤后,下載 S7-300 的程序,分別給兩個(gè)站點(diǎn)新建監(jiān)控表,添加通信數(shù)據(jù)區(qū),監(jiān)控。如圖 9 所示。
圖 9 通信測(cè)試
1-5 地址對(duì)應(yīng)關(guān)系的說明
圖 10 地址對(duì)應(yīng)關(guān)系
從圖中可以看到,當(dāng) CP343-1 作為控制器時(shí),其傳送的地址需從0開始的。地址對(duì)應(yīng)排列關(guān)系以邏輯地址大小為序。地址如果出現(xiàn)間隔時(shí),如例子中,沒有組態(tài)的地址區(qū) IB0~2(QB0~1) 及其對(duì)應(yīng)的 MB100~101(MB200~201) 也將被傳送。
2. 第二種情況(不在同一項(xiàng)目中操作)
不在一個(gè)項(xiàng)目中的操作,即:CPU314C 作為 controller 使用 Step7 V5.5 編程;1217C 作為 IO device,使用 Step7 V13 編程,詳細(xì)步驟如下。
2-1 使用 Step7 V13 創(chuàng)建 S7-1200 站
使用 STEP7 V13 創(chuàng)建一個(gè)新項(xiàng)目,并通過“添加新設(shè)備”組態(tài) S7-1200 站 IO-device ,選擇 1217C;設(shè)置 IP 地址,并確認(rèn)設(shè)備名稱,本示例中設(shè)備名稱是io_device。如圖 11 所示。
圖 11 在新項(xiàng)目中插入 S7-1200 站
S7-1200 作為 IO 設(shè)備,需要將其操作模式設(shè)置為 IO 設(shè)備。如圖 12 所示。
圖 12 S7-1200 設(shè)置為 IO 設(shè)備,并創(chuàng)建 IO 通信區(qū)
接著,在“智能設(shè)備通信”的“傳輸區(qū)”創(chuàng)建 IO 通信區(qū),控制器將傳輸5個(gè)字節(jié)到 IO 設(shè)備的 IB2~6 ;IO 設(shè)備將 QB2~6 共計(jì)5個(gè)字節(jié)傳送給控制器。
2-2 導(dǎo)出 IO 設(shè)備的 GSD 文件
編譯該項(xiàng)目,在“智能設(shè)備通信”屬性的下方,找到并點(diǎn)擊“導(dǎo)出”按鈕,根據(jù)提示將 GSD 文件導(dǎo)出(注意不要修改設(shè)備名稱)。如圖 13 所示。
圖 13 導(dǎo)出 IO 設(shè)備的 GSD 文件
2-3 使用 Step7 V5.5 創(chuàng)建 S7-300 站
使用 STEP7 V5.5 創(chuàng)建一個(gè)新項(xiàng)目,并組態(tài) CPU 314C-2 ptp, 添加 CP343-1 ,設(shè)置 IP 地址,并確認(rèn)設(shè)備名稱,本示例中設(shè)備名稱是PN-IO。如圖 14 所示。
圖 14 在新項(xiàng)目中插入 S7-300 站
在 Step7 V5.5 的硬件組態(tài)界面,通過“選項(xiàng)”進(jìn)入“安裝 GSD 文件...”界面, 在源路徑選擇 IO-device 的 GSD 文件存放路徑。如圖 15 所示。
圖 15 Step7 V5.5 安裝 IO-device 的 GSD 文件
2-4 在 Step7 V5.5 中組態(tài) IO-device
首先,需要給 CP343-1 插入 Profinet IO 總線,在 CP343-1 的“PN-IO”上鼠標(biāo)右鍵,選擇“插入 Profinet IO 系統(tǒng)”。如圖 16 所示。
圖 16 插入 Profinet IO 系統(tǒng)
然后,從硬件目錄路徑:PROFINET IO --> Preconfigured Stations --> CPU 1217C DC/DC/DC --> IO-device 拖拽到 PN 總線上。如圖 17 所示。
圖 17 組態(tài) IO-device
2-5 硬件組態(tài)下載,檢查設(shè)備名稱和 IP 地址是否正確
分別將 S7-300 站和 S7-1200 站下載到各自的 PLC 中。
將 STEP7 V13 軟件切換到“網(wǎng)絡(luò)視圖”,找到 PN/IE 總線,查看設(shè)備名稱是否正確。如圖 18、19 所示。
圖 18 網(wǎng)絡(luò)視圖
圖 19 確認(rèn)設(shè)備名稱和 IP 地址
2-6 S7-300 編程
本例中,CP343-1 作為 IO 控制器,需要在 OB1 中編程調(diào)用 PNIO_SEND 和 PNIO_RECV 進(jìn)行數(shù)據(jù)讀寫。如圖 20 所示。
圖 20 CPU314C 中編程
CALL “PNIO_SEND”
|
|
|
CPLADDR
|
:=W#16#100
|
// CP 模板起始地址
|
MODE
|
:=B#16#0
|
// 工作模式:當(dāng)CP343-1僅作為IO控制器或IO設(shè)備時(shí),設(shè)為0;當(dāng)CP343-1同時(shí)作為IO控制器和IO設(shè)備時(shí),設(shè)為1
|
LEN
|
:=7
|
// 要發(fā)送的數(shù)據(jù)區(qū)長(zhǎng)度;該長(zhǎng)度始終是從數(shù)據(jù)區(qū)地址0開始計(jì)算
|
SEND
|
:=P#M100.0 BYTE 7
|
// 發(fā)送數(shù)據(jù)區(qū)
|
IOCS
|
:=P#M150.0 BYTE 10
|
// 每一用戶數(shù)據(jù)字節(jié)傳送一個(gè)狀態(tài)位。長(zhǎng)度信息取決于LEN參數(shù)中的長(zhǎng)度。
以程序段1為例,共發(fā)送7個(gè)字節(jié),每個(gè)字節(jié)需要1個(gè)比特位,所以共需要7位,即至少需要1字節(jié)。
|
DONE
|
:=%M0.0
|
// 為1時(shí),無錯(cuò)誤完成該作業(yè)
|
ERROR
|
:=%M0.1
|
// 為1時(shí),有故障發(fā)生
|
STATUS
|
:=%MW2
|
// 狀態(tài)代碼
|
CHECK_IOCS
|
:=%M0.3
|
// 0: 所有IOCS均設(shè)置為GOOD
// 1: 至少一個(gè)IOCS設(shè)置為BAD
|
CALL “PNIO_RECV”
|
|
|
CPLADDR
|
:=W#16#100
|
// CP 模板起始地址
|
MODE
|
:=B#16#0
|
// 工作模式:當(dāng)CP343-1僅作為IO控制器或IO設(shè)備時(shí),設(shè)為0;當(dāng)CP343-1同時(shí)作為IO控制器和IO設(shè)備時(shí),設(shè)為1
|
LEN
|
:=7
|
// 要接收的數(shù)據(jù)區(qū)長(zhǎng)度;該長(zhǎng)度始終是從數(shù)據(jù)區(qū)地址0開始計(jì)算
|
RECV
|
:=P#M200.0 BYTE 7
|
// 發(fā)送數(shù)據(jù)區(qū)
|
IOPS
|
:=P#M250.0 BYTE 10
|
// 每一用戶數(shù)據(jù)字節(jié)傳送一個(gè)狀態(tài)位。長(zhǎng)度信息取決于LEN參數(shù)中的長(zhǎng)度。
以程序段2為例,共接收7個(gè)字節(jié),每個(gè)字節(jié)需要1個(gè)比特位,所以共需要7位,即至少需要1字節(jié)。
|
NDR
|
:=%M1.0
|
// 為1時(shí),無錯(cuò)誤完成該作業(yè)
|
ERROR
|
:=%M1.1
|
// 為1時(shí),有故障發(fā)生
|
STATUS
|
:=%MW4
|
// 狀態(tài)代碼
|
CHECK_IOPS
|
:=%M1.2
|
// 0: 所有IOPS均設(shè)置為GOOD
// 1: 至少一個(gè)IOPS設(shè)置為BAD
|
ADD_INFO
|
:=%MW6
|
// 附加診斷信息;具體請(qǐng)查看指令幫助信息
|
2-7 通訊測(cè)試
檢查無錯(cuò)誤后,分別給兩個(gè)站點(diǎn)新建監(jiān)控表,添加通信數(shù)據(jù)區(qū),監(jiān)控。如圖 21 所示。
圖 21 通信測(cè)試
2-8 地址對(duì)應(yīng)關(guān)系的說明
圖 22 地址對(duì)應(yīng)關(guān)系
從圖中可以看到,當(dāng) CP343-1 作為控制器時(shí),其傳送的地址需從0開始的。地址對(duì)應(yīng)排列關(guān)系以邏輯地址大小
0 CPU V2.1 開始支持分布式 IO 設(shè)備的診斷功能,可使用 DeviceStates 和 ModuleStates 指令對(duì)分布式 IO 設(shè)備的站狀態(tài)和子模塊進(jìn)行診斷。本文使用 1214C V4.0 CPU 和 ET200SP 的 PN 通信為例進(jìn)行說明(DP通信同樣適用)。
硬件:
-
CPU 1214C DC/DC/DC,V4.0,一臺(tái)
-
ET200SP 分布式 IO 站,PN 接口,兩套
軟件:
-
TIA Portal V13 SP1 UPD2
使用 TIA Portal 創(chuàng)建項(xiàng)目
使用 TIA Portal 創(chuàng)建一個(gè)新項(xiàng)目,正確配置,下載后,進(jìn)入網(wǎng)絡(luò)視圖,所有站點(diǎn)狀態(tài)正常。如圖 1 所示。
圖 1 網(wǎng)絡(luò)視圖
注意:分布式 IO 為 PN 子站時(shí),可在“網(wǎng)絡(luò)概覽”中可以查看分布式 IO 的設(shè)備編號(hào)。
1 使用 DeviceStates 指令對(duì)分布式 IO 子站進(jìn)行診斷
1-1 創(chuàng)建全局?jǐn)?shù)據(jù)塊,用于存儲(chǔ)狀態(tài)數(shù)據(jù)
在全局?jǐn)?shù)據(jù)塊中創(chuàng)建數(shù)據(jù)類型為 Array of BOOL 數(shù)組,共計(jì)1024個(gè)元素。 如圖 2 所示。
圖 2 創(chuàng)建全局?jǐn)?shù)據(jù)塊
1-2 編程
在 OB1 中調(diào)用 DeviceStates 指令,雙擊 LADDR 引腳,選擇需要診斷的 IO 系統(tǒng)。如圖 3 所示。
圖 3 調(diào)用 DeviceStates 指令
本例中將 MODE 設(shè)置為2,STATE 填寫上述定義的全局?jǐn)?shù)據(jù)塊數(shù)組。如圖 4 所示。
圖 4 填寫相應(yīng)的引腳
指令引腳說明:
參數(shù) LADDR
|
使用 LADDR 參數(shù)通過硬件標(biāo)識(shí)符選擇 PROFINET IO 或 DP 主站系統(tǒng)。
硬件標(biāo)識(shí)符位于:
-
PROFINET IO 或 DP 主站系統(tǒng)屬性的網(wǎng)絡(luò)視圖中。
-
或數(shù)據(jù)類型為 HW_IOSYSTEM 的所列系統(tǒng)常量的 PLC 變量表中。
|
參數(shù) MODE
|
使用 MODE 參數(shù)可讀取狀態(tài)信息。 可讀取整個(gè) PROFINET IO 或 DP 主站系統(tǒng)的下列一條狀態(tài)信息:
-
1: IO 設(shè)備/DP 從站已組態(tài)
-
2: IO 設(shè)備/DP 從站故障
-
3: IO 設(shè)備/DP 從站已禁用
-
4: IO 設(shè)備/DP 從站存在
-
5: 出現(xiàn)問題的 IO 設(shè)備/DP 從站。
|
參數(shù) STATE
|
通過 STATE 參數(shù),輸出由 MODE 參數(shù)選擇的 IO 設(shè)備/DP 從站的狀態(tài)。
如果使用 MODE 選擇的狀態(tài)適用于 IO 設(shè)備/DP 從站,則在 STATE 參數(shù)中將下列位設(shè)置為“1”:
|
1-3 測(cè)試
將程序下載到 PLC 中。
監(jiān)控全局?jǐn)?shù)據(jù)塊 devicestate。如圖 5 所示。
圖 5 IO 系統(tǒng)正常
當(dāng) IO device_2 故障時(shí)(掉電或網(wǎng)線拔除導(dǎo)致丟站),state[2]=1。如圖 6 所示。
圖 6 IO device_2 故障
當(dāng) IO device_1 和 IO device_2 故障時(shí)(掉電或網(wǎng)線拔除導(dǎo)致丟站),state[1]=1 和 state[2]=1。如圖 7 所示。
圖 7 IO device_1 和 IO device_2 故障
2 使用 ModuleStates 指令對(duì)分布式 IO 子模塊進(jìn)行診斷
2-1 創(chuàng)建全局?jǐn)?shù)據(jù)塊,用于存儲(chǔ)狀態(tài)數(shù)據(jù)
在全局?jǐn)?shù)據(jù)塊中創(chuàng)建數(shù)據(jù)類型為 Array of BOOL 數(shù)組,共計(jì)128個(gè)元素。 如圖 8 所示。
圖 8 創(chuàng)建全局?jǐn)?shù)據(jù)塊
2-2 編程
在 OB1 中調(diào)用 ModuleStates 指令,雙擊 LADDR 引腳,選擇需要診斷的分布式 IO 站。如圖 9 所示。
圖 9 調(diào)用 ModuleStates 指令
本例中將 MODE 設(shè)置為2,STATE 填寫上述定義的全局?jǐn)?shù)據(jù)塊數(shù)組。如圖 10 所示。
圖 10 填寫相應(yīng)的引腳
指令引腳說明:
參數(shù) LADDR
|
使用 LADDR 參數(shù)通過站硬件標(biāo)識(shí)符選擇 IO 設(shè)備或 DP 從站。
硬件標(biāo)識(shí)符位于:
-
IO 設(shè)備站或 DP 從站屬性的網(wǎng)絡(luò)視圖中。
-
或數(shù)據(jù)類型為 HW_DEVICE(對(duì)于 IO 設(shè)備)或 HW_DPSLAVE(對(duì)于 DP 從站)的所列系統(tǒng)常量的 PLC 變量表中。
|
參數(shù) MODE
|
使用 MODE 參數(shù)可讀取狀態(tài)信息。 可讀取模塊的下列一條狀態(tài)信息:
-
1: 模塊已組態(tài)
-
2: 模塊故障
-
3: 模塊禁用
-
4: 模塊存在
-
5: 模塊中存在故障。
|
參數(shù) STATE
|
STATE 參數(shù)輸出使用 MODE 參數(shù)選擇的模塊狀態(tài)。
如果使用 MODE 選擇的狀態(tài)適用于某個(gè)模塊,那么下列位將設(shè)置為“1”:
-
位 0 = 1: 組顯示。 至少一個(gè)模塊的第 n 位設(shè)置為“1”。
-
位 n = 1:使用 MODE 選擇的狀態(tài)將應(yīng)用到插槽 n-1(例如:位 3 對(duì)應(yīng)插槽 2)中的模塊。
使用“BOOL”或“Array of BOOL”作為數(shù)據(jù)類型:
-
要僅輸出狀態(tài)信息的組顯示位,可在 STATE 參數(shù)中使用 BOOL 數(shù)據(jù)類型。
-
要輸出所有模塊的狀態(tài)信息,請(qǐng)使用長(zhǎng)度為 128 位的 Array of BOOL。
|
1-3 測(cè)試
將程序下載到 PLC 中。
監(jiān)控全局?jǐn)?shù)據(jù)塊 modulestate。如圖 11 所示。
圖 11 分布式 IO 站所有子模塊正常
當(dāng) IO device_1 站插槽編號(hào)1的子模塊故障時(shí)(損壞或被拔除),state[2]=1。如圖 12 所示。
圖 12 插槽編號(hào)1子模塊故障