您现在所在的是:

三菱Mitsubishi

回帖:7个,阅读:1625 [上一页] [1] [下一页]
704
253773563
文章数:5
年度积分:50
历史总积分:704
注册时间:2010/11/17
发站内信
发表于:2010/11/20 17:44:17
#0楼
我现在用的PLC是FX1S的(这个是目前的一个小项目用的FX1S,后面有个项目估计要用FX2N或者3U的,所以得先弄清这个通讯的问题),然后用了485BD通讯板,和公司的控制器(下面简称EVC)进行通讯,采用的是485半双工方式进行通讯,也就是2线制的,用的是无协议通讯方式,就是用RS指令,当我发送命令数据给EVC并要求EVC返回数据给PLC时,PLC在接收数据的时候,我分配的那些接收数据寄存器里面的数据起初是PLC发送的数据,然后接收到EVC返回的数据,这样数据寄存器里面的内容就被覆盖,出现闪的情况,每次通讯时,都会出现这样的情况,现在是想如何处理接收端过滤掉接收到了是PLC发送的那些数据,问三菱技术支持,说是回波通讯的问题,不知道通过软件编程能否解决这样的问题,请高手们帮帮忙,不胜感激!例如我发送的指令是 RS D0 K29 D30 K29,为什么是发送和接收的数据寄存器个数都是29(其实我真正发送命令的数据只有8个,但第八个后面的数据都是0),是由于我发现如果是不一样的话,按照书上说的RS指令格式来,我接收到的数据是错误的,是循环错位的,不知道为什么,是不是由于2线制的原因?但如果分配的个数一样多,那我接收的数据就是都是正确的,当M8122前面的脉冲开光接通发送数据后,数据寄存器D30-D58里面的数据一开始是PLC之前发送的数据,之后立马闪烁为EVC返回的数据,当到下一个脉冲发送数据时,又出现这样的现象,不知道到如何去解决,希望有经验的大侠们帮帮小弟!在此再感谢阅读并回复帖子的朋友们!
2175
竹叶青在
文章数:232
年度积分:53
历史总积分:2175
注册时间:2007/5/14
发站内信
发表于:2010/11/20 17:57:39
#1楼
你看一下你接受的数据是不是都存储到了后八位数据中了。我也遇到过,不过数据都在后八位中。
704
253773563
文章数:5
年度积分:50
历史总积分:704
注册时间:2010/11/17
发站内信
发表于:2010/11/20 19:43:21
#2楼
不是很懂什么意思,我的通讯M8161为ON,即8位的,例如我发送的数据是01 03 02 00 00 0C CRC_L CRC_H (01是设备地址,03是读指令,0200是设备数据寄存器地址,00 0C是读取12个设备寄存器数据的个数),设备EVC会返回的数据格式是:01 03 18 ......... CRC_L CRC_H (...中是24个数据),总共也就是29个,RS指令写成RS D0 K29 D30 K29,(D8-D28均为0,不影响通讯,因为EVC在接收到数据的CRC校验的数据后,后面的数据是不做响应的)为什么发送的数据寄存器我也要分配成29个,是由于如果写成是K8,那么我通讯的时候,接收的数据是错误的,发现循环错位的现象。写成RS D0 K29 D30 K29时,不会出现那样的情况,接收到的数据也是正确的,但是发现一个问题是,每次脉冲信号发送数据后,D30-D58起初接收的数据是PLC发送的,也就是D30=01,D31=03,D32=02,D33=00,D34=00,D35=00,D36=0C依次类推,D38-D58为0,之后D30到D58的数据寄存器立马闪烁显示为EVC返回的数据,也就是此时D30=01,D31=03,D32=18,依次类推,D33-D56为24个数据,D57,D58为CRC校验的低8位,高8位。所以每次脉冲发送数据通讯时D30-D58数据寄存器内的内容都会跳动显示,而我只要EVC返回的数据,不知道如何去解决这样的问题?请大家帮帮忙!
6098
fzl_115
文章数:488
年度积分:77
历史总积分:6098
注册时间:2007/1/24
发站内信
发表于:2010/11/21 9:34:37
#3楼
既然是半双工双向通信,PLC发送的指令的数据字节数要和你的EVC控制器接收数据帧字节数对应,同样接受的数据字节数也要和你的EVC控制器发送数据帧字节数对应。


[此贴子已经被作者于2010/11/21 9:44:06编辑过]
704
253773563
文章数:5
年度积分:50
历史总积分:704
注册时间:2010/11/17
发站内信
发表于:2010/11/21 12:05:03
#4楼
我的发送数据字节数 和接收数据字节数 就是按照EVC控制器的通讯格式写的,因为是无协议方式,当然得按照EVC的要求去编写程序啊。。。。
2136
gk528
文章数:482
年度积分:50
历史总积分:2136
注册时间:2008/6/21
发站内信
发表于:2010/11/21 20:04:10
#5楼
我做与松下伺服通讯时,也是如此,先接收发送的数据,后面才是返回的数据,不过很稳定,所以只处理后面需要的数据就是了.
换一个仿三菱的PLC,这种现象没有了.(程序一样)
528工控科技 串口 以太网 通讯 MODBUS
704
253773563
文章数:5
年度积分:50
历史总积分:704
注册时间:2010/11/17
发站内信
发表于:2010/11/21 20:43:07
#6楼
呵呵,那你是如何处理呢,能否发给我看下你的程序,我的邮箱253773563@qq.com,如何处理只要后面的数据?
704
253773563
文章数:5
年度积分:50
历史总积分:704
注册时间:2010/11/17
发站内信
发表于:2012/7/30 16:58:26
#7楼
问题已经解决 呵呵 自己摸索出来了 有需要的朋友可以联系 QQ 253773563

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004