求各位大佬帮帮忙!!!

我用自由口通信,pc上位机发送a,b给西门子200plc,plc接收后发送1,2给上位机,一直循环,我在plc程序里设置当smb=0超过1.2秒后plc的Q0.7接通,现在问题是我自己编写一个最简单的i0.2控制Q0.3程序,当我上位机超过1.2秒没有发送数据时Q0.7会接通,但我用另一个比较复杂的程序时,上位机超过1.2秒没有发送数据时Q0.7就不会接通了,这是什么原因???上位机我用的vc++调用的api函数实现数据的发送接收。

问题补充:
上位机和plc都实现了接收和发送功能,问题是简单的程序时可以实现超时1.2秒没接收到上位机发送的数据smb86接通Q0.7;换个复杂的程序就不行了,主程序梯形图如下,SBR0是自由口程序,SBR1是I0.2控制Q0.3的梯形图,其他不变我只是把SBR1里的程序换成了一个有二十几个网络的梯形图,就不行了,麻烦大佬们帮我看看问题出在哪

图片说明:

求各位大佬帮帮忙!!!   

最佳答案

首先你确认这个所谓的“心跳”信号(1.2S)是否已经发送给PLC?反过来理解这个信号PLC接收到?如果确认已经发送了信号(可以用计数器指令捕捉),如果没有这个信号查找信号传递过程环节,如,这个信号丢失、错误等引起。
补充问题回复:
你适当放大这个心跳检测时间试试,因为程序一旦增加内容,这个程序的扫描机制可能会丢失这个信号。

提问者对于答案的评价:
我又检查了一遍发现是心跳信号的定时器和我SBR1程序里的定时器冲突了,改了就没问题了,谢谢您了。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc369940.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午3:52
下一篇 2021年7月5日 下午3:53

相关推荐

  • 关于PTO脉冲输出的2个疑问

    1、如图1,最低时间多少,可以为0吗?2、如图2、包络是什么意思?图中的信息更是看不懂,能否说明一下? 图片说明:       最佳答案 1…

    2021年7月5日
  • 请教各位大佬关于ET200CPU的问题

    在1200cpu+ET200配合使用时,出现报错。开始时模块有9个,后来拆了四个,只留了五个报错才解决掉。但是理论上模块可以安装256个,这才9个怎么就超内存了呢。现在请教一下各位…

    2021年7月5日
  • s7-200怎么通过MODBUS通讯把数据传给楼宇控制系统?

    s7-200怎么通过modbus通讯把数据传给楼宇控制系统?楼宇自控那边只要求看200控制设备的状态,不要求控制。 最佳答案 这是s7-200做modbus从站。具体方法见:、《S…

    SIMATIC S7-200 2017年12月9日
  • S7-200的电源模块损坏!

    S7-200的电源中的TS4141元件爆开(214  -1BD22 -0XB0  CPU224),PLC除了输出没有24V和输入无…

    SIMATIC S7-200 2021年7月5日
  • 2个PLC问题

    2个S7-200PLC用通讯连在一起,他们的输入,输出有什么区别 最佳答案 就是主站与从站的关系,plc1的输入点可以控制plc2的输出点,同样plc2的输入点也可以控制plc1的…

    SIMATIC S7-200 2020年10月31日
  • TD400C与S7200PLC的通讯距离

    有一个TD400C和200PLC通讯,现在想TD400C放在一个地方,距离PLC的距离有40M左右,这样通讯受影响不? 问题补充:那一个PLC可以接多少个TD400C呢? 最佳答案…

    SIMATIC S7-200 2020年11月1日
  • 触摸屏中修改时间

    在wincc触摸屏中如何修改plc定时器。比列:输送线运行时间10s可以任意改。怎么做到触摸屏中? 钻石用户推荐最佳答案 一、具体方法取决你PLC程序里定时器如何编程的,也就是其中…

    SIMATIC S7-200 2021年7月5日
  • 为何新的USB-PPI电缆连接不上S7200

    点击双击刷新  就看到电缆的指示灯闪了几下  然后就通信超时接口是pc/ppi cable COM5 搜索所有…

    SIMATIC S7-200 2017年11月29日
  • PID向导制作

    利用S7-200的PID向导做PID控制程序(用CPU224,模块235),做完后上电运行,马上输出已经有10V,而且输出电压不随输入的改变而变化,但是隔几十秒10V电压会变成正常…

    SIMATIC S7-200 2018年12月5日
  • 怎么做才是先赋值后使用

    怎才是先赋值,是要使一直为1,或者一直有值吗?谢谢? 最佳答案 对于子程序里面的临时变量来说,一般是需要先赋值再使用的在子程序一开始,就move 0 到该临时变…

    2021年7月5日

发表回复

登录后才能评论