海康VisionMaster如何通过Modbus通讯触发不同的流程

1.在"系统"->"通讯管理"设定Modbus通讯,设定地址100为触发数据地址.

a).地址100=1,2,3..分别触发不同的流程.

d059114e1ddc48e6993464b023d653b8.png

a952fb1b51c34e73833b6b7de4546a88.png

b).地址100设置内容如下:

设备名称 Trigger1,主机模式,RTU,16bit,CDAB,寄存器地址100,寄存器个数1.

7ea34597b8164a8bbc709f6aff0b5169.png

2.在"接收事件"列表添加相关的接收事件:

a).事件用"字节匹配""--"协议组装"

639fec8d927944ef9ff6991bc05d12a5.png

b).绑定设备Modbus,绑定地址Trigger1,规划列表,名称Trigger1_1,字节起始位0-1,类型int,顺序CDAB,比较规划配置"=" "1"~"1".

62b39546ab894b86b98535787add94d9.png

c).在接收事件列表上,选中刚才新添加的事件名称,右键修改名称为:字节匹配-协议组装-Trigger1

ebd83420c17c44bfb5399ff62420af74.png

 

d)安装上面步骤a~c,再新增其他接收事件:

"字节匹配-协议组装-Trigger2"

"字节匹配-协议组装-Trigger3"

在比较规整配置那里,分别修改=2-2,=3-3.

efeb3a557ef643bfaeb608c80040233e.png

4d21c23bf6b1417dba7c25549331bab1.png

edb2f34eb7d34dee8ba59879be274adc.png

 

3.在全局触发里设置:

a)不同的触发事件,使用不同的触发字符.下图中字符"1",对应触发"流程1",字符"2"对应触发"流程2"...

abb095b67cd648368a485fca4edc137d.png

1ffe3f4396404ffda9871afc12d6bce4.png

b).接收到地址100(Trigger1)信号后,流程处理完,需要把Trigger1信号归零.

添加2个执行模块:

    1).脚本模块:生成 int 0,用其来触发发送数据,把Trigger1信号归零

1a9419eea6b5431e986236c2e1ab49f1.png

脚本内只需要每次生成整数的0作为发送数据.

da3839203c164b8eb180b920b7d561d7.png  

public bool Process()
    {        
        SetIntValue("iOut",0);//只需要输出0,作为每次的发送的值,使地址100=0
        return true;
    }

 

2).发送数据模块

   先添加发送事件"文本-直接输出-触发信号归零"

cfe3efd1ab1a4e3380352d4672af994d.png

在"发送数据2"模块上,输出数据选"Trigger清零",类型int,订阅选上面脚本的输出数据("97 脚本2.iOut").(注,输出数据,订阅那里,直接填"0"无法使地址100=0!)

3e781e52960840ffa073e73848312a80.png

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值