分享

以太网通信——200&200 AND 200&300

 我自飘怜 2018-04-22




通过以太网通信,S7-200PLC可以实现与另一个S7-200PLC之间的数据交换,与S7-300、S7-400系列扩展模块的数据交换,和上位机、WinAC以及OPC之间的数据交换,当然还有一些人机界面。

1 IT Communications Module(CP 243-1 IT)

S7-200的以太网通讯扩展模块是CP 243-1 IT,这个模块会集成一个RJ45接口,自适应半双工/全双工,这个模块支持的通讯有PG通讯、OP通讯和S7通讯,不是即插即用,需要首先用STEP7 Micro/WIN软件进行基本的配置组态,配置成功后才能进行上传、下载程序,在线监控以及其它S7设备之间的数据交换。CP 243-1 IT模块可以作为通讯的服务器和客户端,里面集成8个S7连接资源和1个PG连接资源。

在IT功能方面,支持http网页访问,支持电子邮件、FTP。CP 243-1也可以通过DHCP和BOOTP的方式自动获取IP。

这里先以CP 243-1与CP 243-1之间的通讯为例,CP 243-1与其它CP模板之间的通讯交换是用一种服务器和客户端的形式进行的。服务器作为被动响应的一方,客户端是主动发起连接的一方。CP 243-1只支持西门子内部的S7协议,因此无法与一些第三方设备进行数据交换。

2 S7-200之间的以太网通信

任务:将一个CP 243-1配置为服务器,另外一个CP 243-1配置为客户机

方法:两个站的配置都通过以太网向导完成,完成之后在各自的程序里面调用子程序

注意:

  • CP 243-1不是即插即用模块,需先通过其他方式对S7-200下载一个包含以太网向导的项目文件,比如说通过PC/PPI电缆去连接CPU200集成的编程口

  • 无论作服务器还是作客户机的CP 243-1都需要做以太网向导配置

  • 通过以太网向导,最多可以配置8个连接

  • 每个连接既可以是服务器连接也可以是客户机连接

  • CP 243-1预留一个PG连接

3 以太网向导中的重要步骤


下面我们开始介绍以太网向导中的重要配置步骤。我们通过工具下拉菜单点击以太网向导可以看到上图中的画面,这个画面是为CP 243-1配置以太网地址。用常用的以太网地址,比如说192.168.0.10,然后配子网掩码为3个255,其它均用默认选项即可,配置成功后我们点击下一步;

以太网模块也会占用CPU的输出资源,占用的输出点地址也和以太网模块的槽位有关系,在本例子中我们可以看到以太网模块占用的QB地址为2,下面是要选择我们配置的连接资源数目,我们最多可以配置8个连接资源,在本例子中我们先配置一个。

上图中介绍的是客户机和服务器的两个截图,我们先看左边的服务器的配置。如果将CP 243-1选为服务器连接,可以看到我们需要填写的是远程的TSAP的端口号,同时我们如果勾选上'接受所有连接请求',下面客户机的IP地址就为灰,我们就不必再填写了,另外可以保持默认勾选的'保持活动'连接功能。接下来再看客户机的配置,两个CP 243-1的向导配置里面'本地属性'和'远程属性'需要交叉对应,也就是如上图中所示的服务器端CP 243-1向导里面的远程TSAP端口号必须和远程的客户机端的本地端口号一致,同理,服务器端的本地的TASP编号必须和客户机端的远程的客户机编号一致,同时服务器的IP地址要填写到客户机端。

在客户机属性里面,我们还需要进一步配置数据传输。以上图为例,客户机要从服务器192.168.0.1的CP 243-1模块里面读到8个字节的数据,数据源的地址是VB1000,数据本地的地址也是VB1000,我们使用默认的数据连接名称。每个数据交换最多允许配置212个字节,每个连接最多可以配置32个数据传输。

不论我们做的是服务器配置还是客户机配置,以太网都要占用一部分V存储区作为参数的缓存,此部分V存储区在S7-200的程序的其它部分绝对不能够被重复利用,否则就会影响以太网通讯。

4 以太网向导生成的子程序


