大寰电爪PLC的RS485通讯控制

本文详细介绍了如何配置PC端USB串口与大寰电爪通信,包括RS485通讯模块、ModbusRTU协议、数据结构的编写,以及PLC中的参数调整,以进行有效的数据传输和轮询机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的讲解

资源下载链接为: https://pan.quark.cn/s/ddc62c5d4a5d Windows Mobile 是微软在 0200 年代至 2010 年代初推出的移动操作系统,曾广泛应用于智能手机和平板脑。开发者可以借助各种库和框架为其开发功能丰富的应用,其中 “32feet.NET” 是一个开源的 .NET 库,专为 .NET Framework 和 .NET Compact Framework 提供蓝牙开发支持。它包含多个命名空间,例如 InTheHand.Devices.Bluetooth、InTheHand.Net.Personal 和 InTheHand.Phone.Bluetooth,用于实现蓝牙设备交互功能。 InTheHand.Devices.Bluetooth 命名空间用于执行基础蓝牙操作,比如扫描附近设备、建立连接以及发现蓝牙服务等。InTheHand.Net.Personal 提供了更高级的功能,例如创建个人区域网络(PAN)、文件传输和串行端口模拟,便于开发者开发跨设备的数据共享应用。而 InTheHand.Phone.Bluetooth 主要针对 Windows Phone 平台,支持蓝牙配对、消息收发和蓝牙耳机控制等功能,不过由于 Windows Mobile 已停止更新,该命名空间更多适用于旧设备或项目。 压缩包中的文件列表看似是维基页面的渲染文件,可能是关于 32feet.NET 的使用教程、API 参考或示例代码。文件名如 13632.html、563803.html 等可能是页面 ID,涵盖蓝牙设备搜索、连接和数据传输等不同主题。 使用 32feet.NET 进行蓝牙开发时,开发者需要注意以下几点:首先,确保开发环境已安装 .NET Framework 或 .NET Compact Framework,以及 32feet.NET
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Envis_liu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值