收藏 分销(赏)

第5章S7-1200的指令ppt.ppt

上传人:精**** 文档编号:2311662 上传时间:2024-05-27 格式:PPT 页数:87 大小:21.97MB
下载 相关 举报
第5章S7-1200的指令ppt.ppt_第1页
第1页 / 共87页
第5章S7-1200的指令ppt.ppt_第2页
第2页 / 共87页
第5章S7-1200的指令ppt.ppt_第3页
第3页 / 共87页
第5章S7-1200的指令ppt.ppt_第4页
第4页 / 共87页
第5章S7-1200的指令ppt.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

1、第第5 5章章 S7-1200S7-1200的指令的指令25.15.1数据处理指令数据处理指令5.1.15.1.1比较指令比较指令31.1.比较指令比较指令2.2.范围内与范围外比较指令范围内与范围外比较指令例例5-15-1用接通延时定时器和比较指令组成占空比可调的脉冲发生器用接通延时定时器和比较指令组成占空比可调的脉冲发生器53.OK3.OK与与NOT_OKNOT_OK指令指令65.1.2 5.1.2 使能输入和使能输出使能输入和使能输出1.BCD1.BCD码码:BCD BCD(Binary-coded(Binary-coded Decimal)Decimal)是是二二进进制制编编码码的的十

2、十进进制制数数的的缩缩写写,BCDBCD码码用用4 4位位二二进进制制数数表表示示一一位位十十进进制制数数,每每一一位位BCDBCD码码允允许许的的数数值值范范围围为为2#00002#00002#10012#1001;对对应应于于十十进进制制数数0-90-9。4 4位位二二进进制制数数共共有有1616种种组组合合,有有6 6种组合(种组合(2#10102#1010 2#11112#1111)没有在没有在BCDBCD码码中使用中使用。BCDBCD码码的的最最高高位位二二进进制制数数用用来来表表示示符符号号、负负数数为为,正正数数为为0 0;一一般般令令负负数数和和正正数数的的最最高高4 4位位二

3、二进进制制数数分分别别为为11111111和和00000000。1616位位BCDBCD码码的的范范围围为为999999十十999999、3232位位BCDBCD码的范围码的范围为为-999999-999999 +9999999+9999999。-862-8627拨码开关拨码开关译码芯片译码芯片PLCPLC的四个输出点的四个输出点后接一个译码芯片后接一个译码芯片用用PLCPLC的输入点读取的输入点读取拨码开关的输出拨码开关的输出82.EN2.EN与与ENOENO令令MW32=F983MW32=F983,则输出,则输出MW34=-983MW34=-983下列指令使用下列指令使用EN/ENOEN/

4、ENO:数学运算指令、传送与转换指令:数学运算指令、传送与转换指令、位移与循环、位移与循环指令、字逻辑运算指令等。指令、字逻辑运算指令等。下列指令不使用下列指令不使用EN/ENOEN/ENO:位逻辑指令:位逻辑指令、比较、比较指令、指令、计数器指令、定时计数器指令、定时器指令和程序控制指令。器指令和程序控制指令。95.1.35.1.3数据转换指令数据转换指令1.CONV1.CONV指令指令2.2.浮点数转换为双整数指令浮点数转换为双整数指令3.SCAL_X3.SCAL_X指令指令OUT=VALUE(MAX-MIN)+MINOUT=VALUE(MAX-MIN)+MIN例如:如果例如:如果MAX=

