coleyao 发表于 2017-1-6 09:06:18

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

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

modbus 发表于 2017-1-6 09:37:25

0.1秒时间换长些,也换为1/3秒,或者两个时间都设更长些

coleyao 发表于 2017-1-6 09:46:47

modbus 发表于 2017-1-6 09:37
0.1秒时间换长些,也换为1/3秒,或者两个时间都设更长些

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

mcu_lover 发表于 2017-1-6 10:12:19

触摸屏一般都是连续读取的,一般不会出现对应不上的情况。检查下脚本代码。

281229961 发表于 2017-1-6 09:06:19

先不管刷新,拉几个显示框 看看读回来的寄存器数值 , 再与图片对比

coleyao 发表于 2017-1-6 15:16:17

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

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

coleyao 发表于 2017-1-6 16:04:47

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

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

衰不堪言 发表于 2017-1-6 22:01:21

九成九不要怀疑触摸屏,一个有可能出现在和PLC通讯上,再一个可能就是显示的问题,不知道你显示是怎么做的,是判断值然后隐藏还是怎么

coleyao 发表于 2017-1-7 11:38:19

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

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

衰不堪言 发表于 2017-1-7 14:07:45

读取传感器的值是在设备组件里读的,还在字节SetDevice读的

281229961 发表于 2017-1-7 21:28:44

先拉个显示框出看看你的   液位传感器4的数值是不是确定在0和1之间变换还有就是 看看实际上和图片颜色是否一致 。 有可能   液位传感器4实际值并没有变化。

Wisen 发表于 2017-1-7 23:46:50

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

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

coleyao 发表于 2017-1-8 16:34:35

衰不堪言 发表于 2017-1-7 14:07
读取传感器的值是在设备组件里读的,还在字节SetDevice读的

   如图,应该是设备组件

adongliu 发表于 2017-1-8 17:15:43

有没有全局脚本,可能是单线程造成阻塞,每次在更新相同的图片,另外更新太频繁也会导致不更新,proface在快速更新上做的比较好的。wincc在快速更新时就会不时的保持一个状态不变化。

coleyao 发表于 2017-1-8 19:47:00

本帖最后由 coleyao 于 2017-1-8 19:49 编辑

adongliu 发表于 2017-1-8 17:15
有没有全局脚本,可能是单线程造成阻塞,每次在更新相同的图片,另外更新太频繁也会导致不更新,proface在 ...

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

adongliu 发表于 2017-1-8 19:59:36

有可能的话,测试一下脚本执行时间,这样子比较容易定位问题,现在的软件越来越大,问题也是千奇百怪.

衰不堪言 发表于 2017-1-9 13:17:15

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

yamqqqq 发表于 2017-1-9 15:32:06

把这页画面加入内存

coleyao 发表于 2017-1-9 19:32:39

yamqqqq 发表于 2017-1-9 15:32
把这页画面加入内存

是附图所表示的那样吗?

yamqqqq 发表于 2017-1-10 15:45:46

coleyao 发表于 2017-1-9 19:32
是附图所表示的那样吗?

是的加入那个页面,那个页面就会快一些,但是不要加多了。
页: [1]
查看完整版本: 请大家帮忙分析一个触摸屏偶尔不刷新图片控件的问题