• 西门子_TDC_数据耦合小经验


      好久没来博客园了,好像最近博客园服务器硬件出了问题,博客园团队还打算买个服务器。最近一直研究TDC的东西,奶奶的扫把,

    感觉TDC东西就是很复杂,不像S7的LAD/FBD/STL逻辑性强,可以省去很多的中间变量,直接进行地址寻址就行,这也许就是为什么

    TDC的循环扫描时间比S7 400块的原因。下面是最近学习TDC的一些小经验,在此分享一下。

    TDC如果有两个CPU,hwconfig出错

    1、 在TDC硬件配置过程中,如果有两个CPU模块必须组态一个通讯模块:DP、以太网或者MPI的都可以。

    而在S7 400的多值运算(即单机架多CPU)过程中不需要耦合通讯模块,这是S7 400与Simatic TDC之间的区别。

    【TDC单机架单CPU数据耦合】

    本地CPU数据耦合方式需要在本地CPU中创建一块通讯缓存区域;本地CPU耦合方式下
    会分配1MB的地址空间用于数据通讯。

    通过初始化耦合功能块 @LOCAL 初始化所有本地数据耦合,并且监控所有本地数据耦合;
    数据耦合必须在耦合使能后才可以使用。


    1、首先配置硬件

    根据实际硬件配置进行硬件组态

    2、利用 @LOCAL 功能块初始化数据缓冲区域

    3、利用 CTV 功能块定义“通讯通道名”、数据刷新模式、同时定义 “数据虚拟通道名”
    其中通讯通道名 AT、数据虚拟通道名 CRT 是用户自定义的。

    4、利用 NOP 数据缓存功能块定义发送的数据; 需要用到 CTV定义的数据虚拟通道名

    5、利用 CRV 功能块接收数据

    其中 CRV的数据通道名 与 CTV定义的通道名 AT必须一致;数据刷新模式必须一致;

    并接收数据虚拟通道名;

    6、利用 NOP 数据缓存功能块接收缓存中的数据; 需要用到 CRV定义的 "数据虚拟通道名"

    【TDC单机架多CPU数据耦合】

    方式1:

    利用 $Signal 信号的方式进行CPU间的数据交换

    1、对于任意功能块的输出信号,配置其interconnect address

    2、在Global operand 中定义其为 $signal ,并自定义其 “信号名称”

    3、在要通讯的CPU的CFC中,首先采用 NOP 进行数据接收;

    将NOP的 X 端的输入定义为 $signal ,并将 NOP 的X端的名称选择为前面定义的 “信号名称”即可。

    Tip:
    发送和接收的数据类型必须一致
    适用于小数据量的传输


    方式2:
    利用通讯缓存区进行配置

    通讯缓存区进行配置必须有 CP50M0 或者 CP51M1 通讯模板

    1、首先利用 @GLOBAL 对通讯模版 CP50M0或者CP51M1 进行初始化

    初始化可以再任意一块 CPU 中进行


    2、在发送数据方 CPU 中利用 CTV 定义发送通道名、虚拟数据通道

    发送通道名 AT 可以自定义————与后面的接收通道名一致

    虚拟通道名可以自定义————被发送的数据需要连接到虚拟通道中

    3、利用 NOP 在 发送数据方 CPU 中定义需要发送的数据

    4、在接收数据方 CPU 中利用CRV定义接收数据通道名、接收虚拟数据通道

    接收数据通道名AR 必须与发送方的一致

    接收虚拟数据通道名可以自定义———— 接收到的数据连接到虚拟通道中

    5、利用 NOP 在接收数据方 CPU 中接收数据


    Tip:
    两个CPU间必须有通讯模版 CP50M0/CP51M1
    接收和发送的数据类型必须一致


    方式3、
    利用以太网模块 CP51M1进行耦合

    1、必须组态 CP51M1 通讯模板

    2、配置 IP地址、子网掩码、路由器地址(如果在网络段中有路由器的话)

    3、利用@TCP/IP功能块初始化 CP51M1 通讯模板

    4、利用 CTV 发送数据、CRV接收数据; 在一个CPU中既需要有CTV,也必须有CRV

    5、利用 NOP 从虚拟缓存通道中获取数据、或者利用 NOP 将数据发送到虚拟缓存通道

    Tip:
    CRV的数据通道名为: 通道名.通讯方式T或者U-本地端口号(5位数字)

    CTV的数据通道名为: 通道名.通讯方式T或者U-本地端口号.远程通讯IP地址(12位数字)-远程通讯端口号

    适合于与其他站点通讯,比方说S7 300/400 PLC的站点

  • 相关阅读:
    性能问题分析-OOM内存溢出
    JVM介绍及参数配置
    性能问题分析-CPU偏高
    性能测试常见术语浅析
    性能测试中TPS上不去的几种原因浅析
    MyBatis拦截器:给参数对象属性赋值
    springboot读取配置文件的顺序
    ElasticSearch中文分词
    springboot和ELK搭建配置详情
    java命令行介绍
  • 原文地址:https://www.cnblogs.com/volcanol/p/2735166.html
Copyright © 2020-2023  润新知