最近,我在工作中遇到了台达plc。 最初,我只需要读取它们的数据,台达plc作为modbus从站。 作为modbus主站,读取modbus从站的数据应该是非常容易的。 不幸的是,设备制造商根本不懂通信。 当我向他询问modbus地址和通讯参数时,他可爱地告诉我,他对这方面不是很清楚。 当时我感觉有点冷,默默地和我们公司的售前人员打招呼。 没办法,工作还得继续(甲方父亲催促我),我就把他们的设备拆开看了看,得到了一些信息:他们设备的控制器是台达plc,有一个机柜外网口。 ,这个网口是使用plc的485端口转换的。
现在有几个问题:
1. 我以前从未联系过达美航空。
2.我没接触过485转以太网模块。
怎么办,赶紧去了解一下吧。
台达PLC绝对支持Modbus通讯。 毕竟我在西门子PLC上工作了很多年。 学习如何使用 Modbus 应该很快。
虽然我对485转以太网模块不太熟悉,但是我以前用过232转以太网模块。 想了想,用法应该是差不多的,理解起来应该很快。
根据485转以太网模块的品牌,我找到了技术支持电话,咨询后询问了他们的软件。 功能确实和moxa的232转以太网模块一样,只是品牌不同。 我也觉得很有信心。
然后我花了一些时间了解台达的modbus编程。 下面我就讲一下台达plc的modbus编程的相关内容。
接触过PLC的人都知道,中国市场上的PLC有两大类:欧美类和日本类。 他们两种编程风格不同,这里不再赘述。 台达plc是模仿日本三菱plc,所以是典型的日本plc。 之前一直在使用西门子PLC,而西门子PLC的Modbus主站和从站都需要调用西门子库程序来实现,所以我以为台达PLC也需要这种类似的操作,但是我知道现场设备的厂家还没有根本不考虑Modbus从站。 那时我的心感觉好冷。 然而,天空是极限。 当我了解了一些台达PLC后,我突然发现台达PLC默认支持Modbus从站。
台达PLC的内部地址与modbus地址有对应关系。 对应关系如下:
您可以在台达plc的应用手册中查看完整的对应关系。
既然对应关系建立了,那么modbus的通讯参数和站号地址在哪里设置呢? 下面我们来解释一下。 我们需要分别说明主站和从站。
我们先来说说如何将台达plc设置为modbus从站。
台达PLC不做任何设置,也是一个modbus从站,因为台达PLC的通讯参数和站地址都是通过一些特定的寄存器地址来设置的,而那些特殊的寄存器地址都有一个默认值。
设置从站通讯参数
以上是modbus从站的参数和站号设置。 如前所述台达plc编程软件教程,这些不需要设置,因此它们是默认值。 我们来看看这些特殊寄存器代表什么:
D1121:plc站号地址,默认值为1
D1120:com2(rs485通讯协议),默认值为H86,表示波特率9600,字长7位,偶校验台达plc编程软件教程,1个停止位
M1220:用于保存com2通讯设置。 如果设置了 D1120,则将 m1120 设置为 1 以保留设置。
M1143:SLAVE 模式下,COM2 的 ASCII/RTU (RS-485)
模式选择(关:ASCII 模式,开:RTU 模式)
MASTER模式下,COM2(RS-485)的ASCII/RTU
模式选择,与 MODRD /MODWR/MODRW 指令配合使用(关:ASCII 模式,开:RTU 模式)
默认值为 0。
因此,默认的通讯参数为波特率 9600、字长 7 位、偶校验、1 停止位、ASCII 模式、站号地址 1。
那我们就来说说如何对modbus主站进行编程。 首先我们需要了解我们需要使用的说明。
modbus ASCII 模式示例
Modbus RTU 模式示例
以上是台达PLC的Modbus读取命令。 Modbus 的写命令与读命令类似,但有细微差别。
总结一下:台达plc和西门子的区别:西门子plc的modbus功能只需要调用系统库程序,没有使用特殊的寄存器,可以直接在普通寄存器中指定读取数据的存储位置,而通讯参数也直接输入。 。 台达PLC要实现modbus功能,需要系统指定的特殊寄存器。 您所需要做的就是根据应用手册中的示例进行编程。
好了,今天就到这里,欢迎大家交流。