西门子S7-1200 和 S7-1200 之间 TCP 通信

s7-1200 与 s7-1200 之间的以太网通信可以通过 tcp 协议来实现,使用的通信指令是在双方 cpu 调用 t-block (tsend_c,trcv_c,tcon,tdiscon,tsend,trcv) 指令来实现。通信方式为双边通信,因此 tsend 和 trcv 必须成对出现。
硬件和软件需求及所完成的通信任务
硬件:① s7-1200 cpu② pc(带以太网卡)③ tp电缆(以太网电缆)
软件:step7 v11 or higher
所完成的通信任务:① 将plc_1 的通信数据区 db3 块中的 100 个字节的数据发送到 plc_2 的接收数据区 db4 块中。② 将plc_2 的通信数据区 db3 块中的 100 个字节的数据发送到 plc_1 的接收数据区 db4 块中。
通信的编程,连接参数及通信参数的配置
1. 打开 step7 v11 软件并新建项目在 step7 v11的 “portal view” 中选择 “create new project” 创建一个新项目
2. 添加硬件并命名plc然后进入 “project view”,在“project tree” 下双击 “add new device”,在对话框中选择所使用的s7-1200 cpu添加到机架上,命名为 plc_1,如图1所示。同样方法再添加通信伙伴的s7-1200 cpu ,命名为 plc_2。
图1. 添加新设备
为了编程方便,使用 cpu 属性中定义的时钟位,定义方法如下:在 “project tree” > “plc_1” > “device configuration” 中,选中 cpu ,然后在下面的属性窗口中,“properties” > “system and clock memory” 下,将系统位定义在mb1,时钟位定义在mb0,如图2所示。时钟位我们主要使用 m0.3,它是以2hz 的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。
图2. 系统位与时钟位3. 为 profinet 通信口分配以太网地址在 “device view”中点击 cpu 上代表profinet 通信口的绿色小方块,在下方会出现profinet 接口的属性,在 “ethernet addresses” 下分配ip 地址为 192.168.0.1 ,子网掩码为255.255.255.0,如图3. 所示。
图3. 分配ip 地址
同样方法,在同一个项目里添加另一个新设备s7-1200 cpu 并为其分配 ip 地址为192.168.0.2
4. 创建 cpu之间的逻辑网络连接在项目树 “project tree”>“devices & networks” >“networks view” 视图下,创建两个设备的连接。用鼠标点中 plc_1 上的profinet通信口的绿色小方框,然后拖拽出一条线,到另外一个plc_2 上的profinet通信口上,松开鼠标,连接就建立起来了,如图4所示。
图4. 建立两个 cpu的逻辑连接 在 plc_1 中调用并配置“tcon”、“tsend”、“trcv” 通信指令
1.在 plc_1 的 ob1 中调用“tcon” 通信指令
① 在**个 cpu 中调用发送通信指令,进入 “project tree” > “ plc_1” > “program blocks” > “ob1” 主程序中,从右侧窗口 “instructions” > “communications” > “open user communications”下调用 “tcon” 指令,创建连接,如图5所示。
图5. 调用“tcon”通信指令
② 创建db2 分配连接参数,见图6所示
图6. 创建连接数据块 db2(con_db)
③ 定义plc_1的 “tcon”连接参数 plc_1 的 tcon 指令的连接参数需要在指令下方的属性窗口“properties”> “configuration”>“connection parameter”中设置,如图7所示。
图7. 定义 tcon 连接参数 连接参数说明:
图22. plc_1 及 plc_2 的监控表
2.定义 plc_1 的“tsend”发送通信块接口参数
① 调用 “tsend” 在ob1内调用 发送100个字节数据到plc2中 进入 “project tree” > “ plc_1” > “program blocks” > “ob1” 主程序中,从右侧窗口 “instructions” > “communications” > “open user communications”下调用 “tsend” 指令,如图8所示。
图8. 调用 tsend ② 创建并定义plc_1的发送数据区 db 块。通过“project tree”>“plc_1”>“program blocks”>“add new block”,选择“data block” 创建 db 块,选择**寻址,点击“ok”键,定义发送数据区为 100个字节的数组,如图9及图10所示。
图9. 创建发送数据区 db 块注意:对于双边编程通信的 cpu ,如果通信数据区使用 db 块,既可以将 db 块定义成符号寻址,也可以定义成**寻址。使用指针寻址方式,必须创建**寻址的 db 块。
图10. 定义发送数据区为字节类型的数组 图 plc1_tsendc_data
③ 定义 plc_1 的“tsend”发送通信块接口参数,如图11所示。
图11. 定义 tsend 接口参数参数说明:输入接口参数:
输出接口参数:
3.在 plc_1 的ob1中调用接收指令t_rcv 并配置基本参数
为了实现 plc_1 接收来自 plc_2 的数据,则在 plc_1 中调用接收指令t_rcv 并配置基本参数。
① 创建并定义plc_1的接收数据区 db 块。通过“project tree”>“plc_1”>“program blocks”>“add new block”,选择“data block” 创建 db 块,选择**寻址,点击“ok”键,定义发送数据区为 100个字节的数组,如图12及图13所示。
图12. 创建接收数据区 db 块注意:对于双边编程通信的 cpu ,如果通信数据区使用 db 块,既可以将 db 块定义成符号寻址,也可以定义成**寻址。使用指针寻址方式,必须创建**寻址的 db 块。
图13. 定义接收数据区为字节类型的数组
② 调用 “trcv” 在ob1内调用 进入 “project tree” > “ plc_1” > “program blocks” > “ob1” 主程序中,从右侧窗口 “instructions” > “communications” > “open user communications”下调用 “trcv” 指令,配置接口参数,如图14所示。
图14. 调用 trcv 指令并配置接口参数
参数说明:输入接口参数:
输出接口参数:
注意:len设置为 65535 可以接收变长数据。
在 plc_2 中调用并配置“tcon”、“tsend”、“trcv” 通信指令
1.在 plc_2 的 ob1 中调用“tcon” 通信指令
① 在**个 cpu 中调用发送通信指令,进入 “project tree” > “ plc_2” > “program blocks” > “ob1” 主程序中,从右侧窗口 “instructions” > “communications” > “open user communications”下调用 “tcon” 指令,创建连接,如图15所示。
图15. 调用“tcon”通信指令
② 创建db2 分配连接参数,见图16所示
图16. 创建连接数据块 db2(con_db)
③ 定义 plc_2的 连接参数 “tcon” plc_1 的 tcon 指令的连接参数需要在指令下方的属性窗口“properties”> “configuration”>“connection parameter”中设置,如图17所示。
图17. 定义 tcon 连接参数 连接参数说明:
2. 在 plc_2 中在ob1调用“trcv”通信指令
接收从plc_1 发送到 plc_2的100个字节数据
① 创建并定义接收数据区 db 块。通过“project tree”>“ plc_2”>“program blocks”>“add new block” ,选择 “data block”创建 db 块,选择符号寻址,点击“ok”键,定义接收数据区为 100 个字节的数组,图18及图19所示。
图18. 创建接收数据区 db 块
图19. 定义接收区为 100 个字节的数组② 定义调用 “trcv” 程序
图20. trcv 块参数配置参数配置:输入接口参数:
输出接口参数:
3. 在 plc_2 中调用并配置“tsend”通信指令
plc_2 将 发送100个字节数据 到 plc_1 中,如何创建发送数据块db3,与创建接收数据块方法相同,不再详述。在 plc_2 中调用发送指令并配置块参数,发送指令与接收指令使用同一个连接,如图21所示。
图21. 调用tsend 指令并配置块接口参数参数说明:输入接口参数:
上海朔川电气设备有限公司专注于西门子plc,西门子断路器,西门子模块,西门子触摸屏,西门子电缆,西门子软启动,西门子总代理,西门子工控机等, 欢迎致电 18867229584

衡水暑期军事夏令营-北京亮剑课程丰富

小鱼易连软件-小鱼易连软件代理商-申瓯通信科技(推荐商家)

湖北全口牙种植-小灰兔-全口牙种植疼吗

生产珍珠岩厂家-淮北珍珠岩-濮阳龙腾珍珠岩

黄石真空充氮包装机-玉环昶坤机械有限公司-真空充氮包装机厂家

纸盒纸箱批发-纸盒纸箱-钟祥桐辉包装厂

铝塑板厂家-湖北铝塑板-吉祥铝塑板(查看)

波纹通风管-正世通风(在线咨询)-蚌埠通风管

河北宇扩电力现货供应 悬式玻璃绝缘子

延庆羽毛球运动地垫-北京运动地胶