0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

西门子S7-200PPI通信协议

1bGT_GKYXT1508 来源:未知 作者:胡薇 2018-05-23 16:51 次阅读

PPI通信协议是一种主从式的通信协议,上位机即PC机为主,PLC为从。通信开始由计算机发起,PLC予以响应。

1)、计算机按通信任务,用一定格式,向PLC发送通信命令。

2)、PLC收到命令后,进行命令校验,如无误,则向计算机发送数据E5H或F9H,作出初步应答。

3)、计算机收到初步应答后,再向PLC发送SD DA SA FCFCS ED确认命令。

这里,SD为起始字符,为10H;DA为目的,即PLC地址02H;SA为数据源,即计算机地址00H;FC为功能码,取5CH;FCS为SA、DA、FC和的256余数,为5EH;末字节ED为结束符,也是16H。如按以上设定的计算机及PLC地址,则发送10、02、00、5C、5E、及16,6个字节的十六进制数据,以确认所发命令。

4)、PLC收到此确认后,执行计算机所发送的通信命令,并向计算机返回相应数据。它的通信过程要往复两次才完成一次的通信,比较麻烦,但较严谨,不易出错。

SD LELER SD DASA FC DASPSSAP DU FCS ED

SD:(Start Delimiter)开始定界符,占1字节,为68H

LE:(Length)报文数据长度,占1字节,标明报文以字节计,从DA到DU的长度;

LER:(Repeated Length)重复数据长度,同LE

SD: (Start Delimiter)开始定界符(68H)

DA:(DestinationAddress)目标地址,占1字节,指PLC在PPI上地址,一台PLC时,一般为02,多台PLC时,则各有各的地址;

SA:(Source Address)源地址,占1字节,指计算机在PPI上地址,一般为00;

FC:(Function Code)功能码,占1字节,6CH一般为读数据,7CH一般为写数据

DSAP:(Destination Service Access Point)目的服务存取点,占多个字节

SSAP:(Source Service Access Point)源服务存取点,占多个字节

DU:(Data Unit)数据单元,占多个字节

FCS:(Frame CheckSequence)占1字节,从DA到DU之间的校验和的256余数;

ED:(End Delimiter)结束分界符,占1字节,为16H

命令类型

1)读命令读命令长度都是33个字节。字节0~21,都是相同的,为:“68 1B 1B 68 02 00 6C 3201 00 00 00 00 00 0E 00 00 04 01 12 0A 10”。而从字节22开始,将根据读取数据的软器件类型及地址的不同而不同。

字节22,表示读取数据的单位。为01时,1bit;为02时,1字节;为04时,1字;为06时,双字。

字节23,恒0。

字节24,表示数据个数。01,表示一次读一个数据。如为读字节,最多可读208个字节,即可设为DEH。

字节25,恒0.

字节26,表示软器件类型。为01时,V存储器;为00时,其它。

字节27,也表示软器件类型。为04时,S;为05时,SM;为06时,AI;为07时AQ;为1E时,C;为81时,I;为82时,Q;为83时,M;为84时,V;为1F时,T。

字节28、29及30,软器件偏移量指针(存储器地址乘8),如:VB100,存储器地址为100,偏移量为800,转换成十六进制就是320H,则字节28到30这三个字节就是00、03、及20.

字节31、32为FCS和ED。

返回数据与发送命令格式数据相同,但包含一条数据。具体是:

SD LELER SD DASA FC DASPSSAP DU FCS ED

这里的SD、LE、Ler、SD、SA及FC与命令含义相同。但SD为PLC地址,DA为计算机地址。此外:

字节16:数据块占用的字节数,即从字节21到校验和前的字节数。一条数据时:字,为06;双字,为08;其它为05.

字节22:数据类型,读字节为04.

字节23、24:读字节时,为数据个数,单位以位计,1个字节为08;2个字节为10(16进制计),余类推。

字节25及其后至校验和之前,为返回所读值。

如读VB100开始3个字节,其命令码为:

68 1B 1B 68 02 00 6C 32 01 00 0000 00 00 0E 00 00 04 01 12 0A 1002000300 01 84 00 03 20 8D 16(红色02为字节为单位,03为读3个字节)

68 1B 1B 68 02 00 6C 3201 00 00 00 00 00 0E 00 00 04 01 12 0A 10 04 00 01 00 01 84 00 0D 08 84 16

返回码:

68 18 18 68 00 02 08 32 03 00 0000 00 00 02 00 07 00 00 04 01 FF 04 00 1899 34 568B 16

(这里红色99、34、56分别为VB100、VB101、VB102的值)

2)写命令写一个字节,命令长为38个字节,字节0~字节21为:

6820 2068 02 00 7C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10

写一个字,命令长为39个字节,字节0~字节21为:

6821 2168 02 00 7C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10

写一个双字数据,命令长为41个字节,字节0~21为:

68 23 23 68 02 00 7C 32 01 00 0000 00 00 0E 00 00 04 01 12 0A 10

字节22~字节30,为写入数据的长、存储器类型、存储器类型、存储器偏移量。这些与读数据的命令相同。字节32如果是写入的是位数据,这一字节为03,,其它则为04.

