可以说了 IOT2K学习(五)通过邮件给驱动设备下指令

已锁定

yming

西门子1847工业学习平台

  • 帖子

    22526
  • 精华

    860
  • 被关注

    1171

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

可以说了 IOT2K学习(五)通过邮件给驱动设备下指令

1478

16

2018-06-06 16:40:16

在IOT学习(四)中,介绍了当驱动出现问题时发邮件。报告状态的方法。

通常,IOT2K是通过云服务器与外部连接的;客户端(手机等)也是通过云服务器与IOT2K交换信息,进而控制它下辖的装置的。
在不产生费用的条件下,使用邮件服务器,也是一种选择。对吧?

在这帖子中,介绍一下:如何通过邮件去设置驱动的参数:
首先,从社区节点中,拖入一个收邮件的节点(输出信息流在右边)




这个节点的功能是:
按设置好的时间间隔,使用安全链接,去检查指定邮件账号上,收件箱中的未读邮件

双击,按要求设置接收邮件的参数:



图2
这是每100秒检查一次指定邮箱。(你在它后面 接上一个debug节点,仔细看看都会得到什么样的未读邮件)

如果你能使IOT2K接受到了未读的邮件。那么,下一步就可以继续了


现在的问题是:如何在一堆未读邮件中,检索出是给IOT2K下指令的邮件!


我是这样考虑的:
1、每封邮件都有个主题。那好,我们就指定个主题:例如:当主题是“IOT2KSET”时,这封邮件就是给IOT2K的。
2、IOT2K下面有好多设备:S7 1200、LOGO!、变频器G120-2PN等等;怎么区分指令是给谁的?我自己规定一个邮件内容格式不就行了?
我自己规定,内容格式为:装置:参数名:数值;中间用冒号分割。
比如,我要设置 G120 CU250的最大速度(P1082)为 1350.5转/分,那么邮件就应该写成这样:



图1

(这些都是你自己按需要规定的)有了规矩,下面就好办了。

再拖入一个switch节点。首先检查 邮件主题(topic)是不是IOT2KSET。如果是,邮件内容将出现在它的输出!(注意:因为只有一个IOT2K模块。如果你有多个IOT2K模块分布在不同的地方,那么,应该用邮件主题来区分,如:IOT2K1SET、IOT2K2SET、IOT2K3SET;每个IOT2K自己会找到给它的邮件的。)



图3

在它的后面(这已确认邮件发来了给模块的指令),需要再拖入个switch节点,用来分析是给IOT2K下辖的哪个装置的。
我这里只是简单地表示一下方法。实际上,从这里可以分路去分别控制S7 1200、LOGO、变频器。
这个节点的作用就是:邮件内容包含(contains)“CU250”就从1输出信息流。
(如果你添加了S71214,就从2输出信息流,后面就去处理PLC的对象。)




图4

好了。可以确认在这个(Chk CU250)节点后面输出的指令,就是给变频器的。下面的任务,就是分析指令内容去执行了。

仍然拖过一个switch节点。根据需要,添加判断结果的输出。



图5

可以确认 MAXSPEED的输出就是要去设置变频器的最大频率P1082!所以,下面就是要把设置值取出来送给变频器就完成了。


为此,我们需要拖入一个function函数,将msg.payload(邮件内容)中的数值取出来。
在fuction中写入 javascript 代码。
这些对象的属性都是规定好的,直接简单使用。这个也可以自己做个lib,重复使用。



图6

最后,从输出(output)拖入一个 s7 节点。做一下设置。



图7




图8

完成后,发布到IOT2K


如前面的邮件那样,自己发一封邮件。不一会儿,IOT2K就接收、检查未读邮件,随后立即向变频器CU250设置了参数 P1082=1350.5rpm。



图9


是不是很容易?


下一帖,我们来说说 就 Javascript 要比PLC编程容易得多。




可以说了 IOT2K学习(五)通过邮件给驱动设备下指令 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

物联网(IOT)

共有214条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。