西門子代理商13817011145 為你提供;
西門子中國授權代理商/西門子華南地區(qū)指定代理商/西門子模塊代理商/西門子變頻器代理商/西門子觸摸屏代理商/西門子PCL200代理商/西門子PLC300代理商/西門子PCL400代理商/西門子數(shù)控伺服代理商/西門子原裝授權軟件代理商/西門子一級代理商(西門子核心分銷商)專業(yè)銷售西門子S7-200/300/400/1200/1500PLC、數(shù)控系統(tǒng)、變頻器、人機界面、觸摸屏、伺服、電機、西門子通訊電纜、現(xiàn)場總線、DP接頭、工控機等,并可提供西門子維修服務,歡迎來電垂詢。
SIEMENS中國有限公司
聯(lián) 系 人:張柏(銷售經(jīng)理)
工作QQ:254598303
聯(lián)系人 :13817011145 wei信同步
郵箱( Email )::254598303@qq.com
哪里有賣 要多少錢 哪里有 哪里能買到 要在哪里買 在哪里有賣的 價格,參數(shù),型號,哪家便宜,比較便宜,哪里有,銷售,訂貨號,多少錢?哪家價格好? 廠家,性能,優(yōu)點,包裝,用途,售后服務!哪里有賣 代理商 總代理商
業(yè)務范圍:
西門子PLC可編程控制器,西門子PLC200/300/400/1200,西門子變頻器,MM440/430/420/G120/6RA70/6ES70/等系列變頻器及備件。西門子觸摸屏,西門子電纜,西門子網(wǎng)卡,西門子軟啟動器,西門子低壓產(chǎn)品,西門子數(shù)控伺服,西門子傳動,西門子工控系列模塊,CPU.等系列西門子銷售與維修。
西門子S7300plc代理商,西門子代理商,上海西門子總代理,西門子上海代理商,西門子電機總代理,上海西門子PLC總代理,上海西門子一級代理,上海西門子變頻器總代理,上海西門子銷售商,中國總代理西門子電機,西門子中國總代理 西門子中國一級代理 西門子中國總代理 ,西門子S7-300PLC, 西門子S7-200PLC總代理,西門子PLC中國總代理,西門子PLC,西門子PLC總代理,,西門子中國總代理,上海西門子PLC總代理,S7-200西門子PLC總代理,西門子S7-300PLC總代理,西門子plc模塊總代理,西門子plc編程線總代理,西門子plc編程電纜總代理
6AV6610-0AA01-2CE8Micro PLC提供了全方位的通訊功能。
可以在1.2至187.5 kbaud數(shù)據(jù)傳輸率情況下操作集成的RS485接口:
當統(tǒng)總線高達126參與者時:編程設備,SIMATIC HMI產(chǎn)品和 CPU可順利聯(lián)網(wǎng)。在純粹的S7-200網(wǎng)絡中,通過集成的PPI協(xié)議實現(xiàn)。在由完全集成的自動化器件組成的網(wǎng)絡中,如SIMATIC S7-300/400或者SIMATIC HMI,將7-200 CPU集成為MPI從站。
在高達115.2 kbaud的可自由編程模式中,采用用戶特定協(xié)議如ASCII(這支持與調制解調器,打印機,條形碼閱讀器,個人PC,第三方PLC以及任何其他設備的互連)。使用USS協(xié)議指令,最多可以控制32個西門子變頻器,無需額外的硬件。
可以通過Modbus協(xié)議指令建立與Modbus RTU網(wǎng)絡的連接。
調制解調器通訊
通過有線或無線網(wǎng)絡的調制解調器,在世界上幾乎任何地方均可以訪問S7- 200 CPU。
遠程服務:現(xiàn)代通訊選項有助于避免昂貴的服務電話。只需兩個調制解調器即可實現(xiàn)遠程使用完整的功能,如程序轉移、狀態(tài)或控制;各種通訊工具都集成在一起作為標準功能。本地調制解調器可作為外置調制解調器使用。
遠程控制:您可以通過調制解調器呼叫消息和實測值,以及定義新的設定點或命令。在這種情況下,一個基站S7- 200可以控制幾乎無限數(shù)量的遠程站點??梢宰杂蛇x擇數(shù)據(jù)傳輸?shù)膮f(xié)議,例如:文字信息直接到手機上,錯誤信息到傳真機或Modbus RTU。
快速PROFIBUS連接
通過EM277通訊模塊可以運行222以上所有CPU,作為PROFIBUS DP網(wǎng)絡上的標準從站,傳輸速率高達12 Mbit/s。S7- 200對更高水平PROFIBUS DP控制水平的開放特點,確保您可以將單臺機器集成到生產(chǎn)線中。使用EM 277擴展模塊,您可以實現(xiàn)配備了S7-200的單獨機器的PROFIBUS能力。
功能強大的AS-Interface連接
在AS- Interface網(wǎng)絡上CP243-2將從CPU從222上升到功能強大的主站。根據(jù)新的AS- V2.1接口規(guī)范,可以最多連接62個站,甚至易于集成的模擬傳感器。使用AS-Interface,可以在最高配置中最多連接248個DI+186 DO。最大 62站的數(shù)量最多可以包括31個模擬模塊。方便AS-Interface接口向導支持從站和讀/寫入數(shù)據(jù)的配置。
內置的RS485接口可以工作在數(shù)據(jù)傳輸速率高達187.5 kbit / s的情況下工作,其功能如下:
作為一個最大擁有126個站點的系統(tǒng)總線。在這種容量中,可以連網(wǎng)編程設備,SIMATIC HMI產(chǎn)品和SIMATIC CPU,沒有任何問題。集成的PPI協(xié)議用于純的S7- 200支持來自一個端口多臺主機的網(wǎng)絡。在西門子其他器件(SIMATIC S7-300/400和SIMATIC HMI等)組成的網(wǎng)絡中,將S7- 200 CPU集成為MPI的從站。
在Freeport模式(高達115.2kbaud)中,采用用戶特定的協(xié)議(例如ASCII協(xié)議)這意味著SIMATIC S7 -200對連接的任何設備都是開放的,例如,它可以連接一個調制解調器,條碼掃描儀,PC,非西門子PLC等等。通過驅動器用的USS協(xié)議,最多可以控制32臺西門子變頻器,無需額外的硬件。
包括在該包中的Modbus RTU庫還可以作為主站或從站連接到一個Modbus RTU網(wǎng)絡。
帶有PC Access的OPC驅動器
PC Access是S7- 200和所連接PC之間數(shù)據(jù)交換的理想基礎-與通訊鏈路選擇無關(PPI,調制解調器,以太網(wǎng)/IT CP)。作為一個OPC服務器,PC ACCESS使您可以使用Microsoft Excel寫或讀S7- 200數(shù)據(jù),或任何其它OPC客戶端應用程序。
作為一個OPC客戶端,它可用于 ProTool Pro,WinCC flexibleRT,Win CC等使用高達8個連接的容量,可以從一個中央位置實現(xiàn)配置、編程和監(jiān)控,節(jié)省了時間和金錢。通過FTP,HTTP,Java和電子郵件方式允許將PLC連接到不同計算機的簡單的通用連接,Internet Technology模塊CP243-1 IT還為您提供快速訪問功能。以太網(wǎng)模塊CP243-1可以通過以太網(wǎng)快速訪問S7 - 200的過程數(shù)據(jù),進行歸檔或進一步處理。STEP 7-Micro/WIN的配置支持確保簡單的調試和方便的診斷方案。
一體化PPI接口作為S7-200system總線或自由編程接口 -用于連接打印機,條碼掃描儀等
PROFIBUS DP 從站 EM 277
PROFIBUS-DP可用作與其他MPI主站通訊的通訊口,無論其是否作為PROFIBUS-DP從站。 使用S7-300/400的XGET/XPUT功能時,S7-200可以通過該模塊與S7-300/400連接。使用MPI協(xié)議 或PROFIBUS協(xié)議的STEP 7-Micro/WIN軟件和PROFIBUS卡,以及OP面板或TD200(版本2), 均可通過EM 277模塊與S7-200通訊
AS-Interface主站CP 243-2
CP 243-2是SIMATIC S7-200(CPU 22x)的AS-i主站。該通訊處理器具有以下功能:最多可連接31個AS-i從站,并具有集成模擬量值傳送系統(tǒng)(按照擴展AS-i規(guī)范,V2.1)。 按照擴展AS-i規(guī)范V2.1,例如主站類別M1e,支持所有AS-i主站功能。 前面板的LED顯示運行狀態(tài)及所連接從站的準備顯示。 通過前面板的LED指示錯誤(包括AS-i電壓錯誤,組態(tài)錯誤)。 緊湊的外殼
在 一些應用場合,需要上位機對高速變化的過程數(shù)據(jù)進行歸檔記錄。對于一般的網(wǎng)絡通訊方式來說,WinCC 能提供的最高刷新速度是250 毫秒,但WinCC 采用RawData 歸檔數(shù)據(jù)鏈接的方式可以實現(xiàn)對S7-400 PLC 的高速數(shù)據(jù)采集。原理是PLC 將每個循環(huán)周期所采集的過程值(或PLC 以其他方式得到的數(shù)據(jù)或數(shù)據(jù)包)以一定的順序存放在具有一定的格式的DB塊中,當?shù)竭_一定的數(shù)量后,PLC可以調用系統(tǒng)功能塊 SFB37(AR_Send)將這個DB塊主動地發(fā)送給WinCC, 然后WinCC會在后臺自動調用標準化DLL來拆解數(shù)據(jù),并將其按時間順序保存在數(shù)據(jù)庫中。在WinCC的過程畫面中,可以使用在線趨勢控件或在線表格控 件來查看所采集的數(shù)據(jù)。
由于是批量傳送,可以有效地提高通訊效率,使高速數(shù)據(jù)采集成為可能,而這時所謂的采集頻率就取決于你對保存在DB 塊中的各過程值間的時間間隔的定義??梢远x的最小的時間間隔是1 毫秒。但如果是PLC 每個循環(huán)周期采樣一次,那么定義的時間間隔應大于PLC 循環(huán)周期。DB塊的最大尺寸是16KB。
詳細信息請參見WinCC的幫助文件:WinCC System Inbation->通訊->SIMATIC S7 Protocol Suite->特殊功能->使用S7功能塊AR_SEND進行數(shù)據(jù)交換。
1. WinCC的版本為 V5.1 或更高
2. S7-400系列CPU
3. WinCC站與S7-400站建立S7連接(包括 MPI, ProfiBus, TCP/IP,工業(yè)以太網(wǎng)都可以實現(xiàn))
4. 編程人員能夠熟練地使用STEP7和WinCC
本例介紹了WinCC如何在相同時間間隔(10ms)下實現(xiàn)對兩個過程變量采集歸檔的方法,即上述WinCC幫助文件中的示例6。
所使用的操作系統(tǒng)和軟件環(huán)境如下: 1. Windows7 Professional SP1
2. STEP7 V5.5 SP3 HF1
3. WinCC V7.2 Upd3
4. SIMATIC NET V8.2 SP1
5. WinAC RTX 2010(V4.6) SP1
注意:在本例中使用WinAC RTX代替S7-400,編程方式是相同的。WinAC RTX 2009(V4.5)及更高版本支持SFB37(AR_Send)。
1. 在新建的STEP7項目中新建PC Station,分別插入WinCC Application和WinLC RTX(必須定位在2號槽位),如圖1所示。
圖1
2. 在NetPro中選擇PC Station中的WinCC Application,雙擊下方表格的空白處插入S7 Connection,如圖2、圖3和圖4所示。
圖2
圖3
圖4
3. 在WinLC RTX中新建Data Type(UDT1),參照上述WinCC幫助文件中數(shù)據(jù)塊的架構和參數(shù)介紹,定義過程變量的結構,如圖5所示。
圖5
4. 在WinLC RTX中新建Data Block(DB1),定義數(shù)組,類型選擇UDT1,如圖6所示。
圖6
5. 參照上述WinCC幫助文件中AR_SEND的變量屬性,為DB1的數(shù)組PV分配如下相應的初始值:
PV(1).HeaderType=9
PV(1).Cycle=10
PV(1).Unit_Type=1
PV(1).Unit_Range=3
PV(1).AR_ID_SubNum=1
PV(1).DataType=2
PV(1).NumOfPV=100
PV(2)的初始值和PV(1)基本相同,注意PV(1).AR_ID_SubNum=2。
6. 在WinLC RTX中新建Function Block(FB1),在Interface-IN中新建輸入?yún)?shù)AR_Send,選擇Data Type為AR_Send,調用SFB37(AR_SEND)發(fā)送DB1,如圖7所示。
圖7
7. 在WinLC RTX中新建Fucntion(FC1),調用FB1,并調用SFC1(READ_CLK)讀取當前系統(tǒng)時間并寫入DB1,如圖8所示。
圖8
8. 在WinLC RTX中新建Function(FC3),指定SFB37(SAR_Send)發(fā)送的數(shù)據(jù)包長度,如圖9所示。
圖9
9. 在WinLC RTX中新建Organization Block(OB100),調用FC3。
10. 在WinLC RTX中的OB1中調用FC1。
11. 選擇菜單Options-'Compile Multiple OSs' Wizard-Start,編譯AS-OS,如圖10、圖11所示。
圖10
圖11
12. 在WinCC Application中打開OS,在WinCC中打開變量管理器,在SIMATIC S7 Protocol-Named Connections中新建變量AR_Send(Raw Data)、Req_AR_Send(M20.0)和Res_TimeStamp(M40.0),如圖12、圖13和圖14所示。
圖12
圖13
圖14
13. 在變量記錄中新建過程歸檔Processvaluearchive,選擇New Process Controlled Tag,在Raw Data Tag中選擇變量AR_Send,并分配參數(shù)AR_ID和AR_ID-Subnumber為1,參數(shù)需要和步驟5中相對應;注意需要新建兩個過程控制變 量,第二個過程變量的AR_ID-Subnumber為2,如圖15、圖16和圖17所示。
圖15
圖16
圖17
14. 在畫面編輯器中新建畫面,插入IO域組態(tài)變量Req_AR_Send(M20.0)和Res_TimeStamp(M40.0),再插入WinCC online Table控件組態(tài)變量記錄Processvaluearchive,如圖18所示。
圖18
15. 在Set PG/PC interface中設置S7Online為PC Internal(Local),下載PC Station,如圖19所示。
圖19
16. 啟動WinAC RTX,可以在Variable Table中為DB1的數(shù)組PV.PV輸入相應的數(shù)據(jù),參見步驟5中的描述,如圖20所示。
圖20
17. 激活WinCC項目, 置位變量Req_AR_Send(M20.0)和Res_TimeStamp(M40.0)后,可以在WinCC online Table控件中查看到WinAC RTX發(fā)送到WinCC變量記錄的數(shù)據(jù),如圖21所示。
圖21
17. 需要注意的是,本例中只是簡單地實現(xiàn)了PLC發(fā)送過程數(shù)據(jù)到WinCC的歸檔,用戶需要根據(jù)實際情況選擇發(fā)送數(shù)據(jù)的數(shù)據(jù)結構,自行編寫PLC程序將過程數(shù)據(jù)寫入SFB37(AR_SEND)要發(fā)送的數(shù)據(jù)塊,并定義觸發(fā)SFB37的邏輯。
S7-1200 與 S7-300 之間的以太網(wǎng)通信方式比較多,可以采用ISO on TCP、TCP和 S7 的方式進行通信。在S7-1200 CPU 中采用ISO on TCP和TCP這兩種協(xié)議進行通信所使用的指令是相同的,都使用 T-block ( TSEND_C, TRCV_C, TCON, TDISCON, TSEN, TRCV ) 指令編程。S7-300 CPU一側如果使用的是CPU集成的PN接口,連接不在STEP7的NetPro中建立連接,而是使用西門子提供的OPEN IE 的方式來實現(xiàn)。
本文主要介紹了如何實現(xiàn)在S7-1200 和S7-300 CPU集成PN口之間的ISO on TCP通信,包括通信的基本步驟、配置及編程等內容。具體的實現(xiàn)方法有多種,比如在S7-1200中可以使用不帶連接的通信指令(TCON, TDISCON, TSEN, TRCV),也可以使用帶連接的通信指令(TSEND_C, TRCV_C);在S7-300中可以采用功能塊編程的方式來實現(xiàn),也可以使用Open Communication Wizard工具(OPEN IE向導)的方式來建立OPEN IE的通信。
為了方便理解,本文在S7-1200中使用不帶連接的通信指令TCON, TDISCON, TSEN, TRCV,在S7-300側通過功能塊編程的方式來實現(xiàn)。
關于S7-1200和S7-300 OPEN IE通信的文檔可以登錄西門子自動化與驅動集團網(wǎng)站的下載中心,網(wǎng)址:http://www.ad.siemens.com.cn/download/ ,根據(jù)如表1提供的文檔編號搜索并下載相關文檔。
文檔編號 | 中文標題 |
A0426 | 西門子 S7-1200 PLC 技術參考Version 1.5 |
A0416 | S7-1200與S7-300 的以太網(wǎng)TCP 及ISO on TCP通信 |
A0421 | 如何實現(xiàn)兩個S7-1200 CPU之間的以太網(wǎng)通信 |
A0415 | 通過S7協(xié)議實現(xiàn)S7-1200 與S7-300的通信 |
A0414 | S7-1200基本以太網(wǎng)通信使用指南 |
A0284 | 使用西門子PLC集成的PN口實現(xiàn)S5 兼容通信使用入門 |
A0345 | 使用 Open Communication Wizard 建立開放式 ISO on TCP 通信 |
A0346 | 使用 Open Communication Wizard 建立開放式 UDP 通信 |
A0347 | 使用 Open Communication Wizard 建立開放式 TCP 通信 |
A0344 | S7-300和S7-400集成PN口的S7通信 |
A0334 | PN CPU/CP的開放式通訊-Open IE |
表1 下載中心文檔列表
2 軟硬件及所要完成的通信任務
2.1硬件設備
實驗的硬件設備:
1、S7-1200 CPU,CPU1212 AC/DC/RLY(6ES7 212-1BD30-0xB0)
2、S7-300 PN CPU,CPU317-2PN/DP(6ES7 317-2EH13-0AB0 V2.6.7)
3、PC機(帶以太網(wǎng)卡)
4、SCALANCE X216交換機,S7-1200、S7-300和PC通過交換機互連起來
5、TP以太網(wǎng)電纜
2.2 軟件環(huán)境
1、STEP7 Basic V10.5 SP2
2、STEP7 V5.4 SP5
3、通信所需的功能塊,請參見附件提供的例程 ”Sample_1 ( 50 KB ) ” 或參考下載中心文檔:《A0284 使用西門子PLC集成的PN口實現(xiàn)S5 兼容通信使用入門》提供的程序。下載鏈接:80490650
2.3 所要完成的通信任務
本例中所要完成的通信任務定義為:
1、 將S7-1200的發(fā)送數(shù)據(jù)塊DB3里的8個字節(jié)數(shù)據(jù)發(fā)送到S7-300的DB3中。
2、 將S7-300 DB3里接收到的8個字節(jié)數(shù)據(jù)再發(fā)送到S7-1200的接收數(shù)據(jù)塊DB4中。
3 S7-1200 CPU的組態(tài)編程
3.1創(chuàng)建新項目
1、打開STEP 7 Basic 軟件并新建項目
在STEP 7 Basic 的 “Portal View”中選擇“Create new project”創(chuàng)建一個新項目,項目名稱為“GS_ISO”。
2、添加硬件并命名PLC
然后進入 “Project view”,在“Project tree” 下雙擊 “Add new device”,在對話框中選擇所使用的S7-1200 CPU(6ES7 212-1BD30-0xB0)添加到機架上,設備名為 PLC_1,如圖1所示。
圖1 添加新的PLC站
為了編程方便,我們使用 CPU 屬性中定義的時鐘位,定義方法如下:
在“Project tree> PLC_1 > Device configuration” 中,選中 CPU ,然后在下面的屬性窗口中,“Properties > System and clock memory” 下,將系統(tǒng)位定義在MB1,時鐘位定義在MB0,如圖2所示。程序中我們主要使用 M0.3,它是以2Hz 的速率在0和1之間切換的一個位,可以使用它去自動激活發(fā)送任務。
圖2 系統(tǒng)和時鐘存儲器
3、為 S7-1200 CPU的PROFINET 通信口分配以太網(wǎng)地址
在 “Device View”中點擊 CPU 上代表PROFINET 通信口的綠色小方塊,在下方會出現(xiàn)PROFINET 接口的屬性,在 “Ethernet addresses”下分配IP 地址為 192.168.0.2 ,子網(wǎng)掩碼為255.255.255.0,如圖3所示。
圖3為 S7-1200 CPU的PROFINET 接口分配IP地址
3.2調用并配置通信指令
1、在 PLC_1 的 OB1 中調用 “TCON”通信指令
進入“Project tree > PLC_1 > Program blocks > OB1” 主程序中,從右側窗口 “Instructions > Extended Instructions > Communications” 下調用 “TCON” 指令,并選擇 “Single Instance” 生成背景 DB塊,如圖4所示。
圖4 調用TCON指令
2、定義PLC_1 的 “TCON” 連接參數(shù)
PLC_1 的 TCON 指令的連接參數(shù)需要在指令下方的屬性窗口“Properties > Configuration > Connection beter”中設置,如圖5所示。連接參數(shù)說明:
End point
:選擇通信伙伴,這里選擇“unspecified”
Address
:指定通信伙伴S7-300站的IP地址“192.168.0.3”
Connection type
:選擇通信協(xié)議為ISO on TCP
Connection ID
:連接的地址 ID 號,這個 ID 號在后面的編程里會用到
Connection data
:創(chuàng)建連接時,系統(tǒng)會自動生成本地的連接 DB 塊,所有的連 接數(shù)據(jù)都會存在這個 DB 塊中。
:選擇本地 PLC_1作為主動連接,S7-300 CPU作為被動連接
Address details
:設定 TSAP 地址這里本地設置成“PLC_1”, TSAP ID自動為“50.4C.43.5F.31”,伙伴方設置成不設置TSAP(ASCII),設置TSAP ID 為“E0.02.50.4C.43.5F.31”。
圖5 “TCON” 指令的連接參數(shù)
3、分配 “TCON” 的塊參數(shù)
在指令下方的屬性窗口“Properties > Configuration > block beter”中設置,可以根據(jù)需要自己為“TCON” 塊指定相應的輸入輸出參數(shù)。指定好參數(shù)的塊,如圖6所示。其中M8.0作為啟動連接的觸發(fā)位,連接ID = 1與連接參數(shù)里面的設置相同。
圖6 “TCON” 的塊參數(shù)
4、在 PLC_1 的 OB1 中調用 “TSEND” 發(fā)送通信指令
首先創(chuàng)建一個發(fā)送數(shù)據(jù)塊,通過 “Project tree > PLC_1 > Program blocks > Add new block”,選擇 “Data block” 創(chuàng)建 DB 塊,選擇絕對尋址,點擊“OK”鍵,如圖7所示。
圖7 創(chuàng)建一個發(fā)送數(shù)據(jù)塊DB3
打開創(chuàng)建的發(fā)送數(shù)據(jù)塊,在數(shù)據(jù)塊中定義發(fā)送數(shù)據(jù)區(qū)為 8個字節(jié)的數(shù)組,如圖8所示。
圖8 創(chuàng)建發(fā)送數(shù)據(jù)區(qū)
然后在OB1 中調用“TSEND”發(fā)送通信指令,并為“TSEND”指定參數(shù)。使用M0.3( 2Hz 的時鐘脈沖)上升沿激活發(fā)送任務,指定發(fā)送數(shù)據(jù)區(qū)為P# DB3.DBX0.0 BYTE 8,連接 ID = 1與連接參數(shù)里面的設置相同,發(fā)送長度LEN=8。分配好參數(shù)的“TSEND”塊如圖9所示。
圖9 調用“TSEND”發(fā)送通信塊
5、在 PLC_1 的 OB1 中調用“TRCV”接收通信指令
同樣,先創(chuàng)建一個接收數(shù)據(jù)塊DB4 ,如圖10所示。“TRCV”接收通信指令的調用方法與“TSEND” 發(fā)送通信指令的調用方法相同,M8.1作為接收指令的使能位,如圖11所示。
圖10創(chuàng)建接收數(shù)據(jù)區(qū)
圖11 調用“TRCV”接收通信塊
6、在 PLC_1 的 OB1 中調用 “TDISCON”通信指令
最后,為了斷開通信鏈接,我們需要調用“TDISCON”通信指令,如圖12所示。
圖12 調用“TDISCON”通信塊
3.3下載程序
至此,S7-1200側的組態(tài)和編程都已經(jīng)完成,可以在項目編譯無錯誤后,直接下載到S7-1200 CPU中,并啟動CPU的運行。
4 S7-300 CPU的組態(tài)編程
S7-300帶PN接口的CPU支持ISO on TCP通信功能,通過該集成以太網(wǎng)接口組態(tài)ISO on TCP通信時,只能使用開放式通信專用的功能塊,這些專用的功能塊可以在STEP7 “ 通訊塊”的 “標準庫 ”中找到,如圖13所示。
圖13 S7-300 CPU通信指令庫
庫中提供了下列通信功能塊:
′> FB 65 "TCON",用于建立連接,連接時需要UDT65來提供參數(shù)
> FB 66 "TDISCON",用于終止連接
> FB 63 "TSEND",用于發(fā)送數(shù)據(jù)到S7站點、S5站點、PC站或者第三方設備
> FB 64 "TRCV" 用于從S7站點、S5站點、PC站或者第三方設備接收數(shù)據(jù)
要通過CPU 的 集成PN 接口實現(xiàn)開放的ISO on TCP通信,不能在Netpro網(wǎng)絡組態(tài)中直接建立連接,必須通過程序指定每個連接的參數(shù)。用于通信的FB標準功能塊,請參見附件提供的例程 ”Sample_1 ( 50 KB ) ” 或參考下載中心文檔《A0284 使用西門子PLC集成的PN口實現(xiàn)S5 兼容通信使用入門》提供的例程。下載鏈接:80490650
從附件提供的例程 ”Sample_1 ( 50 KB ) ” 中將把需要的程序塊拷貝到新建的項目中,包括:
> UDT 65 "TCON_PAR",存放用戶通信參數(shù)
> FB420 "SET_ISO_ENDPOINT" ,用于修改UDT65內通信對象參數(shù)
> FC21, 被FB420調用
隨后,使用通信功能塊 FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND" 和 FB64 "TRCV" 完成程序的編寫。
4.1創(chuàng)建新項目
1、打開STEP7,新建一個項目
2、在項目中插入一個SIMATIC 300的站
3、組態(tài)硬件,插入一個CPU317-2PN/DP的CPU,并為PN接口分配IP地址“192.168.0.3”,如圖14所示。同時,在CPU的“Cycle/Clock Memory”屬性頁中指定MB0為時鐘存儲器,在程序中可以使用M0.3(2Hz 的時鐘脈沖)去自動激活發(fā)送任務,如圖15所示。
圖14為PN接口分配IP地址
圖15設置時鐘存儲器字節(jié)
4.2編寫通信程序
1、從樣例程序中拷貝通信所需的塊
從附件提供的sample_1 ( 50 KB ) 例程中把需要的FB420、FC21與UDT65程序塊拷貝到新創(chuàng)建的項目中,如圖16所示。
圖 16
2、生成數(shù)據(jù)塊
在程序中創(chuàng)建一個DB塊,塊號不限(本例為DB101),在塊中建立變量DB_VAR,類型為UDT65,如圖17所示。
圖17
3、生成并調用FB塊
首先生成一個FB塊(本例為FB400),在FB400靜態(tài)變量區(qū)建立一個結構“T_TSAP“,包含如下變量,并為變量分配初始值,如圖18所示。
1) LOC_RACK_SLOT (BYTE)= B#16#2 表示有兩個前導字符 0xE0 (CPU31x-2PN/DP 或者 CPU319-3PN/DP規(guī)定)和 0x02(CPU槽號)
2) LOC_TSAP(STRING14)= 本地用戶定義的ASCII字符'PLC_1' (注意要與S7-1200側設置保持一致)。
3) REM_RACK_SLOT(BYTE)= B#16#0 不使用兩個前導符。
4) REM_TSAP (STRING16)= 遠程用戶定義的ASCII字符'PLC_1' (注意要與S7-1200側設置保持一致)。
圖18
然后在生成的FB400中調用FB420,如圖19所示。
圖19
其中參數(shù)的含義如下:
1)ID: 連接ID,與S7-1200里的設置保持一致
2)DEV_ID:用于本PLC型號(注意不是通信對方)
DEV_ID = B#16#1本PLC型號為 IM151-8 PN/DP CPU
DEV_ID = B#16#2本PLC型號為CPU31x-2PN/DP或IM154-8 CPU
DEV_ID = B#16#3本PLC型號為CPU319-3PN/DP
DEV_ID = B#16#5本PLC型號為CPU41x-3PN/DP
3)ACTIVE: 主動或是被動建立連接,通信雙方必須一個主動,一個被動,本例中S7-300側為被動方。
4)T_TSAP: 靜態(tài)變量區(qū)的結構變量,用于ISO ON TCP 通信的TSAP地址
5)IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址,即S7-1200的IP地址192.168.0.2
6)CON_DB: 用UDT65生成的變量,即DB1014、在OB1中調用發(fā)送和接收功能塊
在OB1中先調用FB400功能塊,為其指定背景數(shù)據(jù)塊DB400,如圖20所示。
圖20
然后再在OB1中依次調用通信功能塊FB65、FB64、FB63、FB66。其中發(fā)送和接收功能塊FB64、FB63的數(shù)據(jù)區(qū)都為DB3,建立DB3如圖21所示。關于塊的使用請參考STEP7的在線幫助或相關文檔說明。
圖21
FB65 “TCON”,建立連接功能塊,如圖22所示。通過輸入?yún)?shù) "REQ"一個上升沿來建立連接。 “ID” 為連接ID,“CONNECT” 參數(shù)填寫用 UDT65 生成的變量, 連接建立后會一直保持,直到調用FB66 "TDISCON" 斷開連接、CPU停止或者斷電。其中CONNECT指定為通過UDT65生成的DB塊,即DB101, ID = 1。通過M8.0啟動作業(yè),執(zhí)行連接的建立。
圖22
FB64 “TRCV”,接收功能塊,如圖23所示。"TRECV" EN_R始終為TRUE, ID 填寫連接ID,”DATA” 填寫接收數(shù)據(jù)區(qū),輸出參數(shù) "NDR" 用于表示新的數(shù)據(jù)已經(jīng)收到,輸出參數(shù) "LEN" 表示接收的數(shù)據(jù)長度。本例中連接ID = 1。指定DB3作為接收數(shù)據(jù)塊,接收數(shù)據(jù)的字節(jié)長度為8,接收作業(yè)通過M8.1使能。
圖23
FB63 “TSEND”,發(fā)送功能塊,如圖24所示。連接ID = 1。指定DB3為發(fā)送數(shù)據(jù)塊,發(fā)送字節(jié)長度為8,發(fā)送作業(yè)通過M0.3觸發(fā)。"TSEND" 發(fā)送請求依靠輸入?yún)?shù)"REQ"的上升沿來實現(xiàn),如果“BUSY”位為true時不要觸發(fā)"REQ"。輸出參數(shù) "DONE", "ERROR" 和 "STATUS" 用于評估工作的情況。
圖24
FB66 “TDISCON”,取消連接功能塊,如圖25所示。可以根據(jù)需要取消ID=W#16#1的連接,作業(yè)通過M8.2使能。
圖25
4.3下載程序
S7-300側的組態(tài)和編程都完成后,直接下載到S7-300 CPU中,并啟動CPU的運行。
5 監(jiān)控通信結果
對S7-1200和S7-300都組態(tài)和編程后,下載所有組態(tài)及程序并搭建好網(wǎng)絡后,首先在在S7-1200中將M8.0置位為1,然后再在S7-300中將M8.0置位為1,兩個站的“TCON” 被激活,建立兩個站之間的ISO on TCP連接。
連接正常建立后,即可以進行數(shù)據(jù)的交換。在S7-1200和S7-300站中將 ”TRCV” 功能塊的EN_R置位為1,使能接收,監(jiān)控通信結果如圖26所示。
通過監(jiān)控結果可以看到,S7-1200中發(fā)送數(shù)據(jù)塊DB3的8個字節(jié)數(shù)據(jù)被發(fā)送到S7-300站的DB3中,同時,S7-300的DB3中接收到的數(shù)據(jù)又被發(fā)送到S7-1200的接收數(shù)據(jù)塊DB4中。
圖26 在線監(jiān)控通信結果