技术论坛

求S7-300软冗余和WINCC通讯时,手动切换主从站的脚本!(已解决,方法在二楼)

作者 主题
游民

经验值: 91
发帖数: 6
精华帖: 0
主题:求S7-300软冗余和WINCC通讯时,手动切换主从站的脚本!(已解决,方法在二楼)


只看楼主 楼主 2011-05-25 01:45:44
问题:2台300-2dp做的冗余系统,以太网实现冗余同步,同时用以太网与WINCC通讯,组态完后,PLC中冗余状态正常。WINCC用冗余向导生成,在上位机中设置了手动切换主从站功能,问题就出在这里:PLC A为主站时,通讯正常,能读能写,但是手动切换位PLC B为主站后,WINCC读出的数据不是当前冗余系统中的真实数据,而且不能向PLC输入数据(输入后很快变回原来数据)。但是如果关掉PLC A 就可以了读写了!

查过网站的很多帖子,发现一个帖子说要加入一段软切换的脚本才能实现,但是不知道加入什么样的脚本,如何加入?我对脚本不熟悉,能给个具体的脚本代码吗?

正在现场调试,很着急,在这里先谢谢各位啦!
知足者富,强行者有志!
以下网友喜欢您的帖子:

  
重要声明:

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

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=850311

游民

经验值: 91
发帖数: 6
精华帖: 0
回复:求S7-300软冗余和WINCC通讯时,手动切换主从站的脚本!


只看楼主 楼主 1楼 2011-05-25 19:01:52
西门子技术支持帮我把代码找到了,贴在这里,希望对大家有帮助!
以下代码是Global s cript -> Actions -> Global Actions目录下以所选连接为名称的.pas文件中内容!

{
MSRTStopMsgService ( ServiceID, &Error );
}

此处开始
If ( GetTagDWordWait( "@CPU_3@ConnectionState" ) == 0 )
{
SetTagDWord( "@CPU_3@ForceConnectionState", 1 );
}
else
{
if ( GetTagBitWait( "SWR.Standby" ) == TRUE )
{
SetTagDWord( "@CPU_3@ForceConnectionState", 0 );
}
}
此处结束!
return 1;
}}

上下为代码衔接部分。其中的@cpu3即是连接的名称,可以根据自己所建的连接名称做相应修改,而SWR.Standby这个变量就是DB5.DBX9.1,即FB101的背景数据块的DBX9.1。


知足者富,强行者有志!
以下网友喜欢您的帖子:

  
游民

经验值: 91
发帖数: 6
精华帖: 0
回复:求S7-300软冗余和WINCC通讯时,手动切换主从站的脚本!


只看楼主 楼主 2楼 2011-05-25 19:05:02
对西门子技术支持的帅哥美女们给予的帮助,深表感谢!
知足者富,强行者有志!
以下网友喜欢您的帖子:

  
新手

经验值: 12
发帖数: 6
精华帖: 0
回复:求S7-300软冗余和WINCC通讯时,手动切换主从站的脚本!(已解决,方法在二楼)


只看楼主 3楼 2012-05-04 14:24:21
能给个联系方式么?我这边也在用同样的方法,有些问题请教一下!
 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
求S7-300软冗余和WINCC通讯时,手动切换主从站的脚本!(已解决,方法在二楼)
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。