5、1000MAX=1000,MIN=200MIN=200,则,则0.45200.4520;1.2 1.2 116011604.NORM_X4.NORM_X指令指令OUT=(OUT=(VALUEVALUE-MIN-MIN)/(MAX-MIN)/(MAX-MIN)105.1.45.1.4数据数据传送传送指令指令1.MOV1.MOV指令指令输入输出数据类型可以不一样,如:输入输出数据类型可以不一样,如:MB0MW2MB0MW2低字节中;低字节中;MW4MB6MW4MB6,但是如果,但是如果MW4MW4超过超过255255,则只传送低字节中的数值。,则只传送低字节中的数值。2.SWAP2.SWAP指令指

6、令 ININ和和OUTOUT为为数数据据类类型型WordWord时时,SWAPSWAP指指令令交交换换输输入入ININ的的高高、低低字字节节后后,保存保存到到OUTOUT指定指定的地址的地址。ININ和和OUTOUT为为数数据据类类型型DwordDword时时,交交换换个个字字节节中中数数据据的的顺顺序序,交交换换后后保存保存到到OUTOUT指定指定的的地址。地址。如:如:16#AABBCCDD16#DDCCBBAA16#AABBCCDD16#DDCCBBAA113.3.全局数据块和数组全局数据块和数组数组由相同数据类型的多个元素组成,数组元素的数据类型可以是所有数组由相同数据类型的多个元素组

7、成,数组元素的数据类型可以是所有的基本数据类型的基本数据类型。全局数据全局数据块的生成方法:演示块的生成方法:演示124.FILL_BLK4.FILL_BLK与与UFILL_BLKUFILL_BLK指令指令FILL FILL BLKBLK指指令令将将输输入入参参数数取取设设置置的的值值填填充充到到输输出出参参数数OUTOUT指指定定起起始始地地址址的目标的目标数据区。数据区。ININ和和OUTOUT必必须须是是D D、L L(数数据据块块或或块块的的局局部部数数据据)中中的的数数组组元元素素,ININ还还可可以以是常数。是常数。COUNTCOUNT为填充的数组元素的个数,数据类型为为填充的数组

8、元素的个数,数据类型为DIntDInt或常数。或常数。5.MOVE_BLK5.MOVE_BLK与与UMOVE_BLKUMOVE_BLK指令指令6.6.块填充和快传送指令的实验(演示)块填充和快传送指令的实验(演示)135.1.55.1.5位移与循环位移指令位移与循环位移指令1.1.位移指令位移指令移位指令移位指令SHRSHR和和SHLSHL将将输入输入参数参数ININ指定指定的存储单元的整个内容逐位右移的存储单元的整个内容逐位右移或左移若干或左移若干位,移位位,移位的位数用输入参数的位数用输入参数N N来定义,移位的结果保存在输来定义,移位的结果保存在输出出参数参数OUTOUT指定指定的地址的

9、地址。无符号数移位和有符号数左移后空出来的位无符号数移位和有符号数左移后空出来的位用用0 0填充填充。有符号数右移。有符号数右移后空出来的位用后空出来的位用符号位符号位(原来的最高位)填充,正数的符号位为(原来的最高位)填充,正数的符号位为0.0.节节负数的符号位为负数的符号位为1 1。142.2.循环移位指令循环移位指令循循环环移移位位指指令令RORROR和和ROLROL将将输输入入参参数数ININ指指定定的的存存储储单单元元的的整整个个内内容容逐逐位位循循环环右右移移或或循循环环左左移移若若干干位位,即即移移出出来来的的位位又又送送回回存存储储单单元元另另一一端端空空出出来来的的位位,原原

10、始始的的位位不不会会丢丢失失。N N为为移移位位的的位位数数,移移位位的的结结果果保保存存在在输输出参数出参数OUTOUT指定的指定的地址。地址。153.3.使用循环移位指令的彩灯控制器使用循环移位指令的彩灯控制器165.2 5.2 数学数学运算指令运算指令5.2.15.2.1数学数学运算指令运算指令数学数学运算包括数学运算指令、浮点数运算包括数学运算指令、浮点数函数运算函数运算指令、逻辑运算指令。指令、逻辑运算指令。1 1四则运算四则运算指令指令17 数数学学运运算算指指令令中中的的ADDADD、SUBSUB、MULMUL和和DIVDIV分分别别是是加加、减减、乘乘、除除指指令令、它它们们执

11、执行行的的操操作作数数的的数数据据类类型型可可选选SIntSInt,IntInt,DInt,DInt,USInt,USInt,UInt,UInt,UDIntUDInt和和Real,IN1Real,IN1和和ININ2 2可以是常数。可以是常数。IN1IN1、IN2IN2和和OUTOUT的数据类型应该相同。的数据类型应该相同。18【例例】压压力力变变送送器器的的量量程程为为0 010MPa10MPa,输输出出信信号号为为0 010V10V,被被CPUCPU集集成成的的模模拟拟量量输输入入的的通通道道0 0(地地址址为为IW64)IW64)转转换换为为0 02764827648的的数数字字。假假设

