2台S7-1200 的以太网口通信

S7-1200 的以太网口可以做 S7 通信的服务器端或客户端。S7-1200 支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。

一、创建一个新项目,新建 S7-1200 命名为服务器端 ,再新建另一个S7-1200站命名为客户端 。

二、设置IP地址和子网。在CPU属性中单击“添加新子网”,新建子网,写入IP地址,要确定两个CPU在同一个IP地址网段内,两个CPU在同一个子网内。PLC间使用路由器通讯时激活使用路由器功能,要保证路由器地址IP一致。但试验证明不选路由器也可以。

三、启用客户端的系统时钟存储器,方便后面编程使用

启用客户端的系统时钟,应用其中的M0.3 2HZ的时钟去自动执行发送任务。系统时钟就相当于不同时基的时钟。TIA中不管3004001200还是1500都有系统存储器位,类似于200的SM0.1/SM0.0。

客户端和服务器端,在属性中的连接机制中选择“允许来自远程对象的PUT/GET”通信访问。

四、网络视图中组态S7连接

进入“网络视图”,可以看到两个已经组态的CPU,在同一个子网内。

在“网络视图”中,点中左上角的“连接”图标,连接框中选择“S7连接”,然后选中客户端,右键客户端的CPU,选择“添加新的连接”,在创建新连接对话框内,右上角类型,选择S7连接,选择连接对象“服务器端”,不能选择未指定,然后选择“主动建立连接”。本地ID号不用改,每新建一个S7连接后本地ID号会自动更改。

在中间栏的“连接”条目中,可以看到已经建立的“S7_连接_1”,两个CPU中都自动创建了S7连接,所以S7通信组态完成后,两个CPU都需要重新下载一次。

点中上面的连接,在“S7_连接_1”的连接属性中查看各参数

在本地ID中:显示通讯连接的ID 号,这里ID=W#16#100(记住此ID号W#16#100,后面编程会使用)。

在特殊连接属性中:可以选择是否为主动连接,这里client是主动建立连接。

在地址详细信息中:定义通讯双方的 TSAP 号,这里不需要修改。

配置完网络连接,双方都编译存盘并下载。如果通讯连接正常,连接在线状态

五、创建PUT/GET结构体变量。

六、创建发送和接收DB

在客户端,创建一个用于发送和接收的数据块,调用PUTGET参数结构体变量,生成后面编程要用到的管脚参数地址。注意DB数据块的属性中,需要选择非优化块访问(把默认的勾去掉),要对DB块进行编译,编译完成后地址的偏移量才会出现。

在服务器端,创建一个用于发送和接收的数据块,创建数组,用于发送和接收数据的存放地址。同上,注意数据块的非优化操作。

七、在客户端调用PUT和GET指令,具体管脚解释见S7通信指令文件。

不用DB块做数据地址,也可以,如下

八、编程完毕后要分别下载客户端和服务器端配置。虽然S7通信中的PUT/GET指令只在客户端中调用,但对于在同一项目下的两个1200,在组态S7时都有组态的变化,所以对两个1200的组态都需要下载到各自CPU中。

可以同时开两个仿真器

然后监控数据交换

posted @ 2020-11-17 15:55  温柔的熊  阅读(1858)  评论(3编辑  收藏  举报