1。概述与操作 
概述 
担心不稳定的设备会突然关闭你的工厂? 
冗余连接将确保您的工厂在不突然停止的情况下一直正常工作。 
维纶通触摸屏冗余应用实例 
 
 
      
附件为cmp压缩格式。 
 
操作 
当2个HMI中的一个与S7/1200 PLC断开时, 
冗余HMI将立即开始工作。 
假设HMI 1与PLC断开; 
冗余HMI将替换HMI 1并与PLC 1通信。 
此时,如果HMI 2与PLC断开,冗余HMI和PLC 2都将处于等待连接的状态。 
当HMI 1和PLC 1恢复通信时,冗余HMI将立即与PLC 2通信。 
 
2。设置屏幕 
1。首先,HMI1和HMI2的项目必须是相同的。 
在本演示项目中,使用了S7-1200 PLC。 
用户可以决定是否与事件显示一起显示HMI和PLC之间的通信状态,以及相关属性。 
维纶通触摸屏冗余应用实例 
 
 
 
2。继续构建冗余HMI3项目,首先在设备列表中添加2个远程HMI, 
一个IP地址表示HMI1,另一个表示HMI2, 
用于读取PLC与HMI1和HMI2的通信状态。 
然后添加一个S7-1200 PLC,IP地址不受限制。 
维纶通触摸屏冗余应用实例 
 
 
 
3。增加4个事件日志,确定PLC与HMI1、HMI2的通讯是否正常。 
当发生通信错误时,宏将自动触发。 
这4个事件日志从相同的远程地址(lb10100)读取,该地址为PLC4状态(以太网), 
设置为重试。 
每个事件日志检测远程HMIS与PLC:hmi1(开->关,关->开)和hmi2(开->关,关->开)的一种通信状态。 
请为事件日志设置通知位,以便通知其中一个位触发宏。 
在这个演示项目中,如果HMI1通信状态发生了变化,将通知LB999触发宏ID1, 
以及HMI2、LB998触发宏ID2。 
维纶通触摸屏冗余应用实例 
 
 
 
4。现在继续宏,这个演示项目的要点。 
有4种通信状态: 
HMI 1和HMI 2均保持正常; 
HMI1出现错误,但HMI2保持正常; 
HMI2出现错误,但HMI1保持正常; 
HMI1和HMI2上都出现错误。 
宏ID 1: 
 
macro_command main()  
bool a,c,d=1,e=0  
short plcip0[4]={192,168,0,1}   //Assign to an arbitrary IP  
short plcip1[4]={192,168,0,95} //PLC1 IP connected to HMI1    
short plcip2[4]={192,168,0,96} // PLC2 IP connected to HMI2  
bool b = 1  
GetData(a,"Local HMI",LB,999,1) //Read HMI1 status for error check  
GetData(c,"Local HMI",LB,998,1) //Read HMI2 status for error check  
if a==1 and c==0 then //When error occurs on HMI1 but HMI2 stays normal   
SetData(plcip1[0],"Local HMI",LW,9600,4) // Write PLC1 IP into the PLC IP  
address the redundant HMI connects to  
SetData(e, "Local HMI", LB, 10, 1)    
else if a==1 and c==1 then //When errors occur on both HMI1 and HMI2  
SetData(plcip2[0],"Local HMI",LW,9600,4)    
SetData(d, "Local HMI", LB, 10, 1)    
else if a==0 and c==1 then //When error occurs on HMI2 but HMI1 stays  
normal  
SetData(plcip2[0],"Local HMI",LW,9600,4) //Write PLC2 IP into the PLC IP  
address the redundant HMI connects to  
SetData(e, "Local HMI", LB, 10, 1)    
SetData(e, "Local HMI", LB, 20, 1)    
else if a==0 and c==0 then //The status of both HMI1 and HMI2 stay normal  
SetData(plcip0[0],"Local HMI",LW,9600,4) //Randomly provide an IP for  
redundant HMI to connect  
SetData(e, "Local HMI", LB, 10, 1)    
end if  
SetData(b,"Local HMI",LB,10070,1) //forced to reconnect PLC4 when IP  
changeed  
end macro_command  
 
宏ID 2: 
macro_command main()  
 
bool a,c,d=1,e=0  
short plcip0[4]={192,168,0,1}  
short plcip1[4]={192,168,0,95}  
short plcip2[4]={192,168,0,96}  
bool b = 1  
 
GetData(a,"Local HMI",LB,998,1)  
GetData(c,"Local HMI",LB,999,1)  
if a==1 and c==0 then   
SetData(plcip2[0],"Local HMI",LW,9600,4)  
SetData(e, "Local HMI", LB, 20, 1)  
else if a==1 and c==1 then  
SetData(plcip1[0],"Local HMI",LW,9600,4)  
SetData(d, "Local HMI", LB, 20, 1)  
else if a==0 and c==1 then  
SetData(plcip1[0],"Local HMI",LW,9600,4) //  
SetData(e, "Local HMI", LB, 20, 1) //  
SetData(e, "Local HMI", LB, 10, 1) //  
else if a==0 and c==0 then //  
SetData(plcip0[0],"Local HMI",LW,9600,4) //  
SetData(e, "Local HMI", LB, 20, 1) //  
end if  
SetData(b,"Local HMI",LB,10070,1) //  
end macro_command  
 
5。创建PLC控制对象以触发宏,如第3点所述, 
LB999设置为触发宏ID1,而对于LB998,则设置为宏ID2。 
维纶通触摸屏冗余应用实例 
 
 
 
6。最后,用户可以参考一些相关的属性, 
然后决定是否使用其他描述或图形来显示当前的通信状态。 
 
用到的 控件地址: 
维纶通触摸屏冗余应用实例 
 
 
 
 |