北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8665947

西门子博途S7-1200/1500通信库LCom介绍

S7-1200/1500通信库LCom是西门子官方推出的用于博途环境下的通信库,使用该通信库,通过简单的配置即可在两个设备之间基于TCP协议进行数据交换。LCom除了可用于标准的TCP通信,还自定义了一个称为LCom的附加协议。今天这篇文章,我们先来介绍下LCom通信库。

本文包括如下两个主题:

  • 如何下载LCom库并添加到项目中;

  • LCom库文件介绍;

cover.png

1、如何下载LCom库并添加到项目中

1.1、如何下载?

可以到西门子官网下载,或在公众号(founderchip)底部输入口令“lcom”。

1.2、如何添加到项目中?

关于函数库的加载,我曾经在通用函数库(LGF)的文章中介绍过,这里我们再介绍一遍。

打开博途开发环境(我使用的是V16),新建一个项目并打开。在右侧的导航栏单击“库”选项卡,在全局库中单击下图的“打开全局库”图标

打开全局库.png

在弹出的对话框中浏览到你下载文件的存放位置,如下图所示:

打开库路径.png

目前最新的LCom库版本是V2.0.6,早期开发环境是博途V14版本。我们使用博途V16打开会自动升级,并保存一个V16版本的库。默认情况下,我们以只读的方式打开,如下图所示:

LCom库.png

2、LCom库文件介绍

LCom库由三部分组成:

  • 函数库代码:LCom_Communication;

  • 函数库常量:LCom_Constants;

  • 函数库自定义类型:typeLCom_Config和typeLCom_Diagnostics

为了能正常使用该通信库,需要如下操作:

  • 将函数库代码(LCom_Communication)复制到项目的“程序块”中,可以新建一个分组(文件夹)以标识;

  • 将函数库常量(LCom_Constants)复制到项目的“PLC变量”中;

  • 函数库自定义类型(typeLCom_Config和typeLCom_Diagnostics)复制到项目的“PLC数据类型”中;

接下来我们介绍下LCom_Communication的参数。

创建一个函数块(比如FB100),将LCom_Communication拖放到该函数块中,可以看到LCom_Communication的参数,如下图所示:

LCom FB.png

各参数的含义如下:

2.1、输入参数

名称
数据类型
说明
enable
BOOL
上升沿与通信伙伴建立连接
send
BOOL
上升沿发送数据
sendDataLength

UDInt

数据的长度(字节数)
readDataLength
UDInt
详见2.1①
configuration
typeLCom_Config

详见数据类型:

typeLCom_Config

2.1①、readDataLength,用于设置数据读取的时机,分两种情况:

  • 不使用LCom协议时:0=不读取TCP缓冲区;1~4294967294=等待TCP缓冲区处于可读取状态,设置输出位“dataReceived”为TRUE,设置值之外的数据依然存放在TCP缓冲区;4294967295(16#FFFFFFFF)=立即读取TCP缓冲区的所有可用数据 (默认);

  • 使用LCom协议时:0=不读取TCP缓冲区;1~4294967294=不相关;4294967295(16#FFFFFFFF)=不相关;

2.2、输出参数

名称
数据类型
说明
connected
BOOL
通信是否建立,1=建立
sending
BOOL
数据是否已经被发送,1=已经发送
dataReceived
BOOL
已经接收到新数据
receivedDataLength
UDInt
接收数据的长度,以字节为单位
busy
BOOL
是否繁忙,1=繁忙
error
BOOL
是否出错,1=出错
status
WORD
状态字

2.3、输入/输出参数

名称
数据类型
说明
sendBuffer
Variant
数据发送缓存区
receiveBuffer
Variant
数据接收缓存区
diagnostics
typeLCom_Diagnostics
诊断数据缓存区

限于篇幅,typeLCom_Config和typeLCom_Diagnostics我们就在下一篇文章详细介绍吧。

我的微信视频号分享一些工控小知识,欢迎扫描下面的二维码观看:

founderchip.png

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论