您现在所在的是:

PLC论坛

回帖:0个,阅读:52 [上一页] [1] [下一页]
22573
bnnyygy
文章数:6418
年度积分:1469
历史总积分:22573
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2025/12/12 16:04:40
#0楼
废话不多说,先看指令,
附件 1.jpg





附件 2.jpg



S1-S5 都是相关参数,D2是执行状态反馈,D2.0 D2.1 D2.2 分别是执行中,OK完成,NG完成。



手册给的注意事项:

///////////////////////////////////////////////////
请勿在ADPRW指令完成前将驱动触点置为OFF。

根据驱动状况,ADPRW指令通信开始的时间不同。使用单独ADPRW指令驱动时,通信即时开始。同时使用多个ADPRW指令驱动时,通过先行驱动的ADPRW指令进行的通信完成后,通过后续驱动的ADPRW指令进行的通信开始。因此,请勿在通信完成前将ADPRW指令的驱动触点置为OFF。

使用线圈读取功能或输入读取功能,并在读取目标软元件中指定字软元件时,仅通过ADPRW指令的访问点数所指定的位会被改写。字软元件的剩余位不会变化。
//////////////////////////////////////
~~~~~~~~~~~~~~

经过我实际编写梯形图测试,
1,驱动ADPRW的时候,OK NG位会自己复位,
2,指令为完成以后,OK,NG位一直ON,也可以单独复位。<所以官方程序使用的标志位上升沿>
2,未完成的时候断开驱动,NG会ON。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面来规划FB编写:
1,FB引脚不能太多,太多看来来臃肿,
2,要用结构体,每一行通讯使用的时候弄个ST框,这样也不会感觉乱,体现出表格式编辑就可以通讯。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
modbus rtu 结构体:

参考其它品牌的表格式填写以及ADPRW指令内容,

需要 站号,功能码,数据地址,长度,这样就可以了,具体读和写的数据DATA建一个数组大小就32个字吧,

一般就读写字,线圈那些很少用,很多时候,我就读写几个字不得了了。


附件 3.jpg

以上<经过调试修改后的>。

然后就是程序逻辑,用case写,

第一步:等待通讯,。。

(*)*()*)(

算了,我直接丢程序把,截图:<用AI帮忙加了注释,以及格式,挺好用的>


附件 01.jpg

附件 02.jpg

附件 03.jpg

附件 04.jpg

~~~~~~~~~~

程序使用:<启停开关,通信信道&硬件选择,通讯条数>




附件 05.jpg



附件 06.jpg

~~~~~~~~~~

以上,从站1,从站5用的USB转RS485硬件,然后用modbus RTU 模拟软件测试的。

来个动图 GIF:




附件 GIF 2025-12-12 15-52-10.gif


~~~~~~

说好的附件呢,库文件如下:自行导入就OK了



附件:
[本地下载]





1,程序如果有BUG,请自行修改,但是更希望能后续添加附件,方便后来人学习使用修改。
2,任何人可以商用修改,随你,但是我无责啊。
3,用得上的点个赞,毕竟我也是陆陆续续写了几个早晨,雷锋啊~




关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

31.2002