工作台自动循环运动PLC控制指令与梯形图

1数据传送指令

数据传送指令包括MOV(传送)、SMOVBCD码移位传送)、CML(取反传送)、BMOV(数据块传送)、FMOV(多点传送)、XCH(数据交换)。这里主要介绍MOV(传送)指令。

传送指令MOV将源操作数据传送到指定目标,其指令代码为FNC12,源操作数[S·]可取所有的数据类型,即KHKnXKnYKnMKnSTCDVZ,其目标操作数[D·]KnYKnMKnS TCDVZ

如图1所示,,当X0ON时,执行连续执行型指令,数据100被自动转换成二进制数且传送给D10,当X0变为OFF时,不执行指令,但数据保持不变;当X1ON时,T0当前值被读出且传送给D20;当X2ON时,数据100传送给D30,定时器T20的设定值被间接指定为10秒,当M0闭合时,T20开始计时;MOVP)为脉冲执行型指令,当X5OFF变为ON时指令执行一次,(D10)的数据传送给(D12),其它时刻不执行,当X5变为OFF时,指令不执行,但数据也不会发生变化;X3ON时,(D1D0)的数据传送给(D11D10),当X4ON时,将(C235)的当前值传送给(D21D20)。注意:运算结果以32位输出的应用指令、32位二进制立即数及32位高速计数器当前值等数据的传送,必须使用(DMOV或(DMOVP)指令。

如图2所示,可用MOV指令等效实现由X0X3Y0Y3的顺序控制。

2比较指令

比较指令有比较(CMP)、区域比较(ZCP)两种,CMP的指令代码为FNC10ZCP的指令代码为FNC11,两者待比较的源操作数[S·]均为K HKnXKnYKnMKnSTCDVZ,其目标操作数[D·]均为YMS

CMP指令的功能是将源操作数[S1·][S2·]的数据进行比较,结果送到目标操作元件[D·]中。在图3中,当X0ON时,将十进制数100与计数器C2的当前值比较,比较结果送到M0M2中,若100C2的当前值时,M0ON,若100=C2的当前值时,M1ON

100C2的当前值时,M2ON。当X0OFF时,不进行比较,M0M2的状态保持不变。

ZCP指令的功能是将一个源操作数[S·]的数值与另两个源操作数[S1·][S2·]的数据进行比较,结果送到目标操作元件[D·]中,源数据[S1·]不能大于[S2·]。在图4中,当X1ON时,执行ZCP指令,将T2的当前值与10150比较,比较结果送到M0M2中,若10T2的当前值时,M0ON,若10T2的当前值≤150时,M1ON,若150T2的当前值时,M2ON。当X1OFF时,ZCP指令不执行,M0M2的状态保持不变。

3、加1指令和减1指令

1指令INC和减1指令DEC的操作数均可取KnYKnMKnSTCDV、,它们不影响零标志、借位标志和进位标志。INC指令代码为FNC24DEC的指令代码为FNC25INC指令的功能是将指定的目标操作元件[D·]中二进制数自动加1DEC指令的功能是将指定的目标操作元件[D·]中二进制数自动减1

如图5所示,当X0每次由OFF变为ON时,D20中的数自动增加1,当X1每次由OFF变为ON时,D21中的数自动减1

若用连续执行型加1指令INC或连续执行型减1指令DEC,当条件成立时,在每个扫描周期内指定的目标操作元件[D·]中数据要自动加1或自动减116位数据运算时,+32767再加1就变为-32768-32768再减1就变为+3276732位数据运算时,+2147483647再加1就变为-2147483648-2147483648再减1就变为+2147483647