12、设转转换换后后的数字为的数字为N,N,试求以试求以kPakPa为为单位的压力值。单位的压力值。解解:0 010MPa10MPa(0 01000010000kPakPa)对对应应于于转转换换后后的的数数字字0 02764827648,转转换换公公式式为为 P=P=(1000010000N)/N)/27648(kPa27648(kPa)注意:在注意:在运算时一定要先乘后除运算时一定要先乘后除,否则会损失原始数据的精度。,否则会损失原始数据的精度。20【例例】使用使用浮点数运算计算上例以浮点数运算计算上例以kPakPa为单位的压力值。为单位的压力值。将上例改写为:将上例改写为:p p=(10000

13、10000 x Nx N)2764827648=0 0.361690 X N(kPa.361690 X N(kPa)212 2其它整数数学运算指令其它整数数学运算指令(1 1)MODMOD指令指令 用用MODMOD指令指令来求除法的来求除法的余数。余数。(2 2)NEGNEG指令指令 NEG NEG(negation)(negation)将将输输入入ININ的的值值的的符符号号取取反反后后,保保存存在在输输出出OUTOUT中中,ININ和和OUTOUT的数据类型的数据类型可以是可以是SIntSInt,IntInt,DIntDInt和和RealReal,输入输入ININ还还可以是可以是常数。常数

14、。(3 3)INCINC与与DECDEC指令指令 执执行行指指令令INCINC与与DECDEC时时,参参数数IN/OUTIN/OUT的的值值分分别别被被加加1 1和和减减1 1。IN/OUTIN/OUT的的数数据据类类型型可可选选SIntSInt,USIntUSInt,IntInt,UIntUInt,DIntDInt和和UDIntUDInt(有有符符号号或或无无符符号号的的整整数数)。22(4 4)绝对值)绝对值指令指令ABSABS ABSABS指令用来指令用来求求输入输入ININ中中的有符号整数的有符号整数(SIntSInt,IntInt宁宁DIntDInt或实数(或实数(Real)Real

15、)的绝对值,将结果保存在输出的绝对值,将结果保存在输出OUTOUT中。中。ININ和和OUTOUT的数据类型应相同的数据类型应相同。(5)MIN5)MIN与与MAXMAX指令指令 MIN MIN(minimum)(minimum)指令比较输入指令比较输入IN1IN1和和IN2IN2的值,将其中较小的值送给输出的值,将其中较小的值送给输出OUTOUT。MAX(maximum MAX(maximum)指令比较输入指令比较输入IN1IN1和和IN2IN2的值,将其中较大的值送给输出的值,将其中较大的值送给输出OUTOUT。INI INI和和IN2IN2的数据类型相同才能执行指定的操作。的数据类型相同

16、才能执行指定的操作。23(6 6)LIMITLIMIT指令指令 LIMITLIMIT指指令令检检查查输输入入ININ的的值值是是否否在在参参数数MINMIN和和MAXMAX指指定定的的范范围围内内,如如果果ININ的的值值没没有有超超出出该该范范围围,将将它它直直接接保保存存在在OUTOUT指指定定的的地地址址中中。如如果果ININ的的值值小小于于MINMIN的值或大于的值或大于MAXMAX的的值,将值,将MINMIN或或MAXMAX的值送给输出的值送给输出OUTOUT。243.3.浮点数函数运算指令浮点数函数运算指令 浮点数(实数)数学运算浮点数(实数)数学运算指令的指令的操作数操作数INI

17、N和和OUTOUT的数据类型为的数据类型为RealReal。浮点数自然指数指令浮点数自然指数指令EXPEXP和浮点数自然对数指令和浮点数自然对数指令LNLN中的指数和对数的底中的指数和对数的底数为数为2 2.7182871828。浮浮点点数数开开平平方方指指令令SQRTSQRT和和LNLN指指令令的的输输入入值值如如果果小小于于0 0。输输出出OUTOUT返返回回一一个个无无效效的的浮浮点点数。数。浮浮点点数数三三角角函函数数指指令令和和反反三三角角函函数数指指令令中中的的角角度度均均为为以以弧弧度度为为单单位位的的浮浮点点数数。如如果果输输入入值值是是以以度度为为单单位位的的浮浮点点数数,使

18、使用用三三角角函函数数指指令令之之前前应应先先将将角角度度值值乘乘以以/180180.0.0,转转换换为为弧度值弧度值。浮点数浮点数反正弦函数指令反正弦函数指令ASINASIN和浮点数反余弦函数指令和浮点数反余弦函数指令ACOSACOS的输入值的允许范围的输入值的允许范围为为-1.0-1.01.01.0,ASINASIN和和ATANATAN的的运运算算结结果果的的取取值值范范围围为为-/2-/2+/2+/2弧弧度度,ACOSACOS的的运运算算结结果果的取值的取值范围为范围为0 0弧度弧度。求求以以1010为底的对数时,需要将自然对数值除以为底的对数时,需要将自然对数值除以2.3025852.

19、302585(1010的自然对数值)的自然对数值)。例如例如:lg100=ln100/2.302585:lg100=ln100/2.3025854.605170/2.302585=24.605170/2.302585=2。252627【例例】测测量量远远处处物物体体的的高高度度时时,已已知知被被测测物物体体到到测测量量点点的的距距离离L L和和以以度度为为单单位位的的夹夹角角,求求被被测测物物体体的的高高度度H,H,H=H=LtanLtan ,角角度度的的单单位位为为度度。假假设设以以度度为为单单位位的的实实数数角角度度值值在在MD116MD116,乘乘以以/180/180=0 0.01745

20、33.0174533得得角角度度的的弧弧度度值值,运运算算的的中中间间结结果果保保存存在在数数据据类类型型为为RealReal的的临临时时局局部部变变量量TemptTempt中中。L L的的实数值在实数值在MD128,MD128,运算结果在运算结果在MD132MD132。285 5.2.22.2逻辑运算指令逻辑运算指令 1 1逻辑运算指令逻辑运算指令 逻逻辑辑运运算算指指令令对对两两个个输输入入IN1IN1和和ININ2 2逐逐位位进进行行逻逻辑辑运运算算。逻逻辑辑运运算算的的结结果果存存放放在在输输出出OUTOUT指定的指定的地址。地址。“与与”(ANDAND)运运算算时时两两个个操操作作数

21、数的的同同一一位位如如果果均均为为1 1,运运算算结结果果的的对对应应位位为为1 1,否否则则为为0 0。“或或”(OROR)运运算算时时两两个个操操作作数数的的同同一一位位如如果果均均为为0 0,运运算算结结果果的的对对应应位位为为0,0,否否则则为为1 1。29 “异异或或 (XOR)(XOR)运运算算时时两两个个操操作作数数的的同同一一位位如如果果不不相相同同,运运算算结结果果的的对对应应位位为为1 1,否否则为则为0 0。以上以上指令的指令的操作数操作数IN1IN1、IN2IN2和和OUTOUT的数据类型为十六进制的的数据类型为十六进制的Byte,WordByte,Word和和Dwor

22、dDword。取取反反指指令令INVINV将将输输入入ININ中中的的二二进进制制整整数数逐逐位位取取反反,即即各各位位的的二二进进制制数数由由0 0变变1 1,由由1 1变变0 0,运算结果,运算结果存放在输出存放在输出OUTOUT指定的地址。指定的地址。30 解码与编码指令解码与编码指令 假假设设输输入入参参数数ININ的的值值为为,解解码码(译译码码)指指令令DECODECO(DeodeDeode)将将输输出出参参数数OUTOUT的的第第位位置置位位为为,其其余余各各位位置置0 0,相相当当于于数数字字电电路路中中译译码码电电路路的的功功能能。利利用用解解码码指指令令,可可以以用用输入输

23、入ININ的的值来值来控制控制OUTOUT中中某一位的状态某一位的状态。如果输入如果输入ININ的的值值大于大于3131,将取的值除将取的值除以以3232以后以后,用余数来进行解码操作,用余数来进行解码操作。ININ的的数据类型数据类型为为UIntUInt,OUTOUT的的数据类型数据类型可选可选yteyte、WordWord和和WordWord。ININ的的值为值为-7-7(位二进制数)时位二进制数)时,输出的数据类型为位的字节。输出的数据类型为位的字节。ININ的的值为值为-15-15(位二进制数)时位二进制数)时,输出,输出OUTOUT的的数据类型数据类型为为1616位位的字。的字。IN

