搜索
楼主: cn_young

关于运动控制器的疑问

    [复制链接]
  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:15
发表于 2018-3-19 09:47:34 | 显示全部楼层
本帖最后由 数字液压 于 2018-3-19 14:33 编辑
蜻蜓 发表于 2018-3-19 07:54
我看到别人用单片机做伺服控制器,用c语言编程,用单片机系统怎么样,有什么优缺点?有没有用过的朋友给解 ...

这种方法肯定可行,因为现在的很多伺服控制器都是类似单片机的嵌入式系统通过C或类似编程语言开发的。最大的不同点应该是专业的伺服控制器通过多年的积累,能够在不同的应用场合利用已经嵌入到系统中的不同控制策略和算法,让用户短时间达到目标要求,而相对于自己开发的系统,需要能短时间写出适合的算法,还是有一定挑战的。
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
发表于 2018-3-19 09:49:37 | 显示全部楼层
研究已经完成。

使用嵌入式控制器的优点在于性能,但编写C代码的成本需要分布在许多控制器上以降低成本。

液压运动控制器的制造商用C语言编写代码。用户仍然使用阶梯或结构化文本来告诉运动控制器该做什么。

98%的程序完成。 它在固件中

The research has been done.

The advantages of using embedded controllers is in performance but the cost of writing C code needs to be spread over many controllers to be cost efficient.

The manufacturers of hydraulic motion controller write code in C.  The user still uses ladder or structured text to tell the motion controllers what to do.

98% of the program is done.   It is in the firmware.

回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:3
发表于 2018-3-19 11:20:06 | 显示全部楼层
谢谢各位老师解答,我是在学校看到的老师和学生在做单片机控制。
回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:15
发表于 2018-3-19 14:39:42 | 显示全部楼层
本帖最后由 数字液压 于 2018-3-19 14:42 编辑

Pen提到的阶梯或结构化文本应该说的是IEC61131的国际标准,基本现在的PLC都是基于这个标准编程,运动控制器包括工程机械控制等很多也都使用了这个标准。它比使用C进行应用编程效率高很多,C更适合底层开发编程。
回复 支持 反对

使用道具 举报

  • 打卡等级:伴坛终老
  • 打卡总天数:1702
  • 打卡总奖励:5759
发表于 2018-3-19 15:08:58 | 显示全部楼层
数字液压 发表于 2018-3-19 14:39
Pen提到的阶梯或结构化文本应该说的是IEC61131的国际标准,基本现在的PLC都是基于这个标准编程,运动控制器 ...

但是很多PLC也支持C,你说的效率高指的是运行效率?
回复 支持 反对

使用道具 举报

  • 打卡等级:伴坛终老
  • 打卡总天数:1702
  • 打卡总奖励:5759
发表于 2018-3-19 15:13:42 | 显示全部楼层
很多公司控制器支持Matlab接口,算法和仿真可以通过Malab去搭建完成,不需要高级语言编程和自己写算法
回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:15
发表于 2018-3-19 15:55:51 | 显示全部楼层
back2049 发表于 2018-3-19 15:08
但是很多PLC也支持C,你说的效率高指的是运行效率?

我指的是采用IEC61131对于用户编程而言的效率比采用C一行行代码写要高。
回复 支持 反对

使用道具 举报

  • 打卡等级:伴坛终老
  • 打卡总天数:1702
  • 打卡总奖励:5759
发表于 2018-3-19 20:07:37 | 显示全部楼层
数字液压 发表于 2018-3-19 15:55
我指的是采用IEC61131对于用户编程而言的效率比采用C一行行代码写要高。

C语言效率很高,关键看人,我以前公司控制器支持IEC61131全部五种语言,还支持C,项目从国内国外基本都是用C来做功能块和库。
回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:15
发表于 2018-3-19 22:32:25 | 显示全部楼层
back2049 发表于 2018-3-19 20:07
C语言效率很高,关键看人,我以前公司控制器支持IEC61131全部五种语言,还支持C,项目从国内国外基本都是用 ...

看编程习惯吧,我更喜欢类似汇编的ST,但内置的例如PID功能块以前自己写,现在很少再这么做了。
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
发表于 2018-3-20 01:15:43 | 显示全部楼层
RMC用户程序使用ST编写。 ST代码用于状态机。
整个程序可以很少重复使用或修改。
程序可以从项目导入和导出。
动作命令内置固件,因此不需要自己写。
RMC是多任务处理,所以很多程序可以同时运行或异步运行。

RMC和其他产品的不同之处在于,我们的状态机保证与运动控制器的扫描速率同步运行,每毫秒或半毫秒。 这简化了编程,并使执行变得更加简单。 PLC扫描时间不尽相同。

并非所有的PID都是相同的。 许多PLC只有一个PID。 它可能不适合液压伺服运动应用。

The RMC user programs are written in ST.  The ST code is used in a state machine.
Whole programs can be reused with little or modification.
Programs can be imported and exported from projects.
The motion commands are built in firmware so there is no need to write them yourself.
The RMC is multi-tasking so many programs can run at the same time or asynchronously.

What is different between the RMCs and other products is that our state machine is guaranteed to run every millisecond or half millisecond synchronously with the motion controller's scan rate.  This simplifies programming and makes execution deteriministic.  PLC scan times vary.

Not all PIDs are the same.  Many PLCs have only one PID.  It may not be right for hydraulic servo motion applications.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则