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

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

3天内不再提示

使用CP进行通讯的程序

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2020-10-28 10:23 次阅读

前段时间读一位网友给发来的程序,发现了一个使用CP进行通讯的程序,我对CP的控制很感兴趣,就查找了下相关介绍,在这里和大家分享一下.

接受CP传出的数据

FC 12 PNIO_RECV:

工作原理

程序块 PNIO_RECV用于在 CP 的 PROFINET IO 控制器模式或 PROFINET IO 设备模式下接收数据。

1.作为PROFINET IO控制器运行

该块接收了来自PROFINETIO设备的过程数据(控制器输入)以及来自指定输入区域内的PROFINET IO设备的IO提供者状态(IOPS)。

2.作为PROFINET IO设备运行

该块接收通过PROFINETIO控制器传送的数据(已组态的IO地址)和PROFINET IO控制器的IO提供者状态(IOPS),并将其写入到PROFINETIO设备的CPU上为过程输出保留的数据区内。

IO接口定义

CPLADDR : IN 模块起始地址

MODE:IN

MODE X0H:- IO控制器模式- IO设备模式(无并行操作)- Y = 选择IO控制器IO设备模式;X = 选择在CHECK_IOPS中仅传送组消息还是同时在IOPS中传送状态位。
X1H:IO设备模式(同时使用两个模式) ?只要CP不同时作为IO控制器和IO设备操作,就仍可继续使用版本1.0的FC
0YH在IOPS中传送状态位。 当MODE=0时,FC V2.0及以上版本的特性与FC V1.0版本相同
8YH限制CHECK_IOPS中的组消息;IOPS中无状态位 当MODE=0和MODE = 1时,FC V3.0及以上版本的特性与FC V2.0版本相同

RECV IN_OUT

RECV 存储器位区 指定地址和长度
数据块区 IO控制器模式:
长度应与所组态的分布式IO的总长度相匹配,据此也可传送地址间距。
长度也可以比分布式I/O的总长度短,例如,当块在OB中多次被调用时。然而,总长度必须至少能满足一次调用需要。
IO设备模式:
数据结构根据在PROFINET IO控制器链上为此PROFINET IO设备组态的输出模块的插槽的顺序获得的,并且它们的长度没有地址间距。

LENINPUT

LEN 数值 > 0用户可在CP文档中的性能数据中查找要传送的输出数据的最大总长度。 以字节为单位的将要传送的数据区的长度。
无论如何组态,将始终从地址0开始传送数据。请注意,包括长度为1的IO地址"0"。
控制器和设备模式的最大总长度可以不同 IO控制器模式:
1.必须在此指定设备的最高组态地址。各个区域不会归组在一起。
如果多次调用块,LEN也可能比最高地址短。应至少在一个调用中指定最高地址(比较"RECV"参数)。
2.数据将按照逻辑地址的次序进行传送(仅用于PROFIBUS DP)。
IO设备模式:
1.按在PROFINET IO控制器链上为此PROFINET IO设备组态的输入模块的插槽的顺序传送数据。2.注意事项:
必须确保此处编程的长度和PROFINET IO控制器的组态一致。为设备传送包括所有间距的整个数据区长度

NDR OUTPUT

0: -
1:接受数据
该参数指示是否无错完成该作业。

ERROR OUTPUT

0: -
1:错误
故障代码

STATUS OUTPUT状态代码

CHECK_IOPS OUTPUT 0: 所有IOPS均设置为GOOD 指示是否需要对IOPS状态区进行评估的组消息。
1: 至少一个IOPS设置为BAD 无论MODE参数如何,始终返回CHECK_IOPS。

IOPS OUTPUT

数据区的地址指向下列两个位置之一:
1存储器位区
2数据块区
IO提供者状态每一用户数据字节传送一个状态位。要求:在MODE参数中请求传送(MODE=0或MODE=1)。
长度:对于最大值,请参见本手册与设备相关的B部分的"性能数据"部分。这对控制器或设备模式有所不同 该参数仅在该模式下相关。长度信息取决于RECV参数中的长度(每字节一位) =(长度LEN + 7/ 8)控制器模式:地址间距也根据RECV参数进行传送。
设备模式:地址间距不传送。该块将启动地址0的状态传送。
注意:ANY指针的最小长度为
(长度LEN + 7/8)

ADD_INFO OUTPUT

