西门子1200PLC位置控制的通用程序,一劳永逸
西门子1200PLC最多支持4路高速脉冲输出,可以控制四个步进或伺服电机,如果每个轴都调用一次运动控制值,编程工作量就会成倍的增加。那么有没有通用的程序可以一劳永逸呢,今天就介绍一下西门子1200PLC位置控制的通用程序,编写一个函数就可以实现多个轴的控制。
一、 编写运动控制函数
1. 添加函数块。双击“添加新块”、点击“函数块”、输入名称、编程语言LAD、“确定”;
图 1 新建函数块
2. 双击“位置控制”函数块,定义输入/输出变量;
图 2 定义输入输出变量
3. 添加运动控制指令。“指令”、“工艺”、“运动控制”、拖动MC_Power指令到编程区域,分配多重背景数据块,点击“确定”;
图 3 添加MC_Power指令
4. MC_Power分配变量;
图 4 MC_Power
5. 同样的方法添加MC_Reset确认故障指令;
图 5 MC_Reset
6. 添加MC_Home回原点指令;
图 6 MC_Home
7. 添加MC_Halt停止轴指令;
图 7 MC_Halt
8. 添加MC_MoveAbsolute绝对运动定位指令;
图 8 MC_MoveAbsolute_
9. 添加MC_MoveRelative相对运动定位指令;
图 9 MC_MoveRelative
10. 添加MC_Jog点动指令;
图 10 MC_Jog
11. 读取轴当前位置和当前运行速度;
图 11 读取当前位置和速度
二、主程序调用函数块
1. 双击“Main”,打开主程序,拖动“位置控制”到主程序编辑区,分配背景数据块,点击“确定”,完成函数块FB1的调用;
图 12 调用函数块
2. 分配控制命令和状态变量;
图 13 分配变量
三、 点动控制
1. 下载程序到PLC中,打开监控表,输入监控变量;
图 14 监控表
2. “正向点动”赋值1,旋转料库开始正向运行,“当前位置”开始累加,“当前速度”逐渐增大到设置的点动速度,“正向点动”清零即停止,“当前速度”降为零;
图 15 正向点动
3. “负向点动”赋值1,旋转料库开始负向运行,“当前位置”开始负累加,“当前速度”值逐渐增大到设置的点动速度,符号代表方向,“负向点动”清零即停止,“当前速度”降为零;
图 16 负向点动
四、 回原点
1. “回原点”赋值1,回原点模式为0(把当前位置设置为绝对零点),“当前位置”变为零,“回原点完成”有效,表示回零完成;
图 17 回原点
2. “回原点”清零,“回原点完成”清零,不影响绝对零点位置;
五、 相对运动控制
1. “相对运动距离”和“相对运动速度”赋值,注意速度的范围(在启停速度和最大速度之间),运动距离的符号代表方向;
图 18 设置相对运动参数
2. “相对运动触发”赋值1,上升沿触发指令执行,旋转料库按照设置的速度运动设置的距离“相对运动完成”有效时停止;
图 19 相对运动1
3. “相对运动触发”清零,重复以上步骤,每次都运动设定的距离;
图 20 相对运动2
六、绝对运动控制
1. 绝对运动控制之前先执行回原点,确定绝对零点位置;
2. “绝对运动目标位置”和“绝对运动速度”赋值,注意速度的范围(在启停速度和最大速度之间);
图 21 设置绝对运动参数
3. “绝对运动触发”赋值1,上升沿触发指令,旋转料库安装设置的速度运动到目标位置,“绝对运动完成”有效时停止,当前位置等于目标位置;
图 22 绝对运动1
4. 修改目标位置的值,重复以上步骤;
图 23 绝对运动2
通过以上步骤,创建一个通用的运动控制函数,在运动控制程序中调用此函数,分配对应的各轴相关的变量,就可以实现一劳永逸,大幅减少编程工作量。
本文由@豆豆牵着蜗牛在散步 原创,欢迎关注,帮您一起长知识!
西门子1200PLC 配置运动控制工艺,控制面板实现位置控制
西门子1200PLC的运动控制功能
采用FX3UPLC进行双轴联动控制实现五角星的绘制
关注“PLC发烧友 ”,一起涨知识!
回复:三菱全套 ,领三菱系列电子资料包!
思路设计
在做任何程序之间,建议大家最好先有个设计方案,打好草稿,这样对后面的编程工作很快也会比较顺利;首先我们看一下该案例会用到的思路。
我们把该五角星绘制设计为五条运行轨迹,如图所示,AB、BC、CD、DE、EA;在该示意图,我们也给大家做出了详细的分析与每条运行轨迹所要走的各自的距离,也就是XY 轴所要相配合走的运行距离。那么根据上面所述,我们的程序设计具体方案与思路就出来了。
PLC程序设计思路详解:
我们采用的是三菱FX3U的PLC,在该案例中 ,我们采用的双轴定位,具体程序指令使用的是DDRVI相对定位指令和M8029脉冲结束标志位的配合使用设计。
第一步: 按下启动按钮,同时启动X轴和Y轴进行运动控制,注意,这里的M8029因为可能会被多个指令共同调用使用,所以注意事项是必须把每一条动作的M8029动作条件都加到各自动作满足条件和每条定位指令的后面,这样才不会影响M8029的使用,对每个各自的独立动作也不会造成影响。
那么我们接着分析,上述两段程序完成了第一步,AB这条运行轨迹的走行,首先,X轴发了-400个脉冲代表向右走行了4cm,然后Y轴紧接着发了350个脉冲,代表向Y的上方向走行3.5cm;
参数计算,步进电机转一圈的脉冲数是400个脉冲,转一圈刚好行走4CM,所以我们可以算到一个脉冲为0.01cm,这里注意的是,我们必须确保XY轴走完行程的完成时间一样,所以按照这个速度完成时间我们把每个指令的脉冲频率和脉冲个数设置为一样,代表一秒走完。
第二步: 根据下一条BC运行轨迹看,Y轴不需要改变位置,只需要X轴向左行走4cm回到刚才的零点位置即可,所以很清晰的看到上面这段程序是通过上一个动作结束完成M101动作位激活了下一条运行指令的条件。
第三步: 当X轴走完BC行程以后,接下来要做的就是同时启动XY轴的下一步动作条件,来执行CD这个运行轨迹的动作完成,如上图程序所示,根据CD运行轨迹的分析,首先X轴先发-400个脉冲,向右先行驶4cm,紧接着Y轴发-350个脉冲进行回零。
第四步: 同样道理,利用各自上一步走完的脉冲结束标志位,激活DE的运行轨迹所需要走的距离,X轴先发200个脉冲向左行走2cm,然后Y轴发450个脉冲向Y轴上方行走4.5cm。
最后一步: 还是一样,根据上一次各自完成结束动作条件激活最后一步EA轨迹行走的动作条件,X轴继续发了200个秒冲向左行走2cm回到了零点,Y轴发了-450个脉冲做Y的下面方向走了4.5cm回到了零点位置;以上全部程序的完成动作设计完成。还要提示一下大家,为了程序的更合理性设计,给每一个动作条件都加一条停止动作的条件M1停止按钮,这样可以做到遇到紧急情况下按下该停止条件可以停掉所有的输出。
来源:技成培训网——PLC发烧友,作者:杨存世,未经授权不得转载!
相关问答
用三菱PLC怎样写俩个轴的程序?
不需要写程序.将编码器线接正确后,在PLC里访问对应的高速计数器就可以了.也就是说,只要接线正确,转动编码器,PLC里的高速计数器值就应该有变化.不需要写程序...
推荐一款三菱plc加伺服驱动方案,做两轴联动直线插补,有什么好的方案?
感谢邀请!从经济可靠方面来说FX5U系列的是最划算的,因为它本身自带的高速脉冲输出,支持直线插补。使用Q系列要用加QD75系列定位模块,FX3系列PLC自带的高速...
使用两台伺服马达带动两轴同步,可以么?
最简单的方法是用运动控制卡或者带插补功能的plc,做两轴插补运动,那么两个轴做的都是正弦曲线。用其中一个轴的脉冲去控制该电机即可。最简单的方法是用运动...
请教高手PLC编程的技术,要写一个带有机械手的4轴运动控制设备,其他的都准备好了,就是不知道怎么开始写?
建议在编程前先编制一个流程图,越详细越好,流程图需要进行反复的修改,只要流动图编制的好,编程就变的很简单了。建议在编程前先编制一个流程图,越详细越好,流...
plc模块化编程的步骤和方法?
方法/步骤1、第一步:打开GXWorks2软件,新建程序,选择你的PLC型号,然后请选择程序语言为SFC,点击确定,跳出块信息设置。标题不填写,块类型选择梯形图块,...
plc轴是什么?
plc轴是数控系统中,通过PLC程序控制的轴,如部分刀库轴。数控系统是数字控制系统的简称,英文名称为(NumericalControlSystem),根据计算机存储器中存储的控...
FX5UPLC可以带5个轴吗?
FX5UPLC可以带多个轴,具体带轴数量取决于不同的方式和扩展模块。FX5U内置4路高速脉冲输出,最大频率达到200kHz,可以带4路脉冲轴。通过内置以太网支...FX...
施耐德都有什么系列的PLC?都有什么编程软件?-ZOL问答
施耐德都有什么系列的PLC?都有什么编程软件?施耐德施耐德PLC主要有以下系列:1、NEZAPLC(TSX08系列)2、QuantumPLC(140系列)3、MicroPLC(TSX...
plc与六轴机器人的区别?
工业机器人控制系统一般是由厂家直接研发的,6轴的同时控制应该是比较难的了,主要在软件算法这块难.PLC强项在于控制开关量和少量的模拟量,想要用PLC来控制6轴...
plc轴数代表什么意思?
答:轴是一种虚拟的概念,比如PLc本机自带的高速脉冲输出,编码器,远程的驱动器等,他们具有一些相同的特性(速度,位置等等),可以用相同的方法(相对运动,...答:轴...