回复:关于plc与触摸屏通讯的问题? 求大佬指点

已锁定

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2020-10-09 11:24:00

15楼

展开查看
以下是引用JianHao在2020-10-07 10:14:45的发言 >10楼

额 我回复下大佬的问题啊  首先呢 我这个并不是完全应用在工程上的 这只是一个开阔思路的小程序.并不是说要在现场设备上实现.


  1. 1.这个确实 没有办法直接读取

  2. 2.这个解决方案我试过 但是要求是检测plc的运行或停止状态 并不是通讯状态,. 在我的测试中 使用mcgs的设备通讯状态通道只要和plc通讯上了 就算我把plc打回stop状态 通道的值依然是0 即没有断开. 所以我觉得可能是plc虽然停止了 但是并没有断开与屏幕的通讯导致的 所以论坛上咨询下大神们 最后选择了这个心跳信号的方案 而且也解决了

  3. 3.这个心跳信号啊 是屏幕脚本做的 而且只读取plc的 run/stop状态 并不参与plc的程序控制 也不控制plc的实际状态  他只是在屏幕上显示出来当前plc的工作状态而已. 可能是我之前没有描述清楚误会了.

  4. 4.软件层硬件层的说法 我还不太懂 望大佬明说下 谢谢大佬指出问题

以下是引用Zaxife在2020-10-07 09:24:54的发言 >7楼:1、MCGS这个屏是...

引用7楼详细内容:

1、MCGS这个屏是不支持底层S7通讯的,只支持I、Q、M、V四个片区的RAM读取,所以读取不到PLC的RUN/STOP状态的。

2、心跳信号只是作为通讯通、断状态的判断,屏的数据表第一个寄存器就是通讯状态字,值为0是正常、其他值是通讯异常,没必要用心跳信号。

3、就你现在采取的心跳信号来切换工作状态,如果是通讯不稳定引起的触摸屏自动切换工作模式,当通讯恢单PLC不是STOP模式,那么就有可能导致程序不按你想要的模式工作了。如果通讯很差频繁的通、断?你这样做简直是灾难制造者!到时候别拿通讯干扰大来当借口,这个借口站不住脚的。

4、很多控制,都是居于应用层的STOP/RUN,而不是靠硬件的STOP/RUN来实现功能。举个栗子,PLC控制电机是用程序逻辑实现启动、停止控制,而不是靠PLC的RUN、STOP来控制电机。所以,你上面的程序逻辑这样做简直是太儿戏。

哦。

心跳信号真没必要啊,直接把PLC时钟终映射到特殊的DB区,然后触摸屏读取DB的时钟,发现时钟一直不增加且PLC通讯是正常的,说明PLC是STOP状态啊。

MCGS触摸屏本身是没法识别PLC的RUN、STOP状态的,只能等触摸屏厂家后期增加新功能了。


至于软件层硬件层通讯,我是针对MCGS的通讯驱动来说的。

比如SMART的通讯驱动就支持SM、C、T这些硬件层次的存储器访问,1200就不支持。1200只能把需要的数据映射到一个DB,然后触摸屏访问这个DB才能获取得到硬件层次数据的访问。

博途在线查看状态是可以直接看得到系统硬件的实际值的,只是MCGS通讯并不支持这些硬件层次的访问。


再扯淡一个最长见的Modbus RTU硬件层次的访问。大家都知道功能码01、02、03、04、05、06、15、16这些访问都是居于寄存器的访问,其实Modbus还有功能码43 14是访问硬件信息的。还有65~72/100~110这些预留用户自定义功能码都是可以作为用户二次开发硬件层次数据访问的。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15234条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。