57C332

发布时间:2022-04-19
57C332
57C332
取指令与输出指令的使用说明:


1)LD、LDI指令既可用于输入左母线相连的触点,也可与ANB、ORB指令配合实现块逻辑运算;



2)LDP、LDF指令仅在对应元件有效时维持一个扫描周期的接通。



3)LD、LDI、LDP、LDF指令的目标元件为X 、Y 、M 、T、C、S;4)OUT指令可以连续使用若干次(相当于线圈并联),对于定时器和计数器,在OUT指令之后应设置常数K或数据寄存器。



5)OUT指令目标元件为Y、M、T、C和S,但不能用于X(1)AND(与指令) 一个常开触点串联连接指令,完成逻辑“与”运算。


(2)ANI(与反指令) 一个常闭触点串联连接指令,完成逻辑“与非”运算。


(3)ANDP 上升沿检测串联连接指令。


(4)ANDF 下降沿检测串联连接指令触点串联指令的使用的使用说明:
57C332

1)AND、ANI、ANDP、ANDF都指是单个触点串联连接的指令,串联次数没有限制,可反复使用。


2)AND、ANI、ANDP、ANDF的目标元元件为X、Y、M、T、C和S。


3)OUT M101指令之后通过T1的触点去驱动Y4称为连续输出。



触点并联指令(OR/ORI/ORP/ORF)


(1)OR(或指令) 用于单个常开触点的并联,实现逻辑“或”运算。


(2)ORI(或非指令) 用于单个常闭触点的并联,实现逻辑“或非”运算。


(3)ORP 上升沿检测并联连接指令。


(4)ORF 下降沿检测并联连接指令触点并联指令的使用说明:


1)OR、ORI、ORP、ORF指令都是指单个触点的并联,并联触点的左端接到LD、LDI、LDP或LPF处,右端与前一条指令对应触点的右端相连。触点并联指令连续使用的次数不限;


2)OR、ORI、ORP、ORF指令的目标元件为X、Y、M、T、C、S。



块操作指令(ORB / ANB)


(1)ORB(块或指令) 用于两个或两个以上的触点串联连接的电路之间的并联。



ORB指令的使用说明:


1)几个串联电路块并联连接时,每个串联电路块开始时应该用LD或LDI指令;



2)有多个电路块并联回路,如对每个电路块使用ORB指令,则并联的电路块数量没有限制;



3)ORB指令也可以连续使用,但这种程序写法不使用,LD或LDI指令的使用次数不得过8次,也就是ORB只能连续使用8次以下。


(2)ANB(块与指令) 用于两个或两个以上触点并联连接的电路之间的串联。



ANB指令的使用说明:1)并联电路块串联连接时,并联电路块的开始均用LD或LDI指令;



2)多个并联回路块连接按顺序和前面的回路串联时,ANB指令的使用次数没有限制。也可连续使用ANB,但与ORB一样,使用次数在8次以下。



置位与复位指令(SET/RST)


(1)SET(置位指令) 它的作用是使被操作的目标元件置位并保持。



(2)RST(复位指令) 使被操作的目标元件复位并保持清零状态。SET、RST指令的使用,当X0常开接通时,Y0变为ON状态并一直保持该状态,即使X0断开Y0的ON状态仍维持不变;只有当X1的常开闭合时,Y0才变为OFF状态并保持,即使X1常开断开,Y0也仍为OFF状态。



SET 、RST指令的使用说明:


1)SET指令的目标元件为Y、M、S,RST指令的目标元件为Y、M、S、T、C、D、V 、Z。RST指令常被用来对D、Z、V的内容清零,还用来复位积算定时器和计数器。



2)对于同一目标元件,SET、RST可多次使用,顺序也可随意,但*执行者有效。微分指令(PLS/PLF)


(1)PLS(上升沿微分指令) 在输入信号上升沿产生一个扫描周期的脉冲输出;



(2)PLF(下降沿微分指令) 在输入信号下降沿产生一个扫描周期的脉冲输出。


利用微分指令检测到信号的边沿,通过置位和复位命令控制Y0的状态。



PLS、PLF指令的使用说明:


1)PLS、PLF指令的目标元件为Y和M;



3)由于栈存储单元只有11个,所以栈的层次*多11层。


逻辑反、空操作与结束指令(INV/NOP/END)


1)INV(反指令) 执行该指令后将原来的运算结果取反。反指令的使用如图10所示,如果X0断开,则Y0为ON,否则Y0为OFF。使用时应注意INV不能象指令表的LD、LDI、LDP、LDF那样与母线连接,也不能象指令表中的OR、ORI、ORP、ORF指令那样单独使用。



2)NOP(空操作指令) 不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。



3)END(结束指令) 表示程序结束。若程序的*不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的*步执行到*一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干END指令,将程序划分若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束。1.步进指令(STL/RET)


步进指令是专为顺序控制而设计的指令。在工业控制领域许多的控制过程都可用顺序控制的方式来实现,使用步进指令实现顺序控制既方便实现又便于阅读修改。


FX2N中有两条步进指令:STL(步进触点指令)和RET(步进返回指令)。


STL和RET指令只有与状态器S配合才能具有步进功能。如STL S200表示状态常开触点,称为STL触点,它在梯形图中的符号为-|| ||- ,它没有常闭触点。我们用每个状态器S记录一个工步,例STL S200有效(为ON),则进入S200表示的一步(类似于本步的开关),开始执行本阶段该做的工作,并判断进入下一步的条件是否满足。一旦结束本步信号为ON,则关断S200进入下一步,如S201步。RET指令是用来复位STL指令的。执行RET后将重回母线,退出步进状态。


2.状态转移图


一个顺序控制过程可分为若干个阶段,也称为步或状态,每个状态都有不同的动作。当相邻两状态之间的转换条件得到满足时,就将实现转换,即由上一个状态转换到下一个状态执行。我们常用状态转移图(功能表图)描述这种顺序控制过程。用状态器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“关键字,可选参数。

我们依旧用之前的例子,两个数据的相加,现在我们需求改成同样的函数,可以实现相加,同时也能实现计算两个数据的减法,虽然减法是特殊的加法但是在编程的时候我们还是需要告诉机器人该如何进行操作。话不多说直接上代码:

6)在中断程序和子程序内,不能使用STL指令。

作为全球能源管理和自动化领域的数字化转型*,施耐德电气始终都在关注着中小企业的成长和良性发展,并在2020年开启了“绿色智能制造创赢计划”*季。

上一篇:OVR TC 6V P溯高美生产...
下一篇:南阳倍加福接近开关厂家直销欢迎咨...