• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
楼主  发表于: 2019-07-04 11:27
描述:通讯读写格式
图片:
描述:仪表设定
图片:
描述:仪表通讯方式设定
图片:
描述:仪表数据存取地址
图片:
描述:编写的程序1
图片:
描述:编写的程序2
图片:
不懂通讯的菜鸟,请各位大佬教教我。
通讯格式我看了些资料,有基本的认识。但是在编写程序的过程中有一些不懂。
一、就编写程序是用8位还是16位即M8161的选择。因为我T3仪表(图片:仪表数据存取地址,功能地址40005,毛重;占两个寄存器、32位,4字节有符号只读)的寄存器是否影响位数与RS指令的编写?
二:编写数据格式,{RS D0 Kn D30 Kn},Kn的个数如何确定。如[MOV H1 D0]   [MOV H3 D1]   [MOV H5 D2]   [MOV H2 D3]    [MOV H核验码? D4] 那这样是不是就5个。8位与16位数据格式,地址码到校验码个数是否不一样?
三、8位和16位的格式,D0(b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0),8位是处理b0-b7;16位是处理b0-b15。 8位的编写:[MOV H1 D0]   [MOV H3 D1]   [MOV H5 D2]  [MOV H2 D3] 在第一点中说的功能地址0005占两个寄存器、共4个字节、32位;那数据个数这样编写是不是就有问题了?    16位的编写:[MOV H1 D0]   [MOV H3 D1]   [MOV H5 D2]   [MOV H2 D3]
三、CRC校验如何编写,我这个程序的CRC校验码是什么?
四、回传数据的处理。回传回来的数据是放在D33、D34中,还是D33、D34、D35、D36中?[MOV D30 D50 K10 ] 如果是16位处理,那数据是放在D53与D54,那程序:[MOV D54 K4M10]   [MOV D53 K4M26]    [MOV K4M10 D100]最终数据存在D100、D101中?    这样的理解是不是有问题?
[ 此帖被leonhuang在2019-07-04 14:06重新编辑 ]
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
1楼  发表于: 2019-07-04 14:54
DS822-T3重量变送器PDF
描述:DS822-T3重量变送器
附件: 重量变送器.pdf (2479 K) 下载次数:177
网站提示: 请不要用迅雷下载附件,容易出错
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
2楼  发表于: 2019-07-04 15:04
我看了写的关于FX3U使用FX3U_485_BD与台达变频器通讯的实例。其中FX3U-MODBUS-RTU-TEST的程序里有CRC校验的相关程序,学习了,若有问题再请教 大侠
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
3楼  发表于: 2019-07-04 15:13
自已写的程序,请大侠看一下哪儿有问题
附件: 与T3仪表FX3U-MODBUS RTU.zip (175 K) 下载次数:180
网站提示: 请不要用迅雷下载附件,容易出错
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
4楼  发表于: 2019-07-10 11:35
引用
引用第6楼anlyl2014于2019-07-06 14:44发表的  :
注意一项:
1.通讯方式设为12;跟例子一模一样了;
2.看你的手册,40001和40002是净重;在PLC程序的地址是:H0/H1;可以读连续2个数的形式读出再合并成32位数;
3.同理,40005和40006是毛重;在PLC程序的地址是:H4/H5
4.你先用MODSCAN32软件,验证你的变送器设置的通讯格式、接线对不对,是否能读出数据,这步很重要,如能读出,说明设定没问题,MODSCAN32软件网站 有人发过可下;
.......

嗯,我看了你的例子。有几个问题还是想不明白:
1、站号,读命令这都好理解。读存储器40005+40006=4个字节32位;按您说的是读05和06存储器,M0V H5 D212高位、MOV H6 D213低位,而不是只写一个存储器0005?(MOV H0 D212;MOV H5 D213)
2、功能地址05,06前面都 已经写好了,那接下来写读取数据的个数就好了,那为什么还有一个MOV H0 D214数据处理的起始存储器?而不是直接写个数,MOV H4 D214 ?我们用的是M8161,处理8位,那05与06是2个字4个字节32位,那就用H4?
3、传回来的数据处理,从第几个数据开始?从D153开始?我在PLC的软元件/缓冲存储器监视里看,数据D153-D162都是b0-b7在动作,b8-bF都是0,那这说明M8161在起做用。而且传回来的数据D153-D162的b0-b7每个位都循环动作,按说我的仪表显示是0,那相对应的数据里b0-b7连续四个字节就应都是0,没有1才对的?(回头我拍一点视频看一下)
4、我的仪表总压力为10000公斤,最小为1公斤,不需要浮点处理。只要数据转换成十进制的为就可以了
[ 此帖被leonhuang在2019-07-10 13:12重新编辑 ]
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
5楼  发表于: 2019-07-10 15:40
引用
引用第8楼tingfenghu于2019-07-10 11:56发表的  :
首先你用个USB转485,
串口助手发送相应报文,看仪表返回的报文是否正确,
Modbus地址各家并没有统一,有些需要偏移一位,如40001,实际地址,是00H,00H,而有些是00H,01H,
直至返回报文数据正解,

