




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 功能指令又称功能指令又称应用指令应用指令,由功能编号,由功能编号FNC00FNCXXX进行进行指定,各指令中有表示其内容的符号(助记符)操作码、操作数指定,各指令中有表示其内容的符号(助记符)操作码、操作数组成,能完成特定的程序功能。组成,能完成特定的程序功能。6.1.16.1.1功能指令的基本格式功能指令的基本格式 0LDX101SFTR(P)35X0M0K16K210图图6.16.1功能指令示意图功能指令示意图 S 表示表示源操作数源操作数,多个源操作数时用,多个源操作数时用S1、S2表示;表示;D 表示表示目的操作数目的操作数,多个目的操作数时用,多个目的操作数时用D1、D2表示;表示
2、;K、H表示常数,表示常数,如如K6表示十进制常数表示十进制常数6;KnXm、KnYm、KnMm、KnSm表示以表示以n为组数为组数,每组每组4位所组成位所组成4*n位的数据位的数据(Xm、Ym、Mm、Sm为最为最低低位位)。)。 处理处理32位数据的指令是在助记符前加位数据的指令是在助记符前加“D”标志,标志,无此标志即为处理无此标志即为处理16位数据的指令。位数据的指令。 6.1.26.1.2数据长度数据长度 在使用在使用32位数据时建议使用位数据时建议使用首编号为偶数首编号为偶数的操作数的操作数。 上面传送指令的含义为:当上面传送指令的含义为:当X0X0由由OFFONOFFON时,将时,
3、将D11D11和和D10D10的数据传送到的数据传送到D13D13和和D12D12中中( (处理处理3232位数据位数据) )。 6.1.36.1.3指令类型指令类型 上例中上例中“P”P”表示表示脉冲执行型脉冲执行型,即该指令仅在,即该指令仅在X0X0由由OFFONOFFON时,执行一次时,执行一次。而没有而没有“P”P”则表示则表示连续执行型连续执行型,即在,即在X0X0接通时的每一个扫接通时的每一个扫描周期描周期MOVMOV指令都被指令都被重复执行。重复执行。 1位元件与字元件 只处理ON/OFF信息的软元件称为位元件,如X、Y、M和S; 可处理数值的软元件则称为字元件,如T、C、D等。
4、 但位元件也可以组合成字元件进行数据处理,4个位元件为一个单元,通用表示方法是由Kn加起始的软元件号组成,n为单元数。例如K2M0表示M0M7组成两个位元件组(K2表示2个单元),它是一个8位数据,M0为最低位。 6.1.46.1.4操作数的形式操作数的形式 2数据格式 在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。 二进制补码的最高位为符号位,正数符号位为0,负数符号位为1。 为更精确地进行运算,可采用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算。1 1 程序控制功能指令(程序控制功能指令(FNC 00FNC 09FNC 0
5、0FNC 09) 2 2 中断指令中断指令IRETIRET(FNC 03FNC 03)、)、EIEI(FNC 04FNC 04)、)、DIDI(FNC 05FNC 05)3 3 监视定时器刷新指令监视定时器刷新指令WDTWDT(FNC 07FNC 07) 4 4 循环指令循环指令FOR (FNC 08) FOR (FNC 08) 和和NEXT(FNC 09) NEXT(FNC 09) 5 5 比较指令比较指令CMPCMP(FNC 10FNC 10) 6 6 传送指令传送指令MOVMOV(FNC 12FNC 12) 7 7 四则逻辑运算指令(四则逻辑运算指令(FNC 20FNC 29FNC 20
6、FNC 29) 8 8 高速计数器指令高速计数器指令 9 9 位移位指令(位移位指令(FNC 34FNC 34、3535) 10 PID10 PID指令(指令(FNC 88FNC 88) 6.26.2功能指令功能指令1 程序控制功能指令(程序控制功能指令(FNC 00FNC 09) CJ(FNC 00)条件跳转指令)条件跳转指令 图图6.2.16.2.1CJCJ指令应用指令应用 图图6.2.26.2.2两条两条CJCJ指令使用同一标号指令使用同一标号 可以有多条跳转指令使用可以有多条跳转指令使用同一标号同一标号。在右图中,如。在右图中,如X0X0接通,第一条跳转指令接通,第一条跳转指令有效,从
7、这一步跳到标号有效,从这一步跳到标号P5P5处。如果处。如果X0X0断开,而断开,而X10X10接接通,则第二条跳转指令生效,通,则第二条跳转指令生效,程序从第二条跳转指令处跳程序从第二条跳转指令处跳到到 P5P5处。但不允许一个跳处。但不允许一个跳转指令对应两个标号的情况,转指令对应两个标号的情况,即在同一程序中不允许存在即在同一程序中不允许存在两个相同的标号,否则将出两个相同的标号,否则将出错。错。CJCJ指令的编程应用指令的编程应用【例【例1 1】利用跳转指令来执行程序初始化工作】利用跳转指令来执行程序初始化工作图图6.2.36.2.3CJCJ指令用于程序初始化指令用于程序初始化 如图所
8、示,在PLC运行的第一个扫描周期中,跳转CJ P5不执行,程序执行初始化程序后执行工作程序。而从第二个扫描周期开始,初始化程序则被跨过,不再执行。 如图所示为一段手动/自动程序切换的梯形图程序。当X1为ON时,程序跳过自动程序区域,由标号P0执行手动工作方式;当X1为OFF时,则执行自动工作方式。【例【例2 2】利用跳转指令实现手动】利用跳转指令实现手动/ /自动程序的切换自动程序的切换图图6.2.46.2.4手动手动/ /自动切换程序自动切换程序 子程序调用指令子程序调用指令CALL(FNC 01) 子程序返回指令子程序返回指令SRET(FNC 02) 图图6.2.56.2.5子程序指令应用
9、子程序指令应用 为了区别于主程序,规定在程序编排时,将主程序为了区别于主程序,规定在程序编排时,将主程序排在前边,子程序排在后边,并以主程序结束指令排在前边,子程序排在后边,并以主程序结束指令FEND(FNC06)FEND(FNC06)将这两部分分隔开。将这两部分分隔开。 当主程序带有多个子程序时,子程序可依次列在主当主程序带有多个子程序时,子程序可依次列在主程序结束之后。并以不同的标号相区别。程序结束之后。并以不同的标号相区别。注意:注意: (1) 转移标号不能重复,也不可与跳转指令的标号重复。 (2) 子程序可以嵌套调用,最多可5级嵌套。 中断返回指令中断返回指令IRET(FNC 03)
10、允许中断指令允许中断指令EI(FNC 04) 禁止中断指令禁止中断指令DI(FNC 05)图图6.2.66.2.6中断指令应用中断指令应用 从图中可以看出,中断程序作为一种子程序安排在主程序结束指令FEND之后。主程序中允许中断指令EI及不允许中断指令DI之间的区间表示可以开放中断的程序段。主程序带多个中断子程序时,中断标号和距其最近的一处中断返回指令构成一个中断子程序。 (1)如果多个中断依次发生,则以发生先后为序,如果多个中断源同时发出信号,则中断指针号越小优先级越高。(2)当M8050M8058为ON时,禁止执行相应I0 I8的中断,M8059为ON时则禁止所有计数器中断。 (3)无需中
11、断禁止时,可只用EI指令,不必用DI指令。 (4)执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌套,否则禁止其他中断。 注意注意3 3 主程序结束指令主程序结束指令FEND(FNC06) 注意:注意: (1)子程序和中断服务程序应放在FEND之后。 (2)子程序和中断服务程序必须写在FEND和END之间,否则出错。 FEND表示主程序结束,当执行到FEND时,PLC进行输入/输出处理,监视定时器刷新,完成后返回起始步。4 监视定时器刷新指令监视定时器刷新指令WDT(FNC 07) WDTWDT指令是对指令是对PLCPLC的监视定时器进行刷新,的监视定时器进行刷新,F
12、XFX系列系列PLCPLC的监视定时器默认值为的监视定时器默认值为200 ms(200 ms(可用可用D8000D8000来设定来设定) )。当。当PLCPLC的扫描周期的扫描周期(0 (0ENDEND或或FENDFEND指令执行时间指令执行时间) )超过超过200 200 msms时,时,PLCPLC的的CPU-ECPU-E指示灯亮、指示灯亮、PLCPLC停机,因此需在程序停机,因此需在程序的中途插入的中途插入WDTWDT指令,使指令,使PLCPLC的监视定时器刷新,如上的监视定时器刷新,如上图所示。图所示。 图图6.2.76.2.7WDTWDT指令应用指令应用 (1)如果在后续的FOR-N
13、EXT循环中,执行时间可能超过监视定时器的定时时间,可将WDT插入循环程序中。 (2)当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序往回跳)就有可能连续反复跳步使它们之间的程序反复执行,使执行时间超过监控时间,可在CJ指令与对应标号之间插入WDT指令。 注注 意意5 循环指令循环指令FOR (FNC 08) 和和NEXT(FNC 09) FOR和NEXT指令是成对出现的图图6.2.8 6.2.8 循环指令应用循环指令应用 梯形图中各有两条FOR和NEXT指令,构成二层循环。循环次数由FOR指令后的n值指定,n=132767,若n= -327670之间,则当作n=1处理。运行时,位于
14、FORNEXT间的程序反复执行n次后再继续执行后续程序 (1) FOR和NEXT必须成对使用。 (2) FX2N系列PLC可循环嵌套5层。 (3) 在循环中可利用CJ指令在循环没结束时跳出循环体。 (4) FOR应放在NEXT之前,NEXT应在FEND和END之前,否则出错。循环指令用于某些需反复操作的场合,如对某一采样数据做一定次数的加权运算等。 注意注意6 比较指令比较指令CMP(FNC 10) 比较指令CMP是将源操作数S1和源操作数S2的数据进行比较,比较结果用目标元件D的状态来表示,如下图所示。 数据比较是进行代数值大小比较数据比较是进行代数值大小比较( (即带符号比即带符号比较较)
15、 )。所有的源数据均按二进制处理。所有的源数据均按二进制处理。图图6.2.96.2.9CMPCMP指令应用指令应用 7 传送指令传送指令MOV(FNC 12) 图图6.2.106.2.10MOVMOV指令应用指令应用 MOV指令是将源操作数内的数据传送到指定的目标操作数内,即SD,如下图所示。 当当X10=ONX10=ON时,源操作数时,源操作数SS中的常数中的常数K100K100传送到目标传送到目标操作元件操作元件D10D10中。当指令执行时,常数中。当指令执行时,常数K100K100自动转换成二进自动转换成二进制数。制数。 当当 X10 X10 断开时,指令不执行,数据保持不变。断开时,指
16、令不执行,数据保持不变。 6.3 四则运算与逻辑运算指令四则运算与逻辑运算指令 (FNC 20FNC 29) 整数四则运算进行较高准确度要求的计算时,需将小数点前后的数值分别计算再将数据组合起来,除法运算时要对余数再做多次运算才能形成最后的商。这就使程序的设计非常烦琐。而实数运算是浮点运算,是一种高准确度的运算。 FX1N系列系列PLC仅有仅有整数运算整数运算指令指令FX2N系列系列PLC具有具有实数运算实数运算指令指令 PLC中有两种四则运算,即中有两种四则运算,即整数四则整数四则运算和运算和实数实数四则四则运算。前者指令较简单,参加运算的数据只能运算。前者指令较简单,参加运算的数据只能是整
17、数。非整数参加运算需先取整,除法运算的结是整数。非整数参加运算需先取整,除法运算的结果分为商和余数。果分为商和余数。 加法指令加法指令ADD(FNC 20) ADDADD加法指令是将指定的源元件中的二进制数相加,结果送到指加法指令是将指定的源元件中的二进制数相加,结果送到指定的目标元件中去,如上图所示。定的目标元件中去,如上图所示。 当执行条件当执行条件X10X10由由OFFONOFFON时,时,D10+D12D14D10+D12D14。运算是。运算是代数运算,如代数运算,如2+(-3)= -12+(-3)= -1。 如果运算结果为如果运算结果为0 0,则零标志,则零标志M8020M8020置
18、置1 1;如果运算结果超过;如果运算结果超过32767(1632767(16位位) )或或2147483647(322147483647(32位位) ),则进位标志,则进位标志M8022M8022置置1 1;如果运;如果运算结果小于算结果小于-32767(16-32767(16位位) )或或 -2147483647(32-2147483647(32位位) ),则借位标志,则借位标志M8021M8021置置1 1。6.3.1 四则运算指令四则运算指令 减法指令减法指令SUB(FNC 21) SUBSUB减法指令是将指定的源元件中的二进制数相减,结果送到指减法指令是将指定的源元件中的二进制数相减,
19、结果送到指定的目标元件中去,如上图所示。定的目标元件中去,如上图所示。 当执行条件当执行条件X10X10由由OFFONOFFON时,时,D10-D12D14D10-D12D14。运算是。运算是代数运算,如代数运算,如3-1= 23-1= 2。 乘法指令乘法指令MUL(FNC 22)MUL乘法指令是将指定的源元件中的二进制数相乘,结果送到指乘法指令是将指定的源元件中的二进制数相乘,结果送到指定的目标元件中去,如上图所示。它分为定的目标元件中去,如上图所示。它分为1616位和位和3232位运算。位运算。 图图(a)(a)为为1616位运算,执行条件位运算,执行条件X1X1由由OFFON OFFON
20、 时,时,D0D0D1 D3D1 D3,D2D2中。源操作数是中。源操作数是1616位,目标操作数位,目标操作数是是3232位。当位。当D0=10D0=10,D1= -10D1= -10时,时,D3D3,D2= -100D2= -100。最。最高位为符号位,高位为符号位,0 0为正值,为正值,1 1为负值。为负值。 图图(b)(b)为为3232位运算,执行条件位运算,执行条件X2X2由由OFF ONOFF ON时,时,D1D1、D0D0D3D3、D2D7D2D7、D6D6、D5D5、D4D4中。源操作数是中。源操作数是3232位,位,目标操作数是目标操作数是6464位。当位。当 D1D1、D0
21、=200D0=200,D3D3、D2=500D2=500时,时,D7D7、D6D6、D5D5、D4=100 000D4=100 000,最高位为符号位,最高位为符号位,0 0为正值,为正值,1 1为负值。为负值。 除法指令除法指令DIV(FNC 23) DIVDIV除法指令是将指定的源元件中的二进制数相除,除法指令是将指定的源元件中的二进制数相除,S1S1 为被除数,为被除数,S2S2 为除数,商送到指定的目标元件为除数,商送到指定的目标元件DD 中去,余中去,余数送到数送到DD 的下一个目标元件。如下图所示,它分的下一个目标元件。如下图所示,它分1616位和位和3232位两位两种运算。种运算
22、。图图(a)为为16位运算位运算执行条件执行条件X1由由OFFON 时,时,D0/D1D2。当。当D0=23, D1=4时,时,D2=5,D3=3。图图(b)为为32位运算位运算 图图(b)为为32位运算。执行条件位运算。执行条件X2由由OFFON时,时,D1、D0/D3、D2。商在。商在D5、D4,余数在,余数在D7、D6中。中。除数为除数为0 0时,有运算错误,不执行指令。时,有运算错误,不执行指令。 递增加递增加“1”指令指令INC(FNC 24) 图图(a)中,当中,当X0由由OFFON变化变化时,由时,由D指定的元件指定的元件D0中的二进制中的二进制数加数加1。 当当X10由由OFFON变化时,由变化时,由D指定的元件指定的元件D10中的二中的二进制数进制数每个扫描周期都加每个扫描周期都加1 1。 16位运算时,位运算时,+32767再加再加1就变为就变为 -32768,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省张家口市2024-2025学年高一上学期期末考试物理试卷2
- Lesson 5 The park is on your left. Period 1 (教学设计)-2024-2025学年接力版英语四年级上册
- 人教部编版历史七年级上册-第4课 夏商西周的更替教学设计
- 江苏省徐州市铜山区八年级地理上册 2.2中国的气候 气温教学设计1 (新版)湘教版
- 一年级数学下册 1 认识图形(二)第2课时 平面图形的拼组配套教学设计 新人教版
- 短期用工合同范本
- 内部培训刑法知识考试王牌题库及答案
- 12课地球引力教学设计 -2023-2024学年科学五年级上册青岛版
- 五年级品德与社会下册 圆明园在哭泣3教学设计 浙教版
- 4.2 坚持人民民主专政 课件高中政治统编版必修三政治与法治
- 2024年湖南省岳阳市岳阳楼区小升初数学试卷附答案解析
- 2023年孕妇健康管理分析报告
- JJF 2119-2024低气压试验箱校准规范
- 外科学进展与发展史
- 【工业送料六轴机械手结构设计9400字(论文)】
- SH/T 3533-2024 石油化工给水排水管道工程施工及验收规范(正式版)
- 智研咨询发布《2024年中国新中式服装行业市场规模分析及发展趋势预测报告》
- 电梯维保服务考核标准及评分办法
- 如何合理控制销售费用
- 臂丛神经解剖图谱
- 华南农业大学招生宣传
评论
0/150
提交评论