特立独行
级别: 略有小成
精华主题: 0
发帖数量: 6 个
工控威望: 205 点
下载积分: 470 分
在线时间: 2(小时)
注册时间: 2017-11-05
最后登录: 2018-03-22
查看特立独行的 主题 / 回贴
楼主  发表于: 2017-11-15 10:00
现在用的是FX3U与步进电机驱动器通过485双线通讯,即半双工。现在出现的问题是PLC能正常的发送数据给驱动器,但不能正常的接收驱动器返回的数据,接收到的数据混乱,偶尔能接收到正常的。通讯格式设置的是H0C81,RS指令见附件。求教各位,应该怎么解决?步进电机驱动器已经用电脑的串口监视过,收发没问题。PLC也是。 程序(部分)


特立独行
级别: 略有小成
精华主题: 0
发帖数量: 6 个
工控威望: 205 点
下载积分: 470 分
在线时间: 2(小时)
注册时间: 2017-11-05
最后登录: 2018-03-22
查看特立独行的 主题 / 回贴
1楼  发表于: 2017-11-15 10:15
由于PLC非正版,485接口只提供了A、B两条线,未提供地线连接。
特立独行
级别: 略有小成
精华主题: 0
发帖数量: 6 个
工控威望: 205 点
下载积分: 470 分
在线时间: 2(小时)
注册时间: 2017-11-05
最后登录: 2018-03-22
查看特立独行的 主题 / 回贴
2楼  发表于: 2017-11-15 11:34
引用
引用第2楼zhangqi_1234于2017-11-15 10:41发表的  :
这是三菱RS指令的问题,收发数据几乎是同时进行,中间没有时间的间隔,容易收到回传的数据。解决的方法有两种:
1、改用四线制连接,发送和接收的线路分开。
2、修改RS指令,发送数据时,设定接收0个数据,然后延时3.5个字节时间(9600bps,约30ms),再发送0个数据,接收n个数据。
第2种方法是否有效,需要验证。我采用的是第1种方法。

目前的设备情况无法改成4线制的。由于485设备是收到PLC的指令后立刻响应一串数据,因此若设置延时,将收不到设备响应的数据。
现在我想尝试用232口做通讯,然后经过232转485的转换器连接到485设备上。但我现在没有搞明白:怎么选择通讯口,我现在只能从
485口读到数据,232口读不到数据。想请问怎么选择使用232口做通讯。
我现在将232口和485口通过usb转换都连接到电脑上,通过串口调试助手监控。232口无法进行传输数据
[ 此帖被特立独行在2017-11-15 11:40重新编辑 ]
特立独行
级别: 略有小成
精华主题: 0
发帖数量: 6 个
工控威望: 205 点
下载积分: 470 分
在线时间: 2(小时)
注册时间: 2017-11-05
最后登录: 2018-03-22
查看特立独行的 主题 / 回贴
3楼  发表于: 2017-11-17 09:56
图片:
图片:
我已经尝试设置延时,从10ms到30ms,隔5ms尝试一次。收到的数据均为0。程序如图