博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
西门子_TDC_数据耦合小经验
阅读量:5835 次
发布时间:2019-06-18

本文共 1807 字,大约阅读时间需要 6 分钟。

  好久没来博客园了,好像最近博客园服务器硬件出了问题,博客园团队还打算买个服务器。最近一直研究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的站点

转载于:https://www.cnblogs.com/volcanol/archive/2012/10/23/2735166.html

你可能感兴趣的文章
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>
文件权限
查看>>
busybox里的僵尸进程为何那么多
查看>>
python debug
查看>>
java 连接数据库之一个完整的函数
查看>>
mysql脚本
查看>>
OllyDBG 入门系列教学--让你瞬间成为破解高手
查看>>
Dubbo点滴(2)之集群容错
查看>>
检测不到兼容的键盘驱动程序
查看>>
listbox用法
查看>>
冲刺第九天 1.10 THU
查看>>
传值方式:ajax技术和普通传值方式
查看>>
Linux-网络连接-(VMware与CentOS)
查看>>
寻找链表相交节点
查看>>
AS3——禁止swf缩放
查看>>
linq 学习笔记之 Linq基本子句
查看>>
[Js]布局转换
查看>>
Hot Bath
查看>>
国内常用NTP服务器地址及
查看>>