西門子PLC模塊6ES7516-3TN00-0AB0詳細(xì)說(shuō)明
1.概述 1.1S7-1200的PROFINET通信口 S7-1200CPU本體上集成了一個(gè)PROFINET通信口,,支持以太網(wǎng)和基于TCP/IP的通信標(biāo)準(zhǔn)。使用這個(gè)通信口可以實(shí)現(xiàn)S7-1200CPU與編程設(shè)備的通信,,與HMI觸摸屏的通信,,以及與其它CPU之間的通信。這個(gè)PROFINET物理接口是支持10/100Mb/s的RJ45口,,支持電纜交叉自適應(yīng),,因此一個(gè)標(biāo)準(zhǔn)的或是交叉的以太網(wǎng)線都可以用于這個(gè)接口。 1.2S7-1200支持的協(xié)議和最大的連接資源 S7-1200CPU的PROFINET通信口支持以下通信協(xié)議及服務(wù) ?TCP ?ISOonTCP(RCF1006) ?S7通信(服務(wù)器端) 通信口所支持的最大通信連接數(shù) S7-1200CPUPROFINET通信口所支持的最大通信連接數(shù)如下: ?3個(gè)連接用于HMI(觸摸屏)與CPU的通信 ?1個(gè)連接用于編程設(shè)備(PG)與CPU的通信 ?8個(gè)連接用于OpenIE(TCP,ISOonTCP)的編程通信,,使用T-block指令來(lái)實(shí)現(xiàn) ?3個(gè)連接用于S7通信的服務(wù)器端連接,,可以實(shí)現(xiàn)與S7-200,S7-300以及S7-400的以太網(wǎng)S7通信 S7-1200CPU可以同時(shí)支持以上15個(gè)通信連接,,這些連接數(shù)是固定不變的,,不能自定義。 TCP(TransportConnectionProtocol) TCP是由RFC793描述的標(biāo)準(zhǔn)協(xié)議,,可以在通信對(duì)象間建立穩(wěn)定,、安全的服務(wù)連接。如果數(shù)據(jù)用TCP協(xié)議來(lái)傳輸,,傳輸?shù)男问绞菙?shù)據(jù)流,,沒有傳輸長(zhǎng)度及信息幀的起始、結(jié)束信息,。在以數(shù)據(jù)流的方式傳輸時(shí)接收方不知道一條信息的結(jié)束和下一條信息的開始,。因此,發(fā)送方必須確定信息的結(jié)構(gòu)讓接收方能夠識(shí)別,。在多數(shù)情況下TCP應(yīng)用了IP(Internetprotocol),,也就是“TCP/IP協(xié)議",,它位于ISO-OSI參考模型的第四層。 協(xié)議的特點(diǎn): ?與硬件綁定的高效通信協(xié)議 ?適合傳輸中等到大量的數(shù)據(jù)(<=8192bytes) ?為大多數(shù)設(shè)備應(yīng)用提供 –錯(cuò)誤恢復(fù) –流控制 –可靠性 ?一個(gè)基于連接的協(xié)議 ?可以靈活的與支持TCP協(xié)議的第三方設(shè)備通信 ?具有路由兼容性 ?只可使用靜態(tài)數(shù)據(jù)長(zhǎng)度 ?有確認(rèn)機(jī)制 ?使用端口號(hào)進(jìn)行應(yīng)用尋址 ?大多數(shù)應(yīng)用協(xié)議,,如TELNET,、FTP都使用TCP ?使用SEND/RECEIVE編程接口進(jìn)行數(shù)據(jù)管理需要編程來(lái)實(shí)現(xiàn) 1.3硬件需求和軟件需求 硬件: ①S7-1200CPU ②S7-300CPU+CP343-1(支持S7Client) ③PC(帶以太網(wǎng)卡) ④TP以太網(wǎng)電纜 軟件: ①STEP7BasicV10.5 ②STEP7V5.4 2.ISOonTCP通信 S7-1200CPU與S7-300/400之間通過(guò)ISOonTCP通信,需要在雙方都建立連接,,連接對(duì)象選擇“Unspecified",。 所完成的通信任務(wù)為: ①S7-1200將DB3里的100個(gè)字節(jié)發(fā)送到S7-300的DB2中 ②S7-300將輸入數(shù)據(jù)IB0發(fā)送給S7-1200的輸出數(shù)據(jù)區(qū)QB0。 2.1S7-1200CPU的組態(tài)編程 組態(tài)編程過(guò)程與S7-1200CPU之間的通信基本相似(見6.3),,這里簡(jiǎn)單描述一下步驟: ①使用STEP7BasicV10.5軟件新建一個(gè)項(xiàng)目 在STEP7Basic的“PortalView"中選擇“Createnewproject"創(chuàng)建一個(gè)新項(xiàng)目 ②添加新設(shè)備 然后進(jìn)入“Projectview",,在“Projecttree"下雙擊“Addnewdevice",在對(duì)話框中選擇所使用的S7-1200CPU添加到機(jī)架上,,命名為PLC_1,。 ③為PROFINET通信口分配以太網(wǎng)地址 在“DeviceView"中點(diǎn)擊CPU上代表PROFINET通信口的綠色小方塊,在下方會(huì)出現(xiàn)PROFINET接口的屬性,,在“Ethernetaddresses"下分配IP地址為192.168.0.1,,子網(wǎng)掩碼為255.255.255.0。 ④在S7-1200CPU中調(diào)用“TSEND_C"通信指令并配置連接參數(shù)和塊參數(shù) 在主程序中調(diào)用發(fā)送通信指令,,進(jìn)入“Projecttree">“PLC_1">“Programblock
西門子PLC模塊6ES7516-3TN00-0AB0詳細(xì)說(shuō)明
用于 S7-300/C7/ET 200,, 3,,3V Nflash,,8 MByte

