|
本帖最后由 zhengxb 于 2021-11-16 08:30 编辑
有些项目中控主机比较多,存在项目控制设备差不多,或者项目设备控制一致,但也存在IP地址不一致,可通过配置项的方式实现一个程序传多个主机
具体
/***********************配置文件*************************************
注:
确保左侧Tree Pane的DEVICE选项已添加Controller子项,固件中控固件为20210140及以上版本
1.通过ftpuser上传Custom.ini文件至System/Setting/Custom.ini目录下,
2.变量定义方法var vATSIP = getCustomConf("master","vATSIP","");
getCustomConf对应的参数分别为Custom.ini文件对应的组,子项,无选项时的默认值
3.在Controller的接收方法里,接收到数据赋值,case "A":B = data.value;break;
A为配置文件的子项,B为变量,A和B可以一样,根据命名
4.涉及到初始化实例的IP配置项需延时3秒调用,确保从配置文件获取到IP地址再创建实例,
对应创建或调用方法有涉及到实例的晚创建或变量同样也延时个5秒
如,_TCP方法:
var vATSIP = getCustomConf("master","vATSIP","");
var devATS;
delay(5,function(){
devATS = new _TCP(vATSIP,setVoiceData)
});
**********************************************************************/
function getCustomConf(group,item,value)
{
sendCodeString("Controller",JSON.stringify({"action":"getConf","group":group,"item":item,"value":value})+"\r\n");
return value
}
setStringReceive("Controller",getReceiveCon);
function getReceiveCon(vReceiveData)
{
sendLog("xxxxxxx",vReceiveData);
var data = JSON.parse(vReceiveData);
if(data.action=="getConf" && data.group=="master"){
switch(data.item){
case "vATSIP":vATSIP= data.value;break;
}
}
}
//默认配置为192.168.1.91
var vATSIP = getCustomConf("master","vATSIP","");
var devATS;
delay(5,function(){
devATS = new _TCP(vATSIP,setVoiceData)
});
//Custom.ini文件内格格式如下
[master]
#IP地址
vATSIP= 192.168.1.155
|
|