CP341 的ASCII 通讯(TIA)

硬件列表

组态和配置

编写通信程序

设备连接

通信测试

手册下载

硬件列表

设备名称

设备型号

PS 307

6ES7 307-1EA01-0AA0

CPU 315-2PN/ DP

6ES7 315-2EH14-0AB0

MMC

6ES7 953-8LG30-0AA0

CP341

6ES7 341-1AH02-0AE0 (RS232)

组态和配置

1、打开软件TIA PORTAL STEP7 V13,点击项目->新建...创建一新项目,项目名称为341_ASCII-315。

图1

2、用鼠标点击“添加新设备”,选择SIMATIC S7-300->CPU->CPU 315-2PN/DP->6ES7 315-2EH14-0AB0。

图2

3、双击“设备组态”进入硬件组态界面,导轨RACK和CPU 315-2PN/DP已经存在,只需要插入PS307和CP341。

图3

4、双击CP341模板,进入CP341的属性框,配置CP341参数。

图4

5、在“协议”选项中选择ASCII。配置ASCII通信参数,设定的通信参数要和通讯伙伴的相同。传输率(通信波特率):9600bps,数据位:8位,停止位:1位,奇偶校验:无,其他的参数都采用默认设置。

图5

如下图所示,如果勾选了 “激活短路检测” ,那么当RS232C电缆未连接或者通讯伙伴的串口没有激活时,CP341 的SF红色指示灯亮。

图6

6、如果选用的是RS422/485接口的CP341时,还需要设置接口属性,如下图所示。

图7

编写通信程序

1、双击“添加新块”,创建发送数据块DB10和接收数据块DB11,这2个数据块中分别新建1个数据类型Array的变量,数组元素的数据类型为Byte,数量为400;发送数据块中的变量名称为Send,接收数据块中的变量名称为Rev。

图8

2、进入主程序OB1,从通信->通信处理器->PtP链接:CP341,调用发送功能块P_SND_RK和接收功能块P_RCV_RK。P_SND_RK的背景数据块为DB1,P_RCV_RK的背景数据块为DB2。

图9

CP341的发送功能块P_SND_RK 的参数设置见下表。

管脚

解释描述

LADDR

硬件组态中的起始逻辑地址,本例中为256,见图10。

DB_NO

发送数据块号,本例中为10(DB10)。

DBB_NO

发送数据的起始地址,本例中为0(DB10.DBB0)。

LEN

发送数据的长度,本例中为MW12,本例中MW12赋值为10。

REQ

发送数据触发位,上升沿触发,本例中为M0.5,为时钟存储器的位,见图11。

R

取消通讯,本例中不用。

DONE

发送完成位,发送完成且没有错误时为TRUE,只显示一个扫描周期。

ERROR

错误位,为TRUE说明有错误,只显示一个扫描周期。

STATUS

状态字,标识错误代码,只显示一个扫描周期,查看CP341手册获得相应的说明。

其它参数

与ASCII通讯协议无关,本例中不用

CP341的接收功能块P_RCV_RK 的参数设置见下表。

管脚

解释描述

LADDR

硬件组态中的起始逻辑地址,本例中为256,见图10。

DB_NO

发送数据块号,本例中为11(DB11)。

DBB_NO

发送数据的起始地址,本例中为0(DB11.DBB0)。

LEN

接收数据的长度,本例中为MW22,只显示一个扫描周期,即:只有在接收到数据的当前周期,此值不为0。

EN_R

使能接收位,本例中为M20.0,常闭点, 始终保持接收状态。

R

取消通讯,本例中不用。

NDR

接收完成位,接收完成并没有错误为TRUE,只显示一个扫描周期。

ERROR

错误位,为TRUE说明有错误,只显示一个扫描周期。

STATUS

状态字,标识错误代码,只显示一个扫描周期,查看CP341手册获得相应的说明。

其它参数

与ASCII通讯协议无关,本例中不用

图10

图11

设备连接

本文档使用的CP341的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP340和计算机的串口,具体的电缆连接方法请查看CP341手册B章节连接电缆部分(见:手册、文档和软件链接部分)。

如果使用的CP341是RS485接口的模块,需要使用RS232C/RS485转换器。

通信测试

前面使用TIA Step7 V13 软件已经将通信CP341的通信工作做完,下面进行通信测试。这里使用串口通讯测试软件SSCOM32软件来测试CP341和计算机的通信,步骤如下。

1、CP341发送数据到SSCOM32

首先将硬件配置和程序下载到CPU315-2PN/DP中,时钟脉冲信号M0.5从0跳变成1时,CP341将发送数据,将DB10中前10个字节设为十六进制的31 32 33 34 35 36 37 38 39 3A ,可以从SSCOM32接收窗口中看到收到的数据(十六进制)。

图12

如果使用的CP341是RS485接口的模板,使用计算机串口调试程序时要使用RS232C/RS485转换器。

2、CP341从SSCOM32接收数据

M20.0为常闭点,程序下载完成,CPU运行后,就始终处于接收状态。在计算机上打开软件SSCOM32,在字符输入窗口输入16进制数据0102030405060708090A,然后点击发送按钮发送数据,见图。

在STEP7中打开接收数据块DB11监控接收到的数据,可以看到SSCOM32发送的数据被正确的接收。

图13

手册下载

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

CP340使用手册

CP341使用手册