社区
C#
帖子详情
C# CANopen协议 伺服电机
evilive1104
2014-07-11 11:19:39
C#编程,通过串口发送命令给伺服电机带动伺服电机动作。因为牵扯到多台伺服协调,所以选用CAN总线控制,这样就要用到伺服电机设定地址,伺服本身自带地址设定的。新人,对这个不熟悉,求指点。求高人指导编程思想,怎么在编程里设置地址,根据地址发送命令
...全文
1540
11
打赏
收藏
C# CANopen协议 伺服电机
C#编程,通过串口发送命令给伺服电机带动伺服电机动作。因为牵扯到多台伺服协调,所以选用CAN总线控制,这样就要用到伺服电机设定地址,伺服本身自带地址设定的。新人,对这个不熟悉,求指点。求高人指导编程思想,怎么在编程里设置地址,根据地址发送命令
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
socg
2016-03-03
打赏
举报
回复
怎么又是串口又是CanBus?拓扑结构到底是怎样的? 无论那种,伺服电机都是需要单片机的,地址硬编码在单片机里作为区分设备的标识,串口没有规定地址,地址要自己在协议里规定,可以参考modlebus协议。Can总线标准帧地址为11位,最大0-2047
lccleo
2016-03-03
打赏
举报
回复
额 串口通信很简单 serialport类 但是 C#的can总线通信就不太懂了
city520boy
2016-02-23
打赏
举报
回复
大神论技术,牛啊牛
於黾
2014-07-14
打赏
举报
回复
你对串口通信完全不了解的话,我在这里说再多也没用,我又不知道你所谓的CAN协议到底是个什么格式 想求源码改都不用改,不现实. 至于所谓在程序中设定地址,其实就是动态拼接个byte数组,当指令send出去么 你想把命令发给谁,数组中在指定位置指定个Int就行了
於黾
2014-07-14
打赏
举报
回复
你先把一台设备玩明白了再想多台怎么弄吧 不会走就想跑? 操作多台,也不过就是在一台的基础上,加个数组来存这些地址罢了 至于数组是在程序里写死,还是可以用xml文件配置好了读取,就看你想怎么用了
villagedog
2014-07-14
打赏
举报
回复
网上找个C# 串口 源码,下载先看一下。
evilive1104
2014-07-14
打赏
举报
回复
引用 1 楼 Cnwanglin 的回复:
C# 做个界面 ->通过串口按照协议 发命令->伺服电机
这说了我还是不懂啊,新人,不知道具体怎么操作啊。。。能不能给个大致的代码?
happyw2004
2014-07-14
打赏
举报
回复
其实所有的一切归根结底都是数字,协议即是按照一定的格式拼接的一串数字,不同的位置代表不同的意思,比如MODBUS通信时有类似:01 03 02 00 01 00 02 XX XX ,这就是一个帧数据,代表地址01 ,03读寄存器,02代表有2个数据,00 01 00 02 为数据, 后面的XX XX代表前面数字的CRC值,这些数据可以是串口传输或者TCP传输,当然看你的硬件是如何的了。这是个例子,不清楚可以给我留言。
Cnwanglin
2014-07-14
打赏
举报
回复
留个邮箱给我
Cnwanglin
2014-07-14
打赏
举报
回复
我有串口代码的例子,可以发给你
Cnwanglin
2014-07-11
打赏
举报
回复
C# 做个界面 ->通过串口按照协议 发命令->伺服电机
台达
伺服电机
C#
上位机
自己编写上位机控制
伺服电机
动作,本代码中主要实现了位置控制模式和速度控制模式,其他模式也都类似,都是通过发送SDO报文来改写相应的对象字典就可以了。其中要注意1、主站的eds文件里面SDO,PDO等对象涉及到从站ID的都要相应调整,例如主站对象字典中索引1280,子索引1,为600+从站节点号,子索引2为580+从站节点号,这一步一定要设置好,可以在后续通过SDO改写主站对象字典的数值,也可以在导入eds文件前直接在文件里面修改好。2、从站(即伺服驱动器)的eds文件可以不导入,直接通过nodeID(本例中从站nodeid为3)来识别。3、本代码中选用的是研华的can
open
主站板卡,其他板卡也都类似。在进行伺服控制的时候都是通过发送报文来修改对象字典参数,因此直接通过can板卡发送报文也是可以实现的,只不过报文发送和读取的时候解析复杂一些。(本例子只是实现了部分核心功能,界面中有些控件功能暂未实现)
YZ-AIM_can
open
用户手册_v1_2.pdf
1. 隔离 CAN
OPEN
通信,符合 CiA301 V4.2.0 规范。 A. 支持 SDO,TPDO ,RPDO。 B. 支持速度模式,位置模式(轮廓模式,插补模式)。 C. 支持心跳生产和消费 2. 15 位绝对编码器,一圈脉冲高达 32768。 3. 多圈绝对值(需配电池)。脉冲模式:重新上电自动回断电位置。 通信模式:可断电记录位置。 4. 多级 DD 马达结构,大扭力输出。 5. 一体化伺服,简化接线,体积超小。 6. 低噪音,低振动,高速定位,高可靠性。 7. FOC 场定向矢量控制,支持位置/速度闭环。 8. 可工作在零滞后给定脉冲状态,跟随零滞后。 9. 16 位电子齿轮功能。 10. 提供 CAN
OPEN
上位机,可监测电机状态和修改参数。 11. 位置模式,支持脉冲+方向信号,编码器跟随 12. 速度模式,支持 PWM 占空比信号调速 13. 具有堵转,过流保护,过压保护。
C#
实现工业自动化运动控制技术详解
内容概要:本文详细介绍了在
C#
中实现运动控制的技术方法,主要包括基础运动控制概念(位置控制、速度控制、加速度控制)、
C#
中实现运动控制的基本方法(串口通信、以太网/TCP/IP通信、第三方运动控制库的使用)、常见的运动控制命令、常用的运动控制算法(S-Curve加减速控制、PID控制)、常见的运动控制设备(
伺服电机
、步进电机、机器人臂、直线滑轨)以及常用的运动控制
协议
(Modbus、EtherCAT、CAN
open
)。 适合人群:具备
C#
基础编程能力和工业自动化相关背景的研发人员、工程师和技术爱好者。 使用场景及目标:本文章主要适用于开发涉及运动控制的应用项目,比如机械臂、自动化设备和机器人等。目的是帮助读者掌握如何通过
C#
实现与运动控制设备的通信和控制,提高项目的精度和效率。 阅读建议:读者可以通过逐步学习文中提供的示例代码,结合实际设备进行实践操作,从而更好地理解和应用
C#
中的运动控制技术。
视觉码垛(Halcon)(DMC-E3032).rar
C#
+雷赛运动控制卡DMC-E3032+halcon视觉软件框架
固高三轴点胶机Demo不带视觉,内有固高资料
固高三轴点胶机Demo不带视觉,内有固高资料
C#
111,096
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章