技术论坛

snap7哪个API能够检测PLC与上位机的连接状态?

作者 主题
游民

经验值: 60
发帖数: 11
精华帖: 0
主题:【探讨】snap7哪个API能够检测PLC与上位机的连接状态?


只看楼主 楼主 2021-05-25 23:31:02

采用了snap7通信库来连接200smart和上位机界面,我希望能够实时刷新他们的连接状态,比如如果网线断了,可以刷新出他们的连接断了的状态。
我以为是采用connected函数,可我试了之后发现,就算网线断了,connected函数返回的还是true;
so,哪位大牛能解释下吗?


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1697445&b_id=64&s_id=0&num=3

至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:snap7哪个API能够检测PLC与上位机的连接状态?


只看楼主 1楼 2021-05-26 09:38:54

PC作为客户端连接PLC作为服务器的时候,不是有个

int S7API Cli_ErrorText(int Error, char *Text, int TextLen);

函数可以查询错误码么?然后可以在CLIENT Error codes的const里面看到错误代码表示什么错误。


所以,作为客户端,你要定期查询连接状态才知道当前连接状态的啊,人家snap7只是协议又不管连接状态的。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4243
发帖数: 583
精华帖: 3
回复:snap7哪个API能够检测PLC与上位机的连接状态?


只看楼主 2楼 2021-05-26 09:40:42

作一个心跳,相互听对方的心跳:

1、PLC,心跳0~10000,从0开始递增,每一个时间周期加1(可自由设置,但双方最好一致);

2、PC,心跳0~10000;

双方定时去查看对方的心跳值,一旦发现对方心跳停止,尝试重连。重连次数,重连周期最好可配置。


 
以下网友喜欢您的帖子:

  
游民

经验值: 60
发帖数: 11
精华帖: 0
回复:snap7哪个API能够检测PLC与上位机的连接状态?


只看楼主 楼主 3楼 2021-05-26 10:28:58
以下是引用Zaxife在2021-05-26 09:38:54的发言 >1楼

PC作为客户端连接PLC作为服务器的时候,不是有个

int S7API Cli_ErrorText(int Error, char *Text, int TextLen);

函数可以查询错误码么?然后可以在CLIENT Error codes的const里面看到错误代码表示什么错误。


所以,作为客户端,你要定期查询连接状态才知道当前连接状态的啊,人家snap7只是协议又不管连接状态的。

你好,int Cli_ErrorText(int Error, char *Text, int TextLen);里面中的error应该怎么获得?


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
snap7哪个API能够检测PLC与上位机的连接状态?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。