0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)工控主板通過(guò)PPI協(xié)議連接西門子PLC

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-05 11:21 ? 次閱讀

西門子S7-200系列PLC是工業(yè)場(chǎng)合應(yīng)用最廣的現(xiàn)場(chǎng)控制設(shè)備之一,S7-200系列PLC支持自由端口、MPI、PPI和Moddus等通訊方式。自由端口方式需要用戶自己制定通訊協(xié)議,PLC與上位機(jī)兩端都需要編寫(xiě)相應(yīng)的協(xié)議程序,實(shí)現(xiàn)復(fù)雜、難度較高。西門子的Step7 MicroWin編程軟件使用PPI(Point to Point)協(xié)議連接PLC,利用PPI協(xié)議可以調(diào)試\下載PLC程序、傳輸數(shù)據(jù),但西門子并未公開(kāi)PPI協(xié)議內(nèi)容。Modbus是工業(yè)控制現(xiàn)場(chǎng)廣泛應(yīng)用的通訊協(xié)議,在嵌入式領(lǐng)域,嵌入式主板通常采用Modbus與PLC相連,英創(chuàng)嵌入式工控主板就提供了基于串口和TCP的Modbus軟件包,但PLC要支持Modbus協(xié)議同樣需要相應(yīng)的程序編寫(xiě),同時(shí)Modbus協(xié)議會(huì)占用一定的PLC中斷和代碼資源。

S7-200系列PLC的編程通訊接口內(nèi)部固化了PPI通訊協(xié)議,如果上位機(jī)軟件能利用PPI協(xié)議讀寫(xiě)PLC,就可以省去PLC的通訊程序編寫(xiě)。為了方便嵌入式工控主板與PLC連接,我們分析了PPI通訊協(xié)議格式,把操作PLC的常用指令封裝成了簡(jiǎn)單的API接口函數(shù),利用這些函數(shù)可以實(shí)現(xiàn)設(shè)置PLC工作模式、讀取PLC型號(hào)信息、讀寫(xiě)PLC存儲(chǔ)器等功能。

ESM6802是預(yù)裝WEC7.0(或Linux)的i.MX6 雙核嵌入式工控主板,板載了雙網(wǎng)口,雙CAN,7串口,4-USB PCIe x1、精簡(jiǎn)ISA等多種通訊接口,同時(shí)ESM6802提供了RGB、LVDS和HDMI三種顯示接口,可以支持從320×240分辨率的低成本LCD到1920×1080的全高清顯示屏。下面將以運(yùn)行WEC7.0操作系統(tǒng)的ESM6802作為上位機(jī),介紹WCE工控主板如何使用PPI協(xié)議連接S7-200 PLC。

1、硬件連接

S7-200系列PLC的編程通訊接口為RS485電平,安裝Step7 MicroWin的PC機(jī)通過(guò)PC/PPI通訊線纜連接PLC。PC/PPI通訊線纜完成了RS232電平到RS485電平的轉(zhuǎn)換,其RS232端與計(jì)算機(jī)串口相連,RS485端與PLC的編程通訊口相連。ESM6802同樣使用PC/PPI線纜連接PLC,ESM6802的COM3口為RS232電平,PC/PPI線可直接插到ESM6802的COM3口上使用,ESM6802與PLC的硬件連接方法如下所示:

圖1ESM6802與S7-200 PLC的硬件連接

2、軟件實(shí)現(xiàn)

PPI是點(diǎn)到點(diǎn)的主從協(xié)議, PLC的通訊接口缺省情況下工作在PPI從(slave)模式,以便接收來(lái)自Step7 MicroWin編程軟件的數(shù)據(jù),Step7 MicroWin自然工作在PPI主(master)模式。ESM6802在與PLC相連時(shí),ESM6802作為上位機(jī)工作在主模式,PLC通訊接口為缺省的從模式。

下面是我們基于PPI協(xié)議封裝的操作PLC的API函數(shù),詳細(xì)的函數(shù)說(shuō)明可參考ppi.h頭文件。

