作者wisdom ()
看板Mechanical
标题Re: [心得] PLC 过往工作及最近面试
时间Sat Oct 21 21:09:01 2017
既然有人愿意讨论,良性的讨论是值得深入的
不过我想先讲个前提,伺服系统各家有各家的演算法则
虽然万法不离其宗,最终仍是回到PID的演算。但PID演算的细节各家有各家的玩法
不光是每个厂商自己的PID演算会有差异,同一家产品不同系列就不尽相同
而开放调整的参数更是影响到使用者能调整的范围跟程度。
所以虽然原则不变,但细节差异甚大
※ 引述《snaken (snaken)》之铭言:
: 标题: Re: [心得] PLC 过往工作及最近面试
: 时间: Sat Oct 21 01:31:30 2017
:
: 难得有人想要讨论这一个问题,这边也来分享一下小弟的看法。
:
:
:
:
: 其实在伺服控制里面,控制脉波与编码器回授脉波两者是有关系的
:
: 在位置环控制中的第一件事就是
:
: (控制脉波) x (某个倍率) - (编码器回授) = deltaP
:
: dP 之後才开始处理位置增益之後的速度环、电流环
:
: 这个不知所以然的 (某个倍率)被某个伟大的前辈构思出了 "电子齿轮比" 这个概念
:
: 这东西的目标,其实就是希望使用者把这个值後面的东西都当作一个黑盒子
如果我没有理解错
大大的意思是
控制命令(setpoint)- 回授位置(feedback pos) = 位置误差(position error)
这是位置控制回路(position control loop) 的第一步
有了位置误差以後(P.E.,对应大大文中的DP),就可以丢入PID演算去做後面那段"黑盒子"
如果这个说法符合的话,我就不同意"某个倍率"这件事了
因为这里的"某个倍率"其实指的就是电子齿轮比
并不是先有位置回路的"某个倍率",才有电子齿轮比
而是先创造出了"电子齿轮比",才有了"某个倍率"这件事
位置回路的开头,就是把目标位置-实际位置 ,得到位置误差,
以位置误差作为PID演算的基本参数
而因为引入了电子齿轮比这个参数
才会造成命令位置必须是"脉波命令"x"某个倍率"
这个"某个倍率"就是电子齿轮比
大大的说法是倒果为因了
更仔细的解释的话
命令位置 = 脉波命令 x 电子齿轮比
在最原始的控制时,如果没有电子齿轮比
那麽命令位置就等於脉波命令,
所以命令位置 = 脉波命令 = 编码器回授
是因为导入了电子齿轮比,才使得命令位置与脉波命令之间多了一个倍率关系
而这个倍率就是电子齿轮比。
:
: 毕竟大家是用伺服的人,不是开发伺服的人,把自己的人生搞那麽复杂做甚麽呢?
:
: 以现状来说,我们通常就是跟客户讲说:
:
: 阿你就看马达转一圈,载台走多少填进去就对了
: (对不起我们就是那种乱教的人....)
:
: 然後默默的三菱还真的设计了参数只要填螺距一个参数即可....
:
: 我也不是没有遇过真的有兴趣想学想了解的客户,反正讲清楚一点也不花多少时间
:
: 但大家身在这个行业应该也了解,不是每个人都这麽有慧根
:
这是事实,不过我一直认为,造成了使用者不求甚解的原因,设备制造商也是共业
长久以来,伺服制造商把"黑盒子"包得死死得不让使用者一窥究竟
使用者就被教育成不必去理解内部演算在做什麽的观念,反正会使用就好
说得更明白一点,对,就是你,日系的设备商。
相对的如果看欧系的伺服系统,说明书里大多都把整个控制回路都解释得很清楚
包含每个参数的控制模型跟演算法,说明书里大多解释得很清楚
但台湾因为受到日本设备长时间的影响(加上阅读英文的障碍)
所以就算有说明书,愿意看的人也是蓼蓼无几...
:
:
:
:
:
:
:
: 顺便附带说明,编码器解析度拉高,其实对於位置控制的精确度提升是非常有限的
:
: 讲白点,你要控制一组滑台系统走出1um,最大重点之一是机构要够力
:
: 难道真的有人为以为买了一只20bit (1,048,576)的马达,配上1mm的螺杆
:
: 可以做出1nm的控制?
这里我可以理解。其实更深入来说,编码器解析度跟精度是两件事
编码器本身也有精度,而精度并不等於解析度
用旋转编码器解释太麻烦,直接用光学尺来说明
光学尺解析度譬如是1um好了,精度不会是1um。解析只是解析,
它从来没跟你说每一个脉波不会有误差,这一次你读到十个脉波,跟下一次读到十个脉波
实际位置并不见得是一样的
不过解析度跟精度之间的关系,比较像是天花板的关系
没有解析度就没有精度 (但有解析度不代表有精度)
一个解析度1um的编码器,"控制精度"理论上的极限就是+- 1um
意思是你能看到在Inpos後,编码器永远只正负跳一个脉波,这是控制的极限
但完全不代表最终精度就会有1um,这跟编码器本身的精度、还有机构有相关
而机构永远才是限制一套系统能达到多少精度的最根本原因
控制精度早就远远远远超过人类能制造出的机构精度条件了
控制精度要压在0.1um以下,以目前的技术来说根本一块蛋糕
但是机构要能达到这个条件... 很拼啊
或是换句话说,你给我一套解析度到0.1um的编码器+马达
我可以很轻易的控制马达往前走0.1um,并用编码器的回授讯号证明给你看
但实际上机构有没有动?动了多少? 这我就无能为力了
:
: 编码器的解析度提升,主要的功能在於速度环频宽的拉高。
:
: 用白话点来说就是这个马达加速更有力,更有贴背感(!?)
:
: 目标速度再快都可以追得上!
:
虽然不能说你错,但实际上还真的不是这样
编码器解析度增加,的确跟控制回路的频宽有关,
但限制控制频宽的一直都不是编码器解析度,而是伺服系统本身的性能限制
还有机构条件 (一样的,机构才是真正的原因)
一套由0.5kw伺服构成的小型系统,频宽(band width)能拉到300Hz已经是惊为天人了
你怎麽会认为是编码器解析度造成系统频宽拉不上去的?
而频宽影响的也不是加速
影响马达加速能力的是马达转矩/推力
F = MA,牛顿第二运动定律不要忘了(转动系统的话,角加速度 = 转动惯量 x 转矩)
频宽影响的是系统的响应性,反应在结果上,影响的是追随性跟精度表现
编码器解析度的提升,首要目标还是要提高精度表现
虽然前面说,高解析度不等於高精度,但低解析度保证等於低精度
:
:
:
:
: 位置控制的精度要拉高,其实到位区间(Inpos)的影响远远大於其他任何参数
其实我不懂这句意思,可以更仔细解释吗?
:
: 而杂讯影响又远远大於一切
:
: 这时通讯型的好处就出来了,通讯基本上可以当作是一个完全没有杂讯的东西
:
: 但在初期(大约十来年前),RT通讯不像现在暴力,所以通讯型的伺服反而比较慢
:
: 因为那个年代的通讯时间可能只有10ms才给一次封包
:
: 对於需要高速变换动作的机台而言,这个东西显得不是很够力
:
: 其实一直到这几年,比较精确地讲应该是 Mechalink2 / SSCnet / EtherCAT之後
:
: 大家把通讯时间一鼓作气缩到1ms以下,通讯型才在高阶伺服站稳脚步
:
: 不然以前高阶都还是DSP 轴卡做全闭回路控制的天下。
:
我不懂杂讯跟通讯型之间的关系在哪?只要是数位式,理论上抗杂讯能力就可以控制得很好
而传统的脉波,其实本身就是数位讯号,差别只在掉脉波的话没人知道
通讯型保证不会掉资料就是了(会有纠错机制)
要说杂讯影响的话,指的应该是更早期的类比伺服,这种伺服的回授是类比式
编码器(是不是能叫做编码器我也不确定)本身是一颗发电机
马达旋转产生电压回授,其回授的物理意义是速度值(转速跟电压有比例关系)
这种回授很容易受到干扰影响。不知道多久以前就已经不使用了
:
:
: 科技进步本来就是要减少脑力消耗,这些控制元件以後一定也会越来越无脑好用
:
: 电控人的精力就可以专注在其他更有价值的事情上!
:
:
:
:
:
:
: ※ 引述《wisdom ()》之铭言:
: : : 推 syatoyan: 诚心发问 为什麽电子齿轮比害人不浅? 10/09 05:46
: : : → syatoyan: 靠调整电子齿轮比 可以藉由较高的回授脉波数 得到更精准 10/09 05:47
: : : → syatoyan: 的误差 不是可以做更精准的误差修正吗? 10/09 05:48
: : : → syatoyan: 还是说 那样得到的误差值其实是假的 实际误差还是以 10/09 05:49
: : : → syatoyan: 编码器的规格为基准? 10/09 05:50
: : : → syatoyan: 可是使用者却认为有电子齿轮比 所以我只要以最低阶的 10/09 05:51
: : : → syatoyan: 所以造成 只要使用最低阶的编码器 + 电子齿轮比设定 10/09 05:54
: : : → syatoyan: 也可以做到误差0.1mm的精准控制 这种错觉? 10/09 05:54
: : : → syatoyan: 弱弱的推测是不是这样的现象 所以电子齿轮比不好? 10/09 05:55
: : 你的观念有误,这是我说电子齿轮比害人不浅的原因之一
: : 电子齿轮比的存在原因
: : 是因为编码器解析度越来越高,使用者需求的马达转速增加
: : 但脉波发送/接收模组的反应速度跟不上造成的
: : 我们举个例子,为求容易理解 & 计算方便,我用非真实数据来解释
: : 假设编码器解析度是 360 inc/rev,意即马达每转一度,编码器可以输出一个讯号
: : (这里我不用"脉波",是因为很多人又会被编码器脉波跟控制脉波搞混)
: : 换句话说,编码器的解析度是 1度,那麽这个伺服系统能达到的理论控制精度也就是1度
: : 理论控制精度有两个函义
: : 1. 你能控制马达往前/後转1度。
: : 2. 定位精度极限理论上是 +- 1度
: : 接下来,我们要把脉波控制跟编码器"脉波"混在一起讲了
: : 理论上,以pulse chain作为控制命令,一个控制脉波 = 一个编码器脉波
: : 也就是说,驱动器接收到一个脉波,会控制马达转一个编码器单位
: : 以这里的例子,就是转1度。
: : 请注意,在这里的例子里,你是无法控制马达转0.5度或任何小於1度的角度
: : 假设你希望马达每秒转10圈(10rps = 600rpm)
: : 意即你要控制脉波输出10 x 360 = 3600 Hz
: : 再假设,你使用的脉波输出模组,最高的输出频率只有2k Hz(先别管哪来这麽烂的模组)
: : 换句话说,在这套系统里,你无法得到你要的目标转速
: : 於是聪明的制造商,就引入了电子齿轮比这个参数
: : 电子齿轮比让控制脉波 = 编码器脉波 x 电子齿轮比
: : 换句话说,如果电子齿轮比设成 2
: : 一个控制脉波,驱动器会让马达转 2度
: : 这样的话,只要1800Hz的脉波频率,就能让马达达到600rpm的转速
: : 不改变任何硬体条件的前提下,立刻解决这个问题。
: : 请留意,这才是电子齿轮比最初设计出来的初衷,
: : 只是为了解决脉波产生/接收模组的反应速度不够快的问题而已。
: : 而使用电子齿轮比会造成一个根本问题,就是你的控制精度直接下降
: : 以上面的例子,你最小只能控制马达一次转2度,控制精度会下降
: : 意即你只能控制马达走0、2、4..... 这些角度,命令无法给1、3、5.....这些度数
: : (当然定位精度不会改变,一样是 +- 1度。)
: : 所以现在所有电子齿轮比的延伸应用
: : 包含用来将减速比、螺杆导程计算後导入电子齿轮比
: : 让PLC的控制单位 = 机构单位,这种作法看似让应用变得方便了
: : 实际上并不是正确的使用。
: : 而业界不仅是大教特教这种用法,还出书教你怎麽算
: : 几乎工控人都把这套方法当成圣经不容挑战了....
: : 当然很多人会说,编码器解析度这麽高,换算到螺杆精度後,
: : 一个编码器解析度可能是1nm,我只需要1um的控制就好,
: : 何必管设定电子齿轮比後造成的控制精度下降? 不影响使用啊
: : 这我同意,这也是电子齿轮比在应用上,这麽多年来也没有人有意见的原因。
: : 不过我说的害人不浅,不完全是应用上不合理,其实稍微不那麽低阶的驱动器
: : 都可以让你设定减速比跟螺杆导程,驱动器内部会自动帮你换算
: : 但因为根深蒂固长久以来的使用习惯,太多人已经宁愿就他原本那套电子齿轮比
: : 算好丢一个参数进去就好,也不愿意去使用正确的参数设定。此其一
: : 再者是,控制脉波跟编码器回授脉波,本质上两者是没有关系的
: : 只是在控制上,一开始为求最大控制精度
: : 自然会让控制脉波跟回授脉波 = 1:1
: : 电子齿轮比的引入,造成为数不少的工控人对这两者产生误解
: : 错误观念一久,就很难改了。
: : 很多人真的以为,控制命令(脉波),跟编码器回授(脉波),两者一定要有一个比例关系
: : 当使用到比较进阶的系统时,反而一直纠结在控制命令的问题上
: : 结论
: : 1. 电子齿轮比的使用会导致控制精度下降
: : 2. 没搞懂电子齿轮比的使用者一大票
: : 3. 搞懂但被电子齿轮比这个观念限制住的使用者又是一大票
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.164.140.184
: ※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Mechanical/M.1508520692.A.EC8.html
: 推 GOFEN: U文 10/21 01:36
: 推 b2481: 推,好文!! 10/21 02:05
: → b2481: 但是为什麽解析度提高 能提高速度回路频宽? 有点难理解 10/21 02:06
: 推 duser: 受益良多,希望这系列文章能继续讨论下去 10/21 02:14
: 推 nfs258147: 解析度提高>代表更能掌握物体真实的状态 10/21 07:59
: 推 nfs258147: 假设有一个编码器,它每圈只能输出一个pulse、代表它只 10/21 08:07
: → nfs258147: 有侦测一圈以上的能力。如果马达以正负30度高速来回运 10/21 08:07
: → nfs258147: 转,则这颗编码器完全不知道发生什麽事。接着再想看看 10/21 08:07
: → nfs258147: ,如果换一颗解析度更高的编码器会怎样? 10/21 08:07
: → nfs258147: 不知道这样讲对不对 10/21 08:08
: 推 nfs258147: 当你越清楚一个人,你越会知道他会怎麽跑XD 10/21 08:10
: 推 nfs258147: 但我也很推Snaken的观念。在这个时代要学的事太多,必 10/21 08:14
: → nfs258147: 须站在巨人的肩膀上才能思考更多重要的事。电子齿轮比 10/21 08:14
: → nfs258147: 也许会让控制精度会下降,但依据80/20法则,它可以满 10/21 08:14
: → nfs258147: 足80%没那麽要求的场合了。 10/21 08:14
: 推 nfs258147: 以前我都会纠正客户。但後来发现,让他们能会去运用比 10/21 08:17
: → nfs258147: 较重要(即使是有一点错误的观念),因为他们真的不在 10/21 08:17
: → nfs258147: 意事情的正确性;而且纠正客户,常常不会有好下场。 10/21 08:17
: 推 sony0955: 希望可以有更多讨论 谢! 10/21 09:23
: → snaken: 非常同意nfs的看法 10/21 09:31
: → snaken: 顺便更正一下,现在的伺服,其实编码器不回传脉波 10/21 10:01
: → snaken: 驱动器事实上也是透过通讯读取encoder的值 10/21 10:02
: → snaken: 所以driver上面的"编码器ABZ输出" 10/21 10:02
: → snaken: 事实上也是"电子齿轮比" 处理过的结果喔 :) 10/21 10:03
并不完全是这样的
现在的编码器的确有纯通讯型的,但其实多但是在比较中低阶的系统上使用
因为纯通讯的取样周期还是很长,不像纯脉波讯号,取样频率可以拉到很高
而中高阶的系统,其实会搭配通讯跟脉波回授
在绝对式编码系统上,会使用通讯来回传绝对位置,但丢ABZ讯号来读取精确位置
这样做可以兼顾绝对位置 & 高解析度需求
但在增量式系统上,通讯其实反而是鸡肋,主流还是纯ABZ丢脉波回授
这可以看目前的光学尺,增量式讯号都还在ABZ(或Sin/Cos)可见一斑
: → Kayusumi: 解析度拉高 低转速控的比较稳 10/21 13:51
以目前的编码器解析度来说,低速控制不稳真的跟解析度无关
单纯驱动器的控制能力问题而已
: 推 nfs258147: Snaken大,谢谢分享!以前都只是会用而已,没想到背後 10/21 13:55
: → nfs258147: 有这些故事 10/21 13:55
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.253.204.1
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Mechanical/M.1508591345.A.015.html
1F:推 vul3so4: 推分享 10/22 01:29
2F:推 Simonfenix: 感谢分享 10/22 10:55
3F:推 wang1234: 推一个 很多东西都已经还给指导教授了 这几篇又让我开 10/22 17:35
4F:→ wang1234: 始回忆思考了 10/22 17:35
5F:推 ts02998549: 推~谢谢分享 10/22 17:49
6F:推 b2481: 到位区间(Inpos)是指实际位置在目标位置的某个范围内,即视 10/23 07:10
7F:→ b2481: 维到达目标位置,那段应该是指说到位区间越窄,控制精度越高? 10/23 07:10
8F:→ b2481: 到位区间变窄,的确可提高马达精度,但不确定是不是主要因素 10/23 07:12
9F:→ wisdom: 我理解一下,意思是position window越小(这其实是一个参 10/23 09:07
10F:→ wisdom: 数设定,用来规范伺服送出到位讯号的时机),定位精度越高 10/23 09:07
11F:→ wisdom: 。 我只能说这又倒果为因了,实际上一套伺服能达到的整 10/23 09:08
12F:→ wisdom: 定精度。,在系统设置好之後就已经决定了。如果本身的整定 10/23 09:08
13F:→ wisdom: 精度只有1um,你把position window设到0.1,整定精度也不 10/23 09:08
14F:→ wisdom: 会变0.1,只是会永远送不出到位讯号而已。所以不存在inpos 10/23 09:08
15F:→ wisdom: 设定影响整定精度的理由。你顶多说,如果把到位区间放很大 10/23 09:08
16F:→ wisdom: ,系统可以很早送出到位讯号而已。 10/23 09:08
17F:推 tyc5116: 本篇正解,不过电子齿轮比归电子齿轮比,那个所谓的"某个倍 10/23 12:06
18F:→ tyc5116: 率",容易联想到速度回路的kp 10/23 12:06
19F:推 b2481: 理解w大的意思,感觉精度这个词词涵盖意义太广,所以有些误 10/23 13:06
20F:→ b2481: 解,到位区间比较类似容许误差 10/23 13:07