S7-1500 PLC的CPU集成的以太网口以及CM1542-1和CP1543-1支持的通讯服务按照实时通讯和非实时通讯进行划分,不同的接口支持的通讯服务见下表所示。
SIMATIC S7-1500 PLC之间的非实时通讯有两种:开放式的用户通讯和S7通讯。
而开放式用户通信(Open User Communication)(以下简称OUC)服务适用于S7-1500/300/400 PLC之间的通讯以及PLC和PC或与第三方设备进行通讯。OUC的通讯有四种:ISO、ISO-on-TCP、TCP/IP和UDP。
接下来我们将以在相同项目下和不同项目下的方式分别介绍TCP通信配置的过程及测试结果。
在示例中我们使用两个CPU 1515-2 PN,一个作为客户端,一个作为服务器。
一、S7-1500 PLC在同项目内组态进行通信配置
1.1、新建项目:
创建一个新项目,在项目树下点击“添加新设备”,添加两个CPU1515-2 PN,创建两个S7-1500 PLC站点。并分别给设备X1口分配IP地址为192.168.0.1和192.168.0.2。子网掩码都为255.255.255.0。并添加子网将两个PLC组网。如下图所示。
1.2、在客户端PLC编写通信发送程序:
打开主程序块,直接调用通讯函数(指令→通信→开放式用户通信)。
鼠标点击主程序中的通讯功能块中的开始组态按钮,组态按钮如下图:
点击后,开始配置连接属性。
首先指定通讯伙伴,然后选择好实际使用的通讯接口。在组态模式中可以选择“使用组态的连接”或“使用程序块”。如果选择“使用组态的连接”两个PLC的通信连接将固定地占用一个连接资源(通过程序可以断开连接);如果选择“使用程序块”,两个PLC的通信连接需要通过变成建立,这种连接方便释放,这样就可以分批次的实现与更多设备的通信。在示例中我们选择“使用组态的连接”模式,连接类型我们选择TCP,在连接数据中选择“新建”。
然后在块参数栏中配置通信的数据区参数、输入和输入/输出参数。
块参数配置完成以后,在OB1里调用的TSEND_C的参数就自动赋值了。需要注意的是连接状态CONT:如果为0,断开通信连接,如果为1,建立连接并保持,默认设置为1.发送长度LEN为设定的实际发送长度。
1.3、 在服务器PLC编写通讯接收程序:
首先调用通信接收功能块TRCV_C,然后配置连接参数。
接着我们配置块参数,
这样的话,两个站就配置完成了,将程序分别下载到两个CPU中,点击任意个通讯指令的诊断图标,可以进入诊断界面。
我们还可以在诊断里看到实时发送及接收的字节数。