字节34写入数据的位数:01:1位,08:1字节,10H:1字,20H:1双字。

字节35~字节40为校验码、结束符。

如果写入的是位、字节数据,字节35就是写入的值,字节36为00,字节37为校验码,字节38为16H、结束码。如果写入的是字数据(双字节),字节35、字节36就是写入的值,字节37为校验码,字节38为16H、结束码.如果写入的是双字数据(4字节),字节35~字节38就是写入的值,字节39为校验码,字节40为16H、结束码。

需要注意颜色字体的功能

如写入QB0=FF,其命令为:

68 20 20 68 02 00 7C 32 01 00 0000 00 00 0E 000505 01 12 0A 100200 01 00 008200 00 0000 04 0008FF86 16

如协议QD0=FF,其命令是:

68 23 23 68 02 00 7C 32 01 00 0000 00 00 0E 000805 01 12 0A 100600 01 00 00820000 00 00 04 0020FF FF FF FF A2 16

如写入VB100=12,其命令如下:

68 20 20 68 02 00 7C 32 01 00 0000 00 00 0E 000505 01 12 0A 100200 01 00 018400 03 2000 04 000812BF16

PLC返回数据E5后,确认写入命令,发送以下数据:

10 02 00 5C 5E 16

PLC返回数据E5后,写入成功。

如写入VW0=4660,其命令如下:

68 21 21 68 02 00 7C 32 01 00 0000 00 00 0E 00 06 05 01 12 0A 10 04 00 01 00 01 84 00 00 00 00 04 00 10 12 34DB 16

如写入VW100=1234H,其命令如下:

68 21 21 68 02 00 7C 32 01 00 0000 00 00 0E 000605 01 12 0A 100400 01 00 018400 032000 04 001012 34FE 16

写入VD0=FFFFFFFFH

68 23 23 68 02 00 7C 32 01 0000 00 00 00 0E 00 08 05 01 12 0A 10 06 00 01 00 01 84 00 00 00 00 04 00 20 FFFF FF FF A5 16

PLC返回数据E5后,确认写入命令,发送以下数据:

10 02 00 5C 5E 16

PLC返回数据E5后,写入成功。

请注意以上红体字的含义。

以上命令如执行成功,则返回

68 12 12 68 00 02 08 32 03 00 0000 00 00 02 00 01 00 00 05 01 FF 47 16

否则返回:

68 0F 0F 68 00 02 08 32 02 00 0000 00 00 00 00 00 85 00 C3 16

3)STOP命令 stop命令使得S7-200CPU从run状态转换到stop状态(此时cpu模块上的模式开关应处于run或term位置)。计算机发出如下命令:

68 1D 1D 68 02 00 6C 32 01 00 0000 00 00 10 00 00 29 00 00 00 00 00 09 50 5F 50 52 4F 47 52 41 4D AA 16

PLC返回:E5,同时PLC即转为stop状态。

但计算机再发确认报文(10 02 00 5C 5E 16)

PLC将返回:68 10 10 68 00 02 08 32 03 00 00 00 00 00 01 00 00 00 00 29 69 16

到此,才算完成这个通信过程。

4)RUN命令 run命令使得S7-200 cpu从stop状态转换到run状态(此时cpu模块上的模式开关应处于run或term位置)。PC机发出如下命令:

68 21 21 68 02 00 6C 32 01 00 0000 00 00 14 00 00 28 00 00 00 00 00 00 FD 00 00 09 50 5F 50 52 4F 47 52 41 4DAA 16

PLC返回:E5,同时PLC即转为RUN状态。

但计算机再发确认报文(10 02 00 5C 5E 16)

PLC将返回:68 10 10 68 00 02 08 32 03 00 00 00 00 00 01 00 00 00 00 29 69 16

至此,才算完成这个通信过程。

注:以上介绍的不是西门子发布的正式通信协议,还有其它内容。

建议结合些通信的例子来进行测试。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 西门子
    +关注

    关注

    94

    文章

    3034

    浏览量

    115789
  • S7-200
    +关注

    关注

    13

    文章

    408

    浏览量

    50383

原文标题:西门子S7-200PPI通信协议