.......

我没有USB转485的串口,可以用232连接电脑,232转485的串口?测试是用电脑MOSDCAN发与PLC通讯,还是用电脑与我的仪表做测试?
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
6楼  发表于: 2019-07-11 10:29
图片:
图片:
图片:
图片:
图片:
我用232转485与仪表测试,显示TIME-OUT。我检查了一下仪表参数设定F06=10(RTU,8位,1偶,1停止);F07=0(地址);F08=9600(波特率)没有错啊!?再与MODSCAN的设定核对了一下。485A与485B的对连线也对调过~~不知道问题出在哪里了!请大神帮忙分析 一下
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
7楼  发表于: 2019-07-12 11:01
图片:
图片:
通讯端口的设置已经改为,RTU,8位数据,无校验,2位停止;地址01,9600波特率
这个通讯有没有问题?RESPONSES是回传数吗?这个是0,说明通讯还是有问题对吗?
发送的信息01.03.00.00.00.08.44.0c
回传信息(不固定)如:c0.00.00.00.00.00.00.d0.f2.fe.ff.7f.00.00.00.00.00.00.f4.7f.00共21位
77.00.00.00.00.00.00.20.00.00.03.00.20.00.00.02.00.40.00.80.07共21位
从这些数据可以看出什么信息?
[ 此帖被leonhuang在2019-07-12 12:07重新编辑 ]
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
8楼  发表于: 2019-07-13 09:43
图片:
图片:
图片:
图片:
图片:
图片:
描述:485通讯接好仪表P16
图片:
我核对了一下,参数都没有错啊,MODSCAN的设置9600、8N2;仪表设置9600、8N2;仪表的485接线正常P16会显示cc-2。我发一些图片,看还有什么地方有问题的?
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
9楼  发表于: 2019-07-13 10:05
图片:
图片:
我把两根485的线在仪表这边对调了一下,通讯回传的数据就都变成252,P16就不会显示cc-2了
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
10楼  发表于: 2019-07-14 16:32
图片:
引用
引用第24楼anlyl2014于2019-07-13 10:55发表的  :
教你一个方法:
1.MODSCAN32软件设置好后,点连线,
2.用指针式万用表,10V直流挡正表笔接RS485A端,负表笔接485B端,如果,COM口正确,可以看到指针会随代码发出摆动,说明电脑这边没问题
3.折开连接到仪表的两条线,同样用表笔接测试仪表的485A 485B(有的厂商标D+ D-);如果万用表显示正电压(3-6V不同厂商可能不同),正表笔接的就是485A(D+);然后,再接到RS485端口的485A中,接线一定正确

按你的方法测试了一下:1、通讯时电压有变化;2、断开后D+/A与D-/B之间有4.15V的电压。是不是说明232转485的串口没有问题?问题出在仪表这边?
附件: WeChat_20190714162514.zip (1896 K) 下载次数:14
网站提示: 请不要用迅雷下载附件,容易出错
附件: WeChat_20190714162522.zip (1144 K) 下载次数:10
网站提示: 请不要用迅雷下载附件,容易出错
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
11楼  发表于: 2019-07-18 14:00
图片:
图片:
1、厂家又发了一个T3的仪表来,通讯测试串口调试工具页面还有红色英文字母,就是回传的数据出错或者回传的数据不对。我都在怀疑是不是我的串口232转485是坏的。
2、用PLC与仪表直连,但接线后仪表 的P16参数没有显示cc-2。但用串口直接与仪表接P16就会显示cc-2。
3、FX3U-485-BD与仪表连接,485BD有个330与110欧电阻要设置,按两根线的接法,485BD这头要用110欧电阻,可T3仪表只有485A和485B无法接电阻!?那仪表这端就可以不接电阻了?
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go