分类
PLC学习

破除PLC学习的几个误区

(一)认为松下PLC是低档货,比不上三菱及西门子

因为在工作中见过这样的工程师,所以提一下。

抱有这种思维的人,只能说,他只有打工思维,如果有一天他自己当老板了,马上就要考虑成本、性价比这些问题了。

如果把松下、三菱、西门子这三者放到一起,结合当下设备市场,可以毫无悬念地说,松下性价比是最高的,我们从以下几个方面来阐述:

(1)松下控制器本体资源配置是做得最好的,对于FP-X系列,具有4通道脉冲输出,对于FP-XH系列,更是达到6通道脉冲输出,正因如此,绝大多数设备,一台主控制器+几个通用IO扩展即可搞定,反观三菱最新的FX-5U,本体只有4通道,搭配另外的脉冲模块才会多一些通道,西门子最新的1200系列也是如此,本体只有4通道,当然,如果家底厚,不缺银子,西门子走通讯用自家伺服(比如V90系列)也是个不错选择;

(2)从外形体积上比较,松下 FP0R系列 更是做到一绝,主体大小只有一包烟大小,再加两个扩展,也可直接揣到兜里,这在很多电箱结构紧凑情况下尤为有用,试问三菱西门子这方面有何优势?

(3)松下控制器通讯接口还是很务实的,无需任何扩展,本体就有三路通讯串口,可用于编程下载、触摸屏通讯以及其它外设连接,对于大一点的比如长龙流水线机台,我们可以借助第三路串口实现“主PLC+子PLC”分布式编程控制,这比使用单个巨无霸PLC控制方式,灵活很多,成本也低很多(大钟就曾经采用“工控机+松下PLC”分布式设计方式,制作过几条汽车配件生产线体,相比其它方案,成本直接压至五分之一,后期升级维护也很方便);

特别提一句,很多人会拿网口与串口说事儿,但我要说一句,网口相对串口的优势,并不是你的优势,你的优势应该是,不管是网口和串口,都能够玩得转,一个好的设计人员,会对应用场合、功能要求以及成本消耗进行综合权衡,最终得出一个最优的解决方案。

(4)编程软件比较,松下FPWIN-GR,三菱GX-WORKS,西门子TIA,各有特色,前两者免费,后者收钱(国内基本上都是用破解版,使用起来总有种做贼的感觉),后两者支持ST/SCL高级语言,松下FPWIN-GR暂不支持ST/SCL方式,正因如此,它将梯形图交互做到了极致,在梯形图指令输入体验上,后两者明显没有其舒服;

总结一下,如果你想在工控领域长期做下去,尤其是当行业内卷到大家都拼价格的时候,你还能够立于不败之地,那么松下PLC绝对值得你花时间去学习,用三个月到半年时间,踏踏实实地去敲梯形图代码,夯实自己的底层控制思维,这是你认真练功的机会,今后学三菱和西门子就不会再有这种机会了,因为后两者我们不推荐用梯形图,而直接上ST/SCL!

梯形图(STL),ST/SCL编程比较

站在专业的角度,梯形图就像汇编语言,每个梯形图符号本质上都对应一个STL指令,梯形图中画线连线操作,其实在后台就是垒出一大堆STL指令,这些STL指令全部汇总起来,就构成了PLC的指令集,以我们潜心开发的UPLC仿真平台为例,就是通过钻研松下PLC,将其指令集全部消化、融汇贯通的成果,相反,如果我们不懂梯形图及STL指令,那这款软件压根儿就不会诞生!

ST是结构化文本语言的简称,西门子为了标新立异,另起了一个名字SCL(结构化控制语言),这两者使用的都是PASCAL语言语法,因为都是高级语言,所以与C语言也很相似。

高级语言与汇编语言最重要的一个区别就是,高级语言需要先编译才能使用,编译成什么呢?大家肯定猜到了,就是上面提到了STL指令或者直接就是机器指令(在计算机领域,汇编指令与机器指令只有一步之遥,所以我们也不严格区分了),STL指令构成指令集,任何一款PLC都无法绕过去,所以不管是三菱ST开发,还是西门子SCL开发,你会发现改写代码后下载,它都会自动进行一次编译然后才是下载,这就是高级语言与汇编语言的差别。

这个差别反映到具体工作中,是怎样的呢?编译会花费一定的时间,所以在代码调试改写中,ST/SCL语言会比梯形图体验差,举个例子,松下PLC代码改动后转换下载,基本上是一眨眼功夫,但西门子PLC,却要花个4到5秒,这4到5秒就是编译所花的时间,如果一个项目你动态改写1000次,算起来就会多耗费5000秒!我们为什么推荐“在学习构筑底层思维时,使用梯形图方式”,一是梯形图控制起来更直观,理解起来更容易,二是学习效率较高。

