首页 理论教育 串口通信模块的连接实例

串口通信模块的连接实例

时间:2023-06-21 理论教育 版权反馈
【摘要】:在完成通信端口、发送、接收参数设置后,需要在CPU中调用通信功能模块发送和接收数据,接下来以CM1241 RS 232C与PC集成软件“超级终端”的通信为例,介绍其串口通信模块的数据发送、接收。2)选择连接接口。在弹出的对话框中选择使用COM1口,单击“确定”按钮。图7-22 SEND_PTP的输入/输出引脚的值查看超级终端中已收到来自串口通信模块CM1241 RS232的字符,如图7-23所示。

串口通信模块的连接实例

在完成通信端口、发送、接收参数设置后,需要在CPU中调用通信功能模块发送和接收数据,接下来以CM1241 RS 232C与PC集成软件超级终端”的通信为例,介绍其串口通信模块的数据发送、接收。在此实例中,RS232端口的通信设置、发送参数和接收参数均使用系统默认设置。

1.PC侧超级终端的设置

1)建立连接。选择“开始”→“所有程序”→“附件”→“通信”→“超级终端”选项,打开“超级终端”软件(见图7-12)。首先在如图7-14所示的对话框中给连接分配一个名称“CM1241RS232TOPC”,单击“确定”按钮(在此过程中如果弹出设置拨号信息的对话框,单击“取消”按钮,如图7-13所示)。

2)选择连接接口。在弹出的对话框(如图7-15所示)中选择使用COM1口(选择与S7-1200通信模块连接的串口对应的编号,如图7-14所示),单击“确定”按钮。

3)组态接口参数。在弹出的对话框(如图7-16所示)中设置COM1参数与CM1241RS232模块一致,本例中使用默认设置即“9600,8,N,1,无校验”,单击“确定”按钮。

978-7-111-47789-1-Chapter07-14.jpg

图7-12 启动方式

978-7-111-47789-1-Chapter07-15.jpg

图7-13 位置信息设置

978-7-111-47789-1-Chapter07-16.jpg

图7-14 超级终端新建连接

978-7-111-47789-1-Chapter07-17.jpg

图7-15 选择连接接口

4)组态ASCII码参数。在如图7-17所示的对话框中选择“文件”→“属性”选项。在弹出的如图7-18所示的对话框中选择“设置”选项卡,再单击“ASCII码设置”按钮,在弹出的对话框中选择“本地回显键入的字符”框,单击“确定”按钮。

978-7-111-47789-1-Chapter07-18.jpg

图7-16 组态接口参数设置

978-7-111-47789-1-Chapter07-19.jpg

图7-17 选择“文件”→“属性”选项

2.S7-1200中的发送程序

打开CPU 1214C的Main[OB1]程序编辑界面,在窗口右侧选择“指令”→“扩展指令”→“通信”→“点对点”指令下的“SEND_PTP”如图7-19所示,将其拖入到程序段中并赋值。SEND_PTP程序如图7-20所示。

978-7-111-47789-1-Chapter07-20.jpg

图7-18 ACSII码设置

978-7-111-47789-1-Chapter07-21.jpg

图7-19 找到指令路径

978-7-111-47789-1-Chapter07-22.jpg

图7-20 SEND_PTP程序

SEND_PTP函数各引脚的解释如下所述。

1)REQ:发送请求,每个上升沿发送一个消息帧。

2)PORT:CM1241 RS232串口的硬件标识符,在此设为常量RS232_1[CM],可从PLCTags中的Constants找到其对应的值,该值为11。

3)BUFFER:指定发送缓冲区(需要发送哪一个DB中的数据),其结构如图7-21所示。

4)LENGTH:发送的消息帧中包含多少字节的数据,数据类型为UInt。

5)PTRCL:FALSE,表示使用用户定义的通信协议,而非SIEMENS定义的通信协议。

978-7-111-47789-1-Chapter07-23.jpg(www.xing528.com)

图7-21 SEND_PTP发送缓冲区

6)DONE:发送完成输出一个脉冲。

7)ERROR:发送失败输出一个脉冲。

8)STATUS:状态字。

本例中,M10.0由0变为1时发送数据块db_Send(DB2)内db_Send.send_buffer数组中的10字节数据“How are u?”,SEND_PTP的输入/输出引脚的值如图7-22所示。

978-7-111-47789-1-Chapter07-24.jpg

图7-22 SEND_PTP的输入/输出引脚的值

查看超级终端中已收到来自串口通信模块CM1241 RS232的字符,如图7-23所示。

978-7-111-47789-1-Chapter07-25.jpg

图7-23 超级终端接收的字符

3.S7-1200中的接收程序

打开CPU 1214C的Main[OB1]程序编辑界面,在窗口右侧选择“指令”→“扩展指令”→“通信”→“点对点”指令下的RCV_PTP,将其拖入到程序1中并赋值。RCV_PTP程序如图7-24所示。

1)EN_R:接收请求,当此输入端为1时检测RS232模块接收的消息,如果成功接收,则将接收的数据传送到CPU中。

978-7-111-47789-1-Chapter07-26.jpg

图7-24 RCV_PTP程序

2)PORT:CM1241 RS232串口的硬件标识符,在此设为常量RS232_1[CM],可从PlcTags中的Constants找到其对应的值,该值为11。

3)BUFFER:指定接收数据存放的区域(将接收的数据存放在哪一个DB中),其结构如图7-25所示。

978-7-111-47789-1-Chapter07-27.jpg

图7-25 RCV_PTP接收缓冲区

4)NDR:成功接收到一个新的消息帧输出一个脉冲。

5)ERROR:发送失败输出一个脉冲。

6)STATUS:状态字。

7)LENGTH:接收到的消息中包含的数据有多少字节。

本例程序中,M20.0为1时检测RS232模块接收的消息,并将成功接收到的数据存放到db_RCV(DB2)中db_RCV.RCV_buffer数组中的15字节数组中。如图7-26所示,在超级终端窗口菜单中给RS232模块发送一个文本文件。文本文件内容为“Fine.Thanks!”,如图7-27所示。

978-7-111-47789-1-Chapter07-28.jpg

图7-26 使用超级终端发送文件文件

978-7-111-47789-1-Chapter07-29.jpg

图7-27 超级终端发送的文件内容

发送时可观察到RS232模块上的接收指示灯Rx会闪烁,监控RCV_PTP的输入/输出引脚的值如图7-28所示。

978-7-111-47789-1-Chapter07-30.jpg

图7-28 RCV_PTP的输入/输出引脚的值

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