24、IN的的值为值为-31-31(位二进制数位二进制数)时时,输出,输出OUTOUT的的数据类型为位的双字。数据类型为位的双字。例如例如ININ的的值为值为时,输出为时,输出为0010000000100000(16162020),),仅第位为仅第位为。31 编编码码指指令令ENCOENCO(EricodeEricode)与与解解码码指指令令相相反反,将将ININ中中为为的的最最低低位位的的位位数数送送给给输输出出参参数数OUTOUT指指定定的的地地址址,ININ的的数数据据类类型型可可选选ByteByte、WordWord和和DwordDword,OUTOUT的的数数据据类型为类型为INTINT。

25、32SELSEL与与MUXMUX指令指令 指指令令SELSEL(SelectSelect)的的BoolBool输输入入参参数数为为时时选选中中IN0IN0,为为时时选选中中IN1IN1,并并将它们保存到输出将它们保存到输出参数参数OUTOUT指定指定的的地址。地址。指指令令MUXMUX(MultiplexMultiplex,多多路路开开关关选选择择器器)根根据据输输入入参参数数的的值值,选选中中某某个个输输入入数数据据,并并将将它它传传送送到到输输出出参参数数OUTOUT指指定定的的地地址址。如如=时时,将将选选中中输输入入参参数数INmINm。如果的值超过如果的值超过允许允许的范围的范围,将

