『分享』IFIX冗余系统之切换主节点代码 点击:3021 | 回复:16



qianlx

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:50帖 | 31回
  • 年度积分:0
  • 历史总积分:458
  • 注册:2006年2月08日
发表于:2006-11-21 12:17:00
楼主
IFIX切换回主节点代码
IFIX冗余时,当主节点停机,客户端将自动切换到备份节点。一旦主节点重新启用,可以运用一下代码将IFIX切换回主节点。
此段代码可以加到 调度、定时器、按钮等。
添加步骤:
1. 打开VBA,在Project_User中插入一个新的模块。 
2. 将代码加到模块中。 
3. 在合适的地方添加调用的代码
――――――――――――――――模块中代码――――――――――――――――――
Public Function GetLocalNode() As String
On Error Resume Next
Dim strMyName As String * 9
Dim iErr As Integer
Dim lngLength As Long
iErr = eda_get_my_physical_name(strMyName)
lngLength = InStr(1, strMyName, Chr(0)) – 1
If lngLength > 0 Then
    strMyName = Left(strMyName, lngLength)
    GetLocalNode = Trim(strMyName)
End If
End Function
Public Sub FailOverToPrimary(ScadaID As String)
'ScadaID表示网络节点名
Dim strMyName As String '表示当前节点
Dim strActiveNode As String 
Dim vActNode As Variant '表示活动节点 (0 = 主节点, > 1 = 备节点)
Dim vPrimStat 
Dim strPrimStatus As String '表示主节点状态 (例如: "OK")
On Error Resume Next
strMyName = GetLocalNode '获得节点名
strActiveNode = "Fix32." & strMyName & ".nsd.f_curactivenode_" & ScadaID
vActNode = ReadValue(strActiveNode)
If vActNode <> 0 Then '当活动节点是备节点时,切换
strPrimStatus = "Fix32." & strMyName & ".nsd.a_primarystatus_" & ScadaID
    vPrimStat = ReadValue(strPrimStatus)
    If vPrimStat = "OK" Then writevalue "0", strActiveNode    
End If
End Sub
―――――――――――以下是调用代码,以定时器为例―――――――――――――
Private Sub FixTimer3_OnTimeOut(ByVal lTimerId As Long)
FailOverToPrimary "0"
End Sub
――――――――――――――――――――――――――――――――――――――――
[color=#FF0000]以上代码由杭州集益科技有限公司提供,转载请复制此段内容!
杭州集益科技网址 www.jiyitech.com   下载中心有丰富的IFIX资料!
IFIX交流群:21259526   这里有专业的IFIX技术支持,欢迎加入!
在此群中有杭州集益科技不定期的网络培训!![/color]



昆仑摩勒

  • 精华:1帖
  • 求助:1帖
  • 帖子:32帖 | 446回
  • 年度积分:0
  • 历史总积分:1058
  • 注册:2004年11月22日
发表于:2006-11-21 12:54:00
1楼
收下了 谢谢~~~~~~~~~

shhx

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 95回
  • 年度积分:0
  • 历史总积分:3355
  • 注册:2005年7月29日
发表于:2006-12-14 23:17:00
2楼
呵呵,不错

gelic

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 42回
  • 年度积分:0
  • 历史总积分:121
  • 注册:2005年10月12日
发表于:2006-12-15 10:52:00
3楼
切换到备用节点后,不用管他,等主节点恢复后,仍然运行在备用节点,当备用节点出问题,自动又会切换到主节点。

杭州集益

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 4回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2006年10月17日
发表于:2007-01-05 11:47:00
4楼
   
GE IFIX/PLC资料 4G的DVD资料免费快递送

把公司名称和地址,姓名,联系电话发到
e-mail:spftony@163.com

我们会寄DVD光盘给大家

DVD资料内容: http://www.jiyitech.com/DVD/Menu.files/frame.htm

Email标题:IFIX资料索取

内容:公司名称和详细地址,姓名,联系电话,邮编 

杭州集益科技

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2004年12月01日
发表于:2007-01-15 10:37:00
5楼
这个东西是杭州集益参考Globalcare写的!

寒冷

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 167回
  • 年度积分:10
  • 历史总积分:513
  • 注册:2005年6月23日
发表于:2007-01-26 14:54:00
6楼
杭州集益科技 的朋友你好:寄的光盘资料收到,非常感谢!希望有机会与贵公司合作.   谢!

昆仑摩勒

  • 精华:1帖
  • 求助:1帖
  • 帖子:32帖 | 446回
  • 年度积分:0
  • 历史总积分:1058
  • 注册:2004年11月22日
发表于:2007-05-30 11:02:00
7楼
iErr = eda_get_my_physical_name(strMyName)
好像有错误吧?不知哪位高手知道?

自个忽悠

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2006年7月31日
发表于:2007-09-04 18:35:00
8楼
API 函数
Declare Function eda_get_my_physical_name% Lib "vdba.dll" (ByVal Value$)

自个忽悠

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 7回
  • 年度积分:0
  • 历史总积分:115
  • 注册:2006年7月31日
发表于:2007-09-04 18:35:00
9楼

昆仑摩勒

  • 精华:1帖
  • 求助:1帖
  • 帖子:32帖 | 446回
  • 年度积分:0
  • 历史总积分:1058
  • 注册:2004年11月22日
发表于:2007-09-04 20:43:00
10楼
高手。。。。

deng_lp

  • 精华:5帖
  • 求助:0帖
  • 帖子:65帖 | 2669回
  • 年度积分:0
  • 历史总积分:2876
  • 注册:2001年6月19日
发表于:2007-12-10 08:30:00
11楼
此为EDA开发包的内带函数库,在VB上的写法同上,在VC中的写法为
INT16    eda_get_my_physical_name( CHAR *node );

hsbeyond

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 103回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2002年3月10日
发表于:2007-12-10 08:59:00
12楼
收下了,谢谢,好东西

zzdyybyq

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 9回
  • 年度积分:0
  • 历史总积分:114
  • 注册:2008年7月05日
发表于:2011-04-13 16:00:27
13楼
我按照上面的方法试了,好像不行啊!

zzdyybyq

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 9回
  • 年度积分:0
  • 历史总积分:114
  • 注册:2008年7月05日
发表于:2011-04-13 16:01:06
14楼
还请高手指点!!!!

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2012-11-09 15:34:42
15楼
学习中;有更多资料给指点一下啊!!!

colleman

  • 精华:0帖
  • 求助:10帖
  • 帖子:16帖 | 389回
  • 年度积分:6
  • 历史总积分:13818
  • 注册:2011年8月18日
发表于:2012-11-24 12:38:14
16楼
光顾一下~~过来看看~~那你清楚服务器的冗余数据如何设置数据同步或者暂停同步吗?

热门招聘
相关主题

官方公众号

智造工程师