您当前的位置:首页 > 好词好句 > 正文

S7-1200与其他PLC/组态软件无线串口通讯

S7-1200与其他PLC/组态软件无线串口通讯

一、控制系统原理

图1:控制系统原理

二、硬件要求

S7-1200 PLC目前有三种类型的CPU:

1)S7-1211 c CPU 2)S7-1212 c CPU 3)S7-1214 c CPU可以连接三个串行通信模板。

本例使用的PLC硬件为:1)PM1207电源(6ep 1332-1sh 71)2)S7-1214 c(6es 7214-1be 30-0b 0)3)cm 1241 RS 232(6es 7241-1ah 30-0b 0)。

三、软件要求

编程软件STEP 7 Basic V10.5 (6E7822-0A0-0A0)

四、配置

我们通过下面的实际操作来介绍如何在Step7 Basic V10.5中配置S7-1214C与超级终端进行通信。

点击桌面上的“综合自动化门户V10”图标,打开下图:

图2:新的S7-1200项目

首先,你需要选择“创建新项目”选项,然后输入PTP;在“项目名称:”中;将项目的存储路径改为“路径:”中的“c:”;点击“创建”,一个新的PTP项目文件被创建。创建的窗口如下图所示:

图3:创建新项目后。

点击门户视图左下角的项目视图,切换到项目视图,如下图:

图4:切换到项目视图

打开后,在“设备”选项卡下,单击“添加新设备”,在弹出菜单中输入设备名称“PLC_1”,并在设备列表中选择CPU的类型。选择后,出现下图:

图5: PLC硬件配置

插入CPU后,点击CPU左边的空槽,在右边的“目录”中找到“通讯”下的RS232模块,拖动或双击这个模块,这样串口模块就插入到硬件配置中了。接下来你需要配置这个RS232模块的硬件接口参数,选择RS232模块,下面会出现一个该模块的硬件属性配置窗口。属性窗口中有两个选项,一个是“通用”;一个是RS232接口。"一般"包括本模块的"项目信息"和"订单信息";RS232接口包括项目信息、端口配置、发送信息配置、接收信息配置和硬件标识号。

这里我们选择“RS232接口”,在“端口”配置选项中,我们配置端口的参数,波特率为9600;验证方式:无;数据位为:8;停止位:1;硬件流量控制:无;等待时间:1ms设置参数如下:

图6: RS232接口配置

此时,确认“硬件标识号”是11。

至此,硬件配置完成,接下来需要编写串口通信程序。这里我们实现了两个功能:1 .S7-1200向超级终端发送数据(具体实现步骤如下);2.超级终端向S7-1200发送数据(具体实现步骤如下);

1S7-1200向超级终端发送数据。

S7-1200向超级终端发送数据。实际上,S7-1200是数据的发送者,超级终端是数据的接收者。对于S7-1200,需要编写一个发送程序。对于超级终端,只需打开超级终端程序,配置硬件接口参数和S7-1200的端口参数。

以下步骤将具体介绍实现该功能的步骤:

1)在PLC中编写发送程序。在项目管理视图中,双击“设备”下程序块下的Main(OB1)打开OB1,调用主程序中的SEND_PTP功能块,如下图所示:(注:SEND_PTP在指令库下扩展指令中的通讯指令下)。

图7:调用发送功能块

要给SEND_PTP赋值参数,需要创建SEND_PTP的后台数据块和发送缓冲数据块,双击Devices —— PLC _ 1 ——程序块3354 Add New Block,在弹出的串口中命名DB_Send_PTP,选择DB block,类型后选择Send_PTP。

图8:创建发送功能块的背景数据块

插入后台DB后,插入发送缓冲DB块,重复上面的步骤,只是DB类型为“全局DB”,去掉了符号访问。

图9:接收缓冲区中接收的数据

定义发送缓冲区后,可以为SEND_PTP分配参数,如下所示:

图10:发送节目

