大寰电爪PLC的RS485通讯控制

001:准备工作

备齐以下设备:

  1. USB串口转RS485通讯模块 UT-8890
  2. 大寰电爪 RGI-100-22
  3. 24V电源
  4. 串口调试工具

002:配置PC端的通讯

将PC串口按照上述设置修正。

003:编写基本串口码

生成的数据需要带上ModbusRTU的CRC校验和,不然数据无法和电爪匹配,导致数据发送无效。

004:测试大寰电爪官方测试软件

005:在PLC中修改通讯参数

本文以台达AS228T为例子。

006:编写给电爪通讯用的数据结构

(*******************************************************************************
**  Example1:
**
**  TYPE DUT_StructA :
**  STRUCT
**    Element1 : BOOL;
**    Element2 : REAL;
**
**    (Array notation: ARRAY [lowerbound_index..upperbound_index] OF DataType)
**    (Hint: the max dimension of ARRAY is 3)
**    Element3 : ARRAY [0..1,0..3,0..5] OF INT;
**  END_STRUCT
**  END_TYPE
**
**  Example2:
**
**  TYPE DUT_StructB :
**  STRUCT
**    Element1 : DUT_EnumA; (Hint: using Enum in Struct declaration)
**    Element2 : ARRAY [0..7] OF DUT_StructA;
**  END_STRUCT
**  END_TYPE
*******************************************************************************)

TYPE DUT_Ele :
STRUCT
	//设备ID
	ID:WORD;
	//写入阶段
	Init:ARRAY [0..1] OF WORD;
	SetTorque:ARRAY [0..1] OF WORD;
	SetPos:ARRAY [0..2] OF WORD;
	SetPosSpeed:ARRAY [0..1] OF WORD;
	SetAngleSpeed:ARRAY [0..1] OF WORD;
	SetAngleTorque:ARRAY [0..1] OF WORD;
	SetAngle:ARRAY [0..2] OF WORD;
	//读取阶段
	InitState:ARRAY [0..1] OF WORD;
	ClampState:ARRAY [0..1] OF WORD;
	CurAngle:ARRAY [0..2] OF WORD;
	ErrState:ARRAY [0..1] OF WORD;
	AngleState:ARRAY [0..1] OF WORD;	
	//功能键
	EleInit:BOOL;
	EleInitDone:BOOL;
	EleSetLoose:BOOL;
	EleSetClamp:BOOL;
	EleSetAngle1:BOOL;
	EleSetAngle2:BOOL;
END_STRUCT
END_TYPE

//InitState[1]=00;未初始化
//InitState[1]=01;初始化成功
//ClampState[1]=00;夹爪处于运动状态
//ClampState[1]=01;夹爪停止运动,且未检测到夹到物体
//ClampState[1]=02;夹爪停止运动,且检测到夹到物体
//ClampState[1]=03;夹爪检测到夹住物体后,发现物体掉落
//ErrState[1]=00;无故障
//ErrState[1]=04;过热
//ErrState[1]=08;过载
//ErrState[1]=11;过速
//AngleState[1]=00;运动中
//AngleState[1]=01;到达位置
//AngleState[1]=02;堵转

007:初始话结构体内数据

Ele1.ID:=2;
//写入
Ele1.Init[0]:=16#0100;Ele1.Init[1]:=16#00A5;
Ele1.SetTorque[0]:=16#0101;Ele1.SetTorque[1]:=40;//设置扭矩,20-100,默认40%
Ele1.SetPos[0]:=16#0103;Ele1.SetPos[1]:=1000;Ele1.SetPos[2]:=0;//设置位置,0-1000,
Ele1.SetPosSpeed[0]:=16#0104;Ele1.SetPosSpeed[1]:=50;//设置速度,1-100,默认50%
Ele1.SetAngleSpeed[0]:=16#0107;Ele1.SetAngleSpeed[1]:=50;//设置速度,1-100,默认50%
Ele1.SetAngleTorque[0]:=16#0108;Ele1.SetAngleTorque[1]:=40;//设置扭矩,20-100,默认40%
Ele1.SetAngle[0]:=16#0109;Ele1.SetAngle[1]:=90;Ele1.SetAngle[2]:=-90;//设置角度,-32000~~32000
//读取
Ele1.InitState[0]:=16#0200;
Ele1.ClampState[0]:=16#0201;
Ele1.CurAngle[0]:=16#0208;
Ele1.ErrState[0]:=16#0205;
Ele1.AngleState[0]:=16#020B;

008:编写通讯指令,开启RS485轮询

RS485轮询机制请参考RS485的讲解

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Envis_liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值