電動機功率 | 3kW | 外形尺寸 | 4mm |
---|---|---|---|
應用領域 | 環(huán)保,食品,地礦,印刷包裝,紡織皮革 | 重量 | 3kg |
西門子S7-1500PLC 控制器產品系列中具有較大容量程序及數(shù)據存儲器的 CPU,適用于具有較高程序范圍和聯(lián)網要求的苛刻應用。具有*處理速度,適用于二進制和浮點運算。用于系列機器、機器以及工廠中的跨領域自動化任務,在具有集中式和分布式 I/O 的生產線上作為集中式控制器使用。
![]() |
參考價 | ¥622 |
訂貨量 | 1 |
更新時間:2019-06-11 12:23:26瀏覽次數(shù):251
聯(lián)系我們時請說明是化工儀器網上看到的信息,謝謝!
江西西門子S7-1500PLC模塊代理(歡迎您)
只需一個站編程的S7基本通信
除了上述使用SFC 65“X_SEND”和SFC 66“X_RCV”的雙向通信之外,還可以實現(xiàn)單向通信。編寫程序的一方的CPU作客戶機,另一方作服務器,后者不需要編寫程序??蛻魴C是通信的主動方,服務器是被動方。
在S7基本通信中,S7 - 300或S7 - 400都可以作客戶機或服務器,S7 - 200只能作服務器。
在STEP 7中創(chuàng)建一個項目(見隨書光盤中的例程MPI_UC_2),生成兩個站,CPU 413-2DP作客戶機,CPU 315 - 2DP作服務器。將它們連接到MPI網絡上,它們的MPI站地址分別為2和3。在單向通信中,客戶機調用SFC 68“X_PUT”來寫服務器中的系統(tǒng)地址區(qū),調用SFC 67“X_GET”來讀取服務器中的數(shù)據。在讀取服務器數(shù)據時,客戶機首先要發(fā)送讀取命令給客戶機。為了保證發(fā)送讀、寫命令的時間間隔,在循環(huán)中斷組織塊OB35中調用SFC 68“X_PUT”和SFC 67“X_GET”。下面是客戶機的OB35中的程序:
程序段1:準備要發(fā)送的數(shù)據
L DB1.DBW 0
+ 1
T DB1.DBW 0 //每100 ms將DB1.DBW加1
L ID 0
T DB1.DBD 2 //用本站的ID0控制對方的QD4
程序段2:用SFC 68寫對方的數(shù)據區(qū)
CALL “X_PUT” //調用SFC 68
REQ := M0.0 //寫數(shù)據使能信號
CONT := TRUE //發(fā)送完成后保持連接
DEST_ID :=W#16#3 //對方的MPI地址
VAR_ADDR:=P#DB2.DBX0.0 BYTE 76 //通信伙伴要寫入數(shù)據的地址區(qū)
SD := P#DB1.DBX0.0 BYTE 76 //存放本站要發(fā)送的數(shù)據的地址區(qū)
RET_VAL := MW2 //狀態(tài)字,返回的錯誤信息
BUSY :=M0.1 //為1時寫數(shù)據未完成
程序段3:用SFC 67讀對方的數(shù)據區(qū)
CALL“X_GET” //調用SFC 67
REQ :=M0.2 //讀數(shù)據使能信號
CONT := TRUE //讀數(shù)據完成后保持連接
DEST_ID :=W#16#3 //對方的MPI站地址
VARADDR:=P#DB1.DBX0.0 BYTE 76 //要讀取的通信伙伴的地址區(qū)
RET_VAL := MW4 //通信狀態(tài)字,返回的錯誤信息
BUSY :=M0.3 //為l時讀數(shù)據未完成
RD := P#DB2.DBX0.0 BYTE 76 //本站存放讀取的數(shù)據的地址區(qū)
L DB2.DBD 2
T QD 0 //用對方的ID0控制本站的QD0
程序段4:斷開連接
CALL “X_ABORT” //調用SFC 69
REQ := M0.4 //使能信號
DEST_ID :=W#16#3 //對方的MPI地址
RET_VAL :=MW6 //返回的錯誤信息
BUSY :=M0.5 //為1表示操作未完成
如果在3號站用SFC 67“X_GET”和SFC 68“X_PUT”讀寫2號站的系統(tǒng)數(shù)據區(qū),可以使用與上面基本上相同的程序,只是需要將SFC中的DEST_ID(對方的MPI地址)改為W#16#2。
SFC 69“X_ABORT”的參數(shù)REQ為1時,將會中斷一個由SFC“X_SEND”、“X_GET”或“X_PUT”建立的連接。如果上述SFC的工作已經完成(BUSY為0),調用SFC 69“X_ABORT”后,通信雙方的連接資源被釋放。
下面是服務器( CPU 315 -2DP)的OB1中的程序:
L ID 0
T DB1.DBD 2 //用本站的ID0控制對方的QD0
L DB2.DBD 2
T QD 4 //用通信伙伴的ID0控制本站的QD4
OB100中的程序與項目MPI_UC_1的相同,調試程序的方法也與該項目基本上相同。
S7基本通信不用組態(tài)靜態(tài)連接,也不用在全局數(shù)據表中組態(tài)。
例程“MPI_UC_1”用S7基本通信在兩臺CPU 315 -2DP之間交換數(shù)據。要求將它們的DB 1中76B的數(shù)據發(fā)送到對方的DB 2中。在STEP 7中創(chuàng)建一個項目,生成兩個站,CPU均為CPU 315 -2 DP(見圖9-12),將它們連接到MPI網絡上,它們的MPI站地址分別為2和3。通信的雙方都需要調用通信塊,一方調用X_SEND來發(fā)送數(shù)據,另一方調用X_RCV來接收數(shù)據二這種通信方式適用于S7 - 300/400之間的通信。
如果在OB1中調用SFC 65“X_SEND”,發(fā)送的頻率太快,將加重CPU的負荷,因此在循環(huán)中斷組織塊OB35中調用SFC 65,每隔一定的時間間隔(默認值為100 ms)調用一次SFC 65。下面是2號站的OB35中的程序:
圖9-12 SIMATIC管理器
程序段1:準備要發(fā)送的數(shù)據
L DB1.DBW 0
+ 1
T DB1.DBW 0 //每100 ms將DB1.DBW加1
L IW 0
T DB1.DBW 2 //用本站的IW0控制對方的QW4
程序段2:通過MPI發(fā)送數(shù)據
CALL“X_SEND” //SFC 65
REQ :=M1.0 //發(fā)送請求,該參數(shù)為1時發(fā)送
CONT :=TRUE //發(fā)送完成后保持連接
DEST_ID:=W#16#3 //接收方的MPI地址
REQ_ID :=DW#16#1 //數(shù)據包標識符
SD :=P#DB1.DBX0.0 BYTE 76 //存放要發(fā)送的數(shù)據的地址區(qū),每次發(fā)送76B
RET_VAL:=MW10 //狀態(tài)字,返回的故障信息
BUSY :=M1.1 //為1時正在發(fā)送,為0時發(fā)送完成
下面是2號站的OB1中接收數(shù)據的程序:
程序段1:從MPI接收數(shù)據
CALL “X_RCV” //SFC 66
EN_DT :=M0.0 //接收使能位
RET_VAL:=MW2 //狀態(tài)字,返回的錯誤代碼
REQ_ID :=MD4 //接收到的數(shù)據包的標識符
NDA :=M0.1 //為1時表示有新的數(shù)據包
RD :=P#DB2.DBX0.0 BYTE 76 //存放接收數(shù)據的地址區(qū)
L DB2.DBW 2
T QW 4 //用對方的IWO控制本站的QW4
程序段2:斷開連接
CALL “X_ABORT” //SFC 69
REQ :=M0.2 //使能信號
DEST_ID : = W#16#3 //對方的MPI地址
RET_VAL:=MW8 //返回的錯誤信息
BUSY :=M0.3 //為1表示操作未完成
3號站的程序與2號站的相同,只是將SFC中的DEST_ID由W#16#3改為W#16#2。
在2號站的初始化程序OB100中,調用SFC 21,將存放發(fā)送數(shù)據的DB 1的各個字預置為16#2222,將接收數(shù)據的DB 2的各個字清零。3號站的OB100基本上相同,區(qū)別在于將DB 1的各個字預置為16#3333。
在運行時,用變量表監(jiān)視通信雙方接收的DB 1的第1個字DBW0和后一個字DBW74(見圖9-13)。為了觀察數(shù)據傳輸?shù)膭討B(tài)效果,將發(fā)送站的JW0送到DB1. DBW2,對方將接收到的對應的DB2.DBW2傳送到QW4,相當于用發(fā)送站的IW0控制對方的QW4。在運行時改變IW0的狀態(tài),觀察對方的QW4是否隨之而變。
圖9-13 3號站的變量表
在變量表中,通過修改M1.0、M0.0和M0.2的值,來控制數(shù)據的發(fā)送、接收和斷開連接。發(fā)送使能位M1.0和對方的接收使能位M0.0必須同時為1狀態(tài),才能傳送數(shù)據。
在每100 ms執(zhí)行一次的OB35中,將發(fā)送的第1個字DB1.DBW0加1。在運行時同時打開兩個站的變量表,觀察接收到的DB2. DBW0的值是否不斷增大。
因為SFC 65的參數(shù)CONT為1(TRUE),即使發(fā)送請求位M1.0變?yōu)?/span>0狀態(tài),連接仍然保持。可以通過置位M0.2來使能SFC 69,斷開已建立的連接。斷開連接后,可以看到接收到的DB2. DBW0停止變化。
本例因為每個站既要發(fā)送,也要接收,一共占用了兩個連接。進入在線模式后,可以在CPU的模塊信息對話框的“通訊”選項卡中,查看“其他通訊”(S7基本通信)的連接個數(shù)。
如果需要發(fā)送的數(shù)據超過76B,可以將數(shù)據分為若干個數(shù)據包來發(fā)送,即多次調用SFC65“X_SEND”。每次調用的接收方的MPI地址DEST_ID相同,但是數(shù)據包標識符REQ_ID不同。接收方調用SFC 66“X_RCV”,根據接收到的數(shù)據包的標識符REQ_ID判別收到的是哪一包數(shù)據,并分別存放到不同的地址區(qū)。
江西西門子S7-1500PLC模塊代理(歡迎您)