您现在的位置是:首页 > 自动化教程 > 自动化编程教程自动化编程教程
通过一个SCL编程示例(圆盘工件捷径传送)来聊聊编程的思路
2025-12-16 20:48:25自动化编程教程488人已围观
简介今天跟大家通过一个编程示例来聊聊编程的思路,当然编程的思路或者说方法不是唯一的。
首先,功能要求:
如下图所示:一个圆盘工作台,周围俊宇分布这个8个工位(0#~7#),每个工位安装
今天跟大家通过一个编程示例来聊聊编程的思路,当然编程的思路或者说方法不是唯一的。
首先,功能要求:

如下图所示:一个圆盘工作台,周围俊宇分布这个8个工位(0#~7#),每个工位安装有一个接近开关,用于检测位置信号,每个工位还有一个按钮,用于工位请求。在转盘上有个工件箱,工件箱下有个磁钢,当磁钢旋转到接近开关上方,接近开关动作
下面聊聊当拿到这个项目的思路,当看到这个功能要求,可以容易想到就是通过按钮控制电机正反转,但是不是这么简单,因为功能要求中是沿最近路径,所以,就要判断工件箱当前位置与请求按钮之间差几个工位。
也就是说要用记录工件箱当前位置和按钮请求的位置,两者做减法,来判断正转还是反转时最短路径。
通过上面的分析,我们做下面比较:分两种情况,结果为负和正。
为负的情况:
若减法的结果为-1,就意味着按钮的位置超前工件箱当前位置一个工位,所以电机反转一个工位。
若减法的结果为-2,就意味着按钮的位置超前工件箱当前位置2个工位,所以电机反转2个工位。
若减法的结果为-3,就意味着按钮的位置超前工件箱当前位置3个工位,所以电机反转3个工位。
若减法的结果为-4,就意味着按钮的位置超前工件箱当前位置4个工位,所以电机反转4个工位。
若减法的结果为0,电机停止。
若减法的结果为-5,就意味着按钮的位置超前工件箱当前位置5个工位,所以电机正转3个工位。
若减法的结果为-6,就意味着按钮的位置超前工件箱当前位置6个工位,所以电机正转2个工位。
若减法的结果为-7,就意味着按钮的位置超前工件箱当前位置7个工位,所以电机正转1个工位。
为正的情况:
若减法的结果为1,就意味着按钮的位置滞后工件箱当前位置一个工位,所以电机正转一个工位。
若减法的结果为2,就意味着按钮的位置滞后工件箱当前位置2个工位,所以电机正转2个工位。
若减法的结果为3,就意味着按钮的位置滞后工件箱当前位置3个工位,所以电机正转3个工位。
若减法的结果为4,就意味着按钮的位置滞后工件箱当前位置4个工位,所以电机正转4个工位。
若减法的结果为5,就意味着按钮的位置滞后工件箱当前位置5个工位,所以电机反转3个工位。
若减法的结果为6,就意味着按钮的位置滞后工件箱当前位置6个工位,所以电机反转2个工位。
若减法的结果为7,就意味着按钮的位置滞后工件箱当前位置7个工位,所以电机反转1个工位。
这样整个过程就分析清了,下面用什么指令来完成功能要求了。
通过上面的分析,我们要求工件箱当前位置和按钮位置要进行记录,并形成位号,编码指令就可以实现,所以,我们就用编码指令来实现。(有朋友不知道编码指令怎么用?或者说很多指令不知道怎么用,其实可以直接看软件的帮助文档。)

大家自己看下编码指令,这里就不赘述了。
下面就是按照上面的思路的编程结果:
接口变量:

程序如下:

源代码如下:
#按钮编码 := ENCO(#按钮);
#位置编码 := ENCO(#位置);
IF #按钮<>0 AND (#位置编码 - #按钮编码) < 0 THEN
IF (#位置编码 - #按钮编码) <= -5 AND NOT #反转 THEN
#正转 := 1;
ELSIF (#位置编码 - #按钮编码) >= -4 AND NOT #正转 THEN
#反转 := 1;
ELSIF (#位置编码 - #按钮编码) = 0 THEN
#反转 := 0;
#正转 := 0;
END_IF;
ELSIF #按钮<>0 AND (#位置编码 - #按钮编码) > 0 THEN
IF (#位置编码 - #按钮编码) >= 3 AND NOT #正转 THEN
#反转 := 1;
ELSIF (#位置编码 - #按钮编码) <=4 AND NOT #反转 THEN
#正转 := 1;
ELSIF (#位置编码 - #按钮编码) = 0 THEN
#反转 := 0;
#正转 := 0;
END_IF;
ELSE
#反转 := 0;
#正转 := 0;
END_IF;
首先,功能要求:

如下图所示:一个圆盘工作台,周围俊宇分布这个8个工位(0#~7#),每个工位安装有一个接近开关,用于检测位置信号,每个工位还有一个按钮,用于工位请求。在转盘上有个工件箱,工件箱下有个磁钢,当磁钢旋转到接近开关上方,接近开关动作
下面聊聊当拿到这个项目的思路,当看到这个功能要求,可以容易想到就是通过按钮控制电机正反转,但是不是这么简单,因为功能要求中是沿最近路径,所以,就要判断工件箱当前位置与请求按钮之间差几个工位。
也就是说要用记录工件箱当前位置和按钮请求的位置,两者做减法,来判断正转还是反转时最短路径。
通过上面的分析,我们做下面比较:分两种情况,结果为负和正。
为负的情况:
若减法的结果为-1,就意味着按钮的位置超前工件箱当前位置一个工位,所以电机反转一个工位。
若减法的结果为-2,就意味着按钮的位置超前工件箱当前位置2个工位,所以电机反转2个工位。
若减法的结果为-3,就意味着按钮的位置超前工件箱当前位置3个工位,所以电机反转3个工位。
若减法的结果为-4,就意味着按钮的位置超前工件箱当前位置4个工位,所以电机反转4个工位。
若减法的结果为0,电机停止。
若减法的结果为-5,就意味着按钮的位置超前工件箱当前位置5个工位,所以电机正转3个工位。
若减法的结果为-6,就意味着按钮的位置超前工件箱当前位置6个工位,所以电机正转2个工位。
若减法的结果为-7,就意味着按钮的位置超前工件箱当前位置7个工位,所以电机正转1个工位。
为正的情况:
若减法的结果为1,就意味着按钮的位置滞后工件箱当前位置一个工位,所以电机正转一个工位。
若减法的结果为2,就意味着按钮的位置滞后工件箱当前位置2个工位,所以电机正转2个工位。
若减法的结果为3,就意味着按钮的位置滞后工件箱当前位置3个工位,所以电机正转3个工位。
若减法的结果为4,就意味着按钮的位置滞后工件箱当前位置4个工位,所以电机正转4个工位。
若减法的结果为5,就意味着按钮的位置滞后工件箱当前位置5个工位,所以电机反转3个工位。
若减法的结果为6,就意味着按钮的位置滞后工件箱当前位置6个工位,所以电机反转2个工位。
若减法的结果为7,就意味着按钮的位置滞后工件箱当前位置7个工位,所以电机反转1个工位。
这样整个过程就分析清了,下面用什么指令来完成功能要求了。
通过上面的分析,我们要求工件箱当前位置和按钮位置要进行记录,并形成位号,编码指令就可以实现,所以,我们就用编码指令来实现。(有朋友不知道编码指令怎么用?或者说很多指令不知道怎么用,其实可以直接看软件的帮助文档。)

大家自己看下编码指令,这里就不赘述了。
下面就是按照上面的思路的编程结果:
接口变量:

程序如下:

源代码如下:
#按钮编码 := ENCO(#按钮);
#位置编码 := ENCO(#位置);
IF #按钮<>0 AND (#位置编码 - #按钮编码) < 0 THEN
IF (#位置编码 - #按钮编码) <= -5 AND NOT #反转 THEN
#正转 := 1;
ELSIF (#位置编码 - #按钮编码) >= -4 AND NOT #正转 THEN
#反转 := 1;
ELSIF (#位置编码 - #按钮编码) = 0 THEN
#反转 := 0;
#正转 := 0;
END_IF;
ELSIF #按钮<>0 AND (#位置编码 - #按钮编码) > 0 THEN
IF (#位置编码 - #按钮编码) >= 3 AND NOT #正转 THEN
#反转 := 1;
ELSIF (#位置编码 - #按钮编码) <=4 AND NOT #反转 THEN
#正转 := 1;
ELSIF (#位置编码 - #按钮编码) = 0 THEN
#反转 := 0;
#正转 := 0;
END_IF;
ELSE
#反转 := 0;
#正转 := 0;
END_IF;
Tags:
很赞哦! ()
上一篇:实例讲解PLC的起停、正反转、定时和多地控制,带电路图和梯形图
下一篇:返回列表
相关文章
- .McgsPro昆仑通态触摸屏从入门到精通
- 实例讲解PLC的起停、正反转、定时和多地控制,带电路图和梯形图
- STEP7发现自动许可证管理器存在问题的解决方法
- 通过一个SCL编程示例(圆盘工件捷径传送)来聊聊编程的思路
- 西门子触摸屏入门视频教程 赠送安装软件 西门子触摸屏编程软件 (始flexible+08sp4)smart700+HMI例子.zip 4.4MB WinCC_flexible_2008_SP4
- 博途1200与昆仑通态MCGS仿真图文教程
- Solidworks宏:自动分离名称和图号
- 分享几本书,EPLAN 电气设计 从入门到精通 双色图解,特适合新手学制图
- 用UG的特征模板做一个铭牌板
- 西门子博途TIA Portal V19、V20 软件安装教程
随机图文
CAXA CAD电子图板免费安装教程
CAXA CAD电子图板2025是一款适配中国机械设计标准的二维CAD软件,拥有50多项新增及改进功能,涵盖AI数据提取、大图处理提速、标注优化等亮点,还新增DWF/DWFX格式兼容,适配来图加
PLC梯形图编程的四个基本概念
PLC程序中经常用到中断功能,中断相当于子程序,子程序相当于主程序,说起来 PLC里的中断平时根本没什么用。这么说,像告诉脉冲处理,不用中断,只用1MS的计时能实现其功能,但是却没有中
用PLC控制电机正反转的几种程序编法
第一种常规写法: 解释:正转按钮X0;正转停止按钮X2;电机正转继电器Y0; 反转按钮X1;反转停止按钮X3;电机反转继电器Y1。 第二种使用SET/RST指令编写 第三种使用PLS指令编
SolidWorks 华中科技大学一周讲完的SolidWorks教程,整整200集
Solidworks是一款功能强大的三维机械设计软件系统,有功能强大、易学易用和技术创新三大特点,这使得SolidWorks 成为领先的、主流的三维CAD解决方案。自1995年问世以来,以其优异
| 留言与评论 (共有 条评论) |
