-1-所有语句表指令助记符程序元素分类说明+整数算术运算指令加上一个整数常数(16位,32位)=位逻辑指令赋值)位逻辑指令嵌套闭合+AR1累加器指令AR1加累加器1至地址寄存器1+AR2累加器指令AR2加累加器1至地址寄存器2+D整数算术运算指令作为双整数(32位),将累加器1和累加器2中的内容相加-D整数算术运算指令作为双整数(32位),将累加器2中的内容减去累加器1中的内容*D整数算术运算指令作为双整数(32位),将累加器1和累加器2中的内容相乘/D整数算术运算指令作为双整数(32位),将累加器2中的内容除以累加器1中的内容?D比较指令双整数(32位)比较==,,,,=,=+I整数算术运算指令作为整数(16位),将累加器1和累加器2中的内容相加-I整数算术运算指令作为整数(16位),将累加器2中的内容减去累加器1中的内容*I整数算术运算指令作为整数(16位),将累加器1和累加器2中的内容相乘/I整数算术运算指令作为整数(16位),将累加器2中的内容除以累加器1中的内容?I比较指令整数(16位)比较==,,,,=,=+R浮点算术运算指令作为浮点数(32位,IEEE-FP),将累加器1和累加器2中的内容相加-R浮点算术运算指令作为浮点数(32位,IEEE-EP),将累加器2中的内容减去累加器1中的内容*R浮点算术运算指令作为浮点数(32位,IEEE-EP),将累加器1和累加器2中的内容相乘/R浮点算术运算指令作为浮点数(32位,IEEE-EP),将累加器2中的内容除以累加器1中的内容?R比较指令比较两个浮点数(32位)比较==,,,,=,=A位逻辑指令“与”A(位逻辑指令“与”操作嵌套开始ABS浮点算术运算指令浮点数取绝对值(32位,IEEE-FP)ACOS浮点算术运算指令浮点数反余弦运算(32位)AD字逻辑指令双字“与”(32位)AN位逻辑指令“与非”AN(位逻辑指令“与非”操作嵌套开始ASIN浮点算术运算指令浮点数反正弦运算(32位)ATAN浮点算术运算指令浮点数反正切运算(32位)AW字逻辑指令字“与”(16位)BE程序控制指令块结束BEC程序控制指令条件结束BEU程序控制指令无条件结束BLD程序控制指令程序显示指令(空)BTD转换指令BCD转成整数(32位)BTI转换指令BCD转成整数(16位)CAD转换指令ChangeByteSequenceinACCU1(32-bit)CALL程序控制指令块调用CALL程序控制指令调用多背景块-2-助记符程序元素分类说明CALL程序控制指令从库中调用块CAR装入/传送指令交换地址寄存器1和地址寄存器2的内容CAW转换指令ChangeByteSequenceinACCU1-L(32-bit)CC程序控制指令条件调用CD计数器指令减计数器CDB转换指令交换共享数据块和背景数据块CLR位逻辑指令RLO清零(=0)COS浮点算术运算指令浮点数余弦运算(32位)CU计数器指令加计数器DEC累加器指令减少累加器1低字的低字节DTB转换指令双整数(32位)转成BCDDTR转换指令双整数(32位)转成浮点数(32位,IEEE-FP)ENT累加器指令进入累加器栈EXP浮点算术运算指令浮点数指数运算(32位)FN位逻辑指令脉冲下降沿FP位逻辑指令脉冲上升沿FR计数器指令使能计数器(任意)(任意,FRC0-C255)FR定时器指令使能定时器(任意)INC累加器指令增加累加器1低字的低字节INVD转换指令对双整数求反码(32位)INVI转换指令对整数求反码(16位)ITB转换指令整数(16位)转成BCDITD转换指令整数(16位)转成双整数(32位)JBI跳转指令若BR=1,则跳转JC跳转指令若RLO=1,则跳转JCB跳转指令若RLO=1且BR=1,则跳转JCN跳转指令若RLO=0,则跳转JL跳转指令跳转到标号JM跳转指令若负,则跳转JMZ跳转指令若负或零,则跳转JN跳转指令若非零,则跳转JNB跳转指令若RLO=0,且BR=1,则跳转JNBI跳转指令若BR=0,则跳转JO跳转指令若OV=1,则跳转JOS跳转指令若OS=1,则跳转JP跳转指令若正,则跳转JPZ跳转指令若正或零,则跳转JU跳转指令无条件跳转JUO跳转指令若无效数,则跳转JZ跳转指令若零,则跳转L装入/传送指令装入LDBLG装入/传送指令将共享数据块的长度装入累加器1中LDBNO装入/传送指令将共享数据块的块号装入累加器1中-3-助记符程序元素分类说明LDILG装入/传送指令将背景数据块的长度装入累加器1中LDINO装入/传送指令将背景数据块的块号装入累加器1中LSTW装入/传送指令将状态字装入累加器1L定时器指令将当前定时值作为整数装入累加器1(当前定时值可以是0~255之间的一个数字,如LT32)L计数器指令将当前计数值装入累加器1(当前定时值可以是0~255之间的一个数字,如LC15)LAR1装入/传送指令将累加器1中的内容装入地址寄存器组织块、系统功能与系统功能块OB编号启动事件默认优先级说明OB1启动或上一次循环结束时执行OB11主程序循环OB10-OB17日期时间中断0-72在设定的日期和时间启动OB20-OB23时间延迟中断0-33-6延时后启动OB30-OB38循环中断0-8,默认时间间隔位5s、2s、1s、500ms、200ms、100ms、50ms、20ms、10ms7-15以设定时间为周期运行OB40-OB47硬件中断0-716-23检测到来自外部模块的中断请求时启动OB55状态中断2DPV1中断(PROFIBUS-DP中断)OB56刷新中断2OB57制造厂商特殊中断2OB60多处理器中断,调用SFC35是启用25多处理器中断的同步操作OB61-OB64同步循环中断1-425同步循环中断OB70I/O冗余错误25冗余故障中断,只用于H系列CPUOB72CPU冗余错误28OB73通信冗余错误25OB80时间错误26启动时为28异步错误中断OB81电源故障OB82诊断中断OB83插入/拔出模块中断OB84CPU硬件故障OB85优先级错误OB86扩展机架、DP主站系统或分布式I/O站故障OB87通信故障OB88过程中断28OB90冷、热启动、删除块或背景循环29背景循环OB100暖启动27启动OB101热启动OB102冷启动OB121OB122编程错误I/O访问错误(读/写)与引起中断的OB有相同的优先级同步错误中断注:优先级29相当于0.29,即背景循环具有最低的优先权-4-系统功能表编号名称功能SFC0SET_CLK设置系统时钟SFC1READ_CLK读取系统时钟SFC2SET_RTM设置运行时间定时器SFC3CTRL_RTM启动/停止运行时间定时器SFC4READ_RTM读取运行时间定时器SFC5GADR_LGC查询通道的逻辑地址SFC6RD_SINFO读取OB的起动信息SFC7DP_PRAL触发DP主站的硬件中断SFC9EN_MSG激活与块相关、符号相关和组状态的信息SFC10DIS_MSG禁止与块相关、符号相关和组状态的信息SFC11SYC_FR同步或锁定DP从站组SFC12D_ACT_DP激活或取消DP从站SFC13DPNRM_DG读取DP从站的诊断信息(从站诊断)SFC14DPRD_DT读标准DP从站的一致性数据SFC15DPWR_DAT写标准DP从站的一致性数据SFC17ALARM_SQ生成可应答的与块相关的报文SFC18ALARM_S生成永久性的可应答的与块相关的报文SFC19ALARM_SC查询最后的ALARM_SQ状态报文的应答状态SFC20BLKMOV复制多个变量SFC21FILL初始化存储器SFC22CREAT_DB生成一个数据块SFC23DEL_DB删除一个数据块SFC24TEST_DB测试一个数据块SFC25COMPRESS压缩用户存储器SFC26UPDAT_PI刷新过程映像输入表SFC27UPDAT_PO刷新过程映像输出表SFC28SET_TINT设置实时时钟中断SFC29CAN_TINT取消实时时钟中断SFC30ACT_TINT激活实时时钟中断SFC31QRY_TINT查询实时时钟中断的状态SFC32SRT_DINT启动延时中断SFC33CAN_DINT取消延迟中断SFC34QRY_DINT查询延迟中断SFC35MP_ALM触发多CPU中断SFC36MSK_FLT屏蔽同步错误SFC37DMSK_FLT解除对同步错误的屏蔽SFC38READ_ERR读错误寄存器SFC39DIS_IRT禁止新的中断和异步错误处理SFC40EN_IRT允许新的中断和异步错误处理SFC41DIS_AIRT禁止高优先级的中断和异步错误处理-5-编号名称功能SFC42EN_AIRT允许高优先级的中断和异步错误处理SFC43RE_TRIGR重新触发扫描时间监视SFC44REPL_VAL将替换值传送到累加器1中SFC46STP将CPU切换到STOP模式SFC47WAIT延迟用户程序的执行SFC48SNC_RTCB同步从站的实时时钟SFC49LGC_GAGR查询一个逻辑地址的插槽和机架SFC50RD_LGADR查询模块所有的逻辑地址SFC51RDSYSST读取系统状态表或局部系统状态表SFC52WR_USMSG将用户定义的诊断事件写入诊断缓冲器SFC54RD_PARM读定义的参数SFC55WR_PARM写入动态参数SFC56WR_DPARM写入默认的参数SFC57PARM_MOD指定模块的参数SFC58WR_REC写入一个数据记录SFC59RD_REC读取一个数据记录SFC60GD_SND发送全局数据(GD)包SFC61GD_RCV接收全局数据包SFC62CONTROL查询属于S7-400的本地通信SFB背景的连接状态SFC63AB_CALL调用汇编代码块SFC64TIME_TCK读取系统时间SFC65X_SEND将数据发送到局域S7站外的一个通信伙伴SFC66X_RCV接收局域S7站外的一个通信伙伴的数据SFC67X_GET读取局域S7站外的一个通信伙伴的数据SFC68X_PUT将数据写入局域S7站外的一个通信伙伴SFC69X_ABORT中止与局域S7站外的一个通信伙伴的连接SFC72I_GET读取局域S7站内的一个通信伙伴的数据SFC73I_PUT将数据写入局域S7站内的一个通信伙伴SFC74I_ABORT中止与局域S7站内的一个通信伙伴的连接SFC78OB_RT确定OB程序的运行时间SFC79SET置位输出范围SFC80REST复位输出范围SFC81UBLKMOV不能中断的块传送SFC82CREA_DBL生成装载存储器中的数据块SFC83READ_DBL读取装载存储器中的一个数据块SFC84WRIT_DBL写入装载存储器中的一个数据块SFC87C_DIAG实际连接状态的诊断SFC90H_CTRLH系统的控制操作SFC100SET_CLKS设置日期时间和日期时间状态SFC101RTM处理运行时间计时器SFC102RD_DPARA重新定义参数SFC103DP_TOPOL识别DP主系统中的总线拓扑-6-编号名称功能SFC104CiR控制CiRSFC105READ_SI读动态系统资源SFC106DEL_SI删除动态系统资源SFC107ALARM_DQ生成可应答的与块有关的报文SFC108ALARM_D生成永久的可应答的与块有关的报文SFC126SYNC_PI同步刷新过程映像输入表SFC127SYNC_PO同步刷新过程映像输出表系统功能块编号名称功能SFB0CTU加计数SFB1CTD减计数SFB2CTUD加/减计数SFB3TP生成一个脉冲SFB4TON产生ON延迟SFB5TOF产生OFF延迟SFB8USEND不对等的数据传送SFB9URCV不对等的数据接受SFB12BSEND发送段数据SFB13BRCV接受段数据SFB14GET从远程CPU读数据SFB15PUT向远程CPU写数据SFB16PRINT发送数据到打印机SFB19START初始化远程装置的暖启动或冷启动SFB20STOP