西門子模塊6GK7343-1GX31-0XE0
西門子PLC除基本邏輯運算指令、定時、計數(shù)等常用的開關(guān)量控制指令外,還包括大量的用于字節(jié)、字、雙字邏輯處理,數(shù)學(xué)運算,程序控制,通信等指令。這些指令可以為用戶的PLC功能開發(fā)、編程、使用提供方便,因此,習(xí)慣上將其稱為功能指令。
一個PLC可以使用的功能指令數(shù)量有所不同,從某種程度上說,功能指令反映了CPU功能的強弱。為了分別說明,本書對S7系列PLC的功能指令作了如下分類與定義:
(1)字節(jié)、字、雙字邏輯處理指令
字節(jié)、字、雙字邏輯處理指令是指以字節(jié)、字或雙字的形式進行的邏輯運算與處理,包括字節(jié)、字或雙字的“與”、“或”、“異或”、“取反”運算等。
(2)比較指令
比較指令是對兩個存儲器內(nèi)容或數(shù)據(jù)的比較,通常以字節(jié)、字或雙字的形式進行。比較方式可以是“大于”、“小于”、“等于”、“大于等于”、“小于等于”、“不等于”等,比較結(jié)果將以二進制位的形式輸出。
(3)裝載、傳送與移動指令
裝載、傳送與移動指令用于存儲器間的內(nèi)容交換,通常以字節(jié)、字或雙字的形式進行。在本書中,對裝載、傳送與移動的定義如下:
裝載:是指將存儲器的內(nèi)容或者特定的數(shù)據(jù)讀入到累加器或地址寄存器中;
傳送:是指將累加器或地址寄存器的內(nèi)容移動到的存儲器中;
移動:是指將某一存儲器的內(nèi)容或特定的數(shù)據(jù)移動到另一存儲器中。
(4)移位指令
移位指令是對存儲器本身內(nèi)容所進行的調(diào)整,通常以字節(jié)、字或雙字的形式進行。移位指令有左移、右移、循環(huán)移動等形式。
(5)代碼轉(zhuǎn)換指令
代碼轉(zhuǎn)換指令是指將一個存儲器的存儲內(nèi)容以其他代碼的形式存儲到儲器中的操作,通常以字節(jié)、字或雙字的形式進行。常見的代碼轉(zhuǎn)換有二進制與BCD碼間的轉(zhuǎn)換、ASCII碼與二進制數(shù)間的轉(zhuǎn)換等。
(6)數(shù)學(xué)運算指令
代碼轉(zhuǎn)換指令是指將兩個存儲器間的內(nèi)容進行四則運算、函數(shù)運算、增減“l”等處理后,移動到存儲器中的操作,通常以字節(jié)、字或雙字的形式進行。常見的代碼轉(zhuǎn)換有二進制與BCD碼間的轉(zhuǎn)換、ASCII碼與二進制數(shù)間的轉(zhuǎn)換等。
(7)程序控制指令
程序控制指令是指改變PLC內(nèi)部指令的執(zhí)行過程或PLC運行狀態(tài)的操作。常見的有程序結(jié)束、程序跳轉(zhuǎn)、程序中斷、程序停止等。
(8)通信指令
程序控制指令是指用于控制PLC與外部設(shè)備間數(shù)據(jù)交換(通信)的指令。常見的有數(shù)據(jù)發(fā)送、數(shù)據(jù)接收等。
以上指令在PLC中的具體數(shù)量、用法等可能有所區(qū)別,應(yīng)注意實際使用的PLC型號。此外,對于具體某一型號的PLC,還可能有其他特殊的功能指令。你可以查看我們的其他文章或通過站內(nèi)搜索得到。
傳輸速率 | |
傳輸率 | |
| 10 ... 1 000 Mbit/s |
| 10 ... 100 Mbit/s |
接口 | |
接口數(shù)量 符合工業(yè)以太網(wǎng) | 3 |
電氣連接數(shù)量 | |
| 1 |
| 2 |
| 1 |
電氣連接規(guī)格 | |
| RJ45 端口 |
| RJ45 端口 |
| 2 針可插接端子排 |
移動存儲介質(zhì)規(guī)格 C-PLUG | 是的 |
電源電壓、電流消耗、功率損耗 | |
電壓類型 電源電壓 | DC |
供電電壓 1 來自背板總線 | 5 V |
供電電壓 外部 | 24 V |
供電電壓 外部 DC 時 額定值 | 24 V |
相對正公差 DC 時 24 V 時 | 20 % |
相對負公差 DC 時 24 V 時 | 15 % |
消耗電流 | |
| 0.14 A |
| 0.48 A |
| 0.62 A |
損耗功率 [W] | 14.7 W |
許可的環(huán)境條件 | |
環(huán)境溫度 | |
| 0 ... 40 °C |
| 0 ... 60 °C |
| -40 ... +70 °C |
| -40 ... +70 °C |
相對空氣濕度 25 °C 時 無冷凝 運行期間 最大值 | 95 % |
防護等級 IP | IP20 |
結(jié)構(gòu)、尺寸和重量 | |
模塊格式 | 緊湊型模塊 |
寬度 | 80 mm |
高度 | 125 mm |
深度 | 120 mm |
凈重 | 0.8 kg |
緊固類型 | |
| 是的 |
性能數(shù)據(jù) 開放式通訊 | |
可能的連接數(shù) 適用于開放式通信 通過發(fā)送/接收模塊 最大值 | 16 |
數(shù)據(jù)量 | |
| 8 Kibyte |
| 8 Kibyte |
| 8 Kibyte |
| 2 Kibyte |
Multicast 設(shè)備數(shù)量 | 16 |
性能數(shù)據(jù) S7 通訊 | |
可能的連接數(shù) 用于 S7 通信 | |
| 16 |
性能數(shù)據(jù) 多協(xié)議運行 | |
有效連接數(shù)量 多協(xié)議運行時 | 48 |
性能數(shù)據(jù) IT 功能 | |
可能的連接數(shù) | |
| 10 |
| 2 |
可能的連接數(shù) | |
| 4 |
| 1 |
數(shù)據(jù)量 用作電子郵件的有效數(shù)據(jù) 最大值 | 8 Kibyte |
存儲空間 用戶存儲器的 | |
| 28 Mibyte |
| 30 Mibyte |
可能的寫循環(huán)次數(shù) 閃存單元 | 100 000 |
性能數(shù)據(jù) PROFINET 通訊 用作 PN IO 控制器 | |
產(chǎn)品功能 PROFINET I/O 控制器 | 是的 |
PN IO 設(shè)備數(shù)量 連接 PROFINET IO 控制器 可運行 總計 | 128 |
PN IO IRT 設(shè)備數(shù)量 連接 PROFINET IO 控制器 可運行 | 128 |
外部 PN IO 支路數(shù)量 PROFINET 中 各個組件載體 | 1 |
數(shù)據(jù)量 | |
| 4 Kibyte |
| 4 Kibyte |
| 1 433 byte |
| 1 433 byte |
| 240 byte |
| 240 byte |
性能數(shù)據(jù) PROFINET 通訊 用作 PN IO 設(shè)備 | |
產(chǎn)品功能 PROFINET IO 設(shè)備 | 是的 |
數(shù)據(jù)量 | |
| 1 024 byte |
| 1 024 byte |
| 240 byte |
| 240 byte |
| 240 byte |
子模塊數(shù)量 各個 PROFINET IO 設(shè)備 | 32 |
性能數(shù)據(jù) PROFINET CBA | |
遠程互連組的數(shù)量 PROFINET CBA 時 | 64 |
互連數(shù)量 PROFINET CBA 時 總計 | 1 000 |
數(shù)據(jù)量 | |
| 8 Kibyte |
| 8 Kibyte |
| 8 Kibyte |
| 250 byte |
| 2 400 byte |
性能數(shù)據(jù) PROFINET CBA 遠程互連 利用非循環(huán)傳輸 | |
更新時間 遠程互連 非循環(huán)傳輸時 PROFINET CBA 時 | 100 ms |
帶有輸入變量的遠程互連數(shù)量 非循環(huán)傳輸時 PROFINET CBA 時 最大值 | 128 |
帶有輸出變量的遠程互連數(shù)量 非循環(huán)傳輸時 PROFINET CBA 時 最大值 | 128 |
數(shù)據(jù)量 | |
| 8 Kibyte |
| 8 Kibyte |
性能數(shù)據(jù) PROFINET CBA 遠程互連 利用循環(huán)傳輸 | |
更新時間 遠程互連 PROFINET CBA 時 循環(huán)傳輸時 | 8 ms |
帶有輸入變量的遠程互連數(shù)量 PROFINET CBA 時 循環(huán)傳輸時 最大值 | 200 |
帶有輸出變量的遠程互連數(shù)量 PROFINET CBA 時 循環(huán)傳輸時 最大值 | 200 |
數(shù)據(jù)量 | |
| 2 000 byte |
| 2 000 byte |
性能數(shù)據(jù) PROFINET CBA 通過 PROFINET 的 HMI 變量 非循環(huán) | |
可注冊 HMI 站點數(shù)量 適用于 HMI 變量 非循環(huán)傳輸時 PROFINET CBA 時 | 3 |
更新時間 HMI 變量 非循環(huán)傳輸時 PROFINET CBA 時 | 500 ms |
HMI 變量數(shù)量 非循環(huán)傳輸時 PROFINET CBA 時 最大值 | 200 |
數(shù)據(jù)量 作為 HMI 變量的有效數(shù)據(jù) 非循環(huán)傳輸時 PROFINET CBA 時 最大值 | 8 Kibyte |
性能數(shù)據(jù) PROFINET CBA 設(shè)備內(nèi)部互連 | |
內(nèi)部互連數(shù)量 PROFINET CBA 時 最大值 | 256 |
數(shù)據(jù)量 內(nèi)部互連 PROFINET CBA 時 最大值 | 2 400 byte |
性能數(shù)據(jù) PROFINET CBA 帶有常數(shù)的互連 | |
帶有常數(shù)的互連數(shù)量 PROFINET CBA 時 最大值 | 200 |
數(shù)據(jù)量 用作帶有常數(shù)的互連有效數(shù)據(jù) PROFINET CBA 時 最大值 | 4 096 byte |
性能數(shù)據(jù) PROFINET CBA PROFIBUS Proxy 功能 | |
產(chǎn)品功能 PROFINET CBA 時 nicht übersetzt | 不 |
性能數(shù)據(jù) 遠程控制系統(tǒng) |
西門子模塊6GK7343-1GX31-0XE0
S7-200 SMART CPU之間的以太網(wǎng)通信
S7-200 SMART CPU 固件版本 V2.0 及以上版本的 CPU 可實現(xiàn)CPU、編程設(shè)備和HMI(觸摸屏)之間的多種通信:
— CPU與編程設(shè)備之間的數(shù)據(jù)交換。
— CPU與HMI之間的數(shù)據(jù)交換。
— CPU與其他S7-200 SMART CPU之間的PUT/GET通信。
S7-200 SMART CPU 以太網(wǎng)連接資源如下:
— 1個連接用于與STEP7 Micro/Win SMART軟件的通信。
— 8個連接用于CPU與HMI之間的通信。
— 8個連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET主動連接
— 8個連接用于CPU與其他S7-200 SMART CPU之間的PUT/GET被動連接
PUT/GET 指令格式
S7-200 SMART CPU提供了PUT/GET 指令,用于S7-200 SMART CPU之間的以太網(wǎng)通信(PUT/GET 指令格式見 表 1)。PUT/GET 指令只需要在主動建立連接的 CPU 中調(diào)用執(zhí)行,被動建立連接的 CPU不需要進行通信編程。PUT/GET 指令中TABLE 參數(shù)用于定義遠程CPU的 IP地址、本地CPU和遠程 CPU的數(shù)據(jù)區(qū)域以及通信長度(TABLE 參數(shù)定義見 表 2)。
表 1 PUT和GET 指令:
LAD/FBD | STL | 描述 |
| PUT TABLE | PUT 指令啟動以太網(wǎng)端口上的通信操作,將數(shù)據(jù)寫入遠程設(shè)備。PUT 指令可向遠程設(shè)備寫入zui多 212 個字節(jié)的數(shù)據(jù)。 |
| GET TABLE | GET 指令啟動以太網(wǎng)端口上的通信操作,從遠程設(shè)備獲取數(shù)據(jù)。GET 指令可從遠程設(shè)備讀取zui多 222 個字節(jié)的數(shù)據(jù)。 |
表 2 PUT和GET 指令的TABLE參數(shù)定義:
字節(jié)偏移量 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
0 | D1 | A2 | E3 | 0 | 錯誤代碼4 |
1 | 遠程 CPU的 IP地址 |
2 |
3 |
4 |
5 | 預(yù)留(必須設(shè)置為0) |
6 | 預(yù)留(必須設(shè)置為0) |
7 | 指向遠程 CPU 通信數(shù)據(jù)區(qū)域的地址指針 (允許數(shù)據(jù)區(qū)域包括:I、Q、M、V) |
8 |
9 |
10 |
11 | 通信數(shù)據(jù)長度5 |
12 | 指向本地 CPU 通信數(shù)據(jù)區(qū)域的地址指針 (允許數(shù)據(jù)區(qū)域包括:I、Q、M、V) |
13 |
14 |
15 |
1 D :通信完成標(biāo)志位,通信已經(jīng)成功完成或者通信發(fā)生錯誤。
2 A :通信已經(jīng)激活標(biāo)志位。
3 E :通信發(fā)生錯誤,錯誤原因需要查詢 錯誤代碼4。
4 錯誤代碼 :見表 3 PUT 和 GET 指令TABLE 參數(shù)的錯誤代碼。
5 通信數(shù)據(jù)長度 :需要訪問遠程 CPU通信數(shù)據(jù)的字節(jié)個數(shù),PUT 指令可向遠程設(shè)備寫入zui多 212 個字節(jié)的數(shù)據(jù),GET 指令可從遠程設(shè)備讀取zui多 222 個字節(jié)的數(shù)據(jù)。
表 3 PUT 和 GET 指令TABLE 參數(shù)的錯誤代碼:
錯誤代碼 | 描述 |
0 | 通信無錯誤 |
1 | PUT/GET TABLE參數(shù)表中存在非法參數(shù):- 本地CPU通信區(qū)域不包括 I、Q、M 或 V。
- 本地CPU不足以提供請求的數(shù)據(jù)長度。
- 對于 GET指令數(shù)據(jù)長度為零或大于 222 字節(jié);對于 PUT指令數(shù)據(jù)長度大于 212 字節(jié)。
- 遠程CPU通信區(qū)域不包括 I、Q、M 或 V。
- 遠程CPU 的IP 地址是非法的 (0.0.0.0)。
- 遠程CPU 的IP 地址為廣播地址或組播地址。
- 遠程CPU 的IP 地址與本地 CPU的IP 地址相同
- 遠程CPU 的IP 地址位于不同的子網(wǎng)。
|
2 | 同一時刻處于激活狀態(tài)的 PUT/GET 指令過多(僅允許 16 個) |
3 | 無可以連接資源,當(dāng)前所有的連接都在處理未完成的數(shù)據(jù)請求(S7-200 SAMRT CPU主動連接資源數(shù)為 8 個)。 |
4 | 從遠程 CPU 返回的錯誤:- 請求或發(fā)送的數(shù)據(jù)過多。
- STOP 模式下不允許對 Q 存儲器執(zhí)行寫入操作。
- 存儲區(qū)處于寫保護狀態(tài)
|
5 | 與遠程 CPU 之間無可用連接:- 遠程 CPU 無可用的被動連接資源(S7-200 SMART CPU被動連接資源數(shù)為 8 個)。
- 與遠程 CPU 之間的連接丟失(遠程 CPU 斷電或者物理斷開)。
|
6-9 | 預(yù)留 |
通信資源數(shù)量
S7-200 SMART CPU 以太網(wǎng)端口含有 8 個PUT/GET 主動連接資源和 8 個PUT/GET 被動連接資源。例如:CPU1 調(diào)用 PUT/GET 指令與 CPU2 ~ CPU9 建立8主動連接的同時,可以與 CPU10 ~ CPU17 建立8被動連接(CPU10 ~ CPU17 調(diào)用 PUT/GET 指令),這樣的話 CPU1 可以同時與16臺 CPU(CPU2 ~ CPU17)建立連接。關(guān)于主動連接資源和被動連接資源的詳細解釋如下:
1、主動連接資源和被動連接資源- 調(diào)用 PUT/GET 指令的CPU 占用主動連接資源數(shù);相應(yīng)的遠程 CPU 占用被動連接資源。
CPU2 的主程序只需包含一條語句用于讀取 CPU2 的實時時鐘,并存儲到 VB100 ~ VB107,如圖 6 所示。
圖 6 讀取 CPU2 實時時鐘
PUT/GET例程
為了更好地理解 PUT/GET指令的編程,可參考下面的例程。
PUT_GET_CPU1.smart
PUT_GET_CPU2.smart
注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責(zé)任。使用該軟件的風(fēng)險*由用戶自行承擔(dān)。由于它是免費的,所以不提供任何擔(dān)保,錯誤糾正和支持,用戶不必為此西門子與服務(wù)部門。
網(wǎng)絡(luò)4:調(diào)用 PUT 指令和 GET 指令。
圖 5 調(diào)用 PUT 指令和 GET 指令
2、CPU2 被動端編程
網(wǎng)絡(luò)3:定義 GET 指令 TABLE 參數(shù)表,用于將遠程 CPU2 的VB100 ~ VB107 讀取到 CPU1 的 VB0 ~ VB7。
圖 4 定義 GET 指令 TABLE 參數(shù)表
a.定義通信狀態(tài)字節(jié) b.定義 CPU2 IP 地址 c.定義 CPU2 的通信區(qū)域 ,從 VB100 地址開始 d.定義通信數(shù)據(jù)長度 e.定義 CPU1 的通信區(qū)域,從 VB0 地址開始
指令編程舉例
在下面的例子中,CPU1 為主動端,其 IP 地址為192.168.2.100,調(diào)用 PUT/GET 指令;CPU2 為被動端,其 IP 地址為192.168.2.101,不需調(diào)用 PUT/GET 指令,網(wǎng)絡(luò)配置見圖 1 。通信任務(wù)是把 CPU1 的實時時鐘信息寫入 CPU2 中,把CPU2 中的實時時鐘信息讀寫到 CPU1 中。
圖 1 CPU通信網(wǎng)絡(luò)配置圖
1、CPU1 主動端編程
CPU1 主程序中包含讀取 CPU 實時時鐘、初始化 PUT/ GET 指令的 TABLE 參數(shù)表、調(diào)用 PUT 指令和 GET 指令等。
網(wǎng)絡(luò)1:讀取 CPU1 實時時鐘,存儲到 VB100 ~ VB107 。
圖 2 讀取 CPU1 實時時鐘
注:READ_RTC 指令用于讀取 CPU 實時時鐘指令,并將其存儲到從字節(jié)地址 T 開始的 8 字節(jié)時間緩沖區(qū)中,數(shù)據(jù)格式為 BCD 碼。
網(wǎng)絡(luò)2:定義 PUT 指令 TABLE 參數(shù)表,用于將 CPU1 的VB100 ~ VB107 傳輸?shù)竭h程 CPU2 的VB0 ~ VB7。
圖 3 定義 PUT 指令 TABLE 參數(shù)表
a.定義通信狀態(tài)字節(jié) b.定義 CPU2 IP 地址 c.定義 CPU2 的通信區(qū)域 ,從 VB0 地址開始 d.定義通信數(shù)據(jù)長度 e.定義 CPU1 的通信區(qū)域,從 VB100 地址開始 3、8 個PUT/GET 被動連接資源 S7-200 SMART CPU 調(diào)用 PUT/GET 指令,執(zhí)行主動連接的同時也可以被動地被其他遠程 CPU 進行通信讀寫。 S7-200 SMARTzui多可以與被8個不同 IP 地址的遠程 CPU 進行 建立被動連接。已經(jīng)成功建立的連接將被保持,直到遠程 CPU斷電或者物理斷開。 2、8 個PUT/GET 主動連接資源 S7-200 SMART CPU 程序中可以包含遠多于 8個PUT/GET 指令的調(diào)用,但是在同一時刻zui多只能激活 8 個 PUT/GET 連接資源。 同一時刻對同一個遠程 CPU 的多個 PUT/GET 指令的調(diào)用,只會占用本地 CPU的一個主動連接資源和遠程 CPU的一個被動連接資源。本地 CPU 與遠程 CPU之間只會建立一條連接通道,同一時刻觸發(fā)的多個 PUT/GET 指令將會在這條連接通道上順序執(zhí)行。 同一時刻zui多能對8個不同 IP 地址的遠程 CPU 進行 PUT/GET 指令的調(diào)用,第9個 遠程CPU的PUT/GET 指令調(diào)用將報錯,無可用連接資源。已經(jīng)成功建立的連接將被保持,直到遠程 CPU斷電或者物理斷開。
硬件及絡(luò)組態(tài) 本文以采1個315-2PN/DP,1個S7-200 ART PLC為例,介紹它們之間S7通信。
在STEP7中創(chuàng)建一個新項目,項目名稱為S7-300-ART。1個S7-300,在硬件組態(tài)中CPU 315-2 PN/DP。如圖4所示。
圖4 STEP7 項目中S7-300點
設(shè)置CPU 315-2PN/DPIP地址:192.168.0.1,如圖5所示。硬件組態(tài)完成后,即可下載該組態(tài)。
圖5 設(shè)置CPU PN IP地址
打開“NetPro”設(shè)置絡(luò)參數(shù),選中CPU 315-2PN/DP,在連接列表中建立新連接。步驟如圖6所示。
圖6 NetPro組態(tài)視圖中新連接
選擇 Unspecified 點,選擇通協(xié)議 S7 connection, Apply,如圖7所示。
圖7 組態(tài)新連接
在彈S7 connection屬性對話框中,勾選 Establish an active connection,設(shè)置Partner address:192.168.0.2(S7-200 ART PLC IP 地址),如圖8所示。
圖8 設(shè)置S7連接參數(shù)
"Address Details" ,再彈來對話框設(shè)置 Partner Slot 為1,如圖9所示。 OK即可關(guān)閉該對話框。
圖9 設(shè)置“address details”參數(shù)
絡(luò)組態(tài)創(chuàng)建完成后,需要編譯,如圖10所示。