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

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

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

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

英創(chuàng)信息技術(shù) ? 來源:英創(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ī)兩端都需要編寫相應(yīng)的協(xié)議程序,實(shí)現(xiàn)復(fù)雜、難度較高。西門子的Step7 MicroWin編程軟件使用PPI(Point to Point)協(xié)議連接PLC,利用PPI協(xié)議可以調(diào)試\下載PLC程序、傳輸數(shù)據(jù),但西門子并未公開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)的程序編寫,同時(shí)Modbus協(xié)議會(huì)占用一定的PLC中斷和代碼資源。

S7-200系列PLC的編程通訊接口內(nèi)部固化了PPI通訊協(xié)議,如果上位機(jī)軟件能利用PPI協(xié)議讀寫PLC,就可以省去PLC的通訊程序編寫。為了方便嵌入式工控主板與PLC連接,我們分析了PPI通訊協(xié)議格式,把操作PLC的常用指令封裝成了簡(jiǎn)單的API接口函數(shù),利用這些函數(shù)可以實(shí)現(xiàn)設(shè)置PLC工作模式、讀取PLC型號(hào)信息、讀寫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ī)通過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)模式,以便接收來自Step7 MicroWin編程軟件的數(shù)據(jù),Step7 MicroWin自然工作在PPI主(master)模式。ESM6802在與PLC相連時(shí),ESM6802作為上位機(jī)工作在主模式,PLC通訊接口為缺省的從模式。

下面是我們基于PPI協(xié)議封裝的操作PLC的API函數(shù),詳細(xì)的函數(shù)說明可參考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[]);

// 功能描述: 寫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)信息以及讀寫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)信息以及讀寫PLC存儲(chǔ)器等功能,可以通過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庫的形式提供,可以在英創(chuàng)所有WEC7 / Linux工控主板上運(yùn)行,圖2、圖3所示的Demo程序提供源代碼參考,感興趣的用戶可與英創(chuàng)聯(lián)系索要。

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

    關(guān)注

    87

    文章

    11304

    瀏覽量

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

    關(guān)注

    7

    文章

    6085

    瀏覽量

    35341
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于 EtherCAT 轉(zhuǎn) ProfiNet 網(wǎng)關(guān)達(dá)成西門子 1200 PLC 與伺服電機(jī)通訊連接的應(yīng)用實(shí)例

    一. 案例背景 西門子1200PLC通過捷米特JM-ECTM-PN(EtherCAT轉(zhuǎn)ProfiNet)網(wǎng)關(guān)將松下伺服電機(jī)(包括不限于型號(hào)MHMFO22D1U2M)或EtherCAT協(xié)議
    的頭像 發(fā)表于 12-09 16:29 ?313次閱讀
    基于 EtherCAT 轉(zhuǎn) ProfiNet 網(wǎng)關(guān)達(dá)成<b class='flag-5'>西門子</b> 1200 <b class='flag-5'>PLC</b> 與伺服電機(jī)通訊<b class='flag-5'>連接</b>的應(yīng)用實(shí)例

    NPN和PNP器件與西門子PLC連接與選型

    NPN和PNP器件與西門子PLC連接與選型? ? 傳感器根據(jù)輸出類型可以分為NPN(有人稱為源型傳感器)和PNP(有人稱為漏型傳感器)兩大類;兩種類型的傳感器都有3個(gè)引腳,分別接24V、0V
    的頭像 發(fā)表于 12-03 10:11 ?423次閱讀
    NPN和PNP器件與<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>的<b class='flag-5'>連接</b>與選型

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

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

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

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

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

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

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

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

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

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

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

    宏集物聯(lián)網(wǎng)HMI集成了多個(gè)驅(qū)動(dòng)來適配西門子200、300、400、1200、1500、LOGO等系列PLC,本文主要介紹宏集HMI通過S7 MPI協(xié)議采集
    的頭像 發(fā)表于 06-13 13:39 ?589次閱讀
    干貨分享:宏集物聯(lián)網(wǎng)HMI<b class='flag-5'>通過</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)通過串口/網(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 ?547次閱讀
    工業(yè)智能網(wǎng)關(guān)<b class='flag-5'>通過</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 ?6012次閱讀

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

    對(duì)西門子PLC都有一定的了解,但要你說出西門子PLC各種通信方式的特點(diǎn),相信很多人都不能完整答出。下面給大家介紹幾種常見的西門子通信方式及其
    的頭像 發(fā)表于 04-24 11:04 ?1230次閱讀
    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 ?955次閱讀
    <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ù)也變得容易起來。
    發(fā)表于 01-17 10:14 ?2100次閱讀