26、选中,将选中输入输入参数参数ELSEELSE。参数参数的数据类型的数据类型为为UintUint;Inn Inn、ELSEELSE、OUTOUT可以取可以取1212种数据类型,它们的数据类型应种数据类型,它们的数据类型应相同相同。335.5.3 3程序控制指令程序控制指令5 5.3.3.1 1程序控制程序控制指令指令 1 1跳转与标签指令跳转与标签指令 没没有有执执行行跳跳转转指指令令时时,各各个个程程序序段段按按从从上上到到下下的的先先后后顺顺序序执执行行,这这种种执执行行方方式式称称为为线线性性扫扫描描。JMPJMP跳跳转转指指令令中中止止程程序序的的线线性性扫扫描描跳跳转转到到指指令令中中

27、的的地地址址标标签签所所在在的的目目的的地地址址。跳跳转转时时不不执执行行跳跳转转指指令令与与标标签签之之间间的的程程序序,跳跳到到目目的的地地址址后后,程程序序继继续续按按线线性性扫扫描描的的方方式顺序执行式顺序执行。跳跳转指令可以往前跳,也可以往后跳转指令可以往前跳,也可以往后跳。只只能能在在同同一一个个代代码码块块内内跳跳转转,即即跳跳转转指指令令与与对对应应的的跳跳转转目目的的地地址址应应在在同同一一个个代代码码块块内内。在。在一个块内,同一个跳转目的地址只能一个块内,同一个跳转目的地址只能出现一次。出现一次。JMPN JMPN指令的线圈断电时,将跳转到指令给出的标签处,执行标签之后的

28、第一条指令。指令的线圈断电时,将跳转到指令给出的标签处,执行标签之后的第一条指令。34 2.2.返回指令返回指令RETRET RETRET指指令令的的线线圈圈通通电电时时,停停止止执执行行当当前前的的块块,不不再再执执行行该该指指令令后后面面的的指指令令,返返回回调调用用它它的的块块后后,执执行行调调用用指指令令之之后后的的指指令令。RETRET指指令令的的线线圈圈断断电电时时,继继续续执执行行它它下下面面的的指指令令。RETRET线线圈圈的的上上面面是是块块的的返返回回值值,数数据据类类型型为为BoolBool。如如果果当当前前的的块是块是OBOB,返回值被,返回值被忽视。忽视。355 5.

29、3.23.2扩展指令中的程序控制指令扩展指令中的程序控制指令1 1RERE_ _TRIGRTRIGR指令指令 监控定时器又称看门狗监控定时器又称看门狗(Watchdog(Watchdog),每次扫描循环它都被自动复位一次,正常工作),每次扫描循环它都被自动复位一次,正常工作时时最大最大扫描循环时间小于监控定时器的时间设定值,它不会起扫描循环时间小于监控定时器的时间设定值,它不会起作。作。以下情况扫描循环时间可能大于监控定时器的设定时间以下情况扫描循环时间可能大于监控定时器的设定时间,监控,监控定时器将会起作用定时器将会起作用:1 1)用户程序很用户程序很长长;2)2)一个扫描循环内执行中断程序

30、的时间很一个扫描循环内执行中断程序的时间很长;长;3 3)循环指令执行的时间太长循环指令执行的时间太长。可以在程序中的任意位置使用指令可以在程序中的任意位置使用指令RERE_ _TRIGRTRIGR(重新触发循环时间监视),来复位监控(重新触发循环时间监视),来复位监控定时器。定时器。36 2 2.STP.STP指令指令 STP STP指令的指令的ENEN输入为输入为1 1状态时,状态时,使使PLCPLC进入进入STOPSTOP模式模式。STPSTP指指令令使使CPUCPU集集成成的的输输出出、信信号号板板和和信信号号模模块块的的数数字字量量输输出出或或模模拟拟量量输输出出进进入入组组态态时时

31、设设置置的的安安全全状状态态。可可以以使使输输出出冻冻结结在在最最后后的的状状态态,或或用用替替代代值值设设置置为为安安全全状态状态。默认默认的数字量输出状态为的数字量输出状态为FALSEFALSE,默认的,默认的模拟量模拟量输出值为输出值为0 0。3.3.GETGET_ _ERRORERROR与与GETGET_ _ERRERR_ID_ID指令指令 GETGET_ _ERRORERROR指令用来提供有关程序块执行错误的信息指令用来提供有关程序块执行错误的信息,用用输输出出参参数数ERRORERROR显显示示发发生生的的程程序序块块执执行行错错误误,并并且且将将详详细细的的错错误误信信息息填填入

