31x PtP CPU的ASCII通讯(STEP7)

硬件及软件列表

组态和配置

编写通信程序

设备连接

通信测试

手册下载

硬件及软件列表

设备名称
设备型号

PS 307

6ES7 307-1EA00-0AA0

CPU 314C-2PtP

6ES7 314-6BG03-0AB0

MMC

6ES7 953-8LG11-0AA0

组态和配置

1、打开STEP7,创建STEP7项目,配置硬件。

2、双击PtP进入端口配置界面,配置接口参数,在Protocol选项中选择ASCII。

3、单击Transfer选项卡,配置ASCII通信参数,设定的通信参数要和通讯伙伴的相同。通信波特率:9600bps,数据位:8位,停止位:1位,奇偶校验:无,其他的参数都采用默认设置。

4、单击End Delimiter选项卡,字符延迟时间:4ms,采用默认设置。

5、单击Signal Assignment选项卡,选择接口类型。

6、参数配置完成后点击“保存编译”按钮,保存编译硬件组态,并确认没有错误后将硬件组态下载到CPU中,至此完成了全部的硬件组态过程。

编写通信程序

1、打开硬件组态,查看端口地址,组态中PtP接口的地址1023,十六进制的3FF。

2、创建发送数据块DB1。

3、创建接收数据块DB2。

4、从库Libraries -> Standard Library-> System Function Blocks中调用发送功能块SFB60 SEND_PTP ,并为其分配背景数据块DB60。

发送功能块SFB60 SEND_PTP 的参数设置见下表。

LADDR

硬件组态中的PtP接口的逻辑地址,本例中为W#16#3FF

SD_1

发送数据区,本例中发送从DB1.DBB0开始的10个字节

LEN

发送数据的长度,本例中为10个字节

REQ

发送数据触发位,上升沿触发,本例中为M10.0

R

取消通讯,本例中为M10.1

DONE

发送完成位,发送完成且没有错误时为TRUE,该参数仅维持一个调用周期,本例中为M10.2

ERROR

错误位,为TRUE说明有错误,该参数仅维持一个调用周期,本例中为M10.3

STATUS

状态字,标识错误代码,查看CPU 314C技术功能手册获得相应的说明,本例中为MW22

5、从库Libraries -> Standard Library-> System Function Blocks中调用调用发送功能块SFB61 RCV_PTP,并为其分配背景数据块DB62。

发送功能块SFB61 RCV_PTP的参数设置见下表。

LADDR

硬件组态中的PtP接口的逻辑地址,本例中为W#16#3FF

RD_1

发送数据区,本例中发送从DB2.DBB0开始的10个字节

LEN

接收数据的长度,本例中为MW24,只有在接收到数据的当前周期,此值不为0,可以查看MW24的值来确认接收到数据的长度

EN_R

使能接收位,本例中为M10.4

R

取消通讯,本例中为M110.5

NDR

发送完成位,发送完成且没有错误时为TRUE,该参数仅维持一个调用周期,本例中为M10.6

ERROR

错误位,为TRUE说明有错误,该参数仅维持一个调用周期,本例中为M10.7

STATUS

状态字,标识错误代码,查看CPU 314C技术功能手册获得相应的说明,本例中为MW26

 

设备连接

本文档使用的31X CPU的接口是RS485接口,通讯伙伴为S7-200 SMART CPU,使用电缆及相应的接头连接连接两个接口,31X CPU的接口的接线请参考下图。

通信测试

前面使用STEP7 V5.6软件已经将通信工作做完并将程序下载到314C CPU,S7-200侧的程序也已经下载到CPU,下面进行通信测试,步骤如下。

1、314C CPU接收S7-200 SMART数据

将M10.4设为TRUE,使能接收。在S7-200 SMART侧发送数据,发送10个字节设为十六进制的1 2 3 4 5 6 7 8 910,然后在300侧监控数据。在STEP7中打开接收数据块DB2监控接收到的数据,可以看到S7-200 SMART发送的数据被正确的接收。

2、314C CPU发送数据到S7-200 SMART
将M10.0从FALSE置成TRUE,314C CPU将发送数据,将DB1中前10个字节设为十六进制的10 9 8 7 6 5 4 3 2 1,可以从S7-200 SMART状态图表中看到到收到的数据(十六进制)。如下图所示。

 

手册下载

更详细的资料请参看如下手册:

https://support.industry.siemens.com/cs/cn/zh/view/12429336