设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子博途环境下LMQTT库的通信实例
返回列表
发新帖
[西门子]
西门子博途环境下LMQTT库的通信实例
[复制链接]
62462
|
0
|
7 天前
|
显示全部楼层
|
阅读模式
上一篇文章简单介绍了MQTT协议,及如何基于NanoMQ来搭建MQTT服务器。今天这篇文章,我们来介绍如何使用西门子官方发布的LMQTT通信库来完成客户端与服务器的MQTT通信。
西门子官方发布了一个基于博途环境的SIMATIC控制器通信库,涵盖了多种通信协议,比如:TCP、FTP、HTTP、MQTT、OPCUA、SNMP等等。可以去西门子官网或我的博客网站(www.founderchip.com)同名文章下载。本例程介绍其中的MQTT通信库。
在博途环境下新建项目,命名为“MQTT_Demo”,添加控制器CPU 1517-3PN/DP。单击右侧任务卡【库】,在全局库中单击打开图标,如下图所示:
浏览到存放通信库的路径,默认情况下以“只读”形式打开,如下图所示:
打开该通信库会看到在其“类型”中有各种通信协议的函数,比如LCom(TCP协议通信库)、LFTP(FTP协议通信库)、LHTTP(HTTP协议通信库)、LMQTT(MQTT协议通信库)等等。
在项目树的【程序块】中新建一个函数块,命名为“MQTT_Test”。将LMQTT_Client拖放到函数块MQTT_Test中,如下图所示:
添加MQTT_Client时,系统会提示创建背景数据块。这里我们选择“单个实例(独立背景数据块)”,添加完成后如下图所示:
函数LMQTT_Client有8个输入参数、8个输出参数和9个输入/输出参数,其中:
输入参数:
名称
数据类型
说明
enable
布尔型
当该值为真表示与MQTT服务器建立连接并保持,反之断开连接
publish
布尔型
该值的上升沿发送一个“发布(PUBLISH)”报文
subscribe
布尔型
该值的上升沿发送一个“订阅(SUBSCRIBE)”报文
unsubscribe
布尔型
该值的上升沿发送一个“取消订阅(UNSUBSCRIBE)”报文
qos
USInt
发布或订阅消息的服务质量数值,可以是0、1或2,更多信息参考后文的解释。
retain
布尔型
当该值为真,表示发送的报文带“保持”标识,反之不带。
publishMsgLen
UDInt
发布消息的有效长度(参数publishMsgPayload的有效字节数)
willMsgLen
UInt
遗嘱消息的有效长度
输出参数:
名称
数据类型
说明
valid
布尔型
如果该值为真,表示函数的其它输出值是有效的
done
布尔型
真=作业执行没有错误;假=作业未执行或有错误
busy
布尔型
真=作业正在执行;假=作业已经完成或未执行
error
布尔型
真=有错误发生;假=无错误
status
字
作业执行的状态
diagnostics
typeDiagnostics
诊断内容
receivedMsgStatus
USInt
接收消息的状态:0=没有新消息;1=有新消息;2=收到新消息但是无效或超出存储区范围
receivedMsgLen
UDInt
接收消息的有效长度
输入/输出参数:
名称
数据类型
说明
connParam
LMQTT_typeConnParam
通信连接的参数配置
clientIdentifier
字符串
客户端标识名称
username
字符串
用户名
password
字符串
密码
willTopic
字符串
遗嘱主题
mqttTopic
字符串
用于发布、订阅或取消订阅的MQTT主题
publishMsgPayload
字节数组
发布消息的载荷(内容)
receivedTopic
字符串
接收到的主题
receivedMsgPayload
字节数组
接收到的消息载荷(内容)
添加库函数的过程中,会自动把一些相关的函数、数据类型添加到项目树中,如下图所示:
新建mqttDB_parm数据块存放该函数的形参,如下图所示:
调用LMQTT_Client函数示例如下图所示:
好了,关于LMQTT_Client通信库就先介绍到这里。后续我们配合NanoMQ服务器进行测试。
我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》从硬件到软件,比较详细的介绍了SCL语言的编程,感兴趣的话可以点击下面的链接或者左下角的【阅读原文】查看:
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
ydprc
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』