AKM2G-54
AKM2G-54
一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态执行。我们常用状态转移图(功能表图)描述这种顺序控制过程。用状态器S记录每个状态,X为转换条件。如当X1为ON时,则系统由S20状态转为S21状态。
状态转移图中的每一步包含三个内容:本步驱动的内容,转移条件及指令的转换目标。
步驱动Y0,当X1有效为ON时,则系统由S20状态转为S21状态,X1即为转换条件,转换的目标为S21步。
3.步进指令的使用说明
1)STL触点是与左侧母线相连的常开触点,某STL触点接通,则对应的状态为动步;
2)与STL触点相连的触点应用LD或LDI指令,只有执行完RET后才返回左侧母线
3)STL触点可直接驱动或通过别的触点驱动Y、M、S、T等元件的线圈;
4)由于PLC只执行活动步对应的电路块,所以使用STL指令时允许双线圈输出(顺控程序在不同的步可多次驱动同一线圈);
5)STL触点驱动的电路块中不能使用MC和MCR指令,但可以用CJ指令;
函数是一定作用的代码块的集合。我们比如可以把计算两个数和写成一个函数,所以函数是具有一定意义的功能代码块,平时我们工作种,惯性把重复使用到的代码块编写成函数,这样方便阅读和理解,同时也精简了代码量。
函数其实是用作用域,一般函数默认是全局都可以使用,我们也可以限制函数只能在固定的Task或者只能在某个模块里面生效。这个涉及到函数的作用域我会在下一章节和大家一起讨论这个问题。
函数都要有个函数名,函数名和变量名相同规则相同,也就是说是字母和数组的排列组合,当然其中*个字符必须是字母,我们在命名函数的时候不能太长,也不能太短,我记得以前在学校的时候学校有了老教授,教我们单片机,他写程序命名就喜欢取汉语拼音的手写字母比如下面这个函数“JQRDD”名称就是“机-器-人-断-电”,你会发现看他写的程序,相当费劲,尤其是没有注释的函数简直是灾难,*搞笑的是这老头子,给他的车拍买了个“80C51”的号码。简直没谁了。我建议可以这样命名“Robot_Power_Off”,你也可以不用下划线直接取命名“RobotPowerOff”。好吐槽完那个老头子了。函数的主要有点就是,可以在需要该函数的地方执行该函数任意的次数,如果不能把代码函数话,那我们项目都写在Main函数里面,那将是一个巨大的流水账,正如一句话:用时一时爽,重写火葬场。大家好自为之。
函数的另一个有点就是方便开发测试和维护,比如对某一段函数添加一些功能或者修改之前遗漏的Bug,只要函数的输入输出没有变化逻辑没有错误,以前程序的其他部分调用该代码的部分都不会收到影响。当然你可以在修改后的函数名字后面加上一个“V2”,或者“New”,那问题来了,下次再修改了该怎么命名呢?“V3”或者“New_New”,我以前就见多有同事这么写,后来他也发现不对,直接再函数后面谢谢了“年月日”。我当时看到真的和小哪吒一样,“沙子里进了眼睛”。
当然如果你上面的原则都懒得遵守,为了以后的你依旧能看到从前的你写代码,你可以再一个函数的开头进行备注,写下如下几行:当我们再ABB RAPID 中写下人生*段机器人代码的时候,大部分人都是从Main函数开始,“Mian” 就是函数函数名,也就是该函数的函数头,后面跟着的就是函数体,我们的函数。
ABB RAPID 如果没有返回的函数,就写 “PROC” 和 “ENDPROC”直接,风格和VB的风格很像。
当让我们可以在函数的头里面添加参数,我们也可以让函数返回结果,“PROC”函数是没有返回结果的函数格式,有返回的函数格式是”FUNC”我会在这一章节的下面和大家分享。有了前面的两个小节的讨论其实可以足够应对我们工作中的大部分情况甚至是99%的情况,但是有一些情况我们比较棘手,比如我们编写了一个函数,是发送数据给上位机的,以前是通过串口发送,现在客户想要通过网线发送,但是我程序框架都写好了,只要把发送数据的函数单独修改一下就好了,结果到下一个客户要求两个功能都要,还要可以自由切换,这次难道,可能你感觉可以写两套程序,使用需求,但是如果你掌握了下面的编程技巧,你就会发现你的人生从此改变,老板欣赏你,同事尊重你,食堂打饭的阿姨手也不抖了。
下面就是我们的一个比较有意思的编程语法糖,“Swith“关键字,可选参数。
我们依旧用之前的例子,两个数据的相加,现在我们需求改成同样的函数,可以实现相加,同时也能实现计算两个数据的减法,虽然减法是特殊的加法但是在编程的时候我们还是需要告诉机器人该如何进行操作。话不多说直接上代码:
The resumption of work is inevitable, but the problem is that production inventory, logistics and supply chain