欢迎来到捷库猫

西门子PLC以太网开放式用户通信连载(1)-TCON

  2021-02-04 阅读:227

从今天这篇文章开始,我们以连载的方式来介绍西门子PLC基于以太网的开放式用户通信(Open User Communicaton)。文章以西门子S7-1200 PLC为例,但对于S7-300/400,S7-1500系列PLC也具有相同的指导意义。开放式用户通信基本包括四个步骤:建立连接,接收数据,发送数据和断开连接,各个步骤均有相应的功能块(指令)来实现。今天这篇文章,我们先来介绍建立连接的指令:TCON。

undefined

在开放式用户通信中,无论是使用TCP协议,还是ISO-ON-TCP协议或者UDP协议,都需要使用TCON指令来建立连接。对于TCP或者ISO-ON-TCP协议,TCON会在通信伙伴之间建立真实的连接;对于UDP协议,TCON指令只是用来配置相关的通信参数。关于二者之间的区别,请参考文章:UDP协议通信需要建立连接吗?

下面我们以S7-1200为例,介绍如何在博途(Portal)环境下配置与使用TCON指令。

在【指令(Instructions)】-【通信(communications)】-【开放式用户通信(Open user communication)】- 【其它(others)】列表中找到TCON指令,如下图:

TCON_Instruction.PNG

将其拖拽到程序块中,系统会自动弹出为该指令添加背景数据块的对话框。可以选择使用独立背景数据块(Single instance DB)或者多重背景数据块(Mutil instance DB),如下图:

TCON_DB.PNG

本例程中我们选择独立背景数据块,点击【OK】确认,系统会将该DB块添加到【系统块】-【程序资源】列表中。程序中TCON指令如下图:

TCON.PNG

下面来介绍下该指令中各参数的含义:

  1. REQ:建立连接请求,需要一个上升沿的的信号变化;

  2. ID:连接资源的唯一标识;

  3. CONNECT:一个指向连接资源的指针。连接资源是一个包含相关配置参数的DB块;

  4. DONE:通信连接的过程是否完成,1=已经完成;

  5. BUSY:是否正在进行通信连接,1=正在连接,0=未开始连接或已经完成;

  6. ERROR:连接过程中是否有错误发生,0=没有错误,1=有错误;

  7. STATUS:连接的状态;

下面这张表格是常见的ERROR和STAUS的描述:

undefined

对于TCON连接参数(TCON_Param)的分配,可以使用如下任意一种方式:

  • 手动创建TCON_Param的DB块,分配参数并直接以指令写入;

  • 使用属性窗口进行分配;

我们来介绍相对简单的属性窗口分配的方法:

在TCON指令的属性(Properties)窗口中,点击【配置(Configuration)】-【连接(Connection)】,选择需要通信的伙伴。

通信伙伴可以是项目中已有的CPU,或者不指定。本例程对通信伙伴选择【不指定(unspecified)】。
然后点击【连接数据(Connection Data)】右侧的列表框,选择【新建(new)】,系统会自动创建一个用于配置连接参数的DB块,本例程中默认创建的DB名称为:PLC_1_Connection_DB,如下图:

connection_data.png

建议将其重命名以增加可读性。

在程序列表中,找到新创建的DB块右键选择【重命名】,将其修改为:TCON_Param_DB:

rename_connection_data.png

假设我们使用TCP协议,在【连接类型(Connection Type)】的列表框中选择TCP;
【连接ID(Connection ID)】根据实际情况填写,这里设置为1;
设置通信伙伴的IP地址设置为:192.168.0.60,端口号为:2010;
将本地PLC设置为主动连接(Active connection establishment);

这样连接参数就配置好了,如下图:

connection_config_complete.png

最后给TCON指令各参数进行赋值,如下图:

TCON_complete.PNG

这样,在Start_Connect(I0.2)的上升沿,程序就可与通信伙伴进行连接了。

好了,关于西门子开放式用户通信的连接指令TCON就先介绍到这里,欢迎扫描下面的二维码关注我们的微信公众号。



反对 0举报 0 收藏 0 打赏 0

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

注册有礼

在线咨询

关注微信

微信

下载APP

捷库猫APP