MODBUS 功能码05/15的问题

?功能码05是写单个线圈

功能码15是写多个线圈

手册里有句话:输出点不是被强制,用户程序可以重写由modbus的请求而写入的值 

PLC做从站,计算机发送01 0F 00 00 00 08 01 FF BE D5 

程序是试验程序 就用I0.0去点Q0.0,I0.0不闭合,Q0.0不输出

这时发现输出点,Q0.0灭,Q0.1~Q0.7亮。按理说应该全都亮吧
把程序改动,I0.0去点Q0.1,再发送一遍发现Q0.0亮,Q0.1灭,Q0.2~Q0.7亮

计算机发送01 0F 00 00 00 08 01 01 CRC码,程序还是I0.0去点Q0.0,依旧点不亮Q0.0,PLC返回代码正常


怎么去重写modbus请求呢?比如怎么选择性去输出Q0.0?

问题补充:
谢谢半瓶醋,dyhhh,wb210xa
wb210xa所说:如果希望看到由程序和上位下发命令的不同变化,其实很简单,找个地址如I0.1或其他任何地址作为程序赋值和上位赋值的切换开关。当该开关为0时,程序赋值,当开关为1时,上位赋值。
因为我用的是MODBUS指令库,库程序上锁啊,我不知道上位赋值在哪,该怎么处理?能详细指点下吗?谢谢各位了

最佳答案

正如楼上所述,楼主的原因出现在对同一Q0.0线圈出现重复赋值现象。
1)对于PLC程序来说,由于I0.0直接赋值给Q0.0,而PLC扫描时间很短,同时不断的执行。而上位计算机发送时只是一瞬间赋值为1,赋值完成后很快就被PLC程序刷新成0了,因此,楼主只能看到0,而不是楼主希望的1;
2)楼主如果希望看到由程序和上位下发命令的不同变化,其实很简单,找个地址如I0.1或其他任何地址作为程序赋值和上位赋值的切换开关。当该开关为0时,程序赋值,当开关为1时,上位赋值。修改一下PLC程序在不同情况下把相关的值输出到Q0.0,这时楼主就可以看到希望的变化了。

提问者对于答案的评价:
因为我用的是MODBUS指令库,我不知道上位赋值在哪,地址在哪?能详细指点下吗?

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月6日
下一篇 2018年12月6日

相关推荐

  • S7-400H 冗余设备下面只能接ET200M 是吗?

    还是可以接其他ET200 最佳答案 1、S7-400H 冗余设备下面只能接ET200M 是吗?不是的。凡是S7-300/400系统PLC系统均可作为S7-400…

    SIMATIC S7-200 2021年7月5日
  • 光是常开常闭写的单按钮启停

    我想仅仅用常开常闭触点写一个单按钮启停的程序?不知道该怎么写 最佳答案 200的 图片说明:    提问者对于答案的评价:一个小小的程序,可以有这么多种不同的编…

    SIMATIC S7-200 2020年10月31日
  • 咨询profibus协议的物理连接基础问题,谢谢大家了 ~~~

    各位自动化专业人士,我想问个关于profibus协议的基础问题,望大家赐教 ! 事情是这样:我是从事电力软件开发的,目前从事的是电厂脱硫在线监测系统的开发。&n…

    SIMATIC S7-200 2021年7月5日
  • 好奇怪,网络40后的触点不正常

    200CN的程序,网络40后的触点不正常,比如,当I0.4闭合时,监控发现,有4个地方的I0.4处于闭合,网络40后的I0.4却是断开的,网络40后面的程序不能正常工作,难道网络的…

    SIMATIC S7-200 2020年10月31日
  • 西门子与富士变频器通信,数据传输问题

    西门子与富士变频器通信时,当plc进行正转时,变频器内部继电器有动作,run指示灯常亮,但是数值显示为0,我传了40,显示0,这是怎么回事呢?多谢大家帮忙 最佳答案 这要问变频器了…

    SIMATIC S7-200 2017年6月10日
  • S7-200计时问题的提问

    触摸屏上设定的2-3小时的时长,用于设定设备的运行时间,S7-200 PLC如何编写实现这么长时间的定时并在触摸屏上可以进行设定?请列出程序进行说明,谢谢各位! 最佳答案…

    SIMATIC S7-200 2020年10月31日
  • cpu224xp做modbus主站接收从站数据并将数据转化编程的问题

    cpu224xp作为主站,接收modbus从站的数值,数值的变化范围0——10万(可能),请问如何编程实现,如何选择合适的V寄存器,如果选字,肯定不够,如果选双字,就会出现下面图片…

    2021年7月5日
  • TD400C能实现这个功能吗

    我手上有一块TD400C文本显示器,它上面提供的按键我一个也不用,我想通过CPU上的输入点I0.0-I0.7控制TD400C,比如当接通I0.0时显示画面0,接通I0.1时显示画面…

    SIMATIC S7-200 2020年11月1日
  • 博途V15仿真问题

    博途V15仿真时没有s7-1200/1500网络接口导致1500PLC与触摸屏无法在线仿真,但当使用300PLC与触摸屏进行连接仿真时就可以进行。 钻石用户推荐最佳答案 300&n…

    SIMATIC S7-200 2021年7月5日
  • 模拟量的软件模拟

    在一个帖子中看到模拟量处理可以采用一些硬件或软件模拟手段来解决。我想提一个问题,如何用软件的方式给PLC产生一个模拟量测试自己的程序?我用的是PLC S7-200 CPU 224X…

    SIMATIC S7-200 2021年7月5日