登录
首页
机器人论坛
回帖
发帖
正文
主题:继续求助爱普生机器人与FX5U以太网通讯问题
点击:9174 回复:22
楼主
编辑
引用
管理
zrx517697809
现在整体结构搭建好了,开始调试,在机器人打开通讯通道的时候,PLC侧的通讯标志位也会有信号,关闭之后,PLC侧就会报通讯错误,这么来讲通讯应该是成功了。昨天折腾了半天,发现由机器人向PLC发送数据,PLC侧可以接收到数据,机器人读取PLC数据机器人侧就会出现通讯超时,无法读取数据。
手册上介绍ChkNet(201) > 0为通讯成功,ChkNet(201) < 0为通讯失败,我检测发现ChkNet(201) = 0,这是哪里问题,请使用过的指点一二,感激不尽!
最后修改:
2018/10/30 10:56:50
18-10-30 08:27
1楼
编辑
引用
管理
蜀中之首
首先声明,没使用过
用的485口?
类似的我一般,先用电脑做工具调试
可能PLC没在接收状态,或返回的数据不符合机器人要求
18-10-30 10:31
2楼
编辑
引用
管理
zrx517697809
用的以太网
18-10-30 10:56
3楼
编辑
引用
管理
liuhuoaaa
把你的程序贴出来看看
18-10-31 20:39
4楼
编辑
引用
管理
liuhuoaaa
Function TIPIP
SetNet #201, "192.168.71.30", 1003, CRLF, NONE, 0 '设置端口参数
OpenNet #201 As Client
Print "等待连接端口201"
WaitNet #201 '等待201网络端口连接成功
Print "端口201已连接"
Do
If ChkNet(201) > 0 Then '如果大于零为有数据
Read #201, plc$, ChkNet(201) '读取201端口中的数据
' Print code$
ok_plc = Val(plc$) '将由数字组成的字符串转换为数值。
' Print "ok_plc=", ok_plc
ElseIf ChkNet(201) < 0 Then
Print "网络连接中断。请重新连接"
CloseNet #201
OpenNet #201 As Client '打开201网络端口
Print "等待连接端口201"
WaitNet #201 '等待201网络端口连接成功
Print "端口201已连接"
EndIf
If InData <> 0 Then '机械手向PLC发送数据,数据的值赋值在 InData$里
Print #201, InData
InData = 0
EndIf
Loop
CloseNet #201 '关闭201网络端口
Fend
18-10-31 20:42
5楼
编辑
引用
管理
MIC小赖
'==============================================
'
'
' PLC通讯程序
'
'
'==============================================
'PLC信息:192.168.10.210:8100
Global String G_PLC_WriteData$
Global Integer PLC_CharLength, PLC_DataArrayLength
Global String G_PLC_ReadData$, G_PLC_DataArray$(3), G_PLClinshi$, G_PLClinshi2$
String PLC_ReadData_Array$(0)
String PLC_LINSHI$
Global Real G_PLC_CoordinateArray(1), NetSts
Function PLC_Communication
Do
NetSts = ChkNet(201)
If (NetSts < 0) Then '如果链接未建立链接
CloseNet #201 '关闭端口#201 0.5秒
Wait 0.5
OpenNet #201 As Client '打开端口#201 作为客户端
WaitNet #201 '等待端口#201 通讯链接ONLINE
Print "[", Time$, "] PLC<==>Load-RB 已连接!"
If ChkNet(203) <> -3 Then
MemOn M_PLC_LinkON
Else
MemOff M_PLC_LinkON
EndIf
EndIf
If MemSw(M_RW_PLC) = On Then '等待PLC数据发送标志位ON
Print #201, G_PLC_WriteData$ '通过端口#201 将字符串G_PLC_WriteData$发送出去
Print "[", Time$, "] RB1-->PLC Data is:", G_PLC_WriteData$
G_PLC_WriteData$ = ""
MemOff M_RW_PLC
EndIf
If (NetSts > 0) Then '端口#201接受到信息时
PLC_CharLength = ChkNet(201) '获取字符串长度
G_PLC_ReadData$ = ""
Read #201, G_PLC_ReadData$, PLC_CharLength '按照字符串长度读取#201接受缓存中的内容至G_PLC_ReadData$
Print "[", Time$, "] PLC-->RB1 Data is:", G_PLC_ReadData$
Call PLC_Dispose '跳转至PLC数据处理程序
EndIf
Loop
Fend
18-10-31 21:37
6楼
编辑
引用
管理
MIC小赖
'==============================================
'
'
' Unload插头定位及精定位通讯程序
'
'
'==============================================
'CCD主机信息:192.168.10.254:203
Integer i, j, k, CCD_CharLength, CCD_DataArrayLength
Global String G_CCD_WriteData$, G_CCD_ReadData$
String CCD_ReadData_Array$(0)
String toks$(0), strPre$(6)
Integer e
String CCD_LINSHI$
Function CCD_Communication
Do
If ChkNet(202) = -3 Then
CloseNet #202
OpenNet #202 As Server
WaitNet #202, 20
If TW Then
MemOn M_CCD_ConnLostTP
Error CCD1_ConnLost
Else
MemOff M_CCD_ConnLostTP
Print "[", Time$, "] PC<==>Unload-RB 已连接!"
EndIf
EndIf
If ChkNet(202) <> -3 Then
MemOn M_CCD_LinkON
Else
MemOff M_CCD_LinkON
EndIf
If MemSw(M_RW_CCD) = On Then
Print #202, G_CCD_WriteData$
Print "[", Time$, "] RB-->CCD Data is:", G_CCD_WriteData$
G_CCD_WriteData$ = ""
MemOff M_RW_CCD
Call CCD_Deliverys
EndIf
Loop
Fend
18-10-31 21:39
7楼
编辑
引用
管理
zrx517697809
谢谢,前两天回老家了,回头再试试
18-11-05 11:59
8楼
编辑
引用
管理
SmallDreamer
有没有试过PLC不写程序,机器人直接通过协议去主动读取或写入?
18-11-26 16:57
9楼
编辑
引用
管理
zrx517697809
没有,通讯也成功了,但是当第二次PLC向机器人发送数据的时候机器人接收的都是0,用调试助手调试双方都是正常的,最后放弃了,改成IO对接,又接了好多线
18-11-27 08:20
上一页
下一页
工控新闻
华北工控MATX-6988,助推政务系统加速进入数智化时代
华北工控EMB-4148,一款适用于物联网领域的EPIC嵌入式单板
工业大数据国家工程实验室分中心落户长沙
埃斯顿携手BBH成立了一家自动化公司
艾默生公布2025财年第一季度业绩,更新2025财年展望
守护石油化工生产安全,华北工控推出SIS系统在线监测专用计算机
嵌入式AI主板MITX-6156:高算力与更高速数据传输,丰富接口可实现多重扩展
台达机电中国区渠道商大会成功召开
更多新闻资讯