32、入预预定定义义的的ErrorStructErrorStruct(错错误误结结构构)数数据据类类型型。可可以以用用程程序序来来分分析析错错误误信信息息,并并作作出出适适当当的响应。的响应。第一第一个错误消失时,指令输出下一个错误的信息。个错误消失时,指令输出下一个错误的信息。GETGET_ _ERRERR_ _IDID指指令令用用来来报报告告错错误误的的IDID(标标识识符符)。如如果果块块执执行行时时出出现现错错误误,且且指指令令的的ENEN输输入入为为1 1状状态态,出出现现的的第第一一个个错错误误的的标标识识符符保保存存在在指指令令的的输输出出参参数数“IDID”中中,IDID的数据类型为

33、的数据类型为WordWord。第一。第一个错误消失时,指令输出个错误消失时,指令输出下一下一个错误的个错误的IDID。374.ErrorStruct4.ErrorStruct数据类型数据类型3839405.5.4 4字符串指令字符串指令5 5.4.4.1 1字符串字符串转换指令转换指令 1 1字符串的结构字符串的结构 STRINGSTRING(字字符符串串)数数据据有有2B2B的的头头部部,后后面面是是最最多多254B254B的的ASCIIASCII字字符符代代码码。字字符符串串的的首首字字节节是是字字符符串串的的最最大大长长度度,第第2 2个个字字节节是是当当前前长长度度,即即当当前前实实际

34、际使使用用的的字字符符数数。当当前前长长度度必必须须小小于于等等于于最最大大长长度度。字字符符串串占占用用的的字字节节数数为为最最大大长长度度加加2 2。字字符符串串默默认认的的最最大大长长度度为为254254个个字符,定义字符,定义字符串的长度可以减少它占用的存储空间。字符串的长度可以减少它占用的存储空间。2.2.定义字符串定义字符串执行字符串指令之前,首先应定义字符串执行字符串指令之前,首先应定义字符串。不能不能在变量表中定义字符串,只能在代码在变量表中定义字符串,只能在代码块的块的界面区或全局数据块中定义它界面区或全局数据块中定义它。413.3.使用使用S_CONVS_CONV指令将字符

35、串转换为数值指令将字符串转换为数值S_CONYS_CONY指令用于将输入的字符串转换为对应的数值,或将数值转换为对应的字符串指令用于将输入的字符串转换为对应的数值,或将数值转换为对应的字符串。需要在指令方框中设置转换前后的需要在指令方框中设置转换前后的操作数操作数ININ和和OUTOUT的数据类型的数据类型。使使用用S_CONVS_CONV将将字字符符串串转转换换为为数数值值时时,输输入入参参数数取取的的数数据据类类型型为为String,String,输输出出参参数数OUTOUT的的数数据类型可以是据类型可以是SIntSInt,IntInt,DInt,USInt,Uintl,UDIntDInt

36、,USInt,Uintl,UDInt和和RealReal。允允许许转转换换的的字字符符包包括括0-9,0-9,加加减减号号和和小小数数点点对对应应的的字字符符。字字符符串串ININ的的转转换换从从第第一一个个字字符符开开始,直到最后一个字符。如果遇到允许的字符之外的字符,转换停止,始,直到最后一个字符。如果遇到允许的字符之外的字符,转换停止,ENOENO被设置为被设置为0 0。转转换换后后的的数数值值用用参参数数OUTOUT指指定定的的地地址址保保存存。如如果果输输出出的的数数值值超超出出OUTOUT的的数数据据类类型型允允许许的的范范围,围,OUTOUT为为0,ENO0,ENO被置为被置为0

37、 0状态。反之,状态。反之,OUTOUT内为有效的值,内为有效的值,ENOENO被置为被置为1 1状态。状态。42输入输入字符串的格式字符串的格式规则规则:1)1)如果字符串如果字符串ININ使用了十进制数的小数点,应使用使用了十进制数的小数点,应使用字符字符“.”。2)2)允许使用分隔每允许使用分隔每3 3位十进制数的逗号位十进制数的逗号字符字符“,”转换转换时忽略它。时忽略它。3 3)忽略字符前面的)忽略字符前面的空格。空格。4 4)只支持定点表示法,不会将字符)只支持定点表示法,不会将字符e e和和E E视为指数计数法视为指数计数法。使用使用S_CONYS_CONY指令将数值转换为指令将

