西门子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控制伺服或步进电机的顺序控制思路, 请点击下面“了解更多 ”
相关问答
西门子300plc怎么编程4乘以8矩阵?
关于西门子300PLC编程4乘8矩阵,可以这样实现:1.定义4个输入变量,每个变量代表矩阵每行的8个signal,变量类型为BYTE:Input_1AT%IB0.0:BYTE;Inpu...
西门子PLC小车往返8次停车PLC梯形图小车在A-B俩点间往返运动...
[最佳回答]用计数器和定时器啊!启动I0.0、停止I0.1、A点限位I0.2、B点限位I0.3。就写个时序控制程序就好了。
西门子pro编程步骤?
西门子PLC的PRO编程步骤通常如下:1.连接设备:将电脑与PLC通过编程电缆进行连接,确保设备物理上连通。2.打开编程软件:在电脑上打开西门子PLC的编程软件,如...
lj18a3-8怎么接入plc?
三线制传感器接入PLC的方法:一般三线传感器通用的电线色标是棕色接24V正极,蓝色接24V负极,黑色为传感器信号输出,接PLC输入口。需要注意的是:...三线制传感...
plc主程序怎么编写?
编写PLC主程序的方法可能因PLC品牌和型号的不同而有所差异。以下是通常编写PLC主程序的一般步骤:1.确定系统需求:了解系统的功能需求和操作流程。2.绘制流...
用三菱plc怎么编程序几点开机几点停机?
1查看该型号PLC对应的时钟读取指令,并应用2将对应的“hour”地址与设定时间比较,3到10点开机,就是大于3小于10;20点到凌晨3点就是大于20或小于3;满...1...
如何用PLC梯形图做一个8盏灯轮流闪烁的流水灯?
这里需要用到移位指令,然后赋值到Y0-Y7表示的8盏灯下图是程序移位指令SPL初始将第一位置1,低8位就是00000001,隔两秒左移移一位就是00000010--00000100-0000...
plc编程十大经典程序?
PLC编程十大经典程序有:1.定时/计时程序;2.单路数字量输出程序;3.开关量按键程序;4.比较数字量程序;5.数据存储程序;6.报警记录程序;7.模拟量输出...P...
三菱PLC如何传送高8位和低8位数据?
你好很高兴为你解答PLC输入三菱的行车电脑,然后传送就可以了你好很高兴为你解答PLC输入三菱的行车电脑,然后传送就可以了
plc控制三菱d700变频器参数设置?
D700变频器需要设置的参数:1.通讯站号2.通讯速率3.停止位长4.奇偶校验5.通讯等待时间6.通讯有无cr/lr选择7.协议选择8.运行频率来源9.运行指令来源P...