关于台达plc的modbus主站和从站如何编写程序
最近在工作中遇到了台达的plc,本来我只要读取它们的数据罢了,台达plc作为modbus从站。我作为modbus主站去读取modbus从站的数据,应该是一件很容易的事。但是,很不幸的是,设备厂家对通讯方面完全不了解。当我向他索要modbus地址和通讯参数的时候,他萌萌的告诉我他对这方面不是很清楚,当时我心里凉了半截,心里默默问候我们公司的售前人员。没办法了,工作还得继续下去(甲方爸爸催的紧啊),把他们的设备拆开看了下,得到一些信息:他们设备的控制器台达的plc,柜子外配了一个网口,这个网口是用plc的485端口转换的。
现在有几个问题:
1,我以前没接触过台达plc
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从站的参数和站号设置,前面也提到了这些可以不设置,那么就是默认值。我们来看看这些特殊寄存器代表的意义:
D1121:plc站号地址,默认值为1
D1120:com2(rs485通讯协议),默认值是H86,代表的意思是波特率9600,字长度7位,偶校验,1位停止位
M1220:com2通讯设定保持用,如果设定了D1120,m1120就置1使设置保持。
M1143:SLAVE 模式时,COM2(RS-485)之 ASCII/RTU
模式选择 (Off: ASCII模式 ,On: RTU 模式)
MASTER 模式时, COM2(RS-485) 之 ASCII/RTU
模式选择,配合 MODRD /MODWR/MODRW 指令使用(Off: ASCII 模式, On: RTU 模式)
默认值为0.
所以,默认的通讯参数是波特率9600,字长度7位,偶校验,1位停止位,ASCII模式,站号地址为1.
然后我们再讲一下,modbus主站该怎么编程。首先我们需要了解一下需要用到的指令。
modbus ASCII模式的例子
modbus rtu模式的例子
以上是台达plc的modbus读指令,modbus的写指令和读指令差不多,大同小异。
总结一下:台达plc和西门子的区别:西门子plc的modbus功能只需要调用系统的库程序,没有用到特殊寄存器,读取数据的存放位置直接指定普通寄存器即可,通讯参数也是直接把参数输入。而台达plc要实现modbus功能,需要用到系统指定的特殊寄存器,只要按照应用手册的例子编程就好了。
好了,今天就说到这里吧,欢迎大家一起交流。
台达PLC常用编程指令表
1、程序控制流程
2、传送指令
3、四则逻辑运算
4、移位指令
5、数据处理
6、高速处理
7、便利指令
8、外部IO
9、串行IO
10、基本指令
11、通讯指令
12、浮点运算指令
13、附加指令
14、定位指令
15、实时时钟指令
16、矩阵指令
17、接点类型逻辑运算指令
18、接点类型比较指令
19、字符装置位指令
20、浮点比较指令
相关问答
台达plc梯形图监视运行后怎样变换为编写模式?
可以这么设计当电机转动时,对接近开关做定时2秒,2秒之后接近开关未检测到物体靠近,则断开电机接触器,同时定时器清零断开。如果是检测堵转这样的情况,推进...
信捷plc编程和三菱plc的通讯电缆和模式一样吗工控学院?
信捷PLC和三菱PLC的通讯电缆和模式并不完全相同。虽然它们都可以使用类似的通讯协议和通讯接口,但是由于不同厂家的设备可能存在一些细微的差异,比如通讯参数...
怎样将多语言台达PLC编程软件设置为中文?
倒数第三个菜单-设置-里面有个语系设置-找到简体中文即可倒数第三个菜单-设置-里面有个语系设置-找到简体中文即可
编程软件中怎么变更plc的类型?-ZOL问答
不同的PLC使用不同的编程软件,不同的编程软件修改方式也不一样。比如西门子Micro/WinV4.0软件,在项目的树型结构中,有CPU,双击,弹出CPU属性窗口,在里面就可以...
台达人机界面怎么编程,比如说在界面上设置一个按钮,如何对应PLC地址?
触摸屏在使用上都类似的,大概分两步,一步是确认PLC硬件,一般在新建项目时就创建了要使用的PLC。一步是在添加按钮时设置读写地址为PLC的地址。最近在更新威...
台达plc编程软件中的垂直线是怎么操作呢-ZOL问答
中关村在线vivoX90Pro+举报5人讨论4263次围观关注问题写回答讨论回答(5)qq1141727030按F9或ALT+F9有用(0)回复oRzz1如果你想并联上下...
台达plc的定时器怎么编程-懂得
台达PLC的T1为100ms时间继电器,59mX60s=3540s=35400ms,所以直接使用是不行的,因为台达PLC中的常数值最大为32767。你可用两个时间继电器实现,即将59...
台达plc的定时器怎么编程-榴莲Dru1an的回答-懂得
台达PLC的T1为100ms时间继电器,59mX60s=3540s=35400ms,所以直接使用是不行的,因为台达PLC中的常数值最大为32767。你可用两个时间继电器实现,即将59...
台达plc数据类型?
11、WPLsoft编程软件台达PLC数据类型有:位bit、半字节nibble、字节byte、字word、双字doubleword。1doubleword=2word=4byte=8nibbl...
台达高速计数器计编码器的程序怎么写,我的PLC是台达DVP16EH00T2,主要是怎么启动高速计算器那一段,谢谢?
C241检测主机X0的脉冲信号,具体设置介绍如下:1.倍频设置有D1225决定,D1225的值决定对应的倍频,1,2,3或4出厂.默认为22.计数模式设置由M1241决定,ON为减...