技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > modbus 功能码05/15的问题

modbus 功能码05/15的问题

林慧玲 发布于2014-03-27 18:02 4 0 标签:

?功能码05是写单个线圈

功能码15是写多个线圈

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

plc做从站,计算机发送010f0000000801ffbed5

程序是试验程序就用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亮

计算机发送010f000000080101crc码,程序还是i0.0去点q0.0,依旧点不亮q0.0,plc返回代码正常


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

问题补充:

所说:如果希望看到由程序和上位下发命令的不同变化,其实很简单,找个地址如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,这时就可以看到希望的变化了。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签