台达PLC控制CANOPEN总线步进电机
关于台达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一行程序写不下,怎么才能连接一下行写出程序?
说明你的程序有问题,下次编译前打开“视图”--“讯息区”,在屏幕的最下方就有告诉你出错的地方了,如果不行,我这有几个我做的台达PLC程序,你可以参考一下说明...
台达plc程序中怎么把十六进制数变成十进制数啊-懂得
这个不管16进制还是十进制,对于PLC处理来说都是一样的你如果要显示出来,如在触摸屏上显示,只要编辑好你的数据显示器就行了好像台达PLC的返回值都...
台达plc的定时器怎么编程-懂得
台达PLC的T1为100ms时间继电器,59mX60s=3540s=35400ms,所以直接使用是不行的,因为台达PLC中的常数值最大为32767。你可用两个时间继电器实现,即将59...
台达PLC与上位机RS485串口通讯实例教程?
1PLC与电脑线路连接,根据电脑的串口情况,1.电脑自带RS232串口,那么只需RS232转RS485模块2.电脑没有串口,需要使用USB转RS232数据线,创建虚拟串口因手上资源...1P...
台达plc计工作时间怎么编程?
是计算设备工作了多长时间吗,这个好做啊,用一个小时脉冲驱动一个寄存器可以记算小时数,一个分钟脉冲驱动一个寄存器计算分钟数,一个秒脉冲驱动另一个寄存器训...
台达plc编程软件famapp如何将一段程序考到另一程序中?
PLC,ProgrammableLogicController,可编程逻辑控制器,可以通过数字或模拟式输入、输出控制各种类型的机械或生产过程。1.安装完以后,双击打开桌面上的WP...
关于台达PLC主控指令MC与主控复位指令怎么用?
MC是主控指令MCR主控指令结束,MC=1时:MC至MCR之间的程序工作,MC=0时,MC至MCR之间的程序不工作。台达PLC,是台达ProgrammableLogicControlle...
如何读取台达plc程序?
打开台达编程环境,用通迅线联接PLC,设置通迅口,点击通迅联接上载就能读PLC程序。打开台达编程环境,用通迅线联接PLC,设置通迅口,点击通迅联接上载就能读PLC程...
怎样才能把PLC里面的程序读到电脑上啊?(台达PLC)?
下载安装台达的plc程序wplsoft,连接plc和电脑,打开程序,设置里选择plc型号,然后通信里plc——>pc,如果有密码需要输入密码编程电缆的驱动装好没有?端口com...
用LabVIEW怎样与台达plc通讯?
不需要驱动程序(除非你的硬件需要,如usb-rs232),可直接通讯,通讯时可以监控一下发送的指令与用串口调试工具时的是否一致,方便调试,你懂的不需要驱动程序(除...