// 功能描述: 設(shè)置相應(yīng)串口的通訊參數(shù)

HANDLE PPI_OpenPort(LPCTSTR lpPortName);

// 功能描述: 關(guān)閉PPI使用的串口設(shè)備

BOOL PPI_ClosePort(HANDLE hPort);

// 功能描述: 設(shè)置ppi通訊的超時(shí)時(shí)間,單位為毫秒。默認(rèn)超時(shí)時(shí)間為ms

int PPI_SetTimeout(HANDLE hPort, int nMilliseconds);

// 功能描述: 設(shè)置兩次ppi通訊之間的間隔時(shí)間,單位為毫秒。默認(rèn)時(shí)間間隔為ms

int PPI_SetPollDelay(HANDLE hPort, int nMilliseconds);

// 功能描述: 設(shè)置設(shè)置本機(jī)的PPI地址,默認(rèn)本機(jī)地址為x00

BOOL PPI_SetLocalAddress(HANDLE hPort, UINT8 bLocalAddr);

// 功能描述: 與指定的PLC握手

int PPI_FindPLC(HANDLE hPort, UINT8 bSlaveAddr);

// 功能描述: 讀取指定PLC的型號(hào)和保護(hù)等級(jí)

int PPI_GetPLCID(HANDLE hPort, UINT8 bSlaveAddr, UINT8 cpuId[], UINT8 *pProtectionLevel);

// 功能描述: 設(shè)置PLC工作在RUN模式或STOP模式

int PPI_SetPlcMode(HANDLE hPort, UINT8 bSlaveAddr, int nMode);

// 功能描述: 讀PLC指定存儲(chǔ)器數(shù)據(jù)

int PPI_Read(HANDLE hPort, UINT8 bSlaveAddr, LPCSTR lpStorageAddress, UINT8 *pNumofRead, UINT8 readData[]);

// 功能描述: 寫(xiě)PLC指定存儲(chǔ)器數(shù)據(jù)

int PPI_Write(HANDLE hPort, UINT8 bSlaveAddr, LPCSTR lpStorageAddress, UINT8 *pNumofWrite, UINT8 writeData[]);

2.1WEC7應(yīng)用PPI API示例

下圖是在WEC7工控主板ESM6802上運(yùn)行的利用PPI API操作PLC的Demo程序,程序?qū)崿F(xiàn)了搜索PLC、設(shè)置PLC工作模式、獲取PLC型號(hào)信息以及讀寫(xiě)PLC存儲(chǔ)器等功能。

圖2在WCE上運(yùn)行的操作PLC的例子程序

2.2Linux應(yīng)用PPI API示例

下圖是在Linux工控主板ESM6802上運(yùn)行的PPI API應(yīng)用示例。用戶運(yùn)行./test_ppi后進(jìn)入命令行操作,可以實(shí)現(xiàn)搜索PLC、設(shè)置PLC工作模式、獲取PLC型號(hào)信息以及讀寫(xiě)PLC存儲(chǔ)器等功能,可以通過(guò)m查看幫助信息,根據(jù)幫助信息對(duì)PLC進(jìn)行操作。

圖3在Linux主板上運(yùn)行的操作PLC的例子程序

ESM6802具有相當(dāng)豐富的通訊接口,與突出控制功能的PLC可以形成良好的功能互補(bǔ),同時(shí)ESM6802對(duì)大屏顯示器的支持也適合用做PLC控制系統(tǒng)的狀態(tài)監(jiān)控人機(jī)交互終端。