等到你的底层思维建立起来后,我们就可以尝试使用ST/SCL这种新的编程方式,学习后者,科学的方法是,先学习一下重要的语句,比如赋值语句、判断语句,掌握一下函数的应用,当然这些都得结合已有的底层控制逻辑,就跟画家作画一样,你首先在脑海中必须有鲜活的一幅画,然后才有可能将其描绘出来,这也是”胸有成竹“这句成语的由来,我们编程何尝不是如此呢?

“程序 = 算法+数据结构”,不管是梯形图还是ST/SCL,都无法避开数据结构设计,以西门子SCL编程设计为例,“如何科学地构建DB块”成为设计人员水平的分水岭,我讲个自己的切身故事,你们就明白了。

2021年,我们接到一个国外项目,要求用西门子1200系列PLC,因为原班人马之前都没有用过西门子PLC,加上项目比较大,所以又从外面招了几位熟悉西门子PLC的工程师,相当于两班人马共同开发该项目,刚开始原班人马确实很吃力,第一次接触西门子PLC,第一次接触TIA这么“高大上”的软件,第一次接触V90-PROFINET这么“高端”的通讯,很多个第一次加在一起,压力山大!但半年后的情形,却是原班人马后来居上,彻底主管该项目,通过优化对比,先后将西门子PLC代码从梯形图升级到SCL,最后也得出结论,其实西门子PLC最舒服的写法就是SCL!也总结出一个规律,要想写好SCL,必须具有强大的构建组织DB块的能力,而后者又与系统的框架思维紧密相关!值得一提的是,原班人马以前全部都接受过系统的框架思维训练,这也是为什么他们进步很快的原因,而新进的几个工程师由于领会不了SCL,先后都离开了公司。

最后轻松一下,现在让你学习开车,你愿意从手动档开始,还是自动档开始?松下PLC就相当于手动档,而三菱和西门子相当于自动档,甚至是具有自动驾驶功能,你选择吧!

(二)认为气缸控制过于简单,要学就直接学电机、学伺服

还是以类比的方式来说明,现在有两种人:

(1)你已经具备设备的底层控制思维,具有高屋建瓴的系统框架理念,已经把看似简单的气缸玩得很蹓了,现在想摆弄下电机(步进电机和伺服电机),大概一堂课下来,你就可以让电机动起来;

(2)你以前从来没有培养过底层系统思维,甚至连“框架”这个词儿都没听说过,但对电机却似懂非懂,那么需要三个月到半年,重塑底层思维

总结一下,气缸控制看似简单,但有机融合到一台具体能干活的设备中并不简单,你能够玩转一台设备,哪怕这台设备是纯气缸类型的,都说明你具备了一定的系统控制思维

对于有经验的开发人员,他为什么能够快速地从一种PLC迁移到另一种PLC,哪怕这两款PLC是不同品牌的,就是因为他具备了底层系统思维,不同的PLC在他眼里,只不过是几个简单的指令代换。

从气缸切换到电机到底有多难?点破一下你就明白,气缸的控制输出为电磁阀Y点,反馈输入为磁感X点,而电机输出为一条驱动指令,反馈输入为一个驱动完成标志,对应代进去即可,就这么简单。

(三)认为PLC学习就是模块参数配置

PLC学习是个系统工程,涉及到机械、电气、生产工艺以及控制安全等诸多方面,设计人员必须具备完整的系统框架思维,模块参数配置说白了,就是一个按说明书配置的事情,一般地,一两节课就可以讲得明明白白,但系统思维需要长期的训练,没个一年半载的实践训练和持续改进,是很难形成系统思维的,如果做个类比,模块参数配置就相当于摆放家具,而系统思维训练就相当于房子打地基。

写在后面

UPLC仿真平台+《10天学会PLC》问世以来,帮助过非常多的学员,踏入他们喜欢的自动化设计领域,时至今日,虽然自动化技术日新月异,但底层设计思维并没有改变,希望这些作品,继续发挥它应有的社会价值,切实带给大家收获。

