您的当前位置:首页正文

S7-200编程指令

来源:一二三四网
S7-200的SIMATIC指令简表:

A :布 尔 指 令

序号1234567891011121314151617181920212223242526 名 称操作数梯 形 图 母线 母线 母线 母线 X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>X:<,<﹦,=,﹦>,>,<>所在页码 备 注开始的常开触点立即开始的常开触点开始的常闭触点立即开始的常闭触点串联的常开立即串联的常开串联的常闭立即串联的常闭并联的常开立即并联的常开并联的常闭立即并联的常闭LDLDILDNLDNIAAIANANIOOIONONILDBxADxODxLDWxAWxOWxLDDxADxODxLDRxARxORxNOTNOT P装载立即装载 取反装载取反后立即装载与立即与取反与立即取反与或立即或取反后或立即取反后或装载字节比较与字节比较或字节比较装载字比较与字比较或字比较装载双字比较与双字比较或双字比较装载实数比较与实数比较或实数比较取 反空操作NNNNNNNNNNNNIN1,IN2IN1,IN2IN1,IN2IN1,IN2IN1,IN2IN1,IN2IN1,IN2IN1,IN2IN1,IN2IN1,IN2IN1,IN2IN1,IN2栈顶值取反(结果)404340434043404340434043999999999999999999999999IN1与IN2相比较IN1与IN2相比较IN1与IN3相比较IN1与IN4相比较IN1与IN5相比较IN1与IN6相比较IN1与IN7相比较IN1与IN8相比较IN1与IN9相比较IN1与IN10相比较IN1与IN11相比较IN1与IN2相比较NOT44442728293031323334EUED上升沿下降沿输出 P N4444434343434343脉冲信号脉冲信号﹦﹦ISSIRRIMOVBMOVWMOVDMOVRBIRBIWBMBBMWBMDSWAPSHRBSRBSRWSRDSLBSLWSLDRRBNNbit Nbit Nbit Nbit N ( ) ( I ) ( R ) ( SI) ( R ) ( RI)立即输出置位立即置位复位立即复位B:传送,移位,循环和填充指令

35363738394041424344字节传送字传送双字传送实数传送立即读立即写字节块传送字块传送双字块传送交换字节IN,OUTIN,OUTEN ENOIN,OUTIN,OUTIN,OUTIN,OUTIN,OUT,NIN,OUT,NIN,OUT,NINDATA,S-BIT,N45移位寄存器DATA:输入的二进制的值S-BiT;将要移入的寄存 P 102的最低位。N:指定移位寄存器的长度和移位方向 MOV-B(W,D,R)100100100100100100 输入IN为IB;OUT为VB,IB,QB,MB,*AC,*LD,等输入IN为VB,IB,QB,MB,*AC,*LD等;OUT为QB。IN OUT BLKMOV-B(W,D)EN ENOIN OUTN100100100100个字节进行交换 把输入IN 字(W)的高低两 如dita为I0.3,s-bitV10.1,N为8:就是把I0.3的值‘0或1’,移入寄存器最低位,最高位溢出;如N为负,则从最高位移入,低位溢出,46474849505152字节右移n位字右移n位双字右移n位字节左移n位字左移n位双字左移n位字节循环右移n位OUT,N(SHR-B)OUT,NOUT,NOUT,N(SHL-B)OUT,NOUT,NOUT,N(R0R-B) SHL B(W,D)EN ENO102 字节,字,双字向右移位可理解为字节的低位向102高位移动,移位后空缺补“0”。或右边的数向左转102移。102 字节,字,双字向左移位可理解为字节的高位向102低位移动,移位后空缺补“0”,或左边的数向右转102移。102 字节,字,双字向右循环移位可理解为字节的低位向高位循环移动。或右

IN OUTN5354555657RRWRRDRLBRLWRLDFILL字循环右移n位双字循环右移n位字节循环左移n位字循环左移n位双字循左右移n位OUT,NOUT,NOUT,N(ROL-B)OUT,NOUT,N 同 上 字节,字,双字向右循环移位可理解为字节的低102位向高位循环移动。或右102边的数向左循环转移。102 字节,字,双字向左循环移位可理解为字节的高102位向低位循环移动,或左102边的数向右循环转移。将IN中的数写入以OUT为首的N个字中去。写入后以108OUT为首的N个字中均有IN。同 上58用指定的元素填充存储空间IN,OUT,N INEN ENO为数据;OUT为WORDIN OUT型,N为数字N FILL C:逻辑指令

