恭喜,你发布的帖子
发布于 2021-03-05 17:05:33
77楼
下面继续
LMQTT库的使用碰到一个小坑,enable置为1,建立连接的时候,status一直报16#0000_8089错误,statusID 为2,查看库的源程序,statusID对应的是出现错误时 #statStateTcpMachine 的状态,而2对应的是TCP_CONNECTING,那就去查TCON的错误代码吧,8089对应的错误是 “参数 CONNECT 未指向连接描述,或者连接描述是手动创建的。” 或者是 “CONNECT 参数没有指向某个数据块。”
在库的静态变量中找类型为TCON的变量,找到了 “instTcpConnect”,然后搜索程序,程序中有两处 调用,代码是一样的,就是根据 #tcpConnParam.useQdn ,判断是使用域名还是使用IP地址,调用使用不同的参数调用instTcpConnect,我的程序是根据域名调用的,那我就在全局数据块中新建了一个TCON_QDN的变量,然后 instTcpConnect 之间用这个变量作为参数调用
把两处都这么修改。下载程序,再次测试,连接成功
您好,你说的这个小坑,将enable设置为1时,status报16#0000_8089错误,statusID 为2。我是将您提供的哪个西门子下载的demo工程,里面有1500和1200两个,我是在1500也是用advanced plcsim仿真,将全局数据块DB1中的一些参数设置好以后,并并不会报所谓的这种错误(我没将您所说的源码更改,还是保持以前的源码)。但是我看阿里云那边是“离线”。这是啥原因?
请填写推广理由:
分享
只看
楼主