搜索
bottom↓
回复: 19

请大家帮忙分析一个触摸屏偶尔不刷新图片控件的问题

[复制链接]

出0入0汤圆

发表于 2017-1-6 09:06:18 | 显示全部楼层 |阅读模式
    如题,三菱PLC与昆仑通态的触摸屏互连,昆仑通态的屏每0.1秒从PLC的输入端读取数据,每1/3秒左右根据传感器的状态置图片控件的颜色是绿色还是灰色,目前遇到的问题是偶尔会遇到图片控件的颜色与传感器实际状态不符的时候,并且一旦图片控件显示的颜色不对,那么如果不运行程序到传感器状态改变的地方,那么图片控件错误的颜色几十分钟甚至更长时间都不会刷新掉,但如果传感器状态改变了,图片控件颜色还是会立即更新成正确的颜色。
  目前感到困惑的是,即使图标控件显示异常,在触摸屏的循环策略中实际按传感器状态运行的程序仍然是正确的,这部分程序没有出现过异常,异常仅会在图标刷新时出现,从该现象判断似乎是触摸屏的系统刷新出了问题,但只要传感器状态改变,图标又能立刻刷新,似乎触摸屏一直在刷新,并没有问题,问题应该在PLC的输入寄存器上,但前面的现象又不支持这个看法,所以看起来是矛盾的。
  希望能有PLC的高人能帮忙分析这个问题,谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2017-1-6 09:37:25 | 显示全部楼层
0.1秒时间换长些,也换为1/3秒,或者两个时间都设更长些

出0入0汤圆

 楼主| 发表于 2017-1-6 09:46:47 | 显示全部楼层
modbus 发表于 2017-1-6 09:37
0.1秒时间换长些,也换为1/3秒,或者两个时间都设更长些

   非常感谢,我有空试下看是否有改善,不过目前触摸屏最新的代码在前同事那里,昨天让他发给我的,他没记得发,我手头的代码还是几个月前的(机器是前同事做出来的,不过他离开了,我需要接手,现在在熟悉程序,有一些问题还是前同事在帮忙维护)!

出0入264汤圆

发表于 2017-1-6 10:12:19 | 显示全部楼层
触摸屏一般都是连续读取的,一般不会出现对应不上的情况。检查下脚本代码。

出0入0汤圆

发表于 2017-1-6 09:06:19 | 显示全部楼层
先不管刷新,拉几个显示框 看看读回来的寄存器数值 , 再与图片对比

出0入0汤圆

 楼主| 发表于 2017-1-6 15:16:17 | 显示全部楼层
281229961 发表于 2017-1-6 13:42
先不管刷新,拉几个显示框 看看读回来的寄存器数值 , 再与图片对比

  显示框和图表一样应该都是委托系统自动刷新的,目前看来,在循环策略里面执行没有问题,系统自动刷新有问题,我想在运行窗口的循环策略中加入 运行窗口.Refresh(),强制进行刷新,不知道会不会有用。

出0入0汤圆

 楼主| 发表于 2017-1-6 16:04:47 | 显示全部楼层
mcu_lover 发表于 2017-1-6 10:12
触摸屏一般都是连续读取的,一般不会出现对应不上的情况。检查下脚本代码。 ...

  不明白哪些脚本代码会导致这种情况发生,故障时面板上的时间还一直在刷新的,并没有卡死。

出0入0汤圆

发表于 2017-1-6 22:01:21 | 显示全部楼层
九成九不要怀疑触摸屏,一个有可能出现在和PLC通讯上,再一个可能就是显示的问题,不知道你显示是怎么做的,是判断值然后隐藏还是怎么

出0入0汤圆

 楼主| 发表于 2017-1-7 11:38:19 | 显示全部楼层
衰不堪言 发表于 2017-1-6 22:01
九成九不要怀疑触摸屏,一个有可能出现在和PLC通讯上,再一个可能就是显示的问题,不知道你显示是怎么做的 ...

请参考附图,四个传感器,直接从PLC输入端读取传感器状态,委托系统更新图标颜色为绿色或灰色

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2017-1-7 14:07:45 | 显示全部楼层
读取传感器的值是在设备组件里读的,还在字节SetDevice读的

出0入0汤圆

发表于 2017-1-7 21:28:44 | 显示全部楼层
先拉个显示框出看看  你的   液位传感器4  的数值是不是确定在0和1之间变换  还有就是 看看实际上和图片颜色是否一致 。 有可能   液位传感器4  实际值并没有变化。

出0入17汤圆

发表于 2017-1-7 23:46:50 | 显示全部楼层
coleyao 发表于 2017-1-6 16:04
不明白哪些脚本代码会导致这种情况发生,故障时面板上的时间还一直在刷新的,并没有卡死。 ...

时间是内置RTC的,看一下是不是有休眠或者是长时间的定时器在运行

出0入0汤圆

 楼主| 发表于 2017-1-8 16:34:35 | 显示全部楼层
衰不堪言 发表于 2017-1-7 14:07
读取传感器的值是在设备组件里读的,还在字节SetDevice读的

   如图,应该是设备组件

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2017-1-8 17:15:43 来自手机 | 显示全部楼层
有没有全局脚本,可能是单线程造成阻塞,每次在更新相同的图片,另外更新太频繁也会导致不更新,proface在快速更新上做的比较好的。wincc在快速更新时就会不时的保持一个状态不变化。

出0入0汤圆

 楼主| 发表于 2017-1-8 19:47:00 | 显示全部楼层
本帖最后由 coleyao 于 2017-1-8 19:49 编辑
adongliu 发表于 2017-1-8 17:15
有没有全局脚本,可能是单线程造成阻塞,每次在更新相同的图片,另外更新太频繁也会导致不更新,proface在 ...


   谢谢你的回复,触摸屏是基于winCE的,看来更新频率过高是个可疑之处。(另外不知道你说的全局脚本指哪些,全局策略中循环策略内容较多,另外运行菜单的循环策略也有定时保存传感器的内容)

出0入0汤圆

发表于 2017-1-8 19:59:36 | 显示全部楼层
有可能的话,测试一下脚本执行时间,这样子比较容易定位问题,现在的软件越来越大,问题也是千奇百怪.

出0入0汤圆

发表于 2017-1-9 13:17:15 | 显示全部楼层
通讯最小采集周期才100ms,而且还要读写那么多寄存器,问题八成出在这里,告诉你一个验证的办法第一种,删除其他所有,只留下你需要的那个地址,第二种,加大通讯时间。这个问题应该很容易判断,再一个,全局查找相关变量,看有没有其他的策略或者脚本关联你的变量

出0入0汤圆

发表于 2017-1-9 15:32:06 | 显示全部楼层
把这页画面加入内存

出0入0汤圆

 楼主| 发表于 2017-1-9 19:32:39 | 显示全部楼层
yamqqqq 发表于 2017-1-9 15:32
把这页画面加入内存

  是附图所表示的那样吗?

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2017-1-10 15:45:46 | 显示全部楼层
coleyao 发表于 2017-1-9 19:32
是附图所表示的那样吗?

是的加入那个页面,那个页面就会快一些,但是不要加多了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 21:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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