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

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

3天内不再提示

一个使用CP进行通讯的程序

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2020-09-04 17:31 次阅读

前段时间读一位网友给发来的程序,发现了一个使用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。

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

    关注

    112

    文章

    16191

    浏览量

    177359
  • CP
    CP
    +关注

    关注

    3

    文章

    35

    浏览量

    25610
  • 通讯
    +关注

    关注

    9

    文章

    893

    浏览量

    34830

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

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

收藏 人收藏

    评论

    相关推荐

    CP测试与FT测试有什么区别

    (Chip Probing,晶圆探针测试)和FT(Final Test,最终测试)是两重要的环节,它们承担了不同的任务,使用不同的设备和方法,但都是为了保证产品的质量与可靠性。 基础概念:CP测试和FT测试 要理解CP和FT的
    的头像 发表于 11-22 11:23 93次阅读

    CP测试和WAT测试有什么区别

    和测试过程中,CP测试(Chip Probing)和WAT测试(Wafer Acceptance Test)是两非常重要的测试环节。尽管它们都在晶圆(Wafer)阶段进行,但二者的目的、测试对象、测试内容和作用是有显著不同的。
    的头像 发表于 11-22 10:52 62次阅读
    <b class='flag-5'>CP</b>测试和WAT测试有什么区别

    6轴控制程序,带串口通讯

    6轴控制程序,带串口通讯
    发表于 11-09 14:08 0次下载

    tga2963-cp

    TGA2963-CP产品概述TGA2963-CP款高性能的功率放大器,专为宽带无线通信和射频应用设计。它结合了卓越的增益、输出功率和线性度,能够满足现代通信系统对高质量信号传输的严格要求
    发表于 10-21 09:36 0次下载

    TGA2623-CP

    TGA2623-CP产品概述TGA2623-CP款高性能的功率放大器,专为宽带无线通信和射频应用设计。它结合了卓越的增益、输出功率和线性度,能够满足现代通信系统对高质量信号传输的严格要求
    发表于 10-21 09:35 0次下载

    TGA2622-CP

    TGA2622-CP产品概述TGA2622-CP款高性能的功率放大器,专为宽带无线通信和射频应用设计。该产品结合了优秀的增益、输出功率和线性度,能够满足现代通信系统对高质量信号传输的严格要求
    发表于 10-21 09:34 0次下载

    TGA2590-CP

    TGA2590-CP 产品概述TGA2590-CP款高性能的功率放大器,专为宽带无线通信和射频应用设计。它在多个频段内提供卓越的增益、输出功率和线性度,能够满足现代通信系统对信号质量和稳定性
    发表于 10-21 09:34 0次下载

    TGA2578-CP

    TGA2578-CP 产品概述TGA2578-CP款高性能的功率放大器,专为宽带无线通信和射频应用设计。凭借其卓越的增益、输出功率和线性度,TGA2578-CP 能够满足现代通信
    发表于 10-21 09:32 0次下载

    TGA2239-CP

    TGA2239-CP 产品概述TGA2239-CP款高性能的功率放大器,专为宽带无线通信和射频应用设计。它在多个频段内提供卓越的增益和输出功率,适合现代通信系统的需求。TGA2239-C
    发表于 10-21 09:26 0次下载

    TGA2238-CP

    TGA2238-CP产品概述TGA2238-CP款高性能的功率放大器,专为宽带无线通信和射频应用设计。它在多个频段内提供卓越的增益和输出功率,适合各种现代通信系统。TGA2238-CP
    发表于 10-21 09:26 0次下载

    变频器通讯梯形程序

    ABB变频器ACS510MODBUS通讯梯形程序
    发表于 09-25 11:22 1次下载

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

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

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

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

    vim编写程序后怎么运行

    当你用 Vim 编写完程序后,你需要执行系列步骤来运行程序。下面是详尽的说明: 保存文件:在 Vim 编辑器中,按下 Esc 键,然后
    的头像 发表于 11-28 15:27 3430次阅读

    c源程序至少包括函数么

    C源程序至少包括函数。 C语言是种广泛应用于嵌入式系统和操作系统的
    的头像 发表于 11-26 09:01 1054次阅读