迪文科技论坛

 找回密码
 立即注册
搜索
查看: 5490|回复: 11

【分享】迪文DGUS屏用OS和下位机配合实现“通讯故障”报...

[复制链接]

17

主题

118

回帖

1135

积分

金牌会员

Rank: 6Rank: 6

积分
1135
QQ
发表于 2019-9-12 18:46:03 | 显示全部楼层 |阅读模式
    做迪文的屏幕通过串口与STM32F103通讯,项目需求在通讯断开后需要在触摸屏上提示“通讯故障”字样,在迪文官网看到的倒计时OS程序,受到启发觉得通过OS的和SMT32F103之间的配合应该可以实现,然后动手实验了一下确实是可以的,下面是代码,给之后想实现该功能得工程师们提供一个参考,希望也能帮助大家!
    迪文触摸屏使用的为K600+,OS编写结构只适用于K600+屏幕(T5/T5L程序结构已经改变),若使用T5/T5L系列触摸屏,请根据T5/T5L使用手册更改程序结构。
以下为OS代码:
CALL T5_S_MARK
END

T5_S_MARK:      
         MOVDR 0x20,R10,7   ;读取时间,R16对应得为 秒
         CJNE R16,R245,R><R245   ;判断秒与时间时间是否相等,不相等跳转,相等执行下一条
         GOTO COM_S
                 
R><R245:
         MOV R16,R245,1   ;当前秒写到R245
         INC R250,0,1   ;1秒会执行到这里1次,R250自加1
         IJNE R250,3,COM_S   ;是否到3S,到3S判断是否产生中断故障
        
         LDWR   R0,0x2900 ;指定DGUS 变量地址
         MOVXR  R10 ,1, 1
  
       ​  IJNE R10,1,COM_FAIL   ; 若产生中断故障跳到COM_FAIL   

      ​   LDWR   R0,0x2900 ;指定DGUS 变量地址
      ​   LDWR   R10,0x0000
         MOVXR  R10, 0, 1
  
         LDBR R250,0,1   ;R250=0
         GOTO   COM_S
COM_FAIL:
       ​  LDWR   R10,58 ;待跳转故障页面,我做得是58
      ​   MOVRD  R10,3,2
  
        ​ LDWR   R0,0x2900 ;指定DGUS 变量地址
      ​   LDWR   R10,0x0000
         MOVXR  R10, 0, 1
  
         LDBR R250,0,1   ;R250=0
COM_S:  RET

上面这段程序需要STM32F103通过串口向触摸屏得0X2900写0x0101数据,1S写入一次,写入时间过长会报故障,故障页面58;之所以是写入0x0101是我懒得区分R10和R11哪个是高8位哪个是低8位;


同理若使用PLC,则PLC使用自由口通讯模式,定时向迪文屏幕
0X2900
发送0x0101,可以实现同样的功能;


梦想画板子画到眼瞎,写程序写到秃头!
回复

使用道具 举报

0

主题

11

回帖

197

积分

注册会员

Rank: 2

积分
197
发表于 2019-11-20 15:05:16 | 显示全部楼层
挺好,梦想画板子画到眼瞎,写程序写道秃头!
回复

使用道具 举报

17

主题

118

回帖

1135

积分

金牌会员

Rank: 6Rank: 6

积分
1135
QQ
 楼主| 发表于 2019-11-20 15:47:35 | 显示全部楼层
sy14960 发表于 2019-11-20 15:05
挺好,梦想画板子画到眼瞎,写程序写道秃头!

梦想画板子画到眼瞎,写程序写到秃头!
回复

使用道具 举报

1

主题

31

回帖

178

积分

注册会员

Rank: 2

积分
178
发表于 2020-2-29 22:10:19 | 显示全部楼层
不错不错,收藏下
回复

使用道具 举报

7

主题

15

回帖

139

积分

注册会员

Rank: 2

积分
139
发表于 2020-4-24 10:52:23 | 显示全部楼层
我也是要做一个类似的功能,在T5L屏上做modbus主机,通讯异常的时候告警。我原本的想法是不切换页面,就在当前页面基础上弹出一个提示框。但是研究了半天,发现实现不了。只能在通讯异常的时候,先记录下当前页面ID,然后切换到另一个页面告警,等通讯恢复后切回之前页面。但是这种切页面的做法感觉很生硬,一点也不友好。不知大家还有没有更好的方案?
回复

使用道具 举报

17

主题

118

回帖

1135

积分

金牌会员

Rank: 6Rank: 6

积分
1135
QQ
 楼主| 发表于 2020-4-24 16:23:11 | 显示全部楼层
updown0508 发表于 2020-4-24 10:52
我也是要做一个类似的功能,在T5L屏上做modbus主机,通讯异常的时候告警。我原本的想法是不切换页面,就在 ...

用图标啊,通讯异常的时候,弹出图标,其他时候图标不显示
梦想画板子画到眼瞎,写程序写到秃头!
回复

使用道具 举报

7

主题

15

回帖

139

积分

注册会员

Rank: 2

积分
139
发表于 2020-4-24 17:43:56 | 显示全部楼层
13555715270 发表于 2020-4-24 16:23
用图标啊,通讯异常的时候,弹出图标,其他时候图标不显示

那就要每个页面放一个图标?太麻烦了吧。
回复

使用道具 举报

17

主题

118

回帖

1135

积分

金牌会员

Rank: 6Rank: 6

积分
1135
QQ
 楼主| 发表于 2020-4-24 19:49:11 | 显示全部楼层
updown0508 发表于 2020-4-24 17:43
那就要每个页面放一个图标?太麻烦了吧。

我在你帖子下回复你了,你看下那个方案可行不!
梦想画板子画到眼瞎,写程序写到秃头!
回复

使用道具 举报

2

主题

8

回帖

75

积分

注册会员

Rank: 2

积分
75
发表于 2021-11-23 16:35:58 | 显示全部楼层
updown0508 发表于 2020-4-24 10:52
我也是要做一个类似的功能,在T5L屏上做modbus主机,通讯异常的时候告警。我原本的想法是不切换页面,就在 ...

现在有什么好方案吗
回复

使用道具 举报

0

主题

966

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10364
发表于 2021-11-23 19:32:46 | 显示全部楼层
18103716249 发表于 2021-11-23 16:35
现在有什么好方案吗

楼主:您好,可以参考使用用图标,通讯异常的时候,弹出图标,其他时候图标不显示
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-14 23:14 , Processed in 0.029335 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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