1.在"系统"->"通讯管理"设定Modbus通讯,设定地址100为触发数据地址.
a).地址100=1,2,3..分别触发不同的流程.
b).地址100设置内容如下:
设备名称 Trigger1,主机模式,RTU,16bit,CDAB,寄存器地址100,寄存器个数1.
2.在"接收事件"列表添加相关的接收事件:
a).事件用"字节匹配""--"协议组装"
b).绑定设备Modbus,绑定地址Trigger1,规划列表,名称Trigger1_1,字节起始位0-1,类型int,顺序CDAB,比较规划配置"=" "1"~"1".
c).在接收事件列表上,选中刚才新添加的事件名称,右键修改名称为:字节匹配-协议组装-Trigger1
d)安装上面步骤a~c,再新增其他接收事件:
"字节匹配-协议组装-Trigger2"
"字节匹配-协议组装-Trigger3"
在比较规整配置那里,分别修改=2-2,=3-3.
3.在全局触发里设置:
a)不同的触发事件,使用不同的触发字符.下图中字符"1",对应触发"流程1",字符"2"对应触发"流程2"...
b).接收到地址100(Trigger1)信号后,流程处理完,需要把Trigger1信号归零.
添加2个执行模块:
1).脚本模块:生成 int 0,用其来触发发送数据,把Trigger1信号归零
脚本内只需要每次生成整数的0作为发送数据.
public bool Process()
{
SetIntValue("iOut",0);//只需要输出0,作为每次的发送的值,使地址100=0
return true;
}
2).发送数据模块
先添加发送事件"文本-直接输出-触发信号归零"
在"发送数据2"模块上,输出数据选"Trigger清零",类型int,订阅选上面脚本的输出数据("97 脚本2.iOut").(注,输出数据,订阅那里,直接填"0"无法使地址100=0!)