西门子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的运动控制功能
原来plc控制伺服电机这么简单!成功都是可以复制的!
新力川伺服电机 / 威纶触摸屏TP6071IP / QD70P8模块/QY42P
通讯线TK-Q 编程线USB-QC30R2
1、 伺服电机接线
(1) 驱动器主电路端子名称
(2)电源接线方式(有单相,三相,这里采用单相)
(3)伺服驱动器面板
(4)位置控制模式接线
CN3端子
CN3端子定义
位置控制所需的控制端子如上图所示,针脚号1、针脚号2需要接100Ω电阻。
三菱QD70P8模块端子定义
伺服驱动器与三菱PLC接线
注:引脚5和引脚22接输出Y,可以根据自己实际需要更改输出端子
PLC参数设置
轴1定位数据:选择定位结束,INC就是相对位置控制,其他参数可以根据自己需要设置,这里可以默认。
参数设置:一般直接默认设置就可以。
2、PLC程序
初始化设置先设置速度为2000,后面在人机界面可以自己调整
脉冲数转换:电机走一圈用的模组走5mm的距离
电机走一圈脉冲10000pulse,因此人机界面输入1mm,需要2000脉冲,距离是浮点数,因此需要用到浮点数相关指令。
ü FLT D152 D152将整型D152转换为浮点数
ü EMOVP E4 D152浮点数赋值
ü E* D152 E2000 D154 浮点数相乘
ü DINT D154 D156浮点数转为D156
ü TOP H1C K800 D27 K9
将D27开始的9个数据寄存器的数值存入模块的缓冲寄存器中,当模块安装在基板槽口0时,则选择H00,我是安装在第8槽口,输入输出从X1C0,Y1C0开始,因此为H1C,K800是轴1的缓冲数据寄存器,轴2为k900,以此类推,可接8个轴。
注意:程序中,运行形式和控制方式一定要写入,否则将报错。定位形式0,控制形式为2。
3、HMI对应程序
工作过程: 在速度、距离中输入数据,电机数据确认按钮,开启伺服ON按钮,锁住电机,再按下启动按钮,电机将按照设定的距离和速度动作。当电机出错,查找原因并按下报警清除按钮,清除报警。
电工学习网独家原创稿件,转载必须注明原文出处及原文链接,违者必究!
推荐阅读:三菱PLC控制伺服或步进电机的顺序控制思路, 请点击下面“了解更多 ”
相关问答
简易plc怎么编程?
1.编程简易PLC是可以的。2.因为简易PLC相对于复杂的PLC而言,功能较为简单,编程也相对容易上手。它通常具有简单的指令集和易于理解的编程界面,不需要过多的...
理论联系实际的第一步,电脑如何和PLC建立连接?
理论联系实际的第一步,如何电脑和PLC建立连接,这是学习PLC编程的第一步,把程序写入到PLC中、对程序进行监控都需要电脑和PLC进行通讯连接,这也是新手入门的第...
欧姆龙plc相对定位和绝对定位指令?
欧姆龙PLC在相对定位和绝对定位方面都有相应的指令。相对定位指令一般是指REL指令,它基于寄存器当前的值加上给定的偏移量进行定位,适用于在目标位置相对于当...
三菱PLC中的相对定位如何使用?
相对定位指令DDRVIk1000,k2000,Y0,Y4,意思是以2000的速度发1000个脉冲,脉冲输出点Y0,方向点Y4,D8140和D8141是当前的脉冲数,经过换算可以用来作为当前位...
三菱PLC定位指令的相关设置?
三菱PLC的定位指令包括绝对定位和相对定位两种。其中,绝对定位需要设置目标位置的绝对值,而相对定位则需要设置目标位置与当前位置之间的相对距离。在设置过程...
PLC程序结构怎么搭建,自动流程图怎么才能构思缜密没漏洞?
原图文请查看我头条号文章结合项目的实际情况,选用合适的程序设计结构,注意编程常用技巧,可以事半功倍。题图:西门子S7-1200PLC来源:EVERYPIXELPLC...过...
plc手动按钮怎么连接?
首先要搞明白,接触器相对PLC来讲是输出按钮式输入按钮比较简单,按钮一端与COM连接,另一端与输入点连接就可以了。接触器,就要看你用接触器的功率和电压了...
plc难度有多大?
1PLC相对于其他编程语言来说并不难学2因为PLC是一种图形化编程语言,不需要像其他编程语言那样需要掌握复杂的语法和编程思想。而且PLC的应用范围广泛,可以应...
如何实现PLC远程监控及远程调试?
如何实现PLC远程监控及远程调试?随着工业物联网的发展,作为设备厂家需要提供设备联网方案给到工业用户,需要对设备运行数据远程采集,对设备远程维护,实现高...
学习plc用哪个软件比较简单,如何下载?
各种品牌的PLC与其编程软件各有千秋,不同的PLC编程软件是不能通用的,比如日系的PLC编程软件只能用在及其品牌的PLC上应用,像三菱的GXWORKS2编程软件只能用在FX...
扫一扫微信交流