附加诊断信息在控制器模式中:
0: 无报警
>0: 未决报警的数目
在设备模式中,参数始终= 0
参数扩展注意事项:
当没有在PROFINET IO控制器上组态INPUT地址时,也更新ADD_INFO参数。这种情况下,通过长度LEN > 0 (例如,LEN = 1字节)调用PNIO_RECV块。然后传送1字节的地址间距。
参数扩展可用于从下列固化程序版本起的CP:
从固化程序V2.0起的CP 343-1 (EX30)
从固化程序V2.0起的CP 343-1 LeaN (CX10)
从固化程序V1.0起的CP 343-1 Advanced (GX30)
在较早的固化程序版本中,保留该参数

例:

call fc 12 (
CPLADDR :=W#16#0100,
MODE :=B#16#80,
LEN :=7,
IOPS :=P#DB11.DBX7.0 BYTE 1,
NDR :=M 74.0,
ERROR :=M 74.1,
STATUS :=MW76,
CHECK_IOPS :=M74.2,
ADD_INFO :=MW 26,
RECV :=P#DB11.DBX0.0 BYTE 7 )
//调用PNIO_RECV
//来自硬件配置的模块地址
//控制器模式或设备模式;
//不传送IOCS状态位。
//数据区长度
//DB11中的每个接收数据字节对应一个位状态
//用于返回参数NDR的地址
//用于返回参数ERROR的地址
//用于返回参数STATUS的地址
//用于返回参数CHECK_IOPS的地址
//诊断消息
//DB11中的接收数据 (7个字节)

FC11 PNIO_SEND给CP发出的数据

工作原理

程序块 PNIO_SEND用于在 CP 的 PROFINET IO 控制器模式或 PROFINET IO 设备模式下传送数据。

1.作为PROFINET IO控制器运行

块将指定输出区的过程数据(输出)传送到CP以便转发到PROFINET IO设备。块以状态代码形式返回PROFINET IO设备输出的IO使用者状态(IOCS)。

2.作为PROFINET IO设备运行

块读取PROFINETIO设备上CPU的预处理过程输入,并将它们传送给PROFINET IO控制器(已组态的I地址);块还将返回作为状态码的PROFINET IO控制器的IO使用者状态(IOCS)。

与FC12不同的IO只有一个:SENDIN_OUT

数据区的地址指向下列两个位置之一: 指定地址和长度IO控制器模式:长度应与所组态的分布式IO的总长度相匹配,据此也可传送地址间距。
1存储器位区
2数据块区
长度也可以比分布式I/O的总长度短,例如,当块在OB中多次被调用时。然而,总长度必须至少能满足一次调用需要。
IO设备模式:数据结构根据在PROFINET IO控制器链上为此PROFINET IO设备组态的输入模块的插槽的顺序获得的,并且它们的长度没有地址间距。注意:
1.无论如何组态地址(不管所组态的最低地址如何),块将开始传送地址0上的数据。
2.不允许指定I/O区,因为在I/O可接受数据之前,必须检查IOCS是否是GOOD。

原文标题:STEP7关于PLC所带PC的用法读取控制块

文章出处:【微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    4972

    文章

    12219

    浏览量

    454675
  • PC
    PC
    +关注

    关注

    9

    文章

    1949

    浏览量

    152770
  • 控制块
    +关注

    关注

    0

    文章

    5

    浏览量

    6372
  • STEP7
    +关注

    关注

    4

    文章

    102

    浏览量

    32210

原文标题:STEP7关于PLC所带PC的用法读取控制块

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    免费的PLC远程编程工具,支持欧姆龙 CP/CH/CL/CM/CJ PLC远程程序上下载

    【技术分享】远程透传网关-单网口快速实现欧姆龙 CP/CH/CL/CM/CJ PLC程序远程上下载
    的头像 发表于 01-18 10:00 176次阅读
    免费的PLC远程编程工具,支持欧姆龙 <b class='flag-5'>CP</b>/CH/CL/CM/CJ PLC远程<b class='flag-5'>程序</b>上下载

    PLC编程:MODBUS通讯程序的交叉引用怎么用

    他做的MODBUS通讯程序,原本只需要从通讯中读来1个字/位,然而却发现交叉引用中提示占用了4个字节, 即一个DWORD,问是怎么回事。
    发表于 12-13 09:18 341次阅读
    PLC编程:MODBUS<b class='flag-5'>通讯</b><b class='flag-5'>程序</b>的交叉引用怎么用

    芯片的CP测试&amp;FT测试相关术语

    对于测试项来说,有些测试项在CP时会进行测试,在FT时就不用再次进行测试了,节省了FT测试时间,但也有很多公司只做FT不做CP(如果FT和封装yield高的话,
    发表于 11-01 10:32 985次阅读
    芯片的<b class='flag-5'>CP</b>测试&amp;FT测试相关术语

    CP Software Cluster示例程序介绍

    AUTOSAR组织展示了基于ST Stellar系列单片机实现的CP Software Cluster示例程序,如图3所示。 图3 CP Software Cluster示例程序总览
    的头像 发表于 09-13 17:13 605次阅读
    <b class='flag-5'>CP</b> Software Cluster示例<b class='flag-5'>程序</b>介绍

    cp信号的作用 交流桩CP信号充电流程

    交流桩CP信号充电流程,通过对交流充电桩CP信号流程的解析可了解到交流充电桩的工作原理。 
    发表于 07-21 09:25 10次下载

    新能源汽车交流充电桩CP信号详解

    随着新能源汽车的推广,交流充电桩迎来了巨大的市场需求,人们对车辆充电的便利性、安全性有着越来越高的要求。CP信号主要用于交流充电桩,充电桩和汽车之间只能通过CP信号进行通讯,判断、控制
    的头像 发表于 07-19 15:43 3530次阅读
    新能源汽车交流充电桩<b class='flag-5'>CP</b>信号详解

    欧姆龙cp2e以太网通讯连接力控方法

    JM-ETH-CP转以太网模块采用即插即用设计,不占用 PLC 通讯口,即编程软件/上位机软件通过以太网对 PLC 数据监控的同时,触摸屏可以通过复用接口与 PLC 进行通讯。捷米特J
    的头像 发表于 07-18 09:08 2717次阅读
    欧姆龙<b class='flag-5'>cp</b>2e以太网<b class='flag-5'>通讯</b>连接力控方法

    欧姆龙cp2e以太网通讯设置

    捷米特JM-ETH-CP转以太网模块控,用于欧姆龙 CP1L/ CP1E/ CP1H 系列 PLC 的以太网数据采集,非常方便构建生产管理系统。 支持 FINS/UDP、FINS/T
    的头像 发表于 07-17 09:48 2904次阅读
    欧姆龙<b class='flag-5'>cp</b>2e以太网<b class='flag-5'>通讯</b>设置

    欧姆龙plc以太网通讯设置

    捷米特JM-ETH-CP以太网通讯处理器用于欧姆龙 CP1L/ CP1E/ CP1H 系列 PLC 的以太网数据采集,捷米特JM-ETH-
    的头像 发表于 07-12 16:54 2103次阅读
    欧姆龙plc以太网<b class='flag-5'>通讯</b>设置

    欧姆龙CPomron以太网通讯协议

    捷米特JM-ETH-CP是一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于欧姆龙CP1L/CP1E/
    的头像 发表于 07-07 15:40 605次阅读
    欧姆龙CPomron以太网<b class='flag-5'>通讯</b>协议

    恒讯科技分析:如何使用cp命令在Linux中复制目录?

    ,以及自定义复制过程的各种选项和技术。 我们可以cp在Linux中使用该命令将文件和目录从一个位置复制到另一个位置。它代表“复制”,是文件管理的基本命令行实用程序。 该cp命令遵循复制目录的特定语法。了解命令的基本结构对于成功
    的头像 发表于 06-26 17:14 456次阅读

    芯片中的CP测试是什么?

    之间,是针对整片晶圆中的每一个Die做测试,具体操作是在晶圆制作完成之后,成千上万的裸DIE(未封装的芯片)规则的分布满整个Wafer。由于尚未进行划片封装,只需要将这些裸露在外的芯片管脚,通过探针与测试机台连接,进行芯片测试就是CP
    的头像 发表于 06-10 15:51 3581次阅读
    芯片中的<b class='flag-5'>CP</b>测试是什么?

    S7-300/400的CPx43-1 MODBUS TCP通讯案例

    该功能块库可以用于S7-300单站通过CP343-1或S7-400单站通过CP443-1进行ModbusTCP通讯
    的头像 发表于 05-31 11:12 2750次阅读
    S7-300/400的CPx43-1 MODBUS TCP<b class='flag-5'>通讯</b>案例

    天拓分享:西门子PLC S7-300系列通讯模块CP341调试方法

    可以实现多种不同协议的通讯方式,本文下面重点介绍一下CP341通讯模块的调试方法,供用户在选型和使用过程中进行参考。
    的头像 发表于 05-25 10:15 1383次阅读

    西门子博图TIA的Modbus主站通讯

    西门子PLC因其市场占有率较高,且被广大用户使用,应用比较广泛,而其博图TIA平台得到了推广应用,本文将介绍使用CP341进行Modbus 主站通讯
    的头像 发表于 05-19 09:15 1112次阅读
    西门子博图TIA的Modbus主站<b class='flag-5'>通讯</b>