ET200S 的ASCII 通讯(TIA)

1. 硬件列表

2. 组态和配置

   1) 新建项目

   2) 创建CPU300站点

   3) 组态ET200S 1SI

   4) 设置协议ASCII

3. 编写通信程序

   1) 逻辑地址的填写

   2) 调用发送接收功能块

   3) 创建发送DB块和接收DB块

4. 设备连接

5. 通信测试

   1) 设置串口调试调试软件SSCOM32

   2) ET200S 1SI与调试软件测试通信数据

1 硬件列表

设备名称

设备型号

PS 307

6ES7 307-1EA01-0AA0

CPU 315-2PN/ DP

6ES7 315-2EH14-0AB0

MMC

6ES7 953-8LG30-0AA0

ET200S接口模块

6ES7 151-3BA60-0AB0

PM-E电源模块

6ES7 138-4CA01-0AA0

ET200S 1SI串口模块

6ES7 138-4DF01-0AB0

功率模块的终端模块 6ES7 193-4CD20-0AA0

1SI模块的终端模块

6ES7 193-4CA40-0AA0

2 组态和配置

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

图1 新建项目

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

图2 添加站点CPU 315-2PN/DP

3、双击“设备组态”进入硬件组态界面,导轨RACK和CPU 315-2PN/DP已经存在,只需要插入PS307。双击以太网接口,进入以太网接口属性界面,分配IP地址,新建一个子网“PN/IE_1”。

图3 组态硬件

4、点击“网络视图”,可以看到新生成的子网“PN/IE_1”,从选件目录中找到正确的ET200S接口模块型号,将它拖拽到网络视图中。

图4 网络配置ET200S站

5、点击“未分配”,选择IO控制器“PLC_1.PROFINET接口_1”,为ET200S分配好IO控制器,同时自动为ET200S的以太网接口分配好一个IP地址,注:此时给ET200S分配了一个设备名称为“IO device_1”,且离线和在线的设备名称一定要一致,下面介绍如何修改设备名称。

图5 Profinet网络配置

如需离线修改该设备名称,可以进入ET200S模块的属性-〉以太网地址。

图6 离线修改ET200S的设备名称

如ET200S的实际设备名称与组态设置的不一致,也可以在线修改。右击网络“PN/IE_1”,点击“分配设备名称”,在线修改ET200S的设备名称。

图7 在线修改ET200S的设备名称

6、双击“IO device_1”,进入ET200S组态界面,将电源模块PM-E和ET200S 1SI串口模块组态到1、2槽。

图8 组态ET200S

7、双击1SI_1串口通讯模块,进入属性框,协议选择“ASCII”,波特率为9600,地址区为32字节。

图9 1SI_1选择ASCII协议

8、点击“报文”,进行报文设置,数据位:8,停止位:1,奇偶校验:无。

图10 报文设置

9、点击“接口”,接口选择“半双工(RS-485两线制模式)”,接收线路初始状态选择“信号R(A)0V/信号R(B)5V”。

图11 接口设置

10、点击“I/O地址”,记住输入和输出的起始地址,这在后面的通讯编程中需要用到。

图12 模块地址分配

3 编写通信程序

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

图13 新建发送接收数据块

2、进入主程序OB1,从通信->通信处理器->ET200S串行接口,调用发送功能块S_SEND和接收功能块S_RCV。P_SND_RK的背景数据块为DB1,P_RCV_RK的背景数据块为DB2。

图14 调用发送接收功能块

1SI串口模块的发送功能块S_SEND的参数设置见下表。

管脚

解释描述

LADDR

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

DB_NO

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

DBB_NO

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

LEN

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

REQ

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

R

取消通讯,本例中不用。

COM_RST

如果为1,重新启动FB,本例中为M10.2。

DONE

发送完成位,发送完成且没有错误时为TRUE。

ERROR

错误位,为TRUE说明有错误。

STATUS

状态字,标识错误代码,查看ET200S串行模块手册获得相应的说明。

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

管脚

解释描述

LADDR

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

DB_NO

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

DBB_NO

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

LEN

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

EN_R

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

R

取消通讯,本例中不用。

COM_RST

如果为1,重新启动FB,本例中为M20.2。

NDR

接收完成位,接收完成并没有错误为TRUE。

ERROR

错误位,为TRUE说明有错误。

STATUS

状态字,标识错误代码,查看ET200S串行模块手册获得相应的说明。

4 设备连接

以RS232C的方式接线为例说明,ET200S 1SI 模块按照RS232C的接线方式连接到电脑的232口,连接示意图如下。

图15 硬件结构和接线示意图

5 通信测试

使用串口调试软件来测试ET200S 1SI和计算机的通信,步骤如下。

1、1SI串口模块发送数据到SSCOM32

首先将硬件配置和程序下载到CPU315-2PN/DP中,M10.0从FALSE置成TRUE,1SI串口模块将发送数据,将DB10中前10个字节设为十六进制的31 32 33 34 35 36 37 38 39 3A ,可以从SSCOM32接收窗口中看到收到的数据(十六进制)。

图16 ET200S 1SI发送数据调试软件接收数据测试结果

2、1SI串口模块从SSCOM32接收数据

M20.0为常闭点,程序下载完成,CPU运行后,就始终处于接受状态。在计算机上打开软件SSCOM32,在字符输入窗口输入16进制数据0102030405060708090A,然后点击发送按钮发送数据,见图。在STEP7中打开接收数据块DB11监控接收到的数据,可以看到SSCOM32发送的数据被正确的接收。

图17 ET200S 调试软件发送数据1SI接收数据测试结果