串口通讯之ET200S 1SI模块进行ASCII通讯

时间:2023-03-17来源:佚名

1. 概述
串口模块ET200S 1SI(订货号:6ES7 138-4DF01-0AB0)是一款用于ET200S上的串口模块,支持两种软件协议(ASCII和3964(R)),通过接线区分可支持三种硬件接口(RS232C、RS422和RS485)。
在Step 7硬件组态中选择模块时,硬件目录中有以下六种版本的模块:
• ASCII (4B)
• ASCII(8B)
• ASCII(32B)
• 3964(R) (4B)
• 3964(R) (8B)
• 3964(R) (32B)
4/8/32字节代表数据传输的吞吐率大小,字节数越大,吞吐率越大,即数据传输越快,但是在ET200S机架上占用的I/O存储区也越多,如果从传输速率考虑,选择32B最快,如果从占用的I/O区最小考虑,选择4B占用最少,根据具体应用要求选择。
模块信息及指示灯含义,如下图1所示。

串口通讯之ET200S 1SI模块进行ASCII通讯
图1 模块指示灯含义

RS232C、RS422和RS485三种接口通讯的终端模块端子分配和电缆连接,如下图2/3/4所示。

串口通讯之ET200S 1SI模块进行ASCII通讯
图2-1 RS232C接口终端模块端子分配

串口通讯之ET200S 1SI模块进行ASCII通讯

图2-2 RS232C接口终端模块电缆连接

串口通讯之ET200S 1SI模块进行ASCII通讯
图3-1 RS422接口终端模块端子分配

串口通讯之ET200S 1SI模块进行ASCII通讯

图3-2 RS422接口终端模块电缆连接

串口通讯之ET200S 1SI模块进行ASCII通讯
图4-1 RS485接口终端模块端子分配

串口通讯之ET200S 1SI模块进行ASCII通讯

图4-2 RS485接口终端模块电缆连接

注意:RS485接口内部已经短接,不需要外部短接处理,只要直接连接1,2,8。


2. 软件环境

2.1 STEP7 V5.4 SP5
用于编写S7-300/400程序,此软件需要从西门子购买,本文档中的部分代码使用Step7 V5.4 SP5的软件编写。

2.2 ET200S 1SI 串行接口模块的功能块
STEP 7 软件中不包含ET200s 1SI模块做串口通讯的功能块,需要单独安装一个软件,然后在Libraries下才有ET200sSI的库,功能块可供通讯调用,该软件从以下的链接下载。25358470

2.3 串口调试器
第三方提供的串口调试工具,可以从互联网上免费下载,可用于测试串口通讯。


3. 硬件列表和接线

3.1 硬件列表

CPU CPU317-2PN/DP 6ES7 317-2EK14-0AB0
ET200S 接口模块 6ES7 151-1BA01-0AB0
功率模块 6ES7 138-4CA00-0AA0
1 SI串口模块 6ES7 138-4DF01-0AB0
功率模块的终端模块 TM-P15S23-A0 6ES7 193-4CD20-0AA0
电子模块的终端模块 TM-E15C24-01 6ES7 193-4CA30-0AA0

表1 硬件设备

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

串口通讯之ET200S 1SI模块进行ASCII通讯
图5 硬件结构和接线示意图


4.组态设置和编程

4.1 组态和配置

1.打开STEP7,点击File->New...创建一新项目,项目名称为et200s ASCII。

串口通讯之ET200S 1SI模块进行ASCII通讯
图6新建项目对话框

2.用鼠标右键点击项目名称,选择Insert New Object->SIMATIC 300 Station,更改站的名称为 317-2PN/DP ,如下图7所示。

串口通讯之ET200S 1SI模块进行ASCII通讯

图7 插入S7-300站

3. 在硬件组态中按订货号和硬件安装次序依次插入机架、CPU和ET200S标准从站模块,如下图8所示,注意所选串行接口模块为32字节的1SI ASCII (这里仅考虑数据传输的吞吐率,不考虑占用的I/O存储区的大小)。

串口通讯之ET200S 1SI模块进行ASCII通讯
图8组态硬件

4.双击1 SI ASCII 模块,点击Parameter选项,配置串口通信 参数。

串口通讯之ET200S 1SI模块进行ASCII通讯
图9 参数分配

本例中,“Interface”设为RS232C接口,勾选断线诊断,流量控制:无。通信波特率:9.6kb/s,数据位:8位,停止位:1位,奇偶效验:无,字符延迟时间:4ms,其他的参数都采用默认设置。注意:设定的参数要和通讯伙伴的相 同。

部分参数说明:

1.接口的选择

串口通讯之ET200S 1SI模块进行ASCII通讯
图10 接口设置

