迪文科技论坛

 找回密码
 立即注册
搜索
查看: 253|回复: 7

【提问】请问T5屏,modbus通讯取反按钮要怎么做?

[复制链接]

18

主题

44

回帖

461

积分

中级会员

Rank: 3Rank: 3

积分
461
发表于 2023-11-29 17:21:54 | 显示全部楼层 |阅读模式
请问T5屏,modbus通讯取反按钮要怎么做?

屏下发01命令,数据变量地址0x0100
配置:5A 01 01 0A FF 00 00 00 00 00 00 00 00 00 00 00

下发指令:01 01 00 00 00 10 3D C6
返回指令:01 01 02 06 00 BA 5C
0是闭合,1是断开
第1位和第二都置1,断开了

通过按键下发05命令,按键地址0x0110 ,使用菜单位控制,键值分别为0和1,按键0x0110初始值为15

配置:5A 01 05 01 FF 04 00 00 00 01 00 01 00 00 00 00
下发指令:01 05 00 01 00 00 9C 0A
使第一位置0,闭合

开始按键按下键值为0,,使第一位闭合为0,运行一段时间后从机发生变化,第一位置1了,使用按键闭合,没有下发05命令
由于刚开始按下过按键使0x0110的值为0,04模式下,地址0x0110需要发生变化才会下发值,再次按下按键闭合,0x0110的值依旧为0,导致没有下发05命令

OS要怎么写才能使按键地址0x0110的值和变量地址0x0100的值同步,不影响按键下发,或者按键地址0x0110根据读到变量值来取反下发的键值

回复

使用道具 举报

0

主题

1250

回帖

5116

积分

论坛元老

Rank: 8Rank: 8

积分
5116
发表于 2023-11-30 08:53:54 | 显示全部楼层
如果只是要用OS同步两个地址的值的话, 可以把两个地址的值读取一个出来然后写到另一个地址
回复

使用道具 举报

18

主题

44

回帖

461

积分

中级会员

Rank: 3Rank: 3

积分
461
 楼主| 发表于 2023-11-30 09:24:52 | 显示全部楼层
integer_32 发表于 2023-11-30 08:53
如果只是要用OS同步两个地址的值的话, 可以把两个地址的值读取一个出来然后写到另一个地址 ...

                LDWR                R0,0x0100                ;读地址0x0100的值
                MOVXR                R220,1,1               
               
                MOV                 R220,R222,2      ;把R220的值复制给R222
               
                LDWR                R0,0x0110                ;读地址0x0100的值
                MOVXR                R222,0,1       


0x0100的值就给了0x0110了,但这样的话按下按键就没有05命令下发了
回复

使用道具 举报

0

主题

1250

回帖

5116

积分

论坛元老

Rank: 8Rank: 8

积分
5116
发表于 2023-12-1 10:37:28 | 显示全部楼层
你们现在是要从从机上面读取一个线圈状态读取到屏上, 然后在屏上做一个触控改变这个线圈状态后写到从机吗 ?
回复

使用道具 举报

18

主题

44

回帖

461

积分

中级会员

Rank: 3Rank: 3

积分
461
 楼主| 发表于 2023-12-1 18:41:09 | 显示全部楼层
integer_32 发表于 2023-12-1 10:37
你们现在是要从从机上面读取一个线圈状态读取到屏上, 然后在屏上做一个触控改变这个线圈状态后写到从机吗  ...

是的,使用modubs的05命令下发指令
回复

使用道具 举报

0

主题

1250

回帖

5116

积分

论坛元老

Rank: 8Rank: 8

积分
5116
发表于 2023-12-4 11:09:48 | 显示全部楼层
简清 发表于 2023-12-1 18:41
是的,使用modubs的05命令下发指令

我这里测试配置这样两个指令 , 屏可以把读取到的状态显示, 也能用屏上的增量调节去修改这个位的状态。

本帖子中包含更多资源

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

x
回复

使用道具 举报

18

主题

44

回帖

461

积分

中级会员

Rank: 3Rank: 3

积分
461
 楼主| 发表于 2023-12-4 18:06:55 | 显示全部楼层
integer_32 发表于 2023-12-4 11:09
我这里测试配置这样两个指令 , 屏可以把读取到的状态显示, 也能用屏上的增量调节去修改这个位的状态。
...

用菜单控件去控制的,一个基础控件键值是1,一个基础控件键值是0,去修改这个位的状态,
灯的状态是0是开,1是关,  菜单控件的初始值为2
用屏上的菜单控件去修改这个位的状态,
上电后,屏按下基础控件键值为0,灯开了 ,过一会断电后,备用电源开了 ,这时再按下基础控件键值0的话不会下发命令,因为这个值依旧为0,该位置的数值没有发生变化
回复

使用道具 举报

3

主题

17

回帖

162

积分

注册会员

Rank: 2

积分
162
发表于 2024-5-22 08:33:17 | 显示全部楼层
搞个按钮非得如此复杂
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-6-16 21:59 , Processed in 0.093684 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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