59606162636465666768697071727374757677ALDOLDLPSLRDLPPLDS nAENOANDBANDWANDDORBORWORDXORBXORWXORDINVBINVWINVD电路块串联 把复杂的电路分割成块,块与块并联或串联,依次类推,N块与N-1块串联或并联;注意在构成关系的电路块并联块中,每一小块前面都要用上装载开始指令。40电路块与电路块串连40电路块与电路块并连,40404040入栈读栈出栈装载堆栈 复制栈顶值压入栈的第一层,其它1-9层下移,原第9层消失。 复制栈的第2层数据压入栈的第一层,原第1层消失,下面的3-9层不变。(形成两个二层数据) 栈内每一层数据往上提一位,原第一层数据从栈内消失, 复制栈中LDS中‘N’所指的第N层数据到栈顶,并压入栈的第一层,其它1-9层下移,原第9层消失。如:⑴LDI0.1, 装载开始 ;对ENO进行操作⑵DEC-B VB0;#VB0中的数减1;⑶AENO, #如减1指令成功则ENO输出;对ENO进行‘与’操作116 两个字节(字,双字)相与;是它们的高位与高116位,低位与低位相与,执行‘1和1=1,1和0或0和1161=0的方针:116 两个字节(字,双字)相或;是它们的高位与高116位,低位与低位相或,执行‘1和1=1,1和0或0和1161=1,0+0=0的方针:116 两个字节(字,双字)相异或;是它们的高位与高116位,低位与低位相异或,执行‘1和1或0和0均为0,1和0116或0和1均为1的方针;字节逻辑与字逻辑与双字逻辑与字节逻辑或字逻辑或双字逻辑或字节逻辑异或字逻辑异或双字逻辑异或IN1 IN2 OUTIN1 IN2 OUTIN1 IN2 OUTIN1 IN2 OUTIN1 IN2 OUTIN1 IN2 OUTIN1 IN2 OUTIN1 IN2 OUTIN1 IN2 OUT IN OUT IN OUT IN OUT INV-B(W,D)EN ENOIN OUT WAND-BEN ENOIN1 OUTIN2字节取反字取反双字取反116 两个字节(字,双字)116相取反;是0变1,和1变0的方针;116 D:表,查找和转换指令

