西门子6es7315-7tj10-0ab0型号规格
西门子6es7315-7tj10-0ab0型号规格
西门子6es7315-7tj10-0ab0型号规格
simatic s7-300, cpu 315t-3 pn/dp, 中央处理器针对 sps 任务和 工艺任务, 384 kb 工作存储器, 1 个 mpi/dp 12mbit/s 接口, 2个 dp 接口(驱动), 3个 以太网 profinet 接口 带双端口交换机, 集成工艺输入输出, 前连接器(1x 40 极)和 微型存储卡最少 8 mb 3 件
|
s7单边通信,仅需在客户端侧进行组态编程;服务器侧cpu无需组态编程。
所以在编程组态和建立连接方面,s7-300pn口做客户端,只需要在 s7-300cpu 侧建立单边连接,使用单边编程方式 put,get 指令进行通信。
所完成的通信任务:
s7-300 集成pn口cpu 作为客户端读取 对方s7 cpu中 db1 的数据到 s7-300 的 db3 中。
s7-300 集成pn口cpu 作为客户端将本地 db4 中的数据写到 对方 s7 cpu中 db2 中。
项目创建环境:tia v13 sp1
新建项目并完成硬件配置(具体步骤请参见文档:)
图1. 组态设置子网
网络组态
打开 “network view(网络视图)” 配置网络,首先点中左上角的“connections(网络)”图标,选择“s7 connection(s7连接)”,然后选中300 cpu,右键选择“add new connection(添加新连接)”如图所示。
图2. 添加连接
然后在“create new connection(连接)”窗口中,选择“unspecified”,然后点击“add”建立 s7 连接,如图2.所示。
图3.建立 s7 连接
“s7_connection_1(s7_连接_1)”为建立的连接,选中连接,在属性的“general(常规)”条目中填写对方设备的ip地址,如下图4.所示。
图4. 定义连接对方的 ip 地址
图5. 定义通讯双方的 tsap 号
注意:
通信的对方设备为
图6. 连接 id 号
注意:此处的id号,将在编程的put,get块中填写(16进制)
配置完网络连接,编译保存并下载。
图7. 通讯连接状态
指令块编程
在 ob1 中,从“instruction(指令)” >“communication(通信)” >“s7 communication(s7通信)”下,调用get、put通信指令,创建接收和发送数据块 db3 和 db4,定义成 101 个字节的数组,程序调用如下图8.所示。
图8. 程序调用功能
功能块管脚说明:
call “get” | db1 | //调用 get,使用背景db块:db1; |
req | m10.0 p沿 | //上升沿触发或使用系统时钟 ; |
id | w#16#0001 | //连接号,要与连接配置中一致,创建连接时的连接号,如图5.所示; |
ndr | m30.0 | //为1时,接收到新数据; |
error | m30.1 | //为1时,有故障发生; |
status | mw32 | //状态代码; |
addr_1 | p#db1.dbx0.0 byte 10 | //从通信伙伴数据区读取数据的地址; |
rd_1 | p#db3.dbx0.0 byte 10 | //本地接收数据地址; |
call “put” | db2 | //调用 put,使用背景db块:db2; |
req | m10.0 p沿 | //上升沿触发或使用系统时钟 ; |
id | w#16#0001 | //连接号,要与连接配置中一致,创建连接时的连接号,如图5.所示; |
done | m30.2 | // 为1时,发送完成; |
error | m30.3 | // 为1时,有故障发生; |
status | mw34 | // 状态代码; |
addr_1 | p#db2.dbx0.0 byte 10 | // 发送到通信伙伴数据区的地址; |
sd_1 | p#db4.dbx0.0 byte 10 | // 本地发送数据区。 |
监控结果
通过在 s7-300 侧编程进行 s7 通讯,实现两个 cpu 之间数据交换,以s7-1200为例,结果如下图。
图9. 监控结果
当通信的对方cpu为s7-1200或s7-1500时,有如下步骤必须设置。
1. s7-1200,s7-1500用于通信存放数据的db块,必须设置为“非优化”(即默认的勾选取消掉)如图10所示:
图10. s7-1x00的数据块非优化设置
2. s7-1200cpu固件v4.0以上和s7-1500cpu,在cpu属性--->保护--->连接机制中,
勾选“允许从远程伙伴...”,如图11所示,