广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3651|回复: 7

set_variant怎么会带慢整个系统,还是完全没有技术支持吗?

[复制链接]

2

主题

7

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2023-5-26 19:42:24 | 显示全部楼层 |阅读模式
这比较简单的,画面0的3控件是个开关,打开就启动定时器0,关也停止定时器0,不知怎么回事?现在一打开此控件定时器启动后,set_variant设置变量值就会带慢整个系统,一屏蔽这几条set_variant就正常,
如下:一屏蔽这几条set_variant就正常,

一屏蔽时,不管模拟还是下载到实机效果都是这样!!我现在把工程文件发上来,mbslave模拟Modbus从机文件也发


在Q群上问也没有人管:257851148“大彩串口屏技术支持”,是完全没有技术支持吗????





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12619
发表于 2023-5-29 14:09:33 | 显示全部楼层
定时器里面的set_variant中的变量用了modbus变量,会自动下发写指令的,然后你开的定时器还是50ms,所以导致读取指令发送的时间间隔变长了
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

2

主题

7

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2023-5-29 16:24:50 | 显示全部楼层
本帖最后由 hgq21102 于 2023-5-29 17:00 编辑
If后要接end 发表于 2023-5-29 14:09
定时器里面的set_variant中的变量用了modbus变量,会自动下发写指令的,然后你开的定时器还是50ms,所以导 ...

但是我测试过开的定时器还是200ms,情况也是一样,这样的话,我怎么样来避免这种情况
回复

使用道具 举报

2

主题

7

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2023-5-29 16:30:50 | 显示全部楼层
本帖最后由 hgq21102 于 2023-5-29 16:41 编辑
If后要接end 发表于 2023-5-29 14:09
定时器里面的set_variant中的变量用了modbus变量,会自动下发写指令的,然后你开的定时器还是50ms,所以导 ...

麻烦你帮我看下,不太清楚是不是我操作不对,同样的情况下,定时器1、定时器3、定时器6,也是写:开50ms同样也是set_variant中变量modbus变量:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12619
发表于 2023-5-29 17:06:13 | 显示全部楼层
hgq21102 发表于 2023-5-29 16:30
麻烦你帮我看下,不太清楚是不是我操作不对,同样的情况下,定时器1、定时器3、定时器6,也是写:开50ms同 ...

主要是你想这些set_variant的变量什么时候更新到设备里面
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

2

主题

7

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2023-5-29 17:16:13 | 显示全部楼层
本帖最后由 hgq21102 于 2023-5-29 17:20 编辑
If后要接end 发表于 2023-5-29 17:06
主要是你想这些set_variant的变量什么时候更新到设备里面

能否50~100MS更新?太慢就失去意义,因为现在从机就电源1、电源2,计划实现这二个电源的自动并串联,这都是在主站(你这个屏上操作完成的),增加多一个自动切换的从机(用继电器实现切换并串联)但是也奇怪,我上面的上传的例子,怎么又现正常使用set_variant,也是modbus变量
回复

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12619
发表于 2023-5-30 09:00:56 | 显示全部楼层
你发的第一个,按钮是控制分别写01,02两个从机的0x0000和0x0001两个数据,第二个工程是用两个按钮分别写01,02从机,0x0000和0x0001两个数据。也就是一个需要在50ms内写4条,一个是50ms内写2条
你这里可以用脚本modbus api,用10指令批量写两个数据,来减少发送指令的数量。用脚本来调用modbus api函数。需要注意用这种方式最好换成阻塞模式,非阻塞模式下容易写失败
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

2

主题

7

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2023-5-30 09:54:07 | 显示全部楼层
If后要接end 发表于 2023-5-30 09:00
你发的第一个,按钮是控制分别写01,02两个从机的0x0000和0x0001两个数据,第二个工程是用两个按钮分别写01, ...

这样就明白多了,我试试用“写多个保存寄存器:mb_write_reg_16 (slave,addr,regs)”,真的谢谢你
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2024-11-22 12:29 , Processed in 0.062542 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表