??為保證系統(tǒng)穩(wěn)定運(yùn)行,系統(tǒng)CPU應(yīng)避免長(zhǎng)時(shí)間滿負(fù)荷運(yùn)作,,應(yīng)用程序CPU占用不宜過(guò)高,。客戶需要在調(diào)試階段監(jiān)測(cè)應(yīng)用程序各個(gè)進(jìn)程線程占用情況,,對(duì)占用過(guò)高的進(jìn)程線程進(jìn)行優(yōu)化,。因CE自身不帶進(jìn)程線程系統(tǒng)占用查看工具,我們?cè)黾恿薃ppHelper助手工具方便客戶使用,。
??在之前的技術(shù)文章《CE應(yīng)用程序助手簡(jiǎn)介》中簡(jiǎn)單介紹過(guò)英創(chuàng)AppHelper應(yīng)用程序助手,,本文將詳細(xì)介紹AppHelper的使用方法。
??AppHelper查看方法
??客戶在自制底板上只要引出了網(wǎng)絡(luò),,USBOTG,,DEBUG調(diào)試串口,或板子其它串口任意之一便可以查看AppHelper信息,。
??網(wǎng)絡(luò)方式
??通過(guò)telnet登錄上板子,,運(yùn)行命令sysinfo,即可獲得AppHelper打印的進(jìn)程線程信息,。

??telnet模式打印示例圖
??USBOTG方式
??使用AHC工具(使用方法見本文下一節(jié))配置AppHelper輸出為COM1,。連接上板子USBOTG口,,板子將以虛擬串口形式被PC識(shí)別。使用任意串口工具向該串口輸出任意三個(gè)字符(任意波特率),,即可獲得AppHelper打印的進(jìn)程線程信息,。

??USBOTG,DEBUG及其它串口打印示例圖
??DEBUG調(diào)試串口方式
??使用AHC工具(使用方法見本文下一節(jié))配置AppHelper輸出為DEBUG,。連接板子的DEBUG串口,,PC端使用任意串口工具,設(shè)置波特率115200,,向DEBUG口輸出任意三個(gè)字符,,即可獲得AppHelper打印的進(jìn)程線程信息。
??串口方式
??將底板上引出,,且客戶應(yīng)用程序未使用的串口連接上PC,。使用AHC工具(使用方法見本文下一節(jié))配置好串口號(hào)及波特率。PC端使用任意串口工具,,用設(shè)定的波特率向該串口輸出任意三個(gè)字符,,即可獲得AppHelper打印的進(jìn)程線程信息。
??AHC工具使用介紹
??AHC工具即AppHelper Config工具,,用于設(shè)置AppHelper打印信息的輸出位置,。有兩種辦法進(jìn)行設(shè)置。
??控制面板方式
??在板子控制面板中運(yùn)行AHC工具,。

??選擇好輸出信息的串口及波特率(其中COM1為USBOTG),,點(diǎn)擊OK鍵保存配置,板子重啟后配置生效,。

??telnet方式
??通過(guò)telnet登錄上板子,,執(zhí)行命令A(yù)HC port [baud]
??參數(shù)port:串口號(hào),值為0-6,,0表示DEBUG串口,,1表示USBOTG轉(zhuǎn)虛擬串口,2-6分別表示板子的COM2-COM6,。
??參數(shù)baud:波特率,,可選參數(shù),如果不填表示保持原波特率,,支持1200,,2400,4800,,9600,,19200,38400,57600,,115200,。當(dāng)port為0時(shí),baud固定為115200,,當(dāng)port為1時(shí),,baud值不生效。

??命令執(zhí)行后,,DEBUG口可以看到打印提示信息,。

??打印格式說(shuō)明
??打印結(jié)果為數(shù)行,其中每行的格式均為:類型 ID號(hào) 占用情況 名稱
??以下圖一次打印的部分截圖為例:

??類型
??PID表示為process進(jìn)程,。TID表示為上面進(jìn)程下的thread線程,。
??ID號(hào)
??即進(jìn)程ID值或線程ID值。
??占用情況
??顯示格式為 K n% U m% total%
??n值為該進(jìn)程或線程在Kernel系統(tǒng)層的占用
??m值為該進(jìn)程或線程在User用戶層的占用
??total值為總占用,,它應(yīng)當(dāng)?shù)扔趎+m的和
??進(jìn)程下各個(gè)線程total占用和應(yīng)當(dāng)?shù)扔谶M(jìn)程的total占用
??名稱
??進(jìn)程名即EXE的名稱,,線程默認(rèn)沒有名稱,下一節(jié)會(huì)介紹如何給線程命名,,從而能在AppHelper中顯示出來(lái),。
??進(jìn)程及線程監(jiān)視說(shuō)明
??AppHelper會(huì)打印系統(tǒng)下所有的進(jìn)程的CPU占用信息。
??只有在\NandFlash目錄下的exe生成的進(jìn)程會(huì)額外打印出它下面所有線程的CPU占用信息,。
??默認(rèn)情況下,,生成的線程只有ID號(hào),沒有名稱,,如果線程較多會(huì)不便于查看,。我們可以通過(guò)簡(jiǎn)單代碼給線程命名。
??以光盤里的串口例程SPT_HEX為例:
??添加一個(gè)結(jié)構(gòu)體的定義
??typedef struct _THREAD_INDEX