设备名称 |
设备型号 |
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