三种接口中:RS232C和RS422接口可以选择“断线检测”和“数据流量控制” 的功能, RS485/422可以设置“接收线路的初始化状态”。
2.字符桢的格式:支持10位和11位的字符桢格式,包括数据传输的波特率,数据位,停止位和奇偶校验位。
3.接收字符桢结束判断条件

串口通讯之ET200S 1SI模块进行ASCII通讯
图11 结束判断条件

On expiration of character delay time: 以固定的字符延迟时间为每帧数据的结束方式;
On receipt of end-of-text character: 以结束字符作为每帧数据的结束方式;
On receipt of fixed number of characters: 以固定的字符长度作为每帧数据的结束方式。


4.缓冲区处理方式

串口通讯之ET200S 1SI模块进行ASCII通讯
图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。

串口通讯之ET200S 1SI模块进行ASCII通讯
图13 ET200S串口模块的逻辑地址


2.创建发送数据块DB1和接收数据块DB2

串口通讯之ET200S 1SI模块进行ASCII通讯

图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 的参数定义

串口通讯之ET200S 1SI模块进行ASCII通讯
图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的参数定义

串口通讯之ET200S 1SI模块进行ASCII通讯

图16 在程序中调用FB2 S_RCV

4.2.2 PC机参数设置
参数分配:串口选择COM1(默认),传输波特率为9.6Kb/s, 8位数据位,无校验,1位停止位,这些参数要和ET200s中1SI ASCII模块设置一致,同时将串口调试软件打开。

串口通讯之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所示。

串口通讯之ET200S 1SI模块进行ASCII通讯
图18 ET200S 1SI发送数据调试软件接收数据测试结果

2.调试软件发送数据,ET200S 1 SI接收数据
首先将硬件配置和程序下载到CPU中,将FB2的M0.1设为TRUE,使能ET200S 接收。在PC机的串口软件打开,在发送字符输入窗口输入16进制数据1122334455667788 9900,然后点击“手动发送”按钮发送数据,则在PLC侧DB2的前10个字节能接收到数据,接收的长度为10,测试结果如下。

串口通讯之ET200S 1SI模块进行ASCII通讯

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

    相关阅读

    软启动器12个故障代码

    软启动器常见故障问题的故障代码,参考如下: 1、故障代码Err01 故障类容:→断相;说明:主电路任意一相断相。 2、故障代码Err02 故障类容:→过电流;说明:超过额定电流12倍。 3、故...
    2022-11-26

    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    2.5焊条电焊机电流大小应根据焊条的种类来定: 1、一般碳钢焊条焊接电流调到100A左右,不锈钢焊条稍低点。 2、焊方管2.5焊条电流: 60-80A电焊机利用正负两极在瞬间短路时产生的高温电...
    2023-01-09
    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    电动车电池看参数的三种方法,轻松查看电动车电池型号

    新买的电动车电池是什么型号的,很多人并不是很清楚,而在需要换电池时搞不清楚型号就会很麻烦,那么电动车电池规格怎么,怎么来识别电动车电池的型号,与电工天下小编一起来...
    2022-11-30

    电动机的启动电流如何计算,电动机启动电流计算公式

    有关电动机启动电流的计算方法,三相电机启动电流瞬时是正常的多少倍,电动机的启动电流是额定电流 的多少,电动机 启动电流计算公式与实例,感兴趣的朋友参考下。 电动机启动...
    2022-11-22
    电动机的启动电流如何计算,电动机启动电流计算公式

    电焊机怎么调,电流与电压调整方法

    电焊机的调整方法,具体参考如下: 1、先把电流旋钮调到最小,把电压旋钮调到最大,试焊一下,不要动电压旋钮,逐步调大电流,直到能正常焊接时停上。 2、反过来,把电流旋钮先...
    2023-01-09
    电焊机怎么调,电流与电压调整方法

    【电力用户怎么分级,电力用户分类标准】

    【电力用户怎么分级,电力用户分类标准】 有网友咨询,电力用户怎么分级,针对分级的问题,电力用户分为一级用户至三级用户,那么电力用户分类标准是怎么样的,电力客户分级和...
    2022-12-10
    【电力用户怎么分级,电力用户分类标准】

    插座发出滋滋滋的声音是什么原因

    首先最有可能的原因就是电源线与插座接线端子接触不牢固,而造成的虚接,进而产生电弧也就是我们俗称的电火花,就会发出的滋滋声音。 插座内由于质量问题,电源接线柱与插头触...
    2022-11-10
    插座发出滋滋滋的声音是什么原因

    异步电动机正反转控制plc接线图及梯形图(图文)

    【 异步电动机 正反转控制plc 接线图及梯形图 】 用plc实现异步电动机的正反转控制,如何设计控制线路图,如何分配i/o,都是绘制plc接线图的关键,另外异步电动机正反转控制设计 过...
    2022-12-11
    异步电动机正反转控制plc接线图及梯形图(图文)

    网站栏目