《10天学会PLC》以前是作为商品出售的,今天为了回馈广大学员,特别将其发布在网上,精心制作整理的视频、资料和代码,有一百多份,都毫不保留,奉献给大家。(资料中很多程序代码、电路图、电气BOM单,稍做修改就可以用于自己的实际工程项目!

祝大家都能够学有所成,人生幸福美满!

分类
PLC学习

3D设备模型动作展示及功能控制要求

设备模型的构思来源于工厂的实物设备——大饼组装机,这是一台人机搭配的半自动化机器设备,其主要功能就是将产品的若干个部件按照要求组装在一起,见以下示意图。

可以看到,机器处理这个任务是分阶段进行的,它将一个复杂的组装动作进行分解,然后分配到若干个工位,当产品依次流过这些工位后,其组装工作也就顺利完成了。

下面,我们将逐个工位逐个动作来介绍该产品组装过程:

主推工位

主推的作用,就是将产品依次拿经各个工位,如果一个产品,原来处于1号工位位置,那么经过一次主推,它将来到2号工位位置,以此类推,具体示意如下:

可以清楚地看到,经过五次主推,一个产品便会从起始的1号工位来到最终的成品出口,这样的工作方式,在生产工艺中被称为“流水线”作业。

在大饼组装机中,完成主推动作的为四组气缸,分别为主推Y轴气缸、主推X轴气缸、主推Z轴气缸和手指气缸,它们的配合动作如下:

至此,我们也可以确定主推的控制动作为:
(1)主推X轴气缸缩回;
(2)手指气缸夹紧;
(3)主推Z轴气缸伸出;
(4)主推Y轴气缸伸出;
(5)主推Z轴气缸缩回;
(6)手指气缸松开;
(7)主推X轴气缸伸出;
(8)主推Y轴气缸缩回。

在整个生产过程中,这八个动作周而复始,不停地循环,最终完成一个个产品的递推。

工位1

工位1的作用,比较简单,就是腾出一个空位,让操作员能够将待组装的产品放上去。

在设备模型中,我们采用简单的“双击鼠标左键”来放置一个产品,之后我们还需要按下前面的双手按钮,告诉机器,我们已完成了该工位操作。

对于人机配合的工控设备,通常都会设置这么一对双手按钮,其主要作用就是为了生产中的人身安全,当双手放于按钮之上时,自然也就离开了操作的危险区域,只有在确认安全的前提下,设备才能动作。

总结一下工位1的操作:
(1)双击鼠标左键,放置一个产品;
(2)按下双手按钮;

工位2

工位2的作用,就是将饼盘上的两个薄片推开、扣紧。

完成这项工作的为两组气缸,下压气缸和推薄片气缸,其配合动作如下:

用文字来描述,就是:
(1)下压气缸伸出;
(2)推薄片气缸伸出;
(3)推薄片气缸缩回;
(4)下压气缸缩回;

工位3

工位3的作用,就是将两颗铜钉嵌放到饼盘中。

该工位结构,相比前面也要复杂一些,在动作流程上面,又被分成两个子工位;

一号子工位包括振盘及一组推送气缸,负责铜钉的分料、推料;

用文字来描述,就是:
(1)等待振盘出料、到位;
(2)推送气缸伸出,推送铜钉到达夹取位置;
(3)推送气缸缩回;

二号子工位包括三组气缸,分别为夹铜钉X轴气缸、夹铜钉Z轴气缸和退铜钉气缸,它们负责铜钉的夹取和嵌放;

用文字来描述,就是:
(1)等待铜钉推送到位;
(2)夹铜钉Z轴气缸缩回;
(3)夹铜钉Z轴气缸伸出;
(4)夹铜钉X轴气缸伸出;
(5)夹铜钉Z轴气缸缩回;
(6)退铜钉气缸伸出;
(7)退铜钉气缸缩回;
(8)夹铜钉Z轴气缸伸出;
(9)夹铜钉X轴气缸缩回;

工位4

工位4的作用,就是将嵌入的两颗铜钉热融、压紧。

完成这项工作的为两组气缸,加热气缸和下压气缸,其配合动作如下:

用文字来描述,就是:
(1)加热气缸伸出,对铜钉进行加热;
(2)等待加热到位;
(3)下压气缸伸出;
(4)下压气缸缩回;
(5)加热气缸缩回;

工位5

工位5的作用,就是对前面组装操作效果进行检测,在生产过程中,由于各种各样的原因,都会导致产品组装不良、不成功,所以最终的检测工作是必不可少的。

完成检测工作的为三个器件,下压气缸、铜钉到位检测开关和薄片到位检测光纤,其操作动作如下:

检测流程用文字来描述,就是:
(1)下压气缸伸出;
(2)获取各路检测信号,对不良进行判断并记录;
(3)下压气缸缩回;

如果产品检测为不良,当其到达成品出口时,设备报警,提醒操作人员处理。



分类
PLC学习

UPLC与FPWIN GR通讯互联

在上一节课,我们以一个简单的例子展示了UPLC的仿真功能,其实在真实的PLC编程开发中,代码是需要调试和修改的,甚至还是实时在线的,也就是PLC所宣称的现场可编程能力,当然,我们的UPLC也具有该能力,下面我们就对该功能做详细的讲解。

通常情况下,当我们在电脑上写好程序,需要验证其是否正常工作时,我们是通过一条串口线或网线,将我们的电脑与PLC相连,然后通过串口或网口将程序下载下去,紧接着调试修改。

以松下AFPX系列PLC而言,它是通过串口下载、调试程序的,它与电脑的实物连接如下:

如果电脑中相应驱动程序已安装妥当,那么在设备管理器中会出现以下信息(不同电脑、不同USB端口,展现出来的串口号会有所区别):

找到PLC的连接串口后,我们就需要在FPWIN GR编程软件中做相应的设置,点击菜单<选项>-><通信设置>,弹出“通信设置”对话框,在框中,网络类型选择“RS232C”,端口号选择刚才在设备管理器中看到的COM口(根据你电脑实际情况去写,不能照搬我的),其它参数可跟我一样,比如波特率115200 bps,数据长8 bits,停止位1 bit,奇校验,选择完成后点击“OK”按钮。

之后,就可以通过编程软件上的“下载”按钮,将代码下载进去:

当我们要修改代码时,比如要将“R901C”(1秒时钟脉冲)改成“R901D”(2秒时钟脉冲),可以这样做,先将绿色框定位到“R901C”上,然后直接在键盘上输入“st r901d”,回车确认,可以看到代码实现了修改:

不过我们也发现刚才修改的新代码,其区域是灰色的,这说明代码还没有生效,我们再点击工具栏上的“转换”按钮,转换完成后,灰色区域变成白色,代表新代码已进入PLC并运行了,这就是PLC的动态改写功能(期间并不需要重新下载整个代码),是不是很方便?

好,再来看看UPLC是怎么实现程序的下载、修改和调试的,在打开UPLC仿真软件后,我们会在设备管理器中看到以下COM口信息(不同电脑,展现出来的串口号会有所区别),可以看到,这里面有两对COM口,COM1<->COM2,COM3<->COM4,对于每一对COM口,较小的COM1和COM3是留给UPLC仿真软件内部用的,较大的COM2和COM4是暴露给外部用的,这和真实PLC对外表现是一样的:

UPLC与触摸屏的仿真连接,后续课程我们会讲,这里,我们先记下第一个外露COM口(在我电脑上为COM2),把它分配给FPWIN GR编程软件用:

通信设置好后,其它编程、下载、转换动作都与上面一样,我们尝试在代码中添加一行,“ST X6”,“OT Y5”,转换到UPLC中,然后在3D模型中,点击双手按钮,看下效果是怎么样的:

分类
PLC学习

FPWIN GR、UPLC软件安装、功能介绍、简单控制示例

(一)软件安装

FPWIN GR是松下PLC的编程软件,UPLC是松下PLC的仿真软件,两者下载地址可参见【资源下载】,下载完成后,按照常规步骤进行安装,完成后会在程序文件夹中看到如下信息:

(二)软件功能介绍

我们要对PLC进行控制,就需要编写相应的代码,就需要用到相应的工具,对于松下PLC而言,FPWIN GR就是其编程工具,当PLC代码编写完成后,我们需要对其进行测试验证,就需要用到UPLC仿真软件,下图展示了两者之间工作配合:

(三)简单控制示例

下面,我们将以一个简单的气缸控制例子来体验一下PLC程序的编写、测试过程,我们按照以下步骤来进行:

(1)打开UPLC仿真软件,选择菜单<模型>-><大饼组装机>,进入大饼组装机界面(如果已经为该界面,则不需要进行该切换操作);

(2)通过鼠标操作,调整放大2号工位(具体3D模型操作方法,可参见UPLC帮助文档,调出帮助文档的快捷键为F1);

(3)在气缸上点击鼠标右键,弹出右键菜单,选择“属性”,调出“属性”对话框,记下“2-下压气缸”对应的PLC-IO点,此处为Y8;

(4)打开FPWIN GR编程软件,点击“创建新文件”按钮,弹出“选择PLC机型”对话框,选择“FP-X C30,60T”,点击“OK”按钮,进入PLC代码编辑区域;

(5)为了尽快让大家体验代码控制效果,我们采用键盘输入代码方式,将菜单<编辑>-><文本输入模式优先>选项打勾(如果没有打勾,后面通过键盘输入指令操作将无法进行!)

(6)确认绿色框位于代码编辑区左上角(绿色框代表代码的输入位置,通常都从第一个位置开始,如果不在正确位置,点击鼠标左键进行调整),之后在键盘上输入“st r901c”,(注意,输入第一个字母s时,会自动跳出一个指令文本输入框,一鼓作气,将这些代码字符输完,之后按回车键确认)

(7)用同样的方法,输入“ot y8”;

(8)点击工具栏上的“转换程序”按钮,如果转换成功,灰色的代码区会变成白色;

(9)点击工具栏上的“保存”按钮,将输入的程序代码保存为“气缸测试.fp”;

(10)打开U-PLC仿真软件,点击工具栏上的“载入文件”按钮,加载刚才保存的“气缸测试.fp”,此时,就可以看到2号工位气缸动作了;