在设置参数之前先确认了解如下参数:1.系统中要求末端工作台移动最大速度。2.系统中伺服电机和工作台之间连接的传动比。3.系统中末端传动装置每圈末端位移量。(如果末端是丝杆的话就是丝杆的螺距)4.系统中伺服电机的编码器分辨率。(以台达为例:B2系列为160000分辨率、A2系列为1280000分辨率。其他的请参照伺服手册说明。)5.伺服电机的最高转速。(参照手册说明)6.系统中PLC控制器最大输出脉冲pl。(以台达EH3控制器为例最高输出频率为200000hz,即200Khz)在了解了以上参数后,即可开始计算所要设置的电机每圈脉冲数。算出的每圈脉冲数和设置的电子齿轮比必须满足以下几个条件,否则某些控制无意义:1.满足系统要求的最大末端速度。2.满足系统中控制器能输出的最大速度,就是计算后的最大控制频率不能超过PLC的最大输出频率。3.满足伺服电机最高转速。计算电子齿轮比举例说明:台达EH3系列PLC、B2系列伺服、机械减速传动比为10:1、要求最大末端速度45mm/s、末端丝杆的螺距为10mm每圈。根据如下步骤计算:1.首先要做的是算出电机转1圈末端装置能位移多少距离。计算公式:螺距/传动比电机每圈位移=10mm/(10/1)=1mm/圈现在知道了电机转1圈末端位移1mm。2.再计算满足最大末端速度的电机速度是否能够满足。计算公式:最大速度/电机每圈位移量要求电机最大速度=(45mm/s)/(1mm/r)=45r/s即:45*60s=2700r/min假如伺服电机的最大速度为3000r/min的话,系统45mm/s的最大速度就能满足要求。如果是1500r/min的电机的话就不能满足最大末端速度的要求。此时就要想办法降低机械传动比。3.计算电机每圈所要求控制脉冲速度上限。系统要求电机最大的速度为45转/秒,计算公式:PLC最大输出脉冲速度/电机要求的最大秒转速满足最大末端速度时的最大每圈电机脉冲数=(200000P/s)/(45r/s)=4444P/r(4444个脉冲/圈)所以设置的电机每圈控制脉冲要小于4444个脉冲即可。4.准确的确认电机每圈脉冲数和设置伺服驱动器的电子齿轮比。先假设每圈电机控制脉冲为3500个,B2伺服的设置公式为:伺服电机编码器分辨率/假设的每圈控制脉冲数电子齿轮比=160000/3500=45.7142A2伺服的设置公式为:伺服电机编码器分辨率/假设的每圈控制脉冲数电子齿轮比=1280000/3500=365.7142特别注意的是如果计算出的电子齿轮比尽量不要是小数,如果非的是小数的话就一定要在小数后的2位数除尽。否则控制精度不能满足要求。所以一定要选择一个能进行整除的数据作为电机每圈的控制脉冲数,现在选择4000作为电机每圈所需要的控制脉冲数。计算公式为:B2系列:160000/4000=40设置电子齿轮比分母为40,分子为1即可,或者分母为400,分子为10也行。(40除以1=40,400除以10也等于40所以是一样的效果)A2系列:1280000/4000=320设置电子齿轮比分母为320,分钟为1即可,或者分母为3200,分子为10也行。此时电子齿轮比就正确的设置完成了,要验证是否能满足要求的话就反回去计算各个条件是否能满足要求。(有点像数学题求解后返回去验证一样的)1.验证最高控制脉冲是否小于PLC硬件最高输出脉冲:4000脉冲每转*45转每秒=180000脉冲每秒(180KP/s)最高输出控制控制脉冲180k小于硬件最高输出脉冲200K,满足PLC脉冲输出速度要求。如果算成5000个脉冲每圈的话最高控制脉冲就是5000*45=225000P/s超过了PLC最高输出脉冲就u不行了。2.验证控制末端最高速度大于系统要求的最大末端速度:200000脉冲每秒/4000脉冲每圈=50圈每秒控制脉冲为200k时的最高电机速度为50圈每秒,50*60的话刚好达到电机的最高转速3000转每分钟。根据末端最高速度算出电机的转速为45r/s,45*60即最高2700转每分钟,所以能控制的最高末端转速3000r/min大于标定的2700r/min。所以也满足要求。3.验证电机最高额定转速大于系统要求的最高末端位移时的转速:要求的末端速度算出的电机速度为2700转每分钟,而电机的转速为3000转每分钟。所以满足要求。如果是2000转的电机的话就不满足要求了。最后总结一下:1.系统中要想提高末端速度的话就得减小机械的传动比,要想提高控制精度的话就得加大机械传动比,并适当的提高每圈电机控制脉冲。2.系统中如果要求精度不是很高的话,电机脉冲尽量设置为10的倍数,比如100、1000、10000、100000.因为设置为这种电机控制脉冲数的话在系统中做程序就很方便了,不需要在去用浮点数计算电机需要走的目标脉冲数和目标速度脉冲。可以大大的减少程序量。设置的时候直接在触摸屏中用32位整数来设置就可以了,然后用触摸屏显示小数即可。3.如果做程序用的是步进指令来进行定位的话,教大家一个方法。就是在进入步进当用定位指令ddrvi目标位置用寄存器或者ddrva目标位置用寄存器时尽量不要用脉冲发送完成标志作为跳出步进的条件。因为可能发生ddrvi时寄存器数据为0,此时可使用发送完成标志的上升沿和比较相对定位目标位置为0时都做为跳出此步进。ddrva绝对定位时比如使用ddrvad500d502y0y1指令定位时,就只用比较当前位置为目标位置作为跳出步进的条件,dld=d1336d500作为条件,这样做是为了防止当前伺服位置等于绝对定位目标位置时,脉冲发送完成标志如m1029就不会触发所造成的跳不出步进的的情况发送。