西门子标准型CPU模块6ES7288-1ST30-0AA1
1. 概述
RS232C、RS422和RS485三种接口通讯的终端模块端子分配和电缆连接,如下图2/3/4所示。
注意:RS485接口内部已经短接,不需要外部短接处理,只要直接连接1,2,8。
2.1 STEP7 V5.4 SP5 2.2 ET200S 1SI 串行接口模块的功能块 2.3 串口调试器
3.1 硬件列表 CPUCPU317-2PN/DP6ES7 317-2EK14-0AB0ET200S接口模块6ES7 151-1BA01-0AB0 功率模块6ES7 138-4CA00-0AA0 1 SI串口模块6ES7 138-4DF01-0AB0功率模块的终端模块TM-P15S23-A06ES7 193-4CD20-0AA0电子模块的终端模块TM-E15C24-016ES7 193-4CA30-0AA0表1 硬件设备 3.2 硬件接线示意图
4.1 组态和配置 1.打开STEP7,点击File->New...创建一新项目,项目名称为et200s ASCII。
2.用鼠标右键点击项目名称,选择Insert New Object->SIMATIC 300 Station,更改站的名称为 317-2PN/DP ,如下图7所示。
3. 在硬件组态中按订货号和硬件安装次序依次插入机架、CPU和ET200S标准从站模块,如下图8所示,注意所选串行接口模块为32字节的1SI ASCII (这里仅考虑数据传输的吞吐率,不考虑占用的I/O存储区的大小)。
4.双击1 SI ASCII 模块,点击Parameter选项,配置串口通信 参数。
本例中,“Interface”设为RS232C接口,勾选断线诊断,流量控制:无。通信波特率:9.6kb/s,数据位:8位,停止位:1位,奇偶效验:无,字符延迟时间:4ms,其他的参数都采用默认设置。注意:设定的参数要和通讯伙伴的相 同。 部分参数说明: 1.接口的选择
三种接口中:RS232C和RS422接口可以选择“断线检测”和“数据流量控制” 的功能, RS485/422可以设置“接收线路的初始化状态”。
On expiration of character delay time: 以固定的字符延迟时间为每帧数据的结束方式; |
.缓冲区处理方式
图12 缓冲区设置
Dynamic Message frame buffer:如果勾上,模块就可以缓冲多个不同长度的消息;
Prevent message frame buffer overwrite:如果勾上,防止接收到的新消息覆盖缓冲区中的消息桢,这可以防止丢失以前接收到的消息桢;
Delete receive buffer during CPU startup:如果勾上,当CPU的工作模式从STOP切换到RUN(CPU启动)时,模块的接收缓冲区自动清空。
更多关于串口接口模块的组态和参数设置,请参考手册《ET 200S 串行接口模块》第2.9章节的内容,手册链接:9260793
4.2 编程
4.2.1 plc侧编程
1.程序调用:从库Libraries -> ET200s SI -> ET200S Serial Interface -> ET200s SI中调用功能块,调用发送 FB3(S_SEND)和接收 FB2(S_RCV),并为其分配背景数据块分别为DB30和DB20,将块参数LADDR设为硬件组态中1 SI模块的起始逻辑地址256。
图13 ET200S串口模块的逻辑地址
2.创建发送数据块DB1和接收数据块DB2
图14发送/接收数据块DB1/DB2
3.调用发送功能块
ET200S 1SI 的发送功能块FB3 S_SEND 的参数设置见下表2。
LADDR | 硬件组态中串口模块的起始逻辑地址,本例中为256 |
DB_NO | 发送数据块号,本例中为1(DB1) |
DBB_NO | 发送数据的起始地址,本例中为0(从DB1.DBB0开始) |
LEN | 发送数据的长度,本例中为10 |
REQ | 发送数据触发位,上升沿触发,本例中为M0.0 |
R | 取消通讯,本例中不用 |
COM_RST | 如果为1 ,重新启动FB,本例中为M0.2 |
DONE | 发送完成位,发送完成且没有错误时为TRUE, |
ERROR | 错误位,为TRUE说明有错误 |
STATUS | 状态字,标识错误代码,察看ET200S串行接口模块手册获得相应的说明 |
表2 FB3 S_SEND 的参数定义
图15 在程序中调用FB3 S_SEND
4.调用接收功能块
ET200S 1SI的接收功能块FB2 S_RCV的参数设置见下表3。
LADDR | 硬件组态中串口模块的起始逻辑地址,本例中为256 |
DB_NO | 接收数据块号,本例中为2(DB2) |
DBB_NO | 接收数据的起始地址,本例中为0(DB2.DBB0) |
LEN | 接收数据的长度,本例中为MW4,只有在接收到数据的当前周期,此值不为0 ,需要编程读出 |
EN_R | 使能接收位,本例中为M0.2 |
R | 取消通讯,本例中不用 |
COM_RST | 如果为1 ,重新启动FB,本例中为M0.2 |
NDR | 接收完成位,接收完成并没有错误时为TRUE |
ERROR | 错误位,为TRUE时说明有错误 |
STATUS | 状态字,标识错误代码,查看ET200S串行接口模块手册获得相应的说明 |
表3 FB2 S_RCV的参数定义
图16 在程序中调用FB2 S_RCV
4.2.2 PC机参数设置
参数分配:串口选择COM1(默认),传输波特率为9.6Kb/s, 8位数据位,无校验,1位停止位,这些参数要和ET200s中1SI ASCII模块设置一致,同时将串口调试软件打开。
图17 串口调试软件参数设置
4.3 通讯测试
1.ET200S 1SI发送数据,调试软件接收数据
首先将硬件配置和程序下载到PLC,将DB1中前10个字节设为十六进制的01 02 03 04 05 06 07 08 09 10 ,然后将FB3的M0.0从FALSE置成TRUE,ET200S将发送数据10个字节数据,可以从串口调试软件的接收字符窗口中看到收到的数据(十六进制),结果如下图18所示。
图18 ET200S 1SI发送数据调试软件接收数据测试结果
2.调试软件发送数据,ET200S 1 SI接收数据
首先将硬件配置和程序下载到CPU中,将FB2的M0.1设为TRUE,使能ET200S 接收。在PC机的串口软件打开,在发送字符输入窗口输入16进制数据1122334455667788 9900,然后点击“手动发送”按钮发送数据,则在PLC侧DB2的前10个字节能接收到数据,接收的长度为10,测试结果如下。
图19调试软件发送数据ET200S 1SI接收数据测试结果
- 西门子标准型CPU模块6ES7288-1SR30-0AA1 2024-05-08
- 西门子标准型CPU模块6ES7288-1ST20-0AA1 2024-05-08
- 西门子标准型CPU模块6ES7288-1SR20-0AA1 2024-05-08
- 西门子中央控制单元6ES7288-1CR60-0AA0 2024-05-08
- 西门子中央控制单元6ES7288-1CR40-0AA0 2024-05-08
- 西门子中央控制单元6ES7288-1ST60-0AA1 2024-05-08
- 西门子中央控制单元6ES7288-1SR60-0AA1 2024-05-08
- 西门子中央控制单元6ES7288-1ST40-0AA1 2024-05-08
- 西门子中央控制单元6ES7288-1SR40-0AA1 2024-05-08
- 西门子中央控制单元6ES7288-1ST30-0AA1 2024-05-08