两边的以太网向导配置完成之后需要在各自的主程序里面调用以太网向导生成的子程序,在服务器这端我们只需要用SM0.0去激活ETH0_CTRL这个子程序,在客户机端除了调用ETH0_CTRL这个子程序之外我们还需要调用ETH0_XFR子程序去实现实际的数值交换。在上图的例子里面我们可以看到,XFR的使能端是SM0.5,是一个秒脉冲地址,并且使用SM0.5的上升沿作为START触发,Chan_ID和Data所填的地址或符号名我们可以在向导所生成的符号表里面看到,或者在向导里面的对应配置的标签下面可以看到。我们需要注意的是,在同一个连接下面不能有多个数据传输同时激活。

5 与S7-300的以太网通信——CP243-1是客户机


接下来我们介绍CP243-1与S7-300之间的以太网通讯(如上图)。首先我们介绍CP243-1作为客户机的通讯配置,这种方式往往是最简单的,因为S7-300站不需要任何配置,只需要在S7-200站里面做以太网向导就可以。首先在以太网向导里面需要选择'次为客户机连接',然后远程的TSAP端口号填写03.02,远程的IP地址以S7-300的实际IP地址为准,在本例子中为192.168.0.10。连接属性配置成功之后我们开始配置数据传输,在数据传输里面我们需要注意,S7-300的数据地址不是V存储区而是DB块,所以在这里我们选的远程的DB块地址是DB2.DBB0,在这个数据传输案例里面我们配置的是8个字节的写操作,是将本地的VB1000-VB1007这8个数据字节的数据地址写到S7-300的DB2.DBB0开始的8个字节里。

在S7-200的程序里面,我们也需要调用CTRL和XFR两个子程序,CTRL子程序也是需要在最开始的地方用SM0.0一直激活。XFR子程序的激活我们依旧使用SM0.5这个秒脉冲,用SM0.5加上升沿作为START触发,连接参数和数据传输参数在之前的配置里面我们都可以看到,我们可以直接填写连接参数和数据传输参数的符号名或者对应的V存储区地址。

6 与S7-300的以太网通信——CP243-1是服务器


同样是和S7-300做以太网数据交换,如果CP243-1作为服务器也是可以做通的,如果CP243-1作为服务器我们首先要在以太网向导里面选择'此为服务器连接',我们在这里面可以勾选'接受所有连接请求',本地的TSAP端口号为10.01,远程我们先填写10.04。同样,向导配置成功之后我们需要在主程序里用SM0.0一直调用ETH0_CTRL这个子程序。

S7-200这一侧的编程工作就是这一些,我们回过头来看S7-300

首先,做完标准的硬件组态之后我们需要在网络组态里面添加一个S7连接(如上图);

在S7连接里面我们先要选择这是一个通讯伙伴位指令的连接,连接类型为S7连接,在连接的属性里面我们可以看到远程的IP地址,也就是我们CP243-1的IP地址我们填写192.168.0.10;

在连接的地址细节里面我们把本地的TSAP端口号选成10.04,远程选成10.01,这个是和我们在CP243-1之前做好的服务器连接属性里面是交叉对应的。S7-300的网络配置配置完毕之后需要对S7-300PLC进行一次下载才能够生效,下载之前也要做保存编译。

组态完毕后我们打开S7-300的OB1主程序,在这里面调用FB14和FB15两个通讯指令,两个功能块的REQ是触发端,每次捕捉到1信号后都会执行一次GET或者PUT通讯操作;'ID'是指在网络组态里面连接属性里面看到的连接ID,在本应用中我们填写1;'ADDR_1'指的是远程的CP243-1里面的数据地址,在这里面CP243-1背后的S7-200的V存储区一律被S7-300识别成DB1,在这里面我们PUT功能块填写的P#DB1.DBX1010.0 BYTE 8代表的是从VB1010开始的地址,8个连续的字节;'SD_1'和'RD_1'代表的是S7-300本地的数据存储区地址,我们这里面新建了一个DB2作为通讯缓冲区。

关注本公众号,可提高PLC技术,拓宽PLC知识。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多