附录一-1FBs−PLC应用指令一览表一般计时/计数指令指令号码指令名称操作数衍生指令功能TnnnPV一般定时器指令(nnn为0~255共256个)CnnnPV一般计数器指令(nnn为0~255共256个)7UDCTRCV,PVDP16位或32位上/下数计数器单点运作指令4DIFUDP取输入的上微分状态并将结果存入D5DIFDDP取输入的下微分状态并将结果存入D10TOGGDP交替ON/OFF指令(每输入一次,D状态即变换状态一次)设定/清除指令SETDDPDP设定单点或缓存器的所有位(设为1)RSTDDPDP清除单点或缓存器的所有位(设为0)114Z-WRDPP区域设定或区域清除SFC指令STPSnnn定义STEPSTPENDSTEP程序的结束TOSnnnSTEP分歧指令FROMSnnnSTEP合流指令数学运算指令11(+)Sa,Sb,DDPSa加Sb结果存入D(Sa+Sb→D)12(-)Sa,Sb,DDPSa减Sb结果存入D(Sa−Sb→D)13(*)Sa,Sb,DDP将Sa乘以Sb,结果存入D(Sa×Sb→D)14(/)Sa,Sb,DDP将Sa除以Sb,结果存入D(Sa÷Sb→D)15(+1)DDP将D的资料加1后结果存回D(D+1→D)16(−1)DDP将D的资料减1后结果存回D(D−1→D)23DIV48Sa,Sb,DP48位整数除法,将Sa除以Sb,结果存入D(Sa÷Sb→D)附录ㄧ-2指令号码指令名称操作数衍生指令功能24SUMS,N,DDP将S开始连续N个值取总和后存入D25MEANS,N,DDP将S开始的连续N个值平均后存入D26SQRTS,DDP将S值取平方根后存入D27NEGDDP将D的值取2的补码(负数)后存回D28ABSDDP将D的值取绝对值后存回D29EXTDP将16位数值扩展为32位数值(数值不变)30PIDTs,SR,OR,PR,WR通用PID运算指令31CRCMD,S,N,DPCRC16计算指令32ADCNVPL,S,N,D4~20mA模拟量输入读值转换指令33LCNVMd,S,Ts,D,LP线性转换指令200I→FS,DDPS的整数资料变成浮点数后存入D201F→IS,DDPS的浮点数资料变成整数后存入D202FADDSa,Sb,DPSa及Sb相加后结果存入D(浮点数)203FSUBSa,Sb,DPSa及Sb相减后结果存入D(浮点数)204FMULSa,Sb,DPSa及Sb相乘后结果存入D(浮点数)205FDIVSa,Sb,DPSa及Sb相除后结果存入D(浮点数)206FCMPSa,SbP比较浮点数Sa和Sb,再将比较结果送到FO0~FO2207FZCPSa,SbP将浮点数S和由上限SU与下限SL所形成的区域作比较,再将比较结果送到FO0~FO2去208FSQRS,DP将S取平方根值后结果存入D(浮点数)209FSINS,DP将S取三角函数SIN值后结果存入D(浮点数)210FCOSS,DP将S取三角函数COS值后结果存入D(浮点数)211FTANS,DP将S取三角函数TAN值后结果存入D(浮点数)212FNEGDP将D的值取(负数)后存回D(浮点数)213FABSDP将D的值取绝对值后存回D(浮点数)附录一-3逻辑运算指令指令号码指令名称操作数衍生指令功能18ANDSa,Sb,DDP把Sa和Sb作逻辑AND后存入D19ORSa,Sb,DDP把Sa和Sb作逻辑OR后存入D35XORSa,Sb,DDP把Sa和Sb作逻辑ExclusiveOR运算后结果存入D36XNRSa,Sb,DDP把Sa和Sb作逻辑EnclusiveOR运算后结果存入D比较指令17CMPSa,SbDP比较Sa和Sb数据,再将比较结果送到FO0~FO237ZNCMPS,SU,SLDP将S和由上限SU与下限SL所形成的区域作比较,再将比较结果送到FO0~FO2去搬移指令8MOVS,DDP将S数据搬移至D(S→D)9MOV/S,DDP将S数据倒相后搬移至D(S→D)40BITRDS,NDP把S中N所指位的状态取出送到FO0去41BITWRD,NDP把INB输入的状态写入D中N所指的位42BITMVS,Ns,D,NdDP把S中的Ns位状态搬至D中的Nd位处43NBMVS,Ns,D,NdDP把S中Ns指定位数(Nibble)搬至D中Nd所指定的位数44BYMVS,Ns,D,NdDP把S中Ns指定的Byte搬至D中Nd所指定的Byte45XCHGDa,DbDP把Da和Db的内容值互换46SWAPDP把D中的High-Byte和Low-Byte的内容值互换47UNITS,N,DP把S开始的连续N个Word的位数0(NB0)取出依序串联后存入D48DISTS,N,DP把S的位数0(NB0)开始的连续N个位数,存放于D开始的N个Word的位数0去49BUNITS,N,DPS的N个低字节取出结合存入D50BDISTS,N,DPS的字节分配至D的N个低字节160RW-FRSa,Sb,Pr,LDP读/写档案缓存器指令161WR-MPS,BK,Os,Pr,L,WRP写入数据至MEMORYPACK指令162RD-MPBK,Os,Pr,L,DP从MEMORYPACK读取数据指令附录ㄧ-4位移/旋转指令指令号码指令名称操作数衍生指令功能6BSHFDDP将D数据作一位的位移(左或右移一位后存回D)51SHFLD,NDP把D作N位左移(高位方向)后存回D,移出位送到FO0,位移造成的空位用输入位填补52SHFRD,NDP把D作N位右移(低位方向)后存回D,移出位送到FO0,位移造成的空位用输入位填补53ROTLD,NDP把D作N位左旋转(高位方向)后存回D,旋出的位送到FO054ROTRD,NDP把D作N位右旋转(低位方向)后存回D,旋出的位送到FO0数码变换指令20→BCDS,DDPS资料变成等值的BCD值后存入D21→BINS,DDPS资料变成等值的二进制值后存入D55BÆGS,DDPS的二进制资料转成格雷码后存入D56GÆBS,DDPS的格雷码资料转成二进制值后存入D57DECODS,Ns,NL,DP将S中Ns开始往左(高位方向)NL个位所形成的二进制数值解码后,将结果存放到D开始的缓存器中58ENCODS,Ns,NL,DP将S中Ns开始往左(高位方向)NL个单点作高优先或低优先编码后,将结果存到D去59→7SGS,N,DP将S中N所指定的位数(NibbleN)变成7段码后存到D中的B0~B660→ASCS,DP将S(昀多12个文数字或符号)变成ASCII码后存到由D开始的缓存器去61→SECS,DP将S开始连续三个缓存器的时分秒时间值变成秒数后存到D去62→HMSS,DP将S的秒数值变成时分秒时间值并将它存入D开始的连续三个缓存器中63→HEXS,N,DP将S开始连续N个ASCII码转为十六进制值存入D64→ASCⅡS,N,DP将S开始连续N个十六进制值转为ASCII码存入D附录一-5流程控制指令指令号码指令名称操作数衍生指令功能0MCN主控回路的开始1MCEN主控回路的结束2SKPN跳过回路的开始3SKPEN跳过回路的结束END程序执行终止点(除错用)22BREAKPFOR与NEXT循环的跳出指令65LBL英文/数字1~6字定义操作数所列的文数字为Label66JMPLBLP跳到LBL处的程序去执行67CALLLBLP呼叫LBL的子程序68RTS子程序的返回指令69RTI中断服务程序的返回指令70FORNLoop指令的开始点及指定LoopN次71NEXTLoop指令的返回指令I/O指令74IMDIOD,NP立即更新主机上I/O点的状态76TKEYIN,D,KLD10个数字键的输入便利指令77HKEYIN,OT,D,KL,WRD16个键(10数字键,6控制键)的输入便利指令78DSWIN,OT,D,WRD指拨开关输入便利指令797SGDLS,OT,N,WRD7段显示用多任务扫描便利指令80MUXIIN,OT,N,D,WR多任务接点输入便利指令81PLSOMD,Fr,PCUY,DY,HOD脉冲输出指令(步进电机正反转驱动用)82PWMTo,Tp,OT脉冲宽度调变指令83SPDS,TI,D脉冲速度检测指令84TDSPMD,S,NsNl,D,Nd7/16段显示器(FBs-7SGXX)模块便利指令附录ㄧ-6指令号码指令名称操作数衍生指令功能86TPCTLMd,Yn,Sn,Zn,Sv,Os,PR,IR,DR,OR,WRPID温控便利指令139HSPWMPW,OP,RSPN,OR,WR硬件脉冲宽度调变指令积算型计时指令87T.01SCV,PVD0.01秒时基的积算型定时器88T.1SCV,PVD0.1秒时基的积算型定时器89T1SCV,PVD1秒时基的积算型定时器监控计时指令90WDTNP设定WDT的计时时间为NmS91RSWDTP复归WDT使它重新由0开始计时高速计数/计时指令92HSCTRCNP将SoC上硬件高速计数器HSC0~HSC3或HST的当前值CV读到PLC内部对应的HSC或HST的CV缓存器中93HSCTWS,CN,DP将PLC内部HSC0~HSC3或HST的CV或PV缓存器值写到SoC上的硬件HSC或HST的CV或PV缓存器报表打印指令94ASCWRMD,S,Pt将S地址开始的ASCII数据送到主机RS-232通讯端口(Port1)去缓升/缓降指令95RAMPTn,PV,SL,SU,DP缓升/缓降便利指令通讯指令150M-BusPt,SR,WRPModbus通讯便利指令151CLINKPt,MD,SR,WRP永宏通用通讯便利指令附录一-7列表指令指令号码指令名称操作数衍生指令功能100R→TRs,Td,L,PrDP把Rs值放入Td中Pr所指的位置去101T→RTs,L,Pr,RdDP把Ts中Pr所指位置的值放入Rd中102T→TTs,Td,L,PrDP把Ts中Pr所指位置的内容值放入Td中Pr所指的位置103BT_MTs,Td,LDP把Ts整个内容搬到Td中104T_SWPTa,Tb,LDP将列表Ta和Tb的内容整个对换105R-T_SRs,Ts,L,PrDP由上而下自Ts中找出和Rs值不同或相同的位置,并将该位置值存到Pr中106T-T_CTa,Tb,L,PrDP由上而下自Ta,Tb中比较找出值不同或相同的位置,并将该位置值存到Pr中107T_FILRs,Td,LDP将Rs值填入Td中的每个位置108T_SHFIW,Ts,Td,L,OWDP将Ts取出,位移一个位置后将结果存到Td去,而移出的资料送入OW,腾出的空位用IW填入109T_ROTTs,Td,LDP将Ts取出旋转一个位置后将结果存到Td去110QUEUEIW,QU,L,Pr,OWDP将IW压下贮列(QUEUE)或自贮列中取出送到OW去(先进先出装置)111STACKIW,ST,L,Pr,OWDP将IW压下堆栈(STACK)或从堆栈中取出数据送到OW中去(后进先出装置)112BKCMPRs,Ts,L,DDP将Rs的值和列表Ts所构成的L对上/下限值作比较,并将各对比较结果存到D所指定的继电器去(DRUM指令)113SORTS,D,LDP排序(由大而小或由小而大)便利指令矩阵指令120MANDMa,Mb,Md,LP将Ma和Mb作逻辑AND运算后将结果存到Md去121MORMa,Mb,Md,LP将Ma和Mb作逻辑OR运算后将结果存到Md去122MXORMa,Mb,Md,LP将Ma和Mb作逻辑ExclusiveOR运算后将结果存到Md123MXNRMa,Mb,Md,LP将Ma和Mb作逻辑EnclusiveOR运算后将结果存到Md124MINVMs,Md,LP将Ms作倒相后将结果存到Md去125MCMPMa,Mb,LPrPMa和Mb比较,找出值不同的位置,并将此位置值存到Pr去126MBRDMs,L,PrP将Ms中Pr所指位置的位状态取出送到FO0输出127MBWRMd,L,PrP将输入的状态写到Md中Pr所指的位去附录ㄧ-8指令号码指令名