用224xpMODBUS指令库中功能码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返回代码正常

后来发现是双线圈输出了,通讯和程序同时控制Q0.0,并被程序刷新了,所以Q0.0一直点不亮,这里谢谢大家!

我的目的是程序和通讯在不同条件下去控制Q0.0
wb210xa的解答如下:
正如楼上所述,楼主的原因出现在对同一Q0.0线圈出现重复赋值现象。
1)对于PLC程序来说,由于I0.0直接赋值给Q0.0,而PLC扫描时间很短,同时不断的执行。而上位计算机发送时只是一瞬间赋值为1,赋值完成后很快就被PLC程序刷新成0了,因此,楼主只能看到0,而不是楼主希望的1;
2)楼主如果希望看到由程序和上位下发命令的不同变化,其实很简单,找个地址如I0.1或其他任何地址作为程序赋值和上位赋值的切换开关。当该开关为0时,程序赋值,当开关为1时,上位赋值。修改一下PLC程序在不同情况下把相关的值输出到Q0.0,这时楼主就可以看到希望的变化了。
楼主通过计算机发送01 0F 00 00 00 08 01 FF BE D5,modbus功能码15的请求格式是:从站地址(01) 功能码(0F) 线圈起始地址(00 00)写出数据长度(00 08) 写出数据值 (01 FF) CRC校验值(BE D5)。所以说楼主写出的数据地址为00001~00008。00001~00008对应的数据值分别是1,0,0,0,0,0,0,0。

wb210xa说的是modbus的0区是没错,可是对应到PLC的地址什么呢?

我做了实验,我的库存储区是从VB1000开始
计算机发送:01 0F 00 00 00 08 01 FF BE D5
监视PLC状态表:01(VB1001) 15(VB1002) 00(VB1003) 00(VB1004) 00(VB1005) 08(VB1006) 54(VB1007) 0D(VB1008)
监视的结果:VB1001~VB1008中是PLC的返回代码

我想要的是PLC通讯给Q输出暂存内容的地址,也就是wb210xa所说的上位赋值的PLC地址。不知道这个地址,我没法把上位赋值输出给Q。是在库存储区中还是在哪里?请朋友们帮帮忙,以前从来没有做过强制线圈,这个问题困惑我很久了,谢谢了!

最佳答案

你好,对于输出的q点,只能有一个地方控制q点输出,不要出现双线包(即大于两个地方控制q点输出)的情况发生,关于你的问题,如果你要是能明确表达具体要问什么问题,还是建议你给4008104288热线打电话,通过语言来解释会更准确和方便些的

提问者对于答案的评价:
衷心谢谢你,提了三次这种问题,你每次都回答我,再同一程序块下,不管怎么做都是双线圈,我想了一个办法,用开关去切换程序块,满足远程条件的执行远程的程序块,满足本地条件的执行本地的程序块,试验了一下,解决了,明儿打电话再问问,看看还有没有别的办法,哈哈,困扰几天的问题解决了。谢谢,谢谢!

专家置评

已阅,最佳答案正确。

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

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

相关推荐

  • TELECONTROL SERVER BASIC 8是否支持WIN XP

    TELECONTROL SERVER BASIC 8是否支持WIN XP 最佳答案 TELECONTROL SERVER&nbsp…

    SIMATIC S7-200 2018年12月7日
  • S7-200与PC不能连接

    显示端口不能打开,可能被其他程序占用。编程电缆是USB/PPIM+,重启电脑只打开S7200也不行。以前也遇到这种情况都是重装系统解决,但是过几个月又会出现这样的问题。重装系统太麻…

    SIMATIC S7-200 2020年10月31日
  • 关于可控硅调压回路的电流问题?

    问题有点多,请大侠耐心解答。1,可控硅调压回路的电流用什么传感器能够准确测量,普通穿孔交流电流传感器可以吗?2,可控硅调压回路的电流用数字钳形表可以准确测量吗?3,可控硅调压回路的…

    SIMATIC S7-200 2017年11月4日
  • 请教:200与组态王通信速度慢问题

    请教:以前多个200与组态王通信时,采用PPI通信,波特率9600,速度较慢,现在采用modbus通信,200作从站,但通信时有的数据速度反应很快,有的数据要很久才有变化,改了波特…

    SIMATIC S7-200 2020年10月31日
  • CPU226支持两个MODBUS网络吗

    226有两个串口,PORT0已经用做MODUBS主站,与现场仪表通信。现在上位机也想用modbus与226通信。这样做可以实现吗?两个modbus有没能影响? 最佳答案 226两个…

    SIMATIC S7-200 2020年10月31日
  • 时钟问题1

    224xp进行实时时钟读取之后,是不是plc内部就有了时间,如果我设定11点多点启动,他每天到点就可以启动了,求解答,谢谢 图片说明:    最佳答案 一般来说…

    2021年7月5日
  • 急需指教

    为什么从PLC上传上来的程序中没有了中文注解? 最佳答案 因为你下载的时候,并没有选择把注释下载。 注释是可以下载的,但是只能下载到存储卡里面,如果你没有存储卡,就没办法…

    SIMATIC S7-200 2021年7月5日
  • S7-200高速计数器

    我的CPU是224XP CN的,现在有I0.3作为高速计数输入通道,输入350HZ信号,CPU采集到的数据仍然为零,不知道是程序问题还是什么原因。请高手指教。我的程序编写…

    SIMATIC S7-200 2021年7月5日
  • 关于S7-200与组态王的通信,Modbus快还是USB快?

    两种MS都是相对简单的通信方式,用的电缆似乎应该不同吧?哪种更快些?我手上有两根电缆,一根是组装PPI电缆,一根是原装USB-PPI电缆,前者是模拟COM口的,后者是直接选择USB…

    SIMATIC S7-200 2020年10月31日
  • s7-200的立即输入问题

    s7-200的立即输入指令读取的信号是否经过输入滤波,手册只说脉冲捕捉要滤波对立即输入没有说设置滤波,如果不滤波,遇到按钮抖动产生的干扰信号怎么办? 最佳答案 S7-200系统手册…

    SIMATIC S7-200 2018年3月6日