当前位置:
工控论坛
> >
产品
>
PLC
我要发帖
首页
上一页
1
2
下一页
尾页
关于MODBUS协议问题
点击:
5123
| 回复:
29
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2005-12-23 09:18:00
楼主
请教一下MODBUS协议到底有多少种?很多号称支持MODBUS协议的PLC。 触摸屏互相连接根本也连不上呀。
分享到:
收藏
邀请回答
回复楼主
举报
询问
关注
私信
精华:0帖
求助:1帖
帖子:121帖 | 274回
年度积分:0
历史总积分:832
注册:2004年10月13日
发表于:2005-12-23 11:44:00
1楼
触摸屏支持么,还有你的设置对么
回复
引用
举报
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2005-12-23 13:53:00
2楼
支持。PLC是LG K120S的。文本是浙大中自的。设置我试过了。9600 19200 奇 偶 无校验都试了。
回复
引用
举报
sunwu
关注
私信
精华:3帖
求助:0帖
帖子:11帖 | 256回
年度积分:0
历史总积分:365
注册:2002年6月13日
发表于:2005-12-23 22:15:00
3楼
软件方面,标准的modbus有RTU和ASCII两种协议,先看这个两边能不能对上,其次看一下modbus的站号对应。在触摸屏方面要注意搞清楚其标签地址的组态格式。
再看通讯电缆,按照两边的接线图,RxD接TxD,TxD接RxD,GND接GND,一般这三脚就可以了,但有些设备可能需要RTS和CTS信号,这时候通常情况下将本设备的RTS接到CTS上就可以了。
再看通讯参数,两边的串行通讯参数一定要对应上。
要都作了,没有理由通不上的。
另外,通讯错误在触摸屏方面一般有提示信息的,可以看一看
回复
引用
举报
sunwu
关注
私信
精华:3帖
求助:0帖
帖子:11帖 | 256回
年度积分:0
历史总积分:365
注册:2002年6月13日
发表于:2005-12-23 22:22:00
4楼
对了,你可以到国产PLC论坛去,版主发了一系列的Modbus说明
回复
引用
举报
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2005-12-24 08:52:00
5楼
谢谢。我试了RTU了。没试ASCII的。在试试。
回复
引用
举报
山水
关注
私信
精华:4帖
求助:0帖
帖子:128帖 | 2238回
年度积分:0
历史总积分:3675
注册:2004年1月06日
发表于:2005-12-24 08:57:00
6楼
Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。
回复
引用
举报
山水
关注
私信
精华:4帖
求助:0帖
帖子:128帖 | 2238回
年度积分:0
历史总积分:3675
注册:2004年1月06日
发表于:2005-12-24 08:58:00
7楼
ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。
回复
引用
举报
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2005-12-28 08:23:00
8楼
彻底败了。连接不上。理论可能没问题。可能连接上了,地址也对应不上。
回复
引用
举报
草原雄鹰
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 9回
年度积分:0
历史总积分:109
注册:2005年12月23日
发表于:2005-12-28 13:43:00
9楼
文本显示器的站点号要和PLC的一致,选择RTU,波特率和奇偶校验也要对应上。
回复
引用
举报
如火
关注
私信
精华:172帖
求助:0帖
帖子:803帖 | 5249回
年度积分:0
历史总积分:0
注册:1900年1月01日
发表于:2005-12-28 13:47:00
10楼
有部分设备虽然宣传支持modbus,但是协议不标准,有的只是支持了一部分modbus协议,建议楼主可以用串口工具测试一下,发送标准modbus功能码协议帧,看看设备是否有响应。
回复
引用
举报
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2005-12-29 15:37:00
11楼
好的,谢谢!有空再试试。
回复
引用
举报
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2006-01-10 08:33:00
12楼
标准modbus功能码协议帧具体是什么?返回应该是什么?多谢
回复
引用
举报
ZZQWY
关注
私信
精华:0帖
求助:0帖
帖子:0帖 | 29回
年度积分:0
历史总积分:105
注册:2002年10月24日
发表于:2006-01-10 09:17:00
13楼
关于MODBUS通讯的问题其实大部分都是因为某种原因厂家的设计不统一,最多的是浮点数据的处理方式,同一个RTU协议,不同厂家的产品编码方式也有不同,例如32位浮点,有低位在前,也有高位在前的,还有就是寄存器地址有的设备启始地址不统一,你用调试工具观察通讯的信息,试试就出来了.
回复
引用
举报
如火
关注
私信
精华:172帖
求助:0帖
帖子:803帖 | 5249回
年度积分:0
历史总积分:0
注册:1900年1月01日
发表于:2006-01-10 09:17:00
14楼
以RTU方式读取整数据的例子
主机请求
地址 功能码 第一个寄存器的高位地址 第一个寄存器的低位地址 寄存器的数量的高位 寄存器的数量的底位 错误校验
01 03 00 38 00 01 XX
从机应答
地址 功能码 字节数 数据高字节 数据低字节 错误校验
01 03 2 41 24 XX
回复
引用
举报
询问
关注
私信
精华:0帖
求助:1帖
帖子:121帖 | 274回
年度积分:0
历史总积分:832
注册:2004年10月13日
发表于:2006-02-01 23:29:00
15楼
ac 米兰: 你用LG PLC时,用485与文本显示器连的时候是可以连的,如果用232连的时候,在LG 的PLC有一个拨杆,拨杆1拨在ON状态就好了
回复
引用
举报
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2006-02-14 17:30:00
16楼
不容易呀。还能加精呢。
回复
引用
举报
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2006-02-14 17:31:00
17楼
拨码开关我拨过的。
说能连上的人就把具体方法写上。不要想当然。
回复
引用
举报
王晟磊
关注
私信
精华:12帖
求助:0帖
帖子:70帖 | 687回
年度积分:0
历史总积分:1173
注册:2004年2月11日
发表于:2006-02-24 17:10:00
18楼
TO ac 米兰:
您问的这个问题有几个不大清楚的:
1、哪一家的PLC
2、哪一家的屏
3、因为很多家的屏或者PLC并不是支持完整的MODBUS协议,比方说很多屏只支持对寄存器变量的读和写(3字头和4字头的变量),而不支持对位变量的读和写(0字头和1字头的变量),如果是这种类型的屏需要在PLC内将位变量给寄存器变量后再行读,或者写给寄存器变量再将其写给位变量。
4、再者有很多屏只有多字节的读写功能,没有单字节的读写功能,而有多家PLC则反之,所以要看一下双方的协议,或者打电话给双方的技术支持工程师了解情况。
5、一般常见的大公司的PLC都在屏的软件内有支持,只需要选择对应的厂商和型号则可以,如果屏软件内没有的,而PLC又声明支持MODBUS,则可以选MODBUS协议,如果PLC声明的是RTU协议,则选RTU协议,如果是ASIC协议则选ASIC协议。
6、如果你的条件许可,可以这样来做,用PC与PLC通过RS232联接,如果PLC只有RS485则要通过RS485到RS232的转换器来联接,再用MODSCAN软件(可从网上下载)联接PLC,试一试各种协议,看是不是支持的,如果可以,则根据测试后认可的协议在屏软件中做设置,比方说选用4字头的变量来进行读和写等。
7、如果你有PC并且有RS485到232的转换器,则可以将PC挂到屏与PLC通信的网络内,用串口调试工具,如串口精灵之类的,可以上网下载一个,监视通信情况,一般屏是主站,它先发起通信,你可以看一看它发了包后从站PLC有没有回应,如果有回应多是起始地址和偏移有错,你可以通过看MODBUS的协议后再分析二进制的通信数据进行分析错在哪里。
8、反之,如果从站没有回应,你可以看一看站地址对不对,通过串口调试工具可以看到发出去帧二进制文件,通过MODBUS协议的分析可以知道发出去的站地址对不对,如果是对的而PLC不回应,则可以查一下硬件是不是接错了,如果是485通信有可能双方的A、B线定义不一样,如ABB的A是负B是正,而大多数厂商的是A正B负。可以用万用表量出来。
9、许多PLC如果只有一个通信口的,而其编程口与通信口复用的,在做MODBUS从协议时需要在软件内设置.这一点请参见各PLC的编程手册或打电话问厂商的技术支持.
10、不要把简单的问题复杂化,这样吧我卖一台V80的PLC加一个屏给你,联好设置好,你可以学习学习:)(讲笑的)
有什么问题可以来信或打电话给我。
wangsl@techwayson.com
回复
引用
举报
ytzidonghua
关注
私信
精华:4帖
求助:0帖
帖子:228帖 | 12358回
年度积分:2937
历史总积分:29769
注册:2004年4月26日
发表于:2006-02-24 17:21:00
19楼
什么PLC,什么文本。我说的很清楚。你需要好好看看。简单也罢,复杂也好。我连接的PLC和触摸屏(文本显示器)可能比你多。
回复
引用
举报
通讯网
关注
私信
精华:11帖
求助:1帖
帖子:431帖 | 10265回
年度积分:0
历史总积分:24711
注册:2004年7月09日
发表于:2006-02-24 17:32:00
20楼
我这有modbus专用调试软件主,从两套,有没有要的?
回复
引用
举报
热门招聘
相关主题
怎么找不到LG PLC官方网站?
[20521]
NAMUR型二线制接近开关怎么能...
[21396]
FX2N三菱PLC的串口通讯程序
[8122]
工控老鬼 工控人生 工控这...
[10377]
组态王视频22讲,很详细。
[8472]
老外写的PID仿真软件
[7876]
笔记本电脑USB转串口的求助
[11580]
关心PID调节者请近来!!!
[15486]
请教如何实现USB接口转RS232...
[30752]
s7-200 PID自动调节怎么不行
[8309]
官方公众号
智造工程师
客服
小程序
公众号
首页
上一页
1
2
下一页
尾页