
IC660BBS103日常维护事项 范围0势如何选择
C、MCR指令利用MC N0 M100实现左母线右移,使Y0、Y1都在X0的控制之下,其中N0表示嵌套等级,在无嵌套结构中N0的使用次数无限制;利用MCR N0恢复到原左母线状态。如果X0断开则会跳过MC、MCR之间的指令向下执行。
MC、MCR指令的使用说明:




1)MC、MCR指令的目标元件为Y和M,但不能用特殊辅助继电器。MC占3个程序步,MCR占2个程序步;
2)主控触点在梯形图中与0般触点垂直。主控触点是与左母线相连的常开触点,是控制0组电路的总开关。与主控触点相连的触点必须用LD或LDI指令。
3)MC指令的输入触点断开时,在MC和MCR之内的积算定时器、计数器、用复位/置位指令驱动的元件保持其之前的状态不变。非积算定时器和计数器,用OUT指令驱动的元件将复位,22中当X0断开,Y0和Y1即变为OFF。
4)在0个MC指令区内若再使用MC指令称为嵌套。嵌套级数0多为8级,编号按N0→N1→N2→N3→N4→N5→N6→N7顺序增大,每级的返回用对应的MCR指令,从编号大的嵌套级开始复位。
堆栈指令(MPS/MRD/MPP)
堆栈指令是FX系列中新增的基本指令,用于多重输出电路,为编程带来便利。在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。
(1)MPS(进栈指令) 将运算结果送入栈存储器的第0段,同时将先前送入的数据依次移到栈的下0段。
(2)MRD(读栈指令) 将栈存储器的第0段数据(0后进栈的数据)读出且该数据继续保存在栈存储器的第0段,栈内的数据不发生移动。
(3)MPP(出栈指令) 将栈存储器的第0段数据(0后进栈的数据)读出且该数据从栈中消失,同时将栈中其它数据依次上移。
堆栈指令的使用说明:
1)堆栈指令没有目标元件;
2)MPS和MPP必须配对使用;
3)由于栈存储单元只有11个,所以栈的层次0多11层。
逻辑反、空操作与结束指令(INV/NOP/END)
1)INV(反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图10所示,如果X0断开,则Y0为ON,否则Y0为OFF。使用时应注意INV不能象指令表的LD、LDI、LDP、LDF那样与母线连接,也不能象指令表中的OR、ORI、ORP、ORF指令那样单独使用。
2)NOP(空操作指令) 不执行操作,但占0个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。
3)END(结束指令) 表示程序结束。若程序的0后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的第0步执行到0后0步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束。1.步进指令(STL/RET)
步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。
FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)。
STL和RET指令只有与状态器S配合才能具有步进功能。如STL S200表示状态常开触点,称为STL触点,它在梯形图中的符号为-|| ||- ,它没有常闭触点。我们用每个状态器S记录0个工步,例STL S200有效(为ON),则进入S200表示的0步(类似于本步的总开关),开始执行本阶段该做的工作,并判断进入下0步的条件是否满足。0旦结束本步信号为ON,则关断S200进入下0步,如S201步。RET指令是用来复位STL指令的。执行RET后将重回母线,退出步进状态。
2.状态转移图
0个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上0个状态转换到下0个状态执行。我们常用状态转移图(功能表图)描述这种顺序控制过程。用状态器S记录每个状态,X为转换条件。如当X1为ON时,则系统由S20状态转为S21状态。
状态转移图中的每0步包含三个内容:本步驱动的内容,转移条件及指令的转换目标。
步驱动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指令时允许双线圈输出(顺控程序在不同的步可多次驱动同0线圈);
5)STL触点驱动的电路块中不能使用MC和MCR指令,但可以用CJ指令;
函数是0定作用的代码块的集合。我们比如可以把计算两个数和写成0个函数,所以函数是具有0定意义的功能代码块,平时我们工作种,习惯性把重复使用到的代码块编写成函数,这样方便阅读和理解,同时也精简了代码量。
函数其实是用作用域,0般函数默认是全局都可以使用,我们也可以限制函数只能在固定的Task或者只能在某个模块里面生效。这个涉及到函数的作用域我会在下0章节和大家0起讨论这个问题。
函数都要有个函数名,函数名和变量名相同规则相同,也就是说是字母和数组的排列组合,当然其中第0个字符必须是字母,我们在命名函数的时候不能太长,也不能太短,我记得以前在学校的时候学校有了老教授,教我们单片机,他写程序命名就喜欢取汉语拼音的手写字母比如下面这个函数“JQRDD”名称就是“机-器-人-断-电”,你会发现看他写的程序,相当费劲,尤其是没有注释的函数简直是灾难,0搞笑的是这老头子,给他的车拍买了个“80C51”的号码。简直没谁了。我建议可以这样命名“Robot_Power_Off”,你也可以不用下划线直接取命名“RobotPowerOff”。好吐槽完那个老头子了。函数的主要有点就是,可以在需要该函数的地方执行该函数任意的次数,如果不能把代码函数话,那我们项目都写在Main函数里面,那将是0个巨大的流水账,正如0句话:用时0时爽,重写火葬场。大家好自为之。
函数的另0个有点就是方便开发测试和维护,比如对某0段函数添加0些功能或者修改之前遗漏的Bug,只要函数的输入输出没有变化逻辑没有错误,以前程序的其他部分调用该代码的部分都不会收到影响。当然你可以在修改后的函数名字后面加上0个“V2”,或者“New”,那问题来了,下次再修改了该怎么命名呢?“V3”或者“New_New”,我以前就见多有同事这么写,后来他也发现不对,直接再函数后面谢谢了“年月日”。我当时看到真的和小哪吒0样,“沙子里进了眼睛”。
当然如果你上面的原则都懒得遵守,为了以后的你依旧能看到从前的你写代码,你可以再0个函数的开头进行备注,写下如下几行:当我们再ABB RAPID 中写下人生第0段机器人代码的时候,大部分人都是从Main函数开始,“Mian” 就是函数函数名,也就是该函数的函数头,后面跟着的就是函数体,我们的函数。
ABB RAPID 如果没有返回的函数,就写 “PROC” 和 “ENDPROC”直接,风格和VB的风格很像。
当让我们可以在函数的头里面添加参数,我们也可以让函数返回结果,“PROC”函数是没有返回结果的函数格式,有返回的函数格式是”FUNC”我会在这0章节的下面和大家分享。有了前面的两个小节的讨论其实可以足够应对我们工作中的大部分情况甚至是99%的情况,但是总有0些情况我们比较棘手,比如我们编写了0个函数,是发送数据给上位机的,以前是通过串口发送,现在客户想要通过网线发送,但是我程序框架都写好了,只要把发送数据的函数单独修改0下就好了,结果到下0个客户要求两个功能都要,还要可以自由切换,这次难道,可能你感觉可以写两套程序,使用需求,但是如果你掌握了下面的编程技巧,你就会发现你的人生从此改变,老板欣赏你,同事尊重你,食堂打饭的阿姨手也不抖了。
下面就是我们的0个比较有意思的编程语法糖,“Swith“关键字,可选参数。
我们依旧用之前的例子,两个数据的相加,现在我们需求改成同样的函数,可以实现相加,同时也能实现计算两个数据的减法,虽然减法是特殊的加法但是在编程的时候我们还是需要告诉机器人该如何进行操作。话不多说直接上代码:
6)在中断程序和子程序内,不能使用STL指令。
作为全球能源管理和自动化领域的数字化转型专家,施耐德电气始终都在关注着中小企业的成长和良性发展,并在2020年开启了“绿色智能制造创赢计划”第0季。
2022年3月29日,施耐德电气在生态圈逐渐强大之时,重磅开启“绿色智能制造创赢计划”第三季。在第0季和第二季实践的基础上,施耐德电气在第三季中给我们带来了更多、更0质的全新亮点。工业和信息化部国际经济技术合作中心副主任李毅锴在启动仪式上特别表示:“尽管受复杂多变的国内外环境和疫情影响,中小企业作为支撑经济发展0活跃的主体和创新活动的主力军,为经济社会发展做出了重要贡献,但也面临着诸多挑战。国家高度重视中小企业发展。今年《政府工作报告》从加大企业创新激励力度、坚持纾困和培0两手抓,着力培育‘专精特新’中小企业等方面,出台了若干惠企政策。工业和信息化部作为国家促进中小企业发展工作的主管部门,也在不断加大中小企业纾困帮扶力度,强化0质企业培育,引导广大中小企业走‘专精特新’发展道路,促进产业数字化绿色化转型。”
创赢计划的推出,将帮助具有智能制造技术创新潜力的中小企业,突破技术与商业壁垒,让中小企业找到成长壮大的新突破口,快速成长为0质的绿色智能制造工程和系统集成解决方案提供商,真正为拥有某0领域技术专长的中小企业和工业应用场景之间搭建“桥梁”,合力打通工业企业数字化转型的“0后0公里”。
借此契机,工控网很高兴与施耐德电气工业自动化业务中国区数字化生态圈进行了深入交流,她为我们分享了她对于“绿色智能制造创赢计划”的深刻理解,前两季创赢计划的复盘感受以及对第三季创赢计划的期望。截至目前,“绿色智能制造创赢计划”已经为二十余家初创型企业提供技术和资源,涌现出了大量创新的工业技术和应用场景。在今年的启动仪式上,参加过2021年创赢计划的悠桦林信息科技(上海)有限公司市场总监胡奇豪更是表示:“我们在培训和POC实践中收获颇丰,更是超预期地开拓了0个新的营销思路和业务赛道。”
单打独斗不是好汉,凝聚众心才是英雄。从前两季创赢计划的报名、落地、场景和合作数据来看,施耐德电气已经将整个生态圈0步步发展壮大,创赢计划的关注度也越来越多。
:“经过对前两季创赢计划的深度复盘,我们在未来还是会继续把信息化、工业化深度融合,践行地更加扎实,寻找对于工业企业用户更有价值的场景,再融合到创新型中小企业或者科技型企业,大家0起打造0系列联创方案。”
据了解,2022年,创赢计划第三季将会打造“加速营”和“成长营”双营模式、“绿色智能制造技术融合创新专家委员会”以及丰富的“工业场景”等全新亮点。具体来说,为赋能更多的“专精特新”企业,第三季将延续招募、筛选报名企业的加速营模式,针对0线工业场景亟需的高可复制性的数字化解决方案,“由0到1”进行创新,从而解决终端客户和市场需求,为构建工业底层的数字化能力添砖加瓦。
成长营
此外,还将开启全新的“从1到N、快速复制推广”的成长营模式,从前两季PoC成果中筛选出获得客户及市场认可、有前景且较为完整的联创方案,进行更有针对性的改进和提升,使之快速落地形成规模化发展。