38、数值转换为字符串字符串 可可以以用用指指令令S_CONYS_CONY将将参参数数ININ指指定定的的整整数数、无无符符号号整整数数或或浮浮点点数数转转换换为为输输出出OUTOUT对对应应的的字字符符串串。转转换换执执行行之之前前,应应定定义义参参数数OUTOUT指指定定的的字字符符串串。输输入入数数据据值值可可以以是是有有符符号号和和无无符符号号的整数以及实数。的整数以及实数。各种各种数据类型需要的最大的字符串长度数据类型需要的最大的字符串长度43输出字符串的格式规则如下输出字符串的格式规则如下:1)1)输出的正数没有符号位,字符串输出的正数没有符号位,字符串ININ的十进制数的十进制数小数点

39、小数点使用字符使用字符“.”。2)2)只支持定点表示法只支持定点表示法,不,不使用指数计数法使用指数计数法。3 3)参数)参数ININ为为数据类型数据类型RealReal时,使用英时,使用英支的句号作十进制数的小数点。支的句号作十进制数的小数点。5.5.复制复制字符串字符串如如果果S S_ _CONVCONV指指令令输输入入、输输出出的的数数据据类类型型均均为为String,String,输输入入ININ指指定定的的字字符符串串将将复复制制到到输输出出OUTOUT指指定定的的地地址址。如如果果字字符符串串ININ的的实实际际长长度度超超过过了了字字符符串串OUTOUT的的最最大大长长度度,只只

40、复复制制OUTOUT允允许许的的部部分分,ENOENO将被设置为将被设置为0 0状态状态。6.6.使用使用STRGSTRG_ _VALVAL指令指令将字符串转换为将字符串转换为数值数值STRGSTRG_ _VALVAL指指令令将将数数值值字字符符串串转转换换为为对对应应的的整整数数或或浮浮点点数数。从从参参数数ININ指指定定的的字字符符串串的的第第P P个个字字符符开开始始转转换换,直直到到字字符符串串结结束束。允允许许的的字字符符包包括括数数字字0 0-9 9、加加减减号号、英英语语的的逗逗号号或或小小数数点点、字字符符e e和和E E。遇到。遇到非法的字符时将停止转换非法的字符时将停止转

41、换,ENOENO被被设置为设置为0 0。44表表示示:从从字字符符串串“ZZZZ”的的第第第第P P个个字字符符开开始始转转换换,输输出出MD164MD164中中的的数数值值用用定定点点数数表表示示法法,用英文的句号做小数点。用英文的句号做小数点。参参数数P P是是要要转转换换的的第第一一个个字字符符的的编编号号,其其参参数数类类型型为为IN/OUTIN/OUT,数数据据类类型型为为UlntUlnt,P P为为1 1时时,从字符串的第一个字符开始转换从字符串的第一个字符开始转换。参参数数FORMATFORMAT是是输输出出格格式式选选项项,数数据据类类型型为为Word,Word,、第第0 0位

42、位r r为为1 1和和0 0时时分分别别为为指指数数表表示示法法和和定点数表示法。第定点数表示法。第1 1位位f f为为1 1和和0 0时时,分别用英语的逗号和句号作十进制数的小数点,分别用英语的逗号和句号作十进制数的小数点,高位,高位为为0 0。45STRGSTRG_ _VALVAL指令指令的的转换规则:转换规则:1)1)如如果果使使用用英英语语的的句句号号作作十十进进制制数数的的小小数数点点,允允许许使使用用英英语语的的逗逗号作分隔每号作分隔每3 3位位十进制数十进制数的字符,转换时忽略它。的字符,转换时忽略它。2 2)忽略字符前面的空格。)忽略字符前面的空格。7.7.使用使用VALVAL

43、_ _STRGSTRG指令将数值转换为指令将数值转换为字符串字符串VALVAL_ _STRGSTRG将将输输入入参参数数ININ中中的的整整数数、无无符符号号整整数数或或浮浮点点数数转转换换为为输输出出参参数数OUTOUT中对应的字符串中对应的字符串。被被转转换换的的字字符符串串将将取取代代OUTOUT字字符符串串从从参参数数P P提提供供的的字字符符偏偏移移量量开开始始、到到参参数数SIZESIZE指指定定的的字字符符数数结结束束的的字字符符。如如果果参参数数P P和和SIZESIZE指指定定的的替替代代字字符符超超过过OUTOUT允允许许的的最最大大字字符符数数的的范范围围,ENOENO为

44、为0 0状状态态。如如果果输输出出值值小小于于指指定定的的长长度度,写写入入字字符符串串的的字字符采用符采用“右对齐右对齐”的方式,字符左边空出来的位添加空格字符。的方式,字符左边空出来的位添加空格字符。46 7.7.使用使用VALVAL_ _STRGSTRG指令将数值转换为字符串指令将数值转换为字符串允允许许的的字字符符包包括括数数字字。0 0-9 9、加加减减号号、英英语语的的逗逗号号或或小小数数点点、字字符符e e和和E E。遇遇到到非非法法的的字字符符时时将将停停止止转转换换,ENOENO被设置为被设置为0 0。参参数数FORMATFORMAT的的数数据据类类型型、第第0 0位位r r

