您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

西门子6GK7 443-1EX41-0XE0

2018/9/4 17:52:24发布67次查看
加工定制品牌Siemens/西门子
型号6GK7 443-1EX41-0XE0工作电压5V
输出频率20kHz产品认证ISO90001

如何通过 cpu 集成的 profinet 接口或是通过 cp443-1 advanced 使用 fb63 "tsend", fb64 "trcv", fb65 "tcon" 和 fb66 "tdiscon" 通讯块实现 iso-on-tcp 协议的数据交换?
推荐文档: 西门子工程师推荐本文档!
文献
涉及产品
描述
可以通过cpu 集成的 profinet 接口或 cp443-1 advanced 使用工业以太网 "开放用户通信方式" 进行数据交换, 例如: 这种方式支持下列通信协议:
tcp
iso-on-tcp
udp
使用 iso-on-tcp 协议的工业以太网 "开放用户通信方式" 可以使用下列通信块:
fb65 "tcon" 用于建立连接
fb66 "tdiscon" 用于断开连接
fb63 "tsend" 用于发送数据
fb64 "trecv" 用于接收数据
这些通信功能块可以在函数库 standard library -> communication blocks 中找到。
在标准程序库中将上述通信功能块的***新版本拷贝至用户程序中,然后编写程序时调用。
用于建立 iso-on-tcp 连接的连接参数存储于一个数据结构体中。在这次例子中,使用数据结构 "oucw_1",在这个例子中数据结构保存在 db1 数据块中,并由用户进行参数化。
注意
使用 "开放通信向导" 可以方便连接数据的创建。该向导可在此下载,条目号: 98957840。
iso-on-tcp 通信连接不在 netpro 中配置。
表 01 提供了数据结构 "oucw_1" 中哪些连接数据被保存。
字节 参数 数据类型 描述
0 to 1 block_length word 数据结构 "oucw_1" 的长度
2 to 3 id byte 对连接的引用
数值范围:w#16#0001 to w#16#0fff
必须为该连接块的 id 指定一个参数值。
4 connection_type byte iso-on-tcp 协议版本:b#16#12
5 active_est boolean 建立连接方式的标识号false:被动创建连接
true:主动创建连接
6 local_device_id byte 通过 cpu 315-2 pn/dp 集成的 profinet 接口进行通信:b#16#02
7 local_tsap_id_len byte 所使用的参数 local_tsap_id 的长度
如果连接类型为 b#16#12,可能的值:2 to 16
8 rem_subnet_id_len byte 该参数当前未使用。必须将 b#16#00分配给它。
9 rem_staddr_len byte 远程连接终端的地址长度:0:未指定,即参数 rem_staddr 不相关。
4:参数 rem_staddr 中有效的 ip 地址。
10 rem_tsap_id_len byte 所使用的 rem_tsap_id 参数的长度
如果连接类型为 b#16#12,可能的值:0 or 2 to 16主动端:2 to 16
被动端:0 or 2 to 16 (0 代表未指定)
11 next_staddr_len byte 所使用的参数 next_staddr 的长度
12 to 27 local_tsap_id array [1..16] of byte 本地 tsap,例如 iso1:
local_tsap_id[1] = b#16#49
local_tsap_id[2] = b#16#53
local_tsap_id[3] = b#16#4f
local_tsap_id[4] = b#16#31
local_tsap_id[5-16] = b#16#00注意
如果 cpu 不支持 ascii 格式的tsap,那么 tsap 的头两个字节必须写入数值 b#16#e0 和 b#16#02。
28 to 33 rem_subnet_id array [1..6] of byte 该参数当前未使用。必须将 b#16#00 分配给它。
34 to 39 rem_staddr array [1..6] of byte 远程连接端点的 ip 地址,例如 192.168.0.30:
rem_staddr[1] = b#16#c0
rem_staddr[2] = b#16#a8
rem_staddr[3] = b#16#00
rem_staddr[4] = b#16#1e
rem_staddr[5-6] = b#00 (保留)
40 to 55 rem_tsap_id array [1..16] of byte 远程连接端点的 tsap,例如 iso1:
rem_tsap_id[1] = b#16#49
rem_tsap_id[2] = b#16#53
rem_tsap_id[3] = b#16#4f
rem_tsap_id[4] = b#16#31
rem_tsap_id[5-16] = b#16#00注意
如果 cpu 不支持 ascii 格式的 tsap,那么 tsap 的头两个字节必须写入数值 b#16#e0 和 b#16#02。
56 to 61 next_staddr array [1..6] of byte next_staddr[1-6] = b#16#00注意
如果 local_device_id=b#16#00,那么这需要指定 (本地) cp 的机架和插槽。
62-63 spare word 保留,分配 w#16#0000 给该参数。
表 01 
以下 cpu 支持 ascii 格式的 tasp。
cpu 314c-2 pn/dp
cpu 315(f)-2 pn/dp, cpu 317(f)-2 pn/dp v3.1 及以上
cpu 315t-3 pn/dp, cpu 317t-3 pn/dp, cpu 317tf-3 pn/dp
cpu 319(f)-3 pn/dp
cpu 414-3 pn/dp, cpu 416(f)-3 pn/dp v5.2 及以上
cpu 414f-3 pn/dp, cpu 412-2 pn
cpu 412-5h pn/dp, cpu 414-5h pn/dp, cpu 416-5h pn/dp, cpu 417-5h pn/dp
im 151(f)-8 pn/dp cpu v2.7 及以上
im 154(f)-8 cpu v3.2 及以上
简单例程描述
s7 程序中包含 fb65 "tcon 的调用和带有 "oucw_1"  数据结构的 db1,其中 "oucw_1" 保存着创建 iso-on-tcp 连接的参数。s7 程序中还包含函数库 standard library -> communication blocks 中函数 fb63 "tsend" 和 fb64 "trcv" 的调用 。通过调用 fb63 "tsend" 块,可以将数据发送给一个 s7 站或一个 s5 站或一个 pc 站或第三方系统。通过调用 fb64 "trcv" 块,可以接收从一个 s7 站或一个 s5 站或一个 pc 站或第三方系统发送的数据。
首先在 s7-300 站中创建硬件配置,将 mb100 作为时钟脉冲。发送请求由时钟脉冲触发。存盘编译并将硬件配置下载到 cpu 中。
step 7 程序包含程序块 ob100, ob1, fb400, db400, fb420, udt65 和 fb63, fb64, fb65 及 fb66。
ob100
ob100是一个重启 ob,当 cpu 重新启动时执行一次 (暖起动)。 在这个 ob 块中,第一次的通信可以通过 m0.3 触发。
ob1
ob1是循环执行。fb1 在 ob1 中调用,其背景数据块是 db11,且使用 m0.3 作为 init_com 参数,使用m10.0 作为 abort 参数。fb1 被调用后,m0.3 在ob1 中被复位。
图 01
fb1
fb1 在 ob1 中循环调用。下述功能块在 fb1 中被调用。
fb65 "tcon"
fb63 "tsend"
fb64 "trcv"
fb66 "tdiscon"
定义连接数目
用户可以单独修改连接数目,根据配置在 fb1 的网络段 2 中修改连接数目。连接数目保存在一个静态变量中,如背景数据块 db11 中。本示例定义的连接数为 "1"。 
图 02
建立连接
通过 fb65 "tcon" 的 "req" 输入参数的上升沿来开始建立一个连接。带有连接参数的数据结构 "oucw_1" 被整合到数据块 db1 中。
一旦fb65 "tcon" 的输入参数 "connect" 使能,包含连接参数的存储区即被指定。
在系统启动后连接被建立。除非调用 fb66 "tdiscon",或者 cpu 进入 stop 模式,或者切断电源,该连接才会断开。
图 03
发送请求可通过一个上升沿触发 fb63 "tsend" 的输入参数 "req" 来完成。发送请求由时钟位 m10.6 和变量 "send_busy" 控制。如果发送请求开始执行,那么 "send_busy" 就被置位。这时无法触发一个新的发送请求。
用户在输入参数 "data" 指定发送数据的存储区。
用户在输入参数 "len" 指定发送字节长度。
本示例中,发送数据存放在 db100 中,将100 个字节数据发送给伙伴。
输出参数 "done","error" 和 "status" 用来评估工作状态。

上海朕锌电气设备有限公司
张先生
15216866445
上海 上海 金山区 上海市金山区廊下镇景乐路228号7幢D101室
该用户其它信息

VIP推荐

021-31139792
张先生
 发送短信
免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product