在上面的程序块中,需要注意的是当指定发送缓冲区时。一个字符的起始地址从第二个字节开始,而不是零字节,也就是P # DB2。DBX2.0bet10代替P # DB2。DBX0.0bet10,因为S7-1200中字符串的存储格式。S7-1200将字符串的前两个字节定义为最大字符长度,第二个字节定义为实际字符长度。下一步是存储实际的字符。如下图:

图11:字符串存储格式

以上已经完成了编程和编译项目;右键单击PLC_1项目,在弹出的菜单中选择“全部编译”选项,完成硬件和软件的编译,如下图所示:

图12:编译一个项目

编译无误后,可以将程序下载到PLC。同样,右键单击PLC_1项目,并在弹出菜单中选择“下载到设备”。

2)用串口交叉线将S7-1200的串口与计算机的串口连接,打开计算机的超级终端程序,设置硬件端口参数如下图所示:

图13:超级终端的端口设置

3)打开OB1功能块的在线监控程序,在变量监控表中强制M0.0为1,触发数据发送。此时,发送的数据将在超级终端上接收,如下图所示:

图14:在超级终端监控发送的数据。

2超级终端向S7-1200发送数据

超级终端向S7-1200发送数据,实际上S7-1200是数据的接收者,超级终端是数据的发送者。对于S7-1200,需要编写一个接收程序。对于超级终端,只需打开超级终端程序,配置与S7-1200端口参数一致的硬件接口参数,在接口上输入传输内容即可。

以下步骤将具体介绍实现该功能的步骤:

1)在PLC中编写发送程序。在项目管理视图中,双击“设备”下程序块下的Main(OB1)打开OB1,在主程序中调用RCV_PTP功能块,如下图所示:(注:RCV_PTP在指令库下扩展指令中的通信指令下)。

图15:调用发送功能块

要给RCV_PTP赋值参数,需要创建RCV_PTP的后台数据块和发送缓冲数据块,双击Devices —— PLC _ 1 —— Program Block —— Add New Block,在弹出的串口中命名DB_RCV_PTP,选择DB block,键入后选择RCV_PTP。

图16:创建接收功能块的背景数据块

插入后台DB后,插入接收缓冲DB块,重复上述步骤,只是DB类型为“全局DB”,去掉了符号访问。

图17:定义接收缓冲区

定义接收缓冲区后,您可以将参数分配给RCV_PTP,如下所示:

图18:接收节目

在上面的程序块中,应该注意当接收缓冲区被指定时。一个字符的起始地址从第二个字节开始,而不是零字节,也就是P # DB2。DBX2.0bet10代替P # DB2。DBX0.0bet10,因为S7-1200中字符串的存储格式。S7-1200将字符串的前两个字节定义为最大字符长度,第二个字节定义为实际字符长度。下一步是存储实际的字符。如下图:

图19:字符串存储格式

以上已经完成了编程和编译项目;右键单击PLC_1项目,在弹出的菜单中选择“全部编译”选项,完成硬件和软件的编译,如下图所示:

图20:编译一个项目

编译无误后,可以将程序下载到PLC。同样,右键单击PLC_1项目,并在弹出菜单中选择“下载到设备”。

2)用串口交叉线将S7-1200的串口与计算机的串口连接,打开计算机的超级终端程序,设置硬件端口参数如下图所示:

图21:超级终端的端口设置

在桌面上新建一个文本文件,打开这个文本文件,在里面输入“gfdcba”,如下图:

图22:在文本文件下输入要发送的字符串。

3)打开变量监控表,强制M0.0启用接收。然后,在超级终端中,选择“传输”菜单下的“发送文本文件”,并在打开的窗口中找到桌面上的文本文件。

图23:通过超级终端发送数据

打开DB_RCV_BUFF数据块,在线查看接收到的数据,如下图:

图24:接收缓冲区中的数据

通过上面的例子实现了简单的应用。在实际应用过程中,需要根据第三方设备的协议编写S7-1200程序。

审核编辑:李倩

标签:程序硬件PTP


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: asus是什么牌子电脑?华硕是哪个国家的牌子

下一篇: ex1000(索尼MDR-EX1000与森海IE8哪个好)



推荐阅读