PPI API以lib庫(kù)的形式提供,可以在英創(chuàng)所有WEC7 / Linux工控主板上運(yùn)行,圖2、圖3所示的Demo程序提供源代碼參考,感興趣的用戶可與英創(chuàng)聯(lián)系索要。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11171

    瀏覽量

    208480
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6083

    瀏覽量

    35098
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    西門子中繼器怎么連接plc

    西門子中繼器(Siemens Relay)通常用于工業(yè)自動(dòng)化系統(tǒng)中,作為控制和保護(hù)設(shè)備。在與PLC(可編程邏輯控制器)連接時(shí),需要考慮信號(hào)類型、電源要求、接線方式等因素。 1. 了解西門子
    的頭像 發(fā)表于 09-05 09:56 ?230次閱讀

    西門子PLC的復(fù)位操作

    西門子PLC(Programmable Logic Controller,可編程邏輯控制器)是一種廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域的控制設(shè)備。在實(shí)際應(yīng)用過(guò)程中,有時(shí)需要對(duì)PLC進(jìn)行復(fù)位操作,以解決一些程序
    的頭像 發(fā)表于 08-16 17:46 ?1551次閱讀

    S7協(xié)議讀取西門子S7-200 Smart PLC數(shù)據(jù)

    西門子S7-200 Smart PLC因其穩(wěn)定性和易用性而廣泛應(yīng)用。通過(guò)使用S7協(xié)議,可以實(shí)現(xiàn)對(duì)PLC數(shù)據(jù)的高效讀取和控制。本文將詳細(xì)介紹如
    的頭像 發(fā)表于 07-11 11:55 ?4008次閱讀
    S7<b class='flag-5'>協(xié)議</b>讀取<b class='flag-5'>西門子</b>S7-200 Smart <b class='flag-5'>PLC</b>數(shù)據(jù)

    西門子200plc與電腦連接步驟

    西門子S7-200 PLC是一種廣泛應(yīng)用的小型可編程邏輯控制器,它具有高度的可靠性和靈活性,適用于各種工業(yè)自動(dòng)化應(yīng)用。為了實(shí)現(xiàn)與電腦的連接,我們需要進(jìn)行一系列的步驟。 1. 準(zhǔn)備工具和材料 西
    的頭像 發(fā)表于 07-01 10:02 ?6150次閱讀

    宏集物聯(lián)網(wǎng)工控通過(guò) S7 ETH 協(xié)議采集西門子 1200 PLC 數(shù)據(jù)

    上周我們分享了宏集HMI通過(guò)S7 MPI協(xié)議采集西門子400 PLC數(shù)據(jù)的操作步驟。本周,我們將繼續(xù)帶來(lái)干貨,重點(diǎn)介紹宏集HMI如何通過(guò)S7
    的頭像 發(fā)表于 06-21 16:02 ?441次閱讀
    宏集物聯(lián)網(wǎng)<b class='flag-5'>工控</b>屏<b class='flag-5'>通過(guò)</b> S7 ETH <b class='flag-5'>協(xié)議</b>采集<b class='flag-5'>西門子</b> 1200 <b class='flag-5'>PLC</b> 數(shù)據(jù)

    西門子PLC與ABB變頻器通訊怎么實(shí)現(xiàn)

    能力和靈活的通訊接口,結(jié)合ABB變頻器的高性能驅(qū)動(dòng)和控制功能,共同構(gòu)成了工業(yè)自動(dòng)化系統(tǒng)中的核心部分。本文將對(duì)西門子PLC與ABB變頻器通訊的實(shí)現(xiàn)進(jìn)行詳細(xì)闡述,包括通訊協(xié)議、硬件連接、軟
    的頭像 發(fā)表于 06-19 15:29 ?2179次閱讀

    西門子PLC的作用和工作原理

    和廣泛的應(yīng)用范圍,在全球范圍內(nèi)得到了廣泛的應(yīng)用。本文將詳細(xì)闡述西門子PLC的作用和工作原理,并結(jié)合相關(guān)數(shù)字和信息,以期為讀者提供一個(gè)清晰、全面的視角。
    的頭像 發(fā)表于 06-15 11:26 ?1471次閱讀

    西門子PLC的發(fā)展歷史

    創(chuàng)新與突破。本文將詳細(xì)梳理西門子PLC的發(fā)展歷史,并結(jié)合相關(guān)數(shù)字和信息,以期為讀者提供一個(gè)清晰、全面的視角。
    的頭像 發(fā)表于 06-15 11:26 ?1489次閱讀

    西門子PLC總線故障怎么解決

    ,給生產(chǎn)帶來(lái)嚴(yán)重影響。本文將圍繞西門子PLC總線故障,詳細(xì)探討其故障原因、診斷方法及解決方案,以期為相關(guān)技術(shù)人員提供參考。
    的頭像 發(fā)表于 06-13 18:18 ?1893次閱讀

    干貨分享:宏集物聯(lián)網(wǎng)HMI通過(guò)S7 MPI協(xié)議采集西門子400PLC數(shù)據(jù)

    宏集物聯(lián)網(wǎng)HMI集成了多個(gè)驅(qū)動(dòng)來(lái)適配西門子200、300、400、1200、1500、LOGO等系列PLC,本文主要介紹宏集HMI通過(guò)S7 MPI協(xié)議采集
    的頭像 發(fā)表于 06-13 13:39 ?397次閱讀
    干貨分享:宏集物聯(lián)網(wǎng)HMI<b class='flag-5'>通過(guò)</b>S7 MPI<b class='flag-5'>協(xié)議</b>采集<b class='flag-5'>西門子</b>400<b class='flag-5'>PLC</b>數(shù)據(jù)

    工業(yè)智能網(wǎng)關(guān)通過(guò)串口/網(wǎng)口實(shí)現(xiàn)西門子PLC實(shí)時(shí)通信

    的,只有在S7-200和S7-200Smart中直接集成了串口,同時(shí)協(xié)議也具備多樣性,導(dǎo)致西門子PLC與上位機(jī)的通信往往會(huì)受到干擾,要么上位機(jī)適配西門子
    的頭像 發(fā)表于 06-13 10:46 ?422次閱讀
    工業(yè)智能網(wǎng)關(guān)<b class='flag-5'>通過(guò)</b>串口/網(wǎng)口實(shí)現(xiàn)<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>實(shí)時(shí)通信

    西門子plc模塊型號(hào)詳解

    西門子PLC(Programmable Logic Controller,可編程邏輯控制器)是工業(yè)自動(dòng)化領(lǐng)域中非常重要的一種設(shè)備,其模塊化的設(shè)計(jì)使得其應(yīng)用范圍非常廣泛。本文將詳細(xì)介紹西門子PL
    的頭像 發(fā)表于 06-11 16:18 ?4377次閱讀

    485口還是網(wǎng)口?西門子PLC通訊方式到底怎么選?

    對(duì)西門子PLC都有一定的了解,但要你說(shuō)出西門子PLC各種通信方式的特點(diǎn),相信很多人都不能完整答出。下面給大家介紹幾種常見(jiàn)的西門子通信方式及其
    的頭像 發(fā)表于 04-24 11:04 ?1042次閱讀
    485口還是網(wǎng)口?<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>通訊方式到底怎么選?

    西門子網(wǎng)口S7-COMM協(xié)議300 400如何使用?

    : 1、 不帶網(wǎng)口的PLC型號(hào)(即PLC后綴是否帶有PN字樣)請(qǐng)外接CP343-1或CP443-1以太網(wǎng)模塊,同時(shí)使用平臺(tái)的**“西門子3** 43 - 1****以太網(wǎng)” 協(xié)議
    的頭像 發(fā)表于 04-18 16:18 ?764次閱讀
    <b class='flag-5'>西門子</b>網(wǎng)口S7-COMM<b class='flag-5'>協(xié)議</b>300  400如何使用?

    西門子PLC和施耐德PLC區(qū)別

    西門子PLC系統(tǒng)的設(shè)計(jì)、建造工作量小,維護(hù)方便,容易改造,西門子PLC用存儲(chǔ)邏輯代替接線邏輯,大大減少了控制設(shè)備外部的接線,使控制系統(tǒng)設(shè)計(jì)及建造的周期大為縮短,同時(shí)維護(hù)也變得容易起來(lái)。
    發(fā)表于 01-17 10:14 ?1862次閱讀