分享

三菱FX3U与变频器通讯程序如何编写

 一小只吖 2021-08-24

前面我们讲了如何用串口调试工具通讯变频器,也学习了Modbus的报文格式。今天老冯教你们怎么用PLC写通讯程序。

首先看我们要准备的硬件:

1.三菱FX3U

2.三菱FX3U-485BD板

3.台达VFD-M变频器

4.台达变频器通讯水晶头(RJ11)

首先是接线,RDA和SDA接到485+,RDB和SDB接到485-,也就是半双工模式。这里解释一下什么是半双工,什么是全双工。

半双工:同一时间只能发送或者接收数据,接收和发送不能同时进行。

全双工:接收发送可以同时进行,互不影响。

接完线我们需要定义两边的通讯参数一致。我们以Modbus RTU为例。设置变频器站号为01,波特率为9600,8个数据位,1个停止位,偶校验。那PLC这边如何定义呢?看下图的实例程序。

三菱FX3U与变频器通讯程序如何编写

图1

首先我们要置位特殊继电器M8161,M8161=ON时,这样是为了把所有数据都存放到数据寄存器的低八位。然后D8120为通讯格式寄存器,具体如何设置可以参考图2。最后利用RS指令配置发送区和接收区,发送区为D0开始的8个数据寄存器,此例只讲解如何发送报文,不需要接收数据,所以后面是K0。

三菱FX3U与变频器通讯程序如何编写

图2

通过前面的学习我们已经知道正转启动的报文为01 06 20 00 00 12 02 07。我们依次把报文赋值到发送区,程序如图3-图5。

三菱FX3U与变频器通讯程序如何编写

图3

三菱FX3U与变频器通讯程序如何编写

图4

三菱FX3U与变频器通讯程序如何编写

图5

接下来是计算CRC校验码,上期已经讲了三菱有自己的CRC指令,所以可以直接利用D0-D5里面的值计算出校验码,因为是低八位模式,所以校验码依次存放到D6和D7的低八位。到此我们的报文已经全部赋值到发送区,也就是D0-D7。我们只需要set M8122就可以把报文发送给变频器了。

三菱FX3U与变频器通讯程序如何编写

图6

特别说明一下,置位M8122后不需要手动对其复位,PLC在检测到数据发送完成以后,会自行复位。

以上便是如何利用PLC给变频器发送报文的案例程序。下期我们讲如何接收,接收到的数据如何处理。没看明白的朋友可以私信我交流讨论。感谢支持!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多