45、和和第第1 1位位f f的的意意义义与与指指令令STRGSTRG_ _VALVAL的的相相同同。第第2 2位位s s是是符符号号字字符符,为为1 1和和为为0 0时,分别对应于符易字符时,分别对应于符易字符+和和-。参参数数PRECPREC用用来来设设置置精精度度或或字字符符串串的的小小数数部部分分的的位位数数。如如果果参参数数ININ的的值值为为整整数数,PRECPREC指指定定小小数数点点的的位位置置。实数类型支持最高精度为实数类型支持最高精度为7 7位有效数字。位有效数字。例例如如:数数据据值值为为1234512345和和PRECPREC为为2 2时时,转转换换结结果果为为字符串字符串1

46、23.45123.45。475 5.4.24.2字符串字符串指令指令1.1.LENLEN指令(指令(求字符串长度求字符串长度)指指令令LELE用用输输出出参参数数OUT:OUT:(整整数数)提提供供输输入入参参数数ININ指指定定的的字符串的当前长度,空字符串字符串的当前长度,空字符串()的的长度为长度为0 0。2 2.CONCAT.CONCAT指令(合并字符串)指令(合并字符串)指指令令CONCATCONCAT将将输输入入参参数数IN1IN1和和IN2IN2指指定定的的两两个个字字符符串串连连接接在在一一起起,然然后后用用参参数数OUTOUT输输出出连连接接后后的的字字符符串串。合合并并后后

47、字字符符串串IN1IN1和和IN2IN2分分别别是是连连接接后后的的字字符符串串的的左左部部分分和和右右部部分分。如如果果连连接接后后的的字字符符串串的的长长度度大大于于允允许许的的最最大大长长度度,则则将将它它限限制制在在最最大大长长度度,并将并将ENOENO设置为设置为0 0。483 3.LEFTLEFT指令指令(左子(左子字符串):字符串):指指令令LEFTLEFT用用参参数数OUTOUT指指定定的的字字符符串串来来输输出出参参数数ININ指指定定的的字字符符串串的的前前L L个个字字符符、L L的的数数据据类类型型为为IntInt。执执行行图图中中的的LEFTLEFT指指令令后后,输输

48、出出OUTOUT中中是是ININ输输入入的的字字符符串串左左边边的的个个字字符。符。4.RIGHT4.RIGHT指令(右子字符串):指令(右子字符串):指指令令RIGHTRIGHT用用参参数数OUTOUT指指定定的的字字符符串串输输出出字字符符串串ININ的的最最后后L L个个字字符符。L L的的数数据据类类型型为为IntInt。执执行行图图中中的的RIGHTRIGHT指指令令后后,输输出出OUTOUT中中是是ININ输入的输入的字符串右边的字符串右边的4 4个个字符。字符。495.MID5.MID指令(提供字符串的中间部分):指令(提供字符串的中间部分):指指令令MIDMID用用参参数数OU

49、TOUT指指定定的的字字符符串串输输出出字字符符串串ININ从从第第P P个个字字符符开开始始的的个个字字符符。执执行行图图中中的的MIDMID指指令令后后,输输出出OUTOUT中中是是ININ输输入入的的字字符符串串从从第第个个字字符符开始的中间个字符开始的中间个字符。6 6.DELETEDELETE指令(删除子指令(删除子字符串)字符串)指指令令DELETEDELETE从从字字符符串串加加中中第第个个字字符符开开始始,删删除除L L个个字字符符。参参数数OUTOUT输输出出剩剩余余的的子子字字符符串串。执执行行图图中中的的DELETEDELETE指指令令后后,ININ输输入入的的字字符符串

50、串被被删删除除从从第第3 3个个字字符符开开始始的的2 2个个字符后,然后输出字符后,然后输出到到OUTOUT指定指定的的字符串。字符串。50 7 7.INSERT.INSERT指令(插入指令(插入字符串字符串)指指令令INSERTINSERT将将字字符符串串IN2IN2插插入入到到字字符符串串INlINl中中第第P P个个字字符符之之后后。执执行行图图中中的的INSERTINSERT指指令令后后,IN2IN2指指定定的的字字符符串串ABCABC被被插插入入到到INIINI指指定定的的字符串字符串abodeabode第个第个字符之后。字符之后。8.REPLACE8.REPLACE指令(子字符串

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服