发表于:2025/12/12 16:04:40
#0楼
废话不多说,先看指令,
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个字吧,
一般就读写字,线圈那些很少用,很多时候,我就读写几个字不得了了。
以上<经过调试修改后的>。
然后就是程序逻辑,用case写,
第一步:等待通讯,。。
(*)*()*)(
算了,我直接丢程序把,截图:<用AI帮忙加了注释,以及格式,挺好用的>
~~~~~~~~~~
程序使用:<启停开关,通信信道&硬件选择,通讯条数>
~~~~~~~~~~
以上,从站1,从站5用的USB转RS485硬件,然后用modbus RTU 模拟软件测试的。
来个动图 GIF:
~~~~~~
说好的附件呢,库文件如下:自行导入就OK了
1,程序如果有BUG,请自行修改,但是更希望能后续添加附件,方便后来人学习使用修改。
2,任何人可以商用修改,随你,但是我无责啊。
3,用得上的点个赞,毕竟我也是陆陆续续写了几个早晨,雷锋啊~
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个字吧,
一般就读写字,线圈那些很少用,很多时候,我就读写几个字不得了了。
以上<经过调试修改后的>。
然后就是程序逻辑,用case写,
第一步:等待通讯,。。
(*)*()*)(
算了,我直接丢程序把,截图:<用AI帮忙加了注释,以及格式,挺好用的>
~~~~~~~~~~
程序使用:<启停开关,通信信道&硬件选择,通讯条数>
~~~~~~~~~~
以上,从站1,从站5用的USB转RS485硬件,然后用modbus RTU 模拟软件测试的。
来个动图 GIF:
~~~~~~
说好的附件呢,库文件如下:自行导入就OK了
附件:
[本地下载]1,程序如果有BUG,请自行修改,但是更希望能后续添加附件,方便后来人学习使用修改。
2,任何人可以商用修改,随你,但是我无责啊。
3,用得上的点个赞,毕竟我也是陆陆续续写了几个早晨,雷锋啊~