78ATTLIFOFIFOFND=FND<FND>BCDIIBCDBTIITBITDDTIDTBTRUNCROUNDATHHTAITADTARTADECOENCOSEGCRETENIDISI798081 AD-T-TAB加一个字DATA,EN ENODATA,TABLETBL,表的首地址,DATA为字型,DATA为将要TBL填入的字,为INT型,TABLE,DATA后入先出TBL为INT型 FIFO(LIFO)EN ENOTABLE,DATA先入先出DATA为WORD型TBL DATATBL PATRN INDXTBL PATRN INDXTBL PATRN INDXTBL PATRN INDXBCD码转换成整数整数转换成BCD码字节转换成整数整数转换成字节 整数转换成双整数 双整数转换成整数 双整数转换成实数 实数四舍五入为双整数 实数截位取整为双整数 ASCII码→16进制数 16进制数→ASCII码 整数→ASCII码 双整数→ASCII码 实数→ASCII码填表:向TBL中新增108DATD表将要输入的字,TBL为以它为首的一个表,其中表中字第1个表示TL,TL中的数字表示的表中共有多少个字;第二个字表示EC,EC中的数字表示目前表中有多少个数,新增一次,EC加1。FIFO把表TBL中先存入的第一个数移入DATA中,剩下的往上移;LIFO把表TBL中最后存入的数移入DATA中。移走后EC减1。10810882FND<>8384858687888990919293949596979899100101查表 :其中TBL为表EC TBL-FIND的地址,表中共有多少EN ENO字;PTN,表示条件值的TBL大小;INDX表示查找到后PTN输入其中;CMD则为1—4,分别为=,<>,<,INDXCDM>。108注:在查表指令中,TBL的值比填表指令中高2个字节。一108个是VB200,另一个是VB202。查找到时,把查到的数据108写入INDX中,继续查,需把INDX加1;查不到时,把EC中108的数写入INDX中。OUTOUTIN,OUTIN,OUTIN,OUTIN,OUTIN,OUTIN,OUTIN,OUTIN,OUT,LENIN,OUT,LENIN,OUT,LENIN,OUT,LENIN,OUT,LENIN,OUTIN,OUTIN,OUT DECOEN ENOIN OUT ATNEN ENOIN OUTLEN(FMT) BCD-IEN ENOIN OUT104BCD码(十进制)与整数(十六进制数)之间的转104换。104字节(八进制)与整数(十六进制数)之间的转104换。104双整数(三十二位)与整数(十六进制数)之间的104转换。104104104104104104104104104104104有小数的实数与没小数的双整数之间转换。 译码 编码 7段译码 E:中断指令102103104从中断程序有条件返回 (RETI) (ENI0) (DISI)不需要填写,中断程序自动填写119119允许中断禁止中断105ATCHDTCH给事件分配中断程序INT,EVET ATCH ENENO INT119EVNT106解除中断程序EVENT DTCHEN ENOEVNT119 当输入EVNT中断号产生时,不执行任何中断。 F:通信指令107108109110111112XMTRCV自由端口发送自由端口接收TABLE,POPTTABLE,POPTTABLE,POPTTABLE,POPTADDR,POPTADDR,POPTNETR网络读NEYW网络写GRASPA获得端口地址设置端口地址 F:高速计数器指令113HDEF 定义高速计数器模式HSC,MODE HDEFEN ENOHSCMODW HSCEN ENON其中:HSC为启用计数器的编号;123MODE为启用计数器的模式。114115HSCPLS激活高速计数器N123HSC为启用计数器的编号脉冲输出X J:定时器和计数器指令116117118119120121TONTOFTONRCTUCTDCTUD通电延时断电延时保持型通电延时Txxxx,ptTxxxx,ptTxxxx,ptTxxxx,pvTxxxx,pvTxxxx,pv TxxxEN TONPT CxxEN CTURPV47474747Txxx为计数器的编号,47R为计数器复位; VT设定值。47Txxx为定时器的编号,PT设定值。加计数器减计数器加减计数器 H:实时时钟指令TODR读实时时钟 READ-RTCT :以‘T’开始的8EN ENO个存贮字节T110 把CPU中原来的实时时钟读出来;122TODW写实时时钟T :以‘T’开始的8个存贮字节 SET-RTCEN ENOT110 把设置好的实时时钟写入CPU中去; I:数学,;加1,减1指令123ADD I 整数,双整124ADD DI数或实数的加法。125ADD RINT+OUT﹦OUT126SUB I 整数,双整127SUB DI数或实数的减法。128SUB ROUT-IN1﹦OUT129IN1,IN2,OUTIN1,IN2,OUTIN1,IN2,OUTIN1,IN2,OUTIN1,IN2,OUTIN1,IN2,OUTIN1,IN2,OUTIN1,IN2,OUTIN1,IN2,OUTIN1,IN2,OUTIN1,OUTIN1,OUTIN1,OUTIN1,OUTIN1,OUTIN1,OUTIN1,OUTIN1,OUTIN1,OUTIN1,OUTOUTOUTOUTOUTOUTOUTTable,Loop INCBEN ENOIN OUT SQRTEN ENOIN OUT ADD IEN ENOIN1 OUTIN2 ADD IEN ENOIN1 OUTIN211111111411111111411111411111111111411111111411411411411411411211211211211211216整+16整=16整IN1+IN2=OUT32整+32整=32整IN1+IN2=OUT32整+32整=32整IN1+IN2=OUT16整—16整=16整IN1-IN2=OUT32整—32整=32整IN1-IN2=OUT32整—32整=32整IN1-IN2=OUT16整×16整=32整IN1×IN2=OUT32整×32整=32整IN1×IN2=OUT16整×16整=16整IN1×IN2=OUT32整×32整=32整IN1×IN2=OUT16整÷16整=32整IN1÷IN2=OUT32整÷32整=32整IN1÷IN2=OUT16整÷16整=16整IN1÷IN2=OUT32整÷32整=32整IN1÷IN2=OUTMUL130MUL R131MUL I132MUL DI133 整数乘整数得双整数,实数, 整数或双整数乘法。IN1×OUT﹦OUTDIV134DIV R135DIV I 整数除整数得双整数,实数, 整数或双整数乘法。136DIV DIIN1÷OUT﹦OUT137138139140141142143144145146147148149SQRTLNEXPSINCOSTANINCBINCWINCDDECBDECWDECDPID平方根自然对数自然指数正弘余弘正切字节加1字加1双字加1字节减1字减1双字减1PID回路 DECBEN ENOIN OUT N:程序控制指令150151152153154155156ENDSTOPWDRJMPLBLCALLCRETFORNEXTLSCRSCRTSCRE程序的条件结束 (END)切换到停止模式 (STOP)不需要填写程序自动填写在中断中,则中断程结束,反回执行剩下的主程序,结束后从RUN到STOP。93程序结束只在主程序中用在主程序中使用,则程序从RUN93到STOP;93看门狗复位跳转指定的标号监控定时器复位指令NNN(N1,N2,,) (JMP)标号结束调用子程序反回子程序93 两个配套使用,一个93JMP开始另一个LBL结束。9494INDX:为正在执行的循环次数计数;INIT:为循环94次数的初始值;FINAL:为循环次数 为设定值。94157 ROREN ENOFOR/NEXT循环INDX,INIT,FINALINDXINITFINALFOR/NEXT循环 顺控继电器段的启动 顺控继电器段的转换 顺控继电器段的结束158159160161循环结束NN (NEXT)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top