文章出处:【微信号:GKYXT1508,微信公众号:工控云学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    西门子plc200编程实例详解

    S7-200系列包括多种不同型号的CPU模块和扩展模块,可以根据具体的应用需求进行选择和配置。其主要特点包括:高性能的CPU、丰富的指令集、强大的网络通信功能以及易于使用的编程软件等。 在编程方面,西门子PLC
    的头像 发表于 10-22 14:38 627次阅读

    教程-西门子S7协议转换为HTTP协议

    本章要实现一个流程:EG8200采集西门子S7-200Smart的数据,并组装成JSON格式通过HTTP上报应用平台。
    的头像 发表于 10-12 16:18 314次阅读
    教程-<b class='flag-5'>西门子</b><b class='flag-5'>S7</b><b class='flag-5'>协议</b>转换为HTTP<b class='flag-5'>协议</b>

    EG网关采集西门子S7-200smart转Modbus协议

    通过EG边缘计算网关,用户可以轻松实现西门子S7-200 Smart PLC数据的采集,并将其转换为标准Modbus协议输出。这种跨协议的数据转换方案极大简化了工业系统的集成,使不同品
    的头像 发表于 09-10 10:42 499次阅读
    EG网关采集<b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b>smart转Modbus<b class='flag-5'>协议</b>

    西门子PLC不得不说的事:S7-200SMART通信端口及连接方式

    今天我们来聊聊西门子S7-200 SMART的“通信大法”!挺简单的,咱们来捋捋~ S7-200 SMART 是西门子公司推出的一款面向小型
    的头像 发表于 08-27 17:31 1036次阅读
    <b class='flag-5'>西门子</b>PLC不得不说的事:<b class='flag-5'>S7-200</b>SMART<b class='flag-5'>通信</b>端口及连接方式

    西门子 S7 通信协议大揭秘

    什么是S7协议 有网友说,如果 S7 是一辆汽车,它可能看起来像这样: 实际上,西门子S7协议
    的头像 发表于 08-12 14:21 729次阅读
    <b class='flag-5'>西门子</b> <b class='flag-5'>S7</b> <b class='flag-5'>通信协议</b>大揭秘

    西门子总线协议有哪些

    西门子(Siemens)作为工业自动化领域的领先企业,其总线协议在自动化系统中发挥着重要作用。西门子总线协议主要包括了多种类型,这些协议支持
    的头像 发表于 08-05 16:09 1013次阅读

    S7协议读取西门子S7-200 Smart PLC数据

    西门子S7-200 Smart PLC因其稳定性和易用性而广泛应用。通过使用S7协议,可以实现对PLC数据的高效读取和控制。本文将详细介绍如何使用S
    的头像 发表于 07-11 11:55 5658次阅读
    <b class='flag-5'>S7</b><b class='flag-5'>协议</b>读取<b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b> Smart PLC数据

    西门子200plc与电脑连接步骤

    西门子S7-200 PLC是一种广泛应用的小型可编程逻辑控制器,它具有高度的可靠性和灵活性,适用于各种工业自动化应用。为了实现与电脑的连接,我们需要进行一系列的步骤。 1. 准备工具和材料 西门子
    的头像 发表于 07-01 10:02 8372次阅读

    宏集物联网工控屏通过 S7 ETH 协议采集西门子 1200 PLC 数据

    上周我们分享了宏集HMI通过S7 MPI协议采集西门子400 PLC数据的操作步骤。本周,我们将继续带来干货,重点介绍宏集HMI如何通过S7 ETH
    的头像 发表于 06-21 16:02 523次阅读
    宏集物联网工控屏通过 <b class='flag-5'>S7</b> ETH <b class='flag-5'>协议</b>采集<b class='flag-5'>西门子</b> 1200 PLC 数据

    西门子S7协议与TCP协议的区别

    在工业自动化领域,通信协议的选择对于确保设备间的顺畅通信和数据的可靠传输至关重要。西门子S7协议和TCP
    的头像 发表于 06-19 15:54 3555次阅读

    干货分享:宏集物联网HMI通过S7 MPI协议采集西门子400PLC数据

    宏集物联网HMI集成了多个驱动来适配西门子200、300、400、1200、1500、LOGO等系列PLC,本文主要介绍宏集HMI通过S7 MPI协议采集
    的头像 发表于 06-13 13:39 572次阅读
    干货分享:宏集物联网HMI通过<b class='flag-5'>S7</b> MPI<b class='flag-5'>协议</b>采集<b class='flag-5'>西门子</b>400PLC数据

    工业智能网关通过串口/网口实现西门子PLC实时通信

    的,只有在S7-200S7-200Smart中直接集成了串口,同时协议也具备多样性,导致西门子PLC与上位机的通信往往会受到干扰,要么上位
    的头像 发表于 06-13 10:46 534次阅读
    工业智能网关通过串口/网口实现<b class='flag-5'>西门子</b>PLC实时<b class='flag-5'>通信</b>

    西门子plc模块型号详解

    的模块型号,以帮助您更好地了解和选择适合自己需求的PLC模块。 西门子S7系列PLC模块 西门子S7系列PLC是其最经典的PLC产品系列,包括S7-
    的头像 发表于 06-11 16:18 5875次阅读

    485口还是网口?西门子PLC通讯方式到底怎么选?

    西门子PLC都有一定的了解,但要你说出西门子PLC各种通信方式的特点,相信很多人都不能完整答出。下面给大家介绍几种常见的西门子通信方式及其
    的头像 发表于 04-24 11:04 1214次阅读
    485口还是网口?<b class='flag-5'>西门子</b>PLC通讯方式到底怎么选?

    西门子S7-200 Smart PLC加密设置全面指南

    本文将详细介绍西门子S7-200 Smart PLC的加密设置方法,帮助用户更好地保护PLC程序的安全。
    发表于 03-27 10:14 1.1w次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-200</b> Smart PLC加密设置全面指南