版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-6-7PLC指令集指令集1S7-200可编程控制器可编程控制器指令集指令集PLC 课程组 2022-6-7PLC指令集指令集2主要内容主要内容u6.1用于描述指令的习惯用语用于描述指令的习惯用语 u6.2S7-200存储器范围及特性存储器范围及特性u6.3位逻辑指令位逻辑指令 u6.4时钟指令时钟指令u6.5通讯指令通讯指令u6.6比较指令比较指令u6.7转换指令转换指令u6.8计数器指令计数器指令u6.9高速计数器指令高速计数器指令2022-6-7PLC指令集指令集3u6.10脉冲输出指令脉冲输出指令 u6.11数字运算指令数字运算指令 u6.12比例比例/积分积分/微分(微分(P
2、ID)回路控制指令)回路控制指令u6.13中断指令中断指令 u6.14逻辑操作指令逻辑操作指令 u6.15传送指令传送指令u6.16程序控制指令程序控制指令u6.17移位和循环指令移位和循环指令u6.18字符串指令字符串指令2022-6-7PLC指令集指令集4u6.19表指令表指令 u6.20定时器指令定时器指令u6.21子程序指令子程序指令2022-6-7PLC指令集指令集56.1用于描述指令的习惯用语用于描述指令的习惯用语 u图图6-1给出了对一条指令的典型描述,并指出了用给出了对一条指令的典型描述,并指出了用于描述指令及其操作的不同区域。指令说明包括于描述指令及其操作的不同区域。指令说明
3、包括LAD、FBD和和STL三种格式。操作数表列出了指三种格式。操作数表列出了指令的操作数,并给出每个操作数的有效数据类型,令的操作数,并给出每个操作数的有效数据类型,存储区的区域及长度。存储区的区域及长度。uEN/ENO操作数和数据类型没有在指令操作数表操作数和数据类型没有在指令操作数表中列出,因为这些操作数对于所有的中列出,因为这些操作数对于所有的LAD和和FBD指令来说都是一样的。指令来说都是一样的。n对于对于LAD:EN和和ENO是能流,为布尔数据类型。是能流,为布尔数据类型。n对于对于FBD:EN和和ENO是是I、Q、V、M、SM、S、T、C、L或者能流,为布尔数据类型。或者能流,为
4、布尔数据类型。2022-6-7PLC指令集指令集62022-6-7PLC指令集指令集76.2S7-200存储器范围及特性存储器范围及特性2022-6-7PLC指令集指令集82022-6-7PLC指令集指令集96.3位逻辑指令位逻辑指令 u触点触点n标准触点标准触点l常开触点指令(常开触点指令(LD、A和和O)与常闭触点指令)与常闭触点指令(LDN、AN和和ON)从存储器或者过程映象寄存器)从存储器或者过程映象寄存器中得到参考值。标准触点指令从存储器中得到参考中得到参考值。标准触点指令从存储器中得到参考值。(如果数据类型是值。(如果数据类型是I或或Q,则也可从过程映象寄,则也可从过程映象寄存器中
5、得到参考值。)存器中得到参考值。)l当位值为当位值为1时,常开触点闭合;当位值为时,常开触点闭合;当位值为0时,常闭时,常闭触点闭合。触点闭合。l在在FBD中,与和或操作的输入可以最多扩展到中,与和或操作的输入可以最多扩展到32个。个。在在STL中,常开指令中,常开指令LD、AND或或OR或将相应地址或将相应地址位的位值存入栈顶;而常闭指令位的位值存入栈顶;而常闭指令 LD、AND或或OR则则将相应地址位的位值取反,再存入栈顶。将相应地址位的位值取反,再存入栈顶。2022-6-7PLC指令集指令集102022-6-7PLC指令集指令集112022-6-7PLC指令集指令集12n立即触点立即触点
6、l立即触点并不依赖于立即触点并不依赖于S7-200的扫描周期刷新,它会的扫描周期刷新,它会立即刷新。常开立即触点指令(立即刷新。常开立即触点指令(LDI、AI和和OI)和)和常闭立即触点指令(常闭立即触点指令(LDNI、ANI和和ONI)在指令执)在指令执行时得到物理输入值,但过程映像寄存器并不刷新。行时得到物理输入值,但过程映像寄存器并不刷新。l当物理输入点状态为当物理输入点状态为1时,常开立即触点闭合;当物时,常开立即触点闭合;当物理输入点状态为理输入点状态为0时,常闭立即触点闭合。常开立即时,常闭立即触点闭合。常开立即指令指令LD、AND或或OR将物理输入值存入栈顶,而常将物理输入值存入
7、栈顶,而常闭立即指令闭立即指令LD、AND或或OR将物理输入的值取反,将物理输入的值取反,再存入栈顶。再存入栈顶。2022-6-7PLC指令集指令集13n取反指令(取反指令(NOT)l取反指令(取反指令(NOT)改变能流输入的状态(也就是说,它将栈)改变能流输入的状态(也就是说,它将栈顶值由顶值由0变为变为1,由,由1变为变为0)。)。n正、负跳变指令(正、负跳变指令(EU、ED)l正跳变触点指令(正跳变触点指令(EU)检测到每一次正跳变(由)检测到每一次正跳变(由0到到1),让),让能流接通一个扫描周期。负跳变触点指令(能流接通一个扫描周期。负跳变触点指令(ED)检测到每一)检测到每一次负跳
8、变(由次负跳变(由1到到0),让能流接通一个扫描周期。对于正跳),让能流接通一个扫描周期。对于正跳变指令,一旦发现有正跳变发生(由变指令,一旦发现有正跳变发生(由0到到1),该栈顶值被置),该栈顶值被置为为1,否则置,否则置0。对于负跳变指令,一旦发现有负跳变发生。对于负跳变指令,一旦发现有负跳变发生(由(由1到到0),该栈顶值被置为),该栈顶值被置为1,否则置,否则置0。l对于运行模式下编辑(在对于运行模式下编辑(在RUN模式下编辑应用程序),必须模式下编辑应用程序),必须为正跳变指令和负跳变指令输入参数。为正跳变指令和负跳变指令输入参数。l关于在关于在RUN模式下编辑程序的更多信息参见模式
9、下编辑程序的更多信息参见SIEMENS的详细的详细资料。资料。2022-6-7PLC指令集指令集142022-6-7PLC指令集指令集15u如图如图6-2中所示,中所示,S7-200用逻辑堆栈来决用逻辑堆栈来决定控制逻辑。在本例中,定控制逻辑。在本例中,“iv0”到到“iv7”表表示逻辑堆栈的初始值,示逻辑堆栈的初始值,“nv”表示指令提供表示指令提供的一个新值,的一个新值,S0表示逻辑堆栈中存储的计表示逻辑堆栈中存储的计算值。算值。2022-6-7PLC指令集指令集162022-6-7PLC指令集指令集172022-6-7PLC指令集指令集182022-6-7PLC指令集指令集19u线圈线圈
10、n输出(输出(=)l输出指令(输出指令(=)将新值写入输出点的过程映象寄存)将新值写入输出点的过程映象寄存器。当输出指令执行时,器。当输出指令执行时,S7-200将输出过程映象将输出过程映象寄存器中的位接通或者断开。在寄存器中的位接通或者断开。在LAD和和FBD中,指中,指定点的值等于能流。在定点的值等于能流。在STL中,栈顶的值复制到指中,栈顶的值复制到指定位。定位。n立即输出(立即输出(=I)l当指令执行时,立即输出指令(当指令执行时,立即输出指令(=I)将新值同时写)将新值同时写到物理输出点和相应的过程映象寄存器中。到物理输出点和相应的过程映象寄存器中。2022-6-7PLC指令集指令集
11、202022-6-7PLC指令集指令集212022-6-7PLC指令集指令集22l当立即输出指令执行时,物理输出点立即被置为能当立即输出指令执行时,物理输出点立即被置为能流值。在流值。在STL中,立即指令将栈顶的值立即复制到中,立即指令将栈顶的值立即复制到物理输出点的指定位上。物理输出点的指定位上。“I”表示立即,当指令执表示立即,当指令执行时,新值会同时被写到物理输出和相应的过程映行时,新值会同时被写到物理输出和相应的过程映象寄存器。这一点不同于非立即指令,只把新值写象寄存器。这一点不同于非立即指令,只把新值写入过程映象寄存器。入过程映象寄存器。n置位(置位(S)和复位()和复位(R)l置位
12、(置位(S)和复位()和复位(R)指令将从指定地址开始的)指令将从指定地址开始的N个点置位或者复位。可以一次置位或者复位个点置位或者复位。可以一次置位或者复位1-255个点。个点。2022-6-7PLC指令集指令集23n如果复位指令指定的是一个定时器位(如果复位指令指定的是一个定时器位(T)或)或计数器位(计数器位(C),指令不但复位定时器或计数),指令不但复位定时器或计数器位,而且清除定时器或计数器的当前值。器位,而且清除定时器或计数器的当前值。2022-6-7PLC指令集指令集24n立即置位和立即复位立即置位和立即复位l立即置位和立即复位指令将从指定地址开始的立即置位和立即复位指令将从指定
13、地址开始的N个个点立即置位或者立即复位。可以一次置位或复位点立即置位或者立即复位。可以一次置位或复位1到到128个点。个点。l“I”表示立即,当指令执行时,新值会同时被写到表示立即,当指令执行时,新值会同时被写到物理输出和相应的过程映象寄存器。这一点不同于物理输出和相应的过程映象寄存器。这一点不同于非立即指令,只把新值写入过程映像寄存器。非立即指令,只把新值写入过程映像寄存器。2022-6-7PLC指令集指令集252022-6-7PLC指令集指令集262022-6-7PLC指令集指令集272022-6-7PLC指令集指令集28u逻辑堆栈指令逻辑堆栈指令n栈装载与(栈装载与(ALD)l栈装载与指
14、令(栈装载与指令(ALD)对堆栈中第一层和第二层的)对堆栈中第一层和第二层的值进行逻辑与操作,结果放入栈顶。执行完栈装载值进行逻辑与操作,结果放入栈顶。执行完栈装载与指令之后,栈深度减与指令之后,栈深度减1。n栈装载或(栈装载或(OLD)l栈装载或指令(栈装载或指令(OLD)对堆栈中第一层和第二层的)对堆栈中第一层和第二层的值进行逻辑或操作,结果放入栈顶。执行完栈装载值进行逻辑或操作,结果放入栈顶。执行完栈装载或指令之后,栈深度减或指令之后,栈深度减1。2022-6-7PLC指令集指令集29n逻辑推入栈(逻辑推入栈(LPS)l逻辑推入栈指令(逻辑推入栈指令(LPS)复制栈顶的值,并将这个)复制
15、栈顶的值,并将这个值推入栈。栈底的值被推出并消失。值推入栈。栈底的值被推出并消失。n逻辑读栈(逻辑读栈(LRD)l逻辑读栈指令(逻辑读栈指令(LRD)复制堆栈中的第二个值到栈)复制堆栈中的第二个值到栈顶。堆栈没有推入栈或者弹出栈操作,但旧的栈顶顶。堆栈没有推入栈或者弹出栈操作,但旧的栈顶值被新的复制值取代。值被新的复制值取代。n逻辑弹出栈(逻辑弹出栈(LPP)l逻辑弹出栈指令(逻辑弹出栈指令(LPP)弹出栈顶的值,堆栈的第)弹出栈顶的值,堆栈的第二个栈值成为新的栈顶值。二个栈值成为新的栈顶值。2022-6-7PLC指令集指令集30nENO与(与(AENO)lENO与指令(与指令(AENO)对)
16、对ENO位和栈顶的值进行逻辑与操作,位和栈顶的值进行逻辑与操作,其产生的效果与其产生的效果与LAD或者或者FBD中盒指令的中盒指令的ENO位相同。与操位相同。与操作结果成为新的栈顶。作结果成为新的栈顶。lENO是是LAD和和FBD中盒指令的布尔输出。如果盒指令的中盒指令的布尔输出。如果盒指令的EN输输入有能流并且执行没有错误,则入有能流并且执行没有错误,则ENO将能流传递给下一元素。将能流传递给下一元素。您可以把您可以把ENO作为指令成功完成的使能标志位。作为指令成功完成的使能标志位。ENO位被用位被用作栈顶,影响能流和后续指令的执行。作栈顶,影响能流和后续指令的执行。STL中没有中没有EN输
17、入。输入。条件指令要想执行,栈顶值必须为逻辑条件指令要想执行,栈顶值必须为逻辑1。在。在STL中也没有中也没有ENO输出。但是在输出。但是在STL中,那些与中,那些与LAD和和FBD中具有中具有ENO输输出的指令相应的指令,存在一个特殊的出的指令相应的指令,存在一个特殊的ENO位。它可以被位。它可以被AENO指令访问。指令访问。n装入堆栈(装入堆栈(LDS)l装入堆栈指令(装入堆栈指令(LDS)复制堆栈中的第)复制堆栈中的第N个值到栈顶。栈底的个值到栈顶。栈底的值被推出并消失。值被推出并消失。2022-6-7PLC指令集指令集31u如图如图6-3中所示,中所示,S7-200用逻辑堆栈来决用逻辑
18、堆栈来决定控制逻辑。在本例中,定控制逻辑。在本例中,“iv0”到到“iv7”表表示逻辑堆栈的初始值,示逻辑堆栈的初始值,“nv”表示指令提供表示指令提供的一个新值,而的一个新值,而“S0”表示逻辑堆栈中存储表示逻辑堆栈中存储的计算值。的计算值。2022-6-7PLC指令集指令集322022-6-7PLC指令集指令集332022-6-7PLC指令集指令集34uRS触发器指令触发器指令n置位优先触发器是一个置位优先的锁存器。当置位优先触发器是一个置位优先的锁存器。当置位信号(置位信号(S1)和复位信号()和复位信号(R)都为真时,)都为真时,输出为真。输出为真。n复位优先触发器是一个复位优先的锁存
19、器。当复位优先触发器是一个复位优先的锁存器。当置位信号(置位信号(S)和复位信号()和复位信号(R1)都为真时,)都为真时,输出为假。输出为假。nBit参数用于指定被置位或者复位的布尔参数。参数用于指定被置位或者复位的布尔参数。可选的输出反映可选的输出反映Bit参数的信号状态。参数的信号状态。n表表6-7中给出了例子程序的真值表。中给出了例子程序的真值表。2022-6-7PLC指令集指令集352022-6-7PLC指令集指令集362022-6-7PLC指令集指令集376.4时钟指令时钟指令u读实时时钟(读实时时钟(TODR)和写实时时钟)和写实时时钟(TODW)n读实时时钟(读实时时钟(TOD
20、R)指令从硬件时钟中读当)指令从硬件时钟中读当前时间和日期,并把它装载到一个前时间和日期,并把它装载到一个8字节,起字节,起始地址为始地址为T的时间缓冲区中。的时间缓冲区中。n写实时时钟(写实时时钟(TODW)指令将当前时间和日期)指令将当前时间和日期写入硬件时钟,当前时钟存储在以地址写入硬件时钟,当前时钟存储在以地址T开始开始的的8字节时间缓冲区中。字节时间缓冲区中。n您必须按照您必须按照BCD码的格式编码所有的日期和时码的格式编码所有的日期和时间值(例如:用间值(例如:用1697表示表示1997年)。图年)。图6-4给出了时间缓冲区(给出了时间缓冲区(T)的格式。)的格式。2022-6-7
21、PLC指令集指令集38n时间日期(时间日期(TOD)时钟在电源掉电或内存丢失)时钟在电源掉电或内存丢失后,初始化为下列日期和时间:后,初始化为下列日期和时间:n日期:日期: 01-Jan-90n时间:时间: 00:00:00n星期:星期: 星期日星期日2022-6-7PLC指令集指令集392022-6-7PLC指令集指令集402022-6-7PLC指令集指令集41n日期:日期: 01-Jan-90n时间时间: 00:00:00n星期:星期: 星期日星期日2022-6-7PLC指令集指令集422022-6-7PLC指令集指令集436.5通讯指令通讯指令u通讯指令通讯指令n网络读写指令网络读写指令
22、l网络读指令网络读指令(NETR)初始化一个通讯操作,根据表()初始化一个通讯操作,根据表(TBL)的定义,通过指定端口从远程设备上采集数据。的定义,通过指定端口从远程设备上采集数据。l网络写指令网络写指令(NETW)初始化一个通讯操作,根据表()初始化一个通讯操作,根据表(TBL)的定义,通过指定端口向远程设备写数据。的定义,通过指定端口向远程设备写数据。l网络读指令可以从远程站点读取最多网络读指令可以从远程站点读取最多16个字节的信息,网络个字节的信息,网络写指令可以向远程站点写最多写指令可以向远程站点写最多16个字节的信息。个字节的信息。l在程序中,可以使用任意条网络读写指令,但是在同一
23、时间,在程序中,可以使用任意条网络读写指令,但是在同一时间,最多只能有最多只能有8条网络读写指令被激活。例如,在所给的条网络读写指令被激活。例如,在所给的S7-200 CPU中,可以有中,可以有4条网络读指令和条网络读指令和4条网络写指令,或者条网络写指令,或者2条网络读指令和条网络读指令和6条网络写指令在同一时间被激活。条网络写指令在同一时间被激活。l可以使用网络读写向导程序。要启动网络读写向导程序,在命可以使用网络读写向导程序。要启动网络读写向导程序,在命令菜单中选择令菜单中选择Tools InstructionWizard,并且在指令向导,并且在指令向导窗口中选择网络读写。窗口中选择网络
24、读写。2022-6-7PLC指令集指令集442022-6-7PLC指令集指令集452022-6-7PLC指令集指令集46u发送(发送(XMT)和接收()和接收(RCV)指令)指令n发送指令(发送指令(XMT)用于在自由口模式下依靠通)用于在自由口模式下依靠通讯口发送数据。讯口发送数据。n接收指令(接收指令(RCV)启动或者终止接收信息功能。)启动或者终止接收信息功能。必须为接收操作指定开始和结束条件。从指定必须为接收操作指定开始和结束条件。从指定的通讯口接收到的信息被存储在数据缓冲区的通讯口接收到的信息被存储在数据缓冲区(TBL)中。数据缓冲区的第一个数据指明了)中。数据缓冲区的第一个数据指明
25、了接收到的字节数。接收到的字节数。2022-6-7PLC指令集指令集472022-6-7PLC指令集指令集48u使用自由口模式控制串行通讯口使用自由口模式控制串行通讯口n通过编程,可以选择自由口模式来控制通过编程,可以选择自由口模式来控制S7-200的串行的串行通讯口。当选择了自由口模式,用户程序通过使用接通讯口。当选择了自由口模式,用户程序通过使用接收中断、发送中断、发送指令和接收指令来控制通讯收中断、发送中断、发送指令和接收指令来控制通讯口的操作。当处于自由口模式时,通讯协议完全由梯口的操作。当处于自由口模式时,通讯协议完全由梯形图程序控制。形图程序控制。SMB30(对于端口(对于端口0)
26、和)和SMB130(对(对于端口于端口1,如果您的,如果您的S7-200有两个端口的话)被用于有两个端口的话)被用于选择波特率和校验类型。选择波特率和校验类型。n当当S7-200处于处于STOP模式时,自由口模式被禁止,重模式时,自由口模式被禁止,重新建立正常的通讯(例如:编程设备的访问)。新建立正常的通讯(例如:编程设备的访问)。2022-6-7PLC指令集指令集49n在最简单的情况下,可以只用发送指令(在最简单的情况下,可以只用发送指令(XMT)向打印机或者显示器发送信息。其它例子包括向打印机或者显示器发送信息。其它例子包括与条码阅读器、称重计和焊机的连接。在每种与条码阅读器、称重计和焊机
27、的连接。在每种情况下,您都必须编写程序,来支持在自由口情况下,您都必须编写程序,来支持在自由口模式下与模式下与S7-200通讯的设备所使用的协议。通讯的设备所使用的协议。n只有当只有当S7-200处于处于RUN模式时,才能进行自模式时,才能进行自由口通讯。要使能自由口模式,应该在由口通讯。要使能自由口模式,应该在SMB30(端口(端口0)或者)或者SMB130(端口(端口1)的协议选择)的协议选择区中设置区中设置01。处于自由口通讯模式时,不能与。处于自由口通讯模式时,不能与编程设备通讯。编程设备通讯。2022-6-7PLC指令集指令集502022-6-7PLC指令集指令集51n发送数据发送数
28、据l发送指令使您能够发送一个字节或多个字节的缓冲发送指令使您能够发送一个字节或多个字节的缓冲区,最多为区,最多为255个。个。n接收数据接收数据l接收指令使您能够接收一个字节或多个字节的缓冲接收指令使您能够接收一个字节或多个字节的缓冲区,最多为区,最多为255个。个。n接收指令的启动和结束条件接收指令的启动和结束条件l接收指令使用接收信息控制字节(接收指令使用接收信息控制字节(SMB87或或SMB187)中的位来定义信息起始和结束条件。)中的位来定义信息起始和结束条件。2022-6-7PLC指令集指令集52u使用字符中断控制接收数据使用字符中断控制接收数据n为了完全适应对各种协议的支持,也可以
29、使用字符中为了完全适应对各种协议的支持,也可以使用字符中断控制的方式接收数据。接收每个字符时都会产生中断控制的方式接收数据。接收每个字符时都会产生中断。在执行与接收字符事件相连的中断服务程序之前,断。在执行与接收字符事件相连的中断服务程序之前,接收到的字符存入接收到的字符存入SMB2中,校验状态(如果使能的话)中,校验状态(如果使能的话)存入存入SM3.0。SMB2是自由口接收字符缓冲区。在自由是自由口接收字符缓冲区。在自由口模式下,每一个接收到的字符都会存放到这一位置,口模式下,每一个接收到的字符都会存放到这一位置,便于用户程序访问。便于用户程序访问。SMB3用于自由口模式。它包含一用于自由
30、口模式。它包含一个校验错误标志位。当接收字符的同时检测到校验错个校验错误标志位。当接收字符的同时检测到校验错误时,该位被置位。该字节的其它位被保留。利用校误时,该位被置位。该字节的其它位被保留。利用校验位去丢弃信息或向该信息发送否定应答。验位去丢弃信息或向该信息发送否定应答。2022-6-7PLC指令集指令集532022-6-7PLC指令集指令集542022-6-7PLC指令集指令集556.6比较指令比较指令u数值比较数值比较n比较指令用于比较两个数值:比较指令用于比较两个数值:nIN1 = IN2 IN1 = IN2 IN1 IN2 IN1 IN2 IN1 IN2n字节比较操作是无符号的。字
31、节比较操作是无符号的。n整数比较操作是有符号的。整数比较操作是有符号的。n双字比较操作是有符号的。双字比较操作是有符号的。n实数比较操作是有符号的。实数比较操作是有符号的。2022-6-7PLC指令集指令集56n对于对于LAD和和 FBD:当比较结果为真时,比较指:当比较结果为真时,比较指令使触点闭合(令使触点闭合(LAD)或者输出接通()或者输出接通(FBD)。)。n对于对于STL:当比较结果为真时,对:当比较结果为真时,对1进行进行LD,A或或O操作,并置入栈顶。操作,并置入栈顶。2022-6-7PLC指令集指令集572022-6-7PLC指令集指令集582022-6-7PLC指令集指令集
32、59u字符串比较字符串比较n字符串比较指令比较两个字符串的字符串比较指令比较两个字符串的ASCII码字码字符:符:nIN1=IN2 IN1IN2n当比较结果为真时,比较指令使触点闭合当比较结果为真时,比较指令使触点闭合(LAD)或者输出接通()或者输出接通(FBD),或者对),或者对1进进行行LD,A或或O操作,并置入栈顶(操作,并置入栈顶(STL)。)。2022-6-7PLC指令集指令集606.7转换指令转换指令u标准转换指令标准转换指令n数字转换数字转换l字节转为整数(字节转为整数(BTI)、整数转为字节()、整数转为字节(ITB)、整)、整数转为双整数(数转为双整数(ITD)、双整数转为
33、整数()、双整数转为整数(DTI)、)、双整数转为实数(双整数转为实数(DTR)、)、BCD码转为整数码转为整数(BCDI)和整数转为)和整数转为BCD码(码(IBCD)。以上指令)。以上指令将输入值将输入值IN转换为指定的格式并存储到由转换为指定的格式并存储到由OUT指定指定的输出值存储区中。例如:可以将双整数值转为实的输出值存储区中。例如:可以将双整数值转为实数值;也可以在整数和数值;也可以在整数和BCD码格式之间相互转换。码格式之间相互转换。2022-6-7PLC指令集指令集61n四舍五入(四舍五入(ROUND)和取整()和取整(TRUNC)l四舍五入指令(四舍五入指令(ROUND)将一
34、个实数转为一个双)将一个实数转为一个双整数值,并将四舍五入的结果存入整数值,并将四舍五入的结果存入OUT指定的变量指定的变量中。中。l取整指令(取整指令(TRUNC)将一个实数转为一个双整数值,)将一个实数转为一个双整数值,并将实数的整数部分作为结果存入并将实数的整数部分作为结果存入OUT指定的变量指定的变量中。中。n包络段数包络段数l段码指令(段码指令(SEG)允许您产生一个点阵,用于点亮)允许您产生一个点阵,用于点亮七段码显示器的各个段。七段码显示器的各个段。2022-6-7PLC指令集指令集622022-6-7PLC指令集指令集63uASCII码转换指令码转换指令n有效的有效的ASCII
35、码字符为十六进制的码字符为十六进制的30到到39和和41到到46。n在在ASCII码和十六进制数之间相互转换码和十六进制数之间相互转换nASCII码转十六进制数指令(码转十六进制数指令(ATH)将一个长度为)将一个长度为LEN从从IN开始的开始的ASCII码字符串转换成从码字符串转换成从OUT开始的十六进开始的十六进制数。十六进制数转制数。十六进制数转ASCII码指令(码指令(HTA)将从输入字)将从输入字节节IN开始的十六进制数,转换成从开始的十六进制数,转换成从OUT开始的开始的ASCII码码字符串。被转换的十六进制数的位数由长度字符串。被转换的十六进制数的位数由长度LEN给出。给出。n能
36、够被转换的能够被转换的ASCII码字符串或者十六进制数的最大数码字符串或者十六进制数的最大数量为量为255。有效。有效ASCII码输入码输入n有效的有效的ASCII码输入字符是码输入字符是0到到9的十六进制数代码值的十六进制数代码值30到到39,和大写字符,和大写字符A到到F的十六进制数代码值的十六进制数代码值41到到46这些字母数字字符。这些字母数字字符。2022-6-7PLC指令集指令集64n将数值转为将数值转为ASCII码码l整数转整数转ASCII码(码(ITA)、双整数转)、双整数转ASCII码(码(DTA)和实数转和实数转ASCII码(码(RTA)指令,分别将整数、双)指令,分别将整
37、数、双整数或实数值转换成整数或实数值转换成ASCII码字符。码字符。2022-6-7PLC指令集指令集652022-6-7PLC指令集指令集662022-6-7PLC指令集指令集67u字符串转换指令字符串转换指令n将数值转换为字符串将数值转换为字符串n整数转字符串(整数转字符串(ITS)、双整数转字符串)、双整数转字符串(DTS)和实数转字符串()和实数转字符串(RTS)指令,将整)指令,将整数、双整数或实数值(数、双整数或实数值(IN)转换成)转换成ASCII码字码字符串(符串(OUT)。)。2022-6-7PLC指令集指令集68u将子字符串转换为数字值将子字符串转换为数字值n子字符串转整数
38、(子字符串转整数(STI)、子字符串转双整数)、子字符串转双整数(STD)和子字符串转实数()和子字符串转实数(STR)指令,将)指令,将从偏移量从偏移量INDX开始的字符串值开始的字符串值IN转换成整数转换成整数/双整数或实数值双整数或实数值OUT。2022-6-7PLC指令集指令集692022-6-7PLC指令集指令集70u编码和解码指令编码和解码指令n编码编码l编码指令(编码指令(ENCO)将输入字)将输入字IN的最低有效位的位的最低有效位的位号写入输出字节号写入输出字节OUT的最低有效的最低有效“半字节半字节”(4位)位)中。中。n译码译码l译码指令(译码指令(DECO)根据输入字节(
39、)根据输入字节(IN)的低四位)的低四位所表示的位号置输出字(所表示的位号置输出字(OUT)的相应位为)的相应位为1,输,输出字的所有其他位都清出字的所有其他位都清0。2022-6-7PLC指令集指令集712022-6-7PLC指令集指令集726.8计数器指令计数器指令uSIMATIC计数器指令计数器指令n增计数器增计数器l增计数指令(增计数指令(CTU)从当前计数值开始,在每一个)从当前计数值开始,在每一个(CU)输入状态从低到高时递增计数。当)输入状态从低到高时递增计数。当CXX的当的当前值大于等于预置值前值大于等于预置值PV时,计数器位时,计数器位CXX置位。当置位。当复位端(复位端(R
40、)接通或者执行复位指令后,计数器被)接通或者执行复位指令后,计数器被复位。当它达到最大值(复位。当它达到最大值(32,767)后,计数器停)后,计数器停止计数。止计数。nSTL操作:操作:nH 复位输入:栈顶复位输入:栈顶nH 计数输入:其值被装载在第二个堆栈中。计数输入:其值被装载在第二个堆栈中。2022-6-7PLC指令集指令集73n减计数器减计数器l减计数指令(减计数指令(CTD)从当前计数值开始,在每一个)从当前计数值开始,在每一个(CD)输入状态的低到高时递减计数。当)输入状态的低到高时递减计数。当CXX的当的当前值等于前值等于0时,计数器位时,计数器位CXX置位。当装载输入端置位。
41、当装载输入端(LD)接通时,计数器位被复位,并将计数器的当)接通时,计数器位被复位,并将计数器的当前值设为预置值前值设为预置值PV。当计数值到。当计数值到0时,计数器停止时,计数器停止计数,计数器位计数,计数器位CXX接通。接通。nSTL操作:操作:lH 装载输入:栈顶装载输入:栈顶lH 计数输入:其值被装载在第二个堆栈中。计数输入:其值被装载在第二个堆栈中。2022-6-7PLC指令集指令集74n增增/减计数器减计数器l增增/减计数指令(减计数指令(CTUD),在每一个增计数输入),在每一个增计数输入(CU)的低到高时增计数,在每一个减计数输入)的低到高时增计数,在每一个减计数输入(CD)的
42、低到高时减计数。计数器的当前值)的低到高时减计数。计数器的当前值CXX保保存当前计数值。在每一次计数器执行时,预置值存当前计数值。在每一次计数器执行时,预置值PV与当前值作比较。与当前值作比较。l当达到最大值(当达到最大值(32767)时,在增计数输入处的下)时,在增计数输入处的下一个上升沿导致当前计数值变为最小值(一个上升沿导致当前计数值变为最小值(-32768)。)。当达到最小值(当达到最小值(-32768)时,在减计数输入端的下)时,在减计数输入端的下一个上升沿导致当前计数值变为最大值(一个上升沿导致当前计数值变为最大值(32767)。)。l当当CXX的当前值大于等于预置值的当前值大于等
43、于预置值PV时,计数器位时,计数器位CXX置位。否则,计数器位关断。当复位端(置位。否则,计数器位关断。当复位端(R)接通或者执行复位指令后,计数器被复位。当达到接通或者执行复位指令后,计数器被复位。当达到预置值预置值PV时,时,CTUD计数器停止计数。计数器停止计数。2022-6-7PLC指令集指令集75nSTL操作:操作:lH 复位输入:栈顶复位输入:栈顶lH 减计数输入:其值被装载在第二栈位中。减计数输入:其值被装载在第二栈位中。lH 增计数输入:其值被装载在第三栈位中。增计数输入:其值被装载在第三栈位中。2022-6-7PLC指令集指令集762022-6-7PLC指令集指令集77202
44、2-6-7PLC指令集指令集786.9高速计数器指令高速计数器指令u定义高速计数器定义高速计数器n定义高速计数器指令(定义高速计数器指令(HDEF)为指定的高速)为指定的高速计数器(计数器(HSCx)选择操作模式。模块的选择)选择操作模式。模块的选择决定了高速计数器的时钟、方向、启动和复位决定了高速计数器的时钟、方向、启动和复位功能。功能。n对于每一个高速计数器使用一条定义高速计数对于每一个高速计数器使用一条定义高速计数器指令。器指令。u高速计数器高速计数器n高速计数器指令(高速计数器指令(HSC)在)在HSC特殊存储器位特殊存储器位状态的基础上配置和控制高速计数器。参数状态的基础上配置和控制
45、高速计数器。参数N指定高速计数器的标号。指定高速计数器的标号。2022-6-7PLC指令集指令集79n高速计数器可以被配置为高速计数器可以被配置为12种模式中的任意一种模式中的任意一种,详细情况可参考种,详细情况可参考SIEMENS S7-200系统手系统手册。册。n每一个计数器都有时钟、方向控制、复位、启每一个计数器都有时钟、方向控制、复位、启动的特定输入。对于双相计数器,两个时钟都动的特定输入。对于双相计数器,两个时钟都可以运行在最高频率。在正交模式下,您可以可以运行在最高频率。在正交模式下,您可以选择一倍速(选择一倍速(1x)或者四倍速()或者四倍速(4x)计数速率。)计数速率。所有计数
46、器都可以运行在最高频率下而互不影所有计数器都可以运行在最高频率下而互不影响。响。2022-6-7PLC指令集指令集80u高速计数器编程高速计数器编程n可以使用指令向导来配置计数器。向导程序使可以使用指令向导来配置计数器。向导程序使用下列信息:计数器的类型和模式、计数器的用下列信息:计数器的类型和模式、计数器的预置值、计数器的初始值和计数的初始方向。预置值、计数器的初始值和计数的初始方向。要启动要启动HSC指令向导,可以在命令菜单窗口中指令向导,可以在命令菜单窗口中选择选择Tools Instruction Wizard ,然后在向导,然后在向导窗口中选择窗口中选择HSC指令。指令。2022-6
47、-7PLC指令集指令集81n对高速计数器编程,必须完成下列基本操对高速计数器编程,必须完成下列基本操l 定义计数器和模式定义计数器和模式l 设置控制字节设置控制字节l 设置初始值设置初始值l 设置预置值设置预置值l 指定并使能中断服务程序指定并使能中断服务程序l 激活高速计数器激活高速计数器n高速计数器的编程示例省略。高速计数器的编程示例省略。2022-6-7PLC指令集指令集826.10脉冲输出指令脉冲输出指令 u脉冲输出指令(脉冲输出指令(PLS)用于在高速输出)用于在高速输出(Q0.0和和Q0.1)上控制脉冲串输出()上控制脉冲串输出(PTO)和脉宽调制(和脉宽调制(PWM)功能。)功能
48、。u请参阅资料光盘上应用示例中使用请参阅资料光盘上应用示例中使用PLS指指令进行令进行PTO/PWM操作的程序。见应用示例操作的程序。见应用示例7、22、23、30和和50。2022-6-7PLC指令集指令集836.11数字运算指令数字运算指令 u加、减、乘、除指令加、减、乘、除指令n加法加法 减法减法lIN1+IN2=OUT IN1-IN2=OUT LAD和和FBDlIN1+OUT=OUT OUT-IN1=OUT STLl整数加法(整数加法(+I)或者整数减法()或者整数减法(-I)指令,将两个)指令,将两个16位整数相加或者相减,产生一个位整数相加或者相减,产生一个16位结果。双整位结果。
49、双整数加法(数加法(+D)或者双整数减法()或者双整数减法(-D)指令,将两)指令,将两个个32位整数相加或者相减,产生一个位整数相加或者相减,产生一个32位结果。实位结果。实数加法(数加法(+R)和实数减法()和实数减法(-R)指令,将两个)指令,将两个32位实数相加或相减,产生一个位实数相加或相减,产生一个32位实数结果。位实数结果。2022-6-7PLC指令集指令集84n乘法乘法 除法除法lIN1*IN2=OUT IN1/IN2=OUT LAD和和FBDlIN1*OUT=OUT OUT/IN1=OUT STLl整数乘法(整数乘法(*I)或者整数除法()或者整数除法(/I)指令,将两个)指
50、令,将两个16位整数相乘或者相除,产生一个位整数相乘或者相除,产生一个16位结果。(对于位结果。(对于除法,余数不被保留。)双整数乘法(除法,余数不被保留。)双整数乘法(*D)或者双)或者双整数除法(整数除法(/D)指令,将两个)指令,将两个32位整数相乘或者相位整数相乘或者相除,产生一个除,产生一个32位结果。(对于除法,余数不被保位结果。(对于除法,余数不被保留。)实数乘法(留。)实数乘法(*R)或实数除法()或实数除法(/R)指令,将)指令,将两个两个32位实数相乘或相除,产生一个位实数相乘或相除,产生一个32位实数结果。位实数结果。2022-6-7PLC指令集指令集852022-6-7
51、PLC指令集指令集862022-6-7PLC指令集指令集872022-6-7PLC指令集指令集882022-6-7PLC指令集指令集892022-6-7PLC指令集指令集90u数学功能指令数学功能指令n正弦、余弦和正切正弦、余弦和正切l正弦(正弦(SIN)、余弦()、余弦(COS)和正切()和正切(TAN)指令)指令计算角度值计算角度值IN的三角函数值,并将结果存放在的三角函数值,并将结果存放在OUT中。输入角度值是弧度值。中。输入角度值是弧度值。lSIN(IN)= OUT lCOS(IN)=OUT lTAN(IN) =OUTl要将角度从度数变为弧度,可以使用要将角度从度数变为弧度,可以使用M
52、UL_R(*R)指令,将度数乘以指令,将度数乘以1.745329E-2(接近(接近/180)即)即可。可。2022-6-7PLC指令集指令集91n自然对数和自然指数自然对数和自然指数l自然对数指令(自然对数指令(LN)计算输入值)计算输入值IN的自然对数,并的自然对数,并将结果存放到将结果存放到OUT中。中。l自然指数指令(自然指数指令(EXP)计算输入值)计算输入值IN的自然指数值,的自然指数值,并将结果存放到并将结果存放到OUT中。中。lLN (IN) = OUT EXP (IN)=OUTn平方根平方根l平方根指令(平方根指令(SQRT)计算实数()计算实数(IN)的平方根)的平方根 ,并
53、将结果存放到并将结果存放到OUT中。中。lSQRT(IN)=OUT2022-6-7PLC指令集指令集92n递增和递减指令递增和递减指令l递增递增 IN+1=OUT LAD和和 FBD OUT+1=OUT STLl递减递减 IN - 1=OUT LAD和和 FBD OUT - 1=OUT STLl递增或者递减指令将输入递增或者递减指令将输入IN加加1或者减或者减1,并将结果存放在,并将结果存放在OUT中。中。l字节递增(字节递增(INCB)和字节递减()和字节递减(DECB)操作是无符号的。)操作是无符号的。l字递增(字递增(INCW)和字递减()和字递减(DECW)操作是有符号的。)操作是有符
54、号的。l双字递增(双字递增(INCD)和双字递减()和双字递减(DECD)操作是有符号的。)操作是有符号的。2022-6-7PLC指令集指令集932022-6-7PLC指令集指令集946.12比例比例/积分积分/微分(微分(PID)回路控制指令)回路控制指令uPID回路控制指令(回路控制指令(PID)根据输入和表)根据输入和表(TBL)中的配置信息,对相应的)中的配置信息,对相应的LOOP执执行行PID回路计算。回路计算。2022-6-7PLC指令集指令集956.13中断指令中断指令 u中断允许(中断允许(ENI)和中断禁止()和中断禁止(DISI)n中断允许指令(中断允许指令(ENI)全局地
55、允许所有被连接)全局地允许所有被连接的中断事件。中断禁止指令(的中断事件。中断禁止指令(DISI)全局地禁)全局地禁止处理所有中断事件。止处理所有中断事件。n当进入当进入RUN模式时,初始状态为禁止中断。在模式时,初始状态为禁止中断。在RUN模式,您可以执行全局中断允许指令模式,您可以执行全局中断允许指令(ENI)允许所有中断。全局中断禁止指令)允许所有中断。全局中断禁止指令n(DISI)不允许处理中断服务程序,但中断事)不允许处理中断服务程序,但中断事件仍然会排队等候。件仍然会排队等候。2022-6-7PLC指令集指令集96u中断条件返回(中断条件返回(CRETI)n中断条件返回指令(中断条
56、件返回指令(CRETI)用于根据前面的)用于根据前面的逻辑操作的条件,从中断服务程序中返回。逻辑操作的条件,从中断服务程序中返回。u中断连接(中断连接(ATCH)n中断连接指令(中断连接指令(ATCH)将中断事件)将中断事件EVNT与中与中断服务程序号断服务程序号INT相关联,并使能该中断事件。相关联,并使能该中断事件。u中断分离(中断分离(DTCH)n中断分离指令(中断分离指令(DTCH)将中断事件)将中断事件EVNT与中与中断服务程序之间的关联切断,并禁止该中断事断服务程序之间的关联切断,并禁止该中断事件。件。2022-6-7PLC指令集指令集97u清除中断事件(清除中断事件(CLREVE
57、NT)uS7-200支持的中断类型支持的中断类型nS7-200支持下列类型的中断服务程序:支持下列类型的中断服务程序:l 通讯口中断:通讯口中断:S7-200生成使程序可以控制通讯口生成使程序可以控制通讯口的事件。的事件。l I/O中断:中断:S7-200对对I/O点状态的各种变化产生中断点状态的各种变化产生中断事件。这些事件可以对高速计数器、脉冲输出或输事件。这些事件可以对高速计数器、脉冲输出或输入的上升或下降状态做出响应。入的上升或下降状态做出响应。l 时基中断:时基中断:S7-200产生使程序在指定的间隔上起产生使程序在指定的间隔上起作用的事件。作用的事件。2022-6-7PLC指令集指
58、令集98u中断优先级和中断队列中断优先级和中断队列n在各个指定的优先级之内,在各个指定的优先级之内,CPU按先来先服务按先来先服务的原则处理中断。任何时间点上,只有一个用的原则处理中断。任何时间点上,只有一个用户中断程序正在执行。一旦中断程序开始执行,户中断程序正在执行。一旦中断程序开始执行,它要一直执行到结束。而且不会被别的中断程它要一直执行到结束。而且不会被别的中断程序,甚至是更高优先级的中断程序所打断。当序,甚至是更高优先级的中断程序所打断。当另一个中断正在处理中,新出现的中断需要排另一个中断正在处理中,新出现的中断需要排队,等待处理。队,等待处理。2022-6-7PLC指令集指令集99
59、2022-6-7PLC指令集指令集1002022-6-7PLC指令集指令集1012022-6-7PLC指令集指令集1026.14逻辑操作指令逻辑操作指令 u取反指令取反指令n字节、字和双字取反字节、字和双字取反l字节取反(字节取反(INVB)、字取反()、字取反(INVW)和双字取反)和双字取反(INVD)指令将输入)指令将输入IN取反的结果存入取反的结果存入OUT中。中。n使使ENO=0的错误条件:的错误条件:lH 0006(间接寻址)(间接寻址)n受影响的受影响的SM标志位:标志位:lH SM1.0(结果为(结果为0)2022-6-7PLC指令集指令集1032022-6-7PLC指令集指令
60、集1042022-6-7PLC指令集指令集1052022-6-7PLC指令集指令集1062022-6-7PLC指令集指令集107u与、或和异或指令与、或和异或指令n字节与、字与和双字与字节与、字与和双字与l字节与(字节与(ANDB)、字与()、字与(ANDW)和双字与)和双字与(ANDD)指令将输入值)指令将输入值IN1和和IN2的相应位进行与的相应位进行与操作,将结果存入操作,将结果存入OUT中。中。n字节或、字或和双字或字节或、字或和双字或l字节或(字节或(ORB)、字或指令()、字或指令(ORW)和双字或)和双字或(ORD)指令将两个输入值)指令将两个输入值IN1和和IN2的相应位进行的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024股权合作经营合同版
- 2025年度智能门禁系统升级改造合同3篇
- 2024年某农业公司与农产品加工企业就农产品采购的合同
- 2025年度智能信息化车间生产承包合同范本3篇
- 2025年度新型草坪材料采购合同3篇
- 2024年版短期汽车租赁协议范本版B版
- 2024幼儿园教师劳务合同及教学成果评估范本2篇
- 2025年度文化产业财产抵押担保投资合同3篇
- 2024年钢构建筑油漆工程专业承包合同
- 2024年高速公路养护司机劳务雇佣合同范本3篇
- 输变电工程安全文明施工设施标准化配置表
- 一销基氯苯生产车间硝化工段工艺初步设计
- 自动控制原理仿真实验课程智慧树知到课后章节答案2023年下山东大学
- 【城市轨道交通运营安全管理研究9200字(论文)】
- 丁往道英语写作手册范本课件
- 教学能力大赛获奖之教学实施报告
- 小学数学专题讲座(课堂PPT)
- 三晶8000B系列变频器说明书
- 左传简介完整
- 体育中国(上海大学)超星尔雅学习通网课章节测试答案
- 幽默动感年会互动PPT演示模板
评论
0/150
提交评论