怎么检测WinCC与PLC的通信状态.docVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

主题:怎么检测WinCC与PLC的通信状态?

怎么检测WinCC与PLC的通信状态

问:怎么检测WinCC与PLC的通信状态,当通信断开时在报警中显示“通信中断”,通信再次连接正常时在报警中显示“通信连接”,并计算出中间的间隔时间。?

有一种方法:WINCC有函数可以获取变量的状态,得出一个32位无符号数,全为0时候通讯正常,可以试一下?

答:可以将信号质量状态取出,进行编程

#include?apdefap.h??

int?gscAction(?void?)

{??

unsigned?long?status[1];??

GetTagBitState(S7$Program(1)_Switch,status[0]);?//Return?type?:short?int?printf(%d,*status);??

if?(*status==1)

SetTagBit(ConnectionBool,1);?//Return?type?:BOOL

else

SetTagBit(ConnectionBool,0);?//Return?type?:BOOL??

return(0);

}??

也可以写成

DWORD?state;

GetTagBitState(PLC_WINCC_Comm,?state);

if(?state==?0)?SetTagBit(Sta_PLCWinCCCommOK,?1);

else?SetTagBit(Sta_PLCWinCCCommOK,?0);

同时,wincc还要通知PLC与其链接正常,在上面脚本再加上?SetTagBit(Comm_toPLC,?1);?这一句将每两秒把Comm_toPLC这个tag置一,PLC收到这个tag为1就复位之,然后PLC逻辑通过延时检验15s一直没有收到1,那么就置位一个与WinCC链接中断的标志位。

DB100.DBX103.4?就是?WinCC内地Tag:Comm_toPLC,收到上升沿开始计数,DB100.DBX103.0是给回WinCC的,让WinCC知道通讯状态。也是扫描条件就绪的条件之一。不过DB100.DBX103.0这个WinCC用不大保险,还是WinCC自己检测Tag?State比较靠谱。15s内如果还没有收到下一个WinCC发来的上升沿(如前所述WinCC每2s置1一次),证明通讯中断,PLC会set?DB100.DBX103.0,扫描会中断。

//////////////////////////////////////////

帮助中有:

Value?(decimal)?Value?(hexdecimal)?Meaning

0?0x0000?No?error

1?0x0001?Connection?to?partner?not?established

20x0002Handshake?error

4?0x0004?Network?module?defective

8?0x0008?Configured?upper?limit?exceeded

16?0x0010?Configured?lower?limit?exceeded

320x0020?Format?upper?limit?exceeded

64?0x0040?Format?lower?limit?exceeded

1280x0080Conversion?error

256?0x0100?Tag?initialization?value

512?0x0200?Tag?replacement?value

1024?0x0400?Channel?addressing?error

2048?0x0800?Tag?not?found?or?not?available

4096?0x1000?Access?to?tag?not?permitted

8192?0x2000?Timeout,?no?check-back?message?from?the?channel

16384?0x4000?Server?not?available.

////////////////////////////////////////////